@nomicfoundation/hardhat-utils 4.0.4 → 4.1.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/CHANGELOG.md +24 -0
- package/dist/src/debug.d.ts +40 -8
- package/dist/src/debug.d.ts.map +1 -1
- package/dist/src/debug.js +54 -18
- package/dist/src/debug.js.map +1 -1
- package/dist/src/fast-semver.d.ts +49 -0
- package/dist/src/fast-semver.d.ts.map +1 -0
- package/dist/src/fast-semver.js +73 -0
- package/dist/src/fast-semver.js.map +1 -0
- package/dist/src/fs.d.ts +57 -0
- package/dist/src/fs.d.ts.map +1 -1
- package/dist/src/fs.js +200 -25
- package/dist/src/fs.js.map +1 -1
- package/dist/src/internal/debug.d.ts +35 -0
- package/dist/src/internal/debug.d.ts.map +1 -0
- package/dist/src/internal/debug.js +91 -0
- package/dist/src/internal/debug.js.map +1 -0
- package/dist/src/internal/fs.d.ts +12 -0
- package/dist/src/internal/fs.d.ts.map +1 -0
- package/dist/src/internal/fs.js +42 -0
- package/dist/src/internal/fs.js.map +1 -0
- package/dist/src/runtime.d.ts +13 -0
- package/dist/src/runtime.d.ts.map +1 -0
- package/dist/src/runtime.js +34 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/subprocess.d.ts +2 -0
- package/dist/src/subprocess.d.ts.map +1 -1
- package/dist/src/subprocess.js +1 -0
- package/dist/src/subprocess.js.map +1 -1
- package/dist/src/synchronization.d.ts +97 -0
- package/dist/src/synchronization.d.ts.map +1 -1
- package/dist/src/synchronization.js +171 -2
- package/dist/src/synchronization.js.map +1 -1
- package/package.json +4 -4
- package/src/debug.ts +73 -28
- package/src/fast-semver.ts +95 -0
- package/src/fs.ts +272 -35
- package/src/internal/debug.ts +119 -0
- package/src/internal/fs.ts +57 -0
- package/src/runtime.ts +45 -0
- package/src/subprocess.ts +2 -0
- package/src/synchronization.ts +211 -3
package/dist/src/fs.js
CHANGED
|
@@ -6,6 +6,188 @@ import { JSONParser } from "@streamparser/json-node";
|
|
|
6
6
|
import { JsonStreamStringify } from "json-stream-stringify";
|
|
7
7
|
import { ensureError, ensureNodeErrnoExceptionError } from "./error.js";
|
|
8
8
|
import { FileNotFoundError, FileSystemAccessError, InvalidFileFormatError, JsonSerializationError, FileAlreadyExistsError, NotADirectoryError, IsDirectoryError, DirectoryNotEmptyError, } from "./errors/fs.js";
|
|
9
|
+
import { isDirectoryDirentAware, readdirWithFileTypesOrEmpty, } from "./internal/fs.js";
|
|
10
|
+
const AMBIGUOUS_CASING_DIR_ENTRY = Symbol("ambiguous");
|
|
11
|
+
/**
|
|
12
|
+
* Resolves paths to their true (on-disk) casing, caching directory listings
|
|
13
|
+
* and resolutions so repeated lookups against the same directories don't re-hit
|
|
14
|
+
* the filesystem.
|
|
15
|
+
*
|
|
16
|
+
* Intended to be used in hot paths where the same `from` directories are seen
|
|
17
|
+
* over and over.
|
|
18
|
+
*
|
|
19
|
+
* Does not resolve symbolic links.
|
|
20
|
+
*
|
|
21
|
+
* This class caches successful resolutions internally, and may do some
|
|
22
|
+
* duplicate work when multiple concurrent lookups for the same path are made
|
|
23
|
+
* before the first one finishes. It does not cache failed resolutions as
|
|
24
|
+
* negative result entries, but it does cache directory listings, so filesystem
|
|
25
|
+
* changes may not be observed until `clear()` is called. After `clear()`,
|
|
26
|
+
* previously cached directory and resolution data is discarded. If profiling
|
|
27
|
+
* shows that this work duplication is a problem, we can either cache in-flight
|
|
28
|
+
* operations, or add a mutex.
|
|
29
|
+
*/
|
|
30
|
+
export class TrueCasePathResolver {
|
|
31
|
+
/**
|
|
32
|
+
* A cache of DirEntries for the directories we've seen, keyed by their
|
|
33
|
+
* normalized absolute path as read. For example, if the same physical
|
|
34
|
+
* directory is read as `/a/foo` and `/a/Foo`, each path gets its own entry.
|
|
35
|
+
*/
|
|
36
|
+
#dirCache = new Map();
|
|
37
|
+
/**
|
|
38
|
+
* A cache of successful resolutions, grouped by their `from` trusted starting
|
|
39
|
+
* directory.
|
|
40
|
+
*
|
|
41
|
+
* The outer key is the normalized absolute `from` path, and the inner key is
|
|
42
|
+
* the normalized `relativePath`.
|
|
43
|
+
*
|
|
44
|
+
* This keeps paths like `/a/B` + `foo.ts` distinct from `/a` + `B/foo.ts`,
|
|
45
|
+
* even if they point to the same location.
|
|
46
|
+
*/
|
|
47
|
+
#resultCache = new Map();
|
|
48
|
+
/**
|
|
49
|
+
* Determines the true-case path of a given relative path from a specified
|
|
50
|
+
* directory, without resolving symbolic links.
|
|
51
|
+
*
|
|
52
|
+
* Note that the casing of the `from` path is not checked against the
|
|
53
|
+
* filesystem, and is trusted as-is. This avoids unnecessary directory
|
|
54
|
+
* listings for every ancestor of `from`, which can result in permission
|
|
55
|
+
* errors for directories that are otherwise accessible.
|
|
56
|
+
*
|
|
57
|
+
* @param from The absolute path of the directory to start the search from.
|
|
58
|
+
* @param relativePath The relative path to get the true case of.
|
|
59
|
+
* @returns The true case of the relative path. Returns an empty string if
|
|
60
|
+
* relativePath points to from.
|
|
61
|
+
* @throws FileNotFoundError if the starting directory or the relative path
|
|
62
|
+
* doesn't exist or is ambiguous.
|
|
63
|
+
* @throws NotADirectoryError if the starting directory, or an intermediate
|
|
64
|
+
* segment, is not a directory.
|
|
65
|
+
* @throws FileSystemAccessError for any other error.
|
|
66
|
+
*/
|
|
67
|
+
async getFileTrueCase(from, relativePath) {
|
|
68
|
+
const absoluteFrom = path.resolve(from);
|
|
69
|
+
if (path.normalize(relativePath) === ".") {
|
|
70
|
+
// There's no casing to resolve, but we still read `from` so that callers
|
|
71
|
+
// get the documented FileNotFoundError / NotADirectoryError if it
|
|
72
|
+
// doesn't exist or isn't a directory.
|
|
73
|
+
await this.#getDirEntries(absoluteFrom);
|
|
74
|
+
return "";
|
|
75
|
+
}
|
|
76
|
+
const resolved = await this.#resolveFrom(absoluteFrom, relativePath);
|
|
77
|
+
const resolvedRelativePath = path.relative(absoluteFrom, resolved);
|
|
78
|
+
if (resolvedRelativePath === ".." ||
|
|
79
|
+
resolvedRelativePath.startsWith(`..${path.sep}`) ||
|
|
80
|
+
path.isAbsolute(resolvedRelativePath)) {
|
|
81
|
+
throw new FileNotFoundError(path.resolve(absoluteFrom, relativePath));
|
|
82
|
+
}
|
|
83
|
+
return resolvedRelativePath;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Clears all cached directory listings and resolutions.
|
|
87
|
+
*/
|
|
88
|
+
clear() {
|
|
89
|
+
this.#dirCache.clear();
|
|
90
|
+
this.#resultCache.clear();
|
|
91
|
+
}
|
|
92
|
+
async #resolveFrom(from, relativePath) {
|
|
93
|
+
const fromCacheKey = this.#getResultFromCacheKey(from);
|
|
94
|
+
const relativePathCacheKey = this.#getResultRelativePathCacheKey(relativePath);
|
|
95
|
+
const cached = this.#resultCache
|
|
96
|
+
.get(fromCacheKey)
|
|
97
|
+
?.get(relativePathCacheKey);
|
|
98
|
+
if (cached !== undefined) {
|
|
99
|
+
return cached;
|
|
100
|
+
}
|
|
101
|
+
const resolved = await this.#doResolveFrom(from, relativePath);
|
|
102
|
+
let resultsFromCache = this.#resultCache.get(fromCacheKey);
|
|
103
|
+
if (resultsFromCache === undefined) {
|
|
104
|
+
resultsFromCache = new Map();
|
|
105
|
+
this.#resultCache.set(fromCacheKey, resultsFromCache);
|
|
106
|
+
}
|
|
107
|
+
resultsFromCache.set(relativePathCacheKey, resolved);
|
|
108
|
+
return resolved;
|
|
109
|
+
}
|
|
110
|
+
async #doResolveFrom(from, relativePath) {
|
|
111
|
+
let currentPath = from;
|
|
112
|
+
const segments = path
|
|
113
|
+
.normalize(relativePath)
|
|
114
|
+
.split(path.sep)
|
|
115
|
+
.filter((s) => s.length > 0 || s === ".");
|
|
116
|
+
for (const requestedName of segments) {
|
|
117
|
+
if (requestedName === "..") {
|
|
118
|
+
currentPath = path.join(currentPath, requestedName);
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
const entries = await this.#getDirEntries(currentPath);
|
|
122
|
+
const actualName = this.#lookupChild(entries, requestedName);
|
|
123
|
+
if (actualName === undefined) {
|
|
124
|
+
throw new FileNotFoundError(path.resolve(from, relativePath));
|
|
125
|
+
}
|
|
126
|
+
currentPath = path.join(currentPath, actualName);
|
|
127
|
+
}
|
|
128
|
+
return currentPath;
|
|
129
|
+
}
|
|
130
|
+
async #getDirEntries(dirPath) {
|
|
131
|
+
const cacheKey = this.#getDirCacheKey(dirPath);
|
|
132
|
+
const cached = this.#dirCache.get(cacheKey);
|
|
133
|
+
if (cached !== undefined) {
|
|
134
|
+
return cached;
|
|
135
|
+
}
|
|
136
|
+
const entries = await this.#readDirEntries(dirPath);
|
|
137
|
+
this.#dirCache.set(cacheKey, entries);
|
|
138
|
+
return entries;
|
|
139
|
+
}
|
|
140
|
+
async #readDirEntries(dirPath) {
|
|
141
|
+
const names = await readdir(dirPath);
|
|
142
|
+
const exactNames = new Set();
|
|
143
|
+
const caseFoldedNames = new Map();
|
|
144
|
+
for (const name of names) {
|
|
145
|
+
exactNames.add(name);
|
|
146
|
+
const folded = this.#caseFold(name);
|
|
147
|
+
const previous = caseFoldedNames.get(folded);
|
|
148
|
+
if (previous === undefined) {
|
|
149
|
+
caseFoldedNames.set(folded, name);
|
|
150
|
+
}
|
|
151
|
+
else if (previous !== name) {
|
|
152
|
+
caseFoldedNames.set(folded, AMBIGUOUS_CASING_DIR_ENTRY);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return { exactNames, caseFoldedNames };
|
|
156
|
+
}
|
|
157
|
+
#lookupChild(entries, requestedName) {
|
|
158
|
+
if (entries.exactNames.has(requestedName)) {
|
|
159
|
+
return requestedName;
|
|
160
|
+
}
|
|
161
|
+
const candidate = entries.caseFoldedNames.get(this.#caseFold(requestedName));
|
|
162
|
+
if (candidate === undefined || candidate === AMBIGUOUS_CASING_DIR_ENTRY) {
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
165
|
+
return candidate;
|
|
166
|
+
}
|
|
167
|
+
#getResultFromCacheKey(from) {
|
|
168
|
+
return path.normalize(from);
|
|
169
|
+
}
|
|
170
|
+
#getResultRelativePathCacheKey(relativePath) {
|
|
171
|
+
return path.normalize(relativePath);
|
|
172
|
+
}
|
|
173
|
+
#getDirCacheKey(dirPath) {
|
|
174
|
+
return path.normalize(dirPath);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Returns a case-folded version of the given name, which can be thought of as
|
|
178
|
+
* a "normalized uppercase" form. This is used to implement case-insensitive
|
|
179
|
+
* comparisons.
|
|
180
|
+
*
|
|
181
|
+
* This is not an exact match with what every filesystem would do, but a good
|
|
182
|
+
* enough approximation for our purposes.
|
|
183
|
+
*
|
|
184
|
+
* @param name The name to fold.
|
|
185
|
+
* @returns The case-folded version of the name.
|
|
186
|
+
*/
|
|
187
|
+
#caseFold(name) {
|
|
188
|
+
return name.normalize("NFC").toUpperCase();
|
|
189
|
+
}
|
|
190
|
+
}
|
|
9
191
|
/**
|
|
10
192
|
* Determines the canonical pathname for a given path, resolving any symbolic
|
|
11
193
|
* links, and returns it.
|
|
@@ -39,10 +221,10 @@ export async function getRealPath(absolutePath) {
|
|
|
39
221
|
* @throws FileSystemAccessError for any other error.
|
|
40
222
|
*/
|
|
41
223
|
export async function getAllFilesMatching(dirFrom, matches, directoryFilter) {
|
|
42
|
-
const dirContent = await
|
|
43
|
-
const results = await Promise.all(dirContent.map(async (
|
|
44
|
-
const absolutePathToFile = path.join(dirFrom,
|
|
45
|
-
if (await
|
|
224
|
+
const dirContent = await readdirWithFileTypesOrEmpty(dirFrom);
|
|
225
|
+
const results = await Promise.all(dirContent.map(async (dirent) => {
|
|
226
|
+
const absolutePathToFile = path.join(dirFrom, dirent.name);
|
|
227
|
+
if (await isDirectoryDirentAware(absolutePathToFile, dirent)) {
|
|
46
228
|
if (directoryFilter === undefined ||
|
|
47
229
|
(await directoryFilter(absolutePathToFile))) {
|
|
48
230
|
return await getAllFilesMatching(absolutePathToFile, matches, directoryFilter);
|
|
@@ -74,10 +256,10 @@ export async function getAllFilesMatching(dirFrom, matches, directoryFilter) {
|
|
|
74
256
|
* @throws FileSystemAccessError for any other error.
|
|
75
257
|
*/
|
|
76
258
|
export async function getAllDirectoriesMatching(dirFrom, matches) {
|
|
77
|
-
const dirContent = await
|
|
78
|
-
const results = await Promise.all(dirContent.map(async (
|
|
79
|
-
const absolutePathToFile = path.join(dirFrom,
|
|
80
|
-
if (!(await
|
|
259
|
+
const dirContent = await readdirWithFileTypesOrEmpty(dirFrom);
|
|
260
|
+
const results = await Promise.all(dirContent.map(async (dirent) => {
|
|
261
|
+
const absolutePathToFile = path.join(dirFrom, dirent.name);
|
|
262
|
+
if (!(await isDirectoryDirentAware(absolutePathToFile, dirent))) {
|
|
81
263
|
return [];
|
|
82
264
|
}
|
|
83
265
|
if (matches === undefined || (await matches(absolutePathToFile))) {
|
|
@@ -97,21 +279,10 @@ export async function getAllDirectoriesMatching(dirFrom, matches) {
|
|
|
97
279
|
* @throws FileNotFoundError if the starting directory or the relative path doesn't exist.
|
|
98
280
|
* @throws NotADirectoryError if the starting directory is not a directory.
|
|
99
281
|
* @throws FileSystemAccessError for any other error.
|
|
282
|
+
* @deprecated Use {@link TrueCasePathResolver} instead.
|
|
100
283
|
*/
|
|
101
284
|
export async function getFileTrueCase(from, relativePath) {
|
|
102
|
-
|
|
103
|
-
const segments = relativePath.split(path.sep);
|
|
104
|
-
const nextDir = segments[0];
|
|
105
|
-
const nextDirLowerCase = nextDir.toLowerCase();
|
|
106
|
-
for (const dirEntry of dirEntries) {
|
|
107
|
-
if (dirEntry.toLowerCase() === nextDirLowerCase) {
|
|
108
|
-
if (segments.length === 1) {
|
|
109
|
-
return dirEntry;
|
|
110
|
-
}
|
|
111
|
-
return path.join(dirEntry, await getFileTrueCase(path.join(from, dirEntry), path.relative(nextDir, relativePath)));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
throw new FileNotFoundError(path.join(from, relativePath));
|
|
285
|
+
return await new TrueCasePathResolver().getFileTrueCase(from, relativePath);
|
|
115
286
|
}
|
|
116
287
|
/**
|
|
117
288
|
* Checks if a given path is a directory.
|
|
@@ -392,13 +563,17 @@ export async function readdir(absolutePathToDir) {
|
|
|
392
563
|
}
|
|
393
564
|
}
|
|
394
565
|
/**
|
|
395
|
-
*
|
|
566
|
+
* Reads a directory and returns its content as an array of strings, returning
|
|
567
|
+
* an empty array if the directory doesn't exist.
|
|
396
568
|
*
|
|
397
|
-
* @
|
|
569
|
+
* @param absolutePathToDir The path to the directory.
|
|
570
|
+
* @returns An array of strings with the names of the files and directories in the directory, and an empty array if the directory doesn't exist.
|
|
571
|
+
* @throws NotADirectoryError if the path is not a directory.
|
|
572
|
+
* @throws FileSystemAccessError for any other error.
|
|
398
573
|
*/
|
|
399
|
-
async function readdirOrEmpty(
|
|
574
|
+
export async function readdirOrEmpty(absolutePathToDir) {
|
|
400
575
|
try {
|
|
401
|
-
return await readdir(
|
|
576
|
+
return await readdir(absolutePathToDir);
|
|
402
577
|
}
|
|
403
578
|
catch (error) {
|
|
404
579
|
if (error instanceof FileNotFoundError) {
|
package/dist/src/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { DebugLogger } from "../debug.js";
|
|
2
|
+
export declare const NOOP: DebugLogger;
|
|
3
|
+
interface ParsedPatterns {
|
|
4
|
+
include: RegExp[];
|
|
5
|
+
exclude: RegExp[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Parses a `DEBUG`-style pattern string into include/exclude regex lists.
|
|
9
|
+
* Patterns prefixed with `-` go into `exclude`; everything else into `include`.
|
|
10
|
+
*
|
|
11
|
+
* Results are memoized against the last-seen `env` string, since
|
|
12
|
+
* `process.env.DEBUG` is effectively constant within a process and
|
|
13
|
+
* `createDebug` is called many times at startup.
|
|
14
|
+
*/
|
|
15
|
+
export declare function parsePatterns(env: string): ParsedPatterns;
|
|
16
|
+
/**
|
|
17
|
+
* Checks whether a namespace is enabled under the given `DEBUG` pattern string.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isEnabled(namespace: string, env: string): boolean;
|
|
20
|
+
export declare const COLORS: readonly number[];
|
|
21
|
+
/**
|
|
22
|
+
* Picks an ANSI 256-colour code for a namespace, deterministic from its
|
|
23
|
+
* characters.
|
|
24
|
+
*
|
|
25
|
+
* Uses a 32-bit FNV-1a hash followed by an xorshift finalizer. The finalizer
|
|
26
|
+
* improves bit avalanche so the low bits used by `% COLORS.length`
|
|
27
|
+
* distribute Hardhat's namespaces more evenly across the palette.
|
|
28
|
+
*/
|
|
29
|
+
export declare function selectColor(namespace: string): number;
|
|
30
|
+
/**
|
|
31
|
+
* Reports whether ANSI colours should be used, honouring `DEBUG_COLORS` and TTY.
|
|
32
|
+
*/
|
|
33
|
+
export declare function useColors(): boolean;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/internal/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,IAAI,EAAE,WAGlB,CAAC;AAEF,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAID;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAsBzD;AAeD;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAWjE;AAID,eAAO,MAAM,MAAM,EAAE,SAAS,MAAM,EAInC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAiBrD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAKnC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export const NOOP = Object.assign((_format, ..._args) => { }, { enabled: false });
|
|
2
|
+
let cached;
|
|
3
|
+
/**
|
|
4
|
+
* Parses a `DEBUG`-style pattern string into include/exclude regex lists.
|
|
5
|
+
* Patterns prefixed with `-` go into `exclude`; everything else into `include`.
|
|
6
|
+
*
|
|
7
|
+
* Results are memoized against the last-seen `env` string, since
|
|
8
|
+
* `process.env.DEBUG` is effectively constant within a process and
|
|
9
|
+
* `createDebug` is called many times at startup.
|
|
10
|
+
*/
|
|
11
|
+
export function parsePatterns(env) {
|
|
12
|
+
if (cached !== undefined && cached.env === env) {
|
|
13
|
+
return cached.parsed;
|
|
14
|
+
}
|
|
15
|
+
const include = [];
|
|
16
|
+
const exclude = [];
|
|
17
|
+
for (const raw of env.split(/[\s,]+/)) {
|
|
18
|
+
if (raw === "") {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (raw.startsWith("-")) {
|
|
22
|
+
exclude.push(namespaceToRegExp(raw.slice(1)));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
include.push(namespaceToRegExp(raw));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const parsed = { include, exclude };
|
|
29
|
+
cached = { env, parsed };
|
|
30
|
+
return parsed;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Converts a `DEBUG`-style namespace pattern into an anchored regex.
|
|
34
|
+
* Regex metacharacters are escaped to match literally, and `*` is translated
|
|
35
|
+
* into `.*?` so it behaves as a glob wildcard.
|
|
36
|
+
*/
|
|
37
|
+
function namespaceToRegExp(namespace) {
|
|
38
|
+
const escaped = namespace
|
|
39
|
+
.replace(/[.+?^${}()|[\]\\]/g, "\\$&")
|
|
40
|
+
.replace(/\*/g, ".*?");
|
|
41
|
+
return new RegExp(`^${escaped}$`);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Checks whether a namespace is enabled under the given `DEBUG` pattern string.
|
|
45
|
+
*/
|
|
46
|
+
export function isEnabled(namespace, env) {
|
|
47
|
+
if (env === "") {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const { include, exclude } = parsePatterns(env);
|
|
51
|
+
return (!exclude.some((p) => p.test(namespace)) &&
|
|
52
|
+
include.some((p) => p.test(namespace)));
|
|
53
|
+
}
|
|
54
|
+
// `debug@4`'s 76-colour 256-palette with the red and red-orange families
|
|
55
|
+
// stripped, so red stays reserved for error output.
|
|
56
|
+
export const COLORS = [
|
|
57
|
+
20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68,
|
|
58
|
+
69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134,
|
|
59
|
+
135, 148, 149, 178, 179, 184, 185, 201, 214, 215, 220, 221,
|
|
60
|
+
];
|
|
61
|
+
/**
|
|
62
|
+
* Picks an ANSI 256-colour code for a namespace, deterministic from its
|
|
63
|
+
* characters.
|
|
64
|
+
*
|
|
65
|
+
* Uses a 32-bit FNV-1a hash followed by an xorshift finalizer. The finalizer
|
|
66
|
+
* improves bit avalanche so the low bits used by `% COLORS.length`
|
|
67
|
+
* distribute Hardhat's namespaces more evenly across the palette.
|
|
68
|
+
*/
|
|
69
|
+
export function selectColor(namespace) {
|
|
70
|
+
let hash = 0x811c9dc5;
|
|
71
|
+
for (let i = 0; i < namespace.length; i++) {
|
|
72
|
+
// eslint-disable-next-line no-bitwise -- FNV-1a hash
|
|
73
|
+
hash ^= namespace.charCodeAt(i);
|
|
74
|
+
hash = Math.imul(hash, 0x01000193);
|
|
75
|
+
}
|
|
76
|
+
// xorshift finalizer for better avalanche on the low bits
|
|
77
|
+
/* eslint-disable no-bitwise -- xorshift finalizer */
|
|
78
|
+
hash ^= hash >>> 16;
|
|
79
|
+
hash = Math.imul(hash, 0x85ebca6b);
|
|
80
|
+
hash ^= hash >>> 13;
|
|
81
|
+
/* eslint-enable no-bitwise */
|
|
82
|
+
return COLORS[Math.abs(hash) % COLORS.length];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Reports whether ANSI colours should be used, honouring `DEBUG_COLORS` and TTY.
|
|
86
|
+
*/
|
|
87
|
+
export function useColors() {
|
|
88
|
+
const isDisabled = process.env.DEBUG_COLORS === "no" || process.env.DEBUG_COLORS === "false";
|
|
89
|
+
return !isDisabled && process.stderr.isTTY === true;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/internal/debug.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAgB,MAAM,CAAC,MAAM,CAC5C,CAAC,OAAgB,EAAE,GAAG,KAAgB,EAAQ,EAAE,GAAE,CAAC,EACnD,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;AAOF,IAAI,MAA2D,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpD,MAAM,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,MAAM,OAAO,GAAG,SAAS;SACtB,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;SACrC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEzB,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,SAAiB,EAAE,GAAW;IACtD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAEhD,OAAO,CACL,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,oDAAoD;AACpD,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC1E,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IAC3E,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CAC3D,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,IAAI,IAAI,GAAG,UAAU,CAAC;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,qDAAqD;QACrD,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,0DAA0D;IAC1D,qDAAqD;IACrD,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;IACpB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACnC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;IACpB,8BAA8B;IAE9B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,OAAO,CAAC;IAE5E,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Dirent } from "node:fs";
|
|
2
|
+
/**
|
|
3
|
+
* Like `readdirOrEmpty`, but returns `Dirent` entries to know if an entry is a
|
|
4
|
+
* directory or not without an extra `lstat` syscall.
|
|
5
|
+
*/
|
|
6
|
+
export declare function readdirWithFileTypesOrEmpty(dirFrom: string): Promise<Dirent[]>;
|
|
7
|
+
/**
|
|
8
|
+
* Determines if a dirent refers to a directory, falling back to `lstat` only
|
|
9
|
+
* when the dirent type is unknown.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isDirectoryDirentAware(absolutePath: string, dirent: Dirent): Promise<boolean>;
|
|
12
|
+
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/internal/fs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAQtC;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import fsPromises from "node:fs/promises";
|
|
2
|
+
import { ensureNodeErrnoExceptionError } from "../error.js";
|
|
3
|
+
import { FileSystemAccessError, NotADirectoryError } from "../errors/fs.js";
|
|
4
|
+
import { isDirectory } from "../fs.js";
|
|
5
|
+
/**
|
|
6
|
+
* Like `readdirOrEmpty`, but returns `Dirent` entries to know if an entry is a
|
|
7
|
+
* directory or not without an extra `lstat` syscall.
|
|
8
|
+
*/
|
|
9
|
+
export async function readdirWithFileTypesOrEmpty(dirFrom) {
|
|
10
|
+
try {
|
|
11
|
+
return await fsPromises.readdir(dirFrom, { withFileTypes: true });
|
|
12
|
+
}
|
|
13
|
+
catch (e) {
|
|
14
|
+
ensureNodeErrnoExceptionError(e);
|
|
15
|
+
if (e.code === "ENOENT") {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
if (e.code === "ENOTDIR") {
|
|
19
|
+
throw new NotADirectoryError(dirFrom, e);
|
|
20
|
+
}
|
|
21
|
+
throw new FileSystemAccessError(e.message, e);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Determines if a dirent refers to a directory, falling back to `lstat` only
|
|
26
|
+
* when the dirent type is unknown.
|
|
27
|
+
*/
|
|
28
|
+
export async function isDirectoryDirentAware(absolutePath, dirent) {
|
|
29
|
+
if (dirent.isDirectory()) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
if (dirent.isFile() ||
|
|
33
|
+
dirent.isSymbolicLink() ||
|
|
34
|
+
dirent.isBlockDevice() ||
|
|
35
|
+
dirent.isCharacterDevice() ||
|
|
36
|
+
dirent.isFIFO() ||
|
|
37
|
+
dirent.isSocket()) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
return await isDirectory(absolutePath);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/internal/fs.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAe;IAEf,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,6BAA6B,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAoB,EACpB,MAAc;IAEd,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,MAAM,CAAC,MAAM,EAAE;QACf,MAAM,CAAC,cAAc,EAAE;QACvB,MAAM,CAAC,aAAa,EAAE;QACtB,MAAM,CAAC,iBAAiB,EAAE;QAC1B,MAAM,CAAC,MAAM,EAAE;QACf,MAAM,CAAC,QAAQ,EAAE,EACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface RuntimeInfo {
|
|
2
|
+
runtime: "bun" | "deno" | "node";
|
|
3
|
+
version: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Detects the JavaScript runtime environment (Node.js, Deno, Bun, or unknown)
|
|
7
|
+
* and its version.
|
|
8
|
+
*
|
|
9
|
+
* @returns An object containing the runtime type and version, or `undefined`
|
|
10
|
+
* if the runtime cannot be detected.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getRuntimeInfo(): RuntimeInfo | undefined;
|
|
13
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,SAAS,CA4BxD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detects the JavaScript runtime environment (Node.js, Deno, Bun, or unknown)
|
|
3
|
+
* and its version.
|
|
4
|
+
*
|
|
5
|
+
* @returns An object containing the runtime type and version, or `undefined`
|
|
6
|
+
* if the runtime cannot be detected.
|
|
7
|
+
*/
|
|
8
|
+
export function getRuntimeInfo() {
|
|
9
|
+
// Deno
|
|
10
|
+
const deno = globalThis.Deno;
|
|
11
|
+
if (typeof deno === "object" && deno?.version?.deno !== undefined) {
|
|
12
|
+
return {
|
|
13
|
+
runtime: "deno",
|
|
14
|
+
version: deno.version.deno,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
// Bun: this should be checked before Node.js since Bun also defines
|
|
18
|
+
// `process.versions.node`
|
|
19
|
+
if (typeof process !== "undefined" && process.versions?.bun !== undefined) {
|
|
20
|
+
return {
|
|
21
|
+
runtime: "bun",
|
|
22
|
+
version: process.versions.bun,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
// Node
|
|
26
|
+
if (typeof process !== "undefined" && process.versions?.node !== undefined) {
|
|
27
|
+
return {
|
|
28
|
+
runtime: "node",
|
|
29
|
+
version: process.versions.node,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO;IACP,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SAC3B,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,0BAA0B;IAC1B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;QAC1E,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO;IACP,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3E,OAAO;YACL,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;SAC/B,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/src/subprocess.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../src/subprocess.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../src/subprocess.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC/B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,4BAA4B,EAAE,MAAM,EACpC,IAAI,GAAE,MAAM,EAAO,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC/B,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
package/dist/src/subprocess.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { SubprocessFileNotFoundError, SubprocessPathIsDirectoryError, } from "./errors/subprocess.js";
|
|
3
3
|
import { exists, isDirectory } from "./fs.js";
|
|
4
|
+
export { SubprocessFileNotFoundError, SubprocessPathIsDirectoryError };
|
|
4
5
|
/**
|
|
5
6
|
* Spawns a detached subprocess to execute a given file with optional arguments.
|
|
6
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../src/subprocess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,4BAAoC,EACpC,OAAiB,EAAE,EACnB,MAA8B,EAAE;IAEhC,IAAI,CAAC,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,2BAA2B,CAAC,4BAA4B,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,MAAM,WAAW,CAAC,4BAA4B,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/D,MAAM,IAAI,8BAA8B,CAAC,4BAA4B,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,4BAA4B,EAAE,GAAG,IAAI,CAAC,CAAC;IAE/D,IAAI,4BAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE;QACzD,QAAQ,EAAE,IAAI;QACd,GAAG;QACH,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../src/subprocess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,4BAAoC,EACpC,OAAiB,EAAE,EACnB,MAA8B,EAAE;IAEhC,IAAI,CAAC,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC3D,MAAM,IAAI,2BAA2B,CAAC,4BAA4B,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,MAAM,WAAW,CAAC,4BAA4B,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/D,MAAM,IAAI,8BAA8B,CAAC,4BAA4B,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,4BAA4B,EAAE,GAAG,IAAI,CAAC,CAAC;IAE/D,IAAI,4BAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE;QACzD,QAAQ,EAAE,IAAI;QACd,GAAG;QACH,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC"}
|