@ms-cloudpack/api-server 0.36.0 → 0.37.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.
Files changed (49) hide show
  1. package/lib/apis/ensurePackageBundled.d.ts +2 -0
  2. package/lib/apis/ensurePackageBundled.d.ts.map +1 -1
  3. package/lib/apis/ensurePackageBundled.js +12 -13
  4. package/lib/apis/ensurePackageBundled.js.map +1 -1
  5. package/lib/apis/openCodeEditor.d.ts.map +1 -1
  6. package/lib/apis/openCodeEditor.js +3 -2
  7. package/lib/apis/openCodeEditor.js.map +1 -1
  8. package/lib/data/busSources.d.ts +80 -80
  9. package/lib/types/BundleInfo.d.ts +25 -11
  10. package/lib/types/BundleInfo.d.ts.map +1 -1
  11. package/lib/types/BundleInfo.js.map +1 -1
  12. package/lib/types/TaskDescription.d.ts +64 -64
  13. package/lib/types/TaskEndDescription.d.ts +64 -64
  14. package/lib/types/TaskMessage.d.ts +34 -34
  15. package/lib/types/TaskMessageLocation.d.ts +6 -6
  16. package/lib/types/TaskMessageLocation.js +2 -2
  17. package/lib/types/TaskMessageLocation.js.map +1 -1
  18. package/lib/types/TaskOptions.d.ts +1 -0
  19. package/lib/types/TaskOptions.d.ts.map +1 -1
  20. package/lib/types/TaskOptions.js.map +1 -1
  21. package/lib/types/TaskResponse.d.ts +80 -80
  22. package/lib/types/TaskResult.d.ts +64 -64
  23. package/lib/utilities/TaskRunner.d.ts +4 -0
  24. package/lib/utilities/TaskRunner.d.ts.map +1 -1
  25. package/lib/utilities/TaskRunner.js +10 -2
  26. package/lib/utilities/TaskRunner.js.map +1 -1
  27. package/lib/utilities/bundleTask.d.ts.map +1 -1
  28. package/lib/utilities/bundleTask.js +3 -36
  29. package/lib/utilities/bundleTask.js.map +1 -1
  30. package/lib/utilities/createRemoteCacheClient.js +2 -2
  31. package/lib/utilities/createRemoteCacheClient.js.map +1 -1
  32. package/lib/utilities/ensureRemoteCacheEnabled.d.ts +1 -0
  33. package/lib/utilities/ensureRemoteCacheEnabled.d.ts.map +1 -1
  34. package/lib/utilities/formatBundleTaskResult.d.ts +4 -0
  35. package/lib/utilities/formatBundleTaskResult.d.ts.map +1 -0
  36. package/lib/utilities/formatBundleTaskResult.js +48 -0
  37. package/lib/utilities/formatBundleTaskResult.js.map +1 -0
  38. package/lib/utilities/getBundleInfo.d.ts.map +1 -1
  39. package/lib/utilities/getBundleInfo.js +12 -13
  40. package/lib/utilities/getBundleInfo.js.map +1 -1
  41. package/lib/utilities/getConsumedDependencies.js +2 -2
  42. package/lib/utilities/getConsumedDependencies.js.map +1 -1
  43. package/lib/utilities/getConsumedPaths.js +2 -2
  44. package/lib/utilities/getConsumedPaths.js.map +1 -1
  45. package/package.json +11 -11
  46. package/lib/utilities/formatBundleErrors.d.ts +0 -9
  47. package/lib/utilities/formatBundleErrors.d.ts.map +0 -1
  48. package/lib/utilities/formatBundleErrors.js +0 -15
  49. package/lib/utilities/formatBundleErrors.js.map +0 -1
@@ -5,45 +5,45 @@ export declare const ZodTaskResult: z.ZodObject<{
5
5
  source: z.ZodString;
6
6
  location: z.ZodOptional<z.ZodObject<{
7
7
  file: z.ZodString;
8
- line: z.ZodNumber;
9
- column: z.ZodNumber;
8
+ line: z.ZodOptional<z.ZodNumber>;
9
+ column: z.ZodOptional<z.ZodNumber>;
10
10
  }, "strip", z.ZodTypeAny, {
11
11
  file: string;
12
- line: number;
13
- column: number;
12
+ line?: number | undefined;
13
+ column?: number | undefined;
14
14
  }, {
15
15
  file: string;
16
- line: number;
17
- column: number;
16
+ line?: number | undefined;
17
+ column?: number | undefined;
18
18
  }>>;
19
19
  notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
20
20
  text: z.ZodString;
21
21
  location: z.ZodOptional<z.ZodObject<{
22
22
  file: z.ZodString;
23
- line: z.ZodNumber;
24
- column: z.ZodNumber;
23
+ line: z.ZodOptional<z.ZodNumber>;
24
+ column: z.ZodOptional<z.ZodNumber>;
25
25
  }, "strip", z.ZodTypeAny, {
26
26
  file: string;
27
- line: number;
28
- column: number;
27
+ line?: number | undefined;
28
+ column?: number | undefined;
29
29
  }, {
30
30
  file: string;
31
- line: number;
32
- column: number;
31
+ line?: number | undefined;
32
+ column?: number | undefined;
33
33
  }>>;
34
34
  }, "strip", z.ZodTypeAny, {
35
35
  text: string;
36
36
  location?: {
37
37
  file: string;
38
- line: number;
39
- column: number;
38
+ line?: number | undefined;
39
+ column?: number | undefined;
40
40
  } | undefined;
41
41
  }, {
42
42
  text: string;
43
43
  location?: {
44
44
  file: string;
45
- line: number;
46
- column: number;
45
+ line?: number | undefined;
46
+ column?: number | undefined;
47
47
  } | undefined;
48
48
  }>, "many">>;
