@ms-cloudpack/cli 0.18.2 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.json CHANGED
@@ -2,7 +2,67 @@
2
2
  "name": "@ms-cloudpack/cli",
3
3
  "entries": [
4
4
  {
5
- "date": "Wed, 26 Oct 2022 08:13:10 GMT",
5
+ "date": "Wed, 02 Nov 2022 08:10:59 GMT",
6
+ "tag": "@ms-cloudpack/cli_v0.19.0",
7
+ "version": "0.19.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "dake.3601@gmail.com",
12
+ "package": "@ms-cloudpack/cli",
13
+ "commit": "8b827ce121b41d9f5ead1e290ae524ddd9e315a3",
14
+ "comment": "Restart tasks from API server"
15
+ },
16
+ {
17
+ "author": "dzearing@microsoft.com",
18
+ "package": "@ms-cloudpack/cli",
19
+ "commit": "3439c51ff4eb7cb624cf84fb2881a781eabca83f",
20
+ "comment": "Updating the cli to consume bundler plugin changes."
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@ms-cloudpack/cli",
25
+ "comment": "Bump @ms-cloudpack/bundler to v0.7.0",
26
+ "commit": "24143dab856b05b0b516edcb8a5cc72563ecb380"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@ms-cloudpack/cli",
31
+ "comment": "Bump @ms-cloudpack/create-express-app to v1.0.1",
32
+ "commit": "24143dab856b05b0b516edcb8a5cc72563ecb380"
33
+ },
34
+ {
35
+ "author": "beachball",
36
+ "package": "@ms-cloudpack/cli",
37
+ "comment": "Bump @ms-cloudpack/overlay to v0.8.0",
38
+ "commit": "24143dab856b05b0b516edcb8a5cc72563ecb380"
39
+ },
40
+ {
41
+ "author": "beachball",
42
+ "package": "@ms-cloudpack/cli",
43
+ "comment": "Bump @ms-cloudpack/package-utilities to v1.2.0",
44
+ "commit": "24143dab856b05b0b516edcb8a5cc72563ecb380"
45
+ }
46
+ ]
47
+ }
48
+ },
49
+ {
50
+ "date": "Tue, 01 Nov 2022 08:11:03 GMT",
51
+ "tag": "@ms-cloudpack/cli_v0.18.3",
52
+ "version": "0.18.3",
53
+ "comments": {
54
+ "patch": [
55
+ {
56
+ "author": "beachball",
57
+ "package": "@ms-cloudpack/cli",
58
+ "comment": "Bump @ms-cloudpack/bundler to v0.6.7",
59
+ "commit": "264fdebf12d3c964f2520feef232af76425cdc4c"
60
+ }
61
+ ]
62
+ }
63
+ },
64
+ {
65
+ "date": "Wed, 26 Oct 2022 08:13:21 GMT",
6
66
  "tag": "@ms-cloudpack/cli_v0.18.2",
7
67
  "version": "0.18.2",
8
68
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,33 @@
1
1
  # Change Log - @ms-cloudpack/cli
2
2
 
3
- This log was last generated on Wed, 26 Oct 2022 08:13:10 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 02 Nov 2022 08:10:59 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.19.0
8
+
9
+ Wed, 02 Nov 2022 08:10:59 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Restart tasks from API server (dake.3601@gmail.com)
14
+ - Updating the cli to consume bundler plugin changes. (dzearing@microsoft.com)
15
+ - Bump @ms-cloudpack/bundler to v0.7.0
16
+ - Bump @ms-cloudpack/create-express-app to v1.0.1
17
+ - Bump @ms-cloudpack/overlay to v0.8.0
18
+ - Bump @ms-cloudpack/package-utilities to v1.2.0
19
+
20
+ ## 0.18.3
21
+
22
+ Tue, 01 Nov 2022 08:11:03 GMT
23
+
24
+ ### Patches
25
+
26
+ - Bump @ms-cloudpack/bundler to v0.6.7
27
+
7
28
  ## 0.18.2
8
29
 
9
- Wed, 26 Oct 2022 08:13:10 GMT
30
+ Wed, 26 Oct 2022 08:13:21 GMT
10
31
 
11
32
  ### Patches
12
33
 
@@ -1,25 +1,24 @@
1
1
  import { bundlePackage } from '@ms-cloudpack/bundler';
2
2
  import path from 'path';
3
3
  export async function bundle() {
4
- const packagePath = process.cwd();
5
- const outputPath = path.join(packagePath, 'dist');
4
+ const inputPath = process.cwd();
5
+ const outputPath = path.join(inputPath, 'dist');
6
6
  const result = await bundlePackage({
7
- packagePath,
7
+ inputPath,
8
8
  outputPath,
9
- outputType: 'library',
10
9
  });
11
10
  if (!result) {
12
- throw new Error(`Unable to create bundle for "${packagePath}"`);
11
+ throw new Error(`Unable to create bundle for "${inputPath}"`);
13
12
  }
14
13
  if (result.errors?.length) {
15
- console.error(`${result.errors.length} errors while bundling "${packagePath}":`);
14
+ console.error(`${result.errors.length} errors while bundling "${inputPath}":`);
16
15
  console.error(result.errors);
17
- throw new Error(`Failed to bundle "${packagePath}" with ${result.errors.length} errors`);
16
+ throw new Error(`Failed to bundle "${inputPath}" with ${result.errors.length} errors`);
18
17
  }
19
18
  if (result.warnings?.length) {
20
- console.warn(`${result.warnings.length} warnings while bundling "${packagePath}":`);
19
+ console.warn(`${result.warnings.length} warnings while bundling "${inputPath}":`);
21
20
  console.warn(result.warnings);
22
21
  }
23
- console.log(`Bundled "${packagePath}" to "${outputPath}"`);
22
+ console.log(`Bundled "${inputPath}" to "${outputPath}"`);
24
23
  }
25
24
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/commands/bundle/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;QACjC,WAAW;QACX,UAAU;QACV,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,GAAG,CAAC,CAAC;KACjE;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,2BAA2B,WAAW,IAAI,CAAC,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,WAAW,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;KAC1F;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,6BAA6B,WAAW,IAAI,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC/B;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,SAAS,UAAU,GAAG,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../src/commands/bundle/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;QACjC,SAAS;QACT,UAAU;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,GAAG,CAAC,CAAC;KAC/D;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,2BAA2B,SAAS,IAAI,CAAC,CAAC;QAC/E,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;KACxF;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,6BAA6B,SAAS,IAAI,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC/B;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,SAAS,UAAU,GAAG,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import path from 'path';
2
- import { getPackageEntries } from '@ms-cloudpack/package-utilities';
3
- import { bundlePackage } from '@ms-cloudpack/bundler';
2
+ import { bundlePackage, getEntriesMapFromPackage } from '@ms-cloudpack/bundler';
4
3
  import { getBundleDetails } from '../../common/getBundleDetails.js';
5
4
  import { findImports } from './findImports.js';
6
5
  import { prepareOutputPath } from '../../common/prepareOutputPath.js';
@@ -17,17 +16,18 @@ export async function getImportsFromBundle(options) {
17
16
  // Ensure outputPath exists and is empty.
18
17
  await prepareOutputPath(outputPath);
19
18
  // Determine entries.
20
- const entries = await getPackageEntries(packagePath, { packages });
21
- if (entries.length === 0) {
19
+ const entriesMap = await getEntriesMapFromPackage({
20
+ inputPath: packagePath,
21
+ packages,
22
+ });
23
+ if (Object.keys(entriesMap).length === 0) {
22
24
  log.warn(`Package ${path.join(packagePath, 'package.json')} does not have any entries.`);
23
25
  return;
24
26
  }
25
27
  const bundleResult = await log.task(`[${displayName}] Bundle`, () => bundlePackage({
26
28
  packages,
27
- packagePath,
28
- entries,
29
+ inputPath: packagePath,
29
30
  outputPath,
30
- outputType: 'library',
31
31
  }));
32
32
  console.log(`<<< bundled ${displayName}`);
33
33
  if (bundleResult?.errors?.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"getImportsFromBundle.js","sourceRoot":"","sources":["../../../src/commands/init/getImportsFromBundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getImportsFromBundle.js","sourceRoot":"","sources":["../../../src/commands/init/getImportsFromBundle.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare class TaskRunner {
8
8
  private _pendingTasks;
9
9
  private _completedTasks;
10
10
  private _requiresRerun;
11
+ private _prevTasks;
11
12
  constructor();
12
13
  /**
13
14
  * The add method enqueues a Task and returns its Promise.
@@ -16,4 +17,24 @@ export declare class TaskRunner {
16
17
  * Rerun flag forces the Task to be run again.
17
18
  */
18
19
  add<TReturn>(task: Task<TReturn>, options?: TaskOptions): Promise<TReturn>;
20
+ /**
21
+ * The reset method removes a task from the TaskRunner
22
+ * and then adds it again through a previous execute function.
23
+ *
24
+ * This is useful for when a task needs to be forcibly rerun.
25
+ *
26
+ * It is intented to be used by the api server
27
+ * to rerun a task when it is stuck or it failed.
28
+ */
29
+ reset<TReturn>(id: string): Promise<TReturn>;
30
+ /**
31
+ * The remove method disposes a task if available
32
+ * and then removes it from the TaskRunner.
33
+ *
34
+ * This is useful when the state of a task needs to be cleared.
35
+ *
36
+ * It is intented to be used by the api server
37
+ * to clear the TaskRunner's state before reloading the page.
38
+ */
39
+ remove(id: string): void;
19
40
  }
@@ -12,6 +12,7 @@ export class TaskRunner {
12
12
  this._pendingTasks = new Map();
13
13
  this._completedTasks = new Map();
14
14
  this._requiresRerun = new Set();
15
+ this._prevTasks = new Map();
15
16
  }
16
17
  /**
17
18
  * The add method enqueues a Task and returns its Promise.
@@ -21,7 +22,11 @@ export class TaskRunner {
21
22
  */
22
23
  add(task, options) {
23
24
  const { name, id, execute } = task;
24
- const { rerun } = options || {};
25
+ const { rerun, watch } = options || {};
26
+ watch?.();
27
+ if (!this._prevTasks.get(id)) {
28
+ this._prevTasks.set(id, task);
29
+ }
25
30
  // Check if we are already completed the task with that id.
26
31
  const action = this._completedTasks.get(id);
27
32
  if (action !== undefined && !rerun) {
@@ -47,8 +52,6 @@ export class TaskRunner {
47
52
  try {
48
53
  taskResult = await this._queue.add(execute);
49
54
  completed = true;
50
- // If an existing bundle was created, dispose.
51
- // this._createdTasks.get(id)?.dispose?.();
52
55
  }
53
56
  catch (err) {
54
57
  // Save the error--it will be thrown later if a rerun was not requested.
@@ -71,5 +74,43 @@ export class TaskRunner {
71
74
  this._completedTasks.delete(id);
72
75
  return resultPromise;
73
76
  }
77
+ /**
78
+ * The reset method removes a task from the TaskRunner
79
+ * and then adds it again through a previous execute function.
80
+ *
81
+ * This is useful for when a task needs to be forcibly rerun.
82
+ *
83
+ * It is intented to be used by the api server
84
+ * to rerun a task when it is stuck or it failed.
85
+ */
86
+ reset(id) {
87
+ this.remove(id);
88
+ const prevTask = this._prevTasks.get(id);
89
+ if (prevTask === undefined) {
90
+ throw new Error(`Task not found: ${id}`);
91
+ }
92
+ return this.add(prevTask, { rerun: true });
93
+ }
94
+ /**
95
+ * The remove method disposes a task if available
96
+ * and then removes it from the TaskRunner.
97
+ *
98
+ * This is useful when the state of a task needs to be cleared.
99
+ *
100
+ * It is intented to be used by the api server
101
+ * to clear the TaskRunner's state before reloading the page.
102
+ */
103
+ remove(id) {
104
+ this._prevTasks
105
+ .get(id)
106
+ ?.dispose?.()
107
+ .catch(() => {
108
+ log(`Error disposing task: ${id}`);
109
+ });
110
+ this._prevTasks.get(id)?.clear?.();
111
+ this._requiresRerun.delete(id);
112
+ this._pendingTasks.delete(id);
113
+ this._completedTasks.delete(id);
114
+ }
74
115
  }
75
116
  //# sourceMappingURL=TaskRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../../src/commands/start/TaskRunner.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAI7B,MAAM,GAAG,GAAG,CAAC,GAAG,QAAmB,EAAE,EAAE;IACrC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,UAAU;IAQrB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAU,IAAmB,EAAE,OAAqB;QACrD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAEhC,2DAA2D;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAwB,CAAC;QACnE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;YAClC,GAAG,CAAC,sCAAsC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAChC;QAED,yDAAyD;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAiC,CAAC;QAC3E,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC7B;YACD,GAAG,CAAC,oCAAoC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC;SAChB;QAED,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;YAChC,IAAI,UAA+B,CAAC;YACpC,IAAI,SAAkB,CAAC;YACvB,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,GAAG;gBACD,uCAAuC;gBACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAI;oBACF,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5C,SAAS,GAAG,IAAI,CAAC;oBACjB,8CAA8C;oBAC9C,2CAA2C;iBAC5C;gBAAC,OAAO,GAAG,EAAE;oBACZ,wEAAwE;oBACxE,SAAS,GAAG,GAAG,CAAC;iBACjB;aACF,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAEtC,GAAG,CAAC,mBAAmB,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YAEtC,4BAA4B;YAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE9B,IAAI,SAAS,EAAE;gBACb,yBAAyB;gBACzB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBACzC,uBAAuB;gBACvB,OAAO,UAAqB,CAAC;aAC9B;YAED,0EAA0E;YAC1E,MAAM,SAAS,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEhC,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../../src/commands/start/TaskRunner.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,42 @@
1
1
  import { bundlePackage } from '@ms-cloudpack/bundler';
2
2
  import { readJson, writeJson } from '@ms-cloudpack/json-utilities';
3
3
  import path from 'path';
4
+ import fs from 'fs';
4
5
  import { prepareOutputPath } from '../../common/prepareOutputPath.js';
5
6
  const log = (...messages) => {
6
7
  console.log(`BundleTask:`, ...messages);
7
8
  };
8
9
  export function createBundleTask(bundleRequest, options) {
9
- const { id, packageName, version, outputPath, packagePath } = bundleRequest;
10
- const { force, rebuild } = options || {};
10
+ const { id, packageName, version, outputPath, packagePath, isExternal } = bundleRequest;
11
+ const { force } = options || {};
11
12
  return {
12
13
  name: `Bundle ${packageName}@${version}`,
13
14
  id,
15
+ dir: `${path.join(packagePath, 'src')}`,
16
+ watch: !isExternal,
14
17
  async execute() {
15
18
  let bundleResult = bundleRequest;
16
19
  await prepareOutputPath(outputPath);
17
20
  log(`Finished ensureDir: "${packageName}@${version}"`);
18
- if (rebuild && bundleRequest.result?.rebuild) {
21
+ if (!force && bundleRequest.result?.rebuild) {
19
22
  bundleResult.result = await bundleRequest.result.rebuild();
23
+ log(`Rebuilt: "${packageName}@${version}"`);
20
24
  }
21
25
  else {
22
26
  bundleResult = await createBundle(bundleRequest, force);
27
+ log(`Bundled: "${packageName}@${version}"`);
23
28
  }
24
29
  return bundleResult;
25
30
  },
31
+ clear: () => {
32
+ bundleRequest.result?.dispose?.();
33
+ bundleRequest.result = undefined;
34
+ fs.rmSync(outputPath, { recursive: true, force: true });
35
+ },
36
+ onDispose: () => {
37
+ bundleRequest.result?.dispose?.();
38
+ },
39
+ getErrors: () => bundleRequest.result?.errors,
26
40
  getStartDescription: () => ({
27
41
  id,
28
42
  name: `Bundle ${packageName}@${version}`,
@@ -46,13 +60,13 @@ async function createBundle(bundleRequest, force) {
46
60
  // Only use cached result if it's successful.
47
61
  if (!isCacheUsable) {
48
62
  bundleRequest.result = await bundlePackage({
49
- packagePath,
63
+ inputPath: packagePath,
50
64
  outputPath,
51
- outputType: 'library',
52
65
  incremental: !isExternal,
53
66
  });
54
67
  // Write the result to disk.
55
68
  if (isExternal) {
69
+ bundleRequest.result.rawInput = bundleRequest.result.rawOutput = undefined;
56
70
  await writeJson(path.join(outputPath, 'result.json'), bundleRequest.result);
57
71
  }
58
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createBundleTask.js","sourceRoot":"","sources":["../../../src/commands/start/createBundleTask.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,MAAM,GAAG,GAAG,CAAC,GAAG,QAAmB,EAAE,EAAE;IACrC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,aAA4B,EAAE,OAA2B;IACxF,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;IAC5E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAEzC,OAAO;QACL,IAAI,EAAE,UAAU,WAAW,IAAI,OAAO,EAAE;QACxC,EAAE;QACF,KAAK,CAAC,OAAO;YACX,IAAI,YAAY,GAAG,aAAa,CAAC;YAEjC,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEpC,GAAG,CAAC,wBAAwB,WAAW,IAAI,OAAO,GAAG,CAAC,CAAC;YAEvD,IAAI,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE;gBAC5C,YAAY,CAAC,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aAC5D;iBAAM;gBACL,YAAY,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;aACzD;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1B,EAAE;YACF,IAAI,EAAE,UAAU,WAAW,IAAI,OAAO,EAAE;YACxC,SAAS,EAAE,WAAW,IAAI,EAAE;YAC5B,UAAU;SACX,CAAC;QACF,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE,CAChC,CAAC;YACC,EAAE;YACF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;YAClC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ;SAChB,CAAA;KAC3B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,aAA4B,EAAE,KAAe;IACvE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;IAE9D,2CAA2C;IAC3C,IAAI,UAAU,IAAI,CAAC,KAAK,EAAE;QACxB,aAAa,CAAC,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;KAC7E;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC;IAEjE,6CAA6C;IAC7C,IAAI,CAAC,aAAa,EAAE;QAClB,aAAa,CAAC,MAAM,GAAG,MAAM,aAAa,CAAC;YACzC,WAAW;YACX,UAAU;YACV,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,CAAC,UAAU;SACzB,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAI,UAAU,EAAE;YACd,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SAC7E;KACF;SAAM;QACL,GAAG,CAAC,8BAA8B,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC;KAC1F;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"createBundleTask.js","sourceRoot":"","sources":["../../../src/commands/start/createBundleTask.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { execSync } from 'child_process';
7
7
  import { TaskRunner } from './TaskRunner.js';
8
8
  import { getCachePath } from '../../common/getCachePath.js';
9
9
  import fsExtra from 'fs-extra';
10
+ import { startWatcher } from './startWatcher.js';
10
11
  /**
11
12
  * The api server handles the data pub/sub (for things like reporting build status)
12
13
  * and hosting the dashboard verb backend (for executing actions like loading vscode,
@@ -75,6 +76,36 @@ export async function startApiServer({ session }) {
75
76
  }
76
77
  }
77
78
  bus.publish([session.id, 'status'], sessionStats);
79
+ const addTask = (task, options) => {
80
+ if (task.watch) {
81
+ options = options || {};
82
+ options.watch = () => {
83
+ watcher.watch(task, { onSuccess: notifyReload });
84
+ };
85
+ }
86
+ return taskRunner.add({
87
+ ...task,
88
+ execute: async () => {
89
+ reportStart({
90
+ ...task.getStartDescription?.(),
91
+ id: task.id,
92
+ });
93
+ let taskResult;
94
+ try {
95
+ taskResult = await task.execute();
96
+ }
97
+ catch (err) {
98
+ // no-op
99
+ }
100
+ reportEnd({
101
+ ...task.getEndDescription?.(taskResult),
102
+ id: task.id,
103
+ });
104
+ return taskResult;
105
+ },
106
+ }, options);
107
+ };
108
+ const watcher = startWatcher(addTask);
78
109
  // Create a websocket server which listens for subscriptions and verb requests,
79
110
  // and broadcasts the data to all connected clients.
80
111
  const server = new WebSocketServer({ port }, () => {
@@ -129,14 +160,32 @@ export async function startApiServer({ session }) {
129
160
  execSync(`${openCommand} ${fullPath}`, { cwd: process.cwd() });
130
161
  break;
131
162
  }
132
- case 'restartTasks': {
163
+ case 'restartAllTasks': {
133
164
  // Update refresh version.
134
165
  session.refreshVersion++;
135
166
  console.log('ApiServer: Restarting all tasks');
167
+ // Clear entire local cache.
136
168
  fsExtra.emptyDirSync(getCachePath());
169
+ // All tasks can be removed as notifyReload()
170
+ // will cause the client to add the tasks again.
171
+ allTasks.forEach((_, id) => {
172
+ taskRunner.remove(id);
173
+ });
137
174
  notifyReload();
138
175
  break;
139
176
  }
177
+ case 'restartTask': {
178
+ const id = request.data.id;
179
+ console.log(`ApiServer: Restarting task ${id}`);
180
+ // Individual tasks need to be reset instead of only removed
181
+ // as they need to be manually re-run.
182
+ (async () => {
183
+ await taskRunner.reset(id);
184
+ })().catch(() => {
185
+ console.log(`ApiServer: Failed to restart task ${id}`);
186
+ });
187
+ break;
188
+ }
140
189
  }
141
190
  }
142
191
  catch (err) {
@@ -167,27 +216,7 @@ export async function startApiServer({ session }) {
167
216
  port,
168
217
  notifyReload,
169
218
  addTask: (task, options) => {
170
- return taskRunner.add({
171
- ...task,
172
- execute: async () => {
173
- reportStart({
174
- ...task.getStartDescription?.(),
175
- id: task.id,
176
- });
177
- let taskResult;
178
- try {
179
- taskResult = await task.execute();
180
- }
181
- catch (err) {
182
- // no-op
183
- }
184
- reportEnd({
185
- ...task.getEndDescription?.(taskResult),
186
- id: task.id,
187
- });
188
- return taskResult;
189
- },
190
- }, options);
219
+ return addTask(task, options);
191
220
  },
192
221
  close: () => new Promise((resolve, reject) => {
193
222
  server.clients.forEach((socket) => socket.terminate());
@@ -1 +1 @@
1
- {"version":3,"file":"startApiServer.js","sourceRoot":"","sources":["../../../src/commands/start/startApiServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startApiServer.js","sourceRoot":"","sources":["../../../src/commands/start/startApiServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,SAAS,EAAE,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUjD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAE,OAAO,EAAwB;IACpE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAiB;QACjC,MAAM,EAAE,MAAM;QAEd,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC;QAEb,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,CAAC;KACjB,CAAC;IAEF,MAAM,QAAQ,GAAiC,IAAI,GAAG,EAAE,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAEpC,SAAS,WAAW,CAAC,SAA+B;QAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEjC,IAAI,CAAC,cAAc,EAAE;YACnB,YAAY,CAAC,UAAU,EAAE,CAAC;SAC3B;QAED,IAAI,cAAc,EAAE,MAAM,KAAK,UAAU,EAAE;YACzC,YAAY,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;YAC/D,YAAY,CAAC,aAAa,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;SACpE;QAED,YAAY,CAAC,cAAc,EAAE,CAAC;QAC9B,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;QAEhC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE;YACzB,GAAG,SAAS;YACZ,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;QAClD,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,SAAS,SAAS,CAAC,OAA2B;QAC5C,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEjC,IAAI,cAAc,EAAE;YAClB,YAAY,CAAC,cAAc,EAAE,CAAC;YAC9B,YAAY,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;YACxD,YAAY,CAAC,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;YAE5D,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;gBACvB,GAAG,cAAc;gBACjB,GAAG,OAAO;gBACV,MAAM,EAAE,UAAU;gBAClB,oBAAoB,EAAE,GAAG,GAAG,cAAc,CAAC,SAAS;gBACpD,WAAW,EAAE,GAAG;aACjB,CAAC,CAAC;YAEH,IAAI,YAAY,CAAC,cAAc,KAAK,CAAC,EAAE;gBACrC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;aAC9B;YAED,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;SACvF;IACH,CAAC;IAED,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;IAElD,MAAM,OAAO,GAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACtD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE;gBACnB,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC;SACH;QAED,OAAO,UAAU,CAAC,GAAG,CACnB;YACE,GAAG,IAAI;YACP,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,WAAW,CAAC;oBACV,GAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE;oBAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC;gBAEf,IAAI;oBACF,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;iBACnC;gBAAC,OAAO,GAAG,EAAE;oBACZ,QAAQ;iBACT;gBAED,SAAS,CAAC;oBACR,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC;oBACvC,EAAE,EAAE,IAAI,CAAC,EAAE;iBACU,CAAC,CAAC;gBAEzB,OAAO,UAAU,CAAC;YACpB,CAAC;SACF,EACD,OAAO,CACR,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtC,+EAA+E;IAC/E,oDAAoD;IACpD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;QAChD,qDAAqD;IACvD,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAiB,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;QAElD,8CAA8C;QAE9C,8DAA8D;QAC9D,SAAS,WAAW,CAAC,OAAY;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CACH,CAAC;QAEF,MAAM;aACH,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACzB,IAAI;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAoD,CAAC;gBAElG,mFAAmF;gBAEnF,QAAQ,OAAO,CAAC,IAAI,EAAE;oBACpB,KAAK,WAAW,CAAC,CAAC;wBAChB,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;wBAEpD,WAAW,CAAC,GAAG,CACb,EAAY,EACZ,GAAG,CAAC,SAAS,CACX,gBAA4B;wBAC5B,uGAAuG;wBACvG,CAAC,IAAS,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CACjF,CACF,CAAC;wBAEF,MAAM;qBACP;oBAED,KAAK,aAAa,CAAC,CAAC;wBAClB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAwB,CAAC;wBACjD,IAAI,EAAE,EAAE;4BACN,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAEpC,IAAI,OAAO,EAAE;gCACX,OAAO,EAAE,CAAC;gCACV,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;6BACxB;yBACF;wBAED,MAAM;qBACP;oBAED,KAAK,YAAY,CAAC,CAAC;wBACjB,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;wBACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAkB,EAAE,YAAsB,CAAC,CAAC;wBAEvE,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;wBACrD,QAAQ,CAAC,eAAe,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC9E,MAAM;qBACP;oBAED,KAAK,MAAM,CAAC,CAAC;wBACX,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;wBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAkB,EAAE,YAAsB,CAAC,CAAC;wBAEvE,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;wBACzC,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;wBAEhE,QAAQ,CAAC,GAAG,WAAW,IAAI,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBAC/D,MAAM;qBACP;oBAED,KAAK,iBAAiB,CAAC,CAAC;wBACtB,0BAA0B;wBAC1B,OAAO,CAAC,cAAc,EAAE,CAAC;wBACzB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;wBAE/C,4BAA4B;wBAC5B,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;wBAErC,6CAA6C;wBAC7C,gDAAgD;wBAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;4BACzB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACxB,CAAC,CAAC,CAAC;wBACH,YAAY,EAAE,CAAC;wBACf,MAAM;qBACP;oBAED,KAAK,aAAa,CAAC,CAAC;wBAClB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAY,CAAC;wBAErC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;wBAEhD,4DAA4D;wBAC5D,sCAAsC;wBACtC,CAAC,KAAK,IAAI,EAAE;4BACV,MAAM,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC7B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;4BACd,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;wBACzD,CAAC,CAAC,CAAC;wBAEH,MAAM;qBACP;iBACF;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACnD,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAChB,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE;gBACpC,CAAC,EAAE,CAAC;aACL;QACH,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAiB,EAAE,EAAE;YAC3C,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE;gBACxC,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;iBAChC,CAAC,CACH,CAAC;aACH;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,kBAAkB,IAAI,EAAE;QAC7B,IAAI;QAEJ,YAAY;QAEZ,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACzB,OAAO,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;KACL,CAAC;AACJ,CAAC"}
@@ -4,7 +4,6 @@ import { slash } from '@ms-cloudpack/path-string-parsing';
4
4
  import path from 'path';
5
5
  import { parseRequestInfo } from './parseRequestInfo.js';
6
6
  import { createBundleTask } from './createBundleTask.js';
7
- import { startWatcher } from './startWatcher.js';
8
7
  import { getBundleDetails } from '../../common/getBundleDetails.js';
9
8
  import { isExternalPackage } from '@ms-cloudpack/package-utilities';
10
9
  const log = (...messages) => {
@@ -19,13 +18,12 @@ const error = (...messages) => {
19
18
  * on each request.
20
19
  */
21
20
  export async function startBundleServer({ session, apiServer, }) {
22
- const watcher = startWatcher(apiServer);
23
21
  const { server, port } = await createExpressApp({
24
22
  portRange: [5500, 5501, 5502, 5503],
25
23
  setupCallback: (app) => {
26
24
  // Set up the express app routes.
27
25
  app.get('*', (req, res) => {
28
- handleRequest(req, res, session, apiServer, watcher).catch((err) => {
26
+ handleRequest(req, res, session, apiServer).catch((err) => {
29
27
  error(err?.stack || err);
30
28
  res.status(500).send(`Error bundling: ${err}`);
31
29
  });
@@ -41,7 +39,7 @@ export async function startBundleServer({ session, apiServer, }) {
41
39
  url,
42
40
  };
43
41
  }
44
- async function handleRequest(req, res, session, apiServer, watcher) {
42
+ async function handleRequest(req, res, session, apiServer) {
45
43
  const { resolveMap } = session;
46
44
  const requestPath = slash(req.path.substring(1));
47
45
  const { packageName, version, bundled, filePath } = parseRequestInfo(requestPath);
@@ -104,10 +102,6 @@ async function handleRequest(req, res, session, apiServer, watcher) {
104
102
  log(`Trying to bundle "${packageName}@${version}"`);
105
103
  const bundleTask = createBundleTask(taskResult, { force });
106
104
  await apiServer.addTask(bundleTask, { rerun });
107
- // Set up the task's watcher for internal packages.
108
- if (!isExternal) {
109
- watcher.watch(taskResult);
110
- }
111
105
  // At this point we should have a Task completed.
112
106
  if ((taskResult.result?.errors?.length || 0) > 0) {
113
107
  res.status(500).type('json').send(taskResult);
@@ -1 +1 @@
1
- {"version":3,"file":"startBundleServer.js","sourceRoot":"","sources":["../../../src/commands/start/startBundleServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startBundleServer.js","sourceRoot":"","sources":["../../../src/commands/start/startBundleServer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- import type { ApiServer, BundleRequest } from '../../types.js';
2
- export declare function startWatcher(apiServer: ApiServer): {
3
- watch: (bundleRequest: BundleRequest) => void;
1
+ import type { ApiServer, Task } from '../../types.js';
2
+ export declare function startWatcher(addTask: ApiServer['addTask']): {
3
+ watch: <TReturn>(task: Task<TReturn>, options?: {
4
+ onSuccess?: () => void;
5
+ onDispose?: () => void;
6
+ }) => void;
4
7
  };
@@ -1,57 +1,56 @@
1
- import path from 'path';
2
1
  import chokidar from 'chokidar';
3
- import { createBundleTask } from './createBundleTask.js';
2
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
3
  const log = (...messages) => {
5
- console.log(`BundleWatcher:`, ...messages);
4
+ // console.log(`Watcher:`, ...messages);
6
5
  };
7
6
  const error = (...messages) => {
8
- console.error(`BundleWatcher:`, ...messages);
7
+ console.error(`Watcher:`, ...messages);
9
8
  };
10
- export function startWatcher(apiServer) {
9
+ export function startWatcher(addTask) {
11
10
  const watched = new Set();
12
11
  return {
13
- watch: (bundleRequest) => {
12
+ watch: (task, options) => {
13
+ const { id, name, dir } = task;
14
14
  // Have a single watcher per bundle request.
15
- if (watched.has(bundleRequest.id)) {
15
+ if (watched.has(id) || !dir) {
16
16
  return;
17
17
  }
18
- watched.add(bundleRequest.id);
19
- const { packageName, version, packagePath, outputPath } = bundleRequest;
20
- log(`Initializing file watcher for ${packageName}@${version}`);
18
+ watched.add(id);
19
+ log(`Initializing file watcher for ${name}`);
21
20
  // TODO: This is a bit of a hack. We should be able to use the watch API, but it doesn't seem to work.
22
- const watcher = chokidar.watch(path.join(packagePath, 'src')).on('change', (event) => {
23
- log(`Detected change "${event}", rebuilding "${packageName}@${version}"`);
24
- log(`[Start] >> Bundling "${packageName}@${version}" to "${outputPath}"`);
21
+ const watcher = chokidar.watch(dir).on('change', (event) => {
22
+ log(`Detected change "${event}", rebuilding "${name}"`);
25
23
  (async () => {
26
24
  // Start tracking work.
27
25
  let rebuilt = false;
28
26
  try {
29
- bundleRequest.result = (await apiServer.addTask(createBundleTask(bundleRequest, { rebuild: true }), { rerun: true })).result;
27
+ await addTask(task, { rerun: true });
30
28
  rebuilt = true;
31
29
  }
32
30
  catch (err) {
33
- error(`Error rebuilding "${packageName}@${version}":`, err?.stack || err);
31
+ error(`Error rebuilding "${name}":`, err?.stack || err);
34
32
  }
35
- if (rebuilt) {
36
- log(`[ End ] << Bundled "${packageName}@${version}" (${bundleRequest.result?.outputFiles?.length || 0} file(s), ${bundleRequest.result?.errors?.length || 0} errors)`);
37
- if (bundleRequest.result?.errors?.length === 0) {
38
- log(`Notifying rebuild: ${packageName}@${version}`);
39
- apiServer.notifyReload();
40
- }
33
+ const errors = task.getErrors?.();
34
+ if (rebuilt && !errors?.length) {
35
+ log(`Notifying rebuild: ${name}`);
36
+ options?.onSuccess?.();
37
+ }
38
+ else if (errors) {
39
+ log(`${name} ${errors.length} errors`);
41
40
  }
42
41
  })().catch(() => {
43
42
  // no-op
44
43
  });
45
44
  });
46
- bundleRequest.dispose = async () => {
45
+ task.dispose = async () => {
47
46
  try {
48
47
  await watcher.close();
49
48
  }
50
49
  catch {
51
50
  // ignore
52
51
  }
53
- watched.delete(bundleRequest.id);
54
- bundleRequest.result?.dispose?.();
52
+ task.onDispose?.();
53
+ watched.delete(id);
55
54
  };
56
55
  },
57
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"startWatcher.js","sourceRoot":"","sources":["../../../src/commands/start/startWatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startWatcher.js","sourceRoot":"","sources":["../../../src/commands/start/startWatcher.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,6DAA6D;AAC7D,MAAM,GAAG,GAAG,CAAC,GAAG,QAAmB,EAAE,EAAE;IACrC,wCAAwC;AAC1C,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,GAAG,QAAmB,EAAE,EAAE;IACvC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAA6B;IACxD,MAAM,OAAO,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEvC,OAAO;QACL,KAAK,EAAE,CAAU,IAAmB,EAAE,OAA4D,EAAE,EAAE;YACpG,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC/B,4CAA4C;YAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,OAAO;aACR;YAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,GAAG,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;YAE7C,sGAAsG;YACtG,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBACjE,GAAG,CAAC,oBAAoB,KAAK,kBAAkB,IAAI,GAAG,CAAC,CAAC;gBAExD,CAAC,KAAK,IAAI,EAAE;oBACV,uBAAuB;oBACvB,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,IAAI;wBACF,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBACrC,OAAO,GAAG,IAAI,CAAC;qBAChB;oBAAC,OAAO,GAAG,EAAE;wBACZ,KAAK,CAAC,qBAAqB,IAAI,IAAI,EAAG,GAAa,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;qBACpE;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBAClC,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;wBAC9B,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;wBAClC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;qBACxB;yBAAM,IAAI,MAAM,EAAE;wBACjB,GAAG,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;qBACxC;gBACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBACd,QAAQ;gBACV,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;gBACxB,IAAI;oBACF,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;iBACvB;gBAAC,MAAM;oBACN,SAAS;iBACV;gBAED,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBAEnB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { describe, it, expect } from '@jest/globals';
1
+ import { describe, it, expect, jest } from '@jest/globals';
2
2
  import { TaskRunner } from './TaskRunner.js';
3
3
  const tasks = [
4
4
  {
@@ -54,4 +54,27 @@ describe('addTask', () => {
54
54
  expect(await firstTask).toEqual(await secondTask);
55
55
  });
56
56
  });
57
+ describe('resetTask', () => {
58
+ it('reruns task', async () => {
59
+ const taskRunner = new TaskRunner();
60
+ const mockFunc = jest
61
+ .fn()
62
+ .mockReturnValueOnce(Promise.resolve('result1'))
63
+ .mockReturnValueOnce(Promise.resolve('result2'));
64
+ const task = {
65
+ name: 'Mock Task',
66
+ id: 'mock',
67
+ execute: mockFunc,
68
+ };
69
+ await taskRunner.add(task);
70
+ await taskRunner.reset('mock');
71
+ expect(mockFunc).toHaveBeenCalledTimes(2);
72
+ });
73
+ it('returns correct result by id', async () => {
74
+ const taskRunner = new TaskRunner();
75
+ const firstTask = await taskRunner.add(tasks[0]);
76
+ const secondTask = await taskRunner.reset(tasks[0].id);
77
+ expect(secondTask).toEqual(firstTask);
78
+ });
79
+ });
57
80
  //# sourceMappingURL=taskRunner.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taskRunner.test.js","sourceRoot":"","sources":["../../../src/commands/start/taskRunner.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taskRunner.test.js","sourceRoot":"","sources":["../../../src/commands/start/taskRunner.test.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.33.4"
8
+ "packageVersion": "7.33.5"
9
9
  }
10
10
  ]
11
11
  }
package/lib/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ResolveMap } from '@ms-cloudpack/package-utilities';
2
- import type { BundlerResult } from '@ms-cloudpack/bundler-types';
2
+ import type { BundleResult } from '@ms-cloudpack/bundler-types';
3
3
  import type { PackageJson } from 'type-fest';
4
4
  import type { HttpsConfig } from '@ms-cloudpack/create-express-app';
5
5
  export interface Session {
@@ -54,13 +54,11 @@ export interface BundleRequest {
54
54
  packagePath: string;
55
55
  outputPath: string;
56
56
  isExternal: boolean;
57
- result?: BundlerResult;
57
+ result?: BundleResult;
58
58
  isRebuildRequired?: boolean;
59
- dispose?: () => Promise<void>;
60
59
  }
61
60
  export interface BundleTaskOptions {
62
61
  force?: boolean;
63
- rebuild?: boolean;
64
62
  }
65
63
  export interface BundleServer {
66
64
  url: string;
@@ -112,12 +110,19 @@ export interface TaskDescription extends TaskStartDescription, TaskEndDescriptio
112
110
  export interface Task<TReturn> {
113
111
  name: string;
114
112
  id: string;
113
+ dir?: string;
115
114
  execute: () => Promise<TReturn | undefined>;
115
+ clear?: () => void;
116
+ watch?: boolean;
117
+ dispose?: () => Promise<void>;
118
+ onDispose?: () => void;
119
+ getErrors?: () => TaskError[] | undefined;
116
120
  getStartDescription?: () => TaskStartDescription;
117
121
  getEndDescription?: (result: TReturn | undefined) => TaskEndDescription;
118
122
  }
119
123
  export interface TaskOptions {
120
124
  rerun?: boolean;
125
+ watch?: () => void;
121
126
  }
122
127
  export interface PackageOverride {
123
128
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/cli",
3
- "version": "0.18.2",
3
+ "version": "0.19.0",
4
4
  "description": "The Cloudpack command line interface - a tool for managing fast inner and outer looping in web apps.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -16,12 +16,12 @@
16
16
  "cloudpack": "./bin/cloudpack.js"
17
17
  },
18
18
  "dependencies": {
19
- "@ms-cloudpack/bundler": "^0.6.6",
20
- "@ms-cloudpack/create-express-app": "^1.0.0",
19
+ "@ms-cloudpack/bundler": "^0.7.0",
20
+ "@ms-cloudpack/create-express-app": "^1.0.1",
21
21
  "@ms-cloudpack/data-bus": "^0.1.0",
22
22
  "@ms-cloudpack/json-utilities": "^0.0.4",
23
- "@ms-cloudpack/overlay": "^0.7.0",
24
- "@ms-cloudpack/package-utilities": "^1.1.0",
23
+ "@ms-cloudpack/overlay": "^0.8.0",
24
+ "@ms-cloudpack/package-utilities": "^1.2.0",
25
25
  "@ms-cloudpack/path-utilities": "^1.1.0",
26
26
  "@ms-cloudpack/path-string-parsing": "^1.0.0",
27
27
  "chokidar": "^3.5.3",