@angular/build 22.2.0-next.6 → 22.2.0-next.7

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 (82) hide show
  1. package/package.json +13 -13
  2. package/src/builders/application/build-action.js +1 -0
  3. package/src/builders/application/build-action.js.map +1 -1
  4. package/src/builders/application/chunk-optimizer.js +4 -1
  5. package/src/builders/application/chunk-optimizer.js.map +1 -1
  6. package/src/builders/application/execute-post-bundle.js +2 -2
  7. package/src/builders/application/execute-post-bundle.js.map +1 -1
  8. package/src/builders/application/i18n.js +2 -1
  9. package/src/builders/application/i18n.js.map +1 -1
  10. package/src/builders/application/options.js +5 -2
  11. package/src/builders/application/options.js.map +1 -1
  12. package/src/builders/application/schema.d.ts +2 -1
  13. package/src/builders/application/schema.js.map +1 -1
  14. package/src/builders/application/schema.json +1 -2
  15. package/src/builders/dev-server/options.d.ts +4 -1
  16. package/src/builders/dev-server/options.js +1 -0
  17. package/src/builders/dev-server/options.js.map +1 -1
  18. package/src/builders/dev-server/vite/server.js +1 -1
  19. package/src/builders/dev-server/vite/server.js.map +1 -1
  20. package/src/builders/unit-test/runners/vitest/plugins.d.ts +3 -4
  21. package/src/builders/unit-test/runners/vitest/plugins.js +2 -0
  22. package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
  23. package/src/builders/unit-test/schema.d.ts +3 -2
  24. package/src/builders/unit-test/schema.js.map +1 -1
  25. package/src/builders/unit-test/schema.json +3 -2
  26. package/src/private.d.ts +0 -1
  27. package/src/private.js +1 -3
  28. package/src/private.js.map +1 -1
  29. package/src/tools/angular/compilation/aot-compilation.d.ts +1 -1
  30. package/src/tools/angular/compilation/aot-compilation.js +1 -3
  31. package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
  32. package/src/tools/angular/compilation/jit-compilation.d.ts +1 -1
  33. package/src/tools/angular/compilation/jit-compilation.js +1 -3
  34. package/src/tools/angular/compilation/jit-compilation.js.map +1 -1
  35. package/src/tools/angular/compilation/typescript-compilation.d.ts +8 -1
  36. package/src/tools/angular/compilation/typescript-compilation.js +10 -2
  37. package/src/tools/angular/compilation/typescript-compilation.js.map +1 -1
  38. package/src/tools/esbuild/angular/compiler-plugin.js +40 -13
  39. package/src/tools/esbuild/angular/compiler-plugin.js.map +1 -1
  40. package/src/tools/esbuild/cache.d.ts +17 -10
  41. package/src/tools/esbuild/cache.js +60 -47
  42. package/src/tools/esbuild/cache.js.map +1 -1
  43. package/src/tools/esbuild/i18n-inliner.d.ts +6 -1
  44. package/src/tools/esbuild/i18n-inliner.js +14 -4
  45. package/src/tools/esbuild/i18n-inliner.js.map +1 -1
  46. package/src/tools/esbuild/index-html-generator.js +1 -1
  47. package/src/tools/esbuild/index-html-generator.js.map +1 -1
  48. package/src/tools/esbuild/javascript-transformer.d.ts +18 -6
  49. package/src/tools/esbuild/javascript-transformer.js +68 -57
  50. package/src/tools/esbuild/javascript-transformer.js.map +1 -1
  51. package/src/tools/esbuild/lmdb-cache-store.js +1 -1
  52. package/src/tools/esbuild/lmdb-cache-store.js.map +1 -1
  53. package/src/tools/esbuild/persistent-load-result-cache.js +9 -31
  54. package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -1
  55. package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +109 -0
  56. package/src/tools/esbuild/sourcemap-ignorelist-plugin.js.map +1 -1
  57. package/src/tools/esbuild/sqlite-cache-store.d.ts +1 -1
  58. package/src/tools/esbuild/sqlite-cache-store.js +239 -65
  59. package/src/tools/esbuild/sqlite-cache-store.js.map +1 -1
  60. package/src/tools/esbuild/stylesheets/sass-language.d.ts +1 -0
  61. package/src/tools/esbuild/stylesheets/sass-language.js +49 -28
  62. package/src/tools/esbuild/stylesheets/sass-language.js.map +1 -1
  63. package/src/tools/esbuild/watcher.js +26 -3
  64. package/src/tools/esbuild/watcher.js.map +1 -1
  65. package/src/tools/oxc/oxc-transform.js +1 -1
  66. package/src/tools/oxc/oxc-transform.js.map +1 -1
  67. package/src/tools/sass/sass-service.d.ts +4 -0
  68. package/src/tools/sass/sass-service.js +9 -1
  69. package/src/tools/sass/sass-service.js.map +1 -1
  70. package/src/utils/index-file/index-html-generator.d.ts +1 -1
  71. package/src/utils/index-file/index-html-generator.js +9 -13
  72. package/src/utils/index-file/index-html-generator.js.map +1 -1
  73. package/src/utils/index-file/inline-critical-css.d.ts +16 -18
  74. package/src/utils/index-file/inline-critical-css.js +44 -189
  75. package/src/utils/index-file/inline-critical-css.js.map +1 -1
  76. package/src/utils/index-file/nonce.d.ts +2 -0
  77. package/src/utils/index-file/nonce.js +1 -0
  78. package/src/utils/index-file/nonce.js.map +1 -1
  79. package/src/utils/normalize-cache.js +1 -1
  80. package/src/utils/server-rendering/manifest.d.ts +2 -2
  81. package/src/utils/server-rendering/manifest.js +53 -4
  82. package/src/utils/server-rendering/manifest.js.map +1 -1