49
49
  }, "strip", z.ZodTypeAny, {
@@ -51,15 +51,15 @@ export declare const ZodTaskResult: z.ZodObject<{
51
51
  source: string;
52
52
  location?: {
53
53
  file: string;
54
- line: number;
55
- column: number;
54
+ line?: number | undefined;
55
+ column?: number | undefined;
56
56
  } | undefined;
57
57
  notes?: {
58
58
  text: string;
59
59
  location?: {
60
60
  file: string;
61
- line: number;
62
- column: number;
61
+ line?: number | undefined;
62
+ column?: number | undefined;
63
63
  } | undefined;
64
64
  }[] | undefined;
65
65
  }, {
@@ -67,15 +67,15 @@ export declare const ZodTaskResult: z.ZodObject<{
67
67
  source: string;
68
68
  location?: {
69
69
  file: string;
70
- line: number;
71
- column: number;
70
+ line?: number | undefined;
71
+ column?: number | undefined;
72
72
  } | undefined;
73
73
  notes?: {
74
74
  text: string;
75
75
  location?: {
76
76
  file: string;
77
- line: number;
78
- column: number;
77
+ line?: number | undefined;
78
+ column?: number | undefined;
79
79
  } | undefined;
80
80
  }[] | undefined;
81
81
  }>, "many">>;
@@ -84,45 +84,45 @@ export declare const ZodTaskResult: z.ZodObject<{
84
84
  source: z.ZodString;
85
85
  location: z.ZodOptional<z.ZodObject<{
86
86
  file: z.ZodString;
87
- line: z.ZodNumber;
88
- column: z.ZodNumber;
87
+ line: z.ZodOptional<z.ZodNumber>;
88
+ column: z.ZodOptional<z.ZodNumber>;
89
89
  }, "strip", z.ZodTypeAny, {
90
90
  file: string;
91
- line: number;
92
- column: number;
91
+ line?: number | undefined;
92
+ column?: number | undefined;
93
93
  }, {
94
94
  file: string;
95
- line: number;
96
- column: number;
95
+ line?: number | undefined;
96
+ column?: number | undefined;
97
97
  }>>;
98
98
  notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
99
99
  text: z.ZodString;
100
100
  location: z.ZodOptional<z.ZodObject<{
101
101
  file: z.ZodString;
102
- line: z.ZodNumber;
103
- column: z.ZodNumber;
102
+ line: z.ZodOptional<z.ZodNumber>;
103
+ column: z.ZodOptional<z.ZodNumber>;
104
104
  }, "strip", z.ZodTypeAny, {
105
105
  file: string;
106
- line: number;
107
- column: number;
106
+ line?: number | undefined;
107
+ column?: number | undefined;
108
108
  }, {
109
109
  file: string;
110
- line: number;
111
- column: number;
110
+ line?: number | undefined;
111
+ column?: number | undefined;
112
112
  }>>;
113
113
  }, "strip", z.ZodTypeAny, {
114
114
  text: string;
115
115
  location?: {
116
116
  file: string;
117
- line: number;
118
- column: number;
117
+ line?: number | undefined;
118
+ column?: number | undefined;
119
119
  } | undefined;
120
120
  }, {
121
121
  text: string;
122
122
  location?: {
123
123
  file: string;
124
- line: number;
125
- column: number;
124
+ line?: number | undefined;
125
+ column?: number | undefined;
126
126
  } | undefined;
127
127
  }>, "many">>;
128
128
  }, "strip", z.ZodTypeAny, {
@@ -130,15 +130,15 @@ export declare const ZodTaskResult: z.ZodObject<{
130
130
  source: string;
131
131
  location?: {
132
132
  file: string;
133
- line: number;
134
- column: number;
133
+ line?: number | undefined;
134
+ column?: number | undefined;
135
135
  } | undefined;
136
136
  notes?: {
137
137
  text: string;
138
138
  location?: {
139
139
  file: string;
140
- line: number;
141
- column: number;
140
+ line?: number | undefined;
141
+ column?: number | undefined;
142
142
  } | undefined;
143
143
  }[] | undefined;
144
144
  }, {
@@ -146,15 +146,15 @@ export declare const ZodTaskResult: z.ZodObject<{
146
146
  source: string;
147
147
  location?: {
148
148
  file: string;
149
- line: number;
150
- column: number;
149
+ line?: number | undefined;
150
+ column?: number | undefined;
151
151
  } | undefined;
152
152
  notes?: {
153
153
  text: string;
154
154
  location?: {
155
155
  file: string;
156
- line: number;
157
- column: number;
156
+ line?: number | undefined;
157
+ column?: number | undefined;
158
158
  } | undefined;
159
159
  }[] | undefined;
160
160
  }>, "many">>;
@@ -164,15 +164,15 @@ export declare const ZodTaskResult: z.ZodObject<{
164
164
  source: string;
165
165
  location?: {
166
166
  file: string;
167
- line: number;
168
- column: number;
167
+ line?: number | undefined;
168
+ column?: number | undefined;
169
169
  } | undefined;
170
170
  notes?: {
171
171
  text: string;
172
172
  location?: {
173
173
  file: string;
174
- line: number;
175
- column: number;
174
+ line?: number | undefined;
175
+ column?: number | undefined;
176
176
  } | undefined;
177
177
  }[] | undefined;
178
178
  }[] | undefined;
@@ -181,15 +181,15 @@ export declare const ZodTaskResult: z.ZodObject<{
181
181
  source: string;
182
182
  location?: {
183
183
  file: string;
184
- line: number;
185
- column: number;
184
+ line?: number | undefined;
185
+ column?: number | undefined;
186
186
  } | undefined;
187
187
  notes?: {
188
188
  text: string;
189
189
  location?: {
190
190
  file: string;
191
- line: number;
192
- column: number;
191
+ line?: number | undefined;
192
+ column?: number | undefined;
193
193
  } | undefined;
194
194
  }[] | undefined;
195
195
  }[] | undefined;
@@ -199,15 +199,15 @@ export declare const ZodTaskResult: z.ZodObject<{
199
199
  source: string;
200
200
  location?: {
201
201
  file: string;
202
- line: number;
203
- column: number;
202
+ line?: number | undefined;
203
+ column?: number | undefined;
204
204
  } | undefined;
205
205
  notes?: {
206
206
  text: string;
207
207
  location?: {
208
208
  file: string;
209
- line: number;
210
- column: number;
209
+ line?: number | undefined;
210
+ column?: number | undefined;
211
211
  } | undefined;
212
212
  }[] | undefined;
213
213
  }[] | undefined;
@@ -216,15 +216,15 @@ export declare const ZodTaskResult: z.ZodObject<{
216
216
  source: string;
217
217
  location?: {
218
218
  file: string;
219
- line: number;
220
- column: number;
219
+ line?: number | undefined;
220
+ column?: number | undefined;
221
221
  } | undefined;
222
222
  notes?: {
223
223
  text: string;
224
224
  location?: {
225
225
  file: string;
226
- line: number;
227
- column: number;
226
+ line?: number | undefined;
227
+ column?: number | undefined;
228
228
  } | undefined;
229
229
  }[] | undefined;
230
230
  }[] | undefined;
@@ -30,5 +30,9 @@ export declare class TaskRunner extends EventEmitter {
30
30
  * to clear the TaskRunner's state before reloading the page.
31
31
  */
32
32
  remove(id: string): void;
33
+ /** Pauses the TaskRunner (for testing). */
34
+ pause(): void;
35
+ /** Starts or resumes the TaskRunner (for testing). */
36
+ start(): void;
33
37
  }
34
38
  //# sourceMappingURL=TaskRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskRunner.d.ts","sourceRoot":"","sources":["../../src/utilities/TaskRunner.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAOlC;;;GAGG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,UAAU,CAAyB;;IAY3C;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAiF1E;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAazB"}
1
+ {"version":3,"file":"TaskRunner.d.ts","sourceRoot":"","sources":["../../src/utilities/TaskRunner.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAOlC;;;GAGG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,UAAU,CAAyB;;IAY3C;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAiF1E;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAcxB,2CAA2C;IAC3C,KAAK,IAAI,IAAI;IAIb,sDAAsD;IACtD,KAAK,IAAI,IAAI;CAGd"}
@@ -25,7 +25,7 @@ export class TaskRunner extends EventEmitter {
25
25
  */
26
26
  add(task, options) {
27
27
  const { name, id, execute } = task;
28
- const { rerun, watch } = options || {};
28
+ const { rerun, watch, priority } = options || {};
29
29
  watch?.();
30
30
  if (!this._prevTasks.get(id)) {
31
31
  this._prevTasks.set(id, task);
@@ -66,7 +66,7 @@ export class TaskRunner extends EventEmitter {
66
66
  },
67
67
  // Removes void from return type.
68
68
  // Read more on: https://github.com/sindresorhus/p-queue/issues/175
69
- { throwOnTimeout: true });
69
+ { throwOnTimeout: true, priority });
70
70
  } while (this._requiresRerun.has(id));
71
71
  log(`Task finished: "${name}:${id}"`);
72
72
  // Delete from pending list.
@@ -106,5 +106,13 @@ export class TaskRunner extends EventEmitter {
106
106
  this._pendingTasks.delete(id);
107
107
  this._completedTasks.delete(id);
108
108
  }
109
+ /** Pauses the TaskRunner (for testing). */
110
+ pause() {
111
+ this._queue.pause();
112
+ }
113
+ /** Starts or resumes the TaskRunner (for testing). */
114
+ start() {
115
+ this._queue.start();
116
+ }
109
117
  }
110
118
  //# sourceMappingURL=TaskRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../src/utilities/TaskRunner.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TaskStartDescription } from '../types/TaskStartDescription.js';\nimport type { TaskEndDescription } from '../types/TaskEndDescription.js';\nimport type { TaskOptions } from '../types/TaskOptions.js';\nimport type { Task } from '../types/Task.js';\nimport PQueue from 'p-queue';\nimport EventEmitter from 'events';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst log = (...messages: unknown[]) => {\n // console.log(`TaskRunner:`, ...messages);\n};\n\n/**\n * TaskRunner class manages the state of Tasks.\n * This class is to be called by the api server.\n */\nexport class TaskRunner extends EventEmitter {\n private _queue: PQueue;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _pendingTasks: Map<string, Promise<any>>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _completedTasks: Map<string, any>;\n private _requiresRerun: Set<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _prevTasks: Map<string, Task<any>>;\n\n constructor() {\n super();\n\n this._queue = new PQueue({ concurrency: 10 });\n this._pendingTasks = new Map();\n this._completedTasks = new Map();\n this._requiresRerun = new Set();\n this._prevTasks = new Map();\n }\n\n /**\n * The add method enqueues a Task and returns its Promise.\n * If a Task with the same id has already been processed,\n * it returns either the result or the promise.\n * Rerun flag forces the Task to be run again.\n */\n add<TReturn>(task: Task<TReturn>, options?: TaskOptions): Promise<TReturn> {\n const { name, id, execute } = task;\n const { rerun, watch } = options || {};\n\n watch?.();\n\n if (!this._prevTasks.get(id)) {\n this._prevTasks.set(id, task);\n }\n\n // Check if we are already completed the task with that id.\n const action = this._completedTasks.get(id) as TReturn | undefined;\n if (action !== undefined && !rerun) {\n log(`Previous action found, returning: \"${name}:${id}\"`);\n return Promise.resolve(action);\n }\n\n // Check if we are already running the task with that id.\n const pending = this._pendingTasks.get(id) as Promise<TReturn> | undefined;\n if (pending !== undefined) {\n if (rerun) {\n this._requiresRerun.add(id);\n }\n log(`Previous action found, waiting: \"${name}:${id}\"`);\n return pending;\n }\n\n const resultPromise = (async () => {\n let taskResult: TReturn | undefined;\n\n do {\n // Delete from rerun list (if present).\n this._requiresRerun.delete(id);\n\n taskResult = await this._queue.add(\n async () => {\n const startDescription: TaskStartDescription = {\n ...task.getStartDescription?.(),\n id: task.id,\n };\n this.emit('executeStarted', startDescription);\n\n const result = await execute();\n\n const endDescription: TaskEndDescription = {\n ...task.getEndDescription?.(result),\n id: task.id,\n };\n this.emit('executeCompleted', endDescription);\n\n return result;\n },\n // Removes void from return type.\n // Read more on: https://github.com/sindresorhus/p-queue/issues/175\n { throwOnTimeout: true },\n );\n } while (this._requiresRerun.has(id));\n\n log(`Task finished: \"${name}:${id}\"`);\n\n // Delete from pending list.\n this._pendingTasks.delete(id);\n\n // Extra check to ensure that the task returned a value.\n // It should never throw, if it does we have a bug.\n if (taskResult === undefined) {\n throw new Error(`Task \"${name}:${id}\" returned undefined, without throwing an error, which was unexpected.`);\n }\n\n // Update finished Tasks.\n this._completedTasks.set(id, taskResult);\n\n return taskResult;\n })();\n\n this._pendingTasks.set(id, resultPromise);\n this._completedTasks.delete(id);\n\n return resultPromise;\n }\n\n /**\n * The remove method disposes a task if available\n * and then removes it from the TaskRunner.\n *\n * This is useful when the state of a task needs to be cleared.\n *\n * It is intended to be used by the api server\n * to clear the TaskRunner's state before reloading the page.\n */\n remove(id: string): void {\n this._prevTasks\n .get(id)\n ?.dispose?.()\n .catch(() => {\n log(`Error disposing task: ${id}`);\n });\n this._prevTasks.get(id)?.clear?.();\n this._prevTasks.delete(id);\n this._requiresRerun.delete(id);\n this._pendingTasks.delete(id);\n this._completedTasks.delete(id);\n }\n}\n"]}
1
+ {"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../src/utilities/TaskRunner.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TaskStartDescription } from '../types/TaskStartDescription.js';\nimport type { TaskEndDescription } from '../types/TaskEndDescription.js';\nimport type { TaskOptions } from '../types/TaskOptions.js';\nimport type { Task } from '../types/Task.js';\nimport PQueue from 'p-queue';\nimport EventEmitter from 'events';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst log = (...messages: unknown[]) => {\n // console.log(`TaskRunner:`, ...messages);\n};\n\n/**\n * TaskRunner class manages the state of Tasks.\n * This class is to be called by the api server.\n */\nexport class TaskRunner extends EventEmitter {\n private _queue: PQueue;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _pendingTasks: Map<string, Promise<any>>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _completedTasks: Map<string, any>;\n private _requiresRerun: Set<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _prevTasks: Map<string, Task<any>>;\n\n constructor() {\n super();\n\n this._queue = new PQueue({ concurrency: 10 });\n this._pendingTasks = new Map();\n this._completedTasks = new Map();\n this._requiresRerun = new Set();\n this._prevTasks = new Map();\n }\n\n /**\n * The add method enqueues a Task and returns its Promise.\n * If a Task with the same id has already been processed,\n * it returns either the result or the promise.\n * Rerun flag forces the Task to be run again.\n */\n add<TReturn>(task: Task<TReturn>, options?: TaskOptions): Promise<TReturn> {\n const { name, id, execute } = task;\n const { rerun, watch, priority } = options || {};\n\n watch?.();\n\n if (!this._prevTasks.get(id)) {\n this._prevTasks.set(id, task);\n }\n\n // Check if we are already completed the task with that id.\n const action = this._completedTasks.get(id) as TReturn | undefined;\n if (action !== undefined && !rerun) {\n log(`Previous action found, returning: \"${name}:${id}\"`);\n return Promise.resolve(action);\n }\n\n // Check if we are already running the task with that id.\n const pending = this._pendingTasks.get(id) as Promise<TReturn> | undefined;\n if (pending !== undefined) {\n if (rerun) {\n this._requiresRerun.add(id);\n }\n log(`Previous action found, waiting: \"${name}:${id}\"`);\n return pending;\n }\n\n const resultPromise = (async () => {\n let taskResult: TReturn | undefined;\n\n do {\n // Delete from rerun list (if present).\n this._requiresRerun.delete(id);\n\n taskResult = await this._queue.add(\n async () => {\n const startDescription: TaskStartDescription = {\n ...task.getStartDescription?.(),\n id: task.id,\n };\n this.emit('executeStarted', startDescription);\n\n const result = await execute();\n\n const endDescription: TaskEndDescription = {\n ...task.getEndDescription?.(result),\n id: task.id,\n };\n this.emit('executeCompleted', endDescription);\n\n return result;\n },\n // Removes void from return type.\n // Read more on: https://github.com/sindresorhus/p-queue/issues/175\n { throwOnTimeout: true, priority },\n );\n } while (this._requiresRerun.has(id));\n\n log(`Task finished: \"${name}:${id}\"`);\n\n // Delete from pending list.\n this._pendingTasks.delete(id);\n\n // Extra check to ensure that the task returned a value.\n // It should never throw, if it does we have a bug.\n if (taskResult === undefined) {\n throw new Error(`Task \"${name}:${id}\" returned undefined, without throwing an error, which was unexpected.`);\n }\n\n // Update finished Tasks.\n this._completedTasks.set(id, taskResult);\n\n return taskResult;\n })();\n\n this._pendingTasks.set(id, resultPromise);\n this._completedTasks.delete(id);\n\n return resultPromise;\n }\n\n /**\n * The remove method disposes a task if available\n * and then removes it from the TaskRunner.\n *\n * This is useful when the state of a task needs to be cleared.\n *\n * It is intended to be used by the api server\n * to clear the TaskRunner's state before reloading the page.\n */\n remove(id: string): void {\n this._prevTasks\n .get(id)\n ?.dispose?.()\n .catch(() => {\n log(`Error disposing task: ${id}`);\n });\n this._prevTasks.get(id)?.clear?.();\n this._prevTasks.delete(id);\n this._requiresRerun.delete(id);\n this._pendingTasks.delete(id);\n this._completedTasks.delete(id);\n }\n\n /** Pauses the TaskRunner (for testing). */\n pause(): void {\n this._queue.pause();\n }\n\n /** Starts or resumes the TaskRunner (for testing). */\n start(): void {\n this._queue.start();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bundleTask.d.ts","sourceRoot":"","sources":["../../src/utilities/bundleTask.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,eAAe,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAUvE,wBAAsB,UAAU,CAAC,MAAM,EAAE;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE;QACP,QAAQ,EAAE,uBAAuB,CAAC;QAClC,MAAM,EAAE,eAAe,CAAC;QACxB,UAAU,EAAE,UAAU,CAAC;QACvB,aAAa,EAAE,aAAa,CAAC;QAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CAAC;CACH,GAAG,OAAO,CAAC,aAAa,CAAC,CAsEzB"}
1
+ {"version":3,"file":"bundleTask.d.ts","sourceRoot":"","sources":["../../src/utilities/bundleTask.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,eAAe,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAqB,KAAK,YAAY,EAA+B,MAAM,6BAA6B,CAAC;AAChH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AASvE,wBAAsB,UAAU,CAAC,MAAM,EAAE;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE;QACP,QAAQ,EAAE,uBAAuB,CAAC;QAClC,MAAM,EAAE,eAAe,CAAC;QACxB,UAAU,EAAE,UAAU,CAAC;QACvB,aAAa,EAAE,aAAa,CAAC;QAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CAAC;CACH,GAAG,OAAO,CAAC,aAAa,CAAC,CA8BzB"}
@@ -2,18 +2,16 @@ import { bundle as bundleInternal, getEntriesMapFromPackage, getExternalsFromPac
2
2
  import { getPackageSettings } from '@ms-cloudpack/config';
3
3
  import { writeJson } from '@ms-cloudpack/json-utilities';
4
4
  import { getExportsMap } from '@ms-cloudpack/package-utilities';
5
- import { normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';
6
- import { bulletedList, formatPackageName, } from '@ms-cloudpack/task-reporter';
5
+ import { formatPackageName } from '@ms-cloudpack/task-reporter';
7
6
  import path from 'path';
8
7
  import { prepareOutputPath } from '../common/prepareOutputPath.js';
9
8
  import { diskCacheRatioMetricEventAggregator } from './diskCacheRatioMetricEventAggregator.js';
10
- import { formatBundleErrors } from './formatBundleErrors.js';
11
9
  import { getBundleInfo } from './getBundleInfo.js';
12
10
  import { getBundleLocation } from './getBundleLocation.js';
13
- import { getFileSizeSync } from './getFileSizeSync.js';
14
11
  import { isCachedResultValid } from './isCachedResultValid.js';
15
12
  import { readResultFromCache } from './readResultFromCache.js';
16
13
  import { saveResultToCache } from './saveResultToCache.js';
14
+ import { formatBundleTaskResult } from './formatBundleTaskResult.js';
17
15
  export async function bundleTask(params) {
18
16
  const { bundleRequest, options = {}, context } = params;
19
17
  const { packageName, version } = bundleRequest;
@@ -29,38 +27,7 @@ export async function bundleTask(params) {
29
27
  isCacheHit: !!bundleRequest.resultFromCache,
30
28
  isExternal: bundleRequest.isExternal,
31
29
  });
32
- const { result } = bundleRequest;
33
- if (!result) {
34
- return {
35
- status: 'fail',
36
- details: `[bundleTask] No result was found for "${packageName}@${version}"`,
37
- };
38
- }
39
- result.outputFiles ??= [];
40
- result.errors ??= [];
41
- result.warnings ??= [];
42
- if (!result.outputFiles.length && !result.errors?.length) {
43
- result.warnings.push({
44
- text: `No output files were found for "${packageName}" in "${result.outputPath}"`,
45
- source: 'bundleTask',
46
- });
47
- }
48
- return {
49
- status: result.errors.length ? 'fail' : 'complete',
50
- ...(result.errors?.length
51
- ? formatBundleErrors(result.errors)
52
- : {
53
- details: bulletedList([
54
- `Package: ${bundleRequest.packageName}@${bundleRequest.version}`,
55
- `Bundler: ${result.bundlerName || 'unknown'}`,
56
- `Input path: ${bundleRequest.packagePath}`,
57
- `Entries:`,
58
- Object.values(result.entries || {}),
59
- `Output path: ${result.outputPath}`,
60
- result.outputFiles?.map((file) => `${normalizeRelativePath(file.outputPath)} (${getFileSizeSync(path.resolve(result.outputPath, file.outputPath))})`),
61
- ]),
62
- }),
63
- };
30
+ return formatBundleTaskResult(bundleRequest);
64
31
  };
65
32
  if (reporter) {
66
33
  await reporter.runTask(taskName, executeBundle);
@@ -1 +1 @@
1
- {"version":3,"file":"bundleTask.js","sourceRoot":"","sources":["../../src/utilities/bundleTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGpH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAmB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,iBAAiB,GAGlB,MAAM,6BAA6B,CAAC;AAErC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAWhC;IACC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACxD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;IAC/C,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAE9C,MAAM,QAAQ,GAAG,UAAU,iBAAiB,CAAC;QAC3C,IAAI,EAAE,WAAW;QACjB,OAAO;KACR,CAAC,EAAE,CAAC;IAEL,eAAe,EAAE,WAAW,CAAC,kBAAkB,CAAC,mCAAmC,CAAC,CAAC;IAErF,MAAM,aAAa,GAAG,KAAK,IAAqC,EAAE;QAChE,MAAM,MAAM,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAElD,mCAAmC,EAAE,MAAM,CAAC;YAC1C,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe;YAC3C,UAAU,EAAE,aAAa,CAAC,UAAU;SACrC,CAAC,CAAC;QAEH,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;QAEjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,yCAAyC,WAAW,IAAI,OAAO,GAAG;aAC5E,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,WAAW,KAAK,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC;QAEvB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,mCAAmC,WAAW,SAAS,MAAM,CAAC,UAAU,GAAG;gBACjF,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;YAClD,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM;gBACvB,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC;gBACnC,CAAC,CAAC;oBACE,OAAO,EAAE,YAAY,CAAC;wBACpB,YAAY,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,OAAO,EAAE;wBAChE,YAAY,MAAM,CAAC,WAAW,IAAI,SAAS,EAAE;wBAC7C,eAAe,aAAa,CAAC,WAAW,EAAE;wBAC1C,UAAU;wBACV,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;wBACnC,gBAAgB,MAAM,CAAC,UAAU,EAAE;wBACnC,MAAM,CAAC,WAAW,EAAE,GAAG,CACrB,CAAC,IAAI,EAAE,EAAE,CACP,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,eAAe,CAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CACjD,GAAG,CACP;qBACF,CAAC;iBACH,CAAC;SACP,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,MAQrB;IACC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IACxD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAC1C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE5C,gDAAgD;IAChD,IAAI,KAAK,IAAI,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC5C,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,GAAG,aAAa,CAAC;IAEzG,MAAM,UAAU,GACd,aAAa,CAAC,UAAU;QACxB,CAAC,MAAM,iBAAiB,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3F,2CAA2C;IAC3C,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;QACjD,aAAa,CAAC,MAAM,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE;YAC3D,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,UAAU;QACrC,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QACjH,CAAC,CAAC,SAAS,CAAC;IAEd,yCAAyC;IACzC,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;QAChF,OAAO,CAAC,KAAK,CAAC,2BAA2B,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,eAAe,GAAG,KAAK,CAAC;QAEtC,6CAA6C;QAC7C,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAClC,aAAa,CAAC,MAAM,GAAG;gBACrB,GAAG,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,UAAU;gBAC3C,IAAI,EAAE,mBAAmB;aAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,GACrD,kBAAkB,CAAC;gBACjB,IAAI,EAAE,aAAa,CAAC,WAAW;gBAC/B,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,MAAM;aACP,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,mBAAmB,IAAI,EAAE,CAAC;YAElE,MAAM,mBAAmB,GAAG;gBAC1B,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,IAAI,EAAE,CAAC;gBACnD,GAAG,CAAC,wBAAwB,EAAE,mBAAmB,IAAI,EAAE,CAAC;aACzD,CAAC;YAEF,MAAM,aAAa,GAAkB;gBACnC,WAAW,EAAE,aAAa,CAAC,WAAW,IAAI,WAAW;gBACrD,eAAe,EAAE,cAAc;gBAC/B,SAAS,EAAE,WAAW;gBACtB,UAAU;gBACV,WAAW,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU;gBACtE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;gBACnD,OAAO,EAAE,MAAM,wBAAwB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC;gBAC5E,OAAO,EAAE,mBAAmB;gBAC5B,QAAQ,EAAE,MAAM,uBAAuB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC;aAC7E,CAAC;YAEF,MAAM,oBAAoB,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7E,aAAa,CAAC,MAAM,GAAG;gBACrB,GAAG,oBAAoB;gBACvB,UAAU,EAAE,aAAa,CAAC,UAAU,IAAI,UAAU;gBAClD,IAAI,EAAE,mBAAmB;aAC1B,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,4DAA4D;IAC5D,IAAI,mBAAmB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QAC9G,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAEjE,+EAA+E;QAC/E,iFAAiF;QACjF,2EAA2E;QAC3E,8CAA8C;QAC9C,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;QAEjE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC;YACrC,UAAU;YACV,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW;YAC7C,UAAU;YACV,UAAU;SACX,CAAC,CAAC;QAEH,aAAa,CAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;QAEvC,8DAA8D;QAC9D,mEAAmE;QACnE,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["import { bundle as bundleInternal, getEntriesMapFromPackage, getExternalsFromPackage } from '@ms-cloudpack/bundler';\nimport type { BundleOptions, CloudpackConfig, PackageDefinitionsCache } from '@ms-cloudpack/common-types';\nimport type { PackageHashes } from '@ms-cloudpack/package-hashes';\nimport { getPackageSettings } from '@ms-cloudpack/config';\nimport { writeJson } from '@ms-cloudpack/json-utilities';\nimport { getExportsMap, type ResolveMap } from '@ms-cloudpack/package-utilities';\nimport { normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport {\n bulletedList,\n formatPackageName,\n type TaskReporter,\n type TaskReporterTaskResult,\n} from '@ms-cloudpack/task-reporter';\nimport type { TelemetryClient } from '@ms-cloudpack/telemetry';\nimport path from 'path';\nimport { prepareOutputPath } from '../common/prepareOutputPath.js';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport type { BundleTaskOptions } from '../types/BundleTaskOptions.js';\nimport { diskCacheRatioMetricEventAggregator } from './diskCacheRatioMetricEventAggregator.js';\nimport { formatBundleErrors } from './formatBundleErrors.js';\nimport { getBundleInfo } from './getBundleInfo.js';\nimport { getBundleLocation } from './getBundleLocation.js';\nimport { getFileSizeSync } from './getFileSizeSync.js';\nimport { isCachedResultValid } from './isCachedResultValid.js';\nimport { readResultFromCache } from './readResultFromCache.js';\nimport { saveResultToCache } from './saveResultToCache.js';\n\nexport async function bundleTask(params: {\n bundleRequest: BundleRequest;\n options?: BundleTaskOptions;\n context: {\n packages: PackageDefinitionsCache;\n config: CloudpackConfig;\n resolveMap: ResolveMap;\n packageHashes: PackageHashes;\n reporter?: TaskReporter;\n telemetryClient?: TelemetryClient;\n };\n}): Promise<BundleRequest> {\n const { bundleRequest, options = {}, context } = params;\n const { packageName, version } = bundleRequest;\n const { reporter, telemetryClient } = context;\n\n const taskName = `Bundle ${formatPackageName({\n name: packageName,\n version,\n })}`;\n\n telemetryClient?.performance.registerAggregator(diskCacheRatioMetricEventAggregator);\n\n const executeBundle = async (): Promise<TaskReporterTaskResult> => {\n await bundle({ bundleRequest, context, options });\n\n diskCacheRatioMetricEventAggregator?.record({\n isCacheHit: !!bundleRequest.resultFromCache,\n isExternal: bundleRequest.isExternal,\n });\n\n const { result } = bundleRequest;\n\n if (!result) {\n return {\n status: 'fail',\n details: `[bundleTask] No result was found for \"${packageName}@${version}\"`,\n };\n }\n\n result.outputFiles ??= [];\n result.errors ??= [];\n result.warnings ??= [];\n\n if (!result.outputFiles.length && !result.errors?.length) {\n result.warnings.push({\n text: `No output files were found for \"${packageName}\" in \"${result.outputPath}\"`,\n source: 'bundleTask',\n });\n }\n\n return {\n status: result.errors.length ? 'fail' : 'complete',\n ...(result.errors?.length\n ? formatBundleErrors(result.errors)\n : {\n details: bulletedList([\n `Package: ${bundleRequest.packageName}@${bundleRequest.version}`,\n `Bundler: ${result.bundlerName || 'unknown'}`,\n `Input path: ${bundleRequest.packagePath}`,\n `Entries:`,\n Object.values(result.entries || {}),\n `Output path: ${result.outputPath}`,\n result.outputFiles?.map(\n (file) =>\n `${normalizeRelativePath(file.outputPath)} (${getFileSizeSync(\n path.resolve(result.outputPath, file.outputPath),\n )})`,\n ),\n ]),\n }),\n };\n };\n\n if (reporter) {\n await reporter.runTask(taskName, executeBundle);\n } else {\n await executeBundle();\n }\n\n return bundleRequest;\n}\n\nasync function bundle(params: {\n bundleRequest: BundleRequest;\n context: {\n packages: PackageDefinitionsCache;\n config: CloudpackConfig;\n packageHashes: PackageHashes;\n };\n options?: BundleTaskOptions;\n}): Promise<BundleRequest> {\n const { bundleRequest, context, options = {} } = params;\n const { config, packageHashes } = context;\n const { force, hash, sourceHash } = options;\n\n // If force is set, dispose the existing result.\n if (force && bundleRequest?.result?.dispose) {\n bundleRequest.result.dispose();\n bundleRequest.result = undefined;\n }\n\n const { packagePath, isExternal, isIncremental, disableSourceMaps, shouldGetBundleInfo } = bundleRequest;\n\n const outputPath =\n bundleRequest.outputPath ??\n (await getBundleLocation({ packagePath, shouldRecalculate: force, hash }, context)).path;\n\n // Rehydrate the result if not incremental.\n if (bundleRequest.result === undefined && !force) {\n bundleRequest.result = await readResultFromCache(outputPath, {\n inputPath: packagePath,\n });\n }\n\n const cacheValidationHash = !isExternal\n ? sourceHash || (await packageHashes.get({ packagePath, isSourceHashingEnabled: true, shouldRecalculate: true }))\n : undefined;\n\n // if the cached result is valid, use it.\n if (!force && isCachedResultValid({ bundleRequest, hash: cacheValidationHash })) {\n console.debug(`Using cached result for ${bundleRequest.packageName}@${bundleRequest.version}`);\n bundleRequest.resultFromCache = true;\n } else {\n bundleRequest.resultFromCache = false;\n\n // Only use cached result if it's successful.\n await prepareOutputPath(outputPath);\n\n if (bundleRequest.result?.rebuild) {\n bundleRequest.result = {\n ...(await bundleRequest.result.rebuild()),\n outputPath: bundleRequest.result.outputPath,\n hash: cacheValidationHash,\n };\n } else {\n const { userPackageSettings, generatedPackageSettings } =\n getPackageSettings({\n name: bundleRequest.packageName,\n version: bundleRequest.version,\n config,\n }) || {};\n const { bundlerType, bundlerOptions } = userPackageSettings || {};\n\n const inlinedDependencies = [\n ...(userPackageSettings?.inlinedDependencies || []),\n ...(generatedPackageSettings?.inlinedDependencies || []),\n ];\n\n const bundleOptions: BundleOptions = {\n bundlerType: bundleRequest.bundlerType || bundlerType,\n overrideOptions: bundlerOptions,\n inputPath: packagePath,\n outputPath,\n incremental: isIncremental !== undefined ? isIncremental : !isExternal,\n sourcemap: disableSourceMaps ? undefined : 'linked',\n entries: await getEntriesMapFromPackage({ inputPath: packagePath }, context),\n inlined: inlinedDependencies,\n external: await getExternalsFromPackage({ inputPath: packagePath }, context),\n };\n\n const bundleInternalResult = await bundleInternal(bundleOptions, { config });\n bundleRequest.result = {\n ...bundleInternalResult,\n outputPath: bundleOptions.outputPath ?? outputPath,\n hash: cacheValidationHash,\n };\n }\n\n // Write the result to disk.\n await saveResultToCache(bundleRequest.result);\n }\n\n // If we should find required imports and exports per bundle\n if (shouldGetBundleInfo && !bundleRequest.result?.errors?.length && bundleRequest.result?.outputFiles?.length) {\n const bundleInfoPath = path.join(outputPath, 'bundle-info.json');\n\n // Exports map is needed to find the bundle info per entry we intend to bundle.\n // Exports map is used instead of bundleRequest.entries since it is easier to use\n // because it contains the paths other packages use to import the entry and\n // the relative location of the bundled files.\n const exportsMap = await getExportsMap({ packagePath }, context);\n\n const bundleInfo = await getBundleInfo({\n outputPath,\n outputFiles: bundleRequest.result.outputFiles,\n exportsMap,\n isExternal,\n });\n\n bundleRequest.result.info = bundleInfo;\n\n // Write to cache for future use. (Ignore the promise result.)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n writeJson(bundleInfoPath, bundleInfo);\n }\n\n return bundleRequest;\n}\n"]}
1
+ {"version":3,"file":"bundleTask.js","sourceRoot":"","sources":["../../src/utilities/bundleTask.ts"],"names":[],"mappings":"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","sourcesContent":["import { bundle as bundleInternal, getEntriesMapFromPackage, getExternalsFromPackage } from '@ms-cloudpack/bundler';\nimport type { BundleOptions, CloudpackConfig, PackageDefinitionsCache } from '@ms-cloudpack/common-types';\nimport type { PackageHashes } from '@ms-cloudpack/package-hashes';\nimport { getPackageSettings } from '@ms-cloudpack/config';\nimport { writeJson } from '@ms-cloudpack/json-utilities';\nimport { getExportsMap, type ResolveMap } from '@ms-cloudpack/package-utilities';\nimport { formatPackageName, type TaskReporter, type TaskReporterTaskResult } from '@ms-cloudpack/task-reporter';\nimport type { TelemetryClient } from '@ms-cloudpack/telemetry';\nimport path from 'path';\nimport { prepareOutputPath } from '../common/prepareOutputPath.js';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport type { BundleTaskOptions } from '../types/BundleTaskOptions.js';\nimport { diskCacheRatioMetricEventAggregator } from './diskCacheRatioMetricEventAggregator.js';\nimport { getBundleInfo } from './getBundleInfo.js';\nimport { getBundleLocation } from './getBundleLocation.js';\nimport { isCachedResultValid } from './isCachedResultValid.js';\nimport { readResultFromCache } from './readResultFromCache.js';\nimport { saveResultToCache } from './saveResultToCache.js';\nimport { formatBundleTaskResult } from './formatBundleTaskResult.js';\n\nexport async function bundleTask(params: {\n bundleRequest: BundleRequest;\n options?: BundleTaskOptions;\n context: {\n packages: PackageDefinitionsCache;\n config: CloudpackConfig;\n resolveMap: ResolveMap;\n packageHashes: PackageHashes;\n reporter?: TaskReporter;\n telemetryClient?: TelemetryClient;\n };\n}): Promise<BundleRequest> {\n const { bundleRequest, options = {}, context } = params;\n const { packageName, version } = bundleRequest;\n const { reporter, telemetryClient } = context;\n\n const taskName = `Bundle ${formatPackageName({\n name: packageName,\n version,\n })}`;\n\n telemetryClient?.performance.registerAggregator(diskCacheRatioMetricEventAggregator);\n\n const executeBundle = async (): Promise<TaskReporterTaskResult> => {\n await bundle({ bundleRequest, context, options });\n\n diskCacheRatioMetricEventAggregator?.record({\n isCacheHit: !!bundleRequest.resultFromCache,\n isExternal: bundleRequest.isExternal,\n });\n\n return formatBundleTaskResult(bundleRequest);\n };\n\n if (reporter) {\n await reporter.runTask(taskName, executeBundle);\n } else {\n await executeBundle();\n }\n\n return bundleRequest;\n}\n\nasync function bundle(params: {\n bundleRequest: BundleRequest;\n context: {\n packages: PackageDefinitionsCache;\n config: CloudpackConfig;\n packageHashes: PackageHashes;\n };\n options?: BundleTaskOptions;\n}): Promise<BundleRequest> {\n const { bundleRequest, context, options = {} } = params;\n const { config, packageHashes } = context;\n const { force, hash, sourceHash } = options;\n\n // If force is set, dispose the existing result.\n if (force && bundleRequest?.result?.dispose) {\n bundleRequest.result.dispose();\n bundleRequest.result = undefined;\n }\n\n const { packagePath, isExternal, isIncremental, disableSourceMaps, shouldGetBundleInfo } = bundleRequest;\n\n const outputPath =\n bundleRequest.outputPath ??\n (await getBundleLocation({ packagePath, shouldRecalculate: force, hash }, context)).path;\n\n // Rehydrate the result if not incremental.\n if (bundleRequest.result === undefined && !force) {\n bundleRequest.result = await readResultFromCache(outputPath, {\n inputPath: packagePath,\n });\n }\n\n const cacheValidationHash = !isExternal\n ? sourceHash || (await packageHashes.get({ packagePath, isSourceHashingEnabled: true, shouldRecalculate: true }))\n : undefined;\n\n // if the cached result is valid, use it.\n if (!force && isCachedResultValid({ bundleRequest, hash: cacheValidationHash })) {\n console.debug(`Using cached result for ${bundleRequest.packageName}@${bundleRequest.version}`);\n bundleRequest.resultFromCache = true;\n } else {\n bundleRequest.resultFromCache = false;\n\n // Only use cached result if it's successful.\n await prepareOutputPath(outputPath);\n\n if (bundleRequest.result?.rebuild) {\n bundleRequest.result = {\n ...(await bundleRequest.result.rebuild()),\n outputPath: bundleRequest.result.outputPath,\n hash: cacheValidationHash,\n };\n } else {\n const { userPackageSettings, generatedPackageSettings } =\n getPackageSettings({\n name: bundleRequest.packageName,\n version: bundleRequest.version,\n config,\n }) || {};\n const { bundlerType, bundlerOptions } = userPackageSettings || {};\n\n const inlinedDependencies = [\n ...(userPackageSettings?.inlinedDependencies || []),\n ...(generatedPackageSettings?.inlinedDependencies || []),\n ];\n\n const bundleOptions: BundleOptions = {\n bundlerType: bundleRequest.bundlerType || bundlerType,\n overrideOptions: bundlerOptions,\n inputPath: packagePath,\n outputPath,\n incremental: isIncremental !== undefined ? isIncremental : !isExternal,\n sourcemap: disableSourceMaps ? undefined : 'linked',\n entries: await getEntriesMapFromPackage({ inputPath: packagePath }, context),\n inlined: inlinedDependencies,\n external: await getExternalsFromPackage({ inputPath: packagePath }, context),\n };\n\n const bundleInternalResult = await bundleInternal(bundleOptions, { config });\n bundleRequest.result = {\n ...bundleInternalResult,\n outputPath: bundleOptions.outputPath ?? outputPath,\n hash: cacheValidationHash,\n };\n }\n\n // Write the result to disk.\n await saveResultToCache(bundleRequest.result);\n }\n\n // If we should find required imports and exports per bundle\n if (shouldGetBundleInfo && !bundleRequest.result?.errors?.length && bundleRequest.result?.outputFiles?.length) {\n const bundleInfoPath = path.join(outputPath, 'bundle-info.json');\n\n // Exports map is needed to find the bundle info per entry we intend to bundle.\n // Exports map is used instead of bundleRequest.entries since it is easier to use\n // because it contains the paths other packages use to import the entry and\n // the relative location of the bundled files.\n const exportsMap = await getExportsMap({ packagePath }, context);\n\n const bundleInfo = await getBundleInfo({\n outputPath,\n outputFiles: bundleRequest.result.outputFiles,\n exportsMap,\n isExternal,\n });\n\n bundleRequest.result.info = bundleInfo;\n\n // Write to cache for future use. (Ignore the promise result.)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n writeJson(bundleInfoPath, bundleInfo);\n }\n\n return bundleRequest;\n}\n"]}
@@ -4,11 +4,11 @@ export async function createRemoteCacheClient(params) {
4
4
  const { ctx, input } = params;
5
5
  const { loginMethod } = input;
6
6
  const { session, reporter, telemetryClient } = ctx;
7
- const { container, storageAccount } = ensureRemoteCacheEnabled(session.config);
7
+ const { container, storageAccount, tenantId } = ensureRemoteCacheEnabled(session.config);
8
8
  const remoteCacheModule = await import('@ms-cloudpack/remote-cache');
9
9
  const client = await remoteCacheModule.createRemoteCacheClient({
10
10
  context: { reporter, telemetryClient },
11
- options: { container, loginMethod, storageAccount, cachePath: getCachePath() },
11
+ options: { container, loginMethod, storageAccount, cachePath: getCachePath(), tenantId },
12
12
  });
13
13
  return client;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createRemoteCacheClient.js","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAKC;IAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACnD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/E,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC;QAC7D,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;QACtC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE;KAC/E,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';\nimport type { LoginMethod } from '@ms-cloudpack/remote-cache';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { getCachePath } from './getCachePath.js';\n\nexport async function createRemoteCacheClient(\n params: ApiParams<\n {\n loginMethod: LoginMethod;\n },\n 'session' | 'reporter' | 'telemetryClient'\n >,\n) {\n const { ctx, input } = params;\n const { loginMethod } = input;\n const { session, reporter, telemetryClient } = ctx;\n const { container, storageAccount } = ensureRemoteCacheEnabled(session.config);\n\n const remoteCacheModule = await import('@ms-cloudpack/remote-cache');\n\n const client = await remoteCacheModule.createRemoteCacheClient({\n context: { reporter, telemetryClient },\n options: { container, loginMethod, storageAccount, cachePath: getCachePath() },\n });\n\n return client;\n}\n"]}
1
+ {"version":3,"file":"createRemoteCacheClient.js","sourceRoot":"","sources":["../../src/utilities/createRemoteCacheClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAKC;IAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC;IACnD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzF,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC;QAC7D,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;QACtC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE;KACzF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { ensureRemoteCacheEnabled } from '../utilities/ensureRemoteCacheEnabled.js';\nimport type { LoginMethod } from '@ms-cloudpack/remote-cache';\nimport type { ApiParams } from '../types/ApiParams.js';\nimport { getCachePath } from './getCachePath.js';\n\nexport async function createRemoteCacheClient(\n params: ApiParams<\n {\n loginMethod: LoginMethod;\n },\n 'session' | 'reporter' | 'telemetryClient'\n >,\n) {\n const { ctx, input } = params;\n const { loginMethod } = input;\n const { session, reporter, telemetryClient } = ctx;\n const { container, storageAccount, tenantId } = ensureRemoteCacheEnabled(session.config);\n\n const remoteCacheModule = await import('@ms-cloudpack/remote-cache');\n\n const client = await remoteCacheModule.createRemoteCacheClient({\n context: { reporter, telemetryClient },\n options: { container, loginMethod, storageAccount, cachePath: getCachePath(), tenantId },\n });\n\n return client;\n}\n"]}
@@ -7,5 +7,6 @@ import type { CloudpackConfig } from '@ms-cloudpack/common-types';
7
7
  export declare function ensureRemoteCacheEnabled({ remoteCache }: CloudpackConfig): {
8
8
  storageAccount: string;
9
9
  container: string;
10
+ tenantId?: string | undefined;
10
11
  };
11
12
  //# sourceMappingURL=ensureRemoteCacheEnabled.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensureRemoteCacheEnabled.d.ts","sourceRoot":"","sources":["../../src/utilities/ensureRemoteCacheEnabled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,WAAW,EAAE,EAAE,eAAe;;;EAMxE"}
1
+ {"version":3,"file":"ensureRemoteCacheEnabled.d.ts","sourceRoot":"","sources":["../../src/utilities/ensureRemoteCacheEnabled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,WAAW,EAAE,EAAE,eAAe;;;;EAMxE"}
@@ -0,0 +1,4 @@
1
+ import { type TaskReporterTaskResult } from '@ms-cloudpack/task-reporter';
2
+ import type { BundleRequest } from '../types/BundleRequest.js';
3
+ export declare function formatBundleTaskResult(bundleRequest: BundleRequest): TaskReporterTaskResult;
4
+ //# sourceMappingURL=formatBundleTaskResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatBundleTaskResult.d.ts","sourceRoot":"","sources":["../../src/utilities/formatBundleTaskResult.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK/D,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,aAAa,GAAG,sBAAsB,CAoD3F"}
@@ -0,0 +1,48 @@
1
+ import { formatLocation } from '@ms-cloudpack/path-utilities';
2
+ import { red, bulletedList, plural, indent, statusCharacter, } from '@ms-cloudpack/task-reporter';
3
+ import { normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';
4
+ import { getFileSizeSync } from './getFileSizeSync.js';
5
+ import path from 'path';
6
+ export function formatBundleTaskResult(bundleRequest) {
7
+ const { result, packageName, version, packagePath } = bundleRequest;
8
+ if (!result) {
9
+ return {
10
+ status: 'fail',
11
+ details: `[bundleTask] No result was found for "${packageName}@${version}"`,
12
+ };
13
+ }
14
+ result.outputFiles ??= [];
15
+ result.errors ??= [];
16
+ result.warnings ??= [];
17
+ if (!result.outputFiles.length && !result.errors?.length) {
18
+ result.warnings.push({
19
+ text: `No output files were found for "${packageName}" in "${result.outputPath}"`,
20
+ source: 'bundleTask',
21
+ });
22
+ }
23
+ if (result.errors.length) {
24
+ const formattedErrors = result.errors.map((error) => {
25
+ const { text, source, location } = error;
26
+ const filePath = location ? ' ' + formatLocation({ ...location, fromPath: packagePath }) : '';
27
+ return `[${source}]${filePath}\n${red(indent(text, 1))}`;
28
+ });
29
+ return {
30
+ status: 'fail',
31
+ message: plural(result.errors.length, 'error$s found'),
32
+ details: bulletedList(formattedErrors, undefined, red(statusCharacter.error)),
33
+ };
34
+ }
35
+ return {
36
+ status: 'complete',
37
+ details: bulletedList([
38
+ `Package: ${bundleRequest.packageName}@${bundleRequest.version}`,
39
+ `Bundler: ${result.bundlerName || 'unknown'}`,
40
+ `Input path: ${bundleRequest.packagePath}`,
41
+ `Entries:`,
42
+ Object.values(result.entries || {}),
43
+ `Output path: ${result.outputPath}`,
44
+ result.outputFiles.map((file) => `${normalizeRelativePath(file.outputPath)} (${getFileSizeSync(path.resolve(result.outputPath, file.outputPath))})`),
45
+ ]),
46
+ };
47
+ }
48
+ //# sourceMappingURL=formatBundleTaskResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatBundleTaskResult.js","sourceRoot":"","sources":["../../src/utilities/formatBundleTaskResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EACL,GAAG,EACH,YAAY,EACZ,MAAM,EACN,MAAM,EACN,eAAe,GAEhB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,sBAAsB,CAAC,aAA4B;IACjE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;IAEpE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,yCAAyC,WAAW,IAAI,OAAO,GAAG;SAC5E,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,KAAK,EAAE,CAAC;IAC1B,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;IACrB,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC;IAEvB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,mCAAmC,WAAW,SAAS,MAAM,CAAC,UAAU,GAAG;YACjF,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAClD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;YACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,OAAO,IAAI,MAAM,IAAI,QAAQ,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;YACtD,OAAO,EAAE,YAAY,CAAC,eAAe,EAAE,SAAS,EAAE,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC9E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,YAAY,CAAC;YACpB,YAAY,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,OAAO,EAAE;YAChE,YAAY,MAAM,CAAC,WAAW,IAAI,SAAS,EAAE;YAC7C,eAAe,aAAa,CAAC,WAAW,EAAE;YAC1C,UAAU;YACV,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACnC,gBAAgB,MAAM,CAAC,UAAU,EAAE;YACnC,MAAM,CAAC,WAAW,CAAC,GAAG,CACpB,CAAC,IAAI,EAAE,EAAE,CACP,GAAG,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,eAAe,CAC3D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CACjD,GAAG,CACP;SACF,CAAC;KACH,CAAC;AACJ,CAAC","sourcesContent":["import { formatLocation } from '@ms-cloudpack/path-utilities';\nimport {\n red,\n bulletedList,\n plural,\n indent,\n statusCharacter,\n type TaskReporterTaskResult,\n} from '@ms-cloudpack/task-reporter';\nimport type { BundleRequest } from '../types/BundleRequest.js';\nimport { normalizeRelativePath } from '@ms-cloudpack/path-string-parsing';\nimport { getFileSizeSync } from './getFileSizeSync.js';\nimport path from 'path';\n\nexport function formatBundleTaskResult(bundleRequest: BundleRequest): TaskReporterTaskResult {\n const { result, packageName, version, packagePath } = bundleRequest;\n\n if (!result) {\n return {\n status: 'fail',\n details: `[bundleTask] No result was found for \"${packageName}@${version}\"`,\n };\n }\n\n result.outputFiles ??= [];\n result.errors ??= [];\n result.warnings ??= [];\n\n if (!result.outputFiles.length && !result.errors?.length) {\n result.warnings.push({\n text: `No output files were found for \"${packageName}\" in \"${result.outputPath}\"`,\n source: 'bundleTask',\n });\n }\n\n if (result.errors.length) {\n const formattedErrors = result.errors.map((error) => {\n const { text, source, location } = error;\n const filePath = location ? ' ' + formatLocation({ ...location, fromPath: packagePath }) : '';\n return `[${source}]${filePath}\\n${red(indent(text, 1))}`;\n });\n\n return {\n status: 'fail',\n message: plural(result.errors.length, 'error$s found'),\n details: bulletedList(formattedErrors, undefined, red(statusCharacter.error)),\n };\n }\n\n return {\n status: 'complete',\n details: bulletedList([\n `Package: ${bundleRequest.packageName}@${bundleRequest.version}`,\n `Bundler: ${result.bundlerName || 'unknown'}`,\n `Input path: ${bundleRequest.packagePath}`,\n `Entries:`,\n Object.values(result.entries || {}),\n `Output path: ${result.outputPath}`,\n result.outputFiles.map(\n (file) =>\n `${normalizeRelativePath(file.outputPath)} (${getFileSizeSync(\n path.resolve(result.outputPath, file.outputPath),\n )})`,\n ),\n ]),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"getBundleInfo.d.ts","sourceRoot":"","sources":["../../src/utilities/getBundleInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CAoHtB"}
1
+ {"version":3,"file":"getBundleInfo.d.ts","sourceRoot":"","sources":["../../src/utilities/getBundleInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmHtB"}