@angular/build 22.0.0-next.7 → 22.0.0-next.8
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 +6 -6
- package/src/builders/application/build-action.js +5 -5
- package/src/builders/application/build-action.js.map +1 -1
- package/src/builders/application/chunk-optimizer.js +4 -5
- package/src/builders/application/chunk-optimizer.js.map +1 -1
- package/src/builders/application/execute-build.js +8 -5
- 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 +6 -7
- package/src/builders/application/execute-post-bundle.js.map +1 -1
- package/src/builders/application/i18n.d.ts +1 -1
- package/src/builders/application/i18n.js +2 -2
- package/src/builders/application/i18n.js.map +1 -1
- package/src/builders/application/index.js +9 -9
- package/src/builders/application/index.js.map +1 -1
- package/src/builders/application/options.d.ts +1 -1
- package/src/builders/application/results.d.ts +1 -1
- package/src/builders/dev-server/internal.d.ts +1 -1
- package/src/builders/dev-server/internal.js +2 -2
- package/src/builders/dev-server/internal.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/build-options.js +31 -1
- package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
- package/src/index.d.ts +1 -1
- package/src/index.js +2 -2
- package/src/index.js.map +1 -1
- package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
- package/src/tools/esbuild/angular/component-stylesheets.js +2 -1
- package/src/tools/esbuild/angular/component-stylesheets.js.map +1 -1
- package/src/tools/esbuild/application-code-bundle.js +2 -2
- package/src/tools/esbuild/application-code-bundle.js.map +1 -1
- package/src/tools/esbuild/budget-stats.d.ts +1 -1
- package/src/tools/esbuild/budget-stats.js +2 -2
- package/src/tools/esbuild/budget-stats.js.map +1 -1
- package/src/tools/esbuild/bundler-context.d.ts +2 -21
- package/src/tools/esbuild/bundler-context.js +10 -17
- package/src/tools/esbuild/bundler-context.js.map +1 -1
- package/src/tools/esbuild/bundler-execution-result.d.ts +3 -2
- 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.d.ts +30 -0
- package/src/tools/esbuild/bundler-files.js +113 -0
- package/src/tools/esbuild/bundler-files.js.map +1 -0
- package/src/tools/esbuild/i18n-inliner.d.ts +1 -1
- package/src/tools/esbuild/i18n-inliner.js +4 -5
- package/src/tools/esbuild/i18n-inliner.js.map +1 -1
- package/src/tools/esbuild/index-html-generator.d.ts +1 -1
- package/src/tools/esbuild/index-html-generator.js +19 -2
- package/src/tools/esbuild/index-html-generator.js.map +1 -1
- package/src/tools/esbuild/utils.d.ts +1 -12
- package/src/tools/esbuild/utils.js +3 -112
- package/src/tools/esbuild/utils.js.map +1 -1
- package/src/tools/esbuild/watcher.js +1 -1
- package/src/tools/esbuild/watcher.js.map +1 -1
- package/src/utils/index-file/augment-index-html.d.ts +14 -0
- package/src/utils/index-file/augment-index-html.js +22 -1
- package/src/utils/index-file/augment-index-html.js.map +1 -1
- package/src/utils/index-file/index-html-generator.d.ts +6 -0
- package/src/utils/index-file/index-html-generator.js +2 -1
- package/src/utils/index-file/index-html-generator.js.map +1 -1
- package/src/utils/normalize-cache.js +1 -1
- package/src/utils/server-rendering/manifest.d.ts +10 -1
- package/src/utils/server-rendering/manifest.js +16 -4
- package/src/utils/server-rendering/manifest.js.map +1 -1
- package/src/utils/server-rendering/prerender.d.ts +1 -1
- package/src/utils/server-rendering/prerender.js +2 -2
- package/src/utils/server-rendering/prerender.js.map +1 -1
- package/src/utils/server-rendering/utils.d.ts +3 -1
- package/src/utils/server-rendering/utils.js.map +1 -1
- package/src/utils/service-worker.d.ts +1 -1
- package/src/utils/service-worker.js +2 -2
- package/src/utils/service-worker.js.map +1 -1
- package/src/utils/supported-browsers.js +1 -1
- package/src/utils/test-files.js +2 -2
- package/src/utils/test-files.js.map +1 -1
|
@@ -0,0 +1,113 @@
|
|
|
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.BuildOutputFileType = void 0;
|
|
11
|
+
exports.createOutputFile = createOutputFile;
|
|
12
|
+
exports.convertOutputFile = convertOutputFile;
|
|
13
|
+
const node_crypto_1 = require("node:crypto");
|
|
14
|
+
var BuildOutputFileType;
|
|
15
|
+
(function (BuildOutputFileType) {
|
|
16
|
+
BuildOutputFileType[BuildOutputFileType["Browser"] = 0] = "Browser";
|
|
17
|
+
BuildOutputFileType[BuildOutputFileType["Media"] = 1] = "Media";
|
|
18
|
+
BuildOutputFileType[BuildOutputFileType["ServerApplication"] = 2] = "ServerApplication";
|
|
19
|
+
BuildOutputFileType[BuildOutputFileType["ServerRoot"] = 3] = "ServerRoot";
|
|
20
|
+
BuildOutputFileType[BuildOutputFileType["Root"] = 4] = "Root";
|
|
21
|
+
})(BuildOutputFileType || (exports.BuildOutputFileType = BuildOutputFileType = {}));
|
|
22
|
+
function createOutputFile(path, data, type) {
|
|
23
|
+
if (typeof data === 'string') {
|
|
24
|
+
let cachedContents = null;
|
|
25
|
+
let cachedText = data;
|
|
26
|
+
let cachedHash = null;
|
|
27
|
+
return {
|
|
28
|
+
path,
|
|
29
|
+
type,
|
|
30
|
+
get contents() {
|
|
31
|
+
cachedContents ??= new TextEncoder().encode(data);
|
|
32
|
+
return cachedContents;
|
|
33
|
+
},
|
|
34
|
+
set contents(value) {
|
|
35
|
+
cachedContents = value;
|
|
36
|
+
cachedText = null;
|
|
37
|
+
},
|
|
38
|
+
get text() {
|
|
39
|
+
cachedText ??= new TextDecoder('utf-8').decode(this.contents);
|
|
40
|
+
return cachedText;
|
|
41
|
+
},
|
|
42
|
+
get size() {
|
|
43
|
+
return this.contents.byteLength;
|
|
44
|
+
},
|
|
45
|
+
get hash() {
|
|
46
|
+
cachedHash ??= (0, node_crypto_1.createHash)('sha256')
|
|
47
|
+
.update(cachedText ?? this.contents)
|
|
48
|
+
.digest('hex');
|
|
49
|
+
return cachedHash;
|
|
50
|
+
},
|
|
51
|
+
clone() {
|
|
52
|
+
return createOutputFile(this.path, cachedText ?? this.contents, this.type);
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
let cachedContents = data;
|
|
58
|
+
let cachedText = null;
|
|
59
|
+
let cachedHash = null;
|
|
60
|
+
return {
|
|
61
|
+
get contents() {
|
|
62
|
+
return cachedContents;
|
|
63
|
+
},
|
|
64
|
+
set contents(value) {
|
|
65
|
+
cachedContents = value;
|
|
66
|
+
cachedText = null;
|
|
67
|
+
},
|
|
68
|
+
path,
|
|
69
|
+
type,
|
|
70
|
+
get size() {
|
|
71
|
+
return this.contents.byteLength;
|
|
72
|
+
},
|
|
73
|
+
get text() {
|
|
74
|
+
cachedText ??= new TextDecoder('utf-8').decode(this.contents);
|
|
75
|
+
return cachedText;
|
|
76
|
+
},
|
|
77
|
+
get hash() {
|
|
78
|
+
cachedHash ??= (0, node_crypto_1.createHash)('sha256').update(this.contents).digest('hex');
|
|
79
|
+
return cachedHash;
|
|
80
|
+
},
|
|
81
|
+
clone() {
|
|
82
|
+
return createOutputFile(this.path, this.contents, this.type);
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function convertOutputFile(file, type) {
|
|
88
|
+
let { contents: cachedContents } = file;
|
|
89
|
+
let cachedText = null;
|
|
90
|
+
return {
|
|
91
|
+
get contents() {
|
|
92
|
+
return cachedContents;
|
|
93
|
+
},
|
|
94
|
+
set contents(value) {
|
|
95
|
+
cachedContents = value;
|
|
96
|
+
cachedText = null;
|
|
97
|
+
},
|
|
98
|
+
hash: file.hash,
|
|
99
|
+
path: file.path,
|
|
100
|
+
type,
|
|
101
|
+
get size() {
|
|
102
|
+
return this.contents.byteLength;
|
|
103
|
+
},
|
|
104
|
+
get text() {
|
|
105
|
+
cachedText ??= new TextDecoder('utf-8').decode(this.contents);
|
|
106
|
+
return cachedText;
|
|
107
|
+
},
|
|
108
|
+
clone() {
|
|
109
|
+
return convertOutputFile(this, this.type);
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=bundler-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundler-files.js","sourceRoot":"","sources":["bundler-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +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 { BuildOutputFile } from './bundler-
|
|
8
|
+
import { type BuildOutputFile } from './bundler-files';
|
|
9
9
|
/**
|
|
10
10
|
* Inlining options that should apply to all transformed code.
|
|
11
11
|
*/
|
|
@@ -48,8 +48,7 @@ const node_assert_1 = __importDefault(require("node:assert"));
|
|
|
48
48
|
const node_crypto_1 = require("node:crypto");
|
|
49
49
|
const node_path_1 = require("node:path");
|
|
50
50
|
const worker_pool_1 = require("../../utils/worker-pool");
|
|
51
|
-
const
|
|
52
|
-
const utils_1 = require("./utils");
|
|
51
|
+
const bundler_files_1 = require("./bundler-files");
|
|
53
52
|
/**
|
|
54
53
|
* A keyword used to indicate if a JavaScript file may require inlining of translations.
|
|
55
54
|
* This keyword is used to avoid processing files that would not otherwise need i18n processing.
|
|
@@ -75,7 +74,7 @@ class I18nInliner {
|
|
|
75
74
|
const files = new Map();
|
|
76
75
|
const pendingMaps = [];
|
|
77
76
|
for (const file of outputFiles) {
|
|
78
|
-
if (file.type ===
|
|
77
|
+
if (file.type === bundler_files_1.BuildOutputFileType.Root || file.type === bundler_files_1.BuildOutputFileType.ServerRoot) {
|
|
79
78
|
// Skip also the server entry-point.
|
|
80
79
|
// Skip stats and similar files.
|
|
81
80
|
continue;
|
|
@@ -179,9 +178,9 @@ class I18nInliner {
|
|
|
179
178
|
...rawResults.flatMap(({ file, code, map, messages }) => {
|
|
180
179
|
const type = this.#localizeFiles.get(file)?.type;
|
|
181
180
|
(0, node_assert_1.default)(type !== undefined, 'localized file should always have a type' + file);
|
|
182
|
-
const resultFiles = [(0,
|
|
181
|
+
const resultFiles = [(0, bundler_files_1.createOutputFile)(file, code, type)];
|
|
183
182
|
if (map) {
|
|
184
|
-
resultFiles.push((0,
|
|
183
|
+
resultFiles.push((0, bundler_files_1.createOutputFile)(file + '.map', map, type));
|
|
185
184
|
}
|
|
186
185
|
for (const message of messages) {
|
|
187
186
|
if (message.type === 'error') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-inliner.js","sourceRoot":"","sources":["i18n-inliner.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,8DAAiC;AACjC,6CAAyC;AACzC,yCAA0C;AAC1C,yDAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"i18n-inliner.js","sourceRoot":"","sources":["i18n-inliner.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
import { NormalizedApplicationBuildOptions } from '../../builders/application/options';
|
|
9
|
-
import { BuildOutputFile, InitialFileRecord } from './bundler-
|
|
9
|
+
import { BuildOutputFile, InitialFileRecord } from './bundler-files';
|
|
10
10
|
export declare function generateIndexHtml(initialFiles: Map<string, InitialFileRecord>, outputFiles: BuildOutputFile[], buildOptions: NormalizedApplicationBuildOptions, lang?: string): Promise<{
|
|
11
11
|
csrContent: string;
|
|
12
12
|
ssrContent?: string;
|
|
@@ -12,9 +12,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.generateIndexHtml = generateIndexHtml;
|
|
14
14
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
15
|
+
const node_crypto_1 = require("node:crypto");
|
|
15
16
|
const node_path_1 = __importDefault(require("node:path"));
|
|
16
17
|
const index_html_generator_1 = require("../../utils/index-file/index-html-generator");
|
|
17
|
-
const
|
|
18
|
+
const bundler_files_1 = require("./bundler-files");
|
|
18
19
|
/**
|
|
19
20
|
* The maximum number of module preload link elements that should be added for
|
|
20
21
|
* initial scripts.
|
|
@@ -48,7 +49,7 @@ async function generateIndexHtml(initialFiles, outputFiles, buildOptions, lang)
|
|
|
48
49
|
hints.push(...modulePreloads.slice(0, MODULE_PRELOAD_MAX));
|
|
49
50
|
}
|
|
50
51
|
/** Virtual output path to support reading in-memory files. */
|
|
51
|
-
const browserOutputFiles = outputFiles.filter(({ type }) => type ===
|
|
52
|
+
const browserOutputFiles = outputFiles.filter(({ type }) => type === bundler_files_1.BuildOutputFileType.Browser);
|
|
52
53
|
const virtualOutputPath = '/';
|
|
53
54
|
const readAsset = async function (filePath) {
|
|
54
55
|
// Remove leading directory separator
|
|
@@ -59,6 +60,21 @@ async function generateIndexHtml(initialFiles, outputFiles, buildOptions, lang)
|
|
|
59
60
|
}
|
|
60
61
|
throw new Error(`Output file does not exist: ${relativefilePath}`);
|
|
61
62
|
};
|
|
63
|
+
// When SRI is enabled, build an integrity map for every browser JavaScript
|
|
64
|
+
// chunk so an `<script type="importmap">` block can carry integrity metadata
|
|
65
|
+
// for modules loaded via dynamic `import()`.
|
|
66
|
+
let chunksIntegrity;
|
|
67
|
+
if (subresourceIntegrity) {
|
|
68
|
+
const integrity = new Map();
|
|
69
|
+
for (const file of browserOutputFiles) {
|
|
70
|
+
if (!file.path.endsWith('.js') || initialFiles.has(file.path)) {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const hash = (0, node_crypto_1.createHash)('sha384').update(file.contents).digest('base64');
|
|
74
|
+
integrity.set(file.path, 'sha384-' + hash);
|
|
75
|
+
}
|
|
76
|
+
chunksIntegrity = integrity;
|
|
77
|
+
}
|
|
62
78
|
// Create an index HTML generator that reads from the in-memory output files
|
|
63
79
|
const indexHtmlGenerator = new index_html_generator_1.IndexHtmlGenerator({
|
|
64
80
|
indexPath: indexHtmlOptions.input,
|
|
@@ -72,6 +88,7 @@ async function generateIndexHtml(initialFiles, outputFiles, buildOptions, lang)
|
|
|
72
88
|
buildOptions.prerenderOptions ||
|
|
73
89
|
buildOptions.appShellOptions),
|
|
74
90
|
autoCsp: buildOptions.security.autoCsp,
|
|
91
|
+
chunksIntegrity,
|
|
75
92
|
});
|
|
76
93
|
indexHtmlGenerator.readAsset = readAsset;
|
|
77
94
|
return indexHtmlGenerator.process({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-html-generator.js","sourceRoot":"","sources":["index-html-generator.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;
|
|
1
|
+
{"version":3,"file":"index-html-generator.js","sourceRoot":"","sources":["index-html-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ import { BuilderContext } from '@angular-devkit/architect';
|
|
|
9
9
|
import { BuildOptions, Metafile, OutputFile } from 'esbuild';
|
|
10
10
|
import { NormalizedApplicationBuildOptions } from '../../builders/application/options';
|
|
11
11
|
import { BudgetCalculatorResult } from '../../utils/bundle-calculator';
|
|
12
|
-
import { BuildOutputFile, BuildOutputFileType, InitialFileRecord } from './bundler-context';
|
|
13
12
|
import { BuildOutputAsset, ExecutionResult } from './bundler-execution-result';
|
|
13
|
+
import { type BuildOutputFile, type InitialFileRecord } from './bundler-files';
|
|
14
14
|
export declare function logBuildStats(metafile: Metafile, outputFiles: BuildOutputFile[], initial: Map<string, InitialFileRecord>, budgetFailures: BudgetCalculatorResult[] | undefined, colors: boolean, changedFiles?: Set<string>, estimatedTransferSizes?: Map<string, number>, ssrOutputEnabled?: boolean, verbose?: boolean): string;
|
|
15
15
|
export declare function getChunkNameFromMetafile(metafile: Metafile, file: string): string | undefined;
|
|
16
16
|
export declare function calculateEstimatedTransferSizes(outputFiles: OutputFile[]): Promise<Map<string, number>>;
|
|
@@ -25,8 +25,6 @@ export declare function withNoProgress<T>(text: string, action: () => T | Promis
|
|
|
25
25
|
*/
|
|
26
26
|
export declare function getFeatureSupport(target: string[], nativeAsyncAwait: boolean): BuildOptions['supported'];
|
|
27
27
|
export declare function emitFilesToDisk<T = BuildOutputAsset | BuildOutputFile>(files: T[], writeFileCallback: (file: T) => Promise<void>): Promise<void>;
|
|
28
|
-
export declare function createOutputFile(path: string, data: string | Uint8Array, type: BuildOutputFileType): BuildOutputFile;
|
|
29
|
-
export declare function convertOutputFile(file: OutputFile, type: BuildOutputFileType): BuildOutputFile;
|
|
30
28
|
/**
|
|
31
29
|
* Transform browserlists result to esbuild target.
|
|
32
30
|
* @see https://esbuild.github.io/api/#target
|
|
@@ -47,12 +45,3 @@ export declare function logMessages(logger: BuilderContext['logger'], executionR
|
|
|
47
45
|
*/
|
|
48
46
|
export declare function isZonelessApp(polyfills: string[] | undefined): boolean;
|
|
49
47
|
export declare function getEntryPointName(entryPoint: string): string;
|
|
50
|
-
/**
|
|
51
|
-
* A set of server-generated dependencies that are treated as external.
|
|
52
|
-
*
|
|
53
|
-
* These dependencies are marked as external because they are produced by a
|
|
54
|
-
* separate bundling process and are not included in the primary bundle. This
|
|
55
|
-
* ensures that these generated files are resolved from an external source rather
|
|
56
|
-
* than being part of the main bundle.
|
|
57
|
-
*/
|
|
58
|
-
export declare const SERVER_GENERATED_EXTERNALS: Set<string>;
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* found in the LICENSE file at https://angular.dev/license
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.SERVER_GENERATED_EXTERNALS = void 0;
|
|
11
10
|
exports.logBuildStats = logBuildStats;
|
|
12
11
|
exports.getChunkNameFromMetafile = getChunkNameFromMetafile;
|
|
13
12
|
exports.calculateEstimatedTransferSizes = calculateEstimatedTransferSizes;
|
|
@@ -15,8 +14,6 @@ exports.withSpinner = withSpinner;
|
|
|
15
14
|
exports.withNoProgress = withNoProgress;
|
|
16
15
|
exports.getFeatureSupport = getFeatureSupport;
|
|
17
16
|
exports.emitFilesToDisk = emitFilesToDisk;
|
|
18
|
-
exports.createOutputFile = createOutputFile;
|
|
19
|
-
exports.convertOutputFile = convertOutputFile;
|
|
20
17
|
exports.transformSupportedBrowsersToTargets = transformSupportedBrowsersToTargets;
|
|
21
18
|
exports.getSupportedNodeTargets = getSupportedNodeTargets;
|
|
22
19
|
exports.createJsonBuildManifest = createJsonBuildManifest;
|
|
@@ -25,15 +22,13 @@ exports.isZonelessApp = isZonelessApp;
|
|
|
25
22
|
exports.getEntryPointName = getEntryPointName;
|
|
26
23
|
const esbuild_1 = require("esbuild");
|
|
27
24
|
const listr2_1 = require("listr2");
|
|
28
|
-
const node_crypto_1 = require("node:crypto");
|
|
29
25
|
const node_path_1 = require("node:path");
|
|
30
26
|
const node_url_1 = require("node:url");
|
|
31
27
|
const node_zlib_1 = require("node:zlib");
|
|
32
28
|
const semver_1 = require("semver");
|
|
33
29
|
const schema_1 = require("../../builders/application/schema");
|
|
34
|
-
const manifest_1 = require("../../utils/server-rendering/manifest");
|
|
35
30
|
const stats_table_1 = require("../../utils/stats-table");
|
|
36
|
-
const
|
|
31
|
+
const bundler_files_1 = require("./bundler-files");
|
|
37
32
|
function logBuildStats(metafile, outputFiles, initial, budgetFailures, colors, changedFiles, estimatedTransferSizes, ssrOutputEnabled, verbose) {
|
|
38
33
|
// Remove the i18n subpath in case the build is using i18n.
|
|
39
34
|
// en-US/main.js -> main.js
|
|
@@ -52,7 +47,7 @@ function logBuildStats(metafile, outputFiles, initial, budgetFailures, colors, c
|
|
|
52
47
|
++unchangedCount;
|
|
53
48
|
continue;
|
|
54
49
|
}
|
|
55
|
-
const isPlatformServer = type ===
|
|
50
|
+
const isPlatformServer = type === bundler_files_1.BuildOutputFileType.ServerApplication || type === bundler_files_1.BuildOutputFileType.ServerRoot;
|
|
56
51
|
if (isPlatformServer && !ssrOutputEnabled) {
|
|
57
52
|
// Only log server build stats when SSR is enabled.
|
|
58
53
|
continue;
|
|
@@ -184,97 +179,6 @@ async function emitFilesToDisk(files, writeFileCallback) {
|
|
|
184
179
|
await Promise.all(actions);
|
|
185
180
|
}
|
|
186
181
|
}
|
|
187
|
-
function createOutputFile(path, data, type) {
|
|
188
|
-
if (typeof data === 'string') {
|
|
189
|
-
let cachedContents = null;
|
|
190
|
-
let cachedText = data;
|
|
191
|
-
let cachedHash = null;
|
|
192
|
-
return {
|
|
193
|
-
path,
|
|
194
|
-
type,
|
|
195
|
-
get contents() {
|
|
196
|
-
cachedContents ??= new TextEncoder().encode(data);
|
|
197
|
-
return cachedContents;
|
|
198
|
-
},
|
|
199
|
-
set contents(value) {
|
|
200
|
-
cachedContents = value;
|
|
201
|
-
cachedText = null;
|
|
202
|
-
},
|
|
203
|
-
get text() {
|
|
204
|
-
cachedText ??= new TextDecoder('utf-8').decode(this.contents);
|
|
205
|
-
return cachedText;
|
|
206
|
-
},
|
|
207
|
-
get size() {
|
|
208
|
-
return this.contents.byteLength;
|
|
209
|
-
},
|
|
210
|
-
get hash() {
|
|
211
|
-
cachedHash ??= (0, node_crypto_1.createHash)('sha256')
|
|
212
|
-
.update(cachedText ?? this.contents)
|
|
213
|
-
.digest('hex');
|
|
214
|
-
return cachedHash;
|
|
215
|
-
},
|
|
216
|
-
clone() {
|
|
217
|
-
return createOutputFile(this.path, cachedText ?? this.contents, this.type);
|
|
218
|
-
},
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
let cachedContents = data;
|
|
223
|
-
let cachedText = null;
|
|
224
|
-
let cachedHash = null;
|
|
225
|
-
return {
|
|
226
|
-
get contents() {
|
|
227
|
-
return cachedContents;
|
|
228
|
-
},
|
|
229
|
-
set contents(value) {
|
|
230
|
-
cachedContents = value;
|
|
231
|
-
cachedText = null;
|
|
232
|
-
},
|
|
233
|
-
path,
|
|
234
|
-
type,
|
|
235
|
-
get size() {
|
|
236
|
-
return this.contents.byteLength;
|
|
237
|
-
},
|
|
238
|
-
get text() {
|
|
239
|
-
cachedText ??= new TextDecoder('utf-8').decode(this.contents);
|
|
240
|
-
return cachedText;
|
|
241
|
-
},
|
|
242
|
-
get hash() {
|
|
243
|
-
cachedHash ??= (0, node_crypto_1.createHash)('sha256').update(this.contents).digest('hex');
|
|
244
|
-
return cachedHash;
|
|
245
|
-
},
|
|
246
|
-
clone() {
|
|
247
|
-
return createOutputFile(this.path, this.contents, this.type);
|
|
248
|
-
},
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
function convertOutputFile(file, type) {
|
|
253
|
-
let { contents: cachedContents } = file;
|
|
254
|
-
let cachedText = null;
|
|
255
|
-
return {
|
|
256
|
-
get contents() {
|
|
257
|
-
return cachedContents;
|
|
258
|
-
},
|
|
259
|
-
set contents(value) {
|
|
260
|
-
cachedContents = value;
|
|
261
|
-
cachedText = null;
|
|
262
|
-
},
|
|
263
|
-
hash: file.hash,
|
|
264
|
-
path: file.path,
|
|
265
|
-
type,
|
|
266
|
-
get size() {
|
|
267
|
-
return this.contents.byteLength;
|
|
268
|
-
},
|
|
269
|
-
get text() {
|
|
270
|
-
cachedText ??= new TextDecoder('utf-8').decode(this.contents);
|
|
271
|
-
return cachedText;
|
|
272
|
-
},
|
|
273
|
-
clone() {
|
|
274
|
-
return convertOutputFile(this, this.type);
|
|
275
|
-
},
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
182
|
/**
|
|
279
183
|
* Transform browserlists result to esbuild target.
|
|
280
184
|
* @see https://esbuild.github.io/api/#target
|
|
@@ -318,7 +222,7 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
318
222
|
}
|
|
319
223
|
return transformed;
|
|
320
224
|
}
|
|
321
|
-
const SUPPORTED_NODE_VERSIONS = '^22.22.0 ||
|
|
225
|
+
const SUPPORTED_NODE_VERSIONS = '^22.22.0 || ^24.13.1 || >=26.0.0';
|
|
322
226
|
/**
|
|
323
227
|
* Transform supported Node.js versions to esbuild target.
|
|
324
228
|
* @see https://esbuild.github.io/api/#target
|
|
@@ -378,17 +282,4 @@ function getEntryPointName(entryPoint) {
|
|
|
378
282
|
.replace(/\.[cm]?[jt]s$/, '')
|
|
379
283
|
.replace(/[\\/.]/g, '-');
|
|
380
284
|
}
|
|
381
|
-
/**
|
|
382
|
-
* A set of server-generated dependencies that are treated as external.
|
|
383
|
-
*
|
|
384
|
-
* These dependencies are marked as external because they are produced by a
|
|
385
|
-
* separate bundling process and are not included in the primary bundle. This
|
|
386
|
-
* ensures that these generated files are resolved from an external source rather
|
|
387
|
-
* than being part of the main bundle.
|
|
388
|
-
*/
|
|
389
|
-
exports.SERVER_GENERATED_EXTERNALS = new Set([
|
|
390
|
-
'./polyfills.server.mjs',
|
|
391
|
-
'./' + manifest_1.SERVER_APP_MANIFEST_FILENAME,
|
|
392
|
-
'./' + manifest_1.SERVER_APP_ENGINE_MANIFEST_FILENAME,
|
|
393
|
-
]);
|
|
394
285
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ class ChangedFiles {
|
|
|
32
32
|
exports.ChangedFiles = ChangedFiles;
|
|
33
33
|
function createWatcher(options) {
|
|
34
34
|
const watcher = new watchpack_1.default({
|
|
35
|
-
poll: options?.polling ? options?.interval ?? true : false,
|
|
35
|
+
poll: options?.polling ? (options?.interval ?? true) : false,
|
|
36
36
|
ignored: options?.ignored,
|
|
37
37
|
followSymlinks: options?.followSymlinks,
|
|
38
38
|
aggregateTimeout: 250,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["watcher.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AA8BH,sCAkGC;AA9HD,0DAAkC;AAElC,MAAa,YAAY;IACd,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1B,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7B,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,IAAI,GAAG;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,aAAa;QACX,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;SAClC,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AAlBD,oCAkBC;AAQD,SAAgB,aAAa,CAAC,OAK7B;IACC,MAAM,OAAO,GAAG,IAAI,mBAAS,CAAC;QAC5B,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK;
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["watcher.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AA8BH,sCAkGC;AA9HD,0DAAkC;AAElC,MAAa,YAAY;IACd,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1B,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7B,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,IAAI,GAAG;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,aAAa;QACX,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;SAClC,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AAlBD,oCAkBC;AAQD,SAAgB,aAAa,CAAC,OAK7B;IACC,MAAM,OAAO,GAAG,IAAI,mBAAS,CAAC;QAC5B,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;QAC5D,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,cAAc,EAAE,OAAO,EAAE,cAAc;QACvC,gBAAgB,EAAE,GAAG;KACtB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,MAAM,SAAS,GAAuC,EAAE,CAAC;IACzD,IAAI,mBAA6C,CAAC;IAElD,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG,mBAAmB,IAAI,IAAI,YAAY,EAAE,CAAC;QAC/D,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,EAAE,CAAC;YACT,mBAAmB,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,mBAAmB,GAAG,YAAY,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,IAAI;YACR,IAAI,mBAAmB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;gBAC9C,mBAAmB,GAAG,SAAS,CAAC;gBAEhC,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,KAAK;YACP,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;YACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,IAAI,YAAY,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC;oBACZ,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK;YACV,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;YACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,IAAI,YAAY,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC;oBACZ,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,CAAC;gBACT,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChD,IAAI,EAAE,CAAC;gBACT,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -27,6 +27,20 @@ export interface AugmentIndexHtmlOptions {
|
|
|
27
27
|
as?: string;
|
|
28
28
|
}[];
|
|
29
29
|
imageDomains?: string[];
|
|
30
|
+
/**
|
|
31
|
+
* Integrity metadata for module script URLs that are not directly referenced
|
|
32
|
+
* from `index.html` (e.g. lazy-loaded chunks resolved via `import()`).
|
|
33
|
+
*
|
|
34
|
+
* Keys are URLs relative to the deployment base (matching how the browser
|
|
35
|
+
* will request the module) and values are the corresponding
|
|
36
|
+
* Subresource Integrity values (e.g. 'sha384-...').
|
|
37
|
+
*
|
|
38
|
+
* Emitted as a `<script type="importmap">` block whose `integrity` map the
|
|
39
|
+
* browser consults when fetching modules without an inline `integrity`
|
|
40
|
+
* attribute. See:
|
|
41
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/importmap#integrity_metadata_map
|
|
42
|
+
*/
|
|
43
|
+
chunksIntegrity?: ReadonlyMap<string, string>;
|
|
30
44
|
}
|
|
31
45
|
export interface FileInfo {
|
|
32
46
|
file: string;
|
|
@@ -53,7 +53,7 @@ const valid_self_closing_tags_1 = require("./valid-self-closing-tags");
|
|
|
53
53
|
*/
|
|
54
54
|
// eslint-disable-next-line max-lines-per-function
|
|
55
55
|
async function augmentIndexHtml(params) {
|
|
56
|
-
const { loadOutputFile, files, entrypoints, sri, deployUrl, lang, baseHref, html, imageDomains } = params;
|
|
56
|
+
const { loadOutputFile, files, entrypoints, sri, deployUrl, lang, baseHref, html, imageDomains, chunksIntegrity, } = params;
|
|
57
57
|
const warnings = [];
|
|
58
58
|
const errors = [];
|
|
59
59
|
let { crossOrigin = 'none' } = params;
|
|
@@ -106,8 +106,23 @@ async function augmentIndexHtml(params) {
|
|
|
106
106
|
}
|
|
107
107
|
scriptTags.push(`<script ${attrs.join(' ')}></script>`);
|
|
108
108
|
}
|
|
109
|
+
let subResourceIntegrityTag;
|
|
109
110
|
let headerLinkTags = [];
|
|
110
111
|
let bodyLinkTags = [];
|
|
112
|
+
// Emit an integrity-only import map so the browser can validate lazy chunks
|
|
113
|
+
// resolved via dynamic `import()` (which otherwise carry no SRI metadata).
|
|
114
|
+
// The block is placed first inside `<head>` so it precedes any module
|
|
115
|
+
// script, as required by the import-map spec.
|
|
116
|
+
if (sri && chunksIntegrity?.size) {
|
|
117
|
+
const integrity = {};
|
|
118
|
+
// Stable iteration order for reproducible builds.
|
|
119
|
+
const sortedEntries = [...chunksIntegrity.entries()].sort(([keyA], [keyB]) => keyA.localeCompare(keyB));
|
|
120
|
+
for (const [url, integrityHash] of sortedEntries) {
|
|
121
|
+
integrity[generateUrl(url, deployUrl)] = integrityHash;
|
|
122
|
+
}
|
|
123
|
+
const importMapJson = JSON.stringify({ integrity }).replace(/</g, '\\u003c');
|
|
124
|
+
subResourceIntegrityTag = `<script type="importmap">${importMapJson}</script>`;
|
|
125
|
+
}
|
|
111
126
|
for (const src of stylesheets) {
|
|
112
127
|
const attrs = [`rel="stylesheet"`, `href="${generateUrl(src, deployUrl)}"`];
|
|
113
128
|
if (crossOrigin !== 'none') {
|
|
@@ -178,6 +193,9 @@ async function augmentIndexHtml(params) {
|
|
|
178
193
|
if (!baseTagExists && isString(baseHref)) {
|
|
179
194
|
rewriter.emitStartTag(tag);
|
|
180
195
|
rewriter.emitRaw(`<base href="${baseHref}">`);
|
|
196
|
+
if (subResourceIntegrityTag) {
|
|
197
|
+
rewriter.emitRaw(subResourceIntegrityTag);
|
|
198
|
+
}
|
|
181
199
|
return;
|
|
182
200
|
}
|
|
183
201
|
break;
|
|
@@ -186,6 +204,9 @@ async function augmentIndexHtml(params) {
|
|
|
186
204
|
if (isString(baseHref)) {
|
|
187
205
|
updateAttribute(tag, 'href', baseHref);
|
|
188
206
|
}
|
|
207
|
+
if (subResourceIntegrityTag) {
|
|
208
|
+
rewriter.emitRaw(subResourceIntegrityTag);
|
|
209
|
+
}
|
|
189
210
|
break;
|
|
190
211
|
case 'link':
|
|
191
212
|
if (readAttribute(tag, 'rel') === 'preconnect') {
|