@depup/angular__build 22.1.8-depup.5 → 22.2.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -14
- package/builders.json +1 -1
- package/changes.json +12 -32
- package/package.json +29 -48
- package/src/builders/application/build-action.js +63 -92
- package/src/builders/application/build-action.js.map +1 -1
- package/src/builders/application/chunk-optimizer.d.ts +2 -2
- package/src/builders/application/chunk-optimizer.js +5 -5
- package/src/builders/application/chunk-optimizer.js.map +1 -1
- package/src/builders/application/execute-build.js +26 -19
- package/src/builders/application/execute-build.js.map +1 -1
- package/src/builders/application/execute-post-bundle.d.ts +2 -2
- package/src/builders/application/execute-post-bundle.js +5 -5
- package/src/builders/application/execute-post-bundle.js.map +1 -1
- package/src/builders/application/i18n.d.ts +3 -1
- package/src/builders/application/i18n.js +48 -13
- package/src/builders/application/i18n.js.map +1 -1
- package/src/{tools/esbuild → builders/application}/index-html-generator.d.ts +2 -2
- package/src/{tools/esbuild → builders/application}/index-html-generator.js +2 -2
- package/src/builders/application/index-html-generator.js.map +1 -0
- package/src/builders/application/index.js +2 -2
- package/src/builders/application/index.js.map +1 -1
- package/src/builders/application/options.d.ts +5 -0
- package/src/builders/application/options.js +8 -26
- package/src/builders/application/options.js.map +1 -1
- package/src/builders/application/results.d.ts +3 -2
- 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/application/setup-bundling.js +3 -1
- package/src/builders/application/setup-bundling.js.map +1 -1
- package/src/builders/dev-server/internal.d.ts +1 -1
- package/src/builders/dev-server/internal.js +1 -1
- package/src/builders/dev-server/internal.js.map +1 -1
- package/src/builders/dev-server/vite/index.js +5 -8
- package/src/builders/dev-server/vite/index.js.map +1 -1
- package/src/builders/dev-server/vite/server.js +2 -0
- package/src/builders/dev-server/vite/server.js.map +1 -1
- package/src/builders/dev-server/vite/utils.d.ts +1 -1
- package/src/builders/dev-server/vite/utils.js +9 -4
- package/src/builders/dev-server/vite/utils.js.map +1 -1
- package/src/builders/extract-i18n/application-extraction.js +6 -5
- package/src/builders/extract-i18n/application-extraction.js.map +1 -1
- package/src/builders/karma/application_builder.js +1 -1
- package/src/builders/karma/application_builder.js.map +1 -1
- package/src/builders/karma/assets-middleware.d.ts +2 -2
- package/src/builders/karma/assets-middleware.js +5 -2
- package/src/builders/karma/assets-middleware.js.map +1 -1
- package/src/builders/karma/progress-reporter.js +7 -5
- package/src/builders/karma/progress-reporter.js.map +1 -1
- package/src/builders/karma/utils.d.ts +2 -1
- package/src/builders/karma/utils.js +2 -2
- package/src/builders/karma/utils.js.map +1 -1
- package/src/builders/unit-test/builder.js +1 -1
- package/src/builders/unit-test/runners/vitest/build-options.js +9 -3
- package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/executor.js +5 -4
- package/src/builders/unit-test/runners/vitest/executor.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/plugins.d.ts +4 -4
- package/src/builders/unit-test/runners/vitest/plugins.js +9 -2
- 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/builders/unit-test/test-discovery.js +3 -2
- package/src/builders/unit-test/test-discovery.js.map +1 -1
- package/src/private.d.ts +3 -5
- package/src/private.js +6 -9
- package/src/private.js.map +1 -1
- package/src/tools/angular/angular-host.d.ts +1 -2
- package/src/tools/angular/angular-host.js +6 -6
- package/src/tools/angular/angular-host.js.map +1 -1
- package/src/tools/angular/compilation/angular-compilation.d.ts +24 -16
- package/src/tools/angular/compilation/angular-compilation.js +4 -80
- package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
- package/src/tools/angular/compilation/aot-compilation.d.ts +6 -12
- package/src/tools/angular/compilation/aot-compilation.js +23 -20
- package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
- package/src/tools/angular/compilation/compiler-options.d.ts +25 -0
- package/src/tools/angular/compilation/compiler-options.js +135 -0
- package/src/tools/angular/compilation/compiler-options.js.map +1 -0
- package/src/tools/angular/compilation/factory.d.ts +5 -3
- package/src/tools/angular/compilation/factory.js +10 -5
- package/src/tools/angular/compilation/factory.js.map +1 -1
- package/src/tools/angular/compilation/index.d.ts +3 -3
- package/src/tools/angular/compilation/index.js +1 -3
- package/src/tools/angular/compilation/index.js.map +1 -1
- package/src/tools/angular/compilation/jit-compilation.d.ts +6 -9
- package/src/tools/angular/compilation/jit-compilation.js +10 -16
- package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
- package/src/tools/angular/compilation/parallel-compilation.d.ts +3 -14
- package/src/tools/angular/compilation/parallel-compilation.js +40 -42
- package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
- package/src/tools/angular/compilation/parallel-worker.d.ts +5 -17
- package/src/tools/angular/compilation/parallel-worker.js +89 -68
- package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
- package/src/tools/angular/compilation/typescript-compilation.d.ts +31 -0
- package/src/tools/angular/compilation/typescript-compilation.js +125 -0
- package/src/tools/angular/compilation/typescript-compilation.js.map +1 -0
- package/src/tools/angular/linker/oxc-ast-host.d.ts +33 -0
- package/src/tools/angular/linker/oxc-ast-host.js +234 -0
- package/src/tools/angular/linker/oxc-ast-host.js.map +1 -0
- package/src/tools/angular/linker/oxc-linker.d.ts +22 -0
- package/src/tools/angular/linker/oxc-linker.js +75 -0
- package/src/tools/angular/linker/oxc-linker.js.map +1 -0
- package/src/tools/angular/linker/string-ast-factory.d.ts +86 -0
- package/src/tools/angular/linker/string-ast-factory.js +234 -0
- package/src/tools/angular/linker/string-ast-factory.js.map +1 -0
- package/src/tools/esbuild/angular/compilation-state.d.ts +23 -3
- package/src/tools/esbuild/angular/compilation-state.js +51 -13
- package/src/tools/esbuild/angular/compilation-state.js.map +1 -1
- package/src/tools/esbuild/angular/compiler-plugin.d.ts +1 -0
- package/src/tools/esbuild/angular/compiler-plugin.js +126 -139
- package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
- package/src/tools/esbuild/angular/component-stylesheets.d.ts +3 -3
- package/src/tools/esbuild/angular/component-stylesheets.js +52 -22
- package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -1
- package/src/tools/esbuild/angular/source-file-cache.d.ts +1 -2
- package/src/tools/esbuild/angular/source-file-cache.js +1 -11
- package/src/tools/esbuild/angular/source-file-cache.js.map +1 -1
- package/src/tools/esbuild/application-code-bundle.js +7 -14
- package/src/tools/esbuild/application-code-bundle.js.map +1 -1
- package/src/tools/esbuild/budget-stats.js +3 -3
- package/src/tools/esbuild/budget-stats.js.map +1 -1
- package/src/tools/esbuild/bundler-context.d.ts +23 -7
- package/src/tools/esbuild/bundler-context.js +112 -43
- package/src/tools/esbuild/bundler-context.js.map +1 -1
- package/src/tools/esbuild/bundler-execution-result.d.ts +2 -1
- package/src/tools/esbuild/bundler-execution-result.js +2 -2
- package/src/tools/esbuild/bundler-execution-result.js.map +1 -1
- package/src/tools/esbuild/bundler-files.js +3 -5
- package/src/tools/esbuild/bundler-files.js.map +1 -1
- package/src/tools/esbuild/compiler-plugin-options.js +2 -1
- package/src/tools/esbuild/compiler-plugin-options.js.map +1 -1
- package/src/tools/esbuild/i18n-locale-plugin.d.ts +1 -8
- package/src/tools/esbuild/i18n-locale-plugin.js +33 -114
- package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -1
- package/src/tools/esbuild/license-extractor.d.ts +1 -1
- package/src/tools/esbuild/license-extractor.js +89 -86
- package/src/tools/esbuild/license-extractor.js.map +1 -1
- package/src/tools/esbuild/load-result-cache.d.ts +2 -1
- package/src/tools/esbuild/load-result-cache.js +28 -13
- package/src/tools/esbuild/load-result-cache.js.map +1 -1
- package/src/tools/esbuild/persistent-load-result-cache.d.ts +87 -0
- package/src/tools/esbuild/persistent-load-result-cache.js +229 -0
- package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -0
- package/src/tools/esbuild/stylesheets/bundle-options.d.ts +1 -0
- package/src/tools/esbuild/stylesheets/bundle-options.js +1 -1
- package/src/tools/esbuild/stylesheets/bundle-options.js.map +1 -1
- package/src/tools/esbuild/stylesheets/css-resource-plugin.d.ts +3 -1
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js +4 -2
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js.map +1 -1
- package/src/tools/esbuild/stylesheets/sass-language.d.ts +9 -0
- package/src/tools/esbuild/stylesheets/sass-language.js +109 -50
- package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -1
- package/src/tools/esbuild/stylesheets/stylesheet-cache-key.d.ts +35 -0
- package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js +64 -0
- package/src/tools/esbuild/stylesheets/stylesheet-cache-key.js.map +1 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +1 -1
- package/src/tools/esbuild/utils.d.ts +3 -3
- package/src/tools/esbuild/utils.js +9 -6
- package/src/tools/esbuild/utils.js.map +1 -1
- package/src/tools/i18n/i18n-inliner-worker.d.ts +126 -0
- package/src/tools/i18n/i18n-inliner-worker.js +363 -0
- package/src/tools/i18n/i18n-inliner-worker.js.map +1 -0
- package/src/tools/i18n/i18n-inliner.d.ts +97 -0
- package/src/tools/i18n/i18n-inliner.js +500 -0
- package/src/tools/i18n/i18n-inliner.js.map +1 -0
- package/src/tools/i18n/i18n-translation-encoder.d.ts +21 -0
- package/src/tools/i18n/i18n-translation-encoder.js +92 -0
- package/src/tools/i18n/i18n-translation-encoder.js.map +1 -0
- package/src/tools/i18n/i18n-translation-reader.d.ts +41 -0
- package/src/tools/i18n/i18n-translation-reader.js +164 -0
- package/src/tools/i18n/i18n-translation-reader.js.map +1 -0
- package/src/tools/i18n/index.d.ts +11 -0
- package/src/tools/i18n/index.js +28 -0
- package/src/tools/i18n/index.js.map +1 -0
- package/src/tools/i18n/locale-data.d.ts +47 -0
- package/src/tools/i18n/locale-data.js +108 -0
- package/src/tools/i18n/locale-data.js.map +1 -0
- package/src/tools/javascript-transformer/index.d.ts +8 -0
- package/src/tools/javascript-transformer/index.js +25 -0
- package/src/tools/javascript-transformer/index.js.map +1 -0
- package/src/tools/{esbuild → javascript-transformer}/javascript-transformer-worker.d.ts +0 -4
- package/src/tools/javascript-transformer/javascript-transformer-worker.js +231 -0
- package/src/tools/javascript-transformer/javascript-transformer-worker.js.map +1 -0
- package/src/tools/{esbuild → javascript-transformer}/javascript-transformer.d.ts +26 -9
- package/src/tools/javascript-transformer/javascript-transformer.js +294 -0
- package/src/tools/javascript-transformer/javascript-transformer.js.map +1 -0
- package/src/tools/{babel/plugins → oxc}/oxc-transform.d.ts +5 -2
- package/src/tools/{babel/plugins → oxc}/oxc-transform.js +105 -138
- package/src/tools/oxc/oxc-transform.js.map +1 -0
- package/src/tools/oxc/traversal.d.ts +32 -0
- package/src/tools/oxc/traversal.js +299 -0
- package/src/tools/oxc/traversal.js.map +1 -0
- package/src/tools/oxc/types.d.ts +20 -0
- package/src/tools/sass/rebasing-importer.d.ts +12 -18
- package/src/tools/sass/rebasing-importer.js +23 -26
- package/src/tools/sass/rebasing-importer.js.map +1 -1
- package/src/tools/sass/sass-service.d.ts +15 -38
- package/src/tools/sass/sass-service.js +132 -187
- package/src/tools/sass/sass-service.js.map +1 -1
- package/src/tools/vite/middlewares/assets-middleware.js +3 -3
- package/src/tools/vite/middlewares/assets-middleware.js.map +1 -1
- package/src/tools/vite/utils.d.ts +1 -1
- package/src/{tools/esbuild → utils/cache}/cache.d.ts +25 -8
- package/src/{tools/esbuild → utils/cache}/cache.js +72 -41
- package/src/utils/cache/cache.js.map +1 -0
- package/src/utils/cache/index.d.ts +8 -0
- package/src/utils/cache/index.js +25 -0
- package/src/utils/cache/index.js.map +1 -0
- package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.js +1 -1
- package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.js.map +1 -1
- package/src/{tools/esbuild → utils/cache}/sqlite-cache-store.d.ts +1 -1
- package/src/utils/cache/sqlite-cache-store.js +339 -0
- package/src/utils/cache/sqlite-cache-store.js.map +1 -0
- package/src/utils/concurrency.d.ts +30 -0
- package/src/utils/concurrency.js +81 -0
- package/src/utils/concurrency.js.map +1 -0
- package/src/utils/environment-options.d.ts +34 -0
- package/src/utils/environment-options.js +42 -12
- package/src/utils/environment-options.js.map +1 -1
- package/src/utils/hash.d.ts +24 -0
- package/src/utils/hash.js +94 -0
- package/src/utils/hash.js.map +1 -0
- package/src/utils/i18n-options.d.ts +3 -1
- package/src/utils/i18n-options.js.map +1 -1
- package/src/utils/index-file/auto-csp.d.ts +8 -0
- package/src/utils/index-file/auto-csp.js +30 -3
- package/src/utils/index-file/auto-csp.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 +78 -179
- 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/postcss-configuration.d.ts +6 -0
- package/src/utils/postcss-configuration.js +23 -0
- package/src/utils/postcss-configuration.js.map +1 -1
- package/src/{tools/esbuild → utils}/profiling.js +1 -1
- package/src/{tools/esbuild → utils}/profiling.js.map +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
- package/src/utils/source-map.d.ts +26 -2
- package/src/utils/source-map.js +151 -53
- package/src/utils/source-map.js.map +1 -1
- package/src/utils/test-files.d.ts +2 -2
- package/src/utils/test-files.js +3 -3
- package/src/utils/test-files.js.map +1 -1
- package/src/utils/watcher.d.ts +61 -0
- package/src/utils/watcher.js +642 -0
- package/src/utils/watcher.js.map +1 -0
- package/src/tools/angular/compilation/noop-compilation.d.ts +0 -20
- package/src/tools/angular/compilation/noop-compilation.js +0 -27
- package/src/tools/angular/compilation/noop-compilation.js.map +0 -1
- package/src/tools/babel/plugins/add-code-coverage.d.ts +0 -14
- package/src/tools/babel/plugins/add-code-coverage.js +0 -44
- package/src/tools/babel/plugins/add-code-coverage.js.map +0 -1
- package/src/tools/babel/plugins/adjust-static-class-members.d.ts +0 -25
- package/src/tools/babel/plugins/adjust-static-class-members.js +0 -349
- package/src/tools/babel/plugins/adjust-static-class-members.js.map +0 -1
- package/src/tools/babel/plugins/adjust-typescript-enums.d.ts +0 -21
- package/src/tools/babel/plugins/adjust-typescript-enums.js +0 -113
- package/src/tools/babel/plugins/adjust-typescript-enums.js.map +0 -1
- package/src/tools/babel/plugins/elide-angular-metadata.d.ts +0 -23
- package/src/tools/babel/plugins/elide-angular-metadata.js +0 -110
- package/src/tools/babel/plugins/elide-angular-metadata.js.map +0 -1
- package/src/tools/babel/plugins/index.d.ts +0 -11
- package/src/tools/babel/plugins/index.js +0 -22
- package/src/tools/babel/plugins/index.js.map +0 -1
- package/src/tools/babel/plugins/oxc-transform.js.map +0 -1
- package/src/tools/babel/plugins/pure-toplevel-functions.d.ts +0 -13
- package/src/tools/babel/plugins/pure-toplevel-functions.js +0 -128
- package/src/tools/babel/plugins/pure-toplevel-functions.js.map +0 -1
- package/src/tools/babel/plugins/types.d.ts +0 -20
- package/src/tools/babel/typings.d.ts +0 -21
- package/src/tools/esbuild/cache.js.map +0 -1
- package/src/tools/esbuild/i18n-inliner-worker.d.ts +0 -81
- package/src/tools/esbuild/i18n-inliner-worker.js +0 -255
- package/src/tools/esbuild/i18n-inliner-worker.js.map +0 -1
- package/src/tools/esbuild/i18n-inliner.d.ts +0 -58
- package/src/tools/esbuild/i18n-inliner.js +0 -265
- package/src/tools/esbuild/i18n-inliner.js.map +0 -1
- package/src/tools/esbuild/index-html-generator.js.map +0 -1
- package/src/tools/esbuild/javascript-transformer-worker.js +0 -192
- package/src/tools/esbuild/javascript-transformer-worker.js.map +0 -1
- package/src/tools/esbuild/javascript-transformer.js +0 -197
- package/src/tools/esbuild/javascript-transformer.js.map +0 -1
- package/src/tools/esbuild/sqlite-cache-store.js +0 -165
- package/src/tools/esbuild/sqlite-cache-store.js.map +0 -1
- package/src/tools/esbuild/watcher.d.ts +0 -25
- package/src/tools/esbuild/watcher.js +0 -119
- package/src/tools/esbuild/watcher.js.map +0 -1
- package/src/tools/sass/worker.d.ts +0 -63
- package/src/tools/sass/worker.js +0 -202
- package/src/tools/sass/worker.js.map +0 -1
- /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.d.ts +0 -0
- /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js +0 -0
- /package/src/tools/{esbuild/angular → angular/compilation}/diagnostics.js.map +0 -0
- /package/src/{tools/esbuild → utils/cache}/lmdb-cache-store.d.ts +0 -0
- /package/src/{tools/esbuild → utils}/profiling.d.ts +0 -0
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright Google LLC All Rights Reserved.
|
|
5
|
-
*
|
|
6
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
-
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
-
*/
|
|
9
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(o, k2, desc);
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
-
var ownKeys = function(o) {
|
|
27
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
-
var ar = [];
|
|
29
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
-
return ar;
|
|
31
|
-
};
|
|
32
|
-
return ownKeys(o);
|
|
33
|
-
};
|
|
34
|
-
return function (mod) {
|
|
35
|
-
if (mod && mod.__esModule) return mod;
|
|
36
|
-
var result = {};
|
|
37
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
-
__setModuleDefault(result, mod);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
})();
|
|
42
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
43
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
44
|
-
};
|
|
45
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
exports.default = transformJavaScript;
|
|
47
|
-
const core_1 = require("@babel/core");
|
|
48
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
49
|
-
const node_module_1 = require("node:module");
|
|
50
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
51
|
-
const piscina_1 = __importDefault(require("piscina"));
|
|
52
|
-
const source_map_1 = require("../../utils/source-map");
|
|
53
|
-
const textDecoder = new TextDecoder();
|
|
54
|
-
const textEncoder = new TextEncoder();
|
|
55
|
-
/**
|
|
56
|
-
* The function name prefix for all Angular partial compilation functions.
|
|
57
|
-
* Used to determine if linking of a JavaScript file is required.
|
|
58
|
-
* If any additional declarations are added or otherwise changed in the linker,
|
|
59
|
-
* the names MUST begin with this prefix.
|
|
60
|
-
*/
|
|
61
|
-
const LINKER_DECLARATION_PREFIX = 'ɵɵngDeclare';
|
|
62
|
-
async function transformJavaScript(request) {
|
|
63
|
-
const { filename, data, ...options } = request;
|
|
64
|
-
const textData = typeof data === 'string' ? data : textDecoder.decode(data);
|
|
65
|
-
const transformedData = await transformJavaScriptImpl(filename, textData, options);
|
|
66
|
-
// Transfer the data via `move` instead of cloning
|
|
67
|
-
return piscina_1.default.move(textEncoder.encode(transformedData));
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Cached instance of the compiler-cli linker's createEs2015LinkerPlugin function.
|
|
71
|
-
*/
|
|
72
|
-
let linkerPluginCreator;
|
|
73
|
-
async function transformJavaScriptImpl(filename, data, options) {
|
|
74
|
-
const shouldLink = !options.skipLinker && (await requiresLinking(filename, data));
|
|
75
|
-
const useInputSourcemap = options.sourcemap &&
|
|
76
|
-
(!!options.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename));
|
|
77
|
-
const babelPlugins = [];
|
|
78
|
-
if (options.instrumentForCoverage) {
|
|
79
|
-
try {
|
|
80
|
-
let resolvedPath = 'istanbul-lib-instrument';
|
|
81
|
-
try {
|
|
82
|
-
const requireFn = (0, node_module_1.createRequire)(filename);
|
|
83
|
-
resolvedPath = requireFn.resolve('istanbul-lib-instrument');
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
// Fallback to pool worker import traversal
|
|
87
|
-
}
|
|
88
|
-
const istanbul = await Promise.resolve(`${resolvedPath}`).then(s => __importStar(require(s)));
|
|
89
|
-
const programVisitor = istanbul.programVisitor ?? istanbul.default?.programVisitor;
|
|
90
|
-
if (!programVisitor) {
|
|
91
|
-
throw new Error('programVisitor is not available in istanbul-lib-instrument.');
|
|
92
|
-
}
|
|
93
|
-
const { default: coveragePluginFactory } = await Promise.resolve().then(() => __importStar(require('../babel/plugins/add-code-coverage.js')));
|
|
94
|
-
babelPlugins.push(coveragePluginFactory(programVisitor));
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
throw new Error(`The 'istanbul-lib-instrument' package is required for code coverage but was not found. Please install the package.`, { cause: error });
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (shouldLink) {
|
|
101
|
-
// Lazy load the linker plugin only when linking is required
|
|
102
|
-
const linkerPlugin = await createLinkerPlugin(options);
|
|
103
|
-
babelPlugins.push(linkerPlugin);
|
|
104
|
-
}
|
|
105
|
-
let code = data;
|
|
106
|
-
// If Babel is needed, run it first
|
|
107
|
-
if (babelPlugins.length > 0) {
|
|
108
|
-
const result = await (0, core_1.transformAsync)(code, {
|
|
109
|
-
filename,
|
|
110
|
-
inputSourceMap: (useInputSourcemap ? undefined : false),
|
|
111
|
-
sourceMaps: useInputSourcemap ? 'inline' : false,
|
|
112
|
-
compact: false,
|
|
113
|
-
configFile: false,
|
|
114
|
-
babelrc: false,
|
|
115
|
-
browserslistConfigFile: false,
|
|
116
|
-
plugins: babelPlugins,
|
|
117
|
-
});
|
|
118
|
-
code = result?.code ?? code;
|
|
119
|
-
}
|
|
120
|
-
// Run advanced optimizations using our fast oxc-transform
|
|
121
|
-
if (options.advancedOptimizations) {
|
|
122
|
-
const { transform } = await Promise.resolve().then(() => __importStar(require('../babel/plugins/oxc-transform.js')));
|
|
123
|
-
const sideEffectFree = options.sideEffects === false;
|
|
124
|
-
const safeAngularPackage = sideEffectFree && /[\\/]node_modules[\\/]@angular[\\/]/.test(filename);
|
|
125
|
-
const topLevelSafeMode = !safeAngularPackage;
|
|
126
|
-
const result = transform(filename, code, {
|
|
127
|
-
sourcemap: useInputSourcemap,
|
|
128
|
-
sideEffects: options.sideEffects,
|
|
129
|
-
jit: options.jit,
|
|
130
|
-
topLevelSafeMode,
|
|
131
|
-
});
|
|
132
|
-
code = result.code;
|
|
133
|
-
if (useInputSourcemap && result.map) {
|
|
134
|
-
// Strip old source map comment if Babel added one
|
|
135
|
-
code = (0, source_map_1.removeSourceMappingURL)(code);
|
|
136
|
-
const base64Map = Buffer.from(result.map).toString('base64');
|
|
137
|
-
code += `\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
// Strip sourcemaps if they should not be used
|
|
141
|
-
return useInputSourcemap ? code : (0, source_map_1.removeSourceMappingURL)(code);
|
|
142
|
-
}
|
|
143
|
-
async function requiresLinking(path, source) {
|
|
144
|
-
// @angular/core and @angular/compiler will cause false positives
|
|
145
|
-
// Also, TypeScript files do not require linking
|
|
146
|
-
if (/[\\/]@angular[\\/](?:compiler|core)|\.tsx?$/.test(path)) {
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
// Check if the source code includes one of the declaration functions.
|
|
150
|
-
// There is a low chance of a false positive but the names are fairly unique
|
|
151
|
-
// and the result would be an unnecessary no-op additional plugin pass.
|
|
152
|
-
return source.includes(LINKER_DECLARATION_PREFIX);
|
|
153
|
-
}
|
|
154
|
-
async function createLinkerPlugin(options) {
|
|
155
|
-
linkerPluginCreator ??= (await Promise.resolve().then(() => __importStar(require('@angular/compiler-cli/linker/babel'))))
|
|
156
|
-
.createEs2015LinkerPlugin;
|
|
157
|
-
const linkerPlugin = linkerPluginCreator({
|
|
158
|
-
linkerJitMode: options.jit,
|
|
159
|
-
// This is a workaround until https://github.com/angular/angular/issues/42769 is fixed.
|
|
160
|
-
sourceMapping: false,
|
|
161
|
-
logger: {
|
|
162
|
-
level: 1, // Info level
|
|
163
|
-
debug(...args) {
|
|
164
|
-
// eslint-disable-next-line no-console
|
|
165
|
-
console.debug(args);
|
|
166
|
-
},
|
|
167
|
-
info(...args) {
|
|
168
|
-
// eslint-disable-next-line no-console
|
|
169
|
-
console.info(args);
|
|
170
|
-
},
|
|
171
|
-
warn(...args) {
|
|
172
|
-
// eslint-disable-next-line no-console
|
|
173
|
-
console.warn(args);
|
|
174
|
-
},
|
|
175
|
-
error(...args) {
|
|
176
|
-
// eslint-disable-next-line no-console
|
|
177
|
-
console.error(args);
|
|
178
|
-
},
|
|
179
|
-
},
|
|
180
|
-
fileSystem: {
|
|
181
|
-
resolve: node_path_1.default.resolve,
|
|
182
|
-
exists: node_fs_1.default.existsSync,
|
|
183
|
-
dirname: node_path_1.default.dirname,
|
|
184
|
-
relative: node_path_1.default.relative,
|
|
185
|
-
readFile: node_fs_1.default.readFileSync,
|
|
186
|
-
// Node.JS types don't overlap the Compiler types.
|
|
187
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
188
|
-
},
|
|
189
|
-
});
|
|
190
|
-
return linkerPlugin;
|
|
191
|
-
}
|
|
192
|
-
//# sourceMappingURL=javascript-transformer-worker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"javascript-transformer-worker.js","sourceRoot":"","sources":["javascript-transformer-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright Google LLC All Rights Reserved.
|
|
5
|
-
*
|
|
6
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
-
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.JavaScriptTransformer = void 0;
|
|
11
|
-
const node_crypto_1 = require("node:crypto");
|
|
12
|
-
const promises_1 = require("node:fs/promises");
|
|
13
|
-
const utils_1 = require("../../utils/server-rendering/esm-in-memory-loader/utils");
|
|
14
|
-
const source_map_1 = require("../../utils/source-map");
|
|
15
|
-
const worker_pool_1 = require("../../utils/worker-pool");
|
|
16
|
-
/**
|
|
17
|
-
* A class that performs transformation of JavaScript files and raw data.
|
|
18
|
-
* A worker pool is used to distribute the transformation actions and allow
|
|
19
|
-
* parallel processing. Transformation behavior is based on the filename and
|
|
20
|
-
* data. Transformations may include: async downleveling, Angular linking,
|
|
21
|
-
* and advanced optimizations.
|
|
22
|
-
*/
|
|
23
|
-
class JavaScriptTransformer {
|
|
24
|
-
maxThreads;
|
|
25
|
-
cache;
|
|
26
|
-
#workerPool;
|
|
27
|
-
#commonOptions;
|
|
28
|
-
#fileCacheKeyBase;
|
|
29
|
-
/** Queue of pending transformation tasks waiting for an active concurrency slot. */
|
|
30
|
-
#pendingTasks = [];
|
|
31
|
-
/** Current count of actively executing transformation tasks. */
|
|
32
|
-
#activeTasks = 0;
|
|
33
|
-
/** Maximum number of transformation tasks allowed to execute concurrently. */
|
|
34
|
-
#maxConcurrent;
|
|
35
|
-
constructor(options, maxThreads, cache) {
|
|
36
|
-
this.maxThreads = maxThreads;
|
|
37
|
-
this.cache = cache;
|
|
38
|
-
// Maintain 2 active tasks per worker thread to keep transformation pipelines fully saturated
|
|
39
|
-
this.#maxConcurrent = Math.max(1, maxThreads * 2);
|
|
40
|
-
// Extract options to ensure only the named options are serialized and sent to the worker
|
|
41
|
-
const { sourcemap, thirdPartySourcemaps = false, advancedOptimizations = false, jit = false, } = options;
|
|
42
|
-
this.#commonOptions = {
|
|
43
|
-
sourcemap,
|
|
44
|
-
thirdPartySourcemaps,
|
|
45
|
-
advancedOptimizations,
|
|
46
|
-
jit,
|
|
47
|
-
};
|
|
48
|
-
this.#fileCacheKeyBase = Buffer.from(JSON.stringify(this.#commonOptions), 'utf-8');
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Executes a transformation action using a semaphore-based backpressure throttle.
|
|
52
|
-
* Prevents libuv thread pool saturation and excessive V8 heap accumulation.
|
|
53
|
-
* @param action A callback that produces a promise for the transformation result.
|
|
54
|
-
* @returns A promise resolving to the transformation result.
|
|
55
|
-
*/
|
|
56
|
-
async #runWithThrottle(action) {
|
|
57
|
-
if (this.#activeTasks >= this.#maxConcurrent) {
|
|
58
|
-
await new Promise((resolve, reject) => {
|
|
59
|
-
this.#pendingTasks.push({ resolve, reject });
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
this.#activeTasks++;
|
|
64
|
-
}
|
|
65
|
-
try {
|
|
66
|
-
return await action();
|
|
67
|
-
}
|
|
68
|
-
finally {
|
|
69
|
-
const next = this.#pendingTasks.shift();
|
|
70
|
-
if (next) {
|
|
71
|
-
next.resolve();
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.#activeTasks--;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
#ensureWorkerPool() {
|
|
79
|
-
if (this.#workerPool) {
|
|
80
|
-
return this.#workerPool;
|
|
81
|
-
}
|
|
82
|
-
const workerPoolOptions = {
|
|
83
|
-
filename: require.resolve('./javascript-transformer-worker'),
|
|
84
|
-
maxThreads: this.maxThreads,
|
|
85
|
-
};
|
|
86
|
-
// Prevent passing SSR `--import` (loader-hooks) from parent to child worker.
|
|
87
|
-
const filteredExecArgv = process.execArgv.filter((v) => v !== utils_1.IMPORT_EXEC_ARGV);
|
|
88
|
-
if (process.execArgv.length !== filteredExecArgv.length) {
|
|
89
|
-
workerPoolOptions.execArgv = filteredExecArgv;
|
|
90
|
-
}
|
|
91
|
-
this.#workerPool = new worker_pool_1.WorkerPool(workerPoolOptions);
|
|
92
|
-
return this.#workerPool;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Performs JavaScript transformations on a file from the filesystem.
|
|
96
|
-
* If no transformations are required, the data for the original file will be returned.
|
|
97
|
-
* @param filename The full path to the file.
|
|
98
|
-
* @param skipLinker If true, bypass all Angular linker processing; if false, attempt linking.
|
|
99
|
-
* @param sideEffects If false, and `advancedOptimizations` is enabled tslib decorators are wrapped.
|
|
100
|
-
* @returns A promise that resolves to a UTF-8 encoded Uint8Array containing the result.
|
|
101
|
-
*/
|
|
102
|
-
async transformFile(filename, skipLinker, sideEffects, instrumentForCoverage) {
|
|
103
|
-
return this.#runWithThrottle(async () => {
|
|
104
|
-
const data = await (0, promises_1.readFile)(filename);
|
|
105
|
-
let result;
|
|
106
|
-
let cacheKey;
|
|
107
|
-
if (this.cache) {
|
|
108
|
-
// Create a cache key from the file data and options that effect the output.
|
|
109
|
-
// NOTE: If additional options are added, this may need to be updated.
|
|
110
|
-
// TODO: Consider xxhash or similar instead of SHA256
|
|
111
|
-
const hash = (0, node_crypto_1.createHash)('sha256');
|
|
112
|
-
hash.update(`${!!skipLinker}--${!!sideEffects}`);
|
|
113
|
-
hash.update(data);
|
|
114
|
-
hash.update(this.#fileCacheKeyBase);
|
|
115
|
-
cacheKey = hash.digest('hex');
|
|
116
|
-
try {
|
|
117
|
-
result = await this.cache?.get(cacheKey);
|
|
118
|
-
}
|
|
119
|
-
catch {
|
|
120
|
-
// Failure to get the value should not fail the transform
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (result === undefined) {
|
|
124
|
-
// If there is no cache or no cached entry, process the file
|
|
125
|
-
result = (await this.#ensureWorkerPool().run({
|
|
126
|
-
filename,
|
|
127
|
-
data,
|
|
128
|
-
skipLinker,
|
|
129
|
-
sideEffects,
|
|
130
|
-
instrumentForCoverage,
|
|
131
|
-
...this.#commonOptions,
|
|
132
|
-
}, {
|
|
133
|
-
// The below is disable as with Yarn PNP this causes build failures with the below message
|
|
134
|
-
// `Unable to deserialize cloned data`.
|
|
135
|
-
transferList: process.versions.pnp ? undefined : [data.buffer],
|
|
136
|
-
}));
|
|
137
|
-
// If there is a cache then store the result
|
|
138
|
-
if (this.cache && cacheKey) {
|
|
139
|
-
try {
|
|
140
|
-
await this.cache.put(cacheKey, result);
|
|
141
|
-
}
|
|
142
|
-
catch {
|
|
143
|
-
// Failure to store the value in the cache should not fail the transform
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return result;
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Performs JavaScript transformations on the provided data of a file. The file does not need
|
|
152
|
-
* to exist on the filesystem.
|
|
153
|
-
* @param filename The full path of the file represented by the data.
|
|
154
|
-
* @param data The data of the file that should be transformed.
|
|
155
|
-
* @param skipLinker If true, bypass all Angular linker processing; if false, attempt linking.
|
|
156
|
-
* @param sideEffects If false, and `advancedOptimizations` is enabled tslib decorators are wrapped.
|
|
157
|
-
* @returns A promise that resolves to a UTF-8 encoded Uint8Array containing the result.
|
|
158
|
-
*/
|
|
159
|
-
async transformData(filename, data, skipLinker, sideEffects, instrumentForCoverage) {
|
|
160
|
-
// Perform a quick test to determine if the data needs any transformations.
|
|
161
|
-
// This allows directly returning the data without the worker communication overhead.
|
|
162
|
-
if (skipLinker && !this.#commonOptions.advancedOptimizations && !instrumentForCoverage) {
|
|
163
|
-
const keepSourcemap = this.#commonOptions.sourcemap &&
|
|
164
|
-
(!!this.#commonOptions.thirdPartySourcemaps || !/[\\/]node_modules[\\/]/.test(filename));
|
|
165
|
-
return Buffer.from(keepSourcemap ? data : (0, source_map_1.removeSourceMappingURL)(data), 'utf-8');
|
|
166
|
-
}
|
|
167
|
-
return this.#runWithThrottle(() => this.#ensureWorkerPool().run({
|
|
168
|
-
filename,
|
|
169
|
-
data,
|
|
170
|
-
skipLinker,
|
|
171
|
-
sideEffects,
|
|
172
|
-
instrumentForCoverage,
|
|
173
|
-
...this.#commonOptions,
|
|
174
|
-
}));
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Stops all active transformation tasks and shuts down all workers.
|
|
178
|
-
* @returns A void promise that resolves when closing is complete.
|
|
179
|
-
*/
|
|
180
|
-
async close() {
|
|
181
|
-
const pending = this.#pendingTasks;
|
|
182
|
-
this.#pendingTasks = [];
|
|
183
|
-
for (const task of pending) {
|
|
184
|
-
task.reject(new Error('JavaScriptTransformer closed.'));
|
|
185
|
-
}
|
|
186
|
-
if (this.#workerPool) {
|
|
187
|
-
try {
|
|
188
|
-
await this.#workerPool.destroy();
|
|
189
|
-
}
|
|
190
|
-
finally {
|
|
191
|
-
this.#workerPool = undefined;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
exports.JavaScriptTransformer = JavaScriptTransformer;
|
|
197
|
-
//# sourceMappingURL=javascript-transformer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"javascript-transformer.js","sourceRoot":"","sources":["javascript-transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright Google LLC All Rights Reserved.
|
|
5
|
-
*
|
|
6
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
-
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.SqliteCacheStore = void 0;
|
|
11
|
-
const node_sqlite_1 = require("node:sqlite");
|
|
12
|
-
const node_v8_1 = require("node:v8");
|
|
13
|
-
const cache_1 = require("./cache");
|
|
14
|
-
/**
|
|
15
|
-
* A persistent cache store backed by SQLite.
|
|
16
|
-
*
|
|
17
|
-
* Values are persisted with the V8 structured clone serialization API instead of JSON. Cached
|
|
18
|
-
* values include binary data such as the `Uint8Array` output of the JavaScript transformer and
|
|
19
|
-
* the `contents` of an esbuild load result. A JSON round-trip converts those into plain objects
|
|
20
|
-
* (`{"0":105,"1":109,...}`), which breaks consumers on any build that reads them back from disk.
|
|
21
|
-
*/
|
|
22
|
-
class SqliteCacheStore {
|
|
23
|
-
cachePath;
|
|
24
|
-
maxPayloadSize;
|
|
25
|
-
ttlDays;
|
|
26
|
-
#db;
|
|
27
|
-
#getStmt;
|
|
28
|
-
#hasStmt;
|
|
29
|
-
#setStmt;
|
|
30
|
-
#updateAccessedStmt;
|
|
31
|
-
#pendingAccessedKeys = new Set();
|
|
32
|
-
#flushTimeout;
|
|
33
|
-
constructor(cachePath, maxPayloadSize = 1024 * 1024 * 1024, ttlDays = 14) {
|
|
34
|
-
this.cachePath = cachePath;
|
|
35
|
-
this.maxPayloadSize = maxPayloadSize;
|
|
36
|
-
this.ttlDays = ttlDays;
|
|
37
|
-
}
|
|
38
|
-
#ensureDb() {
|
|
39
|
-
if (!this.#db) {
|
|
40
|
-
this.#db = new node_sqlite_1.DatabaseSync(this.cachePath);
|
|
41
|
-
// Optimize SQLite for cache usage
|
|
42
|
-
this.#db.exec('PRAGMA auto_vacuum = FULL;');
|
|
43
|
-
this.#db.exec('PRAGMA journal_mode = WAL;');
|
|
44
|
-
this.#db.exec('PRAGMA synchronous = NORMAL;');
|
|
45
|
-
this.#db.exec('PRAGMA busy_timeout = 5000;');
|
|
46
|
-
this.#db.exec('PRAGMA temp_store = MEMORY;');
|
|
47
|
-
this.#db.exec('PRAGMA mmap_size = 268435456;');
|
|
48
|
-
this.#db.exec('CREATE TABLE IF NOT EXISTS cache (key TEXT PRIMARY KEY, value BLOB, last_accessed INTEGER NOT NULL) WITHOUT ROWID;');
|
|
49
|
-
this.#getStmt = this.#db.prepare('SELECT value FROM cache WHERE key = ?');
|
|
50
|
-
this.#hasStmt = this.#db.prepare('SELECT 1 FROM cache WHERE key = ?');
|
|
51
|
-
this.#setStmt = this.#db.prepare('INSERT OR REPLACE INTO cache (key, value, last_accessed) VALUES (?, ?, unixepoch())');
|
|
52
|
-
this.#updateAccessedStmt = this.#db.prepare('UPDATE cache SET last_accessed = unixepoch() WHERE key = ?');
|
|
53
|
-
}
|
|
54
|
-
return this.#db;
|
|
55
|
-
}
|
|
56
|
-
#queueAccessUpdate(key) {
|
|
57
|
-
this.#pendingAccessedKeys.add(key);
|
|
58
|
-
if (this.#pendingAccessedKeys.size >= 100) {
|
|
59
|
-
this.#flushAccessUpdates();
|
|
60
|
-
}
|
|
61
|
-
else if (!this.#flushTimeout) {
|
|
62
|
-
this.#flushTimeout = setTimeout(() => this.#flushAccessUpdates(), 500);
|
|
63
|
-
this.#flushTimeout.unref?.();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
#flushAccessUpdates() {
|
|
67
|
-
if (this.#flushTimeout) {
|
|
68
|
-
clearTimeout(this.#flushTimeout);
|
|
69
|
-
this.#flushTimeout = undefined;
|
|
70
|
-
}
|
|
71
|
-
if (!this.#db || this.#pendingAccessedKeys.size === 0 || !this.#updateAccessedStmt) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
try {
|
|
75
|
-
this.#db.exec('BEGIN IMMEDIATE TRANSACTION;');
|
|
76
|
-
for (const key of this.#pendingAccessedKeys) {
|
|
77
|
-
this.#updateAccessedStmt.run(key);
|
|
78
|
-
}
|
|
79
|
-
this.#db.exec('COMMIT;');
|
|
80
|
-
}
|
|
81
|
-
catch {
|
|
82
|
-
try {
|
|
83
|
-
this.#db.exec('ROLLBACK;');
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
// Ignore rollback errors if transaction was not active
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
finally {
|
|
90
|
-
this.#pendingAccessedKeys.clear();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
94
|
-
async get(key) {
|
|
95
|
-
this.#ensureDb();
|
|
96
|
-
// SQLite column types are dynamic, so the stored value is only known at runtime.
|
|
97
|
-
const row = this.#getStmt?.get(key);
|
|
98
|
-
if (row) {
|
|
99
|
-
this.#queueAccessUpdate(key);
|
|
100
|
-
if (row.value instanceof Uint8Array) {
|
|
101
|
-
try {
|
|
102
|
-
return (0, node_v8_1.deserialize)(row.value);
|
|
103
|
-
}
|
|
104
|
-
catch {
|
|
105
|
-
// Treat corrupt or unparseable cached payloads as a cache miss.
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return undefined;
|
|
110
|
-
}
|
|
111
|
-
has(key) {
|
|
112
|
-
this.#ensureDb();
|
|
113
|
-
return !!this.#hasStmt?.get(key);
|
|
114
|
-
}
|
|
115
|
-
async set(key, value) {
|
|
116
|
-
this.#ensureDb();
|
|
117
|
-
this.#pendingAccessedKeys.delete(key);
|
|
118
|
-
this.#setStmt?.run(key, (0, node_v8_1.serialize)(value));
|
|
119
|
-
return this;
|
|
120
|
-
}
|
|
121
|
-
createCache(namespace) {
|
|
122
|
-
return new cache_1.Cache(this, namespace);
|
|
123
|
-
}
|
|
124
|
-
close() {
|
|
125
|
-
if (this.#db) {
|
|
126
|
-
try {
|
|
127
|
-
// Flush any pending access updates in one transaction before pruning
|
|
128
|
-
this.#flushAccessUpdates();
|
|
129
|
-
// 1. Delete items older than N days
|
|
130
|
-
this.#db
|
|
131
|
-
.prepare("DELETE FROM cache WHERE last_accessed < unixepoch('now', ?);")
|
|
132
|
-
.run(`-${this.ttlDays} days`);
|
|
133
|
-
// 2. Prune oldest items if payload exceeds maxPayloadSize
|
|
134
|
-
const pruneStmt = this.#db.prepare(`
|
|
135
|
-
DELETE FROM cache WHERE key IN (
|
|
136
|
-
SELECT key FROM (
|
|
137
|
-
SELECT key,
|
|
138
|
-
sum(length(key) + length(value)) OVER (ORDER BY last_accessed DESC, key DESC) as running_size
|
|
139
|
-
FROM cache
|
|
140
|
-
) WHERE running_size > ?
|
|
141
|
-
);
|
|
142
|
-
`);
|
|
143
|
-
pruneStmt.run(this.maxPayloadSize);
|
|
144
|
-
}
|
|
145
|
-
catch {
|
|
146
|
-
// Pruning errors should not block build success
|
|
147
|
-
}
|
|
148
|
-
finally {
|
|
149
|
-
if (this.#flushTimeout) {
|
|
150
|
-
clearTimeout(this.#flushTimeout);
|
|
151
|
-
this.#flushTimeout = undefined;
|
|
152
|
-
}
|
|
153
|
-
this.#pendingAccessedKeys.clear();
|
|
154
|
-
this.#getStmt = undefined;
|
|
155
|
-
this.#hasStmt = undefined;
|
|
156
|
-
this.#setStmt = undefined;
|
|
157
|
-
this.#updateAccessedStmt = undefined;
|
|
158
|
-
this.#db.close();
|
|
159
|
-
this.#db = undefined;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
exports.SqliteCacheStore = SqliteCacheStore;
|
|
165
|
-
//# sourceMappingURL=sqlite-cache-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-cache-store.js","sourceRoot":"","sources":["sqlite-cache-store.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,6CAA0D;AAC1D,qCAAiD;AACjD,mCAAsD;AAEtD;;;;;;;GAOG;AACH,MAAa,gBAAgB;IAUhB;IACQ;IACA;IAXnB,GAAG,CAA2B;IAC9B,QAAQ,CAA4B;IACpC,QAAQ,CAA4B;IACpC,QAAQ,CAA4B;IACpC,mBAAmB,CAA4B;IACtC,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,aAAa,CAA6B;IAE1C,YACW,SAAiB,EACT,iBAAiB,IAAI,GAAG,IAAI,GAAG,IAAI,EACnC,UAAU,EAAE;QAFpB,cAAS,GAAT,SAAS,CAAQ;QACT,mBAAc,GAAd,cAAc,CAAqB;QACnC,YAAO,GAAP,OAAO,CAAK;IAC5B,CAAC;IAEJ,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,GAAG,IAAI,0BAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,kCAAkC;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,oHAAoH,CACrH,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAC9B,qFAAqF,CACtF,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CACzC,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC5B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YAC1C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,iFAAiF;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAmC,CAAC;QAEtE,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAE7B,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACH,OAAO,IAAA,qBAAW,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,gEAAgE;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc;QACnC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,IAAA,mBAAS,EAAC,KAAK,CAAC,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAc,SAAiB;QACxC,OAAO,IAAI,aAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,qEAAqE;gBACrE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAE3B,oCAAoC;gBACpC,IAAI,CAAC,GAAG;qBACL,OAAO,CAAC,8DAA8D,CAAC;qBACvE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC;gBAEhC,0DAA0D;gBAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;;;;;;;SAQlC,CAAC,CAAC;gBACH,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,gDAAgD;YAClD,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACjC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;gBAElC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBAErC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAhKD,4CAgKC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright Google LLC All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
-
*/
|
|
8
|
-
export declare class ChangedFiles {
|
|
9
|
-
readonly added: Set<string>;
|
|
10
|
-
readonly modified: Set<string>;
|
|
11
|
-
readonly removed: Set<string>;
|
|
12
|
-
get all(): string[];
|
|
13
|
-
toDebugString(): string;
|
|
14
|
-
}
|
|
15
|
-
export interface BuildWatcher extends AsyncIterableIterator<ChangedFiles> {
|
|
16
|
-
add(paths: string | readonly string[]): void;
|
|
17
|
-
remove(paths: string | readonly string[]): void;
|
|
18
|
-
close(): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
export declare function createWatcher(options?: {
|
|
21
|
-
polling?: boolean;
|
|
22
|
-
interval?: number;
|
|
23
|
-
ignored?: string[];
|
|
24
|
-
followSymlinks?: boolean;
|
|
25
|
-
}): BuildWatcher;
|