@lage-run/cli 0.4.14 → 0.4.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.json CHANGED
@@ -2,7 +2,55 @@
2
2
  "name": "@lage-run/cli",
3
3
  "entries": [
4
4
  {
5
- "date": "Thu, 20 Oct 2022 00:22:08 GMT",
5
+ "date": "Fri, 21 Oct 2022 21:36:26 GMT",
6
+ "tag": "@lage-run/cli_v0.4.16",
7
+ "version": "0.4.16",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "ken@gizzar.com",
12
+ "package": "@lage-run/cli",
13
+ "commit": "735930e09c2fdf476c3f2c56c1c05062401097b8",
14
+ "comment": "pipelines with maxWorker now create separate pools"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@lage-run/cli",
19
+ "comment": "Bump @lage-run/scheduler to v0.4.12",
20
+ "commit": "735930e09c2fdf476c3f2c56c1c05062401097b8"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@lage-run/cli",
25
+ "comment": "Bump @lage-run/reporters to v0.2.26",
26
+ "commit": "735930e09c2fdf476c3f2c56c1c05062401097b8"
27
+ }
28
+ ]
29
+ }
30
+ },
31
+ {
32
+ "date": "Fri, 21 Oct 2022 19:33:09 GMT",
33
+ "tag": "@lage-run/cli_v0.4.15",
34
+ "version": "0.4.15",
35
+ "comments": {
36
+ "patch": [
37
+ {
38
+ "author": "beachball",
39
+ "package": "@lage-run/cli",
40
+ "comment": "Bump @lage-run/scheduler to v0.4.11",
41
+ "commit": "e702680c6e9fbd423e92b34d7fbb989a3c06e69c"
42
+ },
43
+ {
44
+ "author": "beachball",
45
+ "package": "@lage-run/cli",
46
+ "comment": "Bump @lage-run/reporters to v0.2.25",
47
+ "commit": "e702680c6e9fbd423e92b34d7fbb989a3c06e69c"
48
+ }
49
+ ]
50
+ }
51
+ },
52
+ {
53
+ "date": "Thu, 20 Oct 2022 00:22:27 GMT",
6
54
  "tag": "@lage-run/cli_v0.4.14",
7
55
  "version": "0.4.14",
8
56
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,31 @@
1
1
  # Change Log - @lage-run/cli
2
2
 
3
- This log was last generated on Thu, 20 Oct 2022 00:22:08 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 21 Oct 2022 21:36:26 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.4.16
8
+
9
+ Fri, 21 Oct 2022 21:36:26 GMT
10
+
11
+ ### Patches
12
+
13
+ - pipelines with maxWorker now create separate pools (ken@gizzar.com)
14
+ - Bump @lage-run/scheduler to v0.4.12
15
+ - Bump @lage-run/reporters to v0.2.26
16
+
17
+ ## 0.4.15
18
+
19
+ Fri, 21 Oct 2022 19:33:09 GMT
20
+
21
+ ### Patches
22
+
23
+ - Bump @lage-run/scheduler to v0.4.11
24
+ - Bump @lage-run/reporters to v0.2.25
25
+
7
26
  ## 0.4.14
8
27
 
9
- Thu, 20 Oct 2022 00:22:08 GMT
28
+ Thu, 20 Oct 2022 00:22:27 GMT
10
29
 
11
30
  ### Patches
12
31
 
@@ -0,0 +1,3 @@
1
+ import type { Target } from "@lage-run/target-graph";
2
+ import type { PipelineDefinition } from "../../types/PipelineDefinition";
3
+ export declare function filterPipelineDefinitions(targets: IterableIterator<Target>, pipeline: PipelineDefinition): PipelineDefinition;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterPipelineDefinitions = void 0;
4
+ function filterPipelineDefinitions(targets, pipeline) {
5
+ const tasksSet = new Set();
6
+ for (const target of targets) {
7
+ tasksSet.add(target.task);
8
+ }
9
+ const filteredPipeline = {};
10
+ for (const [id, definition] of Object.entries(pipeline !== null && pipeline !== void 0 ? pipeline : {})) {
11
+ if (tasksSet.has(id)) {
12
+ filteredPipeline[id] = definition;
13
+ }
14
+ }
15
+ return filteredPipeline;
16
+ }
17
+ exports.filterPipelineDefinitions = filterPipelineDefinitions;
18
+ //# sourceMappingURL=filterPipelineDefinitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterPipelineDefinitions.js","sourceRoot":"","sources":["../../../src/commands/run/filterPipelineDefinitions.ts"],"names":[],"mappings":";;;AAGA,SAAgB,yBAAyB,CAAC,OAAiC,EAAE,QAA4B;IACvG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC3B;IACD,MAAM,gBAAgB,GAAuB,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,EAAE;QAC7D,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACpB,gBAAgB,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;SACnC;KACF;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAdD,8DAcC"}
@@ -4,7 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.runAction = void 0;
7
+ const createCacheProvider_1 = require("./createCacheProvider");
7
8
  const createProfileReporter_1 = require("./createProfileReporter");
9
+ const createTargetGraph_1 = require("./createTargetGraph");
10
+ const filterArgsForTasks_1 = require("./filterArgsForTasks");
11
+ const filterPipelineDefinitions_1 = require("./filterPipelineDefinitions");
8
12
  const find_npm_client_1 = require("@lage-run/find-npm-client");
9
13
  const getConfig_1 = require("../../config/getConfig");
10
14
  const getMaxWorkersPerTask_1 = require("../../config/getMaxWorkersPerTask");
@@ -12,11 +16,7 @@ const workspace_tools_1 = require("workspace-tools");
12
16
  const reporters_1 = require("@lage-run/reporters");
13
17
  const scheduler_1 = require("@lage-run/scheduler");
14
18
  const logger_1 = __importDefault(require("@lage-run/logger"));
15
- const filterArgsForTasks_1 = require("./filterArgsForTasks");
16
- const createTargetGraph_1 = require("./createTargetGraph");
17
- const createCacheProvider_1 = require("./createCacheProvider");
18
19
  async function runAction(options, command) {
19
- var _a;
20
20
  const cwd = process.cwd();
21
21
  const config = await (0, getConfig_1.getConfig)(cwd);
22
22
  // Configure logger
@@ -50,6 +50,8 @@ async function runAction(options, command) {
50
50
  cacheOptions: config.cacheOptions,
51
51
  skipLocalCache: options.skipLocalCache,
52
52
  });
53
+ logger.verbose(`Running with ${options.concurrency} workers`);
54
+ const filteredPipeline = (0, filterPipelineDefinitions_1.filterPipelineDefinitions)(targetGraph.targets.values(), config.pipeline);
53
55
  const scheduler = new scheduler_1.SimpleScheduler({
54
56
  logger,
55
57
  concurrency: options.concurrency,
@@ -58,7 +60,7 @@ async function runAction(options, command) {
58
60
  continueOnError: options.continue,
59
61
  shouldCache: options.cache,
60
62
  shouldResetCache: options.resetCache,
61
- maxWorkersPerTask: (0, getMaxWorkersPerTask_1.getMaxWorkersPerTask)((_a = config.pipeline) !== null && _a !== void 0 ? _a : {}),
63
+ maxWorkersPerTask: (0, getMaxWorkersPerTask_1.getMaxWorkersPerTask)(filteredPipeline, options.concurrency),
62
64
  runners: Object.assign({ npmScript: {
63
65
  script: require.resolve("./runners/NpmScriptRunner"),
64
66
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"runAction.js","sourceRoot":"","sources":["../../../src/commands/run/runAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runAction.js","sourceRoot":"","sources":["../../../src/commands/run/runAction.ts"],"names":[],"mappings":"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"}
@@ -24,19 +24,19 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.watchAction = void 0;
27
+ const createCacheProvider_1 = require("./createCacheProvider");
28
+ const createTargetGraph_1 = require("./createTargetGraph");
29
+ const filterArgsForTasks_1 = require("./filterArgsForTasks");
27
30
  const find_npm_client_1 = require("@lage-run/find-npm-client");
28
31
  const getConfig_1 = require("../../config/getConfig");
29
32
  const getMaxWorkersPerTask_1 = require("../../config/getMaxWorkersPerTask");
30
33
  const workspace_tools_1 = require("workspace-tools");
34
+ const filterPipelineDefinitions_1 = require("./filterPipelineDefinitions");
31
35
  const reporters_1 = require("@lage-run/reporters");
32
36
  const scheduler_1 = require("@lage-run/scheduler");
33
- const logger_1 = __importStar(require("@lage-run/logger"));
34
- const filterArgsForTasks_1 = require("./filterArgsForTasks");
35
- const createTargetGraph_1 = require("./createTargetGraph");
36
- const createCacheProvider_1 = require("./createCacheProvider");
37
37
  const watcher_1 = require("./watcher");
38
+ const logger_1 = __importStar(require("@lage-run/logger"));
38
39
  async function watchAction(options, command) {
39
- var _a;
40
40
  const cwd = process.cwd();
41
41
  const config = await (0, getConfig_1.getConfig)(cwd);
42
42
  // Configure logger
@@ -72,6 +72,7 @@ async function watchAction(options, command) {
72
72
  cacheOptions: config.cacheOptions,
73
73
  skipLocalCache: false,
74
74
  });
75
+ const filteredPipeline = (0, filterPipelineDefinitions_1.filterPipelineDefinitions)(targetGraph.targets.values(), config.pipeline);
75
76
  const scheduler = new scheduler_1.SimpleScheduler({
76
77
  logger,
77
78
  concurrency: options.concurrency,
@@ -80,7 +81,7 @@ async function watchAction(options, command) {
80
81
  continueOnError: true,
81
82
  shouldCache: options.cache,
82
83
  shouldResetCache: options.resetCache,
83
- maxWorkersPerTask: (0, getMaxWorkersPerTask_1.getMaxWorkersPerTask)((_a = config.pipeline) !== null && _a !== void 0 ? _a : {}),
84
+ maxWorkersPerTask: (0, getMaxWorkersPerTask_1.getMaxWorkersPerTask)(filteredPipeline, options.concurrency),
84
85
  runners: Object.assign({ npmScript: {
85
86
  script: require.resolve("./runners/NpmScriptRunner"),
86
87
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"watchAction.js","sourceRoot":"","sources":["../../../src/commands/run/watchAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchAction.js","sourceRoot":"","sources":["../../../src/commands/run/watchAction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+DAAoD;AACpD,2DAAwD;AACxD,6DAA0D;AAC1D,+DAA0D;AAC1D,sDAAmD;AACnD,4EAAyE;AACzE,qDAAoE;AACpE,2EAAwE;AACxE,mDAAkD;AAClD,mDAAsD;AACtD,uCAAkC;AAElC,2DAAoE;AAoB7D,KAAK,UAAU,WAAW,CAAC,OAAmB,EAAE,OAAgB;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,EAAC,GAAG,CAAC,CAAC;IAEpC,mBAAmB;IACnB,MAAM,MAAM,GAAG,IAAA,gBAAY,GAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,uBAAW,CAAC;QAC/B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,iBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;KACrC,CAAC,CAAC;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE7B,qBAAqB;IACrB,MAAM,IAAI,GAAG,IAAA,kCAAgB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC;IAE3C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAA,uCAAkB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D,MAAM,WAAW,GAAG,IAAA,qCAAiB,EAAC;QACpC,MAAM;QACN,IAAI;QACJ,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU;QACvC,KAAK;QACL,YAAY;KACb,CAAC,CAAC;IAEH,6DAA6D;IAC7D,MAAM,CAAC,YAAY,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAE7C,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAW,EAAC;QAC5C,IAAI;QACJ,MAAM;QACN,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,IAAA,qDAAyB,EAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAElG,MAAM,SAAS,GAAG,IAAI,2BAAe,CAAC;QACpC,MAAM;QACN,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,aAAa;QACb,MAAM;QACN,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,OAAO,CAAC,KAAK;QAC1B,gBAAgB,EAAE,OAAO,CAAC,UAAU;QACpC,iBAAiB,EAAE,IAAA,2CAAoB,EAAC,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC;QAC9E,OAAO,kBACL,SAAS,EAAE;gBACT,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC;gBACpD,OAAO,EAAE;oBACP,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ;oBACR,MAAM,EAAE,IAAA,+BAAa,EAAC,MAAM,CAAC,SAAS,CAAC;iBACxC;aACF,EACD,MAAM,EAAE;gBACN,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBACjD,OAAO,EAAE,EAAE;aACZ,IACE,MAAM,CAAC,OAAO,CAClB;KACF,CAAC,CAAC;IAEH,cAAc;IACd,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAE/C,qCAAqC;IACrC,qFAAqF;IACrF,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;QACrD,SAAS,CAAC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;QAC5C,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QACrC,SAAS,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;KACvC;IAED,iGAAiG;IACjG,MAAM,OAAO,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE;QACnC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;YACjD,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,IAAI,SAAS,CAAC,cAAc,EAAE;gBAClE,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACrC;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA/FD,kCA+FC;AAED,SAAS,cAAc,CAAC,OAA4B,EAAE,SAAqB;IACzE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;KAC7B;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { ConfigOptions } from "../types/ConfigOptions";
2
- export declare function getMaxWorkersPerTask(pipelineConfig: ConfigOptions["pipeline"]): Map<string, number>;
2
+ export declare function getMaxWorkersPerTask(pipelineConfig: ConfigOptions["pipeline"], concurrency: number): Map<string, number>;
@@ -1,30 +1,37 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.getMaxWorkersPerTask = void 0;
7
- const os_1 = __importDefault(require("os"));
8
- function getMaxWorkersPerTask(pipelineConfig) {
9
- var _a, _b, _c;
4
+ function getMaxWorkersPerTask(pipelineConfig, concurrency) {
5
+ var _a, _b;
10
6
  const maxWorkersPerTask = new Map();
7
+ let total = 0;
11
8
  for (const [task, taskConfig] of Object.entries(pipelineConfig)) {
12
9
  if (!Array.isArray(taskConfig) && !task.includes("#")) {
13
- const maxWorkerOptions = (_c = (_a = taskConfig.maxWorkers) !== null && _a !== void 0 ? _a : (_b = taskConfig.options) === null || _b === void 0 ? void 0 : _b.maxWorkers) !== null && _c !== void 0 ? _c : os_1.default.cpus().length - 1;
10
+ const maxWorkerOption = (_a = taskConfig.maxWorkers) !== null && _a !== void 0 ? _a : (_b = taskConfig.options) === null || _b === void 0 ? void 0 : _b.maxWorkers;
11
+ if (typeof maxWorkerOption === "undefined") {
12
+ continue;
13
+ }
14
14
  let maxWorkers = 0;
15
- if (typeof maxWorkerOptions === "string") {
16
- if (maxWorkerOptions.endsWith("%")) {
17
- maxWorkers = Math.floor(os_1.default.cpus().length * (parseInt(maxWorkerOptions, 10) / 100));
18
- }
19
- else {
20
- maxWorkers = parseInt(maxWorkerOptions, 10);
21
- }
15
+ if (typeof maxWorkerOption !== "number") {
16
+ throw new Error(`Invalid maxWorkers value: ${maxWorkerOption}`);
22
17
  }
23
18
  else {
24
- maxWorkers = maxWorkerOptions;
19
+ maxWorkers = maxWorkerOption;
25
20
  }
26
- maxWorkers = isNaN(maxWorkers) ? os_1.default.cpus().length - 1 : maxWorkers;
27
- maxWorkersPerTask.set(task, Math.min(maxWorkers, os_1.default.cpus().length - 1));
21
+ maxWorkersPerTask.set(task, maxWorkers);
22
+ total += maxWorkers;
23
+ }
24
+ }
25
+ // try to adjust the maxWorkersPerTask to fit the concurrency
26
+ if (total > concurrency) {
27
+ let newTotal = 0;
28
+ for (const [task, maxWorkers] of maxWorkersPerTask.entries()) {
29
+ const newMaxWorkers = Math.max(1, Math.floor((maxWorkers / total) * concurrency));
30
+ newTotal += newMaxWorkers;
31
+ maxWorkersPerTask.set(task, newMaxWorkers);
32
+ }
33
+ if (newTotal > concurrency) {
34
+ throw new Error("Could not adjust maxWorkers per task to fit the concurrency, try reducing the maxWorkers, or increasing the --concurrency CLI argument, or separate the tasks to be run");
28
35
  }
29
36
  }
30
37
  return maxWorkersPerTask;
@@ -1 +1 @@
1
- {"version":3,"file":"getMaxWorkersPerTask.js","sourceRoot":"","sources":["../../src/config/getMaxWorkersPerTask.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAGpB,SAAgB,oBAAoB,CAAC,cAAyC;;IAC5E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrD,MAAM,gBAAgB,GAAoB,MAAA,MAAA,UAAU,CAAC,UAAU,mCAAI,MAAA,UAAU,CAAC,OAAO,0CAAE,UAAU,mCAAI,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1H,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;gBACxC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAClC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;iBACpF;qBAAM;oBACL,UAAU,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;iBAC7C;aACF;iBAAM;gBACL,UAAU,GAAG,gBAAgB,CAAC;aAC/B;YAED,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAEnE,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;SACzE;KACF;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAxBD,oDAwBC"}
1
+ {"version":3,"file":"getMaxWorkersPerTask.js","sourceRoot":"","sources":["../../src/config/getMaxWorkersPerTask.ts"],"names":[],"mappings":";;;AAEA,SAAgB,oBAAoB,CAAC,cAAyC,EAAE,WAAmB;;IACjG,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrD,MAAM,eAAe,GAAuB,MAAA,UAAU,CAAC,UAAU,mCAAI,MAAA,UAAU,CAAC,OAAO,0CAAE,UAAU,CAAC;YAEpG,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE;gBAC1C,SAAS;aACV;YAED,IAAI,UAAU,GAAW,CAAC,CAAC;YAE3B,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,6BAA6B,eAAe,EAAE,CAAC,CAAC;aACjE;iBAAM;gBACL,UAAU,GAAG,eAAe,CAAC;aAC9B;YAED,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACxC,KAAK,IAAI,UAAU,CAAC;SACrB;KACF;IAED,6DAA6D;IAC7D,IAAI,KAAK,GAAG,WAAW,EAAE;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE;YAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;YAClF,QAAQ,IAAI,aAAa,CAAC;YAC1B,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;SAC5C;QAED,IAAI,QAAQ,GAAG,WAAW,EAAE;YAC1B,MAAM,IAAI,KAAK,CACb,yKAAyK,CAC1K,CAAC;SACH;KACF;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AA3CD,oDA2CC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lage-run/cli",
3
- "version": "0.4.14",
3
+ "version": "0.4.16",
4
4
  "description": "Command Line Interface for Lage",
5
5
  "repository": {
6
6
  "url": "https://github.com/microsoft/lage"
@@ -19,10 +19,10 @@
19
19
  "dependencies": {
20
20
  "@lage-run/find-npm-client": "^0.1.1",
21
21
  "@lage-run/logger": "^1.2.0",
22
- "@lage-run/scheduler": "^0.4.10",
22
+ "@lage-run/scheduler": "^0.4.12",
23
23
  "@lage-run/target-graph": "^0.4.3",
24
24
  "@lage-run/cache": "^0.1.20",
25
- "@lage-run/reporters": "^0.2.24",
25
+ "@lage-run/reporters": "^0.2.26",
26
26
  "commander": "^9.4.0",
27
27
  "workspace-tools": "^0.28.0",
28
28
  "chokidar": "3.5.3"