@lage-run/cli 0.23.5 → 0.23.7
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,85 @@
|
|
|
2
2
|
"name": "@lage-run/cli",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "Thu,
|
|
5
|
+
"date": "Thu, 17 Oct 2024 20:32:34 GMT",
|
|
6
|
+
"version": "0.23.7",
|
|
7
|
+
"tag": "@lage-run/cli_v0.23.7",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "beachball",
|
|
12
|
+
"package": "@lage-run/cli",
|
|
13
|
+
"comment": "Bump @lage-run/cache to v1.3.5",
|
|
14
|
+
"commit": "not available"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"author": "beachball",
|
|
18
|
+
"package": "@lage-run/cli",
|
|
19
|
+
"comment": "Bump @lage-run/config to v0.4.4",
|
|
20
|
+
"commit": "not available"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"author": "beachball",
|
|
24
|
+
"package": "@lage-run/cli",
|
|
25
|
+
"comment": "Bump @lage-run/hasher to v1.6.1",
|
|
26
|
+
"commit": "not available"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"author": "beachball",
|
|
30
|
+
"package": "@lage-run/cli",
|
|
31
|
+
"comment": "Bump @lage-run/reporters to v1.2.13",
|
|
32
|
+
"commit": "not available"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"author": "beachball",
|
|
36
|
+
"package": "@lage-run/cli",
|
|
37
|
+
"comment": "Bump @lage-run/runners to v1.0.4",
|
|
38
|
+
"commit": "not available"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"author": "beachball",
|
|
42
|
+
"package": "@lage-run/cli",
|
|
43
|
+
"comment": "Bump @lage-run/scheduler to v1.3.4",
|
|
44
|
+
"commit": "not available"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"author": "beachball",
|
|
48
|
+
"package": "@lage-run/cli",
|
|
49
|
+
"comment": "Bump @lage-run/scheduler-types to v0.3.17",
|
|
50
|
+
"commit": "not available"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"author": "beachball",
|
|
54
|
+
"package": "@lage-run/cli",
|
|
55
|
+
"comment": "Bump @lage-run/target-graph to v0.9.1",
|
|
56
|
+
"commit": "not available"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"date": "Fri, 11 Oct 2024 22:09:18 GMT",
|
|
63
|
+
"version": "0.23.6",
|
|
64
|
+
"tag": "@lage-run/cli_v0.23.6",
|
|
65
|
+
"comments": {
|
|
66
|
+
"patch": [
|
|
67
|
+
{
|
|
68
|
+
"author": "kchau@microsoft.com",
|
|
69
|
+
"package": "@lage-run/cli",
|
|
70
|
+
"commit": "cd7a1ed3a889ba4f57205b9779eb292863685dec",
|
|
71
|
+
"comment": "moved the picker creation to be just once to be reused in a singletargetworker"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"author": "beachball",
|
|
75
|
+
"package": "@lage-run/cli",
|
|
76
|
+
"comment": "Bump @lage-run/reporters to v1.2.12",
|
|
77
|
+
"commit": "not available"
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"date": "Thu, 10 Oct 2024 20:14:59 GMT",
|
|
6
84
|
"version": "0.23.5",
|
|
7
85
|
"tag": "@lage-run/cli_v0.23.5",
|
|
8
86
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
# Change Log - @lage-run/cli
|
|
2
2
|
|
|
3
|
-
<!-- This log was last generated on Thu,
|
|
3
|
+
<!-- This log was last generated on Thu, 17 Oct 2024 20:32:34 GMT and should not be manually modified. -->
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.23.7
|
|
8
|
+
|
|
9
|
+
Thu, 17 Oct 2024 20:32:34 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- Bump @lage-run/cache to v1.3.5
|
|
14
|
+
- Bump @lage-run/config to v0.4.4
|
|
15
|
+
- Bump @lage-run/hasher to v1.6.1
|
|
16
|
+
- Bump @lage-run/reporters to v1.2.13
|
|
17
|
+
- Bump @lage-run/runners to v1.0.4
|
|
18
|
+
- Bump @lage-run/scheduler to v1.3.4
|
|
19
|
+
- Bump @lage-run/scheduler-types to v0.3.17
|
|
20
|
+
- Bump @lage-run/target-graph to v0.9.1
|
|
21
|
+
|
|
22
|
+
## 0.23.6
|
|
23
|
+
|
|
24
|
+
Fri, 11 Oct 2024 22:09:18 GMT
|
|
25
|
+
|
|
26
|
+
### Patches
|
|
27
|
+
|
|
28
|
+
- moved the picker creation to be just once to be reused in a singletargetworker (kchau@microsoft.com)
|
|
29
|
+
- Bump @lage-run/reporters to v1.2.12
|
|
30
|
+
|
|
7
31
|
## 0.23.5
|
|
8
32
|
|
|
9
|
-
Thu, 10 Oct 2024 20:14:
|
|
33
|
+
Thu, 10 Oct 2024 20:14:59 GMT
|
|
10
34
|
|
|
11
35
|
### Patches
|
|
12
36
|
|
|
@@ -21,7 +21,8 @@ async function serverAction(options) {
|
|
|
21
21
|
const { port =5332 , host ="localhost" , timeout =1 } = options;
|
|
22
22
|
const logger = (0, _logger.default)();
|
|
23
23
|
options.logLevel = options.logLevel ?? "info";
|
|
24
|
-
options.
|
|
24
|
+
options.logFile = options.logFile ?? "node_modules/.cache/lage/server.log";
|
|
25
|
+
options.reporter = options.reporter ?? "verboseFileLog";
|
|
25
26
|
(0, _initializeReporters.initializeReporters)(logger, options);
|
|
26
27
|
logger.info(`Starting server on http://${host}:${port}`);
|
|
27
28
|
const abortController = new AbortController();
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { Logger } from "@lage-run/logger";
|
|
3
3
|
import type { ILageService } from "@lage-run/rpc";
|
|
4
|
+
interface ServiceControls {
|
|
5
|
+
abortController: AbortController;
|
|
6
|
+
countdownToShutdown: () => void;
|
|
7
|
+
clearCountdown: () => void;
|
|
8
|
+
}
|
|
4
9
|
export declare function createLageService({ cwd, serverControls, logger, maxWorkers, }: {
|
|
5
10
|
cwd: string;
|
|
6
|
-
serverControls:
|
|
7
|
-
abortController: AbortController;
|
|
8
|
-
countdownToShutdown: () => void;
|
|
9
|
-
clearCountdown: () => void;
|
|
10
|
-
};
|
|
11
|
+
serverControls: ServiceControls;
|
|
11
12
|
logger: Logger;
|
|
12
13
|
maxWorkers?: number;
|
|
13
14
|
}): Promise<ILageService>;
|
|
15
|
+
export {};
|
|
@@ -36,7 +36,7 @@ let initializedPromise;
|
|
|
36
36
|
* @param cwd
|
|
37
37
|
* @param logger
|
|
38
38
|
* @returns
|
|
39
|
-
*/ async function initialize(cwd, logger) {
|
|
39
|
+
*/ async function initialize({ cwd , logger , serverControls , nodeArg , taskArgs , maxWorkers }) {
|
|
40
40
|
if (initializedPromise) {
|
|
41
41
|
return await initializedPromise;
|
|
42
42
|
}
|
|
@@ -72,31 +72,41 @@ let initializedPromise;
|
|
|
72
72
|
});
|
|
73
73
|
logger.info("Initializing Package Tree");
|
|
74
74
|
await packageTree.initialize();
|
|
75
|
+
const pool = new _workerthreadspool.WorkerPool({
|
|
76
|
+
script: require.resolve("./singleTargetWorker.js"),
|
|
77
|
+
maxWorkers,
|
|
78
|
+
workerOptions: {
|
|
79
|
+
stderr: true,
|
|
80
|
+
stdout: true,
|
|
81
|
+
workerData: {
|
|
82
|
+
runners: {
|
|
83
|
+
...(0, _runnerPickerOptions.runnerPickerOptions)(nodeArg, config.npmClient, taskArgs),
|
|
84
|
+
...config.runners
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
serverControls.abortController.signal.addEventListener("abort", ()=>{
|
|
90
|
+
pool?.close();
|
|
91
|
+
});
|
|
92
|
+
pool?.on("idle", ()=>{
|
|
93
|
+
logger.info("All workers are idle, shutting down after timeout");
|
|
94
|
+
serverControls.countdownToShutdown();
|
|
95
|
+
});
|
|
75
96
|
return {
|
|
76
97
|
config,
|
|
77
98
|
targetGraph,
|
|
78
99
|
packageTree,
|
|
79
100
|
dependencyMap,
|
|
80
|
-
root
|
|
101
|
+
root,
|
|
102
|
+
pool
|
|
81
103
|
};
|
|
82
104
|
}
|
|
83
105
|
initializedPromise = createInitializedPromise();
|
|
84
106
|
return await initializedPromise;
|
|
85
107
|
}
|
|
86
|
-
let pool;
|
|
87
108
|
async function createLageService({ cwd , serverControls , logger , maxWorkers }) {
|
|
88
109
|
logger.info(`Server started with ${maxWorkers} workers`);
|
|
89
|
-
pool = new _workerthreadspool.WorkerPool({
|
|
90
|
-
script: require.resolve("./singleTargetWorker.js"),
|
|
91
|
-
maxWorkers
|
|
92
|
-
});
|
|
93
|
-
serverControls.abortController.signal.addEventListener("abort", ()=>{
|
|
94
|
-
pool?.close();
|
|
95
|
-
});
|
|
96
|
-
pool?.on("idle", ()=>{
|
|
97
|
-
logger.info("All workers are idle, shutting down after timeout");
|
|
98
|
-
serverControls.countdownToShutdown();
|
|
99
|
-
});
|
|
100
110
|
return {
|
|
101
111
|
async ping () {
|
|
102
112
|
return {
|
|
@@ -105,7 +115,17 @@ async function createLageService({ cwd , serverControls , logger , maxWorkers }
|
|
|
105
115
|
},
|
|
106
116
|
async runTarget (request) {
|
|
107
117
|
serverControls.clearCountdown();
|
|
108
|
-
|
|
118
|
+
// THIS IS A BIG ASSUMPTION; TODO: memoize based on the parameters of the initialize() call
|
|
119
|
+
// The first request sets up the nodeArg and taskArgs - we are assuming that all requests to run this target are coming from the same
|
|
120
|
+
// `lage info` call
|
|
121
|
+
const { config , targetGraph , dependencyMap , packageTree , root , pool } = await initialize({
|
|
122
|
+
cwd,
|
|
123
|
+
logger,
|
|
124
|
+
nodeArg: request.nodeOptions,
|
|
125
|
+
taskArgs: request.taskArgs,
|
|
126
|
+
serverControls,
|
|
127
|
+
maxWorkers
|
|
128
|
+
});
|
|
109
129
|
logger.info("Running target", request);
|
|
110
130
|
const runners = (0, _runnerPickerOptions.runnerPickerOptions)(request.nodeOptions, config.npmClient, request.taskArgs);
|
|
111
131
|
const id = (0, _targetgraph.getTargetId)(request.packageName, request.task);
|
|
@@ -4,10 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
const _workerthreadspool = require("@lage-run/worker-threads-pool");
|
|
6
6
|
const _runners = require("@lage-run/runners");
|
|
7
|
+
const _worker_threads = require("worker_threads");
|
|
8
|
+
async function setup(options) {
|
|
9
|
+
const { runners } = options;
|
|
10
|
+
const runnerPicker = new _runners.TargetRunnerPicker(runners);
|
|
11
|
+
return {
|
|
12
|
+
options,
|
|
13
|
+
runnerPicker
|
|
14
|
+
};
|
|
15
|
+
}
|
|
7
16
|
(async ()=>{
|
|
17
|
+
const { runnerPicker } = await setup(_worker_threads.workerData);
|
|
8
18
|
async function run(data, abortSignal) {
|
|
9
19
|
let value = undefined;
|
|
10
|
-
const runnerPicker = new _runners.TargetRunnerPicker(data.runners);
|
|
11
20
|
const runner = await runnerPicker.pick(data.target);
|
|
12
21
|
value = await runner.run({
|
|
13
22
|
target: data.target,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lage-run/cli",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.7",
|
|
4
4
|
"description": "Command Line Interface for Lage",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -21,17 +21,17 @@
|
|
|
21
21
|
"lint": "monorepo-scripts lint"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@lage-run/cache": "^1.3.
|
|
25
|
-
"@lage-run/config": "^0.4.
|
|
24
|
+
"@lage-run/cache": "^1.3.5",
|
|
25
|
+
"@lage-run/config": "^0.4.4",
|
|
26
26
|
"@lage-run/globby": "^14.2.0",
|
|
27
|
-
"@lage-run/hasher": "^1.6.
|
|
27
|
+
"@lage-run/hasher": "^1.6.1",
|
|
28
28
|
"@lage-run/logger": "^1.3.1",
|
|
29
|
-
"@lage-run/reporters": "^1.2.
|
|
29
|
+
"@lage-run/reporters": "^1.2.13",
|
|
30
30
|
"@lage-run/rpc": "^1.2.3",
|
|
31
|
-
"@lage-run/runners": "^1.0.
|
|
32
|
-
"@lage-run/scheduler": "^1.3.
|
|
33
|
-
"@lage-run/scheduler-types": "^0.3.
|
|
34
|
-
"@lage-run/target-graph": "^0.9.
|
|
31
|
+
"@lage-run/runners": "^1.0.4",
|
|
32
|
+
"@lage-run/scheduler": "^1.3.4",
|
|
33
|
+
"@lage-run/scheduler-types": "^0.3.17",
|
|
34
|
+
"@lage-run/target-graph": "^0.9.1",
|
|
35
35
|
"@lage-run/worker-threads-pool": "^0.8.4",
|
|
36
36
|
"chokidar": "3.5.3",
|
|
37
37
|
"commander": "9.5.0",
|