@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sass-service.js","sourceRoot":"","sources":["sass-service.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"sass-service.js","sourceRoot":"","sources":["sass-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,9 +25,15 @@ export declare const allowMinify: boolean;
|
|
|
25
25
|
* This is useful for debugging and testing scenarios.
|
|
26
26
|
*/
|
|
27
27
|
export declare const useRolldownChunks: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the maximum number of workers was explicitly configured via the
|
|
30
|
+
* `NG_BUILD_MAX_WORKERS` environment variable.
|
|
31
|
+
*/
|
|
32
|
+
export declare const hasCustomMaxWorkers: boolean;
|
|
28
33
|
/**
|
|
29
34
|
* The maximum number of workers to use for parallel processing.
|
|
30
35
|
* This can be controlled by the `NG_BUILD_MAX_WORKERS` environment variable.
|
|
36
|
+
* When not set, defaults to available parallelism minus one to ensure the main thread is not starved.
|
|
31
37
|
*/
|
|
32
38
|
export declare const maxWorkers: number;
|
|
33
39
|
/**
|
|
@@ -69,6 +75,12 @@ export declare const usePartialSsrBuild: boolean;
|
|
|
69
75
|
* default OXC in-place linker.
|
|
70
76
|
*/
|
|
71
77
|
export declare const useBabelLinker: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* When `NG_BUILD_SASS_EMBEDDED` is set to `0` or `false`, or when running within a
|
|
80
|
+
* WebContainer environment, the native embedded Sass compiler is disabled
|
|
81
|
+
* and the pure-JavaScript Sass compiler is used instead.
|
|
82
|
+
*/
|
|
83
|
+
export declare const useSassEmbedded: boolean;
|
|
72
84
|
export declare const bazelEsbuildPluginPath: string | undefined;
|
|
73
85
|
/**
|
|
74
86
|
* The persistent cache store configuration to use.
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* found in the LICENSE file at https://angular.dev/license
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.persistentCacheStoreSetting = exports.bazelEsbuildPluginPath = exports.useBabelLinker = exports.usePartialSsrBuild = exports.useComponentTemplateHmr = exports.useComponentStyleHmr = exports.optimizeChunksThreshold = exports.useJSONBuildLogs = exports.useTypeChecking = exports.shouldWatchRoot = exports.debugPerformance = exports.useParallelTs = exports.maxWorkers = exports.useRolldownChunks = exports.allowMinify = exports.shouldBeautify = exports.allowMangle = void 0;
|
|
10
|
+
exports.persistentCacheStoreSetting = exports.bazelEsbuildPluginPath = exports.useSassEmbedded = exports.useBabelLinker = exports.usePartialSsrBuild = exports.useComponentTemplateHmr = exports.useComponentStyleHmr = exports.optimizeChunksThreshold = exports.useJSONBuildLogs = exports.useTypeChecking = exports.shouldWatchRoot = exports.debugPerformance = exports.useParallelTs = exports.maxWorkers = exports.hasCustomMaxWorkers = exports.useRolldownChunks = exports.allowMinify = exports.shouldBeautify = exports.allowMangle = void 0;
|
|
11
11
|
const node_os_1 = require("node:os");
|
|
12
12
|
/** A set of strings that are considered "truthy" when parsing environment variables. */
|
|
13
13
|
const TRUTHY_VALUES = new Set(['1', 'true']);
|
|
@@ -94,23 +94,25 @@ exports.allowMinify = debugOptimize.minify;
|
|
|
94
94
|
* This is useful for debugging and testing scenarios.
|
|
95
95
|
*/
|
|
96
96
|
exports.useRolldownChunks = parseTristate(process.env['NG_BUILD_CHUNKS_ROLLDOWN']) ?? true;
|
|
97
|
+
const maxWorkersVariable = process.env['NG_BUILD_MAX_WORKERS'];
|
|
98
|
+
let customMaxWorkers;
|
|
99
|
+
if (isPresent(maxWorkersVariable)) {
|
|
100
|
+
const parsed = +maxWorkersVariable;
|
|
101
|
+
if (Number.isInteger(parsed) && parsed >= 1) {
|
|
102
|
+
customMaxWorkers = parsed;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
97
105
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* @see https://github.com/nodejs/node/issues/28762
|
|
102
|
-
* @see https://github.com/webpack-contrib/terser-webpack-plugin/issues/143
|
|
103
|
-
* @see https://ithub.com/angular/angular-cli/issues/16860#issuecomment-588828079
|
|
104
|
-
*
|
|
106
|
+
* Whether the maximum number of workers was explicitly configured via the
|
|
107
|
+
* `NG_BUILD_MAX_WORKERS` environment variable.
|
|
105
108
|
*/
|
|
106
|
-
|
|
109
|
+
exports.hasCustomMaxWorkers = customMaxWorkers !== undefined;
|
|
107
110
|
/**
|
|
108
111
|
* The maximum number of workers to use for parallel processing.
|
|
109
112
|
* This can be controlled by the `NG_BUILD_MAX_WORKERS` environment variable.
|
|
113
|
+
* When not set, defaults to available parallelism minus one to ensure the main thread is not starved.
|
|
110
114
|
*/
|
|
111
|
-
exports.maxWorkers =
|
|
112
|
-
? +maxWorkersVariable
|
|
113
|
-
: Math.min(4, Math.max((0, node_os_1.availableParallelism)() - 1, 1));
|
|
115
|
+
exports.maxWorkers = customMaxWorkers ?? Math.max((0, node_os_1.availableParallelism)() - 1, 1);
|
|
114
116
|
/**
|
|
115
117
|
* When `NG_BUILD_PARALLEL_TS` is set to `0` or `false`, parallel TypeScript compilation is disabled.
|
|
116
118
|
*/
|
|
@@ -174,6 +176,12 @@ exports.usePartialSsrBuild = parseTristate(process.env['NG_BUILD_PARTIAL_SSR'])
|
|
|
174
176
|
* default OXC in-place linker.
|
|
175
177
|
*/
|
|
176
178
|
exports.useBabelLinker = parseTristate(process.env['NG_BUILD_BABEL_LINKER']) === true;
|
|
179
|
+
/**
|
|
180
|
+
* When `NG_BUILD_SASS_EMBEDDED` is set to `0` or `false`, or when running within a
|
|
181
|
+
* WebContainer environment, the native embedded Sass compiler is disabled
|
|
182
|
+
* and the pure-JavaScript Sass compiler is used instead.
|
|
183
|
+
*/
|
|
184
|
+
exports.useSassEmbedded = !process.versions.webcontainer && parseTristate(process.env['NG_BUILD_SASS_EMBEDDED']) !== false;
|
|
177
185
|
const bazelBinDirectory = process.env['BAZEL_BINDIR'];
|
|
178
186
|
const bazelExecRoot = process.env['JS_BINARY__EXECROOT'];
|
|
179
187
|
exports.bazelEsbuildPluginPath = bazelBinDirectory && bazelExecRoot
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-options.js","sourceRoot":"","sources":["environment-options.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,qCAA+C;AAE/C,wFAAwF;AACxF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7C,uFAAuF;AACvF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7C;;;;GAIG;AACH,SAAS,SAAS,CAAC,QAA4B;IAC7C,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,EAAE,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,QAA4B;IACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+EAA+E;IAC/E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4BAA4B;AAC5B,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACrE,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;IAC1B,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,aAAa,CAAC,qBAAqB,CAAC,KAAK,KAAK,EAAE,CAAC;QACxF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,aAAa,CAAC,qBAAqB,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAClC,KAAK,QAAQ;gBACX,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,QAAQ;gBACX,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,UAAU;gBACb,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC3B,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,EAAE,CAAC;AAEL;;;GAGG;AACU,QAAA,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC;AAEjG;;;GAGG;AACU,QAAA,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC;AAErD;;;GAGG;AACU,QAAA,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;AAEhD;;;GAGG;AACU,QAAA,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,IAAI,CAAC;AAEhG
|
|
1
|
+
{"version":3,"file":"environment-options.js","sourceRoot":"","sources":["environment-options.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
|
import type { TranslationLoader } from './load-translations';
|
|
9
10
|
export interface LocaleDescription {
|
|
10
11
|
files: {
|
|
@@ -12,7 +13,7 @@ export interface LocaleDescription {
|
|
|
12
13
|
integrity?: string;
|
|
13
14
|
format?: string;
|
|
14
15
|
}[];
|
|
15
|
-
translation?: Record<string,
|
|
16
|
+
translation?: Record<string, ɵParsedTranslation>;
|
|
16
17
|
dataPath?: string;
|
|
17
18
|
baseHref?: string;
|
|
18
19
|
subPath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-options.js","sourceRoot":"","sources":["i18n-options.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;
|
|
1
|
+
{"version":3,"file":"i18n-options.js","sourceRoot":"","sources":["i18n-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,6 @@ export type HintMode = 'prefetch' | 'preload' | 'modulepreload' | 'preconnect' |
|
|
|
12
12
|
export interface IndexHtmlGeneratorProcessOptions {
|
|
13
13
|
lang: string | undefined;
|
|
14
14
|
baseHref: string | undefined;
|
|
15
|
-
outputPath: string;
|
|
16
15
|
files: FileInfo[];
|
|
17
16
|
hints?: {
|
|
18
17
|
url: string;
|
|
@@ -35,6 +34,7 @@ export interface IndexHtmlGeneratorOptions {
|
|
|
35
34
|
imageDomains?: string[];
|
|
36
35
|
generateDedicatedSSRContent?: boolean;
|
|
37
36
|
autoCsp?: AutoCspOptions;
|
|
37
|
+
outputPath: string;
|
|
38
38
|
/**
|
|
39
39
|
* Integrity metadata for module URLs not directly referenced in the index
|
|
40
40
|
* (typically lazy-loaded chunks). Forwarded to {@link augmentIndexHtml} so
|
|
@@ -32,7 +32,7 @@ class IndexHtmlGenerator {
|
|
|
32
32
|
this.plugins = [augmentIndexHtmlPlugin(this), ...extraCommonPlugins, postTransformPlugin(this)];
|
|
33
33
|
// CSR plugins
|
|
34
34
|
if (options?.optimization?.styles?.inlineCritical) {
|
|
35
|
-
this.csrPlugins.push(inlineCriticalCssPlugin(this
|
|
35
|
+
this.csrPlugins.push(inlineCriticalCssPlugin(this));
|
|
36
36
|
}
|
|
37
37
|
this.csrPlugins.push(addNoncePlugin());
|
|
38
38
|
// SSR plugins
|
|
@@ -103,9 +103,9 @@ class IndexHtmlGenerator {
|
|
|
103
103
|
}
|
|
104
104
|
exports.IndexHtmlGenerator = IndexHtmlGenerator;
|
|
105
105
|
function augmentIndexHtmlPlugin(generator) {
|
|
106
|
-
const { deployUrl, crossOrigin, sri = false, entrypoints, imageDomains, chunksIntegrity, } = generator.options;
|
|
107
|
-
return
|
|
108
|
-
const { lang, baseHref,
|
|
106
|
+
const { deployUrl, crossOrigin, sri = false, entrypoints, imageDomains, chunksIntegrity, outputPath, } = generator.options;
|
|
107
|
+
return (html, options) => {
|
|
108
|
+
const { lang, baseHref, files, hints } = options;
|
|
109
109
|
return (0, augment_index_html_1.augmentIndexHtml)({
|
|
110
110
|
html,
|
|
111
111
|
baseHref,
|
|
@@ -126,16 +126,12 @@ function inlineFontsPlugin({ options }) {
|
|
|
126
126
|
const inlineFontsProcessor = new inline_fonts_1.InlineFontsProcessor({
|
|
127
127
|
minify: options.optimization?.styles.minify,
|
|
128
128
|
});
|
|
129
|
-
return
|
|
129
|
+
return (html) => inlineFontsProcessor.process(html);
|
|
130
130
|
}
|
|
131
|
-
function inlineCriticalCssPlugin(generator
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
readAsset: (filePath) => generator.readAsset(filePath),
|
|
136
|
-
autoCsp,
|
|
137
|
-
});
|
|
138
|
-
return async (html, options) => inlineCriticalCssProcessor.process(html, { outputPath: options.outputPath });
|
|
131
|
+
function inlineCriticalCssPlugin(generator) {
|
|
132
|
+
const { outputPath, deployUrl, optimization } = generator.options;
|
|
133
|
+
const { minify = false } = optimization?.styles ?? {};
|
|
134
|
+
return (html) => (0, inline_critical_css_1.inlineCriticalCss)(html, outputPath, deployUrl, minify, (path) => generator.readAsset(path));
|
|
139
135
|
}
|
|
140
136
|
function addNoncePlugin() {
|
|
141
137
|
return (html) => (0, nonce_1.addNonce)(html);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-html-generator.js","sourceRoot":"","sources":["index-html-generator.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,+CAA4C;AAC5C,yCAAiC;AAGjC,+EAAyE;AACzE,6DAAgG;AAChG,yCAAqC;AACrC,+
|
|
1
|
+
{"version":3,"file":"index-html-generator.js","sourceRoot":"","sources":["index-html-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,21 +5,19 @@
|
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}>;
|
|
25
|
-
}
|
|
8
|
+
/**
|
|
9
|
+
* Generates a stylesheet containing the critical CSS for the given HTML content.
|
|
10
|
+
*
|
|
11
|
+
* @param html - The HTML content to process.
|
|
12
|
+
* @param outputPath - The output path for the generated stylesheet.
|
|
13
|
+
* @param deployUrl - The deploy URL for the generated stylesheet.
|
|
14
|
+
* @param minify - Whether to minify the generated stylesheet.
|
|
15
|
+
* @param readAsset - A function that reads an asset from the given file path.
|
|
16
|
+
* @returns A promise that resolves to an object containing the generated stylesheet content,
|
|
17
|
+
* warnings, and errors.
|
|
18
|
+
*/
|
|
19
|
+
export declare function inlineCriticalCss(html: string, outputPath: string, deployUrl: string | undefined, minify: boolean, readAsset: (file: string) => Promise<string>): Promise<{
|
|
20
|
+
content: string;
|
|
21
|
+
warnings: string[];
|
|
22
|
+
errors: string[];
|
|
23
|
+
}>;
|
|
@@ -40,198 +40,53 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
40
40
|
};
|
|
41
41
|
})();
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.
|
|
44
|
-
const promises_1 = require("node:fs/promises");
|
|
43
|
+
exports.inlineCriticalCss = inlineCriticalCss;
|
|
45
44
|
/**
|
|
46
|
-
*
|
|
47
|
-
*/
|
|
48
|
-
const MEDIA_SET_HANDLER_PATTERN = /^this\.media=["'](.*)["'];?$/;
|
|
49
|
-
/**
|
|
50
|
-
* Name of the attribute used to save the Beasties media query so it can be re-assigned on load.
|
|
51
|
-
*/
|
|
52
|
-
const CSP_MEDIA_ATTR = 'ngCspMedia';
|
|
53
|
-
/**
|
|
54
|
-
* Script that dynamically updates the `media` attribute of `<link>` tags based on a custom attribute (`CSP_MEDIA_ATTR`).
|
|
45
|
+
* Generates a stylesheet containing the critical CSS for the given HTML content.
|
|
55
46
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* - Updates the `media` attribute with the value of `CSP_MEDIA_ATTR` and then removes the attribute.
|
|
64
|
-
* - Removes the event listener when all relevant `<link>` tags have been processed.
|
|
65
|
-
* - Uses event capturing (the `true` parameter) since load events do not bubble up the DOM.
|
|
47
|
+
* @param html - The HTML content to process.
|
|
48
|
+
* @param outputPath - The output path for the generated stylesheet.
|
|
49
|
+
* @param deployUrl - The deploy URL for the generated stylesheet.
|
|
50
|
+
* @param minify - Whether to minify the generated stylesheet.
|
|
51
|
+
* @param readAsset - A function that reads an asset from the given file path.
|
|
52
|
+
* @returns A promise that resolves to an object containing the generated stylesheet content,
|
|
53
|
+
* warnings, and errors.
|
|
66
54
|
*/
|
|
67
|
-
|
|
68
|
-
(() =>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
})();`;
|
|
93
|
-
let beastiesClassPromise;
|
|
94
|
-
async function getBeastiesClass() {
|
|
95
|
-
if (beastiesClassPromise) {
|
|
96
|
-
return beastiesClassPromise;
|
|
97
|
-
}
|
|
98
|
-
beastiesClassPromise = Promise.resolve().then(() => __importStar(require('beasties'))).then(({ default: Beasties }) => {
|
|
99
|
-
return class BeastiesExtended extends Beasties {
|
|
100
|
-
optionsExtended;
|
|
101
|
-
_warnings;
|
|
102
|
-
_errors;
|
|
103
|
-
get warnings() {
|
|
104
|
-
return (this._warnings ??= []);
|
|
105
|
-
}
|
|
106
|
-
get errors() {
|
|
107
|
-
return (this._errors ??= []);
|
|
108
|
-
}
|
|
109
|
-
addedCspScriptsDocuments = new WeakSet();
|
|
110
|
-
documentNonces = new WeakMap();
|
|
111
|
-
constructor(optionsExtended) {
|
|
112
|
-
super({
|
|
113
|
-
logger: {
|
|
114
|
-
warn: (s) => this.warnings.push(s),
|
|
115
|
-
error: (s) => this.errors.push(s),
|
|
116
|
-
info: () => { },
|
|
117
|
-
},
|
|
118
|
-
logLevel: 'warn',
|
|
119
|
-
path: optionsExtended.outputPath,
|
|
120
|
-
publicPath: optionsExtended.deployUrl,
|
|
121
|
-
compress: !!optionsExtended.minify,
|
|
122
|
-
pruneSource: false,
|
|
123
|
-
reduceInlineStyles: false,
|
|
124
|
-
mergeStylesheets: false,
|
|
125
|
-
// Note: if `preload` changes to anything other than `media`, the logic in
|
|
126
|
-
// `embedLinkedStylesheet` will have to be updated.
|
|
127
|
-
preload: 'media',
|
|
128
|
-
noscriptFallback: true,
|
|
129
|
-
inlineFonts: true,
|
|
130
|
-
});
|
|
131
|
-
this.optionsExtended = optionsExtended;
|
|
132
|
-
}
|
|
133
|
-
readFile(path) {
|
|
134
|
-
const readAsset = this.optionsExtended.readAsset;
|
|
135
|
-
return readAsset ? readAsset(path) : (0, promises_1.readFile)(path, 'utf-8');
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Override of the Beasties `embedLinkedStylesheet` method
|
|
139
|
-
* that makes it work with Angular's CSP APIs.
|
|
140
|
-
*/
|
|
141
|
-
async embedLinkedStylesheet(link, document) {
|
|
142
|
-
if (link.getAttribute('media') === 'print' && link.next?.name === 'noscript') {
|
|
143
|
-
// Workaround for https://github.com/GoogleChromeLabs/critters/issues/64
|
|
144
|
-
// NB: this is only needed for the webpack based builders.
|
|
145
|
-
const media = link.getAttribute('onload')?.match(MEDIA_SET_HANDLER_PATTERN);
|
|
146
|
-
if (media) {
|
|
147
|
-
link.removeAttribute('onload');
|
|
148
|
-
link.setAttribute('media', media[1]);
|
|
149
|
-
link?.next?.remove();
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
const returnValue = await super.embedLinkedStylesheet(link, document);
|
|
153
|
-
const cspNonce = this.findCspNonce(document);
|
|
154
|
-
if (cspNonce || this.optionsExtended.autoCsp) {
|
|
155
|
-
const beastiesMedia = link.getAttribute('onload')?.match(MEDIA_SET_HANDLER_PATTERN);
|
|
156
|
-
if (beastiesMedia) {
|
|
157
|
-
// If there's a Beasties-generated `onload` handler and the file has an Angular CSP nonce,
|
|
158
|
-
// we have to remove the handler, because it's incompatible with CSP. We save the value
|
|
159
|
-
// in a different attribute and we generate a script tag with the nonce that uses
|
|
160
|
-
// `addEventListener` to apply the media query instead.
|
|
161
|
-
link.removeAttribute('onload');
|
|
162
|
-
link.setAttribute(CSP_MEDIA_ATTR, beastiesMedia[1]);
|
|
163
|
-
this.conditionallyInsertCspLoadingScript(document, cspNonce, link);
|
|
164
|
-
}
|
|
165
|
-
// Ideally we would hook in at the time Beasties inserts the `style` tags, but there isn't
|
|
166
|
-
// a way of doing that at the moment so we fall back to doing it any time a `link` tag is
|
|
167
|
-
// inserted. We mitigate it by only iterating the direct children of the `<head>` which
|
|
168
|
-
// should be pretty shallow.
|
|
169
|
-
if (cspNonce) {
|
|
170
|
-
document.head.children.forEach((child) => {
|
|
171
|
-
if (child.tagName === 'style' && !child.hasAttribute('nonce')) {
|
|
172
|
-
child.setAttribute('nonce', cspNonce);
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
return returnValue;
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Finds the CSP nonce for a specific document.
|
|
181
|
-
*/
|
|
182
|
-
findCspNonce(document) {
|
|
183
|
-
if (this.documentNonces.has(document)) {
|
|
184
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
185
|
-
return this.documentNonces.get(document);
|
|
186
|
-
}
|
|
187
|
-
// HTML attribute are case-insensitive, but the parser used by Beasties is case-sensitive.
|
|
188
|
-
const nonceElement = document.querySelector('[ngCspNonce], [ngcspnonce]');
|
|
189
|
-
const cspNonce = nonceElement?.getAttribute('ngCspNonce') ||
|
|
190
|
-
nonceElement?.getAttribute('ngcspnonce') ||
|
|
191
|
-
null;
|
|
192
|
-
this.documentNonces.set(document, cspNonce);
|
|
193
|
-
return cspNonce;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Inserts the `script` tag that swaps the critical CSS at runtime,
|
|
197
|
-
* if one hasn't been inserted into the document already.
|
|
198
|
-
*/
|
|
199
|
-
conditionallyInsertCspLoadingScript(document, nonce, link) {
|
|
200
|
-
if (this.addedCspScriptsDocuments.has(document)) {
|
|
201
|
-
return;
|
|
202
|
-
}
|
|
203
|
-
const script = document.createElement('script');
|
|
204
|
-
script.textContent = LINK_LOAD_SCRIPT_CONTENT;
|
|
205
|
-
if (nonce) {
|
|
206
|
-
script.setAttribute('nonce', nonce);
|
|
207
|
-
}
|
|
208
|
-
// Prepend the script to the head since it needs to
|
|
209
|
-
// run as early as possible, before the `link` tags.
|
|
210
|
-
document.head.insertBefore(script, link);
|
|
211
|
-
this.addedCspScriptsDocuments.add(document);
|
|
212
|
-
}
|
|
213
|
-
};
|
|
55
|
+
async function inlineCriticalCss(html, outputPath, deployUrl, minify, readAsset) {
|
|
56
|
+
const { default: Beasties } = await Promise.resolve().then(() => __importStar(require('beasties')));
|
|
57
|
+
const warnings = [];
|
|
58
|
+
const errors = [];
|
|
59
|
+
const beasties = new Beasties({
|
|
60
|
+
logger: {
|
|
61
|
+
warn: (s) => warnings.push(s),
|
|
62
|
+
error: (s) => errors.push(s),
|
|
63
|
+
info: () => { },
|
|
64
|
+
},
|
|
65
|
+
logLevel: 'warn',
|
|
66
|
+
path: outputPath,
|
|
67
|
+
publicPath: deployUrl,
|
|
68
|
+
compress: minify,
|
|
69
|
+
pruneSource: false,
|
|
70
|
+
reduceInlineStyles: false,
|
|
71
|
+
mergeStylesheets: false,
|
|
72
|
+
preload: 'media-script',
|
|
73
|
+
nonce: (document) => {
|
|
74
|
+
const nonceElement = document.querySelector('[ngCspNonce], [ngcspnonce]');
|
|
75
|
+
const cspNonce = nonceElement?.getAttribute('ngCspNonce') || nonceElement?.getAttribute('ngcspnonce');
|
|
76
|
+
return cspNonce ?? undefined;
|
|
77
|
+
},
|
|
78
|
+
noscriptFallback: true,
|
|
79
|
+
inlineFonts: true,
|
|
214
80
|
});
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
const content = await beasties.process(html);
|
|
226
|
-
return {
|
|
227
|
-
// Clean up value from value less attributes.
|
|
228
|
-
// This is caused because parse5 always requires attributes to have a string value.
|
|
229
|
-
// nomodule="" defer="" -> nomodule defer.
|
|
230
|
-
content: content.replace(/(\s(?:defer|nomodule))=""/g, '$1'),
|
|
231
|
-
errors: beasties.errors,
|
|
232
|
-
warnings: beasties.warnings,
|
|
233
|
-
};
|
|
234
|
-
}
|
|
81
|
+
beasties.readFile = (path) => readAsset(path);
|
|
82
|
+
const content = await beasties.process(html);
|
|
83
|
+
return {
|
|
84
|
+
// Clean up value from value less attributes.
|
|
85
|
+
// This is caused because parse5 always requires attributes to have a string value.
|
|
86
|
+
// nomodule="" defer="" -> nomodule defer.
|
|
87
|
+
content: content.replace(/(\s(?:defer|nomodule))=""/g, '$1'),
|
|
88
|
+
errors,
|
|
89
|
+
warnings,
|
|
90
|
+
};
|
|
235
91
|
}
|
|
236
|
-
exports.InlineCriticalCssProcessor = InlineCriticalCssProcessor;
|
|
237
92
|
//# sourceMappingURL=inline-critical-css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-critical-css.js","sourceRoot":"","sources":["inline-critical-css.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
|
1
|
+
{"version":3,"file":"inline-critical-css.js","sourceRoot":"","sources":["inline-critical-css.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,8CAqDC;AAhED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,UAAkB,EAClB,SAA6B,EAC7B,MAAe,EACf,SAA4C;IAM5C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;IAEvD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;QAC5B,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACrC,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;SACf;QACD,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,KAAK;QAClB,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,KAAK;QACvB,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;YAClB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;YAC1E,MAAM,QAAQ,GACZ,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;YAEvF,OAAO,QAAQ,IAAI,SAAS,CAAC;QAC/B,CAAC;QACD,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO;QACL,6CAA6C;QAC7C,mFAAmF;QACnF,0CAA0C;QAC1C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,CAAC;QAC5D,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.addNonce = addNonce;
|
|
11
|
+
exports.findNonce = findNonce;
|
|
11
12
|
const html_rewriting_stream_1 = require("./html-rewriting-stream");
|
|
12
13
|
/**
|
|
13
14
|
* Pattern matching the name of the Angular nonce attribute. Note that this is
|