Skip to content

Commit

Permalink
[BREAKING] Respect JOBS count if present
Browse files Browse the repository at this point in the history
For web-pack:

JOBS=0 uses the current thread of execution
JOBS=1..n spawns the corresponding thread or sub-processes
No set JOBS results in a dynamically calculated number of jobs

Previously

JOBS=1 used the current thread of execution
All other variations would dynamically calculated number of jobs
  • Loading branch information
stefanpenner committed Jun 24, 2021
1 parent 8e07721 commit 5335f6a
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion packages/webpack/src/ember-webpack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import crypto from 'crypto';
import type { HbsLoaderConfig } from '@embroider/hbs-loader';
import semverSatisfies from 'semver/functions/satisfies';
import supportsColor from 'supports-color';
import inspector from 'inspector';

const debug = makeDebug('embroider:debug');

Expand Down Expand Up @@ -524,6 +525,7 @@ const Webpack: PackagerConstructor<Options> = class Webpack implements Packager
};

const threadLoaderOptions = {
workers: 'JOBS' in process.env && Number(process.env.JOBS),
// poolTimeout shuts down idle workers. The problem is, for
// interactive rebuilds that means your startup cost for the
// next rebuild is at least 600ms worse. So we insist on
Expand All @@ -547,7 +549,7 @@ function warmUp(extraOptions: object | false | undefined) {
}

function maybeThreadLoader(isParallelSafe: boolean, extraOptions: object | false | undefined) {
if (process.env.JOBS === '1' || extraOptions === false || !isParallelSafe) {
if (process.env.JOBS === '0' || extraOptions === false || !isParallelSafe) {
return null;
}

Expand Down

0 comments on commit 5335f6a

Please sign in to comment.