@angular/build 22.2.0-next.5 → 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 +14 -13
- package/src/builders/application/build-action.js +48 -39
- 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-build.js +1 -1
- package/src/builders/application/execute-build.js.map +1 -1
- package/src/builders/application/execute-post-bundle.js +4 -7
- package/src/builders/application/execute-post-bundle.js.map +1 -1
- package/src/builders/application/i18n.js +8 -9
- package/src/builders/application/i18n.js.map +1 -1
- package/src/builders/application/index.js +2 -2
- package/src/builders/application/index.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/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/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/index.js +4 -7
- package/src/builders/dev-server/vite/index.js.map +1 -1
- package/src/builders/dev-server/vite/server.js +2 -2
- 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/options.d.ts +1 -0
- package/src/builders/unit-test/options.js +2 -1
- package/src/builders/unit-test/options.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/build-options.js +5 -6
- package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/executor.js +4 -4
- package/src/builders/unit-test/runners/vitest/executor.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 +10 -2
- package/src/builders/unit-test/schema.js.map +1 -1
- package/src/builders/unit-test/schema.json +7 -1
- package/src/private.d.ts +1 -2
- package/src/private.js +4 -5
- package/src/private.js.map +1 -1
- package/src/tools/angular/compilation/angular-compilation.d.ts +3 -8
- package/src/tools/angular/compilation/angular-compilation.js +2 -88
- package/src/tools/angular/compilation/angular-compilation.js.map +1 -1
- package/src/tools/angular/compilation/aot-compilation.d.ts +5 -5
- package/src/tools/angular/compilation/aot-compilation.js +8 -14
- package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
- package/src/tools/angular/compilation/compiler-options.d.ts +24 -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/index.d.ts +1 -1
- 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 +5 -5
- package/src/tools/angular/compilation/jit-compilation.js +7 -16
- package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
- package/src/tools/angular/compilation/parallel-compilation.d.ts +2 -7
- package/src/tools/angular/compilation/parallel-compilation.js +3 -29
- package/src/tools/angular/compilation/parallel-compilation.js.map +1 -1
- package/src/tools/angular/compilation/parallel-worker.d.ts +2 -2
- package/src/tools/angular/compilation/parallel-worker.js +3 -12
- 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 +115 -0
- package/src/tools/angular/compilation/typescript-compilation.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.js +76 -114
- package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
- package/src/tools/esbuild/bundler-execution-result.d.ts +1 -0
- 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/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-worker.d.ts +47 -55
- package/src/tools/esbuild/i18n-inliner-worker.js +67 -98
- package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
- package/src/tools/esbuild/i18n-inliner.d.ts +15 -11
- package/src/tools/esbuild/i18n-inliner.js +227 -122
- package/src/tools/esbuild/i18n-inliner.js.map +1 -1
- package/src/tools/esbuild/i18n-translation-encoder.d.ts +2 -1
- package/src/tools/esbuild/i18n-translation-encoder.js.map +1 -1
- package/src/tools/esbuild/i18n-translation-reader.d.ts +4 -3
- package/src/tools/esbuild/i18n-translation-reader.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-worker.js +8 -4
- package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -1
- package/src/tools/esbuild/javascript-transformer.d.ts +18 -6
- package/src/tools/esbuild/javascript-transformer.js +104 -41
- 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 +9 -1
- package/src/tools/esbuild/sqlite-cache-store.js +249 -63
- 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 +68 -42
- package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -1
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.d.ts +1 -1
- package/src/tools/esbuild/utils.d.ts +1 -1
- package/src/tools/esbuild/utils.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 +76 -118
- package/src/tools/oxc/oxc-transform.js.map +1 -1
- 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/sass/rebasing-importer.d.ts +8 -14
- package/src/tools/sass/rebasing-importer.js +18 -24
- 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/utils/environment-options.d.ts +12 -0
- package/src/utils/environment-options.js +20 -12
- package/src/utils/environment-options.js.map +1 -1
- package/src/utils/i18n-options.d.ts +2 -1
- package/src/utils/i18n-options.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.d.ts +11 -1
- package/src/utils/normalize-cache.js +6 -3
- package/src/utils/normalize-cache.js.map +1 -1
- package/src/utils/purge-cache.js +24 -13
- package/src/utils/purge-cache.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/server-rendering/prerender.d.ts +2 -1
- package/src/utils/server-rendering/prerender.js +31 -18
- package/src/utils/server-rendering/prerender.js.map +1 -1
- package/src/utils/server-rendering/render-worker.d.ts +6 -4
- package/src/utils/server-rendering/render-worker.js +3 -1
- package/src/utils/server-rendering/render-worker.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/tools/angular/compilation/noop-compilation.d.ts +0 -15
- package/src/tools/angular/compilation/noop-compilation.js +0 -27
- package/src/tools/angular/compilation/noop-compilation.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
|
@@ -12,6 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.I18nInliner = void 0;
|
|
14
14
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
15
|
+
const node_module_1 = require("node:module");
|
|
15
16
|
const node_path_1 = require("node:path");
|
|
16
17
|
const node_v8_1 = require("node:v8");
|
|
17
18
|
const hash_1 = require("../../utils/hash");
|
|
@@ -19,16 +20,29 @@ const worker_pool_1 = require("../../utils/worker-pool");
|
|
|
19
20
|
const bundler_files_1 = require("./bundler-files");
|
|
20
21
|
const cache_1 = require("./cache");
|
|
21
22
|
const i18n_translation_encoder_1 = require("./i18n-translation-encoder");
|
|
23
|
+
// TODO: Convert to import.meta usage during ESM transition
|
|
24
|
+
const localRequire = (0, node_module_1.createRequire)(__filename);
|
|
25
|
+
const INLINER_WORKER_PATH = localRequire.resolve('./i18n-inliner-worker');
|
|
22
26
|
/**
|
|
23
27
|
* A keyword used to indicate if a JavaScript file may require inlining of translations.
|
|
24
28
|
* This keyword is used to avoid processing files that would not otherwise need i18n processing.
|
|
25
29
|
*/
|
|
26
30
|
const LOCALIZE_KEYWORD = '$localize';
|
|
27
31
|
/**
|
|
28
|
-
* The
|
|
29
|
-
* This caps peak worker memory while maintaining multi-locale batching throughput.
|
|
32
|
+
* The baseline number of locales to process concurrently in a single sliding window.
|
|
33
|
+
* This caps peak worker memory on low-core machines while maintaining multi-locale batching throughput.
|
|
30
34
|
*/
|
|
31
35
|
const DEFAULT_LOCALE_WINDOW_SIZE = 8;
|
|
36
|
+
/**
|
|
37
|
+
* Minimum byte size threshold for a file to be eligible for multi-batch sharding.
|
|
38
|
+
* Files below this threshold (< 100 KB) are processed in a single batch to minimize IPC overhead.
|
|
39
|
+
*/
|
|
40
|
+
const SMALL_FILE_FLOOR_BYTES = 100 * 1024;
|
|
41
|
+
/**
|
|
42
|
+
* Ratio of the maximum file size in a window to consider a file "dominant".
|
|
43
|
+
* Files within 70% of the largest file are sharded across all workers for maximum concurrency.
|
|
44
|
+
*/
|
|
45
|
+
const DOMINANT_FILE_RATIO = 0.7;
|
|
32
46
|
/**
|
|
33
47
|
* Serializes the translation messages for a locale for transfer to an inliner Worker.
|
|
34
48
|
*
|
|
@@ -37,13 +51,35 @@ const DEFAULT_LOCALE_WINDOW_SIZE = 8;
|
|
|
37
51
|
* SharedArrayBuffer is unavailable.
|
|
38
52
|
*
|
|
39
53
|
* @param translation The translation messages for a locale, if the locale has any.
|
|
54
|
+
* @param translationIntegrity Optional content hash of the translation file for cache lookup.
|
|
55
|
+
* @param translationCache Optional Cache instance for binary translation buffers.
|
|
40
56
|
* @returns A SharedArrayBuffer or Blob containing the serialized messages, or undefined if none.
|
|
41
57
|
*/
|
|
42
|
-
function serializeTranslation(translation) {
|
|
58
|
+
async function serializeTranslation(translation, translationIntegrity, translationCache) {
|
|
43
59
|
if (!translation) {
|
|
44
60
|
return undefined;
|
|
45
61
|
}
|
|
46
62
|
if (typeof SharedArrayBuffer !== 'undefined') {
|
|
63
|
+
if (translationIntegrity && translationCache) {
|
|
64
|
+
// Look up or generate binary translation data in the persistent cache.
|
|
65
|
+
// A Uint8Array view is stored in the cache store to allow binary persistence.
|
|
66
|
+
const binaryData = await translationCache.getOrCreate(translationIntegrity, () => {
|
|
67
|
+
return new Uint8Array((0, i18n_translation_encoder_1.encodeTranslationToBuffer)(translation));
|
|
68
|
+
});
|
|
69
|
+
// On a cache miss, getOrCreate returns the newly created Uint8Array backed by the
|
|
70
|
+
// original SharedArrayBuffer. Return it directly to avoid an unnecessary allocation and copy.
|
|
71
|
+
if (binaryData.buffer instanceof SharedArrayBuffer &&
|
|
72
|
+
binaryData.byteOffset === 0 &&
|
|
73
|
+
binaryData.byteLength === binaryData.buffer.byteLength) {
|
|
74
|
+
return binaryData.buffer;
|
|
75
|
+
}
|
|
76
|
+
// On a warm cache hit, the restored data is backed by a standard ArrayBuffer from disk.
|
|
77
|
+
// Copy it into a SharedArrayBuffer so worker threads can access it via zero-copy shared memory.
|
|
78
|
+
const buffer = new SharedArrayBuffer(binaryData.byteLength);
|
|
79
|
+
new Uint8Array(buffer).set(binaryData);
|
|
80
|
+
return buffer;
|
|
81
|
+
}
|
|
82
|
+
// When persistent caching is not configured, encode directly into a SharedArrayBuffer.
|
|
47
83
|
return (0, i18n_translation_encoder_1.encodeTranslationToBuffer)(translation);
|
|
48
84
|
}
|
|
49
85
|
return new Blob([(0, node_v8_1.serialize)(translation)]);
|
|
@@ -59,16 +95,32 @@ class I18nInliner {
|
|
|
59
95
|
#cacheInitFailed = false;
|
|
60
96
|
#workerPool;
|
|
61
97
|
#cacheStore;
|
|
62
|
-
#
|
|
63
|
-
#
|
|
64
|
-
#
|
|
65
|
-
|
|
98
|
+
#transformedFileCache;
|
|
99
|
+
#translationCache;
|
|
100
|
+
#generation = 0;
|
|
101
|
+
get #maxConcurrency() {
|
|
102
|
+
return this.options.maxConcurrency ?? (this.#workerPool.maxThreads || 1);
|
|
103
|
+
}
|
|
104
|
+
constructor(options) {
|
|
66
105
|
this.options = options;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
106
|
+
if (options.maxConcurrency !== undefined &&
|
|
107
|
+
(!Number.isInteger(options.maxConcurrency) || options.maxConcurrency < 1)) {
|
|
108
|
+
throw new RangeError('options.maxConcurrency must be an integer greater than or equal to 1.');
|
|
109
|
+
}
|
|
110
|
+
// Piscina uses object spread against default options internally. Only define
|
|
111
|
+
// maxThreads when specified to avoid overwriting Piscina's default thread count
|
|
112
|
+
// with undefined.
|
|
113
|
+
this.#workerPool = new worker_pool_1.WorkerPool({
|
|
114
|
+
...(options.maxConcurrency !== undefined && { maxThreads: options.maxConcurrency }),
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
#partitionFiles(files) {
|
|
118
|
+
const filenames = [];
|
|
119
|
+
const localizeFiles = new Map();
|
|
120
|
+
const localizeMaps = new Map();
|
|
121
|
+
const unmodifiedFiles = [];
|
|
70
122
|
const pendingMaps = [];
|
|
71
|
-
for (const file of
|
|
123
|
+
for (const file of files) {
|
|
72
124
|
if (file.type === bundler_files_1.BuildOutputFileType.Root || file.type === bundler_files_1.BuildOutputFileType.ServerRoot) {
|
|
73
125
|
// Skip also the server entry-point.
|
|
74
126
|
// Skip stats and similar files.
|
|
@@ -82,7 +134,8 @@ class I18nInliner {
|
|
|
82
134
|
: Buffer.from(file.contents.buffer, file.contents.byteOffset, file.contents.byteLength);
|
|
83
135
|
const hasLocalize = contentBuffer.includes(LOCALIZE_KEYWORD);
|
|
84
136
|
if (hasLocalize) {
|
|
85
|
-
|
|
137
|
+
localizeFiles.set(file.path, file);
|
|
138
|
+
filenames.push(file.path);
|
|
86
139
|
continue;
|
|
87
140
|
}
|
|
88
141
|
}
|
|
@@ -92,33 +145,19 @@ class I18nInliner {
|
|
|
92
145
|
pendingMaps.push(file);
|
|
93
146
|
continue;
|
|
94
147
|
}
|
|
95
|
-
|
|
148
|
+
unmodifiedFiles.push(file);
|
|
96
149
|
}
|
|
97
150
|
// Check if any pending map files should be processed by checking if the parent JS file is present
|
|
98
151
|
for (const file of pendingMaps) {
|
|
99
|
-
|
|
100
|
-
|
|
152
|
+
const jsPath = file.path.slice(0, -4);
|
|
153
|
+
if (localizeFiles.has(jsPath)) {
|
|
154
|
+
localizeMaps.set(jsPath, file);
|
|
101
155
|
}
|
|
102
156
|
else {
|
|
103
|
-
|
|
157
|
+
unmodifiedFiles.push(file);
|
|
104
158
|
}
|
|
105
159
|
}
|
|
106
|
-
|
|
107
|
-
this.#workerPool = new worker_pool_1.WorkerPool({
|
|
108
|
-
filename: require.resolve('./i18n-inliner-worker'),
|
|
109
|
-
maxThreads,
|
|
110
|
-
// Extract options to ensure only the named options are serialized and sent to the worker
|
|
111
|
-
workerData: {
|
|
112
|
-
missingTranslation,
|
|
113
|
-
shouldOptimize,
|
|
114
|
-
translations,
|
|
115
|
-
// A Blob is an immutable data structure that allows sharing the data between workers
|
|
116
|
-
// without copying until the data is actually used within a Worker. This is useful here
|
|
117
|
-
// since each file may not actually be processed in each Worker and the Blob avoids
|
|
118
|
-
// unneeded repeat copying of potentially large JavaScript files.
|
|
119
|
-
files: new Map(Array.from(files, ([name, file]) => [name, new Blob([file.contents])])),
|
|
120
|
-
},
|
|
121
|
-
});
|
|
160
|
+
return { filenames, localizeFiles, localizeMaps, unmodifiedFiles };
|
|
122
161
|
}
|
|
123
162
|
/**
|
|
124
163
|
* Performs inlining of translations across multiple locales in parallel.
|
|
@@ -126,98 +165,95 @@ class I18nInliner {
|
|
|
126
165
|
* An adaptive 2D task-partitioning algorithm distributes (files x locales) work units
|
|
127
166
|
* across all worker threads while caching AST metadata and sourcemaps in worker memory.
|
|
128
167
|
*
|
|
168
|
+
* @param files The build output files to transform.
|
|
129
169
|
* @param locales The locales and translations to inline.
|
|
130
170
|
* @returns A map of locale names to their inlined output files and diagnostics.
|
|
131
171
|
*/
|
|
132
|
-
async inlineAll(locales) {
|
|
172
|
+
async inlineAll(files, locales) {
|
|
133
173
|
await this.initCache();
|
|
134
|
-
const
|
|
174
|
+
const generation = ++this.#generation;
|
|
175
|
+
const { missingTranslation, localizeVersion } = this.options;
|
|
135
176
|
const localeList = Array.from(locales);
|
|
136
177
|
if (localeList.length === 0) {
|
|
137
178
|
return new Map();
|
|
138
179
|
}
|
|
180
|
+
const { filenames, localizeFiles, localizeMaps, unmodifiedFiles } = this.#partitionFiles(files);
|
|
139
181
|
const fileResultsByLocale = new Map();
|
|
140
182
|
for (const { locale } of localeList) {
|
|
183
|
+
(0, node_assert_1.default)(!fileResultsByLocale.has(locale), 'Duplicate locale provided to inliner: ' + locale);
|
|
141
184
|
fileResultsByLocale.set(locale, new Map());
|
|
142
185
|
}
|
|
143
|
-
|
|
144
|
-
//
|
|
145
|
-
|
|
146
|
-
|
|
186
|
+
// Process locales in sliding windows to cap peak worker memory.
|
|
187
|
+
// Ensure the window has at least enough locales to saturate all available workers on high-core machines.
|
|
188
|
+
const windowSize = Math.max(DEFAULT_LOCALE_WINDOW_SIZE, this.#maxConcurrency);
|
|
189
|
+
for (let i = 0; i < localeList.length; i += windowSize) {
|
|
190
|
+
const windowLocales = localeList.slice(i, i + windowSize);
|
|
147
191
|
const activeLocales = windowLocales.map((item) => item.locale);
|
|
148
|
-
const isLastWindow = i +
|
|
192
|
+
const isLastWindow = i + windowSize >= localeList.length;
|
|
149
193
|
// Pre-calculate cache key bases and serialized Blobs for each locale in this window
|
|
150
194
|
const localeCacheBases = new Map();
|
|
151
195
|
const localeBlobs = new Map();
|
|
152
|
-
|
|
153
|
-
|
|
196
|
+
await Promise.all(windowLocales.map(async ({ locale, translation, translationIntegrity }) => {
|
|
197
|
+
const serialized = await serializeTranslation(translation, translationIntegrity, this.#translationCache);
|
|
198
|
+
localeBlobs.set(locale, serialized);
|
|
154
199
|
if (this.#cacheStore) {
|
|
155
200
|
localeCacheBases.set(locale, (0, hash_1.calculateHash)(JSON.stringify({
|
|
156
201
|
locale,
|
|
157
202
|
translation: translationIntegrity || translation,
|
|
158
203
|
missingTranslation,
|
|
159
|
-
shouldOptimize,
|
|
160
204
|
localizeVersion,
|
|
161
205
|
})));
|
|
162
206
|
}
|
|
163
|
-
}
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
for (const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
207
|
+
}));
|
|
208
|
+
const uncachedByFile = new Map();
|
|
209
|
+
if (this.#transformedFileCache) {
|
|
210
|
+
const cache = this.#transformedFileCache;
|
|
211
|
+
const cacheChecks = [];
|
|
212
|
+
for (const filename of filenames) {
|
|
213
|
+
const file = localizeFiles.get(filename);
|
|
214
|
+
(0, node_assert_1.default)(file !== undefined, 'Localize file must exist: ' + filename);
|
|
215
|
+
const fileEntriesPromises = windowLocales.map(async ({ locale }) => {
|
|
172
216
|
const fileCacheKeyBase = localeCacheBases.get(locale);
|
|
173
217
|
(0, node_assert_1.default)(fileCacheKeyBase !== undefined, 'Cache base must exist for locale: ' + locale);
|
|
174
218
|
const hasher = (0, hash_1.createContentHash)();
|
|
175
219
|
hasher.update(file.hash);
|
|
176
220
|
hasher.update(filename);
|
|
177
221
|
hasher.update(fileCacheKeyBase);
|
|
178
|
-
cacheKey = hasher.digest();
|
|
179
|
-
|
|
180
|
-
.get(cacheKey)
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
222
|
+
const cacheKey = hasher.digest();
|
|
223
|
+
try {
|
|
224
|
+
const result = await cache.get(cacheKey);
|
|
225
|
+
if (result) {
|
|
226
|
+
fileResultsByLocale.get(locale)?.set(filename, result);
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch { }
|
|
231
|
+
return {
|
|
232
|
+
locale,
|
|
233
|
+
cacheKey,
|
|
234
|
+
translation: localeBlobs.get(locale),
|
|
235
|
+
};
|
|
189
236
|
});
|
|
237
|
+
cacheChecks.push(Promise.all(fileEntriesPromises).then((entries) => {
|
|
238
|
+
const filtered = entries.filter((e) => e !== undefined);
|
|
239
|
+
if (filtered.length > 0) {
|
|
240
|
+
uncachedByFile.set(filename, filtered);
|
|
241
|
+
}
|
|
242
|
+
}));
|
|
190
243
|
}
|
|
244
|
+
await Promise.all(cacheChecks);
|
|
191
245
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
const uncachedByFile = new Map();
|
|
199
|
-
for (const item of resolvedChecks) {
|
|
200
|
-
if (item.result) {
|
|
201
|
-
// Cache hit: store directly in locale file results
|
|
202
|
-
fileResultsByLocale.get(item.locale)?.set(item.filename, item.result);
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
// Cache miss: needs worker processing
|
|
206
|
-
let fileEntries = uncachedByFile.get(item.filename);
|
|
207
|
-
if (!fileEntries) {
|
|
208
|
-
fileEntries = [];
|
|
209
|
-
uncachedByFile.set(item.filename, fileEntries);
|
|
210
|
-
}
|
|
211
|
-
fileEntries.push({
|
|
212
|
-
locale: item.locale,
|
|
213
|
-
cacheKey: item.cacheKey,
|
|
214
|
-
translation: localeBlobs.get(item.locale),
|
|
215
|
-
});
|
|
246
|
+
else {
|
|
247
|
+
for (const filename of filenames) {
|
|
248
|
+
uncachedByFile.set(filename, windowLocales.map(({ locale }) => ({
|
|
249
|
+
locale,
|
|
250
|
+
translation: localeBlobs.get(locale),
|
|
251
|
+
})));
|
|
216
252
|
}
|
|
217
253
|
}
|
|
218
254
|
// Adaptive 2D Sharding for uncached tasks in this window
|
|
219
255
|
if (uncachedByFile.size > 0) {
|
|
220
|
-
await this.#processUncachedBatches(
|
|
256
|
+
await this.#processUncachedBatches(localizeFiles, localizeMaps, uncachedByFile, fileResultsByLocale, activeLocales, isLastWindow, generation);
|
|
221
257
|
}
|
|
222
258
|
}
|
|
223
259
|
// Assemble final results in deterministic order per locale
|
|
@@ -229,16 +265,26 @@ class I18nInliner {
|
|
|
229
265
|
const warnings = [];
|
|
230
266
|
if (fileResults) {
|
|
231
267
|
for (const filename of filenames) {
|
|
268
|
+
const originalFile = localizeFiles.get(filename);
|
|
269
|
+
(0, node_assert_1.default)(originalFile !== undefined, 'Localize file must exist: ' + filename);
|
|
232
270
|
const fileResult = fileResults.get(filename);
|
|
233
271
|
if (!fileResult) {
|
|
234
272
|
continue;
|
|
235
273
|
}
|
|
236
|
-
const type =
|
|
237
|
-
(
|
|
238
|
-
|
|
239
|
-
|
|
274
|
+
const type = originalFile.type;
|
|
275
|
+
if (fileResult.code != undefined) {
|
|
276
|
+
outputFiles.push((0, bundler_files_1.createOutputFile)(filename, fileResult.code, type));
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
outputFiles.push(originalFile.clone());
|
|
280
|
+
}
|
|
281
|
+
const originalMap = localizeMaps.get(filename);
|
|
282
|
+
if (fileResult.map !== undefined) {
|
|
240
283
|
outputFiles.push((0, bundler_files_1.createOutputFile)(filename + '.map', fileResult.map, type));
|
|
241
284
|
}
|
|
285
|
+
else if (originalMap !== undefined) {
|
|
286
|
+
outputFiles.push(originalMap.clone());
|
|
287
|
+
}
|
|
242
288
|
for (const message of fileResult.messages) {
|
|
243
289
|
if (message.type === 'error') {
|
|
244
290
|
errors.push(message.message);
|
|
@@ -250,7 +296,7 @@ class I18nInliner {
|
|
|
250
296
|
}
|
|
251
297
|
}
|
|
252
298
|
// Include cloned unmodified files for every locale
|
|
253
|
-
outputFiles.push(...
|
|
299
|
+
outputFiles.push(...unmodifiedFiles.map((file) => file.clone()));
|
|
254
300
|
resultsByLocale.set(locale, {
|
|
255
301
|
outputFiles,
|
|
256
302
|
errors,
|
|
@@ -259,62 +305,119 @@ class I18nInliner {
|
|
|
259
305
|
}
|
|
260
306
|
return resultsByLocale;
|
|
261
307
|
}
|
|
262
|
-
async #processUncachedBatches(
|
|
263
|
-
const workerCount = this.#
|
|
264
|
-
|
|
265
|
-
|
|
308
|
+
async #processUncachedBatches(localizeFiles, localizeMaps, uncachedByFile, fileResultsByLocale, activeLocales, isLastWindow = true, generation) {
|
|
309
|
+
const workerCount = this.#maxConcurrency;
|
|
310
|
+
// Extract file data and identify the heaviest file size in a single pass
|
|
311
|
+
let maxFileSize = 0;
|
|
312
|
+
const sortedFiles = Array.from(uncachedByFile, ([filename, entries]) => {
|
|
313
|
+
const codeFile = localizeFiles.get(filename);
|
|
314
|
+
(0, node_assert_1.default)(codeFile !== undefined, 'Localize file must exist: ' + filename);
|
|
315
|
+
const fileSize = codeFile.contents.byteLength;
|
|
316
|
+
if (fileSize > maxFileSize) {
|
|
317
|
+
maxFileSize = fileSize;
|
|
318
|
+
}
|
|
319
|
+
return { filename, entries, codeFile, fileSize };
|
|
320
|
+
});
|
|
321
|
+
// Sort files descending by byte size (Longest Processing Time First / LPT).
|
|
322
|
+
// Heavy files (e.g. main.js) are queued first to saturate all worker threads immediately,
|
|
323
|
+
// while small files act as gap fillers near the window barrier to prevent tail stragglers.
|
|
324
|
+
sortedFiles.sort((a, b) => b.fileSize - a.fileSize);
|
|
266
325
|
const workerTasks = [];
|
|
267
|
-
for (const
|
|
326
|
+
for (const { filename, entries, codeFile, fileSize } of sortedFiles) {
|
|
327
|
+
const mapFile = localizeMaps.get(filename);
|
|
328
|
+
const codeBlob = new Blob([codeFile.contents]);
|
|
329
|
+
const mapBlob = mapFile ? new Blob([mapFile.contents]) : undefined;
|
|
330
|
+
let localesPerBatch;
|
|
331
|
+
if (uncachedByFile.size === 1) {
|
|
332
|
+
// Single file in window: shard across all workers to avoid idle threads
|
|
333
|
+
localesPerBatch = Math.max(1, Math.ceil(entries.length / workerCount));
|
|
334
|
+
}
|
|
335
|
+
else if (fileSize < SMALL_FILE_FLOOR_BYTES) {
|
|
336
|
+
// Small chunks (< 100 KB): process all locales in 1 batch to eliminate IPC overhead
|
|
337
|
+
localesPerBatch = entries.length;
|
|
338
|
+
}
|
|
339
|
+
else if (fileSize >= maxFileSize * DOMINANT_FILE_RATIO) {
|
|
340
|
+
// Dominant file(s): shard across all workers for maximum multi-core parallelism
|
|
341
|
+
localesPerBatch = Math.max(1, Math.ceil(entries.length / workerCount));
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
// Intermediate files: moderate sharding
|
|
345
|
+
localesPerBatch = Math.max(1, Math.ceil(entries.length / 2));
|
|
346
|
+
}
|
|
268
347
|
const ephemeral = isLastWindow && entries.length <= localesPerBatch;
|
|
269
348
|
for (let i = 0; i < entries.length; i += localesPerBatch) {
|
|
270
349
|
const batchEntries = entries.slice(i, i + localesPerBatch);
|
|
271
350
|
const task = (async () => {
|
|
272
|
-
const batchResult =
|
|
351
|
+
const batchResult = await this.#runWorkerTask('inlineFileBatch', {
|
|
273
352
|
filename,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
353
|
+
code: codeBlob,
|
|
354
|
+
map: mapBlob,
|
|
355
|
+
locales: new Map(batchEntries.map((e) => [e.locale, e.translation])),
|
|
356
|
+
missingTranslation: this.options.missingTranslation,
|
|
278
357
|
ephemeral,
|
|
279
358
|
activeLocales,
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
const
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
359
|
+
generation,
|
|
360
|
+
});
|
|
361
|
+
if (batchResult.unmodified) {
|
|
362
|
+
const unmodifiedResult = {
|
|
363
|
+
file: filename,
|
|
364
|
+
messages: batchResult.messages,
|
|
365
|
+
};
|
|
366
|
+
const cachePromises = [];
|
|
367
|
+
for (const { locale, cacheKey } of batchEntries) {
|
|
368
|
+
fileResultsByLocale.get(locale)?.set(filename, unmodifiedResult);
|
|
369
|
+
if (this.#transformedFileCache && cacheKey) {
|
|
370
|
+
cachePromises.push(this.#transformedFileCache.put(cacheKey, unmodifiedResult));
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
await Promise.allSettled(cachePromises);
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
const cachePromises = [];
|
|
377
|
+
for (const res of batchResult.results) {
|
|
378
|
+
const matchingEntry = batchEntries.find((e) => e.locale === res.locale);
|
|
379
|
+
const cacheKey = matchingEntry?.cacheKey;
|
|
380
|
+
const fileResult = {
|
|
287
381
|
file: filename,
|
|
288
382
|
code: res.code,
|
|
289
383
|
map: res.map,
|
|
290
384
|
messages: res.messages,
|
|
291
|
-
}
|
|
385
|
+
};
|
|
386
|
+
if (this.#transformedFileCache && cacheKey) {
|
|
387
|
+
cachePromises.push(this.#transformedFileCache.put(cacheKey, fileResult));
|
|
388
|
+
}
|
|
389
|
+
fileResultsByLocale.get(res.locale)?.set(filename, fileResult);
|
|
292
390
|
}
|
|
293
|
-
|
|
391
|
+
await Promise.allSettled(cachePromises);
|
|
294
392
|
}
|
|
295
|
-
await Promise.allSettled(cachePromises);
|
|
296
393
|
})();
|
|
297
394
|
workerTasks.push(task);
|
|
298
395
|
}
|
|
299
396
|
}
|
|
300
397
|
await Promise.all(workerTasks);
|
|
301
398
|
}
|
|
399
|
+
#runWorkerTask(name, request) {
|
|
400
|
+
return this.#workerPool.run(request, {
|
|
401
|
+
filename: INLINER_WORKER_PATH,
|
|
402
|
+
name,
|
|
403
|
+
});
|
|
404
|
+
}
|
|
302
405
|
/**
|
|
303
|
-
* Performs inlining of translations for the provided locale and translations.
|
|
304
|
-
*
|
|
305
|
-
*
|
|
406
|
+
* Performs inlining of translations for the provided locale and translations.
|
|
407
|
+
*
|
|
408
|
+
* @param files The build output files to transform.
|
|
306
409
|
* @param locale The string representing the locale to inline.
|
|
307
410
|
* @param translation The translation messages to use when inlining.
|
|
308
411
|
* @param translationIntegrity An optional integrity value for the translation messages to use for caching.
|
|
309
412
|
* @returns A promise that resolves to an array of OutputFiles representing a translated result.
|
|
310
413
|
*/
|
|
311
|
-
async inlineForLocale(locale, translation, translationIntegrity) {
|
|
312
|
-
const results = await this.inlineAll([{ locale, translation, translationIntegrity }]);
|
|
414
|
+
async inlineForLocale(files, locale, translation, translationIntegrity) {
|
|
415
|
+
const results = await this.inlineAll(files, [{ locale, translation, translationIntegrity }]);
|
|
313
416
|
const result = results.get(locale);
|
|
314
417
|
(0, node_assert_1.default)(result !== undefined, `Result for locale '${locale}' should be present.`);
|
|
315
418
|
return result;
|
|
316
419
|
}
|
|
317
|
-
async inlineTemplateUpdate(locale, translation, templateCode, templateId) {
|
|
420
|
+
async inlineTemplateUpdate(locale, translation, templateCode, templateId, translationIntegrity) {
|
|
318
421
|
const hasLocalize = templateCode.includes(LOCALIZE_KEYWORD);
|
|
319
422
|
if (!hasLocalize) {
|
|
320
423
|
return {
|
|
@@ -323,12 +426,13 @@ class I18nInliner {
|
|
|
323
426
|
warnings: [],
|
|
324
427
|
};
|
|
325
428
|
}
|
|
326
|
-
const { output, messages } = await this.#
|
|
429
|
+
const { output, messages } = await this.#runWorkerTask('inlineCode', {
|
|
327
430
|
code: templateCode,
|
|
328
431
|
filename: templateId,
|
|
329
432
|
locale,
|
|
330
|
-
|
|
331
|
-
|
|
433
|
+
missingTranslation: this.options.missingTranslation,
|
|
434
|
+
translation: await serializeTranslation(translation, translationIntegrity, this.#translationCache),
|
|
435
|
+
});
|
|
332
436
|
const errors = [];
|
|
333
437
|
const warnings = [];
|
|
334
438
|
for (const message of messages) {
|
|
@@ -374,7 +478,8 @@ class I18nInliner {
|
|
|
374
478
|
(0, cache_1.createPersistentCacheStore)((0, node_path_1.join)(persistentCachePath, 'angular-i18n')),
|
|
375
479
|
]);
|
|
376
480
|
this.#cacheStore = cacheStore;
|
|
377
|
-
this.#
|
|
481
|
+
this.#transformedFileCache = cacheStore.createCache('transforms');
|
|
482
|
+
this.#translationCache = cacheStore.createCache('translations');
|
|
378
483
|
}
|
|
379
484
|
catch {
|
|
380
485
|
this.#cacheInitFailed = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-inliner.js","sourceRoot":"","sources":["i18n-inliner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"i18n-inliner.js","sourceRoot":"","sources":["i18n-inliner.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
+
import type { ɵParsedTranslation } from '@angular/localize';
|
|
8
9
|
/**
|
|
9
10
|
* Magic header identifier for i18n SharedArrayBuffer translation tables ('I18N').
|
|
10
11
|
*/
|
|
@@ -17,4 +18,4 @@ export declare const I18N_MAGIC_ID = 1227962446;
|
|
|
17
18
|
* @param translation The translation dictionary object.
|
|
18
19
|
* @returns A SharedArrayBuffer containing the binary encoded translation catalog.
|
|
19
20
|
*/
|
|
20
|
-
export declare function encodeTranslationToBuffer(translation: Record<string,
|
|
21
|
+
export declare function encodeTranslationToBuffer<T = ɵParsedTranslation>(translation: Record<string, T>): SharedArrayBuffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-translation-encoder.js","sourceRoot":"","sources":["i18n-translation-encoder.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"i18n-translation-encoder.js","sourceRoot":"","sources":["i18n-translation-encoder.ts"],"names":[],"mappings":"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"}
|