@journeyapps/cloudcode-build-agent 0.0.0-dev.9aa2c43 → 0.0.0-dev.c7d0f52

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 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 { bin_path, node_bin, npm_bin } = node_context;
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
- // debug(`Installing builder script "${builder_package}" for node ${node_version}`);
67
- const stream1 = (0, run_1.runCommand)(node_bin, [npm_bin, '--global', 'install', builder_package], {
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: process.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
- if (!jetpack.exists(builder_bin)) {
78
- console.error(`[${task.task_name}] ${builder_bin} not found`);
79
- throw new Error(`Builder script not found for task ${task.task_name}`);
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
- // --src ./ --out ./dist/echo --task echo --appId 'appid' --env 'testing' --backendId 'backendid' --backendUrl 'http://run.journeyapps.test'
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
- // builder_args.push(`--runInstallScripts`, 'true'); // TODO: handle this from feature flags somehow
99
+ builder_args.push(`--runInstallScripts`, 'true');
93
100
  console.debug(`[${task.task_name}] Trying: ${node_bin} ${builder_args.join(' ')}`);
94
- // debug(`Trying: ${node_bin} ${builder_args.join(' ')}`);
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
- // console.debug('----');
108
+ console.log(`[${task.task_name} - build]`, `Finished.`);
103
109
  }
104
110
  exports.buildTask = buildTask;
105
111
  //# sourceMappingURL=builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
package/dist/defs.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export declare const SUPPORTED_VERSIONS: {
2
2
  version: string;
3
3
  node: string;
4
+ runtime: string;
4
5
  builder_package: string;
5
6
  builder_script: string;
6
7
  }[];
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: '16.19.1',
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
- builder_package: '@journeyapps/cloudcode-build-legacy@1.12.0',
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
- builder_package: '@journeyapps/cloudcode-build-legacy@1.12.0',
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
- builder_package: '@journeyapps/cloudcode-build-legacy@1.12.0',
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
- builder_package: '@journeyapps/cloudcode-build-legacy@1.12.0',
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,4CAA4C;QAC7D,cAAc,EAAE,wBAAwB;KACzC;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,4CAA4C;QAC7D,cAAc,EAAE,wBAAwB;KACzC;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,4CAA4C;QAC7D,cAAc,EAAE,wBAAwB;KACzC;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,4CAA4C;QAC7D,cAAc,EAAE,wBAAwB;KACzC;CACF,CAAC"}
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"}
@@ -2,6 +2,7 @@ export type DetectedTask = {
2
2
  pkg_path: string;
3
3
  task_name: string;
4
4
  task_version: string;
5
+ task_runtime: string;
5
6
  required_node_version?: string;
6
7
  builder_package: string;
7
8
  builder_script: string;
@@ -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
- // if (matching?.node && semver.major(matching.node) !== semver.major(running_node_version)) {
76
- if (matching?.node && semver.parse(matching.node) !== semver.parse(running_node_version)) {
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
@@ -1 +1 @@
1
- {"version":3,"file":"detect_tasks.js","sourceRoot":"","sources":["../src/detect_tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect_tasks.js","sourceRoot":"","sources":["../src/detect_tasks.ts"],"names":[],"mappings":"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"}
@@ -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.log(`fetching ${url} into ${download}`);
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;
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
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;QAChD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC;KACjD,CAAC;AACJ,CAAC;AAPD,8BAOC;AAEM,KAAK,UAAU,yBAAyB,CAAC,GAAW,EAAE,IAAY;IACvE,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAkB,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE7C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QAC1C,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;KACzB;IAED,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,QAAQ,EAAE,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;SACrD;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,gEAAgE;QAC7G,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC3B,IAAI;gBACF,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBAEzC,GAAG,CAAC,OAAO,CAAC;oBACV,GAAG,EAAE,MAAM;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,+CAA+C;gBAC/C,6BAA6B;gBAC7B,0CAA0C;gBAC1C,IAAI;gBACJ,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oBACzB,OAAO,CAAC,KAAK,CAAC,+BAA+B,MAAM,OAAO,IAAI,EAAE,CAAC,CAAC;oBAClE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;iBAC7B;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;iBACnD;gBAED;;;;;;;;;;;;;;;;;kBAiBE;gBACF,4BAA4B;gBAE5B,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;aACb;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA1ED,8DA0EC"}
package/package.json CHANGED
@@ -1,13 +1,19 @@
1
1
  {
2
2
  "name": "@journeyapps/cloudcode-build-agent",
3
- "version": "0.0.0-dev.9aa2c43",
4
- "description": "",
3
+ "version": "0.0.0-dev.c7d0f52",
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
- "license": "MIT",
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
- ];
@@ -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
- }
@@ -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
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "@journeyapps-platform/micro-dev/tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "dist",
5
- "declarationDir": "dist",
6
- "rootDir": "src"
7
- },
8
- }
@@ -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"}