@angular/build 20.2.1 → 20.3.0-rc.0

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.2.1",
3
+ "version": "20.3.0-rc.0",
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.2002.1",
26
+ "@angular-devkit/architect": "0.2003.0-rc.0",
27
27
  "@babel/core": "7.28.3",
28
28
  "@babel/helper-annotate-as-pure": "7.27.3",
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.2.1",
63
+ "@angular/ssr": "^20.3.0-rc.0",
64
64
  "karma": "^6.4.0",
65
65
  "less": "^4.2.0",
66
66
  "ng-packagr": "^20.0.0",
@@ -112,7 +112,7 @@
112
112
  "type": "git",
113
113
  "url": "https://github.com/angular/angular-cli.git"
114
114
  },
115
- "packageManager": "pnpm@10.15.0",
115
+ "packageManager": "pnpm@10.15.1",
116
116
  "engines": {
117
117
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
118
118
  "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
@@ -123,5 +123,6 @@
123
123
  "bugs": {
124
124
  "url": "https://github.com/angular/angular-cli/issues"
125
125
  },
126
- "homepage": "https://github.com/angular/angular-cli"
126
+ "homepage": "https://github.com/angular/angular-cli",
127
+ "__ngDevExceptionalMinor__": true
127
128
  }
@@ -317,6 +317,7 @@ async function* serveWithVite(serverOptions, builderName, builderAction, context
317
317
  // Setup server and start listening
318
318
  const serverConfiguration = await setupServer(serverOptions, generatedFiles, assetFiles, browserOptions.preserveSymlinks, externalMetadata, ssrMode, prebundleTransformer, target, (0, internal_1.isZonelessApp)(polyfills), componentStyles, templateUpdates, browserOptions.loader, {
319
319
  ...browserOptions.define,
320
+ 'ngJitMode': browserOptions.aot ? 'false' : 'true',
320
321
  'ngHmrMode': browserOptions.templateUpdates ? 'true' : 'false',
321
322
  }, extensions?.middleware, transformers?.indexHtml, thirdPartySourcemaps);
322
323
  server = await createServer(serverConfiguration);
@@ -26,6 +26,16 @@ const application_builder_1 = require("../karma/application_builder");
26
26
  const find_tests_1 = require("../karma/find-tests");
27
27
  const karma_bridge_1 = require("./karma-bridge");
28
28
  const options_1 = require("./options");
29
+ function adjustOutputHashing(hashing) {
30
+ switch (hashing) {
31
+ case schema_1.OutputHashing.All:
32
+ case schema_1.OutputHashing.Media:
33
+ // Ensure media is continued to be hashed to avoid overwriting of output media files
34
+ return schema_1.OutputHashing.Media;
35
+ default:
36
+ return schema_1.OutputHashing.None;
37
+ }
38
+ }
29
39
  /**
30
40
  * @experimental Direct usage of this function is considered experimental.
31
41
  */
@@ -91,7 +101,7 @@ async function* execute(options, context, extensions = {}) {
91
101
  ssr: false,
92
102
  prerender: false,
93
103
  sourceMap: { scripts: true, vendor: false, styles: false },
94
- outputHashing: schema_1.OutputHashing.None,
104
+ outputHashing: adjustOutputHashing(buildTargetOptions.outputHashing),
95
105
  optimization: false,
96
106
  tsConfig: normalizedOptions.tsConfig,
97
107
  entryPoints,
@@ -418,6 +418,8 @@ function getEsBuildCommonOptions(options) {
418
418
  packages = 'external';
419
419
  }
420
420
  }
421
+ const minifySyntax = optimizationOptions.scripts;
422
+ const minifyIdentifiers = minifySyntax && environment_options_1.allowMangle;
421
423
  return {
422
424
  absWorkingDir: workspaceRoot,
423
425
  format: 'esm',
@@ -429,9 +431,10 @@ function getEsBuildCommonOptions(options) {
429
431
  metafile: true,
430
432
  legalComments: options.extractLicenses ? 'none' : 'eof',
431
433
  logLevel: options.verbose && !jsonLogs ? 'debug' : 'silent',
432
- minifyIdentifiers: optimizationOptions.scripts && environment_options_1.allowMangle,
433
- minifySyntax: optimizationOptions.scripts,
434
- minifyWhitespace: optimizationOptions.scripts,
434
+ keepNames: !minifyIdentifiers,
435
+ minifyIdentifiers,
436
+ minifySyntax,
437
+ minifyWhitespace: minifySyntax,
435
438
  pure: ['forwardRef'],
436
439
  outdir: workspaceRoot,
437
440
  outExtension: outExtension ? { '.js': `.${outExtension}` } : undefined,
@@ -448,7 +451,7 @@ function getEsBuildCommonOptions(options) {
448
451
  // Only set to false when script optimizations are enabled. It should not be set to true because
449
452
  // Angular turns `ngDevMode` into an object for development debugging purposes when not defined
450
453
  // which a constant true value would break.
451
- ...(optimizationOptions.scripts ? { 'ngDevMode': 'false' } : undefined),
454
+ ...(minifySyntax ? { 'ngDevMode': 'false' } : undefined),
452
455
  'ngJitMode': jit ? 'true' : 'false',
453
456
  'ngServerMode': 'false',
454
457
  'ngHmrMode': options.templateUpdates ? 'true' : 'false',
@@ -53,6 +53,7 @@ function getDepOptimizationConfig({ disabled, exclude, include, target, zoneless
53
53
  esbuildOptions: {
54
54
  // Set esbuild supported targets.
55
55
  target,
56
+ keepNames: true,
56
57
  supported: (0, utils_1.getFeatureSupport)(target, zoneless),
57
58
  plugins,
58
59
  loader,
@@ -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.2.1';
13
+ const VERSION = '20.3.0-rc.0';
14
14
  function hasCacheMetadata(value) {
15
15
  return (!!value &&
16
16
  typeof value === 'object' &&
@@ -6,12 +6,13 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import type { ApplicationRef, Type } from '@angular/core';
9
+ import type { BootstrapContext } from '@angular/platform-browser';
9
10
  import type { ɵextractRoutesAndCreateRouteTree, ɵgetOrCreateAngularServerApp } from '@angular/ssr';
10
11
  /**
11
12
  * Represents the exports available from the main server bundle.
12
13
  */
13
14
  interface MainServerBundleExports {
14
- default: (() => Promise<ApplicationRef>) | Type<unknown>;
15
+ default: ((context: BootstrapContext) => Promise<ApplicationRef>) | Type<unknown>;
15
16
  ɵextractRoutesAndCreateRouteTree: typeof ɵextractRoutesAndCreateRouteTree;
16
17
  ɵgetOrCreateAngularServerApp: typeof ɵgetOrCreateAngularServerApp;
17
18
  }