@ms-cloudpack/cli 0.4.6 → 0.6.1

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,82 @@
2
2
  "name": "@ms-cloudpack/cli",
3
3
  "entries": [
4
4
  {
5
- "date": "Wed, 31 Aug 2022 08:12:23 GMT",
5
+ "date": "Sun, 04 Sep 2022 08:14:28 GMT",
6
+ "tag": "@ms-cloudpack/cli_v0.6.1",
7
+ "version": "0.6.1",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "beachball",
12
+ "package": "@ms-cloudpack/cli",
13
+ "comment": "Bump @ms-cloudpack/bundler to v0.3.11",
14
+ "commit": "33c2ca948b1ea905fa5a09f56bd443724d638fe3"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@ms-cloudpack/cli",
19
+ "comment": "Bump @ms-cloudpack/package-utilities to v0.9.0",
20
+ "commit": "33c2ca948b1ea905fa5a09f56bd443724d638fe3"
21
+ }
22
+ ]
23
+ }
24
+ },
25
+ {
26
+ "date": "Sat, 03 Sep 2022 08:15:29 GMT",
27
+ "tag": "@ms-cloudpack/cli_v0.6.0",
28
+ "version": "0.6.0",
29
+ "comments": {
30
+ "minor": [
31
+ {
32
+ "author": "dake.3601@gmail.com",
33
+ "package": "@ms-cloudpack/cli",
34
+ "commit": "5edd43e769c3fa7fa1f2fb16952e0031f57cbb43",
35
+ "comment": "Add method of Task Runner deduplicates pending Tasks"
36
+ },
37
+ {
38
+ "author": "beachball",
39
+ "package": "@ms-cloudpack/cli",
40
+ "comment": "Bump @ms-cloudpack/bundler to v0.3.10",
41
+ "commit": "ec909bf967a54b174cb1d50e7e55bd4b3ed02884"
42
+ },
43
+ {
44
+ "author": "beachball",
45
+ "package": "@ms-cloudpack/cli",
46
+ "comment": "Bump @ms-cloudpack/package-utilities to v0.8.1",
47
+ "commit": "ec909bf967a54b174cb1d50e7e55bd4b3ed02884"
48
+ },
49
+ {
50
+ "author": "beachball",
51
+ "package": "@ms-cloudpack/cli",
52
+ "comment": "Bump @ms-cloudpack/path-utilities to v0.3.2",
53
+ "commit": "ec909bf967a54b174cb1d50e7e55bd4b3ed02884"
54
+ }
55
+ ]
56
+ }
57
+ },
58
+ {
59
+ "date": "Thu, 01 Sep 2022 08:12:24 GMT",
60
+ "tag": "@ms-cloudpack/cli_v0.5.0",
61
+ "version": "0.5.0",
62
+ "comments": {
63
+ "minor": [
64
+ {
65
+ "author": "dake.3601@gmail.com",
66
+ "package": "@ms-cloudpack/cli",
67
+ "commit": "3a3ed9727cf3a80c7656e0434febc250610b6600",
68
+ "comment": "Implementation of Task Runner"
69
+ },
70
+ {
71
+ "author": "beachball",
72
+ "package": "@ms-cloudpack/cli",
73
+ "comment": "Bump @ms-cloudpack/bundler to v0.3.9",
74
+ "commit": "d56c24adad069eb83c7437c25da1c919fb01098b"
75
+ }
76
+ ]
77
+ }
78
+ },
79
+ {
80
+ "date": "Wed, 31 Aug 2022 08:12:30 GMT",
6
81
  "tag": "@ms-cloudpack/cli_v0.4.6",
7
82
  "version": "0.4.6",
8
83
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,41 @@
1
1
  # Change Log - @ms-cloudpack/cli
2
2
 
3
- This log was last generated on Wed, 31 Aug 2022 08:12:23 GMT and should not be manually modified.
3
+ This log was last generated on Sun, 04 Sep 2022 08:14:28 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.6.1
8
+
9
+ Sun, 04 Sep 2022 08:14:28 GMT
10
+
11
+ ### Patches
12
+
13
+ - Bump @ms-cloudpack/bundler to v0.3.11
14
+ - Bump @ms-cloudpack/package-utilities to v0.9.0
15
+
16
+ ## 0.6.0
17
+
18
+ Sat, 03 Sep 2022 08:15:29 GMT
19
+
20
+ ### Minor changes
21
+
22
+ - Add method of Task Runner deduplicates pending Tasks (dake.3601@gmail.com)
23
+ - Bump @ms-cloudpack/bundler to v0.3.10
24
+ - Bump @ms-cloudpack/package-utilities to v0.8.1
25
+ - Bump @ms-cloudpack/path-utilities to v0.3.2
26
+
27
+ ## 0.5.0
28
+
29
+ Thu, 01 Sep 2022 08:12:24 GMT
30
+
31
+ ### Minor changes
32
+
33
+ - Implementation of Task Runner (dake.3601@gmail.com)
34
+ - Bump @ms-cloudpack/bundler to v0.3.9
35
+
7
36
  ## 0.4.6
8
37
 
9
- Wed, 31 Aug 2022 08:12:23 GMT
38
+ Wed, 31 Aug 2022 08:12:30 GMT
10
39
 
11
40
  ### Patches
12
41
 
@@ -0,0 +1,33 @@
1
+ export interface Task<TReturn> {
2
+ name: string;
3
+ id: string;
4
+ execute: () => Promise<TReturn>;
5
+ }
6
+ /**
7
+ * TaskRunner class manages the state of Tasks.
8
+ * This class is to be called by the api server.
9
+ */
10
+ export declare class TaskRunner {
11
+ private _queue;
12
+ private _pendingTasks;
13
+ private _completedTasks;
14
+ constructor();
15
+ /**
16
+ * The add method enqueues a Task and returns its Promise.
17
+ * If a Task with the same id has already been processed,
18
+ * it returns either the result or the promise.
19
+ */
20
+ add<TReturn>(task: Task<TReturn>): Promise<TReturn>;
21
+ /**
22
+ * Returns Task with id.
23
+ */
24
+ get(id: string): any;
25
+ /**
26
+ * Returns if Task with id is pending.
27
+ */
28
+ pending(id: string): Promise<any> | undefined;
29
+ /**
30
+ * Deletes Task with id.
31
+ */
32
+ delete(id: string): void;
33
+ }
@@ -0,0 +1,73 @@
1
+ import PQueue from 'p-queue';
2
+ const log = (...messages) => {
3
+ console.log(`TaskRunner:`, ...messages);
4
+ };
5
+ /**
6
+ * TaskRunner class manages the state of Tasks.
7
+ * This class is to be called by the api server.
8
+ */
9
+ export class TaskRunner {
10
+ constructor() {
11
+ this._queue = new PQueue({ concurrency: 10 });
12
+ this._pendingTasks = new Map();
13
+ this._completedTasks = new Map();
14
+ }
15
+ /**
16
+ * The add method enqueues a Task and returns its Promise.
17
+ * If a Task with the same id has already been processed,
18
+ * it returns either the result or the promise.
19
+ */
20
+ add(task) {
21
+ const { name, id, execute } = task;
22
+ // Check if we are already completed the task with that id.
23
+ const action = this._completedTasks.get(id);
24
+ if (action !== undefined) {
25
+ log(`Previous action found, returning: "${name}:${id}"`);
26
+ return action;
27
+ }
28
+ // Check if we are already running the task with that id.
29
+ const pending = this._pendingTasks.get(id);
30
+ if (pending !== undefined) {
31
+ log(`Previous action found, waiting: "${name}:${id}"`);
32
+ return pending;
33
+ }
34
+ // Create a promise to track the task.
35
+ const resultPromise = new Promise((resolve, reject) => {
36
+ this._queue
37
+ .add(execute)
38
+ .then((result) => {
39
+ // If an existing bundle was created, dispose.
40
+ // this._createdTasks.get(id)?.dispose?.();
41
+ // Update finished Tasks.
42
+ this._completedTasks.set(id, result);
43
+ resolve(result);
44
+ })
45
+ .catch(reject);
46
+ }).finally(() => {
47
+ this._pendingTasks.delete(id);
48
+ });
49
+ this._pendingTasks.set(id, resultPromise);
50
+ return resultPromise;
51
+ }
52
+ /**
53
+ * Returns Task with id.
54
+ */
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ get(id) {
57
+ return this._completedTasks.get(id);
58
+ }
59
+ /**
60
+ * Returns if Task with id is pending.
61
+ */
62
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
+ pending(id) {
64
+ return this._pendingTasks.get(id);
65
+ }
66
+ /**
67
+ * Deletes Task with id.
68
+ */
69
+ delete(id) {
70
+ this._completedTasks.delete(id);
71
+ }
72
+ }
73
+ //# sourceMappingURL=TaskRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../../src/commands/start/TaskRunner.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAG7B,MAAM,GAAG,GAAG,CAAC,GAAG,QAAmB,EAAE,EAAE;IACrC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC;AAQF;;;GAGG;AACH,MAAM,OAAO,UAAU;IAOrB;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;IACnC,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAU,IAAmB;QAC9B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEnC,2DAA2D;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,GAAG,CAAC,sCAAsC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;SACf;QAED,yDAAyD;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,GAAG,CAAC,oCAAoC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC;SAChB;QAED,sCAAsC;QACtC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7D,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,OAAO,CAAC;iBACZ,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,8CAA8C;gBAC9C,2CAA2C;gBAE3C,yBAAyB;gBACzB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAErC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAE1C,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,8DAA8D;IAC9D,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,8DAA8D;IAC9D,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import type { BundlerResult } from '@ms-cloudpack/bundler-types';
2
+ /**
3
+ * Tracks a given bundle result.
4
+ */
5
+ export interface BundleRequest {
6
+ id: string;
7
+ packageName: string;
8
+ version: string;
9
+ packagePath: string;
10
+ outputPath: string;
11
+ isExternal: boolean;
12
+ result?: BundlerResult;
13
+ isRebuildRequired?: boolean;
14
+ dispose?: () => void;
15
+ }
16
+ export declare function bundleTask(bundleRequest: BundleRequest, force?: boolean): Promise<BundleRequest>;
@@ -0,0 +1,32 @@
1
+ import { bundlePackage } from '@ms-cloudpack/bundler';
2
+ import { readJson, writeJson } from '@ms-cloudpack/json-utilities';
3
+ import path from 'path';
4
+ const log = (...messages) => {
5
+ console.log(`BundleTask:`, ...messages);
6
+ };
7
+ export async function bundleTask(bundleRequest, force) {
8
+ const { packagePath, outputPath, isExternal } = bundleRequest;
9
+ // Rehydrate the result if not incremental.
10
+ if (isExternal && !force) {
11
+ bundleRequest.result = await readJson(path.join(outputPath, 'result.json'));
12
+ }
13
+ const isCacheUsable = bundleRequest.result?.errors?.length === 0;
14
+ // Only use cached result if it's successful.
15
+ if (!isCacheUsable) {
16
+ bundleRequest.result = await bundlePackage({
17
+ packagePath,
18
+ outputPath,
19
+ outputType: 'library',
20
+ incremental: !isExternal,
21
+ });
22
+ // Write the result to disk.
23
+ if (isExternal) {
24
+ await writeJson(path.join(outputPath, 'result.json'), bundleRequest.result);
25
+ }
26
+ }
27
+ else {
28
+ log(`Bundle cached, returning: "${bundleRequest.packageName}@${bundleRequest.version}"`);
29
+ }
30
+ return bundleRequest;
31
+ }
32
+ //# sourceMappingURL=bundleTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundleTask.js","sourceRoot":"","sources":["../../../src/commands/start/bundleTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,GAAG,GAAG,CAAC,GAAG,QAAmB,EAAE,EAAE;IACrC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC;AAkBF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,aAA4B,EAAE,KAAe;IAC5E,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,4 +1,5 @@
1
1
  import type { Session } from './types.js';
2
+ import { type Task } from './TaskRunner.js';
2
3
  export interface SessionStats {
3
4
  status: 'idle' | 'pending';
4
5
  remainingTasks: number;
@@ -12,6 +13,10 @@ export interface ApiServer {
12
13
  notifyReload: () => void;
13
14
  reportStart: (options: TaskStartDescription) => void;
14
15
  reportEnd: (options: TaskEndDescription) => void;
16
+ addTask: <TReturn>(task: Task<TReturn>) => Promise<TReturn>;
17
+ getTask: (id: string) => any;
18
+ pendingTask: (id: string) => Promise<any> | undefined;
19
+ deleteTask: (id: string) => void;
15
20
  close: () => void;
16
21
  }
17
22
  interface TaskError {
@@ -4,6 +4,7 @@ import path from 'path';
4
4
  import WebSocket, { WebSocketServer } from 'ws';
5
5
  import { createDataBus } from '@ms-cloudpack/data-bus';
6
6
  import { execSync } from 'child_process';
7
+ import { TaskRunner } from './TaskRunner.js';
7
8
  /**
8
9
  * The api server handles the data pub/sub (for things like reporting build status)
9
10
  * and hosting the dashboard verb backend (for executing actions like loading vscode,
@@ -29,6 +30,7 @@ export async function startApiServer({ session }) {
29
30
  totalWarnings: 0,
30
31
  };
31
32
  const allTasks = new Map();
33
+ const taskRunner = new TaskRunner();
32
34
  bus.publish([session.id, 'status'], sessionStats);
33
35
  // Create a websocket server which listens for subscriptions and verb requests,
34
36
  // and broadcasts the data to all connected clients.
@@ -141,6 +143,18 @@ export async function startApiServer({ session }) {
141
143
  bus.publish([session.id, 'status-details'], { tasks: Array.from(allTasks.values()) });
142
144
  }
143
145
  },
146
+ addTask: (task) => {
147
+ return taskRunner.add(task);
148
+ },
149
+ getTask: (id) => {
150
+ return taskRunner.get(id);
151
+ },
152
+ pendingTask: (id) => {
153
+ return taskRunner.pending(id);
154
+ },
155
+ deleteTask: (id) => {
156
+ taskRunner.delete(id);
157
+ },
144
158
  close: () => server.close(),
145
159
  };
146
160
  }
@@ -1 +1 @@
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;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAoDzC;;;;;;;;;;;;;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;IAEzD,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;IAElD,+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;aACH,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE/C,mFAAmF;YAEnF,QAAQ,OAAO,CAAC,IAAI,EAAE;gBACpB,KAAK,WAAW,CAAC,CAAC;oBAChB,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;oBAEpD,WAAW,CAAC,GAAG,CACb,EAAE,EACF,GAAG,CAAC,SAAS,CACX,gBAAgB;oBAChB,8DAA8D;oBAC9D,CAAC,IAAS,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CACjF,CACF,CAAC;oBAEF,MAAM;iBACP;gBAED,KAAK,aAAa,CAAC,CAAC;oBAClB,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;oBAC5B,IAAI,EAAE,EAAE;wBACN,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAEpC,IAAI,OAAO,EAAE;4BACX,OAAO,EAAE,CAAC;4BACV,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;yBACxB;qBACF;oBAED,MAAM;iBACP;gBAED,KAAK,YAAY,CAAC,CAAC;oBACjB,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;oBACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBAEnD,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;oBACrD,QAAQ,CAAC,eAAe,QAAQ,IAAI,IAAI,IAAI,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC9E,MAAM;iBACP;gBAED,KAAK,MAAM,CAAC,CAAC;oBACX,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;oBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBAEnD,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;oBACzC,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;oBAEhE,QAAQ,CAAC,GAAG,WAAW,IAAI,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC/D,MAAM;iBACP;aACF;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,OAAO;QACL,GAAG,EAAE,kBAAkB,IAAI,EAAE;QAC7B,IAAI;QAEJ,YAAY,EAAE,GAAG,EAAE;YACjB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAiB,EAAE,EAAE;gBAC3C,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE;oBACxC,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;qBAChC,CAAC,CACH,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,WAAW,CAAC,SAA+B;YACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAEjC,IAAI,CAAC,cAAc,EAAE;gBACnB,YAAY,CAAC,UAAU,EAAE,CAAC;aAC3B;YAED,IAAI,cAAc,EAAE,MAAM,KAAK,UAAU,EAAE;gBACzC,YAAY,CAAC,WAAW,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;gBAC/D,YAAY,CAAC,aAAa,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;aACpE;YAED,YAAY,CAAC,cAAc,EAAE,CAAC;YAC9B,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC;YAEhC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE;gBACzB,GAAG,SAAS;gBACZ,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;YAEH,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;QACxF,CAAC;QAED,SAAS,EAAE,CAAC,GAAuB,EAAE,EAAE;YACrC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAEjC,IAAI,cAAc,EAAE;gBAClB,YAAY,CAAC,cAAc,EAAE,CAAC;gBAC9B,YAAY,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;gBACpD,YAAY,CAAC,aAAa,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;gBAExD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE;oBACnB,GAAG,cAAc;oBACjB,GAAG,GAAG;oBACN,MAAM,EAAE,UAAU;oBAClB,oBAAoB,EAAE,GAAG,GAAG,cAAc,CAAC,SAAS;oBACpD,WAAW,EAAE,GAAG;iBACjB,CAAC,CAAC;gBAEH,IAAI,YAAY,CAAC,cAAc,KAAK,CAAC,EAAE;oBACrC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;iBAC9B;gBAED,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;gBAClD,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;aACvF;QACH,CAAC;QAED,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"startApiServer.js","sourceRoot":"","sources":["../../../src/commands/start/startApiServer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- import { bundlePackage } from '@ms-cloudpack/bundler';
2
1
  import { createExpressApp } from '@ms-cloudpack/create-express-app';
3
- import { readJson, writeJson } from '@ms-cloudpack/json-utilities';
4
2
  import { isExternalPackage } from '@ms-cloudpack/package-utilities';
5
3
  import { isFolder, slash } from '@ms-cloudpack/path-utilities';
6
4
  import filenamify from 'filenamify';
@@ -10,6 +8,7 @@ import os from 'os';
10
8
  import path from 'path';
11
9
  import { parseRequestInfo } from './parseRequestInfo.js';
12
10
  import chokidar from 'chokidar';
11
+ import { bundleTask } from './bundleTask.js';
13
12
  const { ensureDir } = fsExtra;
14
13
  // const bundleLookupPath = path.join(os.tmpdir(), 'cloudpack-output', 'all-bundles.json');
15
14
  const log = (...messages) => {
@@ -21,8 +20,6 @@ const log = (...messages) => {
21
20
  * on each request.
22
21
  */
23
22
  export async function startBundleServer({ session, apiServer, }) {
24
- const createdBundles = {};
25
- const pendingBundles = {};
26
23
  const { resolveMap } = session;
27
24
  const { server, port } = await createExpressApp([5500, 5501, 5502, 5503], (app) => {
28
25
  // Set up the express app routes.
@@ -54,7 +51,7 @@ export async function startBundleServer({ session, apiServer, }) {
54
51
  }
55
52
  // If it's an unrecognized package, 404.
56
53
  if (!packagePath) {
57
- log(`BundleServer: Response (404): "${packageName}@${version}${filePath}"`);
54
+ log(`Response (404): "${packageName}@${version}${filePath}"`);
58
55
  res
59
56
  .status(404)
60
57
  .send(`The requested package "${packageName}@${version}${filePath}" was not found in the resolve map.`);
@@ -69,94 +66,87 @@ export async function startBundleServer({ session, apiServer, }) {
69
66
  });
70
67
  // Derive where the output should be.
71
68
  const outputPath = path.join(os.tmpdir(), 'cloudpack-output', `${filenamify(packageName)}-${version}-${bundleId}`);
72
- let action = createdBundles[bundleId];
73
- // Clear the created bundle if we think the bundle was created, but the folder doesn't exist.
74
- if (action && !isFolder(outputPath)) {
75
- action = undefined;
76
- delete createdBundles[bundleId];
77
- }
78
- // If we haven't completed this bundle, enqueue it or piggyback on an existing run.
79
- if (!action || force) {
80
- let pendingAction = pendingBundles[bundleId];
81
- // Either latch on to a pending request or create a new one.
82
- if (!pendingAction) {
83
- pendingAction = pendingBundles[bundleId] = new Promise((resolve) => {
84
- const bundleRequest = {
69
+ // Set up for bundling.
70
+ let action = apiServer.getTask(bundleId);
71
+ const pendingBundle = apiServer.pendingTask(bundleId);
72
+ const restart = action && !isFolder;
73
+ let bundling;
74
+ // Does it need to bundle?
75
+ if (!pendingBundle && (!action || restart)) {
76
+ // Bundling promise wrapper.
77
+ bundling = new Promise((resolve) => {
78
+ const bundleRequest = {
79
+ id: bundleId,
80
+ packageName,
81
+ version: version,
82
+ packagePath,
83
+ outputPath,
84
+ isExternal,
85
+ };
86
+ // Call to async helper so that we can await and call resolve.
87
+ (async () => {
88
+ // Start tracking work.
89
+ apiServer.reportStart({
85
90
  id: bundleId,
86
- packageName,
87
- version: version,
88
- packagePath,
91
+ name: `Bundle ${packageName}@${version}`,
92
+ inputPath: packagePath || '',
89
93
  outputPath,
90
- isExternal,
91
- };
92
- // Async helper so that we can await and call resolve.
93
- async function createBundle() {
94
- // Start tracking work.
95
- apiServer.reportStart({
96
- id: bundleId,
94
+ });
95
+ try {
96
+ log(`No previous action found, bundling: "${packageName}@${version}"`);
97
+ await ensureDir(outputPath);
98
+ log(`Finished ensureDir: "${packageName}@${version}"`);
99
+ log(`Trying to bundle "${packageName}@${version}"`);
100
+ if (restart) {
101
+ // TODO: Implement apiServer.restart
102
+ apiServer.deleteTask(bundleId);
103
+ }
104
+ await apiServer.addTask({
97
105
  name: `Bundle ${packageName}@${version}`,
98
- inputPath: packagePath || '',
99
- outputPath,
106
+ id: bundleId,
107
+ execute: () => bundleTask(bundleRequest, force),
100
108
  });
101
- try {
102
- log(`No previous action found, bundling: "${packageName}@${version}"`);
103
- await ensureDir(outputPath);
104
- log(`Finished ensureDir: "${packageName}@${version}"`);
105
- // This check shouldn't be required because we throw above if packagePath is undefined,
106
- // but TypeScript insists it is necessary.
107
- if (packagePath) {
108
- log(`Trying to bundle "${packageName}@${version}"`);
109
- await bundle(bundleRequest, force);
110
- // If this is going to be incremental, start a watcher to re-bundle when source
111
- // changes.
112
- if (!isExternal) {
113
- initializeFileWatcher(session, bundleId, outputPath, bundleRequest, pendingBundles, apiServer);
114
- log(`Bundle complete: ${outputPath}`);
115
- }
116
- }
117
- }
118
- catch (_) {
119
- /* no-op */
109
+ // If this is going to be incremental, start a watcher to re-bundle when source
110
+ // changes.
111
+ if (!isExternal) {
112
+ initializeFileWatcher(session, bundleId, outputPath, bundleRequest, apiServer);
113
+ log(`Bundle complete: ${outputPath}`);
120
114
  }
121
115
  }
122
- // Call the async function and tie it in with the promise.
123
- createBundle().then(() => {
124
- // If an existing bundle was created, dispose.
125
- if (createdBundles[bundleId]) {
126
- createdBundles[bundleId].dispose?.();
127
- }
128
- createdBundles[bundleId] = bundleRequest;
129
- delete pendingBundles[bundleId];
130
- // TODO: errors and warnings typings don't match up. We need to reconcile.
131
- apiServer.reportEnd({
132
- id: bundleId,
133
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
134
- errors: bundleRequest.result?.errors,
135
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
136
- warnings: bundleRequest.result?.warnings,
137
- });
138
- resolve(bundleRequest);
116
+ catch (_) {
117
+ /* no-op */
118
+ }
119
+ resolve(bundleRequest);
120
+ // TODO: errors and warnings typings don't match up. We need to reconcile.
121
+ apiServer.reportEnd({
122
+ id: bundleId,
123
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
124
+ errors: bundleRequest.result?.errors,
125
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
126
+ warnings: bundleRequest.result?.warnings,
139
127
  });
140
- });
141
- }
142
- else {
143
- log(`BundleServer: Previous action found, waiting: "${packageName}@${version}${filePath}"`);
144
- }
145
- action = await pendingAction;
128
+ })();
129
+ });
130
+ }
131
+ else if (pendingBundle) {
132
+ log(`Previous action found, waiting: "${packageName}@${version}${filePath}"`);
146
133
  }
147
134
  else {
148
- log(`BundleServer: Bundle cached, returning: "${packageName}@${version}${filePath}"`);
135
+ log(`Bundle cached, returning: "${packageName}@${version}${filePath}"`);
149
136
  }
137
+ await apiServer.pendingTask(bundleId);
138
+ await bundling;
139
+ action = apiServer.getTask(bundleId);
150
140
  // If this is a pre-built local package we haven't set up for incremental builds, set it up.
151
141
  if (!isExternal && !action.dispose) {
152
- initializeFileWatcher(session, bundleId, outputPath, action, pendingBundles, apiServer);
142
+ initializeFileWatcher(session, bundleId, outputPath, action, apiServer);
153
143
  }
154
144
  // At this point we should have an action completed.
155
145
  if ((action.result?.errors?.length || 0) > 0) {
156
146
  res.status(500).type('json').send(action);
157
147
  }
158
148
  else {
159
- log(`BundleServer: Bundle returning: "${packageName}@${version}${filePath}"`);
149
+ log(`Bundle returning: "${packageName}@${version}${filePath}"`);
160
150
  // Try to return the result.
161
151
  if (isExternal) {
162
152
  res.setHeader('Cache-Control', 'public, max-age=31536000');
@@ -166,52 +156,26 @@ export async function startBundleServer({ session, apiServer, }) {
166
156
  });
167
157
  });
168
158
  const url = `http://localhost:${port}`;
169
- log(`BundleServer: started (${url})`);
159
+ log(`started (${url})`);
170
160
  return {
171
161
  close: async () => {
172
- // await writeJson(bundleLookupPath, createdBundles);
173
162
  server.close();
174
163
  },
175
164
  port,
176
165
  url,
177
166
  };
178
167
  }
179
- async function bundle(bundleRequest, force) {
180
- const { packagePath, outputPath, isExternal } = bundleRequest;
181
- // Rehydrate the result if not incremental.
182
- if (isExternal && !force) {
183
- bundleRequest.result = await readJson(path.join(outputPath, 'result.json'));
184
- }
185
- const isCacheUsable = bundleRequest.result?.errors?.length === 0;
186
- // Only use cached result if it's successful.
187
- if (!isCacheUsable) {
188
- bundleRequest.result = await bundlePackage({
189
- packagePath,
190
- outputPath,
191
- outputType: 'library',
192
- incremental: !isExternal,
193
- });
194
- // Write the result to disk.
195
- if (isExternal) {
196
- await writeJson(path.join(outputPath, 'result.json'), bundleRequest.result);
197
- }
198
- }
199
- else {
200
- log(`Bundle cached, returning: "${bundleRequest.packageName}@${bundleRequest.version}"`);
201
- }
202
- return bundleRequest;
203
- }
204
- function initializeFileWatcher(session, bundleId, outputPath, bundleRequest, pendingBundles, apiServer) {
168
+ function initializeFileWatcher(session, bundleId, outputPath, bundleRequest, apiServer) {
205
169
  const { id, packageName, packagePath, version } = bundleRequest;
206
170
  let bundleOutput = bundleRequest.result;
207
171
  log(`Initializing file watcher for ${packageName}@${version}`);
208
172
  // TODO: This is a bit of a hack. We should be able to use the watch API, but it doesn't seem to work.
209
173
  const watcher = chokidar.watch(path.join(packagePath, 'src')).on('change', (event) => {
210
- if (!pendingBundles[id]) {
174
+ if (!apiServer.pendingTask(id)) {
211
175
  bundleRequest.isRebuildRequired = true;
212
176
  log(`Detected change "${event}", rebuilding "${packageName}@${version}"`);
213
177
  // eslint-disable-next-line no-async-promise-executor
214
- pendingBundles[id] = new Promise(async (resolveIncremental) => {
178
+ new Promise(async (resolveIncremental) => {
215
179
  do {
216
180
  bundleRequest.isRebuildRequired = false;
217
181
  log(`[Start] >> Bundling "${packageName}@${version}" to "${outputPath}"`);
@@ -224,7 +188,11 @@ function initializeFileWatcher(session, bundleId, outputPath, bundleRequest, pen
224
188
  outputPath,
225
189
  });
226
190
  if (!bundleOutput?.rebuild) {
227
- bundleOutput = (await bundle(bundleRequest)).result;
191
+ bundleOutput = (await apiServer.addTask({
192
+ name: `Bundle ${packageName}@${version}`,
193
+ id: bundleId,
194
+ execute: () => bundleTask(bundleRequest),
195
+ })).result;
228
196
  }
229
197
  else if (bundleOutput?.rebuild) {
230
198
  bundleOutput = await bundleOutput.rebuild();
@@ -239,7 +207,6 @@ function initializeFileWatcher(session, bundleId, outputPath, bundleRequest, pen
239
207
  });
240
208
  log(`[ End ] << Bundled "${packageName}@${version}" (${bundleOutput?.outputFiles?.length || 0} file(s), ${bundleOutput?.errors?.length || 0} errors)`);
241
209
  } while (bundleRequest.isRebuildRequired);
242
- delete pendingBundles[id];
243
210
  if (!bundleOutput?.errors?.length) {
244
211
  log(`Notifying rebuild: ${packageName}@${version}`);
245
212
  apiServer.notifyReload();
@@ -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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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,35 @@
1
+ import { describe, it, expect } from '@jest/globals';
2
+ import { TaskRunner } from './TaskRunner.js';
3
+ const tasks = [
4
+ {
5
+ name: 'Task 1',
6
+ id: '1',
7
+ execute: () => new Promise((r) => r('test value')),
8
+ },
9
+ {
10
+ name: 'Task 2',
11
+ id: '1',
12
+ execute: () => new Promise((r) => r('wrong value')),
13
+ },
14
+ ];
15
+ describe('addTask', () => {
16
+ it('verify it resolves the promise', async () => {
17
+ const taskRunner = new TaskRunner();
18
+ expect(await taskRunner.add(tasks[0])).toEqual('test value');
19
+ });
20
+ it('verify it returns previous completed task with same id', async () => {
21
+ const taskRunner = new TaskRunner();
22
+ await taskRunner.add(tasks[0]);
23
+ // Task Runner should return task with same id
24
+ // since previous task is already completed.
25
+ expect(await taskRunner.add(tasks[1])).toEqual('test value');
26
+ });
27
+ it('verify it returns previous pending task with same id', async () => {
28
+ const taskRunner = new TaskRunner();
29
+ taskRunner.add(tasks[0]);
30
+ // Even though task[0].excute() and task[1].execute() return different strings,
31
+ // since their tasks share id, the task runner will return the promise of the first.
32
+ expect(await taskRunner.add(tasks[1])).toEqual('test value');
33
+ });
34
+ });
35
+ //# sourceMappingURL=taskRunner.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskRunner.test.js","sourceRoot":"","sources":["../../../src/commands/start/taskRunner.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,UAAU,EAAa,MAAM,iBAAiB,CAAC;AAExD,MAAM,KAAK,GAAwB;IACjC;QACE,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,GAAG;QACP,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;KAC3D;IACD;QACE,IAAI,EAAE,QAAQ;QACd,EAAE,EAAE,GAAG;QACP,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;KAC5D;CACF,CAAC;AAEF,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAEpC,MAAM,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAEpC,MAAM,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/B,8CAA8C;QAC9C,4CAA4C;QAC5C,MAAM,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAEpC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzB,+EAA+E;QAC/E,oFAAoF;QACpF,MAAM,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.29.5"
8
+ "packageVersion": "7.30.0"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/cli",
3
- "version": "0.4.6",
3
+ "version": "0.6.1",
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,20 +16,21 @@
16
16
  "cloudpack": "./lib/cloudpack.js"
17
17
  },
18
18
  "dependencies": {
19
- "@ms-cloudpack/bundler": "^0.3.8",
19
+ "@ms-cloudpack/bundler": "^0.3.11",
20
20
  "@ms-cloudpack/create-express-app": "^0.1.0",
21
21
  "@ms-cloudpack/data-bus": "^0.1.0",
22
22
  "@ms-cloudpack/json-utilities": "^0.0.3",
23
23
  "@ms-cloudpack/overlay": "^0.1.1",
24
- "@ms-cloudpack/package-utilities": "^0.8.0",
25
- "@ms-cloudpack/path-utilities": "^0.3.1",
24
+ "@ms-cloudpack/package-utilities": "^0.9.0",
25
+ "@ms-cloudpack/path-utilities": "^0.3.2",
26
26
  "chokidar": "^3.5.3",
27
27
  "commander": "^9.1.0",
28
28
  "filenamify": "^5.1.0",
29
29
  "fs-extra": "^10.1.0",
30
+ "glob": "^8.0.0",
30
31
  "object-hash": "^3.0.0",
31
32
  "open": "^8.4.0",
32
- "glob": "^8.0.0",
33
+ "p-queue": "^7.3.0",
33
34
  "uuid": "^8.3.2"
34
35
  },
35
36
  "devDependencies": {
@@ -48,7 +49,10 @@
48
49
  "build:watch": "cloudpack-scripts build-watch",
49
50
  "build": "cloudpack-scripts build",
50
51
  "lint:update": "cloudpack-scripts lint-update",
51
- "lint": "cloudpack-scripts lint"
52
+ "lint": "cloudpack-scripts lint",
53
+ "test:update": "cloudpack-scripts test-update",
54
+ "test:watch": "cloudpack-scripts test-watch",
55
+ "test": "cloudpack-scripts test"
52
56
  },
53
57
  "files": [
54
58
  "/lib"