@tapjs/processinfo 2.5.6 → 3.0.1
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/README.md +5 -5
- package/dist/cjs/argv-to-node-options.d.ts.map +1 -1
- package/dist/cjs/argv-to-node-options.js.map +1 -1
- package/dist/cjs/child_process.d.ts.map +1 -1
- package/dist/cjs/child_process.js.map +1 -1
- package/dist/cjs/find-source-map-safe.d.ts.map +1 -1
- package/dist/cjs/find-source-map-safe.js.map +1 -1
- package/dist/cjs/get-exclude.d.ts.map +1 -1
- package/dist/cjs/get-exclude.js.map +1 -1
- package/dist/cjs/get-import-meta-url-cjs.d.ts.map +1 -0
- package/dist/cjs/get-import-meta-url-cjs.js.map +1 -0
- package/dist/cjs/get-import-meta-url.d.ts +2 -0
- package/dist/cjs/get-import-meta-url.js +13 -0
- package/dist/cjs/get-main.d.ts +3 -0
- package/dist/cjs/get-main.d.ts.map +1 -0
- package/dist/cjs/get-main.js +20 -0
- package/dist/cjs/get-main.js.map +1 -0
- package/dist/cjs/get-process-info.d.ts +1 -21
- package/dist/cjs/get-process-info.d.ts.map +1 -1
- package/dist/cjs/get-process-info.js +21 -16
- package/dist/cjs/get-process-info.js.map +1 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/json-file.d.ts.map +1 -1
- package/dist/cjs/json-file.js.map +1 -1
- package/dist/cjs/line-lengths.d.ts +2 -1
- package/dist/cjs/line-lengths.d.ts.map +1 -1
- package/dist/cjs/line-lengths.js +4 -0
- package/dist/cjs/line-lengths.js.map +1 -1
- package/dist/cjs/loader-paths.d.ts +4 -4
- package/dist/cjs/loader-paths.d.ts.map +1 -1
- package/dist/cjs/loader-paths.js +19 -27
- package/dist/cjs/loader-paths.js.map +1 -1
- package/dist/cjs/node-options-env.d.ts +1 -1
- package/dist/cjs/node-options-env.d.ts.map +1 -1
- package/dist/cjs/node-options-env.js +69 -42
- package/dist/cjs/node-options-env.js.map +1 -1
- package/dist/cjs/node-options-to-argv.d.ts.map +1 -1
- package/dist/cjs/node-options-to-argv.js.map +1 -1
- package/dist/cjs/process-info-node.d.ts +20 -1
- package/dist/cjs/process-info-node.d.ts.map +1 -1
- package/dist/cjs/process-info-node.js.map +1 -1
- package/dist/cjs/register-cjs.d.ts.map +1 -1
- package/dist/cjs/register-cjs.js.map +1 -1
- package/dist/cjs/register-coverage.d.ts +1 -1
- package/dist/cjs/register-coverage.d.ts.map +1 -1
- package/dist/cjs/register-coverage.js.map +1 -1
- package/dist/cjs/register-env.d.ts.map +1 -1
- package/dist/cjs/register-env.js +5 -2
- package/dist/cjs/register-env.js.map +1 -1
- package/dist/cjs/register-process-end.d.ts.map +1 -1
- package/dist/cjs/register-process-end.js.map +1 -1
- package/dist/cjs/register-require.d.ts +2 -0
- package/dist/cjs/register-require.d.ts.map +1 -0
- package/dist/cjs/register-require.js +27 -0
- package/dist/cjs/register-require.js.map +1 -0
- package/dist/cjs/require-resolve-cjs.d.ts.map +1 -1
- package/dist/cjs/require-resolve-cjs.js.map +1 -1
- package/dist/cjs/spawn-opts.d.ts.map +1 -1
- package/dist/cjs/spawn-opts.js +1 -1
- package/dist/cjs/spawn-opts.js.map +1 -1
- package/dist/mjs/argv-to-node-options.d.ts.map +1 -1
- package/dist/mjs/argv-to-node-options.js.map +1 -1
- package/dist/mjs/child_process.d.ts.map +1 -1
- package/dist/mjs/child_process.js.map +1 -1
- package/dist/mjs/esm.d.mts +7 -9
- package/dist/mjs/esm.d.mts.map +1 -1
- package/dist/mjs/esm.mjs +26 -15
- package/dist/mjs/esm.mjs.map +1 -1
- package/dist/mjs/find-source-map-safe.d.ts.map +1 -1
- package/dist/mjs/find-source-map-safe.js.map +1 -1
- package/dist/mjs/get-exclude.d.ts.map +1 -1
- package/dist/mjs/get-exclude.js.map +1 -1
- package/dist/mjs/get-import-meta-url-mjs.d.ts.map +1 -0
- package/dist/mjs/get-import-meta-url-mjs.js.map +1 -0
- package/dist/mjs/get-import-meta-url.d.ts +8 -0
- package/dist/mjs/get-import-meta-url.js +8 -0
- package/dist/mjs/get-main.d.ts +3 -0
- package/dist/mjs/get-main.d.ts.map +1 -0
- package/dist/mjs/get-main.js +16 -0
- package/dist/mjs/get-main.js.map +1 -0
- package/dist/mjs/get-process-info.d.ts +1 -21
- package/dist/mjs/get-process-info.d.ts.map +1 -1
- package/dist/mjs/get-process-info.js +21 -16
- package/dist/mjs/get-process-info.js.map +1 -1
- package/dist/mjs/hooks.d.mts +10 -0
- package/dist/mjs/hooks.d.mts.map +1 -0
- package/dist/mjs/hooks.mjs +86 -0
- package/dist/mjs/hooks.mjs.map +1 -0
- package/dist/mjs/import.d.mts +2 -0
- package/dist/mjs/import.d.mts.map +1 -0
- package/dist/mjs/import.mjs +24 -0
- package/dist/mjs/import.mjs.map +1 -0
- package/dist/mjs/index.d.ts +0 -1
- package/dist/mjs/index.d.ts.map +1 -1
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/json-file.d.ts.map +1 -1
- package/dist/mjs/json-file.js.map +1 -1
- package/dist/mjs/line-lengths.d.ts +2 -1
- package/dist/mjs/line-lengths.d.ts.map +1 -1
- package/dist/mjs/line-lengths.js +4 -0
- package/dist/mjs/line-lengths.js.map +1 -1
- package/dist/mjs/loader-legacy.d.mts +2 -0
- package/dist/mjs/loader-legacy.d.mts.map +1 -0
- package/dist/mjs/loader-legacy.mjs +2 -0
- package/dist/mjs/loader-legacy.mjs.map +1 -0
- package/dist/mjs/loader-paths.d.ts +4 -4
- package/dist/mjs/loader-paths.d.ts.map +1 -1
- package/dist/mjs/loader-paths.js +18 -26
- package/dist/mjs/loader-paths.js.map +1 -1
- package/dist/mjs/loader.d.mts +2 -0
- package/dist/mjs/loader.d.mts.map +1 -0
- package/dist/mjs/loader.mjs +2 -0
- package/dist/mjs/loader.mjs.map +1 -0
- package/dist/mjs/node-options-env.d.ts +1 -1
- package/dist/mjs/node-options-env.d.ts.map +1 -1
- package/dist/mjs/node-options-env.js +67 -43
- package/dist/mjs/node-options-env.js.map +1 -1
- package/dist/mjs/node-options-to-argv.d.ts.map +1 -1
- package/dist/mjs/node-options-to-argv.js.map +1 -1
- package/dist/mjs/process-info-node.d.ts +20 -1
- package/dist/mjs/process-info-node.d.ts.map +1 -1
- package/dist/mjs/process-info-node.js.map +1 -1
- package/dist/mjs/register-coverage.d.ts +1 -1
- package/dist/mjs/register-coverage.d.ts.map +1 -1
- package/dist/mjs/register-coverage.js.map +1 -1
- package/dist/mjs/register-env.d.ts.map +1 -1
- package/dist/mjs/register-env.js +5 -2
- package/dist/mjs/register-env.js.map +1 -1
- package/dist/mjs/register-process-end.d.ts.map +1 -1
- package/dist/mjs/register-process-end.js.map +1 -1
- package/dist/mjs/register-require.d.ts +2 -0
- package/dist/mjs/register-require.d.ts.map +1 -0
- package/dist/mjs/{register-cjs.js → register-require.js} +4 -4
- package/dist/mjs/register-require.js.map +1 -0
- package/dist/mjs/require-resolve-mjs.d.ts.map +1 -0
- package/dist/mjs/require-resolve-mjs.js.map +1 -0
- package/dist/mjs/require-resolve.d.ts +1 -1
- package/dist/mjs/require-resolve.js +1 -1
- package/dist/mjs/spawn-opts.d.ts.map +1 -1
- package/dist/mjs/spawn-opts.js +1 -1
- package/dist/mjs/spawn-opts.js.map +1 -1
- package/package.json +16 -14
- package/dist/cjs/cjs.d.ts +0 -2
- package/dist/cjs/cjs.d.ts.map +0 -1
- package/dist/cjs/cjs.js +0 -5
- package/dist/cjs/cjs.js.map +0 -1
- package/dist/mjs/register-cjs.d.ts +0 -2
- package/dist/mjs/register-cjs.d.ts.map +0 -1
- package/dist/mjs/register-cjs.js.map +0 -1
- package/dist/mjs/require-resolve.d.ts.map +0 -1
- package/dist/mjs/require-resolve.js.map +0 -1
- /package/dist/cjs/{register-cjs.d.ts → register.d.ts} +0 -0
- /package/dist/cjs/{register-cjs.js → register.js} +0 -0
package/dist/cjs/line-lengths.js
CHANGED
|
@@ -9,6 +9,10 @@ const cache = g[kLLC] || new Map();
|
|
|
9
9
|
g[kLLC] = cache;
|
|
10
10
|
const sourceMapComment = '//# sourceMappingURL=';
|
|
11
11
|
const saveLineLengths = (filename, content) => {
|
|
12
|
+
if (content === undefined)
|
|
13
|
+
return;
|
|
14
|
+
if (typeof content === 'object')
|
|
15
|
+
content = String(content);
|
|
12
16
|
if (filename.startsWith('file://'))
|
|
13
17
|
filename = (0, url_1.fileURLToPath)(filename);
|
|
14
18
|
// no need if it's not sourcemapped
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-lengths.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"line-lengths.js","sourceRoot":"","sources":["../../src/line-lengths.ts"],"names":[],"mappings":";AAAA,wEAAwE;;;AAExE,6BAAmC;AAEnC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAC9D,MAAM,CAAC,GAAG,MAET,CAAA;AACD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAoB,CAAA;AACpD,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;AAEf,MAAM,gBAAgB,GAAG,uBAAuB,CAAA;AACzC,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,OAAyB,EAAE,EAAE;IAC7E,IAAI,OAAO,KAAK,SAAS;QAAE,OAAM;IACjC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC1D,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,QAAQ,GAAG,IAAA,mBAAa,EAAC,QAAQ,CAAC,CAAA;IACtE,mCAAmC;IACnC,sEAAsE;IACtE,uDAAuD;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;IAChD,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAM;IACtE,MAAM,EAAE,GAAG,OAAO;SACf,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACrB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAEvB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AACzB,CAAC,CAAA;AAhBY,QAAA,eAAe,mBAgB3B;AAEM,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,EAAE;IACjD,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,QAAQ,GAAG,IAAA,mBAAa,EAAC,QAAQ,CAAC,CAAA;IACtE,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC5B,CAAC,CAAA;AAHY,QAAA,cAAc,kBAG1B","sourcesContent":["// TODO: Refactor once https://github.com/nodejs/node/issues/48460 fixed\n\nimport { fileURLToPath } from 'url'\n\nconst kLLC = Symbol.for('@tapjs/processinfo lineLength cache')\nconst g = global as {\n [kLLC]?: Map<string, number[]>\n}\nconst cache = g[kLLC] || new Map<string, number[]>()\ng[kLLC] = cache\n\nconst sourceMapComment = '//# sourceMappingURL='\nexport const saveLineLengths = (filename: string, content?: string | Buffer) => {\n if (content === undefined) return\n if (typeof content === 'object') content = String(content)\n if (filename.startsWith('file://')) filename = fileURLToPath(filename)\n // no need if it's not sourcemapped\n // don't cache an empty array, though, because ts-node files will show\n // up first as source, and then as their built content.\n const last = content.trimEnd().split('\\n').pop()\n if (cache.has(filename) || !last?.startsWith(sourceMapComment)) return\n const ll = content\n .replace(/[\\n\\u2028\\u2029]$/, '')\n .split(/\\n|\\u2028|\\u2029/)\n .map(l => l.length)\n cache.set(filename, ll)\n\n cache.set(filename, ll)\n}\n\nexport const getLineLengths = (filename: string) => {\n if (filename.startsWith('file://')) filename = fileURLToPath(filename)\n return cache.get(filename)\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
1
|
+
export declare const legacyLoader: string;
|
|
2
|
+
export declare const importLoader: string;
|
|
3
|
+
export declare const legacyMatch: (p: string) => boolean;
|
|
4
|
+
export declare const importMatch: (p: string) => boolean;
|
|
5
5
|
//# sourceMappingURL=loader-paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-paths.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"loader-paths.d.ts","sourceRoot":"","sources":["../../src/loader-paths.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,QAA+C,CAAA;AACxE,eAAO,MAAM,YAAY,QAAwC,CAAA;AAIjE,eAAO,MAAM,WAAW,MAAO,MAAM,KAAG,OASvC,CAAA;AAED,eAAO,MAAM,WAAW,MAAO,MAAM,KAAG,OASvC,CAAA"}
|
package/dist/cjs/loader-paths.js
CHANGED
|
@@ -1,37 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.importMatch = exports.legacyMatch = exports.importLoader = exports.legacyLoader = void 0;
|
|
4
4
|
const path_1 = require("path");
|
|
5
|
-
const
|
|
5
|
+
const get_import_meta_url_js_1 = require("./get-import-meta-url.js");
|
|
6
6
|
const url_1 = require("url");
|
|
7
|
-
exports.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
7
|
+
exports.legacyLoader = (0, get_import_meta_url_js_1.getImportMetaURL)('../mjs/loader-legacy.mjs');
|
|
8
|
+
exports.importLoader = (0, get_import_meta_url_js_1.getImportMetaURL)('../mjs/import.mjs');
|
|
9
|
+
const legacyLoaderPath = (0, url_1.fileURLToPath)(exports.legacyLoader);
|
|
10
|
+
const importLoaderPath = (0, url_1.fileURLToPath)(exports.importLoader);
|
|
11
|
+
const legacyMatch = (p) => {
|
|
12
|
+
const d = p.startsWith('file://')
|
|
13
|
+
? (0, url_1.fileURLToPath)(p)
|
|
14
|
+
: decodeURIComponent(p);
|
|
15
|
+
return (d === '@tapjs/processinfo/loader' ||
|
|
16
|
+
p === exports.legacyLoader ||
|
|
17
|
+
(0, path_1.resolve)(d) === legacyLoaderPath);
|
|
20
18
|
};
|
|
21
|
-
exports.
|
|
22
|
-
const
|
|
19
|
+
exports.legacyMatch = legacyMatch;
|
|
20
|
+
const importMatch = (p) => {
|
|
23
21
|
const d = p.startsWith('file://')
|
|
24
22
|
? (0, url_1.fileURLToPath)(p)
|
|
25
23
|
: decodeURIComponent(p);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
p === exports.esmLoader ||
|
|
30
|
-
res(d) === esmLoaderPath);
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
24
|
+
return (d === '@tapjs/processinfo/import' ||
|
|
25
|
+
p === exports.importLoader ||
|
|
26
|
+
(0, path_1.resolve)(d) === importLoaderPath);
|
|
35
27
|
};
|
|
36
|
-
exports.
|
|
28
|
+
exports.importMatch = importMatch;
|
|
37
29
|
//# sourceMappingURL=loader-paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-paths.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"loader-paths.js","sourceRoot":"","sources":["../../src/loader-paths.ts"],"names":[],"mappings":";;;AAAA,+BAA8B;AAC9B,qEAA2D;AAE3D,6BAAmC;AAEtB,QAAA,YAAY,GAAG,IAAA,yCAAgB,EAAC,0BAA0B,CAAC,CAAA;AAC3D,QAAA,YAAY,GAAG,IAAA,yCAAgB,EAAC,mBAAmB,CAAC,CAAA;AACjE,MAAM,gBAAgB,GAAG,IAAA,mBAAa,EAAC,oBAAY,CAAC,CAAA;AACpD,MAAM,gBAAgB,GAAG,IAAA,mBAAa,EAAC,oBAAY,CAAC,CAAA;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE;IAChD,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,IAAA,mBAAa,EAAC,CAAC,CAAC;QAClB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACzB,OAAO,CACL,CAAC,KAAK,2BAA2B;QACjC,CAAC,KAAK,oBAAY;QAClB,IAAA,cAAO,EAAC,CAAC,CAAC,KAAK,gBAAgB,CAChC,CAAA;AACH,CAAC,CAAA;AATY,QAAA,WAAW,eASvB;AAEM,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE;IAChD,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,IAAA,mBAAa,EAAC,CAAC,CAAC;QAClB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACzB,OAAO,CACL,CAAC,KAAK,2BAA2B;QACjC,CAAC,KAAK,oBAAY;QAClB,IAAA,cAAO,EAAC,CAAC,CAAC,KAAK,gBAAgB,CAChC,CAAA;AACH,CAAC,CAAA;AATY,QAAA,WAAW,eASvB","sourcesContent":["import { resolve } from 'path'\nimport { getImportMetaURL } from './get-import-meta-url.js'\n\nimport { fileURLToPath } from 'url'\n\nexport const legacyLoader = getImportMetaURL('../mjs/loader-legacy.mjs')\nexport const importLoader = getImportMetaURL('../mjs/import.mjs')\nconst legacyLoaderPath = fileURLToPath(legacyLoader)\nconst importLoaderPath = fileURLToPath(importLoader)\n\nexport const legacyMatch = (p: string): boolean => {\n const d = p.startsWith('file://')\n ? fileURLToPath(p)\n : decodeURIComponent(p)\n return (\n d === '@tapjs/processinfo/loader' ||\n p === legacyLoader ||\n resolve(d) === legacyLoaderPath\n )\n}\n\nexport const importMatch = (p: string): boolean => {\n const d = p.startsWith('file://')\n ? fileURLToPath(p)\n : decodeURIComponent(p)\n return (\n d === '@tapjs/processinfo/import' ||\n p === importLoader ||\n resolve(d) === importLoaderPath\n )\n}\n"]}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
4
|
/// <reference types="node" />
|
|
5
|
-
export declare const nodeOptionsEnv: (env: NodeJS.ProcessEnv
|
|
5
|
+
export declare const nodeOptionsEnv: (env: NodeJS.ProcessEnv) => string;
|
|
6
6
|
//# sourceMappingURL=node-options-env.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-options-env.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"node-options-env.d.ts","sourceRoot":"","sources":["../../src/node-options-env.ts"],"names":[],"mappings":";;;;AA4FA,eAAO,MAAM,cAAc,QACpB,OAAO,UAAU,WAIvB,CAAA"}
|
|
@@ -1,64 +1,91 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.nodeOptionsEnv = void 0;
|
|
4
7
|
const argv_to_node_options_js_1 = require("./argv-to-node-options.js");
|
|
5
8
|
const loader_paths_js_1 = require("./loader-paths.js");
|
|
6
9
|
const node_options_to_argv_js_1 = require("./node-options-to-argv.js");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
const node_module_1 = __importDefault(require("node:module"));
|
|
11
|
+
const getKeyValue = (args, i) => {
|
|
12
|
+
const arg = args[i];
|
|
13
|
+
if (arg.includes('=')) {
|
|
14
|
+
const [k, ...rest] = arg.split('=');
|
|
15
|
+
return [true, k, rest.join('=')];
|
|
16
|
+
}
|
|
17
|
+
else if (i < args.length - 1) {
|
|
18
|
+
return [false, arg, args[i + 1]];
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return [false, arg, undefined];
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const useImport = !!node_module_1.default
|
|
25
|
+
.register;
|
|
26
|
+
const addLoader = (args) => {
|
|
27
|
+
const addKey = useImport ? '--import' : '--loader';
|
|
28
|
+
const addValue = useImport ? loader_paths_js_1.importLoader : loader_paths_js_1.legacyLoader;
|
|
29
|
+
const doNotWantKeys = [
|
|
30
|
+
'--experimental-loader',
|
|
31
|
+
useImport ? '--loader' : '--import',
|
|
32
|
+
];
|
|
33
|
+
const test = useImport ? loader_paths_js_1.importMatch : loader_paths_js_1.legacyMatch;
|
|
34
|
+
const added = [];
|
|
35
|
+
let doubledash = false;
|
|
36
|
+
let found = false;
|
|
15
37
|
for (let i = 0; i < args.length; i++) {
|
|
16
38
|
const arg = args[i];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (test(args[i + 1])) {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
continue;
|
|
25
|
-
}
|
|
39
|
+
if (!arg.startsWith('--') || doubledash) {
|
|
40
|
+
added.push(arg);
|
|
41
|
+
continue;
|
|
26
42
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
if (arg === '--') {
|
|
44
|
+
added.push(arg);
|
|
45
|
+
doubledash = true;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
const [eq, k, v] = getKeyValue(args, i);
|
|
49
|
+
if (!v) {
|
|
50
|
+
// wasn't a key-value pair
|
|
51
|
+
added.push(arg);
|
|
52
|
+
continue;
|
|
37
53
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
54
|
+
if (!eq)
|
|
55
|
+
i++;
|
|
56
|
+
if (doNotWantKeys.includes(k) &&
|
|
57
|
+
((0, loader_paths_js_1.importMatch)(v) || (0, loader_paths_js_1.legacyMatch)(v))) {
|
|
58
|
+
// it's ours, but not how we want it, omit
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (k === addKey && test(v)) {
|
|
62
|
+
// already present, don't let it be set multiple times.
|
|
63
|
+
if (found)
|
|
47
64
|
continue;
|
|
48
|
-
|
|
65
|
+
found = true;
|
|
66
|
+
added.push(arg);
|
|
67
|
+
if (!eq)
|
|
68
|
+
added.push(args[i]);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// not ours
|
|
72
|
+
added.push(arg);
|
|
73
|
+
if (!eq)
|
|
74
|
+
added.push(args[i]);
|
|
75
|
+
continue;
|
|
49
76
|
}
|
|
50
77
|
}
|
|
51
|
-
|
|
78
|
+
if (!found)
|
|
79
|
+
added.push(`${addKey}=${addValue}`);
|
|
80
|
+
return !useImport ? addIgnoreLoadersWarning(added) : added;
|
|
52
81
|
};
|
|
53
82
|
const addIgnoreLoadersWarning = (args) => args.includes('--no-warnings') ||
|
|
54
83
|
args.includes('--no-warnings=ExperimentalLoader')
|
|
55
84
|
? args
|
|
56
85
|
: args.concat('--no-warnings=ExperimentalLoader');
|
|
57
|
-
const nodeOptionsEnv = (env
|
|
86
|
+
const nodeOptionsEnv = (env) => {
|
|
58
87
|
const no = (0, node_options_to_argv_js_1.nodeOptionsToArgv)(env.NODE_OPTIONS);
|
|
59
|
-
return (0, argv_to_node_options_js_1.argvToNodeOptions)(
|
|
60
|
-
? addCJS(no)
|
|
61
|
-
: addIgnoreLoadersWarning(addESM(no)));
|
|
88
|
+
return (0, argv_to_node_options_js_1.argvToNodeOptions)(addLoader(no));
|
|
62
89
|
};
|
|
63
90
|
exports.nodeOptionsEnv = nodeOptionsEnv;
|
|
64
91
|
//# sourceMappingURL=node-options-env.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-options-env.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"node-options-env.js","sourceRoot":"","sources":["../../src/node-options-env.ts"],"names":[],"mappings":"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","sourcesContent":["import { argvToNodeOptions } from './argv-to-node-options.js'\nimport {\n legacyLoader,\n legacyMatch,\n importLoader,\n importMatch,\n} from './loader-paths.js'\nimport { nodeOptionsToArgv } from './node-options-to-argv.js'\n\nimport Module from 'node:module'\n\nconst getKeyValue = (\n args: string[],\n i: number\n): [boolean, string, string | undefined] => {\n const arg = args[i]\n if (arg.includes('=')) {\n const [k, ...rest] = arg.split('=')\n return [true, k, rest.join('=')]\n } else if (i < args.length - 1) {\n return [false, arg, args[i + 1]]\n } else {\n return [false, arg, undefined]\n }\n}\n\nconst useImport = !!(Module as { register?: (...a: any[]) => any })\n .register\n\nconst addLoader = (args: string[]) => {\n const addKey = useImport ? '--import' : '--loader'\n const addValue = useImport ? importLoader : legacyLoader\n const doNotWantKeys = [\n '--experimental-loader',\n useImport ? '--loader' : '--import',\n ]\n const test = useImport ? importMatch : legacyMatch\n\n const added: string[] = []\n\n let doubledash = false\n let found = false\n for (let i = 0; i < args.length; i++) {\n const arg = args[i]\n if (!arg.startsWith('--') || doubledash) {\n added.push(arg)\n continue\n }\n if (arg === '--') {\n added.push(arg)\n doubledash = true\n continue\n }\n\n const [eq, k, v] = getKeyValue(args, i)\n if (!v) {\n // wasn't a key-value pair\n added.push(arg)\n continue\n }\n if (!eq) i++\n if (\n doNotWantKeys.includes(k) &&\n (importMatch(v) || legacyMatch(v))\n ) {\n // it's ours, but not how we want it, omit\n continue\n }\n\n if (k === addKey && test(v)) {\n // already present, don't let it be set multiple times.\n if (found) continue\n found = true\n added.push(arg)\n if (!eq) added.push(args[i])\n } else {\n // not ours\n added.push(arg)\n if (!eq) added.push(args[i])\n continue\n }\n }\n if (!found) added.push(`${addKey}=${addValue}`)\n return !useImport ? addIgnoreLoadersWarning(added) : added\n}\n\nconst addIgnoreLoadersWarning = (args: readonly string[]) =>\n args.includes('--no-warnings') ||\n args.includes('--no-warnings=ExperimentalLoader')\n ? args\n : args.concat('--no-warnings=ExperimentalLoader')\n\nexport const nodeOptionsEnv = (\n env: NodeJS.ProcessEnv,\n) => {\n const no = nodeOptionsToArgv(env.NODE_OPTIONS)\n return argvToNodeOptions(addLoader(no))\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-options-to-argv.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"node-options-to-argv.d.ts","sourceRoot":"","sources":["../../src/node-options-to-argv.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,OAAQ,MAAM,GAAG,SAAS,KAAG,MAAM,EAmDhE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-options-to-argv.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"node-options-to-argv.js","sourceRoot":"","sources":["../../src/node-options-to-argv.ts"],"names":[],"mappings":";;;AAAO,MAAM,iBAAiB,GAAG,CAAC,EAAsB,EAAY,EAAE;IACpE,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAA;IAClB,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACtB,QAAQ,CAAC,EAAE;YACT,KAAK,GAAG;gBACN,IAAI,QAAQ,EAAE;oBACZ,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;oBACtC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,QAAQ,GAAG,KAAK,CAAA;iBACjB;qBAAM,IAAI,OAAO,EAAE;oBAClB,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;oBAC5B,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,OAAO,GAAG,KAAK,CAAA;iBAChB;qBAAM;oBACL,OAAO,GAAG,IAAI,CAAA;oBACd,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;oBAC5B,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;iBACjB;gBACD,SAAQ;YAEV,KAAK,IAAI;gBACP,IAAI,OAAO,EAAE;oBACX,QAAQ,GAAG,IAAI,CAAA;iBAChB;gBACD,SAAQ;YAEV,KAAK,GAAG;gBACN,IAAI,OAAO;oBAAE,SAAQ;gBACrB,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;gBAC5B,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACd,GAAG,GAAG,EAAE,CAAA;gBACR,SAAQ;YAEV;gBACE,QAAQ,GAAG,KAAK,CAAA;gBAChB,SAAQ;SACX;KACF;IACD,IAAI,OAAO,EAAE;QACX,OAAO,EAAE,CAAA;KACV;IACD,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACd,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAnDY,QAAA,iBAAiB,qBAmD7B","sourcesContent":["export const nodeOptionsToArgv = (no: string | undefined): string[] => {\n if (!no) return []\n const argv = []\n let escaping = false\n let inquote = false\n let tokStart = 0\n let tok = ''\n for (let i = 0; i < no.length; i++) {\n const c = no.charAt(i)\n switch (c) {\n case '\"':\n if (escaping) {\n tok += no.slice(tokStart, i - 1) + '\"'\n tokStart = i + 1\n escaping = false\n } else if (inquote) {\n tok += no.slice(tokStart, i)\n tokStart = i + 1\n inquote = false\n } else {\n inquote = true\n tok += no.slice(tokStart, i)\n tokStart = i + 1\n }\n continue\n\n case '\\\\':\n if (inquote) {\n escaping = true\n }\n continue\n\n case ' ':\n if (inquote) continue\n tok += no.slice(tokStart, i)\n tokStart = i + 1\n argv.push(tok)\n tok = ''\n continue\n\n default:\n escaping = false\n continue\n }\n }\n if (inquote) {\n return []\n }\n tok += no.slice(tokStart)\n argv.push(tok)\n return argv\n}\n"]}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import type { ProcessInfoNodeData } from './get-process-info.js';
|
|
3
2
|
import type { ProcessInfo } from './index.js';
|
|
3
|
+
export interface ProcessInfoNodeData {
|
|
4
|
+
hrstart?: [number, number];
|
|
5
|
+
date: string;
|
|
6
|
+
argv: string[];
|
|
7
|
+
execArgv: string[];
|
|
8
|
+
NODE_OPTIONS?: string;
|
|
9
|
+
cwd: string;
|
|
10
|
+
pid: number;
|
|
11
|
+
ppid: number;
|
|
12
|
+
parent: string | null;
|
|
13
|
+
uuid: string;
|
|
14
|
+
files: string[];
|
|
15
|
+
sources: Record<string, string[]>;
|
|
16
|
+
root?: string | null;
|
|
17
|
+
externalID?: string | null;
|
|
18
|
+
code?: number | null;
|
|
19
|
+
signal?: NodeJS.Signals | null;
|
|
20
|
+
runtime?: number;
|
|
21
|
+
globalsAdded?: string[];
|
|
22
|
+
}
|
|
4
23
|
export declare class ProcessInfoNode {
|
|
5
24
|
#private;
|
|
6
25
|
date: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-info-node.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"process-info-node.d.ts","sourceRoot":"","sources":["../../src/process-info-node.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,mBAAmB;IAElC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG1B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAGjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,qBAAa,eAAe;;IAC1B,IAAI,EAAG,MAAM,CAAA;IACb,IAAI,EAAG,MAAM,EAAE,CAAA;IACf,QAAQ,EAAG,MAAM,EAAE,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,EAAG,MAAM,CAAA;IACZ,GAAG,EAAG,MAAM,CAAA;IACZ,IAAI,EAAG,MAAM,CAAA;IACb,IAAI,EAAG,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,EAAE,CAAK;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAsB;IACvD,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAO;IACtC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAO;IACpC,QAAQ,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAO;IAC7C,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAO;IAC/C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAO;gBAIpB,IAAI,EAAE,mBAAmB;IAKrC,MAAM;;;IAcN,IAAI,CAAC,EAAE,EAAE,WAAW;CA0ErB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-info-node.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"process-info-node.js","sourceRoot":"","sources":["../../src/process-info-node.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ProcessInfo } from './index.js'\n\nexport interface ProcessInfoNodeData {\n // set initially, but deleted before it is written\n hrstart?: [number, number]\n\n // always set\n date: string\n argv: string[]\n execArgv: string[]\n NODE_OPTIONS?: string\n cwd: string\n pid: number\n ppid: number\n parent: string | null\n uuid: string\n files: string[]\n sources: Record<string, string[]>\n\n // fields that are only set when the process completes\n root?: string | null\n externalID?: string | null\n code?: number | null\n signal?: NodeJS.Signals | null\n runtime?: number\n globalsAdded?: string[]\n}\n\nexport class ProcessInfoNode {\n date!: string\n argv!: string[]\n execArgv!: string[]\n NODE_OPTIONS?: string\n cwd!: string\n pid!: number\n ppid!: number\n uuid!: string\n code?: number | null\n signal?: NodeJS.Signals | null\n runtime?: number\n globalsAdded?: string[]\n files: string[] = []\n sources: Record<string, string[]> = Object.create(null)\n parent?: ProcessInfoNode | null = null\n root?: ProcessInfoNode | null = null\n children?: Set<ProcessInfoNode> | null = null\n descendants: Set<ProcessInfoNode> | null = null\n externalID: string | null = null\n\n #data: ProcessInfoNodeData\n\n constructor(data: ProcessInfoNodeData) {\n this.#data = data\n Object.assign(this, data)\n }\n\n toJSON() {\n return Object.fromEntries(\n Object.entries(this)\n .filter(([_, val]) => val !== null && val !== undefined)\n .map(([key, val]) =>\n val instanceof ProcessInfoNode\n ? [key, val.uuid]\n : key === 'children' || key === 'descendants'\n ? [key, [...val].map(c => c.uuid)]\n : [key, val]\n )\n )\n }\n\n link(db: ProcessInfo) {\n db.uuids.set(this.uuid, this)\n if (this.#data.parent) {\n this.parent = db.uuids.get(this.#data.parent) || this.parent\n }\n if (this.#data.root) {\n this.root = db.uuids.get(this.#data.root) ?? this.root\n }\n\n if (this.parent === null) {\n this.root = this\n const pendingRoot = db.pendingRoot.get(this.uuid)\n if (pendingRoot) {\n this.descendants = pendingRoot\n for (const n of pendingRoot) {\n n.root = this\n }\n db.pendingRoot.delete(this.uuid)\n }\n db.roots.add(this)\n } else if (typeof this.root === 'string') {\n const pendingRoot = db.pendingRoot.get(this.root)\n if (pendingRoot) {\n pendingRoot.add(this)\n } else {\n db.pendingRoot.set(this.root, new Set([this]))\n }\n } else if (this.root) {\n this.root.descendants ??= new Set()\n this.root.descendants.add(this)\n }\n\n if (typeof this.parent === 'string') {\n const pendingParent = db.pendingParent.get(this.parent)\n if (pendingParent) {\n pendingParent.add(this)\n } else {\n db.pendingParent.set(this.parent, new Set([this]))\n }\n } else if (this.parent) {\n if (!this.parent.children) {\n this.parent.children = new Set([this])\n } else {\n this.parent.children.add(this)\n }\n }\n\n const pendingParent = db.pendingParent.get(this.uuid)\n if (pendingParent) {\n this.children = pendingParent\n for (const n of this.children) {\n n.parent = this\n }\n db.pendingParent.delete(this.uuid)\n }\n\n for (const f of this.files as string[]) {\n const files = db.files.get(f)\n if (!files) {\n db.files.set(f, new Set<ProcessInfoNode>([this]))\n } else {\n files.add(this)\n }\n }\n\n if (this.externalID) {\n // newer tagged entry wins\n const e = db.externalIDs.get(this.externalID)\n if (e && Date.parse(e.date) > Date.parse(this.date)) {\n return\n }\n db.externalIDs.set(this.externalID, this)\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-cjs.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"register-cjs.d.ts","sourceRoot":"","sources":["../../src/register-cjs.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,QAAQ,YAgBpB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-cjs.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"register-cjs.js","sourceRoot":"","sources":["../../src/register-cjs.ts"],"names":[],"mappings":";;;AAAA,2DAA2D;AAC3D,qCAAiC;AACjC,qDAA6C;AAC7C,+DAAsD;AACtD,uDAAmD;AAEnD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AACjE,MAAM,CAAC,GAAG,MAET,CAAA;AAEM,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,IAAI,CAAC,CAAC,YAAY,CAAC;QAAE,OAAM;IAC3B,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IACtB,wDAAwD;IACxD,MAAM,OAAO,GAAG,IAAA,2BAAU,EAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;IAChE,IAAA,iBAAO,EACL,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;QACjB,IAAA,oCAAc,GAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAA,iCAAe,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC,EACD;QACE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACpD,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC7C,CACF,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,QAAQ,YAgBpB","sourcesContent":["// commonjs style loader hook, modifying require.extensions\nimport { addHook } from 'pirates'\nimport { getExclude } from './get-exclude.js'\nimport { getProcessInfo } from './get-process-info.js'\nimport { saveLineLengths } from './line-lengths.js'\n\nconst kRegisterCJS = Symbol.for('@tapjs/processinfo.registerCJS')\nconst g = global as typeof globalThis & {\n [kRegisterCJS]?: boolean\n}\n\nexport const register = () => {\n if (g[kRegisterCJS]) return\n g[kRegisterCJS] = true\n // by default we include everything in processInfo.files\n const exclude = getExclude('_TAPJS_PROCESSINFO_EXCLUDE_', false)\n addHook(\n (code, filename) => {\n getProcessInfo().files.push(filename)\n saveLineLengths(filename, code)\n return code\n },\n {\n exts: ['.js', '.cjs', '.ts', '.cts', '.jsx', '.tsx'],\n matcher: filename => !exclude.test(filename),\n }\n )\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Session } from 'node:inspector';
|
|
3
|
-
import { ProcessInfoNodeData } from './
|
|
3
|
+
import { ProcessInfoNodeData } from './process-info-node.js';
|
|
4
4
|
export declare let SESSION: Session | undefined;
|
|
5
5
|
export declare const register: () => void;
|
|
6
6
|
export declare const coverageOnProcessEnd: (cwd: string, processInfo: ProcessInfoNodeData) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-coverage.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"register-coverage.d.ts","sourceRoot":"","sources":["../../src/register-coverage.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAMxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAG5D,eAAO,IAAI,OAAO,EAAE,OAAO,GAAG,SAAqB,CAAA;AAmDnD,eAAO,MAAM,QAAQ,YAYpB,CAAA;AAGD,eAAO,MAAM,oBAAoB,QAC1B,MAAM,eACE,mBAAmB,SA2DjC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-coverage.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"register-coverage.js","sourceRoot":"","sources":["../../src/register-coverage.ts"],"names":[],"mappings":"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","sourcesContent":["// start tracking coverage, unless disabled explicltly\n// export so that we know to collect at the end of the process\nconst p = process\nconst enabled = p.env._TAPJS_PROCESSINFO_COVERAGE_ !== '0'\nimport { mkdirSync, writeFileSync } from 'node:fs'\nimport { Session } from 'node:inspector'\nimport { SourceMapPayload } from 'node:module'\nimport { resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { findSourceMapSafe } from './find-source-map-safe.js'\nimport { getExclude } from './get-exclude.js'\nimport { ProcessInfoNodeData } from './process-info-node.js'\nimport { getLineLengths } from './line-lengths.js'\n\nexport let SESSION: Session | undefined = undefined\n\n// NB: coverage exclusion is in addition to processinfo\n// exclusion. Only show coverage for a file we care\n// about at least somewhat, but coverage is a subset.\nconst exclude = getExclude('_TAPJS_PROCESSINFO_COV_EXCLUDE_')\n\n// This is a \\n delimited list of files to show coverage for\n// If not set, or empty, then coverage is included for all files\n// that pass the exclusion RegExp filter. If included in this list,\n// then coverage will be recorded, even if it matches exclude.\nconst cfEnv = p.env._TAPJS_PROCESSINFO_COV_FILES_ || ''\nconst coveredFiles: string[] = cfEnv\n .trim()\n .split('\\n')\n .filter(f => !!f)\nconst fileCovered = (\n f: string,\n s?: SourceMapPayload,\n files: string[] = []\n) => {\n const testFiles = [f]\n if (s) {\n for (const src of s.sources || []) {\n testFiles.push(\n resolve(src.startsWith('file://') ? fileURLToPath(src) : src)\n )\n }\n }\n if (!testFiles.some(f => files.includes(f))) return false\n\n // if at least one of them are explicitly covered, then include it,\n // otherwise omit if we explicitly listed\n if (coveredFiles.length) {\n return testFiles.some(f => coveredFiles.includes(f))\n }\n\n for (const f of testFiles) {\n if (!exclude.test(f)) return true\n }\n return false\n}\n\n// C8 can't see that this function runs, best theory is that it\n// collides with what it's doing with the coverage it's collecting\n// This ignore can possibly be removed once this is being tested\n// with a version of tap that uses this library, but it might just\n// be an unresolveable bootstrap problem.\n// The test does verify that it ran, because otherwise, there would\n// be no coverage, and it verifies that it gets the expected coverage.\n/* c8 ignore start */\nexport const register = () => {\n if (!enabled) return\n p.env._TAPJS_PROCESSINFO_COVERAGE_ = '1'\n\n SESSION = new Session()\n SESSION.connect()\n SESSION.post('Profiler.enable')\n SESSION.post('Runtime.enable')\n SESSION.post('Profiler.startPreciseCoverage', {\n callCount: true,\n detailed: true,\n })\n}\n/* c8 ignore stop */\n\nexport const coverageOnProcessEnd = (\n cwd: string,\n processInfo: ProcessInfoNodeData\n) => {\n // Similar to the coverage tracking bootstrap problem above, c8\n // doesn't see that this function runs, even though it DOES see\n // that the function defined below runs, which is weird.\n /* c8 ignore start */\n if (!SESSION) return\n const session = SESSION\n\n const f = `${cwd}/.tap/coverage/${processInfo.uuid}.json`\n mkdirSync(`${cwd}/.tap/coverage`, { recursive: true })\n\n session.post('Profiler.takePreciseCoverage', (er, cov) => {\n session.post('Profiler.stopPreciseCoverage')\n /* c8 ignore stop */\n\n // something very strange and bad happened\n /* c8 ignore start */\n if (er) {\n throw er\n }\n /* c8 ignore stop */\n\n // Create a source-map-cache that c8 uses in report generation\n const sourceMapCache: {\n [k: string]: {\n lineLengths: number[]\n data: SourceMapPayload\n }\n } = {}\n Object.assign(cov, {\n 'source-map-cache': sourceMapCache,\n })\n\n cov.result = cov.result.filter(obj => {\n if (!/^file:/.test(obj.url)) {\n return false\n }\n const f = fileURLToPath(obj.url)\n // see if it has a source map\n // need to look up via the url, not the file path, because mocks\n // attach a tapmock search param, which is in node's internal key.\n const s = findSourceMapSafe(String(obj.url))\n if (!fileCovered(f, s?.payload, processInfo.files)) {\n return false\n }\n const { payload } = s || { payload: null }\n if (payload) {\n sourceMapCache[obj.url] = Object.assign(Object.create(null), {\n lineLengths: getLineLengths(f),\n data: payload,\n })\n }\n return true\n })\n\n writeFileSync(f, JSON.stringify(cov, null, 2) + '\\n', 'utf8')\n /* c8 ignore start */\n })\n}\n/* c8 ignore stop */\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-env.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"register-env.d.ts","sourceRoot":"","sources":["../../src/register-env.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,QAAQ,YAQpB,CAAA"}
|
package/dist/cjs/register-env.js
CHANGED
|
@@ -16,12 +16,15 @@ const getEnvs = (env) => {
|
|
|
16
16
|
return Object.fromEntries(Object.entries(p.env)
|
|
17
17
|
.filter(([k]) => !(env && hasOwnProperty.call(env, k)) && envRE.test(k))
|
|
18
18
|
.concat([
|
|
19
|
-
['NODE_OPTIONS', (0, node_options_env_js_1.nodeOptionsEnv)(
|
|
19
|
+
['NODE_OPTIONS', (0, node_options_env_js_1.nodeOptionsEnv)(env?.NODE_OPTIONS ? env : p.env)],
|
|
20
20
|
]));
|
|
21
21
|
};
|
|
22
22
|
const register = () => {
|
|
23
23
|
process_on_spawn_1.default.addListener(obj => {
|
|
24
|
-
obj.env =
|
|
24
|
+
obj.env = {
|
|
25
|
+
...(obj.env || p.env),
|
|
26
|
+
...getEnvs(obj.env),
|
|
27
|
+
};
|
|
25
28
|
return obj;
|
|
26
29
|
});
|
|
27
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-env.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"register-env.js","sourceRoot":"","sources":["../../src/register-env.ts"],"names":[],"mappings":";;;;;;AAAA,wEAA6C;AAC7C,+DAAsD;AAEtD,MAAM,CAAC,GAAG,OAAO,CAAA;AACjB,MAAM,KAAK,GAAG,sBAAsB,CAAA;AACpC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,SAAS,CAAA;AAE3C,MAAM,OAAO,GAAG,CAAC,GAAuB,EAAE,EAAE;IAC1C,kEAAkE;IAClE,yBAAyB;IACzB,kEAAkE;IAClE,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;SAClB,MAAM,CACL,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAChE;SACA,MAAM,CAAC;QACN,CAAC,cAAc,EAAE,IAAA,oCAAc,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KAClE,CAAC,CACL,CAAA;AACH,CAAC,CAAA;AAEM,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,0BAAc,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;QAC/B,GAAG,CAAC,GAAG,GAAG;YACR,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;YACrB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;SACpB,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AARY,QAAA,QAAQ,YAQpB","sourcesContent":["import processOnSpawn from 'process-on-spawn'\nimport { nodeOptionsEnv } from './node-options-env.js'\n\nconst p = process\nconst envRE = /^_TAPJS_PROCESSINFO_/\nconst { hasOwnProperty } = Object.prototype\n\nconst getEnvs = (env?: NodeJS.ProcessEnv) => {\n // load it here so that it isn't cached before the loader attaches\n // in self-test scenario.\n // copy all of OUR envs, if not specifically set on the env object\n return Object.fromEntries(\n Object.entries(p.env)\n .filter(\n ([k]) => !(env && hasOwnProperty.call(env, k)) && envRE.test(k)\n )\n .concat([\n ['NODE_OPTIONS', nodeOptionsEnv(env?.NODE_OPTIONS ? env : p.env)],\n ])\n )\n}\n\nexport const register = () => {\n processOnSpawn.addListener(obj => {\n obj.env = {\n ...(obj.env || p.env),\n ...getEnvs(obj.env),\n }\n return obj\n })\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-process-end.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"register-process-end.d.ts","sourceRoot":"","sources":["../../src/register-process-end.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,QAAQ,YAsCpB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-process-end.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"register-process-end.js","sourceRoot":"","sources":["../../src/register-process-end.ts"],"names":[],"mappings":"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","sourcesContent":["import { onExit } from 'signal-exit'\nimport { getProcessInfo } from './get-process-info.js'\n\nimport { mkdirSync, writeFileSync } from 'fs'\nimport { SourceMap } from 'module'\nimport { fileURLToPath } from 'url'\nimport { findSourceMapSafe } from './find-source-map-safe.js'\nimport { coverageOnProcessEnd } from './register-coverage.js'\n\nconst proc = process\n\nconst cwd = proc.env._TAPJS_PROCESSINFO_CWD_ || proc.cwd()\nproc.env._TAPJS_PROCESSINFO_CWD_ = cwd\nconst globals = new Set(Object.keys(global))\n\nconst sourceMaps = new Map<string, SourceMap>()\n\nexport const register = () => {\n onExit(\n (code, signal) => {\n const processInfo = getProcessInfo()\n processInfo.code = code\n processInfo.signal = signal\n const runtime = proc.hrtime(processInfo.hrstart)\n delete processInfo.hrstart\n processInfo.files = [...new Set(processInfo.files)]\n // try to find the actual sources of the files we loaded\n // This can't be done up front, because the sourcemap isn't\n // present during the load phase, since it's in the contents.\n for (const file of processInfo.files) {\n const sm = sourceMaps.get(file) || findSourceMapSafe(file)\n if (sm && !sourceMaps.has(file)) sourceMaps.set(file, sm)\n const sources = sm?.payload.sources?.map(\n s =>\n // it SHOULD always start with file://, but could in theory\n // be literally any string.\n /* c8 ignore start */\n s.startsWith('file://') ? fileURLToPath(s) : s\n /* c8 ignore stop */\n )\n if (sources) processInfo.sources[file] = sources\n }\n processInfo.runtime = runtime[0] * 1e3 + runtime[1] / 1e6\n const globalsAdded = Object.keys(global).filter(k => !globals.has(k))\n if (globalsAdded.length) {\n processInfo.globalsAdded = globalsAdded\n }\n\n const f = `${cwd}/.tap/processinfo/${processInfo.uuid}.json`\n mkdirSync(`${cwd}/.tap/processinfo`, { recursive: true })\n writeFileSync(f, JSON.stringify(processInfo, null, 2) + '\\n', 'utf8')\n coverageOnProcessEnd(cwd, processInfo)\n },\n { alwaysLast: true }\n )\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-require.d.ts","sourceRoot":"","sources":["../../src/register-require.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,QAAQ,YAgBpB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.register = void 0;
|
|
4
|
+
// commonjs style loader hook, modifying require.extensions
|
|
5
|
+
const pirates_1 = require("pirates");
|
|
6
|
+
const get_exclude_js_1 = require("./get-exclude.js");
|
|
7
|
+
const get_process_info_js_1 = require("./get-process-info.js");
|
|
8
|
+
const line_lengths_js_1 = require("./line-lengths.js");
|
|
9
|
+
const kRegisterRequire = Symbol.for('@tapjs/processinfo.registerRequire');
|
|
10
|
+
const g = global;
|
|
11
|
+
const register = () => {
|
|
12
|
+
if (g[kRegisterRequire])
|
|
13
|
+
return;
|
|
14
|
+
g[kRegisterRequire] = true;
|
|
15
|
+
// by default we include everything in processInfo.files
|
|
16
|
+
const exclude = (0, get_exclude_js_1.getExclude)('_TAPJS_PROCESSINFO_EXCLUDE_', false);
|
|
17
|
+
(0, pirates_1.addHook)((code, filename) => {
|
|
18
|
+
(0, get_process_info_js_1.getProcessInfo)().files.push(filename);
|
|
19
|
+
(0, line_lengths_js_1.saveLineLengths)(filename, code);
|
|
20
|
+
return code;
|
|
21
|
+
}, {
|
|
22
|
+
exts: ['.js', '.cjs', '.ts', '.cts', '.jsx', '.tsx'],
|
|
23
|
+
matcher: filename => !exclude.test(filename),
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
exports.register = register;
|
|
27
|
+
//# sourceMappingURL=register-require.js.map
|