@angular/build 22.1.0-next.2 → 22.1.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.
Files changed (42) hide show
  1. package/package.json +3 -3
  2. package/src/builders/application/execute-build.js +6 -0
  3. package/src/builders/application/execute-build.js.map +1 -1
  4. package/src/builders/application/setup-bundling.js +7 -7
  5. package/src/builders/application/setup-bundling.js.map +1 -1
  6. package/src/builders/dev-server/vite/server.js +1 -1
  7. package/src/builders/dev-server/vite/server.js.map +1 -1
  8. package/src/builders/unit-test/runners/karma/executor.js +1 -1
  9. package/src/builders/unit-test/runners/karma/executor.js.map +1 -1
  10. package/src/tools/angular/compilation/aot-compilation.js +21 -8
  11. package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
  12. package/src/tools/angular/compilation/parallel-worker.d.ts +1 -0
  13. package/src/tools/angular/compilation/parallel-worker.js +1 -0
  14. package/src/tools/angular/compilation/parallel-worker.js.map +1 -1
  15. package/src/tools/angular/compilation/typescript-printer.d.ts +79 -0
  16. package/src/tools/angular/compilation/typescript-printer.js +61 -0
  17. package/src/tools/angular/compilation/typescript-printer.js.map +1 -0
  18. package/src/tools/esbuild/angular/compiler-plugin.js +13 -10
  19. package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
  20. package/src/tools/esbuild/bundler-context.d.ts +2 -1
  21. package/src/tools/esbuild/bundler-context.js +14 -2
  22. package/src/tools/esbuild/bundler-context.js.map +1 -1
  23. package/src/tools/esbuild/cache.d.ts +17 -4
  24. package/src/tools/esbuild/cache.js +87 -0
  25. package/src/tools/esbuild/cache.js.map +1 -1
  26. package/src/tools/esbuild/i18n-inliner.js +7 -37
  27. package/src/tools/esbuild/i18n-inliner.js.map +1 -1
  28. package/src/tools/esbuild/i18n-locale-plugin.js +16 -4
  29. package/src/tools/esbuild/i18n-locale-plugin.js.map +1 -1
  30. package/src/tools/esbuild/lmdb-cache-store.d.ts +2 -2
  31. package/src/tools/esbuild/lmdb-cache-store.js.map +1 -1
  32. package/src/tools/esbuild/sqlite-cache-store.d.ts +20 -0
  33. package/src/tools/esbuild/sqlite-cache-store.js +103 -0
  34. package/src/tools/esbuild/sqlite-cache-store.js.map +1 -0
  35. package/src/tools/vite/plugins/id-prefix-plugin.d.ts +7 -0
  36. package/src/tools/vite/plugins/id-prefix-plugin.js +23 -9
  37. package/src/tools/vite/plugins/id-prefix-plugin.js.map +1 -1
  38. package/src/utils/environment-options.d.ts +8 -0
  39. package/src/utils/environment-options.js +15 -1
  40. package/src/utils/environment-options.js.map +1 -1
  41. package/src/utils/normalize-cache.js +40 -2
  42. package/src/utils/normalize-cache.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lmdb-cache-store.js","sourceRoot":"","sources":["lmdb-cache-store.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,+BAA0C;AAC1C,mCAA4C;AAE5C,MAAa,cAAc;IAIJ;IAHZ,aAAa,CAAC;IACvB,GAAG,CAA2B;IAE9B,YAAqB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QACpC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACjC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,GAAG,KAAK,IAAA,WAAI,EAAC;YAChB,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAc,SAAiB;QACxC,OAAO,IAAI,aAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;CACF;AA/CD,wCA+CC"}
1
+ {"version":3,"file":"lmdb-cache-store.js","sourceRoot":"","sources":["lmdb-cache-store.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,+BAA0C;AAC1C,mCAAsD;AAEtD,MAAa,cAAc;IAIJ;IAHZ,aAAa,CAAC;IACvB,GAAG,CAA2B;IAE9B,YAAqB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QACpC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACjC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,GAAG,KAAK,IAAA,WAAI,EAAC;YAChB,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAc,SAAiB;QACxC,OAAO,IAAI,aAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;IACH,CAAC;CACF;AA/CD,wCA+CC"}
@@ -0,0 +1,20 @@
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 { Cache, PersistentCacheStore } from './cache';
9
+ export declare class SqliteCacheStore implements PersistentCacheStore<unknown> {
10
+ #private;
11
+ readonly cachePath: string;
12
+ private readonly maxPayloadSize;
13
+ private readonly ttlDays;
14
+ constructor(cachePath: string, maxPayloadSize?: number, ttlDays?: number);
15
+ get(key: string): Promise<any>;
16
+ has(key: string): boolean;
17
+ set(key: string, value: unknown): Promise<this>;
18
+ createCache<V = unknown>(namespace: string): Cache<V>;
19
+ close(): void;
20
+ }
@@ -0,0 +1,103 @@
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.SqliteCacheStore = void 0;
11
+ const node_sqlite_1 = require("node:sqlite");
12
+ const cache_1 = require("./cache");
13
+ class SqliteCacheStore {
14
+ cachePath;
15
+ maxPayloadSize;
16
+ ttlDays;
17
+ #db;
18
+ #getStmt;
19
+ #hasStmt;
20
+ #setStmt;
21
+ #updateAccessedStmt;
22
+ constructor(cachePath, maxPayloadSize = 1024 * 1024 * 1024, ttlDays = 14) {
23
+ this.cachePath = cachePath;
24
+ this.maxPayloadSize = maxPayloadSize;
25
+ this.ttlDays = ttlDays;
26
+ }
27
+ #ensureDb() {
28
+ if (!this.#db) {
29
+ this.#db = new node_sqlite_1.DatabaseSync(this.cachePath);
30
+ // Optimize SQLite for cache usage
31
+ this.#db.exec('PRAGMA auto_vacuum = FULL;');
32
+ this.#db.exec('PRAGMA journal_mode = WAL;');
33
+ this.#db.exec('PRAGMA synchronous = NORMAL;');
34
+ this.#db.exec('CREATE TABLE IF NOT EXISTS cache (key TEXT PRIMARY KEY, value TEXT, last_accessed INTEGER NOT NULL) WITHOUT ROWID;');
35
+ this.#getStmt = this.#db.prepare('SELECT value FROM cache WHERE key = ?');
36
+ this.#hasStmt = this.#db.prepare('SELECT 1 FROM cache WHERE key = ?');
37
+ this.#setStmt = this.#db.prepare('INSERT OR REPLACE INTO cache (key, value, last_accessed) VALUES (?, ?, unixepoch())');
38
+ this.#updateAccessedStmt = this.#db.prepare('UPDATE cache SET last_accessed = unixepoch() WHERE key = ?');
39
+ }
40
+ return this.#db;
41
+ }
42
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
+ async get(key) {
44
+ this.#ensureDb();
45
+ const row = this.#getStmt?.get(key);
46
+ if (row) {
47
+ this.#updateAccessedStmt?.run(key);
48
+ try {
49
+ return JSON.parse(row.value);
50
+ }
51
+ catch {
52
+ return undefined;
53
+ }
54
+ }
55
+ return undefined;
56
+ }
57
+ has(key) {
58
+ this.#ensureDb();
59
+ return !!this.#hasStmt?.get(key);
60
+ }
61
+ async set(key, value) {
62
+ this.#ensureDb();
63
+ this.#setStmt?.run(key, JSON.stringify(value));
64
+ return this;
65
+ }
66
+ createCache(namespace) {
67
+ return new cache_1.Cache(this, namespace);
68
+ }
69
+ close() {
70
+ if (this.#db) {
71
+ try {
72
+ // 1. Delete items older than N days
73
+ this.#db
74
+ .prepare("DELETE FROM cache WHERE last_accessed < unixepoch('now', ?);")
75
+ .run(`-${this.ttlDays} days`);
76
+ // 2. Prune oldest items if payload exceeds maxPayloadSize
77
+ const pruneStmt = this.#db.prepare(`
78
+ DELETE FROM cache WHERE key IN (
79
+ SELECT key FROM (
80
+ SELECT key,
81
+ sum(length(key) + length(value)) OVER (ORDER BY last_accessed DESC, key DESC) as running_size
82
+ FROM cache
83
+ ) WHERE running_size > ?
84
+ );
85
+ `);
86
+ pruneStmt.run(this.maxPayloadSize);
87
+ }
88
+ catch {
89
+ // Pruning errors should not block build success
90
+ }
91
+ finally {
92
+ this.#getStmt = undefined;
93
+ this.#hasStmt = undefined;
94
+ this.#setStmt = undefined;
95
+ this.#updateAccessedStmt = undefined;
96
+ this.#db.close();
97
+ this.#db = undefined;
98
+ }
99
+ }
100
+ }
101
+ }
102
+ exports.SqliteCacheStore = SqliteCacheStore;
103
+ //# sourceMappingURL=sqlite-cache-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-cache-store.js","sourceRoot":"","sources":["sqlite-cache-store.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,10 @@ import type { Plugin } from 'vite' with {
9
9
  'resolution-mode': 'import'
10
10
  };
11
11
  export declare function createRemoveIdPrefixPlugin(externals: string[]): Plugin;
12
+ /**
13
+ * Creates a transform function that removes the Vite ID prefix from externals.
14
+ * @param base The base path of the application.
15
+ * @param externals The external package names.
16
+ * @returns A function that transforms code by removing the Vite ID prefix.
17
+ */
18
+ export declare function createTransformer(base: string, externals: string[]): (code: string) => string;
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.createRemoveIdPrefixPlugin = createRemoveIdPrefixPlugin;
11
+ exports.createTransformer = createTransformer;
11
12
  // NOTE: the implementation for this Vite plugin is roughly based on:
12
13
  // https://github.com/MilanKovacic/vite-plugin-externalize-dependencies
13
14
  const VITE_ID_PREFIX = '@id/';
@@ -23,8 +24,7 @@ function createRemoveIdPrefixPlugin(externals) {
23
24
  if (externals.length === 0) {
24
25
  return;
25
26
  }
26
- const escapedExternals = externals.map((e) => escapeRegexSpecialChars(e) + '(?:/.+)?');
27
- const prefixedExternalRegex = new RegExp(`${resolvedConfig.base}${VITE_ID_PREFIX}(${escapedExternals.join('|')})`, 'g');
27
+ const transformFn = createTransformer(resolvedConfig.base, externals);
28
28
  // @ts-expect-error: Property 'push' does not exist on type 'readonly Plugin<any>[]'
29
29
  // Reasoning:
30
30
  // since the /@id/ prefix is added by Vite's import-analysis plugin,
@@ -32,15 +32,29 @@ function createRemoveIdPrefixPlugin(externals) {
32
32
  // AFTER the import-analysis.
33
33
  resolvedConfig.plugins.push({
34
34
  name: 'angular-plugin-remove-id-prefix-transform',
35
- transform: (code) => {
36
- // don't do anything when code does not contain the Vite prefix
37
- if (!code.includes(VITE_ID_PREFIX)) {
38
- return code;
39
- }
40
- return code.replace(prefixedExternalRegex, (_, externalName) => externalName);
41
- },
35
+ transform: transformFn,
42
36
  });
43
37
  },
44
38
  };
45
39
  }
40
+ /**
41
+ * Creates a transform function that removes the Vite ID prefix from externals.
42
+ * @param base The base path of the application.
43
+ * @param externals The external package names.
44
+ * @returns A function that transforms code by removing the Vite ID prefix.
45
+ */
46
+ function createTransformer(base, externals) {
47
+ // The path suffix is bounded so that a match can never extend past the end of an
48
+ // import specifier string literal. With a greedy `.+`, minified (single-line) code
49
+ // would let the first match consume the remainder of the line, leaving all later
50
+ // `/@id/` occurrences on that line unstripped.
51
+ const escapedExternals = externals.map((e) => escapeRegexSpecialChars(e) + '(?:/[^\'"`\\s]+)?');
52
+ const prefixedExternalRegex = new RegExp(`${base}${VITE_ID_PREFIX}(${escapedExternals.join('|')})`, 'g');
53
+ return (code) => {
54
+ return code.includes(VITE_ID_PREFIX)
55
+ ? code.replace(prefixedExternalRegex, (_, externalName) => externalName)
56
+ : // don't do anything when code does not contain the Vite prefix
57
+ code;
58
+ };
59
+ }
46
60
  //# sourceMappingURL=id-prefix-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id-prefix-plugin.js","sourceRoot":"","sources":["id-prefix-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAeH,gEAkCC;AA3CD,qEAAqE;AACrE,uEAAuE;AAEvE,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAU,EAAE;IAC9D,OAAO,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,oCAAoC;AACjG,CAAC,CAAC;AAEF,SAAgB,0BAA0B,CAAC,SAAmB;IAC5D,OAAO;QACL,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,OAAO;QACd,cAAc,EAAE,CAAC,cAAc,EAAE,EAAE;YACjC,wDAAwD;YACxD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;YACvF,MAAM,qBAAqB,GAAG,IAAI,MAAM,CACtC,GAAG,cAAc,CAAC,IAAI,GAAG,cAAc,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EACxE,GAAG,CACJ,CAAC;YAEF,oFAAoF;YACpF,aAAa;YACb,qEAAqE;YACrE,yEAAyE;YACzE,8BAA8B;YAC9B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,2CAA2C;gBACjD,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC1B,+DAA+D;oBAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;wBACnC,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;gBAChF,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"id-prefix-plugin.js","sourceRoot":"","sources":["id-prefix-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAeH,gEAuBC;AAQD,8CAkBC;AA1DD,qEAAqE;AACrE,uEAAuE;AAEvE,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAU,EAAE;IAC9D,OAAO,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,oCAAoC;AACjG,CAAC,CAAC;AAEF,SAAgB,0BAA0B,CAAC,SAAmB;IAC5D,OAAO;QACL,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,OAAO;QACd,cAAc,EAAE,CAAC,cAAc,EAAE,EAAE;YACjC,wDAAwD;YACxD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAEtE,oFAAoF;YACpF,aAAa;YACb,qEAAqE;YACrE,yEAAyE;YACzE,8BAA8B;YAC9B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,2CAA2C;gBACjD,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,IAAY,EAAE,SAAmB;IACjE,iFAAiF;IACjF,mFAAmF;IACnF,iFAAiF;IACjF,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAEhG,MAAM,qBAAqB,GAAG,IAAI,MAAM,CACtC,GAAG,IAAI,GAAG,cAAc,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EACzD,GAAG,CACJ,CAAC;IAEF,OAAO,CAAC,IAAY,EAAE,EAAE;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC;YACxE,CAAC,CAAC,+DAA+D;gBAC/D,IAAI,CAAC;IACX,CAAC,CAAC;AACJ,CAAC"}
@@ -64,3 +64,11 @@ export declare const useComponentTemplateHmr: boolean;
64
64
  */
65
65
  export declare const usePartialSsrBuild: boolean;
66
66
  export declare const bazelEsbuildPluginPath: string | undefined;
67
+ /**
68
+ * The persistent cache store configuration to use.
69
+ * Managed by the `NG_BUILD_CACHE_STORE` environment variable.
70
+ * - 'lmdb': Forces the use of LMDB.
71
+ * - 'sqlite': Forces the use of SQLite.
72
+ * - undefined / 'auto' / other: Automatically uses LMDB and falls back to SQLite.
73
+ */
74
+ export declare const persistentCacheStoreSetting: string | undefined;
@@ -7,7 +7,7 @@
7
7
  * found in the LICENSE file at https://angular.dev/license
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.bazelEsbuildPluginPath = exports.usePartialSsrBuild = exports.useComponentTemplateHmr = exports.useComponentStyleHmr = exports.optimizeChunksThreshold = exports.useJSONBuildLogs = exports.useTypeChecking = exports.shouldWatchRoot = exports.debugPerformance = exports.useParallelTs = exports.maxWorkers = exports.useRolldownChunks = exports.allowMinify = exports.shouldBeautify = exports.allowMangle = void 0;
10
+ exports.persistentCacheStoreSetting = exports.bazelEsbuildPluginPath = exports.usePartialSsrBuild = exports.useComponentTemplateHmr = exports.useComponentStyleHmr = exports.optimizeChunksThreshold = exports.useJSONBuildLogs = exports.useTypeChecking = exports.shouldWatchRoot = exports.debugPerformance = exports.useParallelTs = exports.maxWorkers = exports.useRolldownChunks = exports.allowMinify = exports.shouldBeautify = exports.allowMangle = void 0;
11
11
  const node_os_1 = require("node:os");
12
12
  /** A set of strings that are considered "truthy" when parsing environment variables. */
13
13
  const TRUTHY_VALUES = new Set(['1', 'true']);
@@ -173,4 +173,18 @@ const bazelExecRoot = process.env['JS_BINARY__EXECROOT'];
173
173
  exports.bazelEsbuildPluginPath = bazelBinDirectory && bazelExecRoot
174
174
  ? process.env['NG_INTERNAL_ESBUILD_PLUGINS_DO_NOT_USE']
175
175
  : undefined;
176
+ /**
177
+ * The persistent cache store configuration to use.
178
+ * Managed by the `NG_BUILD_CACHE_STORE` environment variable.
179
+ * - 'lmdb': Forces the use of LMDB.
180
+ * - 'sqlite': Forces the use of SQLite.
181
+ * - undefined / 'auto' / other: Automatically uses LMDB and falls back to SQLite.
182
+ */
183
+ exports.persistentCacheStoreSetting = (() => {
184
+ const env = process.env['NG_BUILD_CACHE_STORE']?.trim().toLowerCase();
185
+ if (env === 'lmdb' || env === 'sqlite') {
186
+ return env;
187
+ }
188
+ return undefined;
189
+ })();
176
190
  //# sourceMappingURL=environment-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment-options.js","sourceRoot":"","sources":["environment-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-options.js","sourceRoot":"","sources":["environment-options.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,qCAA+C;AAE/C,wFAAwF;AACxF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAE7C,uFAAuF;AACvF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7C;;;;GAIG;AACH,SAAS,SAAS,CAAC,QAA4B;IAC7C,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,EAAE,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,QAA4B;IACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+EAA+E;IAC/E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4BAA4B;AAC5B,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACrE,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;IAC1B,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,aAAa,CAAC,qBAAqB,CAAC,KAAK,KAAK,EAAE,CAAC;QACxF,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,IAAI,aAAa,CAAC,qBAAqB,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAClC,KAAK,QAAQ;gBACX,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,QAAQ;gBACX,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,UAAU;gBACb,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC3B,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,EAAE,CAAC;AAEL;;;GAGG;AACU,QAAA,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC;AAEjG;;;GAGG;AACU,QAAA,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC;AAErD;;;GAGG;AACU,QAAA,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC;AAEhD;;;GAGG;AACU,QAAA,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,IAAI,CAAC;AAEhG;;;;;;;;GAQG;AACH,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAE/D;;;GAGG;AACU,QAAA,UAAU,GAAG,SAAS,CAAC,kBAAkB,CAAC;IACrD,CAAC,CAAC,CAAC,kBAAkB;IACrB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAA,8BAAoB,GAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzD;;GAEG;AACU,QAAA,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,KAAK,CAAC;AAE1F;;GAEG;AACU,QAAA,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,IAAI,CAAC;AAE3F;;GAEG;AACU,QAAA,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,IAAI,CAAC;AAE1F;;GAEG;AACU,QAAA,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,KAAK,CAAC;AAE3F;;GAEG;AACU,QAAA,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,IAAI,CAAC;AAE1F;;GAEG;AACH;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACrD,QAAA,uBAAuB,GAAG,CAAC,GAAG,EAAE;IAC3C,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,iBAAiB,KAAK,OAAO,IAAI,iBAAiB,KAAK,GAAG,EAAE,CAAC;QAC/D,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,iBAAiB,KAAK,MAAM,IAAI,iBAAiB,KAAK,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAEnD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC,CAAC,EAAE,CAAC;AAEL;;GAEG;AACU,QAAA,oBAAoB,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,CAAC;AAE1F;;GAEG;AACU,QAAA,uBAAuB,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,KAAK,CAAC;AAEhG;;GAEG;AACU,QAAA,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,IAAI,CAAC;AAE9F,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACtD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAE5C,QAAA,sBAAsB,GACjC,iBAAiB,IAAI,aAAa;IAChC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC;IACvD,CAAC,CAAC,SAAS,CAAC;AAEhB;;;;;;GAMG;AACU,QAAA,2BAA2B,GAAG,CAAC,GAAG,EAAE;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC,EAAE,CAAC"}
@@ -8,9 +8,10 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.normalizeCacheOptions = normalizeCacheOptions;
11
+ const node_fs_1 = require("node:fs");
11
12
  const node_path_1 = require("node:path");
12
13
  /** Version placeholder is replaced during the build process with actual package version */
13
- const VERSION = '22.1.0-next.2';
14
+ const VERSION = '22.1.0-next.3';
14
15
  function hasCacheMetadata(value) {
15
16
  return (!!value &&
16
17
  typeof value === 'object' &&
@@ -19,6 +20,43 @@ function hasCacheMetadata(value) {
19
20
  typeof value['cli'] === 'object' &&
20
21
  'cache' in value['cli']);
21
22
  }
23
+ function getCacheBasePath(workspaceRoot, cachePathSetting) {
24
+ if ((0, node_path_1.isAbsolute)(cachePathSetting)) {
25
+ return cachePathSetting;
26
+ }
27
+ try {
28
+ // Find the git directory, walking up from workspaceRoot if necessary
29
+ let currentDir = workspaceRoot;
30
+ while (true) {
31
+ const gitPath = (0, node_path_1.join)(currentDir, '.git');
32
+ if ((0, node_fs_1.existsSync)(gitPath)) {
33
+ const stat = (0, node_fs_1.statSync)(gitPath);
34
+ if (stat.isFile()) {
35
+ // Could be a git worktree (or submodule)
36
+ const content = (0, node_fs_1.readFileSync)(gitPath, 'utf8');
37
+ const match = /^gitdir:\s*(.+)$/m.exec(content);
38
+ if (match) {
39
+ const gitdir = (0, node_path_1.resolve)(currentDir, match[1].trim());
40
+ const commondirPath = (0, node_path_1.join)(gitdir, 'commondir');
41
+ if ((0, node_fs_1.existsSync)(commondirPath)) {
42
+ // It's a git worktree
43
+ const commondir = (0, node_fs_1.readFileSync)(commondirPath, 'utf8').trim();
44
+ const commonGitDir = (0, node_path_1.resolve)(gitdir, commondir);
45
+ return (0, node_path_1.resolve)((0, node_path_1.dirname)(commonGitDir), cachePathSetting);
46
+ }
47
+ }
48
+ }
49
+ }
50
+ const parentDir = (0, node_path_1.dirname)(currentDir);
51
+ if (parentDir === currentDir) {
52
+ break;
53
+ }
54
+ currentDir = parentDir;
55
+ }
56
+ }
57
+ catch { }
58
+ return (0, node_path_1.resolve)(workspaceRoot, cachePathSetting);
59
+ }
22
60
  function normalizeCacheOptions(projectMetadata, worspaceRoot) {
23
61
  const cacheMetadata = hasCacheMetadata(projectMetadata) ? projectMetadata.cli.cache : {};
24
62
  const {
@@ -36,7 +74,7 @@ function normalizeCacheOptions(projectMetadata, worspaceRoot) {
36
74
  break;
37
75
  }
38
76
  }
39
- const cacheBasePath = (0, node_path_1.resolve)(worspaceRoot, path);
77
+ const cacheBasePath = getCacheBasePath(worspaceRoot, path);
40
78
  return {
41
79
  enabled: cacheEnabled,
42
80
  basePath: cacheBasePath,
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-cache.js","sourceRoot":"","sources":["normalize-cache.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAmCH,sDAiCC;AAlED,yCAA0C;AAE1C,2FAA2F;AAC3F,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAmBpC,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,IAAI,KAAK;QACd,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QACd,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ;QAChC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CACxB,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CACnC,eAAwB,EACxB,YAAoB;IAEpB,MAAM,aAAa,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,MAAM;IACJ,qHAAqH;IACrH,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EACxC,WAAW,GAAG,OAAO,EACrB,IAAI,GAAG,gBAAgB,GACxB,GAAG,aAAa,CAAC;IAClB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC;IAEtF,IAAI,YAAY,GAAG,OAAO,CAAC;IAC3B,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,IAAI;gBACP,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,OAAO;gBACV,YAAY,GAAG,CAAC,IAAI,CAAC;gBACrB,MAAM;QACV,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,mBAAO,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAElD,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,IAAA,gBAAI,EAAC,aAAa,EAAE,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"normalize-cache.js","sourceRoot":"","sources":["normalize-cache.ts"],"names":[],"mappings":"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"}