@journeyapps/cloudcode-build-agent 0.0.0-dev.9aa2c43 → 0.0.0-dev.bd7b5ac
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/dist/builder.d.ts +1 -0
- package/dist/builder.js +22 -16
- package/dist/builder.js.map +1 -1
- package/dist/defs.d.ts +1 -0
- package/dist/defs.js +10 -5
- package/dist/defs.js.map +1 -1
- package/dist/detect_tasks.d.ts +1 -0
- package/dist/detect_tasks.js +4 -4
- package/dist/detect_tasks.js.map +1 -1
- package/dist/installer.d.ts +3 -0
- package/dist/installer.js +3 -2
- package/dist/installer.js.map +1 -1
- package/package.json +9 -3
- package/src/builder.ts +0 -122
- package/src/cli.ts +0 -56
- package/src/defs.ts +0 -34
- package/src/detect_tasks.ts +0 -83
- package/src/index.ts +0 -1
- package/src/installer.ts +0 -117
- package/src/run.ts +0 -23
- package/src/spawn-stream.ts +0 -73
- package/tsconfig.json +0 -8
- package/tsconfig.tsbuildinfo +0 -1
package/dist/builder.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ type ToolPaths = {
|
|
|
13
13
|
bin_path: string;
|
|
14
14
|
node_bin: string;
|
|
15
15
|
npm_bin: string;
|
|
16
|
+
npx_bin: string;
|
|
16
17
|
};
|
|
17
18
|
export declare function buildTasks(project_path: string, dest: string, config: GeneralTaskConfig, options?: BuildOptions): Promise<void>;
|
|
18
19
|
export declare function buildTask(task: DetectedTask, project_path: string, dest: string, config: GeneralTaskConfig, node_context: {
|
package/dist/builder.js
CHANGED
|
@@ -36,7 +36,8 @@ async function buildTasks(project_path, dest, config, options) {
|
|
|
36
36
|
const default_tool_paths = {
|
|
37
37
|
bin_path: path.dirname(process.execPath),
|
|
38
38
|
node_bin: process.execPath,
|
|
39
|
-
npm_bin: path.join(path.dirname(process.execPath), 'npm')
|
|
39
|
+
npm_bin: path.join(path.dirname(process.execPath), 'npm'),
|
|
40
|
+
npx_bin: path.join(path.dirname(process.execPath), 'npx')
|
|
40
41
|
};
|
|
41
42
|
for (const task of tasks) {
|
|
42
43
|
let custom_tool_paths;
|
|
@@ -57,16 +58,21 @@ exports.buildTasks = buildTasks;
|
|
|
57
58
|
async function buildTask(task, project_path, dest, config, node_context) {
|
|
58
59
|
const builder_package = task.builder_package;
|
|
59
60
|
const builder_script = task.builder_script;
|
|
60
|
-
const {
|
|
61
|
-
const builder_bin = path.resolve(bin_path, builder_script);
|
|
61
|
+
const { node_bin, npm_bin, npx_bin } = node_context;
|
|
62
62
|
if (!jetpack.exists(node_bin)) {
|
|
63
63
|
throw new Error(`Node binary not found: ${node_bin}`);
|
|
64
64
|
}
|
|
65
65
|
console.debug(`[${task.task_name}] Installing builder script "${builder_package}" for node ${node_context.node_version}`);
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
/*
|
|
67
|
+
* The builder package is installed locally so as to not require write access to the global node installation,
|
|
68
|
+
* and executed with npx to handle the path resoluton, etc.
|
|
69
|
+
*/
|
|
70
|
+
const stream1 = (0, run_1.runCommand)(node_bin, [npm_bin, '--no-save', '--no-fund', '--no-audit', 'install', builder_package], {
|
|
68
71
|
cwd: project_path,
|
|
69
|
-
env:
|
|
72
|
+
env: {
|
|
73
|
+
npm_config_loglevel: 'error',
|
|
74
|
+
...process.env
|
|
75
|
+
}
|
|
70
76
|
});
|
|
71
77
|
for await (let event of stream1) {
|
|
72
78
|
const log = event.stdout ?? event.stderr;
|
|
@@ -74,13 +80,14 @@ async function buildTask(task, project_path, dest, config, node_context) {
|
|
|
74
80
|
console.log(`[${task.task_name} - install]`, log.trimRight());
|
|
75
81
|
}
|
|
76
82
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
const build_metadata = {
|
|
84
|
+
name: task.task_name,
|
|
85
|
+
version: task.task_version,
|
|
86
|
+
lambda_runtime: task.task_runtime
|
|
87
|
+
};
|
|
88
|
+
await jetpack.writeAsync(path.join(dest, `${task.task_name}-metadata.json`), JSON.stringify(build_metadata));
|
|
81
89
|
const builder_args = [];
|
|
82
|
-
|
|
83
|
-
builder_args.push(builder_bin);
|
|
90
|
+
builder_args.push(builder_script);
|
|
84
91
|
builder_args.push('--src', project_path);
|
|
85
92
|
builder_args.push(`--out`, path.join(dest, task.task_name));
|
|
86
93
|
builder_args.push(`--zip`, path.join(dest, `${task.task_name}.zip`));
|
|
@@ -89,17 +96,16 @@ async function buildTask(task, project_path, dest, config, node_context) {
|
|
|
89
96
|
builder_args.push(`--env`, config.env);
|
|
90
97
|
builder_args.push(`--backendId`, config.backend_id);
|
|
91
98
|
builder_args.push(`--backendUrl`, config.backend_url);
|
|
92
|
-
|
|
99
|
+
builder_args.push(`--runInstallScripts`, 'true');
|
|
93
100
|
console.debug(`[${task.task_name}] Trying: ${node_bin} ${builder_args.join(' ')}`);
|
|
94
|
-
|
|
95
|
-
const stream2 = (0, run_1.runCommand)(node_bin, builder_args, { cwd: project_path, env: process.env });
|
|
101
|
+
const stream2 = (0, run_1.runCommand)(npx_bin, ['--no-install', ...builder_args], { cwd: project_path, env: process.env });
|
|
96
102
|
for await (let event of stream2) {
|
|
97
103
|
const log = event.stdout ?? event.stderr;
|
|
98
104
|
if (log) {
|
|
99
105
|
console.log(`[${task.task_name} - build]`, log.trimRight());
|
|
100
106
|
}
|
|
101
107
|
}
|
|
102
|
-
|
|
108
|
+
console.log(`[${task.task_name} - build]`, `Finished.`);
|
|
103
109
|
}
|
|
104
110
|
exports.buildTask = buildTask;
|
|
105
111
|
//# sourceMappingURL=builder.js.map
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,oDAAsC;AACtC,+CAAiC;AAEjC,2CAAsD;AACtD,iDAA2D;AAC3D,+BAAmC;AAkB5B,KAAK,UAAU,UAAU,CAC9B,YAAoB,EACpB,IAAY,EACZ,MAAyB,EACzB,OAAsB;IAEtB,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAW,EAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE7D,uEAAuE;IACvE,MAAM,kBAAkB,GAAG;QACzB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;KAC1D,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,iBAAiB,CAAC;QACtB,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,qHAAqH;YACrH,MAAM,6BAA6B,GAAG,OAAO,EAAE,6BAA6B,IAAI,YAAY,CAAC;YAC7F,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CACnC,6BAA6B,EAC7B,QAAQ,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CACnD,CAAC;YACF,iBAAiB,GAAG,MAAM,IAAA,mCAAuB,EAAC,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;SACjG;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;QAEnE,MAAM,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;YAChD,YAAY;YACZ,GAAG,CAAC,iBAAiB,IAAI,kBAAkB,CAAC;SAC7C,CAAC,CAAC;KACJ;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/defs.d.ts
CHANGED
package/dist/defs.js
CHANGED
|
@@ -6,32 +6,37 @@ exports.SUPPORTED_VERSIONS = [
|
|
|
6
6
|
// {
|
|
7
7
|
// // proposed
|
|
8
8
|
// version: '1.13.0',
|
|
9
|
-
// node: '
|
|
9
|
+
// node: '18.14.2',
|
|
10
|
+
// runtime: 'nodejs18.x',
|
|
10
11
|
// builder_package: '@journeyapps/cloudcode-build@1.13.0',
|
|
11
12
|
// builder_script: 'cloudcode-build'
|
|
12
13
|
// },
|
|
13
14
|
{
|
|
14
15
|
version: '1.12.0',
|
|
15
16
|
node: '16.19.1',
|
|
16
|
-
|
|
17
|
+
runtime: 'nodejs16.x',
|
|
18
|
+
builder_package: '@journeyapps/cloudcode-build-legacy',
|
|
17
19
|
builder_script: 'cloudcode-build-legacy'
|
|
18
20
|
},
|
|
19
21
|
{
|
|
20
22
|
version: '1.11.2',
|
|
21
23
|
node: '14.21.3',
|
|
22
|
-
|
|
24
|
+
runtime: 'nodejs14.x',
|
|
25
|
+
builder_package: '@journeyapps/cloudcode-build-legacy',
|
|
23
26
|
builder_script: 'cloudcode-build-legacy'
|
|
24
27
|
},
|
|
25
28
|
{
|
|
26
29
|
version: '1.11.1',
|
|
27
30
|
node: '14.21.3',
|
|
28
|
-
|
|
31
|
+
runtime: 'nodejs14.x',
|
|
32
|
+
builder_package: '@journeyapps/cloudcode-build-legacy',
|
|
29
33
|
builder_script: 'cloudcode-build-legacy'
|
|
30
34
|
},
|
|
31
35
|
{
|
|
32
36
|
version: '1.11.0',
|
|
33
37
|
node: '14.21.3',
|
|
34
|
-
|
|
38
|
+
runtime: 'nodejs14.x',
|
|
39
|
+
builder_package: '@journeyapps/cloudcode-build-legacy',
|
|
35
40
|
builder_script: 'cloudcode-build-legacy'
|
|
36
41
|
}
|
|
37
42
|
];
|
package/dist/defs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","sourceRoot":"","sources":["../src/defs.ts"],"names":[],"mappings":";;;AAAA,0DAA0D;AAC7C,QAAA,kBAAkB,GAAG;IAChC,IAAI;IACJ,gBAAgB;IAChB,uBAAuB;IACvB,qBAAqB;IACrB,4DAA4D;IAC5D,sCAAsC;IACtC,KAAK;IACL;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"defs.js","sourceRoot":"","sources":["../src/defs.ts"],"names":[],"mappings":";;;AAAA,0DAA0D;AAC7C,QAAA,kBAAkB,GAAG;IAChC,IAAI;IACJ,gBAAgB;IAChB,uBAAuB;IACvB,qBAAqB;IACrB,2BAA2B;IAC3B,4DAA4D;IAC5D,sCAAsC;IACtC,KAAK;IACL;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,YAAY;QACrB,eAAe,EAAE,qCAAqC;QACtD,cAAc,EAAE,wBAAwB;KACzC;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,YAAY;QACrB,eAAe,EAAE,qCAAqC;QACtD,cAAc,EAAE,wBAAwB;KACzC;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,YAAY;QACrB,eAAe,EAAE,qCAAqC;QACtD,cAAc,EAAE,wBAAwB;KACzC;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,YAAY;QACrB,eAAe,EAAE,qCAAqC;QACtD,cAAc,EAAE,wBAAwB;KACzC;CACF,CAAC"}
|
package/dist/detect_tasks.d.ts
CHANGED
package/dist/detect_tasks.js
CHANGED
|
@@ -29,7 +29,6 @@ const path = __importStar(require("node:path"));
|
|
|
29
29
|
const jetpack = __importStar(require("fs-jetpack"));
|
|
30
30
|
const semver = __importStar(require("semver"));
|
|
31
31
|
const defs = __importStar(require("./defs"));
|
|
32
|
-
// TODO: validations for cloudcode specific keys and structure?
|
|
33
32
|
async function readPackage(path) {
|
|
34
33
|
try {
|
|
35
34
|
const content = await fs.promises.readFile(path, { encoding: 'utf-8' });
|
|
@@ -70,17 +69,18 @@ async function detectTasks(project_path, only) {
|
|
|
70
69
|
throw new Error('FIXME: unsupported version');
|
|
71
70
|
}
|
|
72
71
|
console.debug(`Matching versions: ${JSON.stringify(matching)}`);
|
|
72
|
+
const task_runtime = matching.runtime;
|
|
73
73
|
const running_node_version = process.versions.node;
|
|
74
74
|
let required_node_version;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
console.debug(`Task requires different node version: v${matching.node}`);
|
|
75
|
+
if (matching?.node && semver.major(matching.node) !== semver.major(running_node_version)) {
|
|
76
|
+
console.debug(`Task requires different node version: v${matching.node}. Running: ${running_node_version}`);
|
|
78
77
|
required_node_version = matching.node;
|
|
79
78
|
}
|
|
80
79
|
return {
|
|
81
80
|
pkg_path,
|
|
82
81
|
task_name,
|
|
83
82
|
task_version,
|
|
83
|
+
task_runtime,
|
|
84
84
|
required_node_version,
|
|
85
85
|
builder_package: matching.builder_package,
|
|
86
86
|
builder_script: matching.builder_script
|
package/dist/detect_tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect_tasks.js","sourceRoot":"","sources":["../src/detect_tasks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,gDAAkC;AAClC,oDAAsC;AACtC,+CAAiC;AACjC,6CAA+B;AAE/B
|
|
1
|
+
{"version":3,"file":"detect_tasks.js","sourceRoot":"","sources":["../src/detect_tasks.ts"],"names":[],"mappings":"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"}
|
package/dist/installer.d.ts
CHANGED
|
@@ -2,15 +2,18 @@ export declare function ensureCustomNodeVersion(node_version: string, install_pa
|
|
|
2
2
|
bin_path: string;
|
|
3
3
|
node_bin: string;
|
|
4
4
|
npm_bin: string;
|
|
5
|
+
npx_bin: string;
|
|
5
6
|
}>;
|
|
6
7
|
export declare function downloadAndInstallNode(node_version: string, destination: string): Promise<{
|
|
7
8
|
bin_path: string;
|
|
8
9
|
node_bin: string;
|
|
9
10
|
npm_bin: string;
|
|
11
|
+
npx_bin: string;
|
|
10
12
|
}>;
|
|
11
13
|
export declare function nodePaths(destination: string): {
|
|
12
14
|
bin_path: string;
|
|
13
15
|
node_bin: string;
|
|
14
16
|
npm_bin: string;
|
|
17
|
+
npx_bin: string;
|
|
15
18
|
};
|
|
16
19
|
export declare function downloadAndExtractTarball(url: string, dest: string): Promise<void>;
|
package/dist/installer.js
CHANGED
|
@@ -64,7 +64,8 @@ function nodePaths(destination) {
|
|
|
64
64
|
return {
|
|
65
65
|
bin_path: path.resolve(destination, 'bin'),
|
|
66
66
|
node_bin: path.resolve(destination, 'bin', 'node'),
|
|
67
|
-
npm_bin: path.resolve(destination, 'bin', 'npm')
|
|
67
|
+
npm_bin: path.resolve(destination, 'bin', 'npm'),
|
|
68
|
+
npx_bin: path.resolve(destination, 'bin', 'npx')
|
|
68
69
|
};
|
|
69
70
|
}
|
|
70
71
|
exports.nodePaths = nodePaths;
|
|
@@ -78,7 +79,7 @@ async function downloadAndExtractTarball(url, dest) {
|
|
|
78
79
|
fs.unlinkSync(download);
|
|
79
80
|
}
|
|
80
81
|
await new Promise(async (resolve, reject) => {
|
|
81
|
-
console.
|
|
82
|
+
console.debug(`fetching ${url} into ${download}`);
|
|
82
83
|
const response = await (0, node_fetch_1.default)(url);
|
|
83
84
|
if (!response.ok) {
|
|
84
85
|
const errorBody = await response.statusText;
|
package/dist/installer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AACtC,gDAAkC;AAClC,8CAAgC;AAChC,4DAA+B;AAC/B,4CAA8B;AAC9B,4CAA8B;AAC9B,yCAA2B;AAEpB,KAAK,UAAU,uBAAuB,CAAC,YAAoB,EAAE,YAAoB;IACtF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,EAAE;QACxD,OAAO,CAAC,KAAK,CAAC,SAAS,YAAY,mBAAmB,YAAY,EAAE,CAAC,CAAC;QACtE,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrC,MAAM,sBAAsB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;KAC1D;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,SAAS,YAAY,0BAA0B,YAAY,EAAE,CAAC,CAAC;KAC9E;IACD,OAAO,SAAS,CAAC,YAAY,CAAC,CAAC;AACjC,CAAC;AATD,0DASC;AAED;;;EAGE;AACF,8EAA8E;AACvE,KAAK,UAAU,sBAAsB,CAAC,YAAoB,EAAE,WAAmB;IACpF,sEAAsE;IACtE,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,iBAAiB,GAAG,4BAA4B,YAAY,UAAU,YAAY,IAAI,QAAQ,IAAI,IAAI,SAAS,CAAC;IAEtH,MAAM,yBAAyB,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAChE,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC;AARD,wDAQC;AAED,SAAgB,SAAS,CAAC,WAAmB;IAC3C,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;QAC1C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC;QAClD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC;KACjD,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@journeyapps/cloudcode-build-agent",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
4
|
-
"description": "",
|
|
3
|
+
"version": "0.0.0-dev.bd7b5ac",
|
|
4
|
+
"description": "Detect CloudCode tasks in a JourneyApps App and build them for installation on AWS Lambda",
|
|
5
5
|
"main": "./dist/index",
|
|
6
6
|
"types": "./dist/index",
|
|
7
|
-
"
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public"
|
|
9
|
+
},
|
|
8
10
|
"bin": {
|
|
9
11
|
"cloudcode-build-agent": "./bin.js"
|
|
10
12
|
},
|
|
13
|
+
"files": [
|
|
14
|
+
"bin.js",
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
11
17
|
"dependencies": {
|
|
12
18
|
"child-process-promise": "^2.2.1",
|
|
13
19
|
"fs-jetpack": "5.1.0",
|
package/src/builder.ts
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import * as path from 'node:path';
|
|
2
|
-
import * as jetpack from 'fs-jetpack';
|
|
3
|
-
import * as semver from 'semver';
|
|
4
|
-
|
|
5
|
-
import { ensureCustomNodeVersion } from './installer';
|
|
6
|
-
import { detectTasks, DetectedTask } from './detect_tasks';
|
|
7
|
-
import { runCommand } from './run';
|
|
8
|
-
|
|
9
|
-
import * as _ from 'lodash';
|
|
10
|
-
|
|
11
|
-
export type GeneralTaskConfig = {
|
|
12
|
-
app_id: string;
|
|
13
|
-
env: string;
|
|
14
|
-
backend_id: string;
|
|
15
|
-
backend_url: string;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export type BuildOptions = {
|
|
19
|
-
only?: string;
|
|
20
|
-
custom_node_installation_path?: string;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
type ToolPaths = { bin_path: string; node_bin: string; npm_bin: string };
|
|
24
|
-
|
|
25
|
-
export async function buildTasks(
|
|
26
|
-
project_path: string,
|
|
27
|
-
dest: string,
|
|
28
|
-
config: GeneralTaskConfig,
|
|
29
|
-
options?: BuildOptions
|
|
30
|
-
) {
|
|
31
|
-
const tasks = await detectTasks(project_path, options?.only);
|
|
32
|
-
|
|
33
|
-
// Use the version of nodejs that's running this script as the default.
|
|
34
|
-
const default_tool_paths = {
|
|
35
|
-
bin_path: path.dirname(process.execPath),
|
|
36
|
-
node_bin: process.execPath,
|
|
37
|
-
npm_bin: path.join(path.dirname(process.execPath), 'npm')
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
for (const task of tasks) {
|
|
41
|
-
let custom_tool_paths;
|
|
42
|
-
if (task.required_node_version) {
|
|
43
|
-
// FIXME: when defaulting to project_path, the custom node installation is copied into the builder's workdir as well.
|
|
44
|
-
const custom_node_installation_path = options?.custom_node_installation_path ?? project_path;
|
|
45
|
-
const custom_node_path = path.resolve(
|
|
46
|
-
custom_node_installation_path,
|
|
47
|
-
`node-${semver.major(task.required_node_version)}`
|
|
48
|
-
);
|
|
49
|
-
custom_tool_paths = await ensureCustomNodeVersion(task.required_node_version, custom_node_path);
|
|
50
|
-
}
|
|
51
|
-
const node_version = task.required_node_version ?? process.version;
|
|
52
|
-
|
|
53
|
-
await buildTask(task, project_path, dest, config, {
|
|
54
|
-
node_version,
|
|
55
|
-
...(custom_tool_paths ?? default_tool_paths)
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export async function buildTask(
|
|
61
|
-
task: DetectedTask,
|
|
62
|
-
project_path: string,
|
|
63
|
-
dest: string,
|
|
64
|
-
config: GeneralTaskConfig,
|
|
65
|
-
node_context: { node_version: string } & ToolPaths
|
|
66
|
-
) {
|
|
67
|
-
const builder_package = task.builder_package;
|
|
68
|
-
const builder_script = task.builder_script;
|
|
69
|
-
const { bin_path, node_bin, npm_bin } = node_context;
|
|
70
|
-
const builder_bin = path.resolve(bin_path, builder_script);
|
|
71
|
-
|
|
72
|
-
if (!jetpack.exists(node_bin)) {
|
|
73
|
-
throw new Error(`Node binary not found: ${node_bin}`);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
console.debug(
|
|
77
|
-
`[${task.task_name}] Installing builder script "${builder_package}" for node ${node_context.node_version}`
|
|
78
|
-
);
|
|
79
|
-
// debug(`Installing builder script "${builder_package}" for node ${node_version}`);
|
|
80
|
-
|
|
81
|
-
const stream1 = runCommand(node_bin, [npm_bin, '--global', 'install', builder_package], {
|
|
82
|
-
cwd: project_path,
|
|
83
|
-
env: process.env
|
|
84
|
-
});
|
|
85
|
-
for await (let event of stream1) {
|
|
86
|
-
const log = event.stdout ?? event.stderr;
|
|
87
|
-
if (log) {
|
|
88
|
-
console.log(`[${task.task_name} - install]`, log.trimRight());
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if (!jetpack.exists(builder_bin)) {
|
|
93
|
-
console.error(`[${task.task_name}] ${builder_bin} not found`);
|
|
94
|
-
throw new Error(`Builder script not found for task ${task.task_name}`);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const builder_args: string[] = [];
|
|
98
|
-
// --src ./ --out ./dist/echo --task echo --appId 'appid' --env 'testing' --backendId 'backendid' --backendUrl 'http://run.journeyapps.test'
|
|
99
|
-
builder_args.push(builder_bin);
|
|
100
|
-
builder_args.push('--src', project_path);
|
|
101
|
-
builder_args.push(`--out`, path.join(dest, task.task_name));
|
|
102
|
-
builder_args.push(`--zip`, path.join(dest, `${task.task_name}.zip`));
|
|
103
|
-
builder_args.push(`--task`, `${task.task_name}`);
|
|
104
|
-
builder_args.push(`--appId`, config.app_id);
|
|
105
|
-
builder_args.push(`--env`, config.env);
|
|
106
|
-
builder_args.push(`--backendId`, config.backend_id);
|
|
107
|
-
builder_args.push(`--backendUrl`, config.backend_url);
|
|
108
|
-
// builder_args.push(`--runInstallScripts`, 'true'); // TODO: handle this from feature flags somehow
|
|
109
|
-
|
|
110
|
-
console.debug(`[${task.task_name}] Trying: ${node_bin} ${builder_args.join(' ')}`);
|
|
111
|
-
// debug(`Trying: ${node_bin} ${builder_args.join(' ')}`);
|
|
112
|
-
|
|
113
|
-
const stream2 = runCommand(node_bin, builder_args, { cwd: project_path, env: process.env });
|
|
114
|
-
|
|
115
|
-
for await (let event of stream2) {
|
|
116
|
-
const log = event.stdout ?? event.stderr;
|
|
117
|
-
if (log) {
|
|
118
|
-
console.log(`[${task.task_name} - build]`, log.trimRight());
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
// console.debug('----');
|
|
122
|
-
}
|
package/src/cli.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import * as yargs from 'yargs';
|
|
4
|
-
|
|
5
|
-
import { buildTasks } from './';
|
|
6
|
-
|
|
7
|
-
const DEFAULT_SRC_PATH = './';
|
|
8
|
-
const DEFAULT_OUT_PATH = './dist/cloudcode';
|
|
9
|
-
const DEFAULT_TMP_PATH = '/tmp/cloudcode-build-agent/node';
|
|
10
|
-
|
|
11
|
-
yargs
|
|
12
|
-
.command(
|
|
13
|
-
['build', '$0'], // $0 means this is the default command
|
|
14
|
-
'build tasks',
|
|
15
|
-
(yargs) => {
|
|
16
|
-
return (
|
|
17
|
-
yargs
|
|
18
|
-
.option('only', { string: true })
|
|
19
|
-
.option('path', { default: DEFAULT_SRC_PATH })
|
|
20
|
-
.option('out', { default: DEFAULT_OUT_PATH })
|
|
21
|
-
.option('node_work_dir', { default: DEFAULT_TMP_PATH })
|
|
22
|
-
// TODO: investigate yargs.config() for reading task config blob from a file. But how to ensure required args?
|
|
23
|
-
.option('appId', { string: true, demandOption: true, describe: "CloudCode's reference id" })
|
|
24
|
-
.option('env', { string: true, demandOption: true })
|
|
25
|
-
.option('backendId', { string: true, demandOption: true })
|
|
26
|
-
.option('backendUrl', { string: true, demandOption: true })
|
|
27
|
-
);
|
|
28
|
-
},
|
|
29
|
-
handled(async (argv) => {
|
|
30
|
-
const config = {
|
|
31
|
-
app_id: argv.appId,
|
|
32
|
-
env: argv.env,
|
|
33
|
-
backend_id: argv.backendId,
|
|
34
|
-
backend_url: argv.backendUrl
|
|
35
|
-
};
|
|
36
|
-
await buildTasks(argv.path, argv.out, config, {
|
|
37
|
-
only: argv.only,
|
|
38
|
-
custom_node_installation_path: argv.node_work_dir
|
|
39
|
-
});
|
|
40
|
-
})
|
|
41
|
-
)
|
|
42
|
-
.option('verbose', {
|
|
43
|
-
alias: 'v',
|
|
44
|
-
default: false
|
|
45
|
-
}).argv;
|
|
46
|
-
|
|
47
|
-
function handled<T>(fn: (argv: T) => Promise<void>): (argv: T) => Promise<void> {
|
|
48
|
-
return async (argv: T) => {
|
|
49
|
-
try {
|
|
50
|
-
await fn(argv);
|
|
51
|
-
} catch (err) {
|
|
52
|
-
console.error(err.stack);
|
|
53
|
-
process.exit(1);
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
package/src/defs.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// TODO: maybe publish (some of) this from the CC service?
|
|
2
|
-
export const SUPPORTED_VERSIONS = [
|
|
3
|
-
// {
|
|
4
|
-
// // proposed
|
|
5
|
-
// version: '1.13.0',
|
|
6
|
-
// node: '16.19.1',
|
|
7
|
-
// builder_package: '@journeyapps/cloudcode-build@1.13.0',
|
|
8
|
-
// builder_script: 'cloudcode-build'
|
|
9
|
-
// },
|
|
10
|
-
{
|
|
11
|
-
version: '1.12.0',
|
|
12
|
-
node: '16.19.1', // FIXME: maybe the very specific node version here is too brittle? Should we just specify the major version?
|
|
13
|
-
builder_package: '@journeyapps/cloudcode-build-legacy@1.12.0',
|
|
14
|
-
builder_script: 'cloudcode-build-legacy'
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
version: '1.11.2',
|
|
18
|
-
node: '14.21.3',
|
|
19
|
-
builder_package: '@journeyapps/cloudcode-build-legacy@1.12.0',
|
|
20
|
-
builder_script: 'cloudcode-build-legacy'
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
version: '1.11.1',
|
|
24
|
-
node: '14.21.3',
|
|
25
|
-
builder_package: '@journeyapps/cloudcode-build-legacy@1.12.0',
|
|
26
|
-
builder_script: 'cloudcode-build-legacy'
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
version: '1.11.0',
|
|
30
|
-
node: '14.21.3',
|
|
31
|
-
builder_package: '@journeyapps/cloudcode-build-legacy@1.12.0',
|
|
32
|
-
builder_script: 'cloudcode-build-legacy'
|
|
33
|
-
}
|
|
34
|
-
];
|
package/src/detect_tasks.ts
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import * as fs from 'node:fs';
|
|
2
|
-
import * as path from 'node:path';
|
|
3
|
-
import * as jetpack from 'fs-jetpack';
|
|
4
|
-
import * as semver from 'semver';
|
|
5
|
-
import * as defs from './defs';
|
|
6
|
-
|
|
7
|
-
// TODO: validations for cloudcode specific keys and structure?
|
|
8
|
-
async function readPackage(path: string) {
|
|
9
|
-
try {
|
|
10
|
-
const content = await fs.promises.readFile(path, { encoding: 'utf-8' });
|
|
11
|
-
return JSON.parse(content);
|
|
12
|
-
} catch (err) {
|
|
13
|
-
console.error(`ERROR: ${err}`);
|
|
14
|
-
throw err;
|
|
15
|
-
// todo: check for enoent and skip?
|
|
16
|
-
// todo: if json error, throw a CC build error?
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export type DetectedTask = {
|
|
21
|
-
pkg_path: string;
|
|
22
|
-
task_name: string;
|
|
23
|
-
task_version: string;
|
|
24
|
-
required_node_version?: string;
|
|
25
|
-
builder_package: string;
|
|
26
|
-
builder_script: string;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export async function detectTasks(project_path: string, only?: string): Promise<DetectedTask[]> {
|
|
30
|
-
const package_files = await jetpack.findAsync(path.join(project_path, 'cloudcode'), { matching: '**/package.json' });
|
|
31
|
-
const filtered_package_files = package_files.filter((pkg_path) => {
|
|
32
|
-
// FIXME: this is kinda clunky.
|
|
33
|
-
const pm = /^\/?cloudcode\/([^\/]+)\/package\.json$/.exec(pkg_path);
|
|
34
|
-
if (!pm) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
const taskName = pm[1];
|
|
38
|
-
|
|
39
|
-
if (only != null && only != taskName) {
|
|
40
|
-
// !(only.indexOf(taskName) >= 0) // TODO: support a specific list of tasks to build?
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
return true;
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
return Promise.all(
|
|
47
|
-
filtered_package_files.map(async (pkg_path) => {
|
|
48
|
-
const task_package = await readPackage(pkg_path);
|
|
49
|
-
|
|
50
|
-
const task_name = task_package.name; // CAVEAT: the pkg name _must_ match the dir.
|
|
51
|
-
const task_version = task_package?.cloudcode?.runtime;
|
|
52
|
-
// FIXME: Do we want to filter out disabled tasks from the build process?
|
|
53
|
-
|
|
54
|
-
console.debug(`Detected task version ${task_version}`);
|
|
55
|
-
|
|
56
|
-
const matching = defs.SUPPORTED_VERSIONS.find((v) => {
|
|
57
|
-
return semver.satisfies(v.version, task_version);
|
|
58
|
-
});
|
|
59
|
-
if (!matching) {
|
|
60
|
-
throw new Error('FIXME: unsupported version');
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
console.debug(`Matching versions: ${JSON.stringify(matching)}`);
|
|
64
|
-
|
|
65
|
-
const running_node_version = process.versions.node;
|
|
66
|
-
let required_node_version;
|
|
67
|
-
// if (matching?.node && semver.major(matching.node) !== semver.major(running_node_version)) {
|
|
68
|
-
if (matching?.node && semver.parse(matching.node) !== semver.parse(running_node_version)) {
|
|
69
|
-
console.debug(`Task requires different node version: v${matching.node}`);
|
|
70
|
-
|
|
71
|
-
required_node_version = matching.node;
|
|
72
|
-
}
|
|
73
|
-
return {
|
|
74
|
-
pkg_path,
|
|
75
|
-
task_name,
|
|
76
|
-
task_version,
|
|
77
|
-
required_node_version,
|
|
78
|
-
builder_package: matching.builder_package,
|
|
79
|
-
builder_script: matching.builder_script
|
|
80
|
-
};
|
|
81
|
-
})
|
|
82
|
-
);
|
|
83
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './builder';
|
package/src/installer.ts
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import * as jetpack from 'fs-jetpack';
|
|
2
|
-
import * as path from 'node:path';
|
|
3
|
-
import * as URL from 'node:url';
|
|
4
|
-
import fetch from 'node-fetch';
|
|
5
|
-
import * as fs from 'node:fs';
|
|
6
|
-
import * as os from 'node:os';
|
|
7
|
-
import * as tar from 'tar';
|
|
8
|
-
|
|
9
|
-
export async function ensureCustomNodeVersion(node_version: string, install_path: string) {
|
|
10
|
-
if (!jetpack.exists(path.join(install_path, 'bin/node'))) {
|
|
11
|
-
console.debug(`[node ${node_version}] Installing to ${install_path}`);
|
|
12
|
-
await jetpack.dirAsync(install_path);
|
|
13
|
-
await downloadAndInstallNode(node_version, install_path);
|
|
14
|
-
} else {
|
|
15
|
-
console.debug(`[node ${node_version}] Already installed in ${install_path}`);
|
|
16
|
-
}
|
|
17
|
-
return nodePaths(install_path);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/* Basically this, but for different dirs.
|
|
21
|
-
curl https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${PLATFORM}64.tar.gz -L | tar -xzC /node-dedicated && \
|
|
22
|
-
mv /node-dedicated/node-v${NODE_VERSION}-linux-${PLATFORM}64/bin/node /node-dedicated/node
|
|
23
|
-
*/
|
|
24
|
-
// TODO: feature to find the latest minor and patch for a given major version?
|
|
25
|
-
export async function downloadAndInstallNode(node_version: string, destination: string) {
|
|
26
|
-
// eg. https://nodejs.org/dist/v18.14.2/node-v18.14.2-linux-x64.tar.xz
|
|
27
|
-
const ARCH = os.arch();
|
|
28
|
-
const PLATFORM = os.platform();
|
|
29
|
-
const node_download_url = `https://nodejs.org/dist/v${node_version}/node-v${node_version}-${PLATFORM}-${ARCH}.tar.gz`;
|
|
30
|
-
|
|
31
|
-
await downloadAndExtractTarball(node_download_url, destination);
|
|
32
|
-
return nodePaths(destination);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function nodePaths(destination: string) {
|
|
36
|
-
return {
|
|
37
|
-
bin_path: path.resolve(destination, 'bin'),
|
|
38
|
-
node_bin: path.resolve(destination, 'bin', 'node'),
|
|
39
|
-
npm_bin: path.resolve(destination, 'bin', 'npm')
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export async function downloadAndExtractTarball(url: string, dest: string) {
|
|
44
|
-
const tmpdir = os.tmpdir();
|
|
45
|
-
|
|
46
|
-
const filename = path.basename(URL.parse(url).pathname as string);
|
|
47
|
-
const base = path.basename(filename, '.tar.gz');
|
|
48
|
-
const download = path.join(tmpdir, filename);
|
|
49
|
-
|
|
50
|
-
if (fs.existsSync(download)) {
|
|
51
|
-
console.debug(`deleting old ${download}`);
|
|
52
|
-
fs.unlinkSync(download);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
await new Promise(async (resolve, reject) => {
|
|
56
|
-
console.log(`fetching ${url} into ${download}`);
|
|
57
|
-
|
|
58
|
-
const response = await fetch(url);
|
|
59
|
-
if (!response.ok) {
|
|
60
|
-
const errorBody = await response.statusText;
|
|
61
|
-
throw new Error(`Failed to download: ${errorBody}`);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const file = fs.createWriteStream(download); // Sink the download stream into a file, so it can be extracted.
|
|
65
|
-
response.body.pipe(file);
|
|
66
|
-
|
|
67
|
-
file.on('finish', async () => {
|
|
68
|
-
try {
|
|
69
|
-
console.debug('Extracting...', download);
|
|
70
|
-
|
|
71
|
-
tar.extract({
|
|
72
|
-
cwd: tmpdir,
|
|
73
|
-
file: download,
|
|
74
|
-
sync: true
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
const uncomp = path.join(tmpdir, base);
|
|
78
|
-
|
|
79
|
-
const dist = path.resolve(dest);
|
|
80
|
-
// FIXME: dangerous. Add protection or replace.
|
|
81
|
-
// if (fs.existsSync(dist)) {
|
|
82
|
-
// fs.rmSync(dist, { recursive: true });
|
|
83
|
-
// }
|
|
84
|
-
if (fs.existsSync(uncomp)) {
|
|
85
|
-
console.debug(`Moving extracted files from ${uncomp} to ${dist}`);
|
|
86
|
-
fs.renameSync(uncomp, dist);
|
|
87
|
-
} else {
|
|
88
|
-
console.debug(`Can't find extract dir ${uncomp}`);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/*
|
|
92
|
-
FIXME: this seems to sometimes cause errors: eg.
|
|
93
|
-
```
|
|
94
|
-
node:events:505
|
|
95
|
-
throw er; // Unhandled 'error' event
|
|
96
|
-
^
|
|
97
|
-
|
|
98
|
-
Error: ENOENT: no such file or directory, open '/var/folders/kc/h6m4zpmd23v13s63mygvkslm0000gn/T/node-v16.19.1-darwin-arm64.tar.gz'
|
|
99
|
-
Emitted 'error' event on ReadStream instance at:
|
|
100
|
-
at emitErrorNT (node:internal/streams/destroy:157:8)
|
|
101
|
-
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
|
|
102
|
-
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
|
|
103
|
-
errno: -2,
|
|
104
|
-
code: 'ENOENT',
|
|
105
|
-
syscall: 'open',
|
|
106
|
-
path: '/var/folders/kc/h6m4zpmd23v13s63mygvkslm0000gn/T/node-v16.19.1-darwin-arm64.tar.gz'
|
|
107
|
-
```
|
|
108
|
-
*/
|
|
109
|
-
// fs.unlinkSync(file.path);
|
|
110
|
-
|
|
111
|
-
resolve(null);
|
|
112
|
-
} catch (err) {
|
|
113
|
-
reject(err);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
}
|
package/src/run.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { spawnStream, SpawnStreamEvent } from './spawn-stream';
|
|
2
|
-
import { SpawnOptions } from 'child_process';
|
|
3
|
-
|
|
4
|
-
export async function* runCommand(
|
|
5
|
-
command: string,
|
|
6
|
-
args: string[],
|
|
7
|
-
options?: Partial<SpawnOptions>
|
|
8
|
-
): AsyncIterable<SpawnStreamEvent> {
|
|
9
|
-
const { childProcess, stream } = spawnStream(command, args, { cwd: options?.cwd, splitLines: true, ...options });
|
|
10
|
-
|
|
11
|
-
let exitCode: number | null = null;
|
|
12
|
-
|
|
13
|
-
for await (let event of stream) {
|
|
14
|
-
yield event;
|
|
15
|
-
if (event.exitCode != null) {
|
|
16
|
-
exitCode = event.exitCode;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (exitCode != 0) {
|
|
21
|
-
throw new Error(`Command failed with code ${exitCode}`);
|
|
22
|
-
}
|
|
23
|
-
}
|
package/src/spawn-stream.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { ChildProcess, spawn, SpawnOptions } from 'child_process';
|
|
2
|
-
import { PassThrough, Readable } from 'stream';
|
|
3
|
-
|
|
4
|
-
export interface StreamOptions {
|
|
5
|
-
splitLines?: boolean;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export function spawnStream(command: string, args: string[], options: SpawnOptions & StreamOptions) {
|
|
9
|
-
const process = spawn(command, args, {
|
|
10
|
-
...options,
|
|
11
|
-
stdio: 'pipe'
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
return {
|
|
15
|
-
childProcess: process,
|
|
16
|
-
stream: processToStream(process, options)
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface SpawnStreamEvent {
|
|
21
|
-
event: 'stdout' | 'stderr' | 'exit';
|
|
22
|
-
stdout?: string;
|
|
23
|
-
stderr?: string;
|
|
24
|
-
exitCode?: number;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function processToStream(process: ChildProcess, options: StreamOptions): AsyncIterable<SpawnStreamEvent> {
|
|
28
|
-
const combinedStream = new PassThrough({ objectMode: true });
|
|
29
|
-
|
|
30
|
-
async function* transform(stream: Readable, key: 'stdout' | 'stderr'): AsyncIterable<SpawnStreamEvent> {
|
|
31
|
-
stream.setEncoding('utf-8');
|
|
32
|
-
let iterable: AsyncIterable<string> = stream;
|
|
33
|
-
if (options.splitLines) {
|
|
34
|
-
iterable = splitLines(iterable);
|
|
35
|
-
}
|
|
36
|
-
for await (const chunk of iterable) {
|
|
37
|
-
yield {
|
|
38
|
-
event: key,
|
|
39
|
-
[key]: chunk
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (process.stdout) {
|
|
45
|
-
Readable.from(transform(process.stdout, 'stdout')).pipe(combinedStream, { end: false });
|
|
46
|
-
}
|
|
47
|
-
if (process.stderr) {
|
|
48
|
-
Readable.from(transform(process.stderr, 'stderr')).pipe(combinedStream, { end: false });
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
process.on('exit', (code: number | null) => {
|
|
52
|
-
combinedStream.write({ exitCode: code }, () => {
|
|
53
|
-
combinedStream.end();
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
return combinedStream;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
async function* splitLines(stream: AsyncIterable<string>): AsyncIterable<string> {
|
|
61
|
-
let buffer = '';
|
|
62
|
-
for await (const chunk of stream) {
|
|
63
|
-
buffer += chunk;
|
|
64
|
-
const lines = buffer.split('\n');
|
|
65
|
-
buffer = lines.pop()!;
|
|
66
|
-
for (let line of lines) {
|
|
67
|
-
yield `${line}\n`;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (buffer) {
|
|
71
|
-
yield buffer;
|
|
72
|
-
}
|
|
73
|
-
}
|
package/tsconfig.json
DELETED
package/tsconfig.tsbuildinfo
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/globals.global.d.ts","../../node_modules/.pnpm/@types+node@14.18.36/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/fs-jetpack@5.1.0/node_modules/fs-jetpack/types.d.ts","../../node_modules/.pnpm/fs-jetpack@5.1.0/node_modules/fs-jetpack/index.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/classes/semver.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/parse.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/valid.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/clean.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/inc.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/diff.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/major.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/minor.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/patch.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/compare.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/sort.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/gt.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/lt.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/eq.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/neq.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/gte.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/lte.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/classes/range.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/.pnpm/@types+semver@7.3.13/node_modules/@types/semver/index.d.ts","../../node_modules/.pnpm/form-data@3.0.1/node_modules/form-data/index.d.ts","../../node_modules/.pnpm/@types+node-fetch@2.6.2/node_modules/@types/node-fetch/externals.d.ts","../../node_modules/.pnpm/@types+node-fetch@2.6.2/node_modules/@types/node-fetch/index.d.ts","../../node_modules/.pnpm/minipass@4.2.0/node_modules/minipass/index.d.ts","../../node_modules/.pnpm/@types+tar@6.1.4/node_modules/@types/tar/index.d.ts","./src/installer.ts","./src/defs.ts","./src/detect_tasks.ts","./src/spawn-stream.ts","./src/run.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/common.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/array.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/collection.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/date.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/function.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/lang.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/math.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/number.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/object.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/seq.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/string.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/common/util.d.ts","../../node_modules/.pnpm/@types+lodash@4.14.191/node_modules/@types/lodash/index.d.ts","./src/builder.ts","../../node_modules/.pnpm/@types+yargs-parser@21.0.0/node_modules/@types/yargs-parser/index.d.ts","../../node_modules/.pnpm/@types+yargs@17.0.22/node_modules/@types/yargs/index.d.ts","./src/index.ts","./src/cli.ts","../../node_modules/.pnpm/@types+child-process-promise@2.2.2/node_modules/@types/child-process-promise/index.d.ts","../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../node_modules/.pnpm/@sinclair+typebox@0.24.23/node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/.pnpm/@jest+schemas@28.1.3/node_modules/@jest/schemas/build/index.d.ts","../../node_modules/.pnpm/pretty-format@28.1.3/node_modules/pretty-format/build/index.d.ts","../../node_modules/.pnpm/jest-diff@28.1.3/node_modules/jest-diff/build/index.d.ts","../../node_modules/.pnpm/jest-matcher-utils@28.1.3/node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/.pnpm/@types+jest@28.1.6/node_modules/@types/jest/index.d.ts","../../node_modules/.pnpm/@types+prettier@2.6.4/node_modules/@types/prettier/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5","impliedFormat":1},{"version":"5540267409ab1444c73c786b8ae4caa37d5f0ea41f9255c6123338da790ce5cc","affectsGlobalScope":true,"impliedFormat":1},{"version":"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","impliedFormat":1},{"version":"3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","impliedFormat":1},{"version":"9deb3a5eaf187df1428f0fee83c8c51eedb74f6da3442410bad9688e42a7e2b5","impliedFormat":1},{"version":"d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b","impliedFormat":1},{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true,"impliedFormat":1},{"version":"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","impliedFormat":1},{"version":"db86f82fac051ae344b47e8fe7ac7990174b41db79b2b220a49dc5a47c71a9b5","impliedFormat":1},{"version":"b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","impliedFormat":1},{"version":"4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f","impliedFormat":1},{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true,"impliedFormat":1},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","impliedFormat":1},{"version":"92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","impliedFormat":1},{"version":"cf0a69c71aedf2f8fe45925abd554fd3dc7301ce66d6ab7521fb8c3471c24dd8","impliedFormat":1},{"version":"56e6722c6013609b3e5e6ed4a8a7e01f41da6c5e3d6f0ecff3d09ef7a81414cf","impliedFormat":1},{"version":"139fd681eff7771a38d0c025d13c7a11c5474f6aab61e01c41511d71496df173","impliedFormat":1},{"version":"f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","impliedFormat":1},{"version":"44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","impliedFormat":1},{"version":"d79fda68cbfb361c4ee9cd9ea169babb65887534d64017726cd01f54783d20a5","impliedFormat":1},{"version":"155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","impliedFormat":1},{"version":"e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","impliedFormat":1},{"version":"4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4","impliedFormat":1},{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true,"impliedFormat":1},{"version":"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","impliedFormat":1},{"version":"9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","impliedFormat":1},{"version":"f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","impliedFormat":1},{"version":"e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","impliedFormat":1},{"version":"c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","impliedFormat":1},{"version":"874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","impliedFormat":1},{"version":"6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","impliedFormat":1},{"version":"504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","impliedFormat":1},{"version":"23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","impliedFormat":1},{"version":"4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce","impliedFormat":1},{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true,"impliedFormat":1},{"version":"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","impliedFormat":1},{"version":"a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","impliedFormat":1},{"version":"4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","impliedFormat":1},{"version":"3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","impliedFormat":1},{"version":"0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","impliedFormat":1},{"version":"22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24","impliedFormat":1},{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","impliedFormat":1},{"version":"e11aba8607f523fc03872ecc6c4c3f6b2f34150de8b914a47c5b2d575b99b348","impliedFormat":1},{"version":"1de20e515e0873439a53cd0c877a86099aa11b503a888e784d664b8a252e0197","impliedFormat":1},{"version":"2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","impliedFormat":1},{"version":"2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","impliedFormat":1},{"version":"42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","impliedFormat":1},{"version":"d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","impliedFormat":1},{"version":"77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","impliedFormat":1},{"version":"7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","impliedFormat":1},{"version":"906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","impliedFormat":1},{"version":"5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","impliedFormat":1},{"version":"c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","impliedFormat":1},{"version":"e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","impliedFormat":1},{"version":"e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","impliedFormat":1},{"version":"9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","impliedFormat":1},{"version":"0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","impliedFormat":1},{"version":"71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","impliedFormat":1},{"version":"c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","impliedFormat":1},{"version":"2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","impliedFormat":1},{"version":"479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","impliedFormat":1},{"version":"ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","impliedFormat":1},{"version":"f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","impliedFormat":1},{"version":"86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","impliedFormat":1},{"version":"2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","impliedFormat":1},{"version":"a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","impliedFormat":1},{"version":"b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","impliedFormat":1},{"version":"61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","impliedFormat":1},{"version":"6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","impliedFormat":1},{"version":"c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","impliedFormat":1},{"version":"38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","impliedFormat":1},{"version":"d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","impliedFormat":1},{"version":"3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","impliedFormat":1},{"version":"b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","impliedFormat":1},{"version":"f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","impliedFormat":1},{"version":"843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","impliedFormat":1},{"version":"f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","impliedFormat":1},{"version":"6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","impliedFormat":1},{"version":"e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","impliedFormat":1},{"version":"a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","impliedFormat":1},{"version":"a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","impliedFormat":1},{"version":"da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","impliedFormat":1},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"3898e3dbe94b6fe529fbe8f0faee1309c1923100516d7a014b301955e52ece77","impliedFormat":1},{"version":"3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","impliedFormat":1},{"version":"58b63c0f3bfac04d639c31a9fe094089c0bdcc8cda7bc35f1f23828677aa7926","impliedFormat":1},{"version":"84dce4918f08e89f61c6ede5fbe6d6c358ae95aae3930c2636030e421f4ca738","impliedFormat":1},{"version":"1ee2b3da8b269a8011570bb5008cafc09b51c3cd9d4daf5932cc478572cf6de7","signature":"d0701f682be41fec27764a470641f380794a0ded75495e5e95b190a94d2c33df","impliedFormat":1},{"version":"9eb4e38409aa92da0bfc3084a602d477c5a09d0cbc116cc65c980e08e38d4b35","signature":"2d9527dcc55e39ca3752a18a17ef72f793e3c7fc3b050a2f542c620f67fd021a","impliedFormat":1},{"version":"7eb2f29829850ac62547b1dffee841723fd05df84d1af338f841213b9bd7557e","signature":"6d2337ae73e23331c40965497c227d5bb1b78f25cf93f4543129c6cb90836a8d","impliedFormat":1},{"version":"1ac4d3f83fe3f70ae5958b13715050f00e763fa3d007a87d66d4fb35a3b7e26c","signature":"d166cd20544d7c49e7c4eb2989fe94be4e95b411ef9327be3106df4c97a4e310","impliedFormat":1},{"version":"a9f35b7becc0a311394209488da2bc754afcd31b95fe30f08eca3b8332c19bd7","signature":"99b694f95b9acee7a446ca3b9e40a7dd3ff035777294444d7fecb3180be8d69f","impliedFormat":1},{"version":"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","impliedFormat":1},{"version":"458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","impliedFormat":1},{"version":"d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","impliedFormat":1},{"version":"98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","impliedFormat":1},{"version":"0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","impliedFormat":1},{"version":"3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","impliedFormat":1},{"version":"3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"516b981c91508775f19d8400ff5497a3d25c104e5dfcb510c9279689bd0e40c7","signature":"376201aa1ded9f3d54771a79c2f491add8ca09f0cf971df72056e13fe4b8eb39","impliedFormat":1},{"version":"70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","impliedFormat":1},{"version":"ae84439d1ae42b30ced3df38c4285f35b805be40dfc95b0647d0e59c70b11f97","impliedFormat":1},{"version":"82d3e00d56a71fc169f3cf9ec5f5ffcc92f6c0e67d4dfc130dafe9f1886d5515","impliedFormat":1},{"version":"4c9e5c8b75b6135ab9c2a9ba51fa07603db147da4dd20588a7a58bacde8f1605","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012","impliedFormat":1},{"version":"41436cd5d8dfba4a428037dab82c50cca9f45f7135c8cc6f8a924c8c4fd60765","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"d982cdd2610155b3cbcbfa62ccabcf2d2b739f821518ef113348d160ef0010d9","impliedFormat":1},{"version":"ffcc5500e77223169833fc6eb59b3a507944a1f89574e0a1276b0ea7fc22c4a4","impliedFormat":1},{"version":"22f13de9e2fe5f0f4724797abd3d34a1cdd6e47ef81fc4933fea3b8bf4ad524b","impliedFormat":1},{"version":"e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","impliedFormat":1},{"version":"cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","impliedFormat":1},{"version":"1de1ad6a1929317171d8cfcd55bb2732257680c1bf89bcd53e1d46a4d8dbda22","affectsGlobalScope":true,"impliedFormat":1},{"version":"89877326fed87fa9601cf958e3af77d5901e24c1ba9a4099f69325f0c0e39b0a","impliedFormat":1}],"options":{"composite":true,"declaration":true,"declarationDir":"./dist","module":199,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"useUnknownInCatchVariables":false},"fileIdsList":[[163],[51,90],[165,167],[143,145,146,147,148,149,150,151,152,153,154,155],[143,144,146,147,148,149,150,151,152,153,154,155],[144,145,146,147,148,149,150,151,152,153,154,155],[143,144,145,147,148,149,150,151,152,153,154,155],[143,144,145,146,148,149,150,151,152,153,154,155],[143,144,145,146,147,149,150,151,152,153,154,155],[143,144,145,146,147,148,150,151,152,153,154,155],[143,144,145,146,147,148,149,151,152,153,154,155],[143,144,145,146,147,148,149,150,152,153,154,155],[143,144,145,146,147,148,149,150,151,153,154,155],[143,144,145,146,147,148,149,150,151,152,154,155],[143,144,145,146,147,148,149,150,151,152,153,155],[143,144,145,146,147,148,149,150,151,152,153,154],[62,82,90,133,134],[47],[49],[50,55],[51,59,60,67,76],[51,52,59,67],[53,83],[54,55,60,68],[55,76],[56,57,59,67],[57],[58,59],[59],[59,60,61,76,82],[60,61],[62,67,76,82],[59,60,62,63,67,76,79,82],[62,64,76,79,82],[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89],[59,65],[66,82],[57,59,67,76],[68],[69],[49,70],[71,81],[72],[73],[59,74],[74,75,83,85],[59,76],[77],[78],[67,76,79],[80],[67,81],[73,82],[83],[76,84],[85],[86],[59,61,76,82,85,87],[76,88],[93,132],[93,117,132],[132],[93],[93,118,132],[93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131],[118,132],[76,88,90,136],[157],[62,76,90],[90,91],[60,90],[165],[162,166],[59,76,90],[164],[69,92,132,138,140,142,155],[158,159],[60,69,92,132,139],[156],[60,68,69,82,92,135,137],[51,141],[51,76],[140],[51]],"referencedMap":[[164,1],[161,2],[168,3],[144,4],[145,5],[143,6],[146,7],[147,8],[148,9],[149,10],[150,11],[151,12],[152,13],[153,14],[154,15],[155,16],[135,17],[47,18],[49,19],[50,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,31],[62,32],[63,33],[64,34],[90,35],[65,36],[66,37],[67,38],[68,39],[69,40],[70,41],[71,42],[72,43],[73,44],[74,45],[75,46],[76,47],[77,48],[78,49],[79,50],[80,51],[81,52],[82,53],[83,54],[84,55],[85,56],[86,57],[87,58],[88,59],[117,60],[118,61],[93,62],[96,62],[115,60],[116,60],[106,60],[105,63],[103,60],[98,60],[111,60],[109,60],[113,60],[97,60],[110,60],[114,60],[99,60],[100,60],[112,60],[94,60],[101,60],[102,60],[104,60],[108,60],[119,64],[107,60],[95,60],[132,65],[126,64],[128,66],[127,64],[120,64],[121,64],[123,64],[125,64],[129,66],[130,66],[122,66],[124,66],[137,67],[158,68],[133,69],[92,70],[91,71],[166,72],[167,73],[136,74],[165,75],[156,76],[160,77],[140,78],[159,79],[138,80],[142,81],[141,82]],"exportedModulesMap":[[164,1],[161,2],[168,3],[144,4],[145,5],[143,6],[146,7],[147,8],[148,9],[149,10],[150,11],[151,12],[152,13],[153,14],[154,15],[155,16],[135,17],[47,18],[49,19],[50,20],[51,21],[52,22],[53,23],[54,24],[55,25],[56,26],[57,27],[58,28],[59,29],[60,30],[61,31],[62,32],[63,33],[64,34],[90,35],[65,36],[66,37],[67,38],[68,39],[69,40],[70,41],[71,42],[72,43],[73,44],[74,45],[75,46],[76,47],[77,48],[78,49],[79,50],[80,51],[81,52],[82,53],[83,54],[84,55],[85,56],[86,57],[87,58],[88,59],[117,60],[118,61],[93,62],[96,62],[115,60],[116,60],[106,60],[105,63],[103,60],[98,60],[111,60],[109,60],[113,60],[97,60],[110,60],[114,60],[99,60],[100,60],[112,60],[94,60],[101,60],[102,60],[104,60],[108,60],[119,64],[107,60],[95,60],[132,65],[126,64],[128,66],[127,64],[120,64],[121,64],[123,64],[125,64],[129,66],[130,66],[122,66],[124,66],[137,67],[158,68],[133,69],[92,70],[91,71],[166,72],[167,73],[136,74],[165,75],[156,83],[159,79],[142,81],[141,84]],"semanticDiagnosticsPerFile":[164,163,161,168,144,145,143,146,147,148,149,150,151,152,153,154,155,134,135,47,49,50,51,52,53,54,55,56,57,58,59,60,61,48,89,62,63,64,90,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,169,117,118,93,96,115,116,106,105,103,98,111,109,113,97,110,114,99,100,112,94,101,102,104,108,119,107,95,132,131,126,128,127,120,121,123,125,129,130,122,124,137,157,158,162,133,92,91,166,167,136,165,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,8,45,42,43,44,1,46,156,160,139,140,159,138,142,141],"latestChangedDtsFile":"./dist/cli.d.ts"},"version":"4.9.5"}
|