@angular/build 22.2.0-next.6 → 22.2.0-next.7
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/package.json +13 -13
- package/src/builders/application/build-action.js +1 -0
- package/src/builders/application/build-action.js.map +1 -1
- package/src/builders/application/chunk-optimizer.js +4 -1
- package/src/builders/application/chunk-optimizer.js.map +1 -1
- package/src/builders/application/execute-post-bundle.js +2 -2
- package/src/builders/application/execute-post-bundle.js.map +1 -1
- package/src/builders/application/i18n.js +2 -1
- package/src/builders/application/i18n.js.map +1 -1
- package/src/builders/application/options.js +5 -2
- package/src/builders/application/options.js.map +1 -1
- package/src/builders/application/schema.d.ts +2 -1
- package/src/builders/application/schema.js.map +1 -1
- package/src/builders/application/schema.json +1 -2
- package/src/builders/dev-server/options.d.ts +4 -1
- package/src/builders/dev-server/options.js +1 -0
- package/src/builders/dev-server/options.js.map +1 -1
- package/src/builders/dev-server/vite/server.js +1 -1
- package/src/builders/dev-server/vite/server.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/plugins.d.ts +3 -4
- package/src/builders/unit-test/runners/vitest/plugins.js +2 -0
- package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
- package/src/builders/unit-test/schema.d.ts +3 -2
- package/src/builders/unit-test/schema.js.map +1 -1
- package/src/builders/unit-test/schema.json +3 -2
- package/src/private.d.ts +0 -1
- package/src/private.js +1 -3
- package/src/private.js.map +1 -1
- package/src/tools/angular/compilation/aot-compilation.d.ts +1 -1
- package/src/tools/angular/compilation/aot-compilation.js +1 -3
- package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
- package/src/tools/angular/compilation/jit-compilation.d.ts +1 -1
- package/src/tools/angular/compilation/jit-compilation.js +1 -3
- package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
- package/src/tools/angular/compilation/typescript-compilation.d.ts +8 -1
- package/src/tools/angular/compilation/typescript-compilation.js +10 -2
- package/src/tools/angular/compilation/typescript-compilation.js.map +1 -1
- package/src/tools/esbuild/angular/compiler-plugin.js +40 -13
- package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
- package/src/tools/esbuild/cache.d.ts +17 -10
- package/src/tools/esbuild/cache.js +60 -47
- package/src/tools/esbuild/cache.js.map +1 -1
- package/src/tools/esbuild/i18n-inliner.d.ts +6 -1
- package/src/tools/esbuild/i18n-inliner.js +14 -4
- package/src/tools/esbuild/i18n-inliner.js.map +1 -1
- package/src/tools/esbuild/index-html-generator.js +1 -1
- package/src/tools/esbuild/index-html-generator.js.map +1 -1
- package/src/tools/esbuild/javascript-transformer.d.ts +18 -6
- package/src/tools/esbuild/javascript-transformer.js +68 -57
- package/src/tools/esbuild/javascript-transformer.js.map +1 -1
- package/src/tools/esbuild/lmdb-cache-store.js +1 -1
- package/src/tools/esbuild/lmdb-cache-store.js.map +1 -1
- package/src/tools/esbuild/persistent-load-result-cache.js +9 -31
- package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -1
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +109 -0
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js.map +1 -1
- package/src/tools/esbuild/sqlite-cache-store.d.ts +1 -1
- package/src/tools/esbuild/sqlite-cache-store.js +239 -65
- package/src/tools/esbuild/sqlite-cache-store.js.map +1 -1
- package/src/tools/esbuild/stylesheets/sass-language.d.ts +1 -0
- package/src/tools/esbuild/stylesheets/sass-language.js +49 -28
- package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -1
- package/src/tools/esbuild/watcher.js +26 -3
- package/src/tools/esbuild/watcher.js.map +1 -1
- package/src/tools/oxc/oxc-transform.js +1 -1
- package/src/tools/oxc/oxc-transform.js.map +1 -1
- package/src/tools/sass/sass-service.d.ts +4 -0
- package/src/tools/sass/sass-service.js +9 -1
- package/src/tools/sass/sass-service.js.map +1 -1
- package/src/utils/index-file/index-html-generator.d.ts +1 -1
- package/src/utils/index-file/index-html-generator.js +9 -13
- package/src/utils/index-file/index-html-generator.js.map +1 -1
- package/src/utils/index-file/inline-critical-css.d.ts +16 -18
- package/src/utils/index-file/inline-critical-css.js +44 -189
- package/src/utils/index-file/inline-critical-css.js.map +1 -1
- package/src/utils/index-file/nonce.d.ts +2 -0
- package/src/utils/index-file/nonce.js +1 -0
- package/src/utils/index-file/nonce.js.map +1 -1
- package/src/utils/normalize-cache.js +1 -1
- package/src/utils/server-rendering/manifest.d.ts +2 -2
- package/src/utils/server-rendering/manifest.js +53 -4
- package/src/utils/server-rendering/manifest.js.map +1 -1
|
@@ -27,40 +27,42 @@ const ADVANCED_OPTIMIZATION_TOKEN_BYTES = ADVANCED_OPTIMIZATION_TOKENS.map((toke
|
|
|
27
27
|
const DECORATOR_TOKENS = ['__decorate', '__esDecorate'];
|
|
28
28
|
const DECORATOR_TOKEN_BYTES = DECORATOR_TOKENS.map((token) => Buffer.from(token, 'utf-8'));
|
|
29
29
|
const ADVANCED_OPTIMIZATION_REGEX = new RegExp(ADVANCED_OPTIMIZATION_TOKENS.join('|'));
|
|
30
|
-
const
|
|
30
|
+
const DECORATOR_REGEX = new RegExp(DECORATOR_TOKENS.join('|'));
|
|
31
31
|
/**
|
|
32
32
|
* Determines whether JavaScript code contains potential candidate constructs for advanced optimizations.
|
|
33
33
|
* When false, advanced optimizations can be bypassed without worker dispatch or AST parsing.
|
|
34
34
|
*
|
|
35
35
|
* @param filename The full path to the file.
|
|
36
36
|
* @param data The data (string or Buffer) of the file.
|
|
37
|
-
* @param sideEffects
|
|
37
|
+
* @param sideEffects An optional lazy resolver callback that returns whether the file is considered side-effect free.
|
|
38
38
|
* @returns True if the code may contain constructs that advanced optimizations can mutate.
|
|
39
39
|
*/
|
|
40
|
-
function hasAdvancedOptimizationCandidates(filename, data, sideEffects) {
|
|
40
|
+
async function hasAdvancedOptimizationCandidates(filename, data, sideEffects) {
|
|
41
41
|
// Side-effect-free @angular/ packages undergo top-level pure function annotations
|
|
42
|
-
if (
|
|
42
|
+
if (/[\\/]node_modules[\\/]@angular[\\/]/.test(filename) && (await sideEffects?.()) === false) {
|
|
43
43
|
return true;
|
|
44
44
|
}
|
|
45
45
|
if (typeof data === 'string') {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
const hasDecorators = DECORATOR_REGEX.test(data);
|
|
47
|
+
if (hasDecorators && (await sideEffects?.()) === false) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return ADVANCED_OPTIMIZATION_REGEX.test(data);
|
|
50
51
|
}
|
|
51
52
|
const dataBuffer = Buffer.isBuffer(data)
|
|
52
53
|
? data
|
|
53
54
|
: Buffer.from(data.buffer, data.byteOffset, data.byteLength);
|
|
54
|
-
for (const tokenBytes of
|
|
55
|
+
for (const tokenBytes of DECORATOR_TOKEN_BYTES) {
|
|
55
56
|
if (dataBuffer.includes(tokenBytes)) {
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (sideEffects === false) {
|
|
60
|
-
for (const tokenBytes of DECORATOR_TOKEN_BYTES) {
|
|
61
|
-
if (dataBuffer.includes(tokenBytes)) {
|
|
57
|
+
if ((await sideEffects?.()) === false) {
|
|
62
58
|
return true;
|
|
63
59
|
}
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
for (const tokenBytes of ADVANCED_OPTIMIZATION_TOKEN_BYTES) {
|
|
64
|
+
if (dataBuffer.includes(tokenBytes)) {
|
|
65
|
+
return true;
|
|
64
66
|
}
|
|
65
67
|
}
|
|
66
68
|
return false;
|
|
@@ -171,42 +173,13 @@ class JavaScriptTransformer {
|
|
|
171
173
|
* Performs JavaScript transformations on a file from the filesystem.
|
|
172
174
|
* If no transformations are required, the data for the original file will be returned.
|
|
173
175
|
* @param filename The full path to the file.
|
|
174
|
-
* @param
|
|
175
|
-
* @param sideEffects If false, and `advancedOptimizations` is enabled tslib decorators are wrapped.
|
|
176
|
+
* @param options Transformation options specific to this file.
|
|
176
177
|
* @returns A promise that resolves to a UTF-8 encoded Uint8Array containing the result.
|
|
177
178
|
*/
|
|
178
|
-
async transformFile(filename,
|
|
179
|
+
async transformFile(filename, options) {
|
|
179
180
|
return this.#runWithThrottle(async () => {
|
|
180
181
|
const data = await (0, promises_1.readFile)(filename);
|
|
181
|
-
|
|
182
|
-
if (this.cache) {
|
|
183
|
-
// Create a cache key from the file data and options that effect the output.
|
|
184
|
-
// NOTE: If additional options are added, this may need to be updated.
|
|
185
|
-
const hasher = (0, hash_1.createContentHash)();
|
|
186
|
-
hasher.update(`${!!skipLinker}--${!!sideEffects}`);
|
|
187
|
-
hasher.update(data);
|
|
188
|
-
hasher.update(this.#fileCacheKeyBase);
|
|
189
|
-
cacheKey = hasher.digest();
|
|
190
|
-
try {
|
|
191
|
-
const cached = await this.cache.get(cacheKey);
|
|
192
|
-
if (cached !== undefined) {
|
|
193
|
-
return cached;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
catch {
|
|
197
|
-
// Failure to get the value should not fail the transform
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
const result = await this.transformData(filename, data, !!skipLinker, sideEffects, instrumentForCoverage);
|
|
201
|
-
if (this.cache && cacheKey) {
|
|
202
|
-
try {
|
|
203
|
-
await this.cache.put(cacheKey, result);
|
|
204
|
-
}
|
|
205
|
-
catch {
|
|
206
|
-
// Failure to store the value in the cache should not fail the transform
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
return result;
|
|
182
|
+
return this.transformData(filename, data, options);
|
|
210
183
|
});
|
|
211
184
|
}
|
|
212
185
|
/**
|
|
@@ -214,17 +187,27 @@ class JavaScriptTransformer {
|
|
|
214
187
|
* to exist on the filesystem.
|
|
215
188
|
* @param filename The full path of the file represented by the data.
|
|
216
189
|
* @param data The data of the file that should be transformed.
|
|
217
|
-
* @param
|
|
218
|
-
* @param sideEffects If false, and `advancedOptimizations` is enabled tslib decorators are wrapped.
|
|
190
|
+
* @param options Transformation options specific to this file data.
|
|
219
191
|
* @returns A promise that resolves to a UTF-8 encoded Uint8Array containing the result.
|
|
220
192
|
*/
|
|
221
|
-
async transformData(filename, data,
|
|
222
|
-
|
|
193
|
+
async transformData(filename, data, options) {
|
|
194
|
+
let resolvedSideEffects;
|
|
195
|
+
let sideEffectsQueried = false;
|
|
196
|
+
const sideEffectsGetter = options?.sideEffects
|
|
197
|
+
? async () => {
|
|
198
|
+
if (!sideEffectsQueried) {
|
|
199
|
+
sideEffectsQueried = true;
|
|
200
|
+
resolvedSideEffects = await options.sideEffects?.();
|
|
201
|
+
}
|
|
202
|
+
return resolvedSideEffects;
|
|
203
|
+
}
|
|
204
|
+
: undefined;
|
|
205
|
+
const shouldLink = !options?.skipLinker && requiresLinking(filename, data);
|
|
223
206
|
const shouldOptimize = this.#commonOptions.advancedOptimizations &&
|
|
224
|
-
hasAdvancedOptimizationCandidates(filename, data,
|
|
207
|
+
(await hasAdvancedOptimizationCandidates(filename, data, sideEffectsGetter));
|
|
225
208
|
// Perform a quick test to determine if the data needs any transformations.
|
|
226
209
|
// This allows directly returning the data without the worker communication overhead.
|
|
227
|
-
if (!shouldLink && !shouldOptimize && !instrumentForCoverage) {
|
|
210
|
+
if (!shouldLink && !shouldOptimize && !options?.instrumentForCoverage) {
|
|
228
211
|
const keepSourcemap = this.#commonOptions.sourcemap &&
|
|
229
212
|
(!!this.#commonOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename));
|
|
230
213
|
if (typeof data === 'string') {
|
|
@@ -232,6 +215,25 @@ class JavaScriptTransformer {
|
|
|
232
215
|
}
|
|
233
216
|
return keepSourcemap ? data : (0, source_map_1.removeSourceMappingURL)(data);
|
|
234
217
|
}
|
|
218
|
+
let cacheKey;
|
|
219
|
+
if (this.cache) {
|
|
220
|
+
// Create a cache key from the file data and options that affect the output.
|
|
221
|
+
// NOTE: If additional options are added, this may need to be updated.
|
|
222
|
+
const hasher = (0, hash_1.createContentHash)();
|
|
223
|
+
hasher.update(`${!options?.skipLinker}--${resolvedSideEffects === false}--${!!options?.instrumentForCoverage}`);
|
|
224
|
+
hasher.update(data);
|
|
225
|
+
hasher.update(this.#fileCacheKeyBase);
|
|
226
|
+
cacheKey = hasher.digest();
|
|
227
|
+
try {
|
|
228
|
+
const cached = await this.cache.get(cacheKey);
|
|
229
|
+
if (cached !== undefined) {
|
|
230
|
+
return cached;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
// Failure to get the value should not fail the transform
|
|
235
|
+
}
|
|
236
|
+
}
|
|
235
237
|
// Only standalone (non-pooled) ArrayBuffers can be transferred across worker threads.
|
|
236
238
|
// Node.js shares an internal 8KB ArrayBuffer pool for small buffers, and transferring
|
|
237
239
|
// a pooled buffer will throw a DataCloneError because detaching it invalidates other slices.
|
|
@@ -241,15 +243,24 @@ class JavaScriptTransformer {
|
|
|
241
243
|
data.byteOffset === 0 &&
|
|
242
244
|
data.byteLength === data.buffer.byteLength &&
|
|
243
245
|
!process.versions.pnp;
|
|
244
|
-
|
|
246
|
+
const result = (await this.#ensureWorkerPool().run({
|
|
245
247
|
filename,
|
|
246
248
|
data,
|
|
247
249
|
skipLinker: !shouldLink,
|
|
248
|
-
sideEffects,
|
|
249
|
-
instrumentForCoverage,
|
|
250
|
+
sideEffects: resolvedSideEffects,
|
|
251
|
+
instrumentForCoverage: options?.instrumentForCoverage,
|
|
250
252
|
}, {
|
|
251
253
|
transferList: isTransferable ? [data.buffer] : undefined,
|
|
252
|
-
});
|
|
254
|
+
}));
|
|
255
|
+
if (this.cache && cacheKey) {
|
|
256
|
+
try {
|
|
257
|
+
await this.cache.put(cacheKey, result);
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
// Failure to store the value in the cache should not fail the transform
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return result;
|
|
253
264
|
}
|
|
254
265
|
/**
|
|
255
266
|
* Stops all active transformation tasks and shuts down all workers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"javascript-transformer.js","sourceRoot":"","sources":["javascript-transformer.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,+CAA4C;AAC5C,2CAAqD;AACrD,mFAA2F;AAC3F,uDAAgE;AAChE,yDAAwE;AAGxE,MAAM,yBAAyB,GAAG,aAAa,CAAC;AAChD,MAAM,+BAA+B,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;AAExF,MAAM,4BAA4B,GAAG;IACnC,GAAG;IACH,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,gBAAgB;CACR,CAAC;AAEX,MAAM,iCAAiC,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAC5B,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,cAAc,CAAU,CAAC;AACjE,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3F,MAAM,2BAA2B,GAAG,IAAI,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACvF,MAAM,
|
|
1
|
+
{"version":3,"file":"javascript-transformer.js","sourceRoot":"","sources":["javascript-transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lmdb-cache-store.js","sourceRoot":"","sources":["lmdb-cache-store.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,+BAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"lmdb-cache-store.js","sourceRoot":"","sources":["lmdb-cache-store.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,+BAA0C;AAC1C,mCAA4E;AAE5E,MAAa,cAAc;IAIJ;IAHZ,aAAa,CAAC;IACvB,GAAG,CAA2B;IAE9B,YAAqB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QACpC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACjC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,GAAG,KAAK,IAAA,WAAI,EAAC;YAChB,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAc,SAAiB;QACxC,OAAO,IAAI,aAAK,CAAI,IAAI,4BAAoB,CAAI,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;CACF;AA/CD,wCA+CC"}
|
|
@@ -15,16 +15,13 @@ const node_url_1 = require("node:url");
|
|
|
15
15
|
const hash_1 = require("../../utils/hash");
|
|
16
16
|
const load_result_cache_1 = require("./load-result-cache");
|
|
17
17
|
/**
|
|
18
|
-
* Calculates a unique cache key
|
|
19
|
-
* This prevents implicit string coercion of large binary content buffers.
|
|
18
|
+
* Calculates a unique cache key from the global configuration hash and path.
|
|
20
19
|
*/
|
|
21
|
-
function calculateCacheKey(globalConfigHash, path
|
|
20
|
+
function calculateCacheKey(globalConfigHash, path) {
|
|
22
21
|
const hasher = (0, hash_1.createContentHash)();
|
|
23
22
|
hasher.update(globalConfigHash);
|
|
24
23
|
hasher.update('\0');
|
|
25
24
|
hasher.update(path);
|
|
26
|
-
hasher.update('\0');
|
|
27
|
-
hasher.update(content);
|
|
28
25
|
return hasher.digest();
|
|
29
26
|
}
|
|
30
27
|
/**
|
|
@@ -75,7 +72,7 @@ async function mapConcurrent(items, limit, fn) {
|
|
|
75
72
|
* Performs a fast-path metadata check (mtime + size) first, falling back to content hashing.
|
|
76
73
|
* Heals/updates the cached metadata on disk if the content hash was valid but the metadata changed.
|
|
77
74
|
*/
|
|
78
|
-
async function validateAndHealCacheEntry(watchFilesMetadata, store, cacheKey, cached
|
|
75
|
+
async function validateAndHealCacheEntry(watchFilesMetadata, store, cacheKey, cached) {
|
|
79
76
|
if (!watchFilesMetadata) {
|
|
80
77
|
return false;
|
|
81
78
|
}
|
|
@@ -92,17 +89,7 @@ async function validateAndHealCacheEntry(watchFilesMetadata, store, cacheKey, ca
|
|
|
92
89
|
if (stats.size === expected.size && stats.mtimeMs === expected.mtimeMs) {
|
|
93
90
|
return true;
|
|
94
91
|
}
|
|
95
|
-
// 2.
|
|
96
|
-
if (targetFilePath && filePath === targetFilePath) {
|
|
97
|
-
watchFilesMetadata[filePath] = {
|
|
98
|
-
...expected,
|
|
99
|
-
mtimeMs: stats.mtimeMs,
|
|
100
|
-
size: stats.size,
|
|
101
|
-
};
|
|
102
|
-
healed = true;
|
|
103
|
-
return true;
|
|
104
|
-
}
|
|
105
|
-
// 3. Slow Path for dependencies: content hash fallback
|
|
92
|
+
// 2. Slow Path: content hash fallback
|
|
106
93
|
const currentContent = await (0, promises_1.readFile)(filePath);
|
|
107
94
|
const currentHash = (0, hash_1.calculateHash)(currentContent);
|
|
108
95
|
if (currentHash === expected.hash) {
|
|
@@ -183,20 +170,10 @@ class PersistentLoadResultCache {
|
|
|
183
170
|
return undefined;
|
|
184
171
|
}
|
|
185
172
|
// 2. Check L2 Persistent Disk Cache
|
|
186
|
-
|
|
187
|
-
const filePath = extractDiskFilePath(path);
|
|
188
|
-
if (filePath) {
|
|
189
|
-
try {
|
|
190
|
-
content = await (0, promises_1.readFile)(filePath);
|
|
191
|
-
}
|
|
192
|
-
catch {
|
|
193
|
-
return undefined;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
const cacheKey = calculateCacheKey(this.globalConfigHash, path, content);
|
|
173
|
+
const cacheKey = calculateCacheKey(this.globalConfigHash, path);
|
|
197
174
|
const cached = await this.persistentStore.get(cacheKey);
|
|
198
175
|
if (cached &&
|
|
199
|
-
(await validateAndHealCacheEntry(cached.watchFilesMetadata, this.persistentStore, cacheKey, cached
|
|
176
|
+
(await validateAndHealCacheEntry(cached.watchFilesMetadata, this.persistentStore, cacheKey, cached))) {
|
|
200
177
|
const result = {
|
|
201
178
|
contents: cached.contents,
|
|
202
179
|
loader: cached.loader,
|
|
@@ -229,13 +206,14 @@ class PersistentLoadResultCache {
|
|
|
229
206
|
return;
|
|
230
207
|
}
|
|
231
208
|
}
|
|
232
|
-
const cacheKey = calculateCacheKey(this.globalConfigHash, path
|
|
209
|
+
const cacheKey = calculateCacheKey(this.globalConfigHash, path);
|
|
233
210
|
// Reuse the target file's pre-read content buffer to avoid redundant disk reads (readFile)
|
|
234
211
|
// during dependency watch file metadata computation.
|
|
235
212
|
const knownContents = filePath
|
|
236
213
|
? new Map([[filePath, content]])
|
|
237
214
|
: undefined;
|
|
238
|
-
const
|
|
215
|
+
const allWatchFiles = Array.from(new Set(filePath ? [filePath, ...(result.watchFiles ?? [])] : result.watchFiles));
|
|
216
|
+
const watchFilesMetadata = await computeMetadataForWatchFiles(allWatchFiles, knownContents);
|
|
239
217
|
await this.persistentStore.put(cacheKey, {
|
|
240
218
|
contents: result.contents,
|
|
241
219
|
loader: result.loader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistent-load-result-cache.js","sourceRoot":"","sources":["persistent-load-result-cache.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"persistent-load-result-cache.js","sourceRoot":"","sources":["persistent-load-result-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,87 @@ const IGNORE_LIST_ID = 'x_google_ignoreList';
|
|
|
19
19
|
* of a full source map if not present in the source map data.
|
|
20
20
|
*/
|
|
21
21
|
const NODE_MODULE_BYTES = Buffer.from('node_modules/', 'utf-8');
|
|
22
|
+
/**
|
|
23
|
+
* The UTF-8 bytes for the "sources" property key used to locate the sources array.
|
|
24
|
+
*/
|
|
25
|
+
const SOURCES_KEY_BYTES = Buffer.from('"sources"', 'utf-8');
|
|
26
|
+
/**
|
|
27
|
+
* The UTF-8 bytes for the ignore list identifier to check if already present.
|
|
28
|
+
*/
|
|
29
|
+
const IGNORE_LIST_BYTES = Buffer.from(`"${IGNORE_LIST_ID}"`, 'utf-8');
|
|
30
|
+
function extractSources(contents) {
|
|
31
|
+
const sourcesKeyIndex = contents.indexOf(SOURCES_KEY_BYTES);
|
|
32
|
+
if (sourcesKeyIndex === -1) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
// Find the ':' after "sources"
|
|
36
|
+
let colonIndex = sourcesKeyIndex + SOURCES_KEY_BYTES.length;
|
|
37
|
+
while (colonIndex < contents.length && contents[colonIndex] <= 0x20) {
|
|
38
|
+
colonIndex++;
|
|
39
|
+
}
|
|
40
|
+
if (contents[colonIndex] !== 0x3a /* : */) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
// Find the '[' for the array
|
|
44
|
+
let arrayStartIndex = colonIndex + 1;
|
|
45
|
+
while (arrayStartIndex < contents.length && contents[arrayStartIndex] <= 0x20) {
|
|
46
|
+
arrayStartIndex++;
|
|
47
|
+
}
|
|
48
|
+
if (contents[arrayStartIndex] !== 0x5b /* [ */) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
// Scan until matching ']'
|
|
52
|
+
let depth = 0;
|
|
53
|
+
let inString = false;
|
|
54
|
+
for (let i = arrayStartIndex; i < contents.length; i++) {
|
|
55
|
+
const byte = contents[i];
|
|
56
|
+
if (inString) {
|
|
57
|
+
if (byte === 0x5c /* \ */) {
|
|
58
|
+
i++; // skip escaped character
|
|
59
|
+
}
|
|
60
|
+
else if (byte === 0x22 /* " */) {
|
|
61
|
+
inString = false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else if (byte === 0x22 /* " */) {
|
|
65
|
+
inString = true;
|
|
66
|
+
}
|
|
67
|
+
else if (byte === 0x5b /* [ */) {
|
|
68
|
+
depth++;
|
|
69
|
+
}
|
|
70
|
+
else if (byte === 0x5d /* ] */) {
|
|
71
|
+
depth--;
|
|
72
|
+
if (depth === 0) {
|
|
73
|
+
try {
|
|
74
|
+
const slice = contents.toString('utf-8', arrayStartIndex, i + 1);
|
|
75
|
+
const parsed = JSON.parse(slice);
|
|
76
|
+
return Array.isArray(parsed) && parsed.every((s) => typeof s === 'string')
|
|
77
|
+
? parsed
|
|
78
|
+
: undefined;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
function updateSourcemapFast(contents, ignoreList) {
|
|
89
|
+
let braceIndex = 0;
|
|
90
|
+
while (braceIndex < contents.length && contents[braceIndex] <= 0x20) {
|
|
91
|
+
braceIndex++;
|
|
92
|
+
}
|
|
93
|
+
if (contents[braceIndex] !== 0x7b /* { */) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
const injection = Buffer.from(`"${IGNORE_LIST_ID}":${JSON.stringify(ignoreList)},`, 'utf-8');
|
|
97
|
+
return Buffer.concat([
|
|
98
|
+
contents.subarray(0, braceIndex + 1),
|
|
99
|
+
injection,
|
|
100
|
+
contents.subarray(braceIndex + 1),
|
|
101
|
+
]);
|
|
102
|
+
}
|
|
22
103
|
/**
|
|
23
104
|
* Creates an esbuild plugin that updates generated sourcemaps to include the Chrome
|
|
24
105
|
* DevTools ignore list extension. All source files that originate from a node modules
|
|
@@ -49,7 +130,35 @@ function createSourcemapIgnorelistPlugin() {
|
|
|
49
130
|
if (!contents.includes(NODE_MODULE_BYTES)) {
|
|
50
131
|
continue;
|
|
51
132
|
}
|
|
133
|
+
let fastPathSuccess = false;
|
|
134
|
+
if (!contents.includes(IGNORE_LIST_BYTES)) {
|
|
135
|
+
const sources = extractSources(contents);
|
|
136
|
+
if (sources) {
|
|
137
|
+
const ignoreList = [];
|
|
138
|
+
for (let index = 0; index < sources.length; ++index) {
|
|
139
|
+
const location = sources[index].indexOf('node_modules/');
|
|
140
|
+
if (location === 0 || (location > 0 && sources[index][location - 1] === '/')) {
|
|
141
|
+
ignoreList.push(index);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (ignoreList.length === 0) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const updated = updateSourcemapFast(contents, ignoreList);
|
|
148
|
+
if (updated) {
|
|
149
|
+
file.contents = updated;
|
|
150
|
+
fastPathSuccess = true;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (fastPathSuccess) {
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
// Fallback to full JSON parse/stringify if fast scanning or splicing fails
|
|
52
158
|
const map = JSON.parse(contents.toString('utf-8'));
|
|
159
|
+
if (map[IGNORE_LIST_ID]) {
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
53
162
|
const ignoreList = [];
|
|
54
163
|
// Check and store the index of each source originating from a node modules directory
|
|
55
164
|
for (let index = 0; index < map.sources.length; ++index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourcemap-ignorelist-plugin.js","sourceRoot":"","sources":["sourcemap-ignorelist-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"sourcemap-ignorelist-plugin.js","sourceRoot":"","sources":["sourcemap-ignorelist-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export declare class SqliteCacheStore implements PersistentCacheStore<unknown> {
|
|
|
19
19
|
readonly cachePath: string;
|
|
20
20
|
private readonly maxPayloadSize;
|
|
21
21
|
private readonly ttlDays;
|
|
22
|
-
constructor(cachePath: string, maxPayloadSize?: number, ttlDays?: number);
|
|
22
|
+
constructor(cachePath: string, maxPayloadSize?: number, ttlDays?: number, busyTimeoutMs?: number);
|
|
23
23
|
get(key: string): Promise<any>;
|
|
24
24
|
has(key: string): boolean;
|
|
25
25
|
set(key: string, value: unknown): Promise<this>;
|