@angular/build 22.2.1 → 22.2.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 +3 -3
- package/src/builders/extract-i18n/application-extraction.js +1 -0
- package/src/builders/extract-i18n/application-extraction.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/executor.js +0 -5
- package/src/builders/unit-test/runners/vitest/executor.js.map +1 -1
- package/src/builders/unit-test/runners/vitest/plugins.js +12 -0
- package/src/builders/unit-test/runners/vitest/plugins.js.map +1 -1
- package/src/builders/unit-test/test-discovery.js +4 -2
- package/src/builders/unit-test/test-discovery.js.map +1 -1
- package/src/tools/angular/compilation/aot-compilation.js +2 -1
- package/src/tools/angular/compilation/aot-compilation.js.map +1 -1
- package/src/tools/esbuild/persistent-load-result-cache.js +2 -4
- package/src/tools/esbuild/persistent-load-result-cache.js.map +1 -1
- package/src/tools/sass/rebasing-importer.d.ts +1 -1
- package/src/tools/sass/rebasing-importer.js +6 -3
- package/src/tools/sass/rebasing-importer.js.map +1 -1
- package/src/utils/concurrency.d.ts +4 -0
- package/src/utils/concurrency.js +5 -0
- package/src/utils/concurrency.js.map +1 -1
- package/src/utils/index-file/nonce.d.ts +2 -1
- package/src/utils/index-file/nonce.js +22 -4
- package/src/utils/index-file/nonce.js.map +1 -1
- package/src/utils/load-proxy-config.js +12 -10
- package/src/utils/load-proxy-config.js.map +1 -1
- package/src/utils/normalize-cache.js +1 -1
- package/src/utils/resolve-assets.js +28 -9
- package/src/utils/resolve-assets.js.map +1 -1
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.d.ts +1 -1
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +3 -3
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js.map +1 -1
- package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js +3 -2
- package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js.map +1 -1
- package/src/utils/watcher.d.ts +53 -0
- package/src/utils/watcher.js +404 -76
- package/src/utils/watcher.js.map +1 -1
|
@@ -108,12 +108,13 @@ function normalizeProxyConfiguration(proxy) {
|
|
|
108
108
|
if (!('context' in proxyEntry)) {
|
|
109
109
|
continue;
|
|
110
110
|
}
|
|
111
|
-
|
|
111
|
+
// Array-form entries contain a context string array with the path(s)
|
|
112
|
+
// to use for the configuration entry. A single path string is also
|
|
113
|
+
// accepted, as with the Webpack-based development server.
|
|
114
|
+
const context = typeof proxyEntry.context === 'string' ? [proxyEntry.context] : proxyEntry.context;
|
|
115
|
+
if (!Array.isArray(context)) {
|
|
112
116
|
continue;
|
|
113
117
|
}
|
|
114
|
-
// Array-form entries contain a context string array with the path(s)
|
|
115
|
-
// to use for the configuration entry.
|
|
116
|
-
const context = proxyEntry.context;
|
|
117
118
|
delete proxyEntry.context;
|
|
118
119
|
for (const contextEntry of context) {
|
|
119
120
|
if (typeof contextEntry !== 'string') {
|
|
@@ -127,13 +128,14 @@ function normalizeProxyConfiguration(proxy) {
|
|
|
127
128
|
normalizedProxy = proxy;
|
|
128
129
|
}
|
|
129
130
|
// TODO: Consider upstreaming glob support
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
131
|
+
// The object is rebuilt so that converted glob entries keep their original position,
|
|
132
|
+
// since Vite proxies a request with the first entry that matches it.
|
|
133
|
+
const orderedProxy = {};
|
|
134
|
+
for (const [key, value] of Object.entries(normalizedProxy)) {
|
|
135
|
+
const context = key[0] !== '^' && (0, tinyglobby_1.isDynamicPattern)(key) ? (0, picomatch_1.makeRe)(key).source : key;
|
|
136
|
+
orderedProxy[context] = value;
|
|
136
137
|
}
|
|
138
|
+
normalizedProxy = orderedProxy;
|
|
137
139
|
// Replace `pathRewrite` field with a `rewrite` function
|
|
138
140
|
for (const proxyEntry of Object.values(normalizedProxy)) {
|
|
139
141
|
if (typeof proxyEntry === 'object' &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-proxy-config.js","sourceRoot":"","sources":["load-proxy-config.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWH,wDAuDC;AAhED,qCAAqC;AACrC,+CAA4C;AAC5C,yCAA6C;AAC7C,uCAAyC;AACzC,yCAAyD;AACzD,2CAA8C;AAC9C,mCAAwC;AACxC,yCAA2C;AAEpC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,WAA+B;IAE/B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE7C,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,kBAAkB,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,kBAAkB,CAAC;IACvB,QAAQ,IAAA,mBAAO,EAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAEnD,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAC;YACpE,MAAM,WAAW,GAAwC,EAAE,CAAC;YAC5D,kBAAkB,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;YAE/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,YAAY,GAAG,4BAA4B,SAAS,yBAAyB,CAAC;gBAClF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC5E,YAAY,IAAI,MAAM,IAAI,KAAK,MAAM,KAAK,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpF,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YAED,MAAM;QACR,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,IAAI,CAAC;gBACH,kBAAkB,GAAG,yBAAa,SAAS,uCAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;oBAC1C,MAAM,CAAC,CAAC;gBACV,CAAC;gBAED,kBAAkB,GAAG,MAAM,IAAA,wBAAa,EAAuB,IAAA,wBAAa,EAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,SAAS,IAAI,kBAAkB,EAAE,CAAC;QACpC,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC;IAClD,CAAC;IAED,OAAO,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,KAAwC;IAExC,IAAI,eAAmD,CAAC;IAExD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,8DAA8D;QAC9D,eAAe,GAAG,EAAE,CAAC;QACrB,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;
|
|
1
|
+
{"version":3,"file":"load-proxy-config.js","sourceRoot":"","sources":["load-proxy-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ exports.normalizeCacheOptions = normalizeCacheOptions;
|
|
|
11
11
|
const node_fs_1 = require("node:fs");
|
|
12
12
|
const node_path_1 = require("node:path");
|
|
13
13
|
/** Version placeholder is replaced during the build process with actual package version */
|
|
14
|
-
const VERSION = '22.2.
|
|
14
|
+
const VERSION = '22.2.3';
|
|
15
15
|
function hasCacheMetadata(value) {
|
|
16
16
|
return (!!value &&
|
|
17
17
|
typeof value === 'object' &&
|
|
@@ -12,32 +12,51 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.DEFAULT_ASSET_IGNORE = void 0;
|
|
14
14
|
exports.resolveAssets = resolveAssets;
|
|
15
|
+
const promises_1 = require("node:fs/promises");
|
|
15
16
|
const node_path_1 = __importDefault(require("node:path"));
|
|
16
17
|
const tinyglobby_1 = require("tinyglobby");
|
|
18
|
+
const concurrency_1 = require("./concurrency");
|
|
17
19
|
const path_1 = require("./path");
|
|
18
20
|
/**
|
|
19
21
|
* Default glob ignore patterns for assets.
|
|
20
22
|
*/
|
|
21
23
|
exports.DEFAULT_ASSET_IGNORE = ['.gitkeep', '**/.DS_Store', '**/Thumbs.db'];
|
|
22
24
|
async function resolveAssets(entries, root) {
|
|
23
|
-
const
|
|
24
|
-
for (const entry of entries) {
|
|
25
|
+
const resolvedEntries = await (0, concurrency_1.mapConcurrent)(entries, concurrency_1.MAX_CONCURRENT_READS, async (entry) => {
|
|
25
26
|
if (!(0, path_1.isSubDirectory)(root, entry.input)) {
|
|
26
27
|
throw new Error(`The ${entry.input} asset path must be within the workspace root.`);
|
|
27
28
|
}
|
|
28
29
|
const cwd = node_path_1.default.resolve(root, entry.input);
|
|
30
|
+
if (!entry.ignore?.length && !(0, tinyglobby_1.isDynamicPattern)(entry.glob)) {
|
|
31
|
+
const src = node_path_1.default.join(cwd, entry.glob);
|
|
32
|
+
if ((0, path_1.isSubDirectory)(cwd, src)) {
|
|
33
|
+
try {
|
|
34
|
+
const stats = await (entry.followSymlinks ? (0, promises_1.stat)(src) : (0, promises_1.lstat)(src));
|
|
35
|
+
if (stats.isFile()) {
|
|
36
|
+
const filePath = entry.flatten ? node_path_1.default.basename(entry.glob) : entry.glob;
|
|
37
|
+
return [{ source: src, destination: node_path_1.default.join(entry.output, filePath) }];
|
|
38
|
+
}
|
|
39
|
+
if (!stats.isSymbolicLink()) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// File does not exist or cannot be accessed.
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
29
49
|
const files = await (0, tinyglobby_1.glob)(entry.glob, {
|
|
30
50
|
cwd,
|
|
31
51
|
dot: true,
|
|
32
52
|
ignore: entry.ignore ? [...exports.DEFAULT_ASSET_IGNORE, ...entry.ignore] : exports.DEFAULT_ASSET_IGNORE,
|
|
33
53
|
followSymbolicLinks: entry.followSymlinks,
|
|
34
54
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return outputFiles;
|
|
55
|
+
return files.map((file) => ({
|
|
56
|
+
source: node_path_1.default.join(cwd, file),
|
|
57
|
+
destination: node_path_1.default.join(entry.output, entry.flatten ? node_path_1.default.basename(file) : file),
|
|
58
|
+
}));
|
|
59
|
+
});
|
|
60
|
+
return resolvedEntries.flat();
|
|
42
61
|
}
|
|
43
62
|
//# sourceMappingURL=resolve-assets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-assets.js","sourceRoot":"","sources":["resolve-assets.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;
|
|
1
|
+
{"version":3,"file":"resolve-assets.js","sourceRoot":"","sources":["resolve-assets.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAaH,sCAqDC;AAhED,+CAA+C;AAC/C,0DAA6B;AAC7B,2CAAoD;AACpD,+CAAoE;AACpE,iCAAwC;AAExC;;GAEG;AACU,QAAA,oBAAoB,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAU,CAAC;AAEnF,KAAK,UAAU,aAAa,CACjC,OAOG,EACH,IAAY;IAEZ,MAAM,eAAe,GAAG,MAAM,IAAA,2BAAa,EAAC,OAAO,EAAE,kCAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACzF,IAAI,CAAC,IAAA,qBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,KAAK,gDAAgD,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,IAAA,6BAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,IAAA,qBAAc,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAA,eAAI,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAC,CAAC;oBACpE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;wBACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBAExE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC3E,CAAC;oBAED,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;wBAC5B,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,6CAA6C;oBAC7C,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAI,EAAC,KAAK,CAAC,IAAI,EAAE;YACnC,GAAG;YACH,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,4BAAoB,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,4BAAoB;YACxF,mBAAmB,EAAE,KAAK,CAAC,cAAc;SAC1C,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,MAAM,EAAE,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;YAC5B,WAAW,EAAE,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACjF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -15,7 +15,7 @@ exports.resolve = resolve;
|
|
|
15
15
|
exports.load = load;
|
|
16
16
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
17
17
|
const node_crypto_1 = require("node:crypto");
|
|
18
|
-
const
|
|
18
|
+
const node_fs_1 = require("node:fs");
|
|
19
19
|
const node_path_1 = require("node:path");
|
|
20
20
|
const node_url_1 = require("node:url");
|
|
21
21
|
/**
|
|
@@ -89,7 +89,7 @@ function resolve(specifier, context, nextResolve) {
|
|
|
89
89
|
parentURL: new URL('index.js', memoryVirtualRootUrl).href,
|
|
90
90
|
});
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
function load(url, context, nextLoad) {
|
|
93
93
|
const { format } = context;
|
|
94
94
|
// Load the file from memory if the URL is based in the virtual root
|
|
95
95
|
if (url.startsWith(memoryVirtualRootUrl)) {
|
|
@@ -111,7 +111,7 @@ async function load(url, context, nextLoad) {
|
|
|
111
111
|
return nextLoad(url, context);
|
|
112
112
|
}
|
|
113
113
|
const filePath = (0, node_url_1.fileURLToPath)(url);
|
|
114
|
-
const fileBytes =
|
|
114
|
+
const fileBytes = (0, node_fs_1.readFileSync)(filePath);
|
|
115
115
|
const source = Buffer.concat([NG_SERVER_MODE_INIT_BYTES, fileBytes]);
|
|
116
116
|
return {
|
|
117
117
|
format,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-hooks.js","sourceRoot":"","sources":["loader-hooks.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AA6BH,gCAUC;AAED,0BA+DC;AAED,oBAuCC;AA/ID,8DAAiC;AACjC,6CAAyC;AACzC
|
|
1
|
+
{"version":3,"file":"loader-hooks.js","sourceRoot":"","sources":["loader-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
const node_module_1 = require("node:module");
|
|
11
|
-
const node_url_1 = require("node:url");
|
|
12
11
|
const node_worker_threads_1 = require("node:worker_threads");
|
|
13
|
-
|
|
12
|
+
const loader_hooks_1 = require("./loader-hooks");
|
|
13
|
+
(0, loader_hooks_1.initialize)(node_worker_threads_1.workerData);
|
|
14
|
+
(0, node_module_1.registerHooks)({ resolve: loader_hooks_1.resolve, load: loader_hooks_1.load });
|
|
14
15
|
//# sourceMappingURL=register-hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-hooks.js","sourceRoot":"","sources":["register-hooks.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,
|
|
1
|
+
{"version":3,"file":"register-hooks.js","sourceRoot":"","sources":["register-hooks.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,6CAA4C;AAC5C,6DAAiD;AACjD,iDAA2D;AAE3D,IAAA,yBAAU,EAAC,gCAAU,CAAC,CAAC;AACvB,IAAA,2BAAa,EAAC,EAAE,OAAO,EAAP,sBAAO,EAAE,IAAI,EAAJ,mBAAI,EAAE,CAAC,CAAC"}
|
package/src/utils/watcher.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
+
import type * as ParcelWatcher from '@parcel/watcher';
|
|
8
9
|
export declare class ChangedFiles {
|
|
9
10
|
readonly added: Set<string>;
|
|
10
11
|
readonly modified: Set<string>;
|
|
@@ -66,3 +67,55 @@ export declare function isPathInside(file: string, dir: string): boolean;
|
|
|
66
67
|
* - `posixPath` must be a normalized POSIX-style path (using forward slashes '/').
|
|
67
68
|
*/
|
|
68
69
|
export declare function extractNodeModulesPackageDir(posixPath: string): string | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Manages `@parcel/watcher` directory subscriptions for watched files located outside the
|
|
72
|
+
* primary `workspaceRoot`.
|
|
73
|
+
*
|
|
74
|
+
* Because `@parcel/watcher` watches directories recursively and macOS limits each process to
|
|
75
|
+
* ~512 concurrent `FSEvents` streams, this manager:
|
|
76
|
+
* - Normalizes external `node_modules` file paths to their package root directory.
|
|
77
|
+
* - Batches synchronous `watchFile` and `removeFile` calls within a microtask before subscribing.
|
|
78
|
+
* - Uses a directory prefix tree to subsume nested child directories and iteratively coalesce
|
|
79
|
+
* deepest branching subdirectories into common ancestors when the subscription budget is exceeded.
|
|
80
|
+
* - Dynamically lowers its subscription budget and coalesces further if `subscribe()` fails on
|
|
81
|
+
* an existing directory due to OS stream limits.
|
|
82
|
+
*/
|
|
83
|
+
export declare class ParcelExternalManager {
|
|
84
|
+
#private;
|
|
85
|
+
/**
|
|
86
|
+
* Creates a new external directory subscription manager for `@parcel/watcher`.
|
|
87
|
+
*
|
|
88
|
+
* @param parcelWatcher The `@parcel/watcher` module.
|
|
89
|
+
* @param options Watcher configuration options.
|
|
90
|
+
* @param rootDirPosix Normalized POSIX path of the primary workspace root.
|
|
91
|
+
* @param rootDirLookupKey Case-normalized lookup key of the primary workspace root.
|
|
92
|
+
* @param isCaseSensitive Whether the filesystem at the workspace root is case-sensitive.
|
|
93
|
+
* @param handleEvents Callback to process incoming `@parcel/watcher` events.
|
|
94
|
+
* @param maxSubscriptions Maximum number of concurrent external directory subscriptions before coalescing.
|
|
95
|
+
*/
|
|
96
|
+
constructor(parcelWatcher: typeof ParcelWatcher, options: WatcherOptions | undefined, rootDirPosix: string, rootDirLookupKey: string, isCaseSensitive: boolean, handleEvents: (events: ParcelWatcher.Event[]) => void, maxSubscriptions?: number);
|
|
97
|
+
/**
|
|
98
|
+
* Registers a file path to be watched if it resides outside the primary workspace root,
|
|
99
|
+
* and schedules an asynchronous subscription reconciliation pass if needed.
|
|
100
|
+
*
|
|
101
|
+
* @param posixPath Normalized POSIX file path preserving original casing.
|
|
102
|
+
* @param lookupKey Case-normalized lookup key for the file path.
|
|
103
|
+
*/
|
|
104
|
+
watchFile(posixPath: string, lookupKey: string): void;
|
|
105
|
+
/**
|
|
106
|
+
* Unregisters a previously watched external file and schedules a reconciliation pass
|
|
107
|
+
* if it was the last watched file in its target directory.
|
|
108
|
+
*
|
|
109
|
+
* @param lookupKey Case-normalized lookup key for the file path to remove.
|
|
110
|
+
*/
|
|
111
|
+
removeFile(lookupKey: string): void;
|
|
112
|
+
/**
|
|
113
|
+
* Waits for any scheduled or in-progress subscription reconciliation pass to complete.
|
|
114
|
+
*/
|
|
115
|
+
flush(): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* Closes the manager, awaiting any pending reconciliation and unsubscribing all active
|
|
118
|
+
* external directory subscriptions.
|
|
119
|
+
*/
|
|
120
|
+
close(): Promise<void>;
|
|
121
|
+
}
|