@angular/build 19.2.9 → 19.2.11

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": "19.2.9",
3
+ "version": "19.2.11",
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.1902.9",
26
+ "@angular-devkit/architect": "0.1902.11",
27
27
  "@babel/core": "7.26.10",
28
28
  "@babel/helper-annotate-as-pure": "7.25.9",
29
29
  "@babel/helper-split-export-declaration": "7.24.7",
@@ -32,7 +32,7 @@
32
32
  "@vitejs/plugin-basic-ssl": "1.2.0",
33
33
  "beasties": "0.3.2",
34
34
  "browserslist": "^4.23.0",
35
- "esbuild": "0.25.1",
35
+ "esbuild": "0.25.4",
36
36
  "fast-glob": "3.3.3",
37
37
  "https-proxy-agent": "7.0.6",
38
38
  "istanbul-lib-instrument": "6.0.3",
@@ -46,7 +46,7 @@
46
46
  "sass": "1.85.0",
47
47
  "semver": "7.7.1",
48
48
  "source-map-support": "0.5.21",
49
- "vite": "6.2.6",
49
+ "vite": "6.2.7",
50
50
  "watchpack": "2.4.2"
51
51
  },
52
52
  "optionalDependencies": {
@@ -58,7 +58,7 @@
58
58
  "@angular/localize": "^19.0.0 || ^19.2.0-next.0",
59
59
  "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0",
60
60
  "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0",
61
- "@angular/ssr": "^19.2.9",
61
+ "@angular/ssr": "^19.2.11",
62
62
  "karma": "^6.4.0",
63
63
  "less": "^4.2.0",
64
64
  "ng-packagr": "^19.0.0 || ^19.2.0-next.0",
@@ -84,7 +84,7 @@ class AngularAssetsMiddleware {
84
84
  }
85
85
  const file = this.latestBuildFiles.files[pathname];
86
86
  if (file?.origin === 'disk') {
87
- this.serveFile(file.inputPath, undefined, res);
87
+ this.serveFile(file.inputPath, undefined, res, undefined, undefined, /* doNotCache */ true);
88
88
  return;
89
89
  }
90
90
  else if (file?.origin === 'memory') {
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.BundlerContext = exports.BuildOutputFileType = void 0;
14
14
  const esbuild_1 = require("esbuild");
15
15
  const node_assert_1 = __importDefault(require("node:assert"));
16
+ const node_module_1 = require("node:module");
16
17
  const node_path_1 = require("node:path");
17
18
  const load_result_cache_1 = require("./load-result-cache");
18
19
  const utils_1 = require("./utils");
@@ -198,10 +199,11 @@ class BundlerContext {
198
199
  if (this.incremental) {
199
200
  // Add input files except virtual angular files which do not exist on disk
200
201
  for (const input of Object.keys(result.metafile.inputs)) {
201
- if (!isInternalAngularFile(input)) {
202
- // input file paths are always relative to the workspace root
203
- this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, input));
202
+ if (isInternalAngularFile(input) || isInternalBundlerFile(input)) {
203
+ continue;
204
204
  }
205
+ // Input file paths are always relative to the workspace root
206
+ this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, input));
205
207
  }
206
208
  }
207
209
  // Return if the build encountered any errors
@@ -380,3 +382,16 @@ exports.BundlerContext = BundlerContext;
380
382
  function isInternalAngularFile(file) {
381
383
  return file.startsWith('angular:');
382
384
  }
