@angular/build 22.1.3 → 22.1.5
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 +5 -5
- package/src/builders/application/chunk-optimizer.js +1 -0
- package/src/builders/application/chunk-optimizer.js.map +1 -1
- package/src/builders/application/execute-build.js +20 -1
- package/src/builders/application/execute-build.js.map +1 -1
- package/src/builders/application/options.d.ts +14 -0
- package/src/builders/application/options.js +2 -1
- package/src/builders/application/options.js.map +1 -1
- package/src/builders/application/setup-bundling.js +2 -2
- package/src/builders/application/setup-bundling.js.map +1 -1
- package/src/builders/dev-server/internal.d.ts +1 -1
- package/src/builders/dev-server/internal.js +2 -2
- package/src/builders/dev-server/internal.js.map +1 -1
- package/src/builders/dev-server/vite/server.js +4 -2
- package/src/builders/dev-server/vite/server.js.map +1 -1
- package/src/builders/unit-test/options.js +1 -1
- package/src/builders/unit-test/options.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/build-options.js +6 -0
- package/src/builders/unit-test/runners/vitest/build-options.js.map +1 -1
- package/src/private.d.ts +1 -1
- package/src/private.js +2 -2
- package/src/private.js.map +1 -1
- package/src/tools/babel/plugins/oxc-transform.js +8 -4
- package/src/tools/babel/plugins/oxc-transform.js.map +1 -1
- package/src/tools/esbuild/angular/compiler-plugin.js +1 -1
- package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
- package/src/tools/esbuild/application-code-bundle.js +5 -0
- package/src/tools/esbuild/application-code-bundle.js.map +1 -1
- package/src/tools/esbuild/i18n-inliner-worker.d.ts +8 -4
- package/src/tools/esbuild/i18n-inliner-worker.js +88 -13
- package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
- package/src/tools/esbuild/i18n-inliner.js +33 -3
- package/src/tools/esbuild/i18n-inliner.js.map +1 -1
- package/src/tools/esbuild/sqlite-cache-store.js +51 -1
- package/src/tools/esbuild/sqlite-cache-store.js.map +1 -1
- package/src/tools/esbuild/target.d.ts +29 -0
- package/src/tools/esbuild/target.js +105 -0
- package/src/tools/esbuild/target.js.map +1 -0
- package/src/tools/esbuild/utils.d.ts +0 -10
- package/src/tools/esbuild/utils.js +0 -58
- package/src/tools/esbuild/utils.js.map +1 -1
- package/src/tools/vite/utils.d.ts +2 -1
- package/src/tools/vite/utils.js +2 -1
- package/src/tools/vite/utils.js.map +1 -1
- package/src/utils/bundle-calculator.js +12 -3
- package/src/utils/bundle-calculator.js.map +1 -1
- package/src/utils/index-file/auto-csp.js +36 -17
- package/src/utils/index-file/auto-csp.js.map +1 -1
- package/src/utils/normalize-cache.js +1 -1
- package/src/utils/server-rendering/manifest.js +9 -4
- package/src/utils/server-rendering/manifest.js.map +1 -1
- package/src/utils/source-map.js +23 -34
- package/src/utils/source-map.js.map +1 -1
|
@@ -19,6 +19,8 @@ class SqliteCacheStore {
|
|
|
19
19
|
#hasStmt;
|
|
20
20
|
#setStmt;
|
|
21
21
|
#updateAccessedStmt;
|
|
22
|
+
#pendingAccessedKeys = new Set();
|
|
23
|
+
#flushTimeout;
|
|
22
24
|
constructor(cachePath, maxPayloadSize = 1024 * 1024 * 1024, ttlDays = 14) {
|
|
23
25
|
this.cachePath = cachePath;
|
|
24
26
|
this.maxPayloadSize = maxPayloadSize;
|
|
@@ -31,6 +33,9 @@ class SqliteCacheStore {
|
|
|
31
33
|
this.#db.exec('PRAGMA auto_vacuum = FULL;');
|
|
32
34
|
this.#db.exec('PRAGMA journal_mode = WAL;');
|
|
33
35
|
this.#db.exec('PRAGMA synchronous = NORMAL;');
|
|
36
|
+
this.#db.exec('PRAGMA busy_timeout = 5000;');
|
|
37
|
+
this.#db.exec('PRAGMA temp_store = MEMORY;');
|
|
38
|
+
this.#db.exec('PRAGMA mmap_size = 268435456;');
|
|
34
39
|
this.#db.exec('CREATE TABLE IF NOT EXISTS cache (key TEXT PRIMARY KEY, value TEXT, last_accessed INTEGER NOT NULL) WITHOUT ROWID;');
|
|
35
40
|
this.#getStmt = this.#db.prepare('SELECT value FROM cache WHERE key = ?');
|
|
36
41
|
this.#hasStmt = this.#db.prepare('SELECT 1 FROM cache WHERE key = ?');
|
|
@@ -39,12 +44,49 @@ class SqliteCacheStore {
|
|
|
39
44
|
}
|
|
40
45
|
return this.#db;
|
|
41
46
|
}
|
|
47
|
+
#queueAccessUpdate(key) {
|
|
48
|
+
this.#pendingAccessedKeys.add(key);
|
|
49
|
+
if (this.#pendingAccessedKeys.size >= 100) {
|
|
50
|
+
this.#flushAccessUpdates();
|
|
51
|
+
}
|
|
52
|
+
else if (!this.#flushTimeout) {
|
|
53
|
+
this.#flushTimeout = setTimeout(() => this.#flushAccessUpdates(), 500);
|
|
54
|
+
this.#flushTimeout.unref?.();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
#flushAccessUpdates() {
|
|
58
|
+
if (this.#flushTimeout) {
|
|
59
|
+
clearTimeout(this.#flushTimeout);
|
|
60
|
+
this.#flushTimeout = undefined;
|
|
61
|
+
}
|
|
62
|
+
if (!this.#db || this.#pendingAccessedKeys.size === 0 || !this.#updateAccessedStmt) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
this.#db.exec('BEGIN IMMEDIATE TRANSACTION;');
|
|
67
|
+
for (const key of this.#pendingAccessedKeys) {
|
|
68
|
+
this.#updateAccessedStmt.run(key);
|
|
69
|
+
}
|
|
70
|
+
this.#db.exec('COMMIT;');
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
try {
|
|
74
|
+
this.#db.exec('ROLLBACK;');
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Ignore rollback errors if transaction was not active
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
this.#pendingAccessedKeys.clear();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
42
84
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
85
|
async get(key) {
|
|
44
86
|
this.#ensureDb();
|
|
45
87
|
const row = this.#getStmt?.get(key);
|
|
46
88
|
if (row) {
|
|
47
|
-
this.#
|
|
89
|
+
this.#queueAccessUpdate(key);
|
|
48
90
|
try {
|
|
49
91
|
return JSON.parse(row.value);
|
|
50
92
|
}
|
|
@@ -60,6 +102,7 @@ class SqliteCacheStore {
|
|
|
60
102
|
}
|
|
61
103
|
async set(key, value) {
|
|
62
104
|
this.#ensureDb();
|
|
105
|
+
this.#pendingAccessedKeys.delete(key);
|
|
63
106
|
this.#setStmt?.run(key, JSON.stringify(value));
|
|
64
107
|
return this;
|
|
65
108
|
}
|
|
@@ -69,6 +112,8 @@ class SqliteCacheStore {
|
|
|
69
112
|
close() {
|
|
70
113
|
if (this.#db) {
|
|
71
114
|
try {
|
|
115
|
+
// Flush any pending access updates in one transaction before pruning
|
|
116
|
+
this.#flushAccessUpdates();
|
|
72
117
|
// 1. Delete items older than N days
|
|
73
118
|
this.#db
|
|
74
119
|
.prepare("DELETE FROM cache WHERE last_accessed < unixepoch('now', ?);")
|
|
@@ -89,6 +134,11 @@ class SqliteCacheStore {
|
|
|
89
134
|
// Pruning errors should not block build success
|
|
90
135
|
}
|
|
91
136
|
finally {
|
|
137
|
+
if (this.#flushTimeout) {
|
|
138
|
+
clearTimeout(this.#flushTimeout);
|
|
139
|
+
this.#flushTimeout = undefined;
|
|
140
|
+
}
|
|
141
|
+
this.#pendingAccessedKeys.clear();
|
|
92
142
|
this.#getStmt = undefined;
|
|
93
143
|
this.#hasStmt = undefined;
|
|
94
144
|
this.#setStmt = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-cache-store.js","sourceRoot":"","sources":["sqlite-cache-store.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,6CAA0D;AAC1D,mCAAsD;AAEtD,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"sqlite-cache-store.js","sourceRoot":"","sources":["sqlite-cache-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Transform browserlists result to esbuild target.
|
|
10
|
+
*
|
|
11
|
+
* Only the lowest version for each browser is returned to avoid issues with esbuild and rolldown
|
|
12
|
+
* when multiple versions of the same target engine are specified.
|
|
13
|
+
*
|
|
14
|
+
* @see https://esbuild.github.io/api/#target
|
|
15
|
+
* @see https://github.com/evanw/esbuild/issues/4509
|
|
16
|
+
* @see https://github.com/rolldown/rolldown/issues/10633
|
|
17
|
+
*/
|
|
18
|
+
export declare function transformSupportedBrowsersToTargets(supportedBrowsers: string[]): string[];
|
|
19
|
+
/**
|
|
20
|
+
* Transform supported Node.js versions to esbuild target.
|
|
21
|
+
*
|
|
22
|
+
* Only the lowest Node.js version is returned to avoid issues with esbuild and rolldown
|
|
23
|
+
* when multiple versions of the same target engine are specified.
|
|
24
|
+
*
|
|
25
|
+
* @see https://esbuild.github.io/api/#target
|
|
26
|
+
* @see https://github.com/evanw/esbuild/issues/4509
|
|
27
|
+
* @see https://github.com/rolldown/rolldown/issues/10633
|
|
28
|
+
*/
|
|
29
|
+
export declare function getSupportedNodeTargets(): string[];
|
|
@@ -0,0 +1,105 @@
|
|
|
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.transformSupportedBrowsersToTargets = transformSupportedBrowsersToTargets;
|
|
11
|
+
exports.getSupportedNodeTargets = getSupportedNodeTargets;
|
|
12
|
+
const semver_1 = require("semver");
|
|
13
|
+
/**
|
|
14
|
+
* Compares two target version strings.
|
|
15
|
+
*
|
|
16
|
+
* This function is used to determine the lowest version for a given browser target.
|
|
17
|
+
*
|
|
18
|
+
* @param a The first version string.
|
|
19
|
+
* @param b The second version string.
|
|
20
|
+
* @returns A negative value if `a` is lower than `b`, a positive value if `a` is higher than `b`, and 0 if they are equal.
|
|
21
|
+
*/
|
|
22
|
+
function compareTargetVersions(a, b) {
|
|
23
|
+
const aVersion = (0, semver_1.coerce)(a);
|
|
24
|
+
const bVersion = (0, semver_1.coerce)(b);
|
|
25
|
+
if (!aVersion || !bVersion) {
|
|
26
|
+
return aVersion ? -1 : bVersion ? 1 : 0;
|
|
27
|
+
}
|
|
28
|
+
return (0, semver_1.compare)(aVersion, bVersion);
|
|
29
|
+
}
|
|
30
|
+
// https://esbuild.github.io/api/#target
|
|
31
|
+
const ESBUILD_SUPPORTED_BROWSERS = new Set([
|
|
32
|
+
'chrome',
|
|
33
|
+
'edge',
|
|
34
|
+
'firefox',
|
|
35
|
+
'ie',
|
|
36
|
+
'ios',
|
|
37
|
+
'node',
|
|
38
|
+
'opera',
|
|
39
|
+
'safari',
|
|
40
|
+
]);
|
|
41
|
+
/**
|
|
42
|
+
* Transform browserlists result to esbuild target.
|
|
43
|
+
*
|
|
44
|
+
* Only the lowest version for each browser is returned to avoid issues with esbuild and rolldown
|
|
45
|
+
* when multiple versions of the same target engine are specified.
|
|
46
|
+
*
|
|
47
|
+
* @see https://esbuild.github.io/api/#target
|
|
48
|
+
* @see https://github.com/evanw/esbuild/issues/4509
|
|
49
|
+
* @see https://github.com/rolldown/rolldown/issues/10633
|
|
50
|
+
*/
|
|
51
|
+
function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
52
|
+
const browsers = new Map();
|
|
53
|
+
for (const browser of supportedBrowsers) {
|
|
54
|
+
let [browserName, version] = browser.toLowerCase().split(' ');
|
|
55
|
+
if (!browserName || !version) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
// browserslist uses the name `ios_saf` for iOS Safari whereas esbuild uses `ios`
|
|
59
|
+
if (browserName === 'ios_saf') {
|
|
60
|
+
browserName = 'ios';
|
|
61
|
+
}
|
|
62
|
+
if (!ESBUILD_SUPPORTED_BROWSERS.has(browserName)) {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
// browserslist uses ranges `15.2-15.3` versions but only the lowest is required
|
|
66
|
+
// to perform minimum supported feature checks. esbuild also expects a single version.
|
|
67
|
+
[version] = version.split('-');
|
|
68
|
+
if (browserName === 'safari' && version === 'tp') {
|
|
69
|
+
// esbuild only supports numeric versions so `TP` is converted to a high number (999) since
|
|
70
|
+
// a Technology Preview (TP) of Safari is assumed to support all currently known features.
|
|
71
|
+
version = '999';
|
|
72
|
+
}
|
|
73
|
+
else if (!version.includes('.')) {
|
|
74
|
+
// A lone major version is considered by esbuild to include all minor versions. However,
|
|
75
|
+
// browserslist does not and is also inconsistent in its `.0` version naming. For example,
|
|
76
|
+
// Safari 15.0 is named `safari 15` but Safari 16.0 is named `safari 16.0`.
|
|
77
|
+
version += '.0';
|
|
78
|
+
}
|
|
79
|
+
const current = browsers.get(browserName);
|
|
80
|
+
if (!current || compareTargetVersions(version, current) < 0) {
|
|
81
|
+
browsers.set(browserName, version);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return Array.from(browsers, ([browserName, version]) => browserName + version);
|
|
85
|
+
}
|
|
86
|
+
const SUPPORTED_NODE_VERSIONS = '^22.22.3 || ^24.15.0 || >=26.0.0';
|
|
87
|
+
/**
|
|
88
|
+
* Transform supported Node.js versions to esbuild target.
|
|
89
|
+
*
|
|
90
|
+
* Only the lowest Node.js version is returned to avoid issues with esbuild and rolldown
|
|
91
|
+
* when multiple versions of the same target engine are specified.
|
|
92
|
+
*
|
|
93
|
+
* @see https://esbuild.github.io/api/#target
|
|
94
|
+
* @see https://github.com/evanw/esbuild/issues/4509
|
|
95
|
+
* @see https://github.com/rolldown/rolldown/issues/10633
|
|
96
|
+
*/
|
|
97
|
+
function getSupportedNodeTargets() {
|
|
98
|
+
if (SUPPORTED_NODE_VERSIONS.charAt(0) === '0') {
|
|
99
|
+
// Unlike `pkg_npm`, `ts_library` which is used to run unit tests does not support substitutions.
|
|
100
|
+
return [];
|
|
101
|
+
}
|
|
102
|
+
const parsed = (0, semver_1.minVersion)(SUPPORTED_NODE_VERSIONS);
|
|
103
|
+
return parsed ? ['node' + parsed.version] : [];
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target.js","sourceRoot":"","sources":["target.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA8CH,kFAwCC;AAcD,0DASC;AA3GD,mCAAqD;AAErD;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAAC,CAAS,EAAE,CAAS;IACjD,MAAM,QAAQ,GAAG,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAA,gBAAO,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,wCAAwC;AACxC,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC;IAC9D,QAAQ;IACR,MAAM;IACN,SAAS;IACT,IAAI;IACJ,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;CACT,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,SAAgB,mCAAmC,CAAC,iBAA2B;IAC7E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3C,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,iFAAiF;QACjF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;QAED,gFAAgF;QAChF,sFAAsF;QACtF,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,WAAW,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACjD,2FAA2F;YAC3F,0FAA0F;YAC1F,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,wFAAwF;YACxF,0FAA0F;YAC1F,2EAA2E;YAC3E,OAAO,IAAI,IAAI,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAErD;;;;;;;;;GASG;AACH,SAAgB,uBAAuB;IACrC,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC9C,iGAAiG;QACjG,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,uBAAuB,CAAC,CAAC;IAEnD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -24,16 +24,6 @@ export declare function withNoProgress<T>(text: string, action: () => T | Promis
|
|
|
24
24
|
*/
|
|
25
25
|
export declare function getFeatureSupport(nativeAsyncAwait: boolean): BuildOptions['supported'];
|
|
26
26
|
export declare function emitFilesToDisk<T = BuildOutputAsset | BuildOutputFile>(files: T[], writeFileCallback: (file: T) => Promise<void>): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Transform browserlists result to esbuild target.
|
|
29
|
-
* @see https://esbuild.github.io/api/#target
|
|
30
|
-
*/
|
|
31
|
-
export declare function transformSupportedBrowsersToTargets(supportedBrowsers: string[]): string[];
|
|
32
|
-
/**
|
|
33
|
-
* Transform supported Node.js versions to esbuild target.
|
|
34
|
-
* @see https://esbuild.github.io/api/#target
|
|
35
|
-
*/
|
|
36
|
-
export declare function getSupportedNodeTargets(): string[];
|
|
37
27
|
export declare function createJsonBuildManifest(result: ExecutionResult, normalizedOptions: NormalizedApplicationBuildOptions): Promise<string>;
|
|
38
28
|
export declare function logMessages(logger: BuilderContext['logger'], executionResult: ExecutionResult, color?: boolean, jsonLogs?: boolean): Promise<void>;
|
|
39
29
|
/**
|
|
@@ -14,8 +14,6 @@ exports.withSpinner = withSpinner;
|
|
|
14
14
|
exports.withNoProgress = withNoProgress;
|
|
15
15
|
exports.getFeatureSupport = getFeatureSupport;
|
|
16
16
|
exports.emitFilesToDisk = emitFilesToDisk;
|
|
17
|
-
exports.transformSupportedBrowsersToTargets = transformSupportedBrowsersToTargets;
|
|
18
|
-
exports.getSupportedNodeTargets = getSupportedNodeTargets;
|
|
19
17
|
exports.createJsonBuildManifest = createJsonBuildManifest;
|
|
20
18
|
exports.logMessages = logMessages;
|
|
21
19
|
exports.isZonelessApp = isZonelessApp;
|
|
@@ -25,7 +23,6 @@ const listr2_1 = require("listr2");
|
|
|
25
23
|
const node_path_1 = require("node:path");
|
|
26
24
|
const node_url_1 = require("node:url");
|
|
27
25
|
const node_zlib_1 = require("node:zlib");
|
|
28
|
-
const semver_1 = require("semver");
|
|
29
26
|
const schema_1 = require("../../builders/application/schema");
|
|
30
27
|
const stats_table_1 = require("../../utils/stats-table");
|
|
31
28
|
const bundler_files_1 = require("./bundler-files");
|
|
@@ -178,61 +175,6 @@ async function emitFilesToDisk(files, writeFileCallback) {
|
|
|
178
175
|
await Promise.all(actions);
|
|
179
176
|
}
|
|
180
177
|
}
|
|
181
|
-
/**
|
|
182
|
-
* Transform browserlists result to esbuild target.
|
|
183
|
-
* @see https://esbuild.github.io/api/#target
|
|
184
|
-
*/
|
|
185
|
-
function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
186
|
-
const transformed = [];
|
|
187
|
-
// https://esbuild.github.io/api/#target
|
|
188
|
-
const esBuildSupportedBrowsers = new Set([
|
|
189
|
-
'chrome',
|
|
190
|
-
'edge',
|
|
191
|
-
'firefox',
|
|
192
|
-
'ie',
|
|
193
|
-
'ios',
|
|
194
|
-
'node',
|
|
195
|
-
'opera',
|
|
196
|
-
'safari',
|
|
197
|
-
]);
|
|
198
|
-
for (const browser of supportedBrowsers) {
|
|
199
|
-
let [browserName, version] = browser.toLowerCase().split(' ');
|
|
200
|
-
// browserslist uses the name `ios_saf` for iOS Safari whereas esbuild uses `ios`
|
|
201
|
-
if (browserName === 'ios_saf') {
|
|
202
|
-
browserName = 'ios';
|
|
203
|
-
}
|
|
204
|
-
// browserslist uses ranges `15.2-15.3` versions but only the lowest is required
|
|
205
|
-
// to perform minimum supported feature checks. esbuild also expects a single version.
|
|
206
|
-
[version] = version.split('-');
|
|
207
|
-
if (esBuildSupportedBrowsers.has(browserName)) {
|
|
208
|
-
if (browserName === 'safari' && version === 'tp') {
|
|
209
|
-
// esbuild only supports numeric versions so `TP` is converted to a high number (999) since
|
|
210
|
-
// a Technology Preview (TP) of Safari is assumed to support all currently known features.
|
|
211
|
-
version = '999';
|
|
212
|
-
}
|
|
213
|
-
else if (!version.includes('.')) {
|
|
214
|
-
// A lone major version is considered by esbuild to include all minor versions. However,
|
|
215
|
-
// browserslist does not and is also inconsistent in its `.0` version naming. For example,
|
|
216
|
-
// Safari 15.0 is named `safari 15` but Safari 16.0 is named `safari 16.0`.
|
|
217
|
-
version += '.0';
|
|
218
|
-
}
|
|
219
|
-
transformed.push(browserName + version);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
return transformed;
|
|
223
|
-
}
|
|
224
|
-
const SUPPORTED_NODE_VERSIONS = '^22.22.3 || ^24.15.0 || >=26.0.0';
|
|
225
|
-
/**
|
|
226
|
-
* Transform supported Node.js versions to esbuild target.
|
|
227
|
-
* @see https://esbuild.github.io/api/#target
|
|
228
|
-
*/
|
|
229
|
-
function getSupportedNodeTargets() {
|
|
230
|
-
if (SUPPORTED_NODE_VERSIONS.charAt(0) === '0') {
|
|
231
|
-
// Unlike `pkg_npm`, `ts_library` which is used to run unit tests does not support substitutions.
|
|
232
|
-
return [];
|
|
233
|
-
}
|
|
234
|
-
return SUPPORTED_NODE_VERSIONS.split('||').map((v) => 'node' + (0, semver_1.coerce)(v)?.version);
|
|
235
|
-
}
|
|
236
178
|
async function createJsonBuildManifest(result, normalizedOptions) {
|
|
237
179
|
const { colors: color, outputOptions: { base, server, browser }, ssrOptions, outputMode, } = normalizedOptions;
|
|
238
180
|
const { warnings, errors, prerenderedRoutes } = result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,8 @@ export type AngularOutputAssets = Map<string, {
|
|
|
21
21
|
export declare function pathnameWithoutBasePath(url: string, basePath: string): string;
|
|
22
22
|
export declare function lookupMimeTypeFromRequest(url: string): string | undefined;
|
|
23
23
|
export type RolldownLoaderOption = Exclude<DepOptimizationConfig['rolldownOptions'], undefined>['moduleTypes'];
|
|
24
|
-
export declare function getDepOptimizationConfig({ disabled, exclude, include, prebundleTransformer, loader, thirdPartySourcemaps, define, }: {
|
|
24
|
+
export declare function getDepOptimizationConfig({ target, disabled, exclude, include, prebundleTransformer, loader, thirdPartySourcemaps, define, }: {
|
|
25
|
+
target: string[];
|
|
25
26
|
disabled: boolean;
|
|
26
27
|
exclude: string[];
|
|
27
28
|
include: string[];
|
package/src/tools/vite/utils.js
CHANGED
|
@@ -30,7 +30,7 @@ function lookupMimeTypeFromRequest(url) {
|
|
|
30
30
|
}
|
|
31
31
|
return extension && (0, mrmime_1.lookup)(extension);
|
|
32
32
|
}
|
|
33
|
-
function getDepOptimizationConfig({ disabled, exclude, include, prebundleTransformer, loader, thirdPartySourcemaps, define = {}, }) {
|
|
33
|
+
function getDepOptimizationConfig({ target, disabled, exclude, include, prebundleTransformer, loader, thirdPartySourcemaps, define = {}, }) {
|
|
34
34
|
const config = {
|
|
35
35
|
// Exclude any explicitly defined dependencies (currently build defined externals)
|
|
36
36
|
exclude,
|
|
@@ -40,6 +40,7 @@ function getDepOptimizationConfig({ disabled, exclude, include, prebundleTransfo
|
|
|
40
40
|
noDiscovery: disabled,
|
|
41
41
|
rolldownOptions: {
|
|
42
42
|
transform: {
|
|
43
|
+
target,
|
|
43
44
|
define,
|
|
44
45
|
},
|
|
45
46
|
moduleTypes: loader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAkBH,0DAQC;AAED,8DAQC;AAOD,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,6 +107,7 @@ class Calculator {
|
|
|
107
107
|
budget;
|
|
108
108
|
chunks;
|
|
109
109
|
assets;
|
|
110
|
+
assetMap;
|
|
110
111
|
constructor(budget, chunks, assets) {
|
|
111
112
|
this.budget = budget;
|
|
112
113
|
this.chunks = chunks;
|
|
@@ -118,14 +119,22 @@ class Calculator {
|
|
|
118
119
|
if (!chunk.files) {
|
|
119
120
|
return 0;
|
|
120
121
|
}
|
|
122
|
+
if (!this.assetMap) {
|
|
123
|
+
const map = new Map();
|
|
124
|
+
for (const asset of this.assets) {
|
|
125
|
+
map.set(asset.name, asset.size);
|
|
126
|
+
}
|
|
127
|
+
this.assetMap = map;
|
|
128
|
+
}
|
|
129
|
+
const assetMap = this.assetMap;
|
|
121
130
|
return chunk.files
|
|
122
131
|
.filter((file) => !file.endsWith('.map'))
|
|
123
132
|
.map((file) => {
|
|
124
|
-
const
|
|
125
|
-
if (
|
|
133
|
+
const assetSize = assetMap.get(file);
|
|
134
|
+
if (assetSize === undefined) {
|
|
126
135
|
throw new Error(`Could not find asset for file: ${file}`);
|
|
127
136
|
}
|
|
128
|
-
return
|
|
137
|
+
return assetSize;
|
|
129
138
|
})
|
|
130
139
|
.reduce((l, r) => l + r, 0);
|
|
131
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-calculator.js","sourceRoot":"","sources":["bundle-calculator.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAsDH,kDA4DC;
|
|
1
|
+
{"version":3,"file":"bundle-calculator.js","sourceRoot":"","sources":["bundle-calculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,11 +121,14 @@ async function autoCsp(html, unsafeEval = false) {
|
|
|
121
121
|
// If there are any interesting attributes, note them down.
|
|
122
122
|
const scriptType = getScriptAttributeValue(tag, 'type');
|
|
123
123
|
if (shouldDynamicallyLoadScriptTagBasedOnType(scriptType)) {
|
|
124
|
+
const crossOrigin = getScriptAttributeValue(tag, 'crossorigin');
|
|
124
125
|
scriptContent.push({
|
|
125
126
|
src: src,
|
|
126
127
|
type: scriptType,
|
|
127
128
|
async: getScriptAttributeValue(tag, 'async') !== undefined,
|
|
128
129
|
defer: getScriptAttributeValue(tag, 'defer') !== undefined,
|
|
130
|
+
integrity: getScriptAttributeValue(tag, 'integrity'),
|
|
131
|
+
crossOrigin: crossOrigin === '' ? 'anonymous' : crossOrigin,
|
|
129
132
|
});
|
|
130
133
|
return; // Skip writing my script tag until we've read it all.
|
|
131
134
|
}
|
|
@@ -261,35 +264,51 @@ function createLoaderScript(srcList, enableTrustedTypes = false) {
|
|
|
261
264
|
const srcAttr = encodeURI(s.src).replaceAll("'", "\\'");
|
|
262
265
|
// Can only be 'module' or a JS MIME type or an empty string.
|
|
263
266
|
const typeAttr = s.type ? "'" + s.type + "'" : "''";
|
|
264
|
-
const asyncAttr = s.async
|
|
265
|
-
const deferAttr = s.defer
|
|
266
|
-
|
|
267
|
+
const asyncAttr = !!s.async;
|
|
268
|
+
const deferAttr = !!s.defer;
|
|
269
|
+
const integrityAttr = JSON.stringify(s.integrity ?? null).replaceAll('<', '\\u003c');
|
|
270
|
+
const crossOriginAttr = JSON.stringify(s.crossOrigin ?? null).replaceAll('<', '\\u003c');
|
|
271
|
+
return `['${srcAttr}', ${typeAttr}, ${asyncAttr}, ${deferAttr}, ${integrityAttr}, ${crossOriginAttr}]`;
|
|
267
272
|
})
|
|
268
273
|
.join();
|
|
269
274
|
return enableTrustedTypes
|
|
270
|
-
? `
|
|
271
|
-
|
|
272
|
-
|
|
275
|
+
? `(() => {
|
|
276
|
+
const scripts = [${srcListFormatted}];
|
|
277
|
+
const policy = self.trustedTypes && self.trustedTypes.createPolicy ?
|
|
273
278
|
self.trustedTypes.createPolicy('angular#auto-csp', {createScriptURL: function(u) {
|
|
274
|
-
return scripts.
|
|
279
|
+
return scripts.some(function(s) { return s[0] === u; }) ? u : null;
|
|
275
280
|
}}) : { createScriptURL: function(u) { return u; } };
|
|
276
281
|
scripts.forEach(function(scriptUrl) {
|
|
277
|
-
|
|
282
|
+
const s = document.createElement('script');
|
|
278
283
|
s.src = policy.createScriptURL(scriptUrl[0]);
|
|
279
284
|
s.type = scriptUrl[1];
|
|
280
|
-
s.async =
|
|
281
|
-
s.defer =
|
|
285
|
+
s.async = scriptUrl[2];
|
|
286
|
+
s.defer = scriptUrl[3];
|
|
287
|
+
if (scriptUrl[4]) {
|
|
288
|
+
s.integrity = scriptUrl[4];
|
|
289
|
+
}
|
|
290
|
+
if (scriptUrl[5]) {
|
|
291
|
+
s.crossOrigin = scriptUrl[5];
|
|
292
|
+
}
|
|
282
293
|
document.lastElementChild.appendChild(s);
|
|
283
|
-
})
|
|
284
|
-
|
|
285
|
-
|
|
294
|
+
});
|
|
295
|
+
})();\n`
|
|
296
|
+
: `(() => {
|
|
297
|
+
const scripts = [${srcListFormatted}];
|
|
286
298
|
scripts.forEach(function(scriptUrl) {
|
|
287
|
-
|
|
299
|
+
const s = document.createElement('script');
|
|
288
300
|
s.src = scriptUrl[0];
|
|
289
301
|
s.type = scriptUrl[1];
|
|
290
|
-
s.async =
|
|
291
|
-
s.defer =
|
|
302
|
+
s.async = scriptUrl[2];
|
|
303
|
+
s.defer = scriptUrl[3];
|
|
304
|
+
if (scriptUrl[4]) {
|
|
305
|
+
s.integrity = scriptUrl[4];
|
|
306
|
+
}
|
|
307
|
+
if (scriptUrl[5]) {
|
|
308
|
+
s.crossOrigin = scriptUrl[5];
|
|
309
|
+
}
|
|
292
310
|
document.lastElementChild.appendChild(s);
|
|
293
|
-
})
|
|
311
|
+
});
|
|
312
|
+
})();\n`;
|
|
294
313
|
}
|
|
295
314
|
//# sourceMappingURL=auto-csp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-csp.js","sourceRoot":"","sources":["auto-csp.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"auto-csp.js","sourceRoot":"","sources":["auto-csp.ts"],"names":[],"mappings":"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"}
|