Home / Class/ SizeBalancedSequencer Class — react Architecture

SizeBalancedSequencer Class — react Architecture

Architecture documentation for the SizeBalancedSequencer class in sizeBalancedSequencer.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  cd4a7434_6c24_7483_a873_cfa223a77943["SizeBalancedSequencer"]
  dc5e93a0_f743_a3e4_1c0d_1e76e96821ac["sizeBalancedSequencer.js"]
  cd4a7434_6c24_7483_a873_cfa223a77943 -->|defined in| dc5e93a0_f743_a3e4_1c0d_1e76e96821ac
  13bd7e35_bfa6_8197_e4d0_18e7848a95ec["shard()"]
  cd4a7434_6c24_7483_a873_cfa223a77943 -->|method| 13bd7e35_bfa6_8197_e4d0_18e7848a95ec

Relationship Graph

Source Code

scripts/jest/sizeBalancedSequencer.js lines 6–26

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;
  }
}

Frequently Asked Questions

What is the SizeBalancedSequencer class?
SizeBalancedSequencer is a class in the react codebase, defined in scripts/jest/sizeBalancedSequencer.js.
Where is SizeBalancedSequencer defined?
SizeBalancedSequencer is defined in scripts/jest/sizeBalancedSequencer.js at line 6.

Analyze Your Own Codebase

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

Try Supermodel Free