385
+ function isInternalBundlerFile(file) {
386
+ // Bundler virtual files such as "<define:???>" or "<runtime>"
387
+ if (file[0] === '<' && file.at(-1) === '>') {
388
+ return true;
389
+ }
390
+ const DISABLED_BUILTIN = '(disabled):';
391
+ // Disabled node builtins such as "/some/path/(disabled):fs"
392
+ const disabledIndex = file.indexOf(DISABLED_BUILTIN);
393
+ if (disabledIndex >= 0) {
394
+ return node_module_1.builtinModules.includes(file.slice(disabledIndex + DISABLED_BUILTIN.length));
395
+ }
396
+ return false;
397
+ }
@@ -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 = '19.2.9';
13
+ const VERSION = '19.2.11';
14
14
  function hasCacheMetadata(value) {
15
15
  return (!!value &&
16
16
  typeof value === 'object' &&
@@ -1,22 +0,0 @@
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
- import { Plugin } from 'esbuild';
9
- export declare const IS_BAZEL: boolean;
10
- /**
11
- * Creates an esbuild plugin that ensures module resolution stays within the Bazel sandbox.
12
- *
13
- * Under Bazel, esbuild may follow symlinks out of the sandbox when sandboxing is enabled.
14
- * This plugin uses a separate resolver to detect when resolution leaves the `execroot`
15
- * (which serves as the sandbox root when sandboxing is active), and rewrites the resolution
16
- * to remain within the sandbox.
17
- *
18
- * See: https://github.com/aspect-build/rules_esbuild/issues/58
19
- *
20
- * @returns An esbuild plugin.
21
- */
22
- export declare function bazelSandboxPlugin(): Plugin;
@@ -1,71 +0,0 @@
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.IS_BAZEL = void 0;
11
- exports.bazelSandboxPlugin = bazelSandboxPlugin;
12
- const path_1 = require("path");
13
- const BAZEL_SANDBOX_RESOLUTION = Symbol('BAZEL_SANDBOX_RESOLUTION');
14
- const BAZEL_BIN_DIR = process.env.BAZEL_BINDIR;
15
- const BAZEL_EXECROOT = process.env.JS_BINARY__EXECROOT;
16
- exports.IS_BAZEL = !!BAZEL_BIN_DIR;
17
- /**
18
- * Creates an esbuild plugin that ensures module resolution stays within the Bazel sandbox.
19
- *
20
- * Under Bazel, esbuild may follow symlinks out of the sandbox when sandboxing is enabled.
21
- * This plugin uses a separate resolver to detect when resolution leaves the `execroot`
22
- * (which serves as the sandbox root when sandboxing is active), and rewrites the resolution
23
- * to remain within the sandbox.
24
- *
25
- * See: https://github.com/aspect-build/rules_esbuild/issues/58
26
- *
27
- * @returns An esbuild plugin.
28
- */
29
- function bazelSandboxPlugin() {
30
- return {
31
- name: 'angular-bazel-sandbox',
32
- setup(build) {
33
- if (!BAZEL_EXECROOT || !BAZEL_BIN_DIR) {
34
- return;
35
- }
36
- build.onResolve({ filter: /./ }, async (args) => {
37
- const { importer, kind, resolveDir, namespace, pluginData = {} } = args;
38
- if (pluginData[BAZEL_SANDBOX_RESOLUTION]) {
39
- return null;
40
- }
41
- pluginData[BAZEL_SANDBOX_RESOLUTION] = true;
42
- const result = await build.resolve(args.path, {
43
- importer,
44
- kind,
45
- namespace,
46
- pluginData,
47
- resolveDir,
48
- });
49
- if (result.external || result.errors.length) {
50
- return result;
51
- }
52
- if (result.path.startsWith(BAZEL_EXECROOT)) {
53
- return result;
54
- }
55
- // If esbuild attempts to leave the execroot, map the path back into the execroot.
56
- // If it tried to leave bazel-bin, error out completely.
57
- if (!result.path.includes(BAZEL_BIN_DIR)) {
58
- throw new Error(`Error: esbuild resolved a path outside of BAZEL_BINDIR (${BAZEL_BIN_DIR}): ${result.path}`);
59
- }
60
- // Otherwise remap the bindir-relative path
61
- const correctedPath = (0, path_1.join)(BAZEL_EXECROOT, result.path.slice(result.path.indexOf(BAZEL_BIN_DIR)));
62
- if (process.env.JS_BINARY__LOG_DEBUG) {
63
- // eslint-disable-next-line no-console
64
- console.error(`DEBUG: [angular-bazel-sandbox] correcting esbuild resolution ${result.path} that left the sandbox to ${correctedPath}.`);
65
- }
66
- result.path = correctedPath;
67
- return result;
68
- });
69
- },
70
- };
71
- }