@angular/build 20.0.1 → 20.0.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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/build",
|
|
3
|
-
"version": "20.0.
|
|
3
|
+
"version": "20.0.3",
|
|
4
4
|
"description": "Official build system for Angular",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Angular CLI",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"builders": "builders.json",
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@ampproject/remapping": "2.3.0",
|
|
26
|
-
"@angular-devkit/architect": "0.2000.
|
|
26
|
+
"@angular-devkit/architect": "0.2000.3",
|
|
27
27
|
"@babel/core": "7.27.1",
|
|
28
28
|
"@babel/helper-annotate-as-pure": "7.27.1",
|
|
29
29
|
"@babel/helper-split-export-declaration": "7.24.7",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"@angular/platform-browser": "^20.0.0",
|
|
61
61
|
"@angular/platform-server": "^20.0.0",
|
|
62
62
|
"@angular/service-worker": "^20.0.0",
|
|
63
|
-
"@angular/ssr": "^20.0.
|
|
63
|
+
"@angular/ssr": "^20.0.3",
|
|
64
64
|
"karma": "^6.4.0",
|
|
65
65
|
"less": "^4.2.0",
|
|
66
66
|
"ng-packagr": "^20.0.0",
|
|
@@ -112,7 +112,7 @@ class AngularAssetsMiddleware {
|
|
|
112
112
|
class AngularPolyfillsPlugin {
|
|
113
113
|
static $inject = ['config.files'];
|
|
114
114
|
static NAME = 'angular-polyfills';
|
|
115
|
-
static createPlugin(polyfillsFile, jasmineCleanupFiles) {
|
|
115
|
+
static createPlugin(polyfillsFile, jasmineCleanupFiles, scriptsFiles) {
|
|
116
116
|
return {
|
|
117
117
|
// This has to be a "reporter" because reporters run _after_ frameworks
|
|
118
118
|
// and karma-jasmine-html-reporter injects additional scripts that may
|
|
@@ -155,6 +155,8 @@ class AngularPolyfillsPlugin {
|
|
|
155
155
|
f.type = 'module';
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
+
// Add "scripts" option files as classic scripts
|
|
159
|
+
files.unshift(...scriptsFiles);
|
|
158
160
|
// Add browser sourcemap support as a classic script
|
|
159
161
|
files.unshift({
|
|
160
162
|
pattern: localResolve('source-map-support/browser-source-map-support.js'),
|
|
@@ -394,16 +396,25 @@ async function initializeApplication(options, context, karmaOptions, transforms
|
|
|
394
396
|
watched: false,
|
|
395
397
|
};
|
|
396
398
|
karmaOptions.basePath = outputPath;
|
|
397
|
-
|
|
399
|
+
const scriptsFiles = [];
|
|
398
400
|
if (options.scripts?.length) {
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
401
|
+
const outputScripts = new Set();
|
|
402
|
+
for (const scriptEntry of options.scripts) {
|
|
403
|
+
const outputName = typeof scriptEntry === 'string'
|
|
404
|
+
? 'scripts.js'
|
|
405
|
+
: `${scriptEntry.bundleName ?? 'scripts'}.js`;
|
|
406
|
+
if (outputScripts.has(outputName)) {
|
|
407
|
+
continue;
|
|
408
|
+
}
|
|
409
|
+
outputScripts.add(outputName);
|
|
410
|
+
scriptsFiles.push({
|
|
411
|
+
pattern: `${outputPath}/${outputName}`,
|
|
412
|
+
watched: false,
|
|
413
|
+
type: 'js',
|
|
414
|
+
});
|
|
415
|
+
}
|
|
406
416
|
}
|
|
417
|
+
karmaOptions.files ??= [];
|
|
407
418
|
karmaOptions.files.push(
|
|
408
419
|
// Serve global setup script.
|
|
409
420
|
{ pattern: `${mainName}.js`, type: 'module', watched: false },
|
|
@@ -454,7 +465,7 @@ async function initializeApplication(options, context, karmaOptions, transforms
|
|
|
454
465
|
parsedKarmaConfig.plugins.push(AngularAssetsMiddleware.createPlugin(buildOutput));
|
|
455
466
|
parsedKarmaConfig.middleware ??= [];
|
|
456
467
|
parsedKarmaConfig.middleware.push(AngularAssetsMiddleware.NAME);
|
|
457
|
-
parsedKarmaConfig.plugins.push(AngularPolyfillsPlugin.createPlugin(polyfillsFile, jasmineCleanupFiles));
|
|
468
|
+
parsedKarmaConfig.plugins.push(AngularPolyfillsPlugin.createPlugin(polyfillsFile, jasmineCleanupFiles, scriptsFiles));
|
|
458
469
|
parsedKarmaConfig.reporters ??= [];
|
|
459
470
|
parsedKarmaConfig.reporters.push(AngularPolyfillsPlugin.NAME);
|
|
460
471
|
// Adjust karma junit reporter outDir location to maintain previous (devkit) behavior
|
|
@@ -281,6 +281,7 @@ class BundlerContext {
|
|
|
281
281
|
for (const { external, kind, path } of imports) {
|
|
282
282
|
if (!external ||
|
|
283
283
|
utils_1.SERVER_GENERATED_EXTERNALS.has(path) ||
|
|
284
|
+
isInternalAngularFile(path) ||
|
|
284
285
|
(kind !== 'import-statement' && kind !== 'dynamic-import' && kind !== 'require-call')) {
|
|
285
286
|
continue;
|
|
286
287
|
}
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.normalizeCacheOptions = normalizeCacheOptions;
|
|
11
11
|
const node_path_1 = require("node:path");
|
|
12
12
|
/** Version placeholder is replaced during the build process with actual package version */
|
|
13
|
-
const VERSION = '20.0.
|
|
13
|
+
const VERSION = '20.0.3';
|
|
14
14
|
function hasCacheMetadata(value) {
|
|
15
15
|
return (!!value &&
|
|
16
16
|
typeof value === 'object' &&
|
package/src/utils/worker-pool.js
CHANGED
|
@@ -14,7 +14,8 @@ class WorkerPool extends piscina_1.Piscina {
|
|
|
14
14
|
constructor(options) {
|
|
15
15
|
const piscinaOptions = {
|
|
16
16
|
minThreads: 1,
|
|
17
|
-
|
|
17
|
+
// Workaround for https://github.com/piscinajs/piscina/issues/816
|
|
18
|
+
idleTimeout: 10_000,
|
|
18
19
|
// Web containers do not support transferable objects with receiveOnMessagePort which
|
|
19
20
|
// is used when the Atomics based wait loop is enable.
|
|
20
21
|
atomics: process.versions.webcontainer ? 'disabled' : 'sync',
|