Home / File/ sizeBalancedSequencer.js — react Source File

sizeBalancedSequencer.js — react Source File

Architecture documentation for sizeBalancedSequencer.js, a javascript file in the react codebase.

Entity Profile

Relationship Graph

Source Code

'use strict';

const Sequencer = require('@jest/test-sequencer').default;
const fs = require('fs');

class SizeBalancedSequencer extends Sequencer {
  shard(tests, {shardIndex, shardCount}) {
    const shards = Array.from({length: shardCount}, () => ({
      tests: [],
      size: 0,
    }));
    const sorted = [...tests].sort(
      (a, b) => fs.statSync(b.path).size - fs.statSync(a.path).size
    );

    for (let i = 0; i < sorted.length; i++) {
      const test = sorted[i];
      const size = fs.statSync(test.path).size;
      const smallest = shards.reduce((min, s) => (s.size < min.size ? s : min));
      smallest.tests.push(test);
      smallest.size += size;
    }

    return shards[shardIndex - 1].tests;
  }
}

module.exports = SizeBalancedSequencer;

Domain

Subdomains

Frequently Asked Questions

What does sizeBalancedSequencer.js do?
sizeBalancedSequencer.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Optimization subdomain.
Where is sizeBalancedSequencer.js in the architecture?
sizeBalancedSequencer.js is located at scripts/jest/sizeBalancedSequencer.js (domain: BabelCompiler, subdomain: Optimization, directory: scripts/jest).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free