@@ -8,9 +8,45 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.SqliteCacheStore = void 0;
11
+ const node_fs_1 = require("node:fs");
12
+ const node_path_1 = require("node:path");
11
13
  const node_sqlite_1 = require("node:sqlite");
14
+ const node_util_1 = require("node:util");
12
15
  const node_v8_1 = require("node:v8");
16
+ const node_zlib_1 = require("node:zlib");
13
17
  const cache_1 = require("./cache");
18
+ const deflateRawAsync = (0, node_util_1.promisify)(node_zlib_1.deflateRaw);
19
+ /**
20
+ * Minimum payload size (in bytes) required to attempt compression.
21
+ * Smaller payloads generally do not achieve meaningful compression ratios, while larger payloads
22
+ * (such as transformed JavaScript modules from node_modules) achieve 70-80% size reduction
23
+ * and drastically reduce SQLite overflow pages.
24
+ */
25
+ const COMPRESSION_THRESHOLD = 32 * 1024; // 32 KB
26
+ /**
27
+ * Storage format discriminator values for cache table entries.
28
+ */
29
+ var CacheFormat;
30
+ (function (CacheFormat) {
31
+ CacheFormat[CacheFormat["V8"] = 0] = "V8";
32
+ CacheFormat[CacheFormat["V8Compressed"] = 1] = "V8Compressed";
33
+ CacheFormat[CacheFormat["RawBinary"] = 2] = "RawBinary";
34
+ CacheFormat[CacheFormat["RawBinaryCompressed"] = 3] = "RawBinaryCompressed";
35
+ })(CacheFormat || (CacheFormat = {}));
36
+ /**
37
+ * Common SQLite primary result codes.
38
+ * @see https://www.sqlite.org/rescode.html
39
+ */
40
+ var SqliteResultCode;
41
+ (function (SqliteResultCode) {
42
+ SqliteResultCode[SqliteResultCode["Busy"] = 5] = "Busy";
43
+ SqliteResultCode[SqliteResultCode["Locked"] = 6] = "Locked";
44
+ })(SqliteResultCode || (SqliteResultCode = {}));
45
+ function isSqliteError(error) {
46
+ return (error instanceof Error &&
47
+ ('errcode' in error ||
48
+ ('code' in error && error.code === 'ERR_SQLITE_ERROR')));
49
+ }
14
50
  /**
15
51
  * A persistent cache store backed by SQLite.
16
52
  *
@@ -24,42 +60,115 @@ class SqliteCacheStore {
24
60
  maxPayloadSize;
25
61
  ttlDays;
26
62
  #db;
63
+ #disabled = false;
27
64
  #getStmt;
28
65
  #hasStmt;
29
66
  #setStmt;
30
67
  #updateAccessedStmt;
31
68
  #pendingAccessedKeys = new Set();
32
69
  #flushTimeout;
33
- constructor(cachePath, maxPayloadSize = 1024 * 1024 * 1024, ttlDays = 14) {
70
+ #busyTimeoutMs;
71
+ constructor(cachePath, maxPayloadSize = 1024 * 1024 * 1024, ttlDays = 14, busyTimeoutMs = 5000) {
34
72
  this.cachePath = cachePath;
35
73
  this.maxPayloadSize = maxPayloadSize;
36
74
  this.ttlDays = ttlDays;
75
+ this.#busyTimeoutMs =
76
+ Number.isSafeInteger(busyTimeoutMs) && busyTimeoutMs >= 0 ? busyTimeoutMs : 5000;
77
+ }
78
+ #openDatabase() {
79
+ let db;
80
+ try {
81
+ if (this.cachePath === ':memory:') {
82
+ db = new node_sqlite_1.DatabaseSync(this.cachePath);
83
+ }
84
+ else {
85
+ // Optimistically attempt to open the database file first to avoid directory creation
86
+ // syscalls on warm builds where the parent directory already exists.
87
+ try {
88
+ db = new node_sqlite_1.DatabaseSync(this.cachePath);
89
+ }
90
+ catch {
91
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(this.cachePath), { recursive: true });
92
+ db = new node_sqlite_1.DatabaseSync(this.cachePath);
93
+ }
94
+ }
95
+ // Optimize SQLite for cache usage
96
+ db.exec(`PRAGMA busy_timeout = ${this.#busyTimeoutMs};`);
97
+ db.exec('PRAGMA auto_vacuum = FULL;');
98
+ db.exec('PRAGMA journal_mode = WAL;');
99
+ db.exec('PRAGMA synchronous = NORMAL;');
100
+ db.exec('PRAGMA temp_store = MEMORY;');
101
+ db.exec('PRAGMA mmap_size = 268435456;');
102
+ db.exec('CREATE TABLE IF NOT EXISTS cache (' +
103
+ 'key TEXT PRIMARY KEY, ' +
104
+ 'value BLOB, ' +
105
+ 'format INTEGER NOT NULL DEFAULT 0, ' +
106
+ 'last_accessed INTEGER NOT NULL' +
107
+ ') WITHOUT ROWID;');
108
+ try {
109
+ db.exec('ALTER TABLE cache ADD COLUMN format INTEGER NOT NULL DEFAULT 0;');
110
+ }
111
+ catch {
112
+ // Ignore error if format column already exists
113
+ }
114
+ db.exec('CREATE INDEX IF NOT EXISTS idx_cache_accessed ON cache (last_accessed DESC, key DESC);');
115
+ this.#getStmt = db.prepare('SELECT value, format FROM cache WHERE key = ?');
116
+ this.#hasStmt = db.prepare('SELECT 1 FROM cache WHERE key = ?');
117
+ this.#setStmt = db.prepare('INSERT OR REPLACE INTO cache (key, value, format, last_accessed) VALUES (?, ?, ?, unixepoch())');
118
+ this.#updateAccessedStmt = db.prepare('UPDATE cache SET last_accessed = unixepoch() WHERE key = ?');
119
+ this.#db = db;
120
+ return db;
121
+ }
122
+ catch (error) {
123
+ try {
124
+ db?.close();
125
+ }
126
+ catch {
127
+ // Ignore close error on corrupted handle
128
+ }
129
+ this.#getStmt = undefined;
130
+ this.#hasStmt = undefined;
131
+ this.#setStmt = undefined;
132
+ this.#updateAccessedStmt = undefined;
133
+ throw error;
134
+ }
37
135
  }
38
136
  #ensureDb() {
137
+ if (this.#disabled) {
138
+ return undefined;
139
+ }
39
140
  if (!this.#db) {
40
- this.#db = new node_sqlite_1.DatabaseSync(this.cachePath);
41
- // Optimize SQLite for cache usage
42
- this.#db.exec('PRAGMA auto_vacuum = FULL;');
43
- this.#db.exec('PRAGMA journal_mode = WAL;');
44
- this.#db.exec('PRAGMA synchronous = NORMAL;');
45
- this.#db.exec('PRAGMA busy_timeout = 5000;');
46
- this.#db.exec('PRAGMA temp_store = MEMORY;');
47
- this.#db.exec('PRAGMA mmap_size = 268435456;');
48
- this.#db.exec('CREATE TABLE IF NOT EXISTS cache (key TEXT PRIMARY KEY, value BLOB, last_accessed INTEGER NOT NULL) WITHOUT ROWID;');
49
- this.#getStmt = this.#db.prepare('SELECT value FROM cache WHERE key = ?');
50
- this.#hasStmt = this.#db.prepare('SELECT 1 FROM cache WHERE key = ?');
51
- this.#setStmt = this.#db.prepare('INSERT OR REPLACE INTO cache (key, value, last_accessed) VALUES (?, ?, unixepoch())');
52
- this.#updateAccessedStmt = this.#db.prepare('UPDATE cache SET last_accessed = unixepoch() WHERE key = ?');
141
+ try {
142
+ return this.#openDatabase();
143
+ }
144
+ catch (error) {
145
+ // If the database is locked by another active process,
146
+ // do not attempt to delete the database files as that could corrupt the active process's database.
147
+ const isBusy = isSqliteError(error) &&
148
+ (error.errcode === SqliteResultCode.Busy || error.errcode === SqliteResultCode.Locked);
149
+ // Attempt to recover from database corruption by deleting the corrupted files and recreating
150
+ if (!isBusy && this.cachePath !== ':memory:') {
151
+ try {
152
+ (0, node_fs_1.rmSync)(this.cachePath, { force: true });
153
+ (0, node_fs_1.rmSync)(this.cachePath + '-wal', { force: true });
154
+ (0, node_fs_1.rmSync)(this.cachePath + '-shm', { force: true });
155
+ (0, node_fs_1.rmSync)(this.cachePath + '-journal', { force: true });
156
+ return this.#openDatabase();
157
+ }
158
+ catch {
159
+ // If recovery fails (e.g. read-only filesystem or permission denied), disable caching
160
+ }
161
+ }
162
+ this.#disabled = true;
163
+ return undefined;
164
+ }
53
165
  }
54
166
  return this.#db;
55
167
  }
56
168
  #queueAccessUpdate(key) {
57
169
  this.#pendingAccessedKeys.add(key);
58
- if (this.#pendingAccessedKeys.size >= 100) {
59
- this.#flushAccessUpdates();
60
- }
61
- else if (!this.#flushTimeout) {
62
- this.#flushTimeout = setTimeout(() => this.#flushAccessUpdates(), 500);
170
+ if (!this.#flushTimeout) {
171
+ this.#flushTimeout = setTimeout(() => this.#flushAccessUpdates(), 1000);
63
172
  this.#flushTimeout.unref?.();
64
173
  }
65
174
  }
@@ -68,19 +177,21 @@ class SqliteCacheStore {
68
177
  clearTimeout(this.#flushTimeout);
69
178
  this.#flushTimeout = undefined;
70
179
  }
71
- if (!this.#db || this.#pendingAccessedKeys.size === 0 || !this.#updateAccessedStmt) {
180
+ if (this.#pendingAccessedKeys.size === 0) {
72
181
  return;
73
182
  }
74
183
  try {
75
- this.#db.exec('BEGIN IMMEDIATE TRANSACTION;');
76
- for (const key of this.#pendingAccessedKeys) {
77
- this.#updateAccessedStmt.run(key);
184
+ if (this.#db && this.#updateAccessedStmt) {
185
+ this.#db.exec('BEGIN IMMEDIATE TRANSACTION;');
186
+ for (const key of this.#pendingAccessedKeys) {
187
+ this.#updateAccessedStmt.run(key);
188
+ }
189
+ this.#db.exec('COMMIT;');
78
190
  }
79
- this.#db.exec('COMMIT;');
80
191
  }
81
192
  catch {
82
193
  try {
83
- this.#db.exec('ROLLBACK;');
194
+ this.#db?.exec('ROLLBACK;');
84
195
  }
85
196
  catch {
86
197
  // Ignore rollback errors if transaction was not active
@@ -92,73 +203,136 @@ class SqliteCacheStore {
92
203
  }
93
204
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
205
  async get(key) {
95
- this.#ensureDb();
96
- // SQLite column types are dynamic, so the stored value is only known at runtime.
97
- const row = this.#getStmt?.get(key);
98
- if (row) {
99
- this.#queueAccessUpdate(key);
100
- if (row.value instanceof Uint8Array) {
101
- try {
102
- return (0, node_v8_1.deserialize)(row.value);
103
- }
104
- catch {
105
- // Treat corrupt or unparseable cached payloads as a cache miss.
206
+ if (!this.#ensureDb()) {
207
+ return undefined;
208
+ }
209
+ try {
210
+ // SQLite column types are dynamic, so the stored value is only known at runtime.
211
+ const row = this.#getStmt?.get(key);
212
+ if (row) {
213
+ this.#queueAccessUpdate(key);
214
+ if (row.value instanceof Uint8Array) {
215
+ try {
216
+ switch (row.format) {
217
+ case CacheFormat.RawBinary:
218
+ return row.value;
219
+ case CacheFormat.RawBinaryCompressed: {
220
+ const decompressed = (0, node_zlib_1.inflateRawSync)(row.value);
221
+ return new Uint8Array(decompressed.buffer, decompressed.byteOffset, decompressed.byteLength);
222
+ }
223
+ case CacheFormat.V8Compressed:
224
+ return (0, node_v8_1.deserialize)((0, node_zlib_1.inflateRawSync)(row.value));
225
+ case CacheFormat.V8:
226
+ default:
227
+ return (0, node_v8_1.deserialize)(row.value);
228
+ }
229
+ }
230
+ catch {
231
+ // Treat corrupt or unparseable cached payloads as a cache miss.
232
+ }
106
233
  }
107
234
  }
108
235
  }
236
+ catch {
237
+ // Treat query errors (e.g. disk read failures) as a cache miss.
238
+ }
109
239
  return undefined;
110
240
  }
111
241
  has(key) {
112
- this.#ensureDb();
113
- return !!this.#hasStmt?.get(key);
242
+ if (!this.#ensureDb()) {
243
+ return false;
244
+ }
245
+ try {
246
+ return !!this.#hasStmt?.get(key);
247
+ }
248
+ catch {
249
+ return false;
250
+ }
114
251
  }
115
252
  async set(key, value) {
116
- this.#ensureDb();
117
- this.#pendingAccessedKeys.delete(key);
118
- this.#setStmt?.run(key, (0, node_v8_1.serialize)(value));
253
+ if (!this.#ensureDb()) {
254
+ return this;
255
+ }
256
+ try {
257
+ this.#pendingAccessedKeys.delete(key);
258
+ const isBinary = value instanceof Uint8Array;
259
+ const data = isBinary ? value : (0, node_v8_1.serialize)(value);
260
+ let format = isBinary ? CacheFormat.RawBinary : CacheFormat.V8;
261
+ let payload = data;
262
+ if (data.byteLength >= COMPRESSION_THRESHOLD) {
263
+ const compressed = await deflateRawAsync(data, { level: 1 });
264
+ if (compressed.byteLength < data.byteLength) {
265
+ payload = compressed;
266
+ format = isBinary ? CacheFormat.RawBinaryCompressed : CacheFormat.V8Compressed;
267
+ }
268
+ }
269
+ this.#setStmt?.run(key, payload, format);
270
+ }
271
+ catch {
272
+ // Writing to cache is non-fatal and should not fail the build.
273
+ }
119
274
  return this;
120
275
  }
121
276
  createCache(namespace) {
122
- return new cache_1.Cache(this, namespace);
277
+ return new cache_1.Cache(new cache_1.NamespacedCacheStore(this, namespace));
123
278
  }
124
279
  close() {
280
+ this.#flushAccessUpdates();
125
281
  if (this.#db) {
126
282
  try {
127
- // Flush any pending access updates in one transaction before pruning
128
- this.#flushAccessUpdates();
129
- // 1. Delete items older than N days
130
- this.#db
131
- .prepare("DELETE FROM cache WHERE last_accessed < unixepoch('now', ?);")
132
- .run(`-${this.ttlDays} days`);
133
- // 2. Prune oldest items if payload exceeds maxPayloadSize
134
- const pruneStmt = this.#db.prepare(`
135
- DELETE FROM cache WHERE key IN (
136
- SELECT key FROM (
137
- SELECT key,
138
- sum(length(key) + length(value)) OVER (ORDER BY last_accessed DESC, key DESC) as running_size
139
- FROM cache
140
- ) WHERE running_size > ?
141
- );
142
- `);
143
- pruneStmt.run(this.maxPayloadSize);
283
+ this.#db.exec('BEGIN IMMEDIATE TRANSACTION;');
284
+ try {
285
+ // 1. Delete items older than N days
286
+ this.#db
287
+ .prepare("DELETE FROM cache WHERE last_accessed < unixepoch('now', ?);")
288
+ .run(`-${this.ttlDays} days`);
289
+ // 2. Prune oldest items if payload exceeds maxPayloadSize
290
+ // Skip the expensive window aggregate query if total database size is below maxPayloadSize
291
+ const sizeResult = this.#db
292
+ .prepare('SELECT (page_count - freelist_count) * page_size AS total_size ' +
293
+ 'FROM pragma_page_count(), pragma_freelist_count(), pragma_page_size();')
294
+ .get();
295
+ if ((sizeResult?.total_size ?? 0) > this.maxPayloadSize) {
296
+ this.#db
297
+ .prepare(`DELETE FROM cache WHERE key IN (
298
+ SELECT key FROM (
299
+ SELECT key,
300
+ sum(length(key) + length(value)) OVER (ORDER BY last_accessed DESC, key DESC) as running_size
301
+ FROM cache
302
+ ) WHERE running_size > ?
303
+ );`)
304
+ .run(this.maxPayloadSize);
305
+ }
306
+ this.#db.exec('COMMIT;');
307
+ }
308
+ catch (error) {
309
+ try {
310
+ this.#db.exec('ROLLBACK;');
311
+ }
312
+ catch {
313
+ // Ignore rollback errors if transaction was not active
314
+ }
315
+ throw error;
316
+ }
144
317
  }
145
318
  catch {
146
319
  // Pruning errors should not block build success
147
320
  }
148
321
  finally {
149
- if (this.#flushTimeout) {
150
- clearTimeout(this.#flushTimeout);
151
- this.#flushTimeout = undefined;
152
- }
153
- this.#pendingAccessedKeys.clear();
154
322
  this.#getStmt = undefined;
155
323
  this.#hasStmt = undefined;
156
324
  this.#setStmt = undefined;
157
325
  this.#updateAccessedStmt = undefined;
158
- this.#db.close();
326
+ try {
327
+ this.#db.close();
328
+ }
329
+ catch {
330
+ // Failure to close should not block build success
331
+ }
159
332
  this.#db = undefined;
160
333
  }
161
334
  }
335
+ this.#disabled = false;
162
336
  }
163
337
  }
164
338
  exports.SqliteCacheStore = SqliteCacheStore;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-cache-store.js","sourceRoot":"","sources":["sqlite-cache-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-cache-store.js","sourceRoot":"","sources":["sqlite-cache-store.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,qCAA4C;AAC5C,yCAAoC;AACpC,6CAA0D;AAC1D,yCAAsC;AACtC,qCAAiD;AACjD,yCAAuD;AACvD,mCAA4E;AAE5E,MAAM,eAAe,GAAG,IAAA,qBAAS,EAAC,sBAAU,CAAC,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;AAEjD;;GAEG;AACH,IAAW,WAKV;AALD,WAAW,WAAW;IACpB,yCAAM,CAAA;IACN,6DAAgB,CAAA;IAChB,uDAAa,CAAA;IACb,2EAAuB,CAAA;AACzB,CAAC,EALU,WAAW,KAAX,WAAW,QAKrB;AAED;;;GAGG;AACH,IAAW,gBAGV;AAHD,WAAW,gBAAgB;IACzB,uDAAQ,CAAA;IACR,2DAAU,CAAA;AACZ,CAAC,EAHU,gBAAgB,KAAhB,gBAAgB,QAG1B;AAQD,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,YAAY,KAAK;QACtB,CAAC,SAAS,IAAI,KAAK;YACjB,CAAC,MAAM,IAAI,KAAK,IAAK,KAA2B,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CACjF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAa,gBAAgB;IAYhB;IACQ;IACA;IAbnB,GAAG,CAA2B;IAC9B,SAAS,GAAG,KAAK,CAAC;IAClB,QAAQ,CAA4B;IACpC,QAAQ,CAA4B;IACpC,QAAQ,CAA4B;IACpC,mBAAmB,CAA4B;IACtC,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,aAAa,CAA6B;IACjC,cAAc,CAAS;IAEhC,YACW,SAAiB,EACT,iBAAiB,IAAI,GAAG,IAAI,GAAG,IAAI,EACnC,UAAU,EAAE,EAC7B,aAAa,GAAG,IAAI;QAHX,cAAS,GAAT,SAAS,CAAQ;QACT,mBAAc,GAAd,cAAc,CAAqB;QACnC,YAAO,GAAP,OAAO,CAAK;QAG7B,IAAI,CAAC,cAAc;YACjB,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,CAAC;IAED,aAAa;QACX,IAAI,EAA4B,CAAC;QACjC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBAClC,EAAE,GAAG,IAAI,0BAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,qFAAqF;gBACrF,qEAAqE;gBACrE,IAAI,CAAC;oBACH,EAAE,GAAG,IAAI,0BAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxD,EAAE,GAAG,IAAI,0BAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,EAAE,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACzD,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACtC,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACtC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACxC,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACvC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACzC,EAAE,CAAC,IAAI,CACL,oCAAoC;gBAClC,wBAAwB;gBACxB,cAAc;gBACd,qCAAqC;gBACrC,gCAAgC;gBAChC,kBAAkB,CACrB,CAAC;YACF,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,+CAA+C;YACjD,CAAC;YACD,EAAE,CAAC,IAAI,CACL,wFAAwF,CACzF,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,OAAO,CACxB,gGAAgG,CACjG,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,OAAO,CACnC,4DAA4D,CAC7D,CAAC;YAEF,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YAEd,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,EAAE,EAAE,KAAK,EAAE,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,uDAAuD;gBACvD,mGAAmG;gBACnG,MAAM,MAAM,GACV,aAAa,CAAC,KAAK,CAAC;oBACpB,CAAC,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAEzF,6FAA6F;gBAC7F,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,IAAA,gBAAM,EAAC,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBACxC,IAAA,gBAAM,EAAC,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBACjD,IAAA,gBAAM,EAAC,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBACjD,IAAA,gBAAM,EAAC,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBAErD,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC9B,CAAC;oBAAC,MAAM,CAAC;wBACP,sFAAsF;oBACxF,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEtB,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC5B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,CAAC;YACxE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,iFAAiF;YACjF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAwD,CAAC;YAE3F,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAE7B,IAAI,GAAG,CAAC,KAAK,YAAY,UAAU,EAAE,CAAC;oBACpC,IAAI,CAAC;wBACH,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;4BACnB,KAAK,WAAW,CAAC,SAAS;gCACxB,OAAO,GAAG,CAAC,KAAK,CAAC;4BACnB,KAAK,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;gCACrC,MAAM,YAAY,GAAG,IAAA,0BAAc,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gCAE/C,OAAO,IAAI,UAAU,CACnB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,UAAU,CACxB,CAAC;4BACJ,CAAC;4BACD,KAAK,WAAW,CAAC,YAAY;gCAC3B,OAAO,IAAA,qBAAW,EAAC,IAAA,0BAAc,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;4BAChD,KAAK,WAAW,CAAC,EAAE,CAAC;4BACpB;gCACE,OAAO,IAAA,qBAAW,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,gEAAgE;oBAClE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEtC,MAAM,QAAQ,GAAG,KAAK,YAAY,UAAU,CAAC;YAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,KAAK,CAAC,CAAC;YACjD,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,IAAI,OAAO,GAAe,IAAI,CAAC;YAE/B,IAAI,IAAI,CAAC,UAAU,IAAI,qBAAqB,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7D,IAAI,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC5C,OAAO,GAAG,UAAU,CAAC;oBACrB,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;gBACjF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAc,SAAiB;QACxC,OAAO,IAAI,aAAK,CAAI,IAAI,4BAAoB,CAAI,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;gBAC9C,IAAI,CAAC;oBACH,oCAAoC;oBACpC,IAAI,CAAC,GAAG;yBACL,OAAO,CAAC,8DAA8D,CAAC;yBACvE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC;oBAEhC,0DAA0D;oBAC1D,2FAA2F;oBAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG;yBACxB,OAAO,CACN,iEAAiE;wBAC/D,wEAAwE,CAC3E;yBACA,GAAG,EAAyC,CAAC;oBAEhD,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;wBACxD,IAAI,CAAC,GAAG;6BACL,OAAO,CACN;;;;;;mBAMG,CACJ;6BACA,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC9B,CAAC;oBAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC7B,CAAC;oBAAC,MAAM,CAAC;wBACP,uDAAuD;oBACzD,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,gDAAgD;YAClD,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBAErC,IAAI,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,kDAAkD;gBACpD,CAAC;gBACD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;CACF;AA5TD,4CA4TC"}
@@ -6,5 +6,6 @@
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
8
  import { StylesheetLanguage } from './stylesheet-plugin-factory';
9
+ export declare function resetSassWorkerPoolCaches(): void;
9
10
  export declare function shutdownSassWorkerPool(): void;
10
11
  export declare const SassStylesheetLanguage: Readonly<StylesheetLanguage>;
@@ -41,16 +41,30 @@ var __importStar = (this && this.__importStar) || (function () {
41
41
  })();
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
43
  exports.SassStylesheetLanguage = void 0;
44
+ exports.resetSassWorkerPoolCaches = resetSassWorkerPoolCaches;
44
45
  exports.shutdownSassWorkerPool = shutdownSassWorkerPool;
45
46
  const node_path_1 = require("node:path");
46
47
  const node_url_1 = require("node:url");
47
48
  const cache_1 = require("../cache");
48
49
  let sassService;
49
50
  let sassServicePromise;
51
+ let resolutionCache;
52
+ let packageRootCache;
50
53
  function isSassException(error) {
51
54
  return !!error && typeof error === 'object' && 'sassMessage' in error;
52
55
  }
56
+ function resetSassWorkerPoolCaches() {
57
+ resolutionCache?.clear();
58
+ packageRootCache?.clear();
59
+ if (sassService) {
60
+ sassService.clearCache();
61
+ }
62
+ else if (sassServicePromise) {
63
+ void sassServicePromise.then((service) => service.clearCache());
64
+ }
65
+ }
53
66
  function shutdownSassWorkerPool() {
67
+ resetSassWorkerPoolCaches();
54
68
  if (sassService) {
55
69
  void sassService.close();
56
70
  sassService = undefined;
@@ -106,14 +120,15 @@ async function compileString(data, filePath, syntax, options, resolveUrl) {
106
120
  sassServicePromise = undefined;
107
121
  }
108
122
  }
109
- // Cache is currently local to individual compile requests.
110
- // Caching follows Sass behavior where a given url will always resolve to the same value
111
- // regardless of its importer's path.
123
+ // Caching follows Sass behavior where a given package url will always resolve to the same value
124
+ // regardless of its importer's path. Relative paths are qualified with the containing URL.
112
125
  // A null value indicates that the cached resolution attempt failed to find a location and
113
126
  // later stage resolution should be attempted. This avoids potentially expensive repeat
114
127
  // failing resolution attempts.
115
- const resolutionCache = new cache_1.MemoryCache();
116
- const packageRootCache = new cache_1.MemoryCache();
128
+ resolutionCache ??= new cache_1.MemoryCache();
129
+ packageRootCache ??= new cache_1.MemoryCache();
130
+ const currentResolutionCache = resolutionCache;
131
+ const currentPackageRootCache = packageRootCache;
117
132
  const warnings = [];
118
133
  const { silenceDeprecations, futureDeprecations, fatalDeprecations } = options.sass ?? {};
119
134
  try {
@@ -130,30 +145,36 @@ async function compileString(data, filePath, syntax, options, resolveUrl) {
130
145
  quietDeps: true,
131
146
  importers: [
132
147
  {
133
- findFileUrl: (url, options) => resolutionCache.getOrCreate(url, async () => {
134
- const result = await resolveUrl(url, options);
135
- if (result.path) {
136
- return (0, node_url_1.pathToFileURL)(result.path);
137
- }
138
- // Check for package deep imports
139
- const { packageName, pathSegments } = parsePackageName(url);
140
- // Caching package root locations is particularly beneficial for `@material/*` packages
141
- // which extensively use deep imports.
142
- const packageRoot = await packageRootCache.getOrCreate(packageName, async () => {
143
- // Use the required presence of a package root `package.json` file to resolve the location
144
- const packageResult = await resolveUrl(packageName + '/package.json', options);
145
- return packageResult.path ? (0, node_path_1.dirname)(packageResult.path) : null;
148
+ findFileUrl: (url, options) => {
149
+ const cacheKey = url.startsWith('pkg:')
150
+ ? url
151
+ : `${options.containingUrl?.href ?? ''}:${url}`;
152
+ return currentResolutionCache.getOrCreate(cacheKey, async () => {
153
+ const result = await resolveUrl(url, options);
154
+ if (result.path) {
155
+ return (0, node_url_1.pathToFileURL)(result.path);
156
+ }
157
+ // Check for package deep imports
158
+ const { packageName, pathSegments } = parsePackageName(url);
159
+ // Caching package root locations is particularly beneficial for `@material/*` packages
160
+ // which extensively use deep imports.
161
+ const packageRootKey = `${options.containingUrl?.href ?? ''}:${packageName}`;
162
+ const packageRoot = await currentPackageRootCache.getOrCreate(packageRootKey, async () => {
163
+ // Use the required presence of a package root `package.json` file to resolve the location
164
+ const packageResult = await resolveUrl(packageName + '/package.json', options);
165
+ return packageResult.path ? (0, node_path_1.dirname)(packageResult.path) : null;
166
+ });
167
+ // Package not found could be because of an error or the specifier is intended to be found
168
+ // via a later stage of the resolution process (`loadPaths`, etc.).
169
+ // Errors are reported after the full completion of the resolution process. Exceptions for
170
+ // not found packages should not be raised here.
171
+ if (packageRoot) {
172
+ return (0, node_url_1.pathToFileURL)((0, node_path_1.join)(packageRoot, ...pathSegments));
173
+ }
174
+ // Not found
175
+ return null;
146
176
  });
147
- // Package not found could be because of an error or the specifier is intended to be found
148
- // via a later stage of the resolution process (`loadPaths`, etc.).
149
- // Errors are reported after the full completion of the resolution process. Exceptions for
150
- // not found packages should not be raised here.
151
- if (packageRoot) {
152
- return (0, node_url_1.pathToFileURL)((0, node_path_1.join)(packageRoot, ...pathSegments));
153
- }
154
- // Not found
155
- return null;
156
- }),
177
+ },
157
178
  },
158
179
  ],
159
180
  logger: {
@@ -1 +1 @@
1
- {"version":3,"file":"sass-language.js","sourceRoot":"","sources":["sass-language.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sass-language.js","sourceRoot":"","sources":["sass-language.ts"],"names":[],"mappings":"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"}