@angular/build 22.2.0-next.2 → 22.2.0-next.3
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 +10 -8
- package/src/builders/application/build-action.js +14 -3
- package/src/builders/application/build-action.js.map +1 -1
- 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 +2 -1
- package/src/builders/application/execute-build.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 +6 -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/test-discovery.js +3 -2
- package/src/builders/unit-test/test-discovery.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/angular/angular-host.js +3 -3
- package/src/tools/angular/angular-host.js.map +1 -1
- package/src/tools/angular/compilation/parallel-worker.js +2 -0
- package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
- package/src/tools/angular/linker/oxc-linker.d.ts +2 -1
- package/src/tools/angular/linker/oxc-linker.js +2 -10
- package/src/tools/angular/linker/oxc-linker.js.map +1 -1
- package/src/tools/esbuild/angular/compiler-plugin.js +4 -7
- package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
- package/src/tools/esbuild/angular/component-stylesheets.js +5 -6
- 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/bundler-files.js +3 -5
- package/src/tools/esbuild/bundler-files.js.map +1 -1
- package/src/tools/esbuild/i18n-inliner-worker.d.ts +8 -4
- package/src/tools/esbuild/i18n-inliner-worker.js +40 -7
- package/src/tools/esbuild/i18n-inliner-worker.js.map +1 -1
- package/src/tools/esbuild/i18n-inliner.js +37 -10
- package/src/tools/esbuild/i18n-inliner.js.map +1 -1
- package/src/tools/esbuild/javascript-transformer-worker.d.ts +0 -4
- package/src/tools/esbuild/javascript-transformer-worker.js +105 -54
- package/src/tools/esbuild/javascript-transformer-worker.js.map +1 -1
- package/src/tools/esbuild/javascript-transformer.d.ts +1 -1
- package/src/tools/esbuild/javascript-transformer.js +63 -37
- package/src/tools/esbuild/javascript-transformer.js.map +1 -1
- package/src/tools/esbuild/persistent-load-result-cache.js +11 -13
- package/src/tools/esbuild/persistent-load-result-cache.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/stylesheets/stylesheet-cache-key.js +4 -8
- package/src/tools/esbuild/stylesheets/stylesheet-cache-key.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/esbuild/watcher.d.ts +21 -2
- package/src/tools/esbuild/watcher.js +483 -60
- package/src/tools/esbuild/watcher.js.map +1 -1
- package/src/tools/oxc/oxc-transform.d.ts +2 -1
- package/src/tools/oxc/oxc-transform.js +5 -16
- package/src/tools/oxc/oxc-transform.js.map +1 -1
- package/src/tools/sass/rebasing-importer.d.ts +5 -5
- package/src/tools/sass/rebasing-importer.js +5 -2
- package/src/tools/sass/rebasing-importer.js.map +1 -1
- package/src/tools/sass/worker.d.ts +1 -1
- package/src/tools/sass/worker.js.map +1 -1
- package/src/tools/vite/middlewares/assets-middleware.js +3 -3
- package/src/tools/vite/middlewares/assets-middleware.js.map +1 -1
- package/src/tools/vite/utils.d.ts +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/hash.d.ts +24 -0
- package/src/utils/hash.js +94 -0
- package/src/utils/hash.js.map +1 -0
- package/src/utils/index-file/inline-critical-css.js +153 -109
- package/src/utils/index-file/inline-critical-css.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.d.ts +26 -2
- package/src/utils/source-map.js +172 -85
- package/src/utils/source-map.js.map +1 -1
|
@@ -9,26 +9,23 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.PersistentLoadResultCache = void 0;
|
|
11
11
|
exports.extractDiskFilePath = extractDiskFilePath;
|
|
12
|
-
const node_crypto_1 = require("node:crypto");
|
|
13
12
|
const promises_1 = require("node:fs/promises");
|
|
14
13
|
const node_path_1 = require("node:path");
|
|
15
14
|
const node_url_1 = require("node:url");
|
|
15
|
+
const hash_1 = require("../../utils/hash");
|
|
16
16
|
const load_result_cache_1 = require("./load-result-cache");
|
|
17
|
-
function hashContent(content) {
|
|
18
|
-
return (0, node_crypto_1.createHash)('sha256').update(content).digest('hex');
|
|
19
|
-
}
|
|
20
17
|
/**
|
|
21
18
|
* Calculates a unique cache key by updating the hash incrementally.
|
|
22
19
|
* This prevents implicit string coercion of large binary content buffers.
|
|
23
20
|
*/
|
|
24
21
|
function calculateCacheKey(globalConfigHash, path, content) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
const hasher = (0, hash_1.createContentHash)();
|
|
23
|
+
hasher.update(globalConfigHash);
|
|
24
|
+
hasher.update('\0');
|
|
25
|
+
hasher.update(path);
|
|
26
|
+
hasher.update('\0');
|
|
27
|
+
hasher.update(content);
|
|
28
|
+
return hasher.digest();
|
|
32
29
|
}
|
|
33
30
|
/**
|
|
34
31
|
* Normalizes a namespaced cache key into a valid disk file path if one exists.
|
|
@@ -107,7 +104,7 @@ async function validateAndHealCacheEntry(watchFilesMetadata, store, cacheKey, ca
|
|
|
107
104
|
}
|
|
108
105
|
// 3. Slow Path for dependencies: content hash fallback
|
|
109
106
|
const currentContent = await (0, promises_1.readFile)(filePath);
|
|
110
|
-
const currentHash =
|
|
107
|
+
const currentHash = (0, hash_1.calculateHash)(currentContent);
|
|
111
108
|
if (currentHash === expected.hash) {
|
|
112
109
|
// Heal cache entry with new metadata
|
|
113
110
|
watchFilesMetadata[filePath] = {
|
|
@@ -150,8 +147,9 @@ async function computeMetadataForWatchFiles(watchFiles, knownContents) {
|
|
|
150
147
|
knownContent !== undefined ? knownContent : (0, promises_1.readFile)(filePath),
|
|
151
148
|
(0, promises_1.stat)(filePath),
|
|
152
149
|
]);
|
|
150
|
+
const hash = (0, hash_1.calculateHash)(content);
|
|
153
151
|
watchFilesMetadata[filePath] = {
|
|
154
|
-
hash
|
|
152
|
+
hash,
|
|
155
153
|
mtimeMs: stats.mtimeMs,
|
|
156
154
|
size: stats.size,
|
|
157
155
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistent-load-result-cache.js","sourceRoot":"","sources":["persistent-load-result-cache.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"persistent-load-result-cache.js","sourceRoot":"","sources":["persistent-load-result-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.calculateGlobalStylesheetConfigHash = calculateGlobalStylesheetConfigHash;
|
|
11
|
-
const
|
|
11
|
+
const hash_1 = require("../../../utils/hash");
|
|
12
12
|
/**
|
|
13
13
|
* Generates a global hash based on all build options that affect stylesheet compilation.
|
|
14
14
|
*
|
|
@@ -36,8 +36,7 @@ const node_crypto_1 = require("node:crypto");
|
|
|
36
36
|
* that alters generated stylesheet code or asset outputs, it MUST be added to this hash object.
|
|
37
37
|
*/
|
|
38
38
|
function calculateGlobalStylesheetConfigHash(options, packageVersion = '') {
|
|
39
|
-
return (0,
|
|
40
|
-
.update(JSON.stringify({
|
|
39
|
+
return (0, hash_1.calculateHash)(JSON.stringify({
|
|
41
40
|
optimization: options.optimization,
|
|
42
41
|
sourcemap: options.sourcemap,
|
|
43
42
|
sourcesContent: options.sourcesContent,
|
|
@@ -58,11 +57,8 @@ function calculateGlobalStylesheetConfigHash(options, packageVersion = '') {
|
|
|
58
57
|
postcssConfig: options.postcssConfiguration?.configPath
|
|
59
58
|
? options.postcssConfiguration.configPath
|
|
60
59
|
: '',
|
|
61
|
-
tailwindConfig: options.tailwindConfiguration?.file
|
|
62
|
-
? options.tailwindConfiguration.file
|
|
63
|
-
: '',
|
|
60
|
+
tailwindConfig: options.tailwindConfiguration?.file ? options.tailwindConfiguration.file : '',
|
|
64
61
|
packageVersion,
|
|
65
|
-
}))
|
|
66
|
-
.digest('hex');
|
|
62
|
+
}));
|
|
67
63
|
}
|
|
68
64
|
//# sourceMappingURL=stylesheet-cache-key.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylesheet-cache-key.js","sourceRoot":"","sources":["stylesheet-cache-key.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA+BH,
|
|
1
|
+
{"version":3,"file":"stylesheet-cache-key.js","sourceRoot":"","sources":["stylesheet-cache-key.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA+BH,kFA8BC;AA3DD,8CAAoD;AAGpD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,mCAAmC,CACjD,OAAgC,EAChC,iBAAyB,EAAE;IAE3B,OAAO,IAAA,oBAAa,EAClB,IAAI,CAAC,SAAS,CAAC;QACb,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,WAAW,EAAE,OAAO,CAAC,IAAI;YACvB,CAAC,CAAC;gBACE,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB;gBACnD,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB;gBACjD,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB;aACtD;YACH,CAAC,CAAC,SAAS;QACb,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,aAAa,EAAE,OAAO,CAAC,oBAAoB,EAAE,UAAU;YACrD,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU;YACzC,CAAC,CAAC,EAAE;QACN,cAAc,EAAE,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC7F,cAAc;KACf,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -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":"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"}
|
|
@@ -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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"}
|
|
@@ -17,9 +17,28 @@ export interface BuildWatcher extends AsyncIterableIterator<ChangedFiles> {
|
|
|
17
17
|
remove(paths: string | readonly string[]): void;
|
|
18
18
|
close(): Promise<void>;
|
|
19
19
|
}
|
|
20
|
-
export
|
|
20
|
+
export interface WatcherOptions {
|
|
21
21
|
polling?: boolean;
|
|
22
22
|
interval?: number;
|
|
23
23
|
ignored?: string[];
|
|
24
24
|
followSymlinks?: boolean;
|
|
25
|
-
|
|
25
|
+
cwd?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Normalizes a file system path string to POSIX format (forward slashes '/')
|
|
29
|
+
* and strips trailing slashes (except root '/' or Windows drive root 'C:/').
|
|
30
|
+
*/
|
|
31
|
+
export declare function toPosixPathNormalized(pathString: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Returns the parent directory of a normalized POSIX path, correctly handling Windows drive roots.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getDirectoryPath(posixPath: string): string;
|
|
36
|
+
export declare function createWatcher(options?: WatcherOptions): Promise<BuildWatcher>;
|
|
37
|
+
/**
|
|
38
|
+
* Checks whether a file path is located inside a parent directory.
|
|
39
|
+
*
|
|
40
|
+
* Input Expectations:
|
|
41
|
+
* - Both `file` and `dir` must be normalized POSIX-style paths (using forward slashes '/').
|
|
42
|
+
* - Both paths must share the same casing normalization (e.g., lowercased on case-insensitive file systems).
|
|
43
|
+
*/
|
|
44
|
+
export declare function isPathInside(file: string, dir: string): boolean;
|