@tapjs/processinfo 3.1.0 → 3.1.2
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/dist/commonjs/find-source-map-safe.d.ts +4 -0
- package/dist/{cjs → commonjs}/find-source-map-safe.d.ts.map +1 -1
- package/dist/commonjs/find-source-map-safe.js +26 -0
- package/dist/commonjs/find-source-map-safe.js.map +1 -0
- package/dist/{cjs → commonjs}/get-exclude.d.ts.map +1 -1
- package/dist/commonjs/get-exclude.js.map +1 -0
- package/dist/commonjs/get-import-meta-url-cjs.cjs.map +1 -0
- package/dist/commonjs/get-import-meta-url-cjs.d.cts.map +1 -0
- package/dist/{cjs → commonjs}/get-import-meta-url.d.ts +1 -1
- package/dist/commonjs/get-import-meta-url.d.ts.map +1 -0
- package/dist/{cjs → commonjs}/get-import-meta-url.js +1 -1
- package/dist/commonjs/get-import-meta-url.js.map +1 -0
- package/dist/{cjs → commonjs}/index.d.ts.map +1 -1
- package/dist/{cjs → commonjs}/index.js +6 -4
- package/dist/commonjs/index.js.map +1 -0
- package/dist/{cjs → commonjs}/loader-paths.js +2 -2
- package/dist/{cjs → commonjs}/loader-paths.js.map +1 -1
- package/dist/{cjs → commonjs}/node-options-env.d.ts.map +1 -1
- package/dist/{cjs → commonjs}/node-options-env.js +14 -4
- package/dist/commonjs/node-options-env.js.map +1 -0
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/path-to-url.d.ts +2 -0
- package/dist/commonjs/path-to-url.d.ts.map +1 -0
- package/dist/commonjs/path-to-url.js +11 -0
- package/dist/commonjs/path-to-url.js.map +1 -0
- package/dist/{cjs → commonjs}/register-coverage.js +1 -1
- package/dist/commonjs/register-coverage.js.map +1 -0
- package/dist/{cjs → commonjs}/register-process-end.d.ts.map +1 -1
- package/dist/{cjs → commonjs}/register-process-end.js +2 -15
- package/dist/commonjs/register-process-end.js.map +1 -0
- package/dist/commonjs/set-sources.d.ts +2 -0
- package/dist/commonjs/set-sources.d.ts.map +1 -0
- package/dist/commonjs/set-sources.js +20 -0
- package/dist/commonjs/set-sources.js.map +1 -0
- package/dist/commonjs/url-to-path.d.ts +2 -0
- package/dist/commonjs/url-to-path.d.ts.map +1 -0
- package/dist/commonjs/url-to-path.js +7 -0
- package/dist/commonjs/url-to-path.js.map +1 -0
- package/dist/{mjs → esm}/child_process.d.ts +4 -4
- package/dist/esm/find-source-map-safe.d.ts +4 -0
- package/dist/{mjs → esm}/find-source-map-safe.d.ts.map +1 -1
- package/dist/esm/find-source-map-safe.js +22 -0
- package/dist/esm/find-source-map-safe.js.map +1 -0
- package/dist/{mjs → esm}/get-exclude.d.ts.map +1 -1
- package/dist/esm/get-exclude.js.map +1 -0
- package/dist/{mjs → esm}/get-import-meta-url.d.ts +1 -1
- package/dist/esm/get-import-meta-url.d.ts.map +1 -0
- package/dist/esm/get-import-meta-url.js +10 -0
- package/dist/esm/get-import-meta-url.js.map +1 -0
- package/dist/{mjs → esm}/hooks.mjs +3 -3
- package/dist/{mjs → esm}/hooks.mjs.map +1 -1
- package/dist/{mjs → esm}/index.d.ts.map +1 -1
- package/dist/{mjs → esm}/index.js +6 -4
- package/dist/esm/index.js.map +1 -0
- package/dist/{mjs → esm}/line-lengths.d.ts +1 -1
- package/dist/{mjs → esm}/loader-paths.js +2 -2
- package/dist/{mjs → esm}/loader-paths.js.map +1 -1
- package/dist/esm/node-options-env.d.ts +6 -0
- package/dist/{mjs → esm}/node-options-env.d.ts.map +1 -1
- package/dist/{mjs → esm}/node-options-env.js +14 -4
- package/dist/esm/node-options-env.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/path-to-url.d.ts +2 -0
- package/dist/esm/path-to-url.d.ts.map +1 -0
- package/dist/esm/path-to-url.js +7 -0
- package/dist/esm/path-to-url.js.map +1 -0
- package/dist/{mjs → esm}/process-info-node.d.ts +1 -1
- package/dist/{mjs → esm}/register-coverage.d.ts +1 -1
- package/dist/{mjs → esm}/register-coverage.js +1 -1
- package/dist/esm/register-coverage.js.map +1 -0
- package/dist/{mjs → esm}/register-process-end.d.ts.map +1 -1
- package/dist/{mjs → esm}/register-process-end.js +2 -15
- package/dist/esm/register-process-end.js.map +1 -0
- package/dist/esm/set-sources.d.ts +2 -0
- package/dist/esm/set-sources.d.ts.map +1 -0
- package/dist/esm/set-sources.js +16 -0
- package/dist/esm/set-sources.js.map +1 -0
- package/dist/esm/url-to-path.d.ts +2 -0
- package/dist/esm/url-to-path.d.ts.map +1 -0
- package/dist/esm/url-to-path.js +3 -0
- package/dist/esm/url-to-path.js.map +1 -0
- package/package.json +30 -21
- package/dist/cjs/find-source-map-safe.d.ts +0 -3
- package/dist/cjs/find-source-map-safe.js +0 -15
- package/dist/cjs/find-source-map-safe.js.map +0 -1
- package/dist/cjs/get-exclude.js.map +0 -1
- package/dist/cjs/get-import-meta-url-cjs.d.ts.map +0 -1
- package/dist/cjs/get-import-meta-url-cjs.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/node-options-env.js.map +0 -1
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/register-cjs.d.ts.map +0 -1
- package/dist/cjs/register-cjs.js.map +0 -1
- package/dist/cjs/register-coverage.js.map +0 -1
- package/dist/cjs/register-process-end.js.map +0 -1
- package/dist/cjs/register.d.ts +0 -2
- package/dist/cjs/register.js +0 -27
- package/dist/cjs/require-resolve-cjs.d.ts.map +0 -1
- package/dist/cjs/require-resolve-cjs.js.map +0 -1
- package/dist/cjs/require-resolve.d.ts +0 -3
- package/dist/cjs/require-resolve.js +0 -9
- package/dist/mjs/esm.d.mts +0 -9
- package/dist/mjs/esm.d.mts.map +0 -1
- package/dist/mjs/esm.mjs +0 -83
- package/dist/mjs/esm.mjs.map +0 -1
- package/dist/mjs/find-source-map-safe.d.ts +0 -3
- package/dist/mjs/find-source-map-safe.js +0 -11
- package/dist/mjs/find-source-map-safe.js.map +0 -1
- package/dist/mjs/get-exclude.js.map +0 -1
- package/dist/mjs/get-import-meta-url-mjs.d.ts.map +0 -1
- package/dist/mjs/get-import-meta-url-mjs.js.map +0 -1
- package/dist/mjs/get-import-meta-url.js +0 -8
- package/dist/mjs/index.js.map +0 -1
- package/dist/mjs/node-options-env.d.ts +0 -6
- package/dist/mjs/node-options-env.js.map +0 -1
- package/dist/mjs/package.json +0 -3
- package/dist/mjs/register-coverage.js.map +0 -1
- package/dist/mjs/register-process-end.js.map +0 -1
- package/dist/mjs/require-resolve-mjs.d.ts.map +0 -1
- package/dist/mjs/require-resolve-mjs.js.map +0 -1
- package/dist/mjs/require-resolve.d.ts +0 -3
- package/dist/mjs/require-resolve.js +0 -9
- /package/dist/{cjs → commonjs}/argv-to-node-options.d.ts +0 -0
- /package/dist/{cjs → commonjs}/argv-to-node-options.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/argv-to-node-options.js +0 -0
- /package/dist/{cjs → commonjs}/argv-to-node-options.js.map +0 -0
- /package/dist/{cjs → commonjs}/child_process.d.ts +0 -0
- /package/dist/{cjs → commonjs}/child_process.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/child_process.js +0 -0
- /package/dist/{cjs → commonjs}/child_process.js.map +0 -0
- /package/dist/{cjs → commonjs}/get-exclude.d.ts +0 -0
- /package/dist/{cjs → commonjs}/get-exclude.js +0 -0
- /package/dist/{cjs → commonjs}/get-main.d.ts +0 -0
- /package/dist/{cjs → commonjs}/get-main.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/get-main.js +0 -0
- /package/dist/{cjs → commonjs}/get-main.js.map +0 -0
- /package/dist/{cjs → commonjs}/get-process-info.d.ts +0 -0
- /package/dist/{cjs → commonjs}/get-process-info.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/get-process-info.js +0 -0
- /package/dist/{cjs → commonjs}/get-process-info.js.map +0 -0
- /package/dist/{cjs → commonjs}/index.d.ts +0 -0
- /package/dist/{cjs → commonjs}/json-file.d.ts +0 -0
- /package/dist/{cjs → commonjs}/json-file.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/json-file.js +0 -0
- /package/dist/{cjs → commonjs}/json-file.js.map +0 -0
- /package/dist/{cjs → commonjs}/line-lengths.d.ts +0 -0
- /package/dist/{cjs → commonjs}/line-lengths.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/line-lengths.js +0 -0
- /package/dist/{cjs → commonjs}/line-lengths.js.map +0 -0
- /package/dist/{cjs → commonjs}/loader-paths.d.ts +0 -0
- /package/dist/{cjs → commonjs}/loader-paths.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/node-options-env.d.ts +0 -0
- /package/dist/{cjs → commonjs}/node-options-to-argv.d.ts +0 -0
- /package/dist/{cjs → commonjs}/node-options-to-argv.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/node-options-to-argv.js +0 -0
- /package/dist/{cjs → commonjs}/node-options-to-argv.js.map +0 -0
- /package/dist/{cjs → commonjs}/process-info-node.d.ts +0 -0
- /package/dist/{cjs → commonjs}/process-info-node.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/process-info-node.js +0 -0
- /package/dist/{cjs → commonjs}/process-info-node.js.map +0 -0
- /package/dist/{cjs → commonjs}/register-coverage.d.ts +0 -0
- /package/dist/{cjs → commonjs}/register-coverage.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/register-env.d.ts +0 -0
- /package/dist/{cjs → commonjs}/register-env.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/register-env.js +0 -0
- /package/dist/{cjs → commonjs}/register-env.js.map +0 -0
- /package/dist/{cjs → commonjs}/register-process-end.d.ts +0 -0
- /package/dist/{cjs → commonjs}/register-require.d.ts +0 -0
- /package/dist/{cjs → commonjs}/register-require.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/register-require.js +0 -0
- /package/dist/{cjs → commonjs}/register-require.js.map +0 -0
- /package/dist/{cjs → commonjs}/spawn-opts.d.ts +0 -0
- /package/dist/{cjs → commonjs}/spawn-opts.d.ts.map +0 -0
- /package/dist/{cjs → commonjs}/spawn-opts.js +0 -0
- /package/dist/{cjs → commonjs}/spawn-opts.js.map +0 -0
- /package/dist/{mjs → esm}/argv-to-node-options.d.ts +0 -0
- /package/dist/{mjs → esm}/argv-to-node-options.d.ts.map +0 -0
- /package/dist/{mjs → esm}/argv-to-node-options.js +0 -0
- /package/dist/{mjs → esm}/argv-to-node-options.js.map +0 -0
- /package/dist/{mjs → esm}/child_process.d.ts.map +0 -0
- /package/dist/{mjs → esm}/child_process.js +0 -0
- /package/dist/{mjs → esm}/child_process.js.map +0 -0
- /package/dist/{mjs → esm}/get-exclude.d.ts +0 -0
- /package/dist/{mjs → esm}/get-exclude.js +0 -0
- /package/dist/{mjs → esm}/get-main.d.ts +0 -0
- /package/dist/{mjs → esm}/get-main.d.ts.map +0 -0
- /package/dist/{mjs → esm}/get-main.js +0 -0
- /package/dist/{mjs → esm}/get-main.js.map +0 -0
- /package/dist/{mjs → esm}/get-process-info.d.ts +0 -0
- /package/dist/{mjs → esm}/get-process-info.d.ts.map +0 -0
- /package/dist/{mjs → esm}/get-process-info.js +0 -0
- /package/dist/{mjs → esm}/get-process-info.js.map +0 -0
- /package/dist/{mjs → esm}/hooks.d.mts +0 -0
- /package/dist/{mjs → esm}/hooks.d.mts.map +0 -0
- /package/dist/{mjs → esm}/import.d.mts +0 -0
- /package/dist/{mjs → esm}/import.d.mts.map +0 -0
- /package/dist/{mjs → esm}/import.mjs +0 -0
- /package/dist/{mjs → esm}/import.mjs.map +0 -0
- /package/dist/{mjs → esm}/index.d.ts +0 -0
- /package/dist/{mjs → esm}/json-file.d.ts +0 -0
- /package/dist/{mjs → esm}/json-file.d.ts.map +0 -0
- /package/dist/{mjs → esm}/json-file.js +0 -0
- /package/dist/{mjs → esm}/json-file.js.map +0 -0
- /package/dist/{mjs → esm}/line-lengths.d.ts.map +0 -0
- /package/dist/{mjs → esm}/line-lengths.js +0 -0
- /package/dist/{mjs → esm}/line-lengths.js.map +0 -0
- /package/dist/{mjs → esm}/loader-legacy.d.mts +0 -0
- /package/dist/{mjs → esm}/loader-legacy.d.mts.map +0 -0
- /package/dist/{mjs → esm}/loader-legacy.mjs +0 -0
- /package/dist/{mjs → esm}/loader-legacy.mjs.map +0 -0
- /package/dist/{mjs → esm}/loader-paths.d.ts +0 -0
- /package/dist/{mjs → esm}/loader-paths.d.ts.map +0 -0
- /package/dist/{mjs → esm}/loader.d.mts +0 -0
- /package/dist/{mjs → esm}/loader.d.mts.map +0 -0
- /package/dist/{mjs → esm}/loader.mjs +0 -0
- /package/dist/{mjs → esm}/loader.mjs.map +0 -0
- /package/dist/{mjs → esm}/node-options-to-argv.d.ts +0 -0
- /package/dist/{mjs → esm}/node-options-to-argv.d.ts.map +0 -0
- /package/dist/{mjs → esm}/node-options-to-argv.js +0 -0
- /package/dist/{mjs → esm}/node-options-to-argv.js.map +0 -0
- /package/dist/{mjs → esm}/process-info-node.d.ts.map +0 -0
- /package/dist/{mjs → esm}/process-info-node.js +0 -0
- /package/dist/{mjs → esm}/process-info-node.js.map +0 -0
- /package/dist/{mjs → esm}/register-coverage.d.ts.map +0 -0
- /package/dist/{mjs → esm}/register-env.d.ts +0 -0
- /package/dist/{mjs → esm}/register-env.d.ts.map +0 -0
- /package/dist/{mjs → esm}/register-env.js +0 -0
- /package/dist/{mjs → esm}/register-env.js.map +0 -0
- /package/dist/{mjs → esm}/register-process-end.d.ts +0 -0
- /package/dist/{mjs → esm}/register-require.d.ts +0 -0
- /package/dist/{mjs → esm}/register-require.d.ts.map +0 -0
- /package/dist/{mjs → esm}/register-require.js +0 -0
- /package/dist/{mjs → esm}/register-require.js.map +0 -0
- /package/dist/{mjs → esm}/spawn-opts.d.ts +0 -0
- /package/dist/{mjs → esm}/spawn-opts.d.ts.map +0 -0
- /package/dist/{mjs → esm}/spawn-opts.js +0 -0
- /package/dist/{mjs → esm}/spawn-opts.js.map +0 -0
|
@@ -115,8 +115,9 @@ export class ProcessInfo {
|
|
|
115
115
|
continue;
|
|
116
116
|
/* c8 ignore stop */
|
|
117
117
|
promises.push(tryStat(f, stats));
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
const src = node.sources[f];
|
|
119
|
+
if (src) {
|
|
120
|
+
for (const s of src) {
|
|
120
121
|
/* c8 ignore start */
|
|
121
122
|
if (stats.has(s))
|
|
122
123
|
continue;
|
|
@@ -145,10 +146,11 @@ export class ProcessInfo {
|
|
|
145
146
|
let c = Number(st.mtime) > p;
|
|
146
147
|
if (!c)
|
|
147
148
|
continue;
|
|
148
|
-
|
|
149
|
+
const src = node.sources[f];
|
|
150
|
+
if (!src?.length)
|
|
149
151
|
return true;
|
|
150
152
|
else {
|
|
151
|
-
for (const s of
|
|
153
|
+
for (const s of src) {
|
|
152
154
|
const sst = stats.get(s);
|
|
153
155
|
if (!sst || Number(sst.mtime) > p) {
|
|
154
156
|
return true;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n exec,\n execFile,\n execFileSync,\n execSync,\n fork,\n spawn,\n spawnSync,\n} from './child_process.js'\n\nexport * from './child_process.js'\nexport * from './process-info-node.js'\nexport { WithExternalID } from './spawn-opts.js'\n\nimport { mkdirSync, readdirSync, rmSync, Stats, writeFileSync } from 'fs'\nimport { mkdir, readdir, rm, stat, writeFile } from 'fs/promises'\nimport { basename, resolve } from 'path'\nimport { getExclude } from './get-exclude.js'\nimport { safeJSON, safeJSONSync } from './json-file.js'\nimport { ProcessInfoNode } from './process-info-node.js'\n\nconst p = process\nconst tryStat = async (f: string, stats: Map<string, Stats | null>) => {\n stats.set(f, await stat(f).catch(() => null))\n}\n\nexport class ProcessInfo {\n dir: string\n exclude: RegExp\n roots: Set<ProcessInfoNode> = new Set()\n uuids: Map<string, ProcessInfoNode> = new Map()\n files: Map<string, Set<ProcessInfoNode>> = new Map()\n pendingRoot: Map<string, Set<ProcessInfoNode>> = new Map()\n pendingParent: Map<string, Set<ProcessInfoNode>> = new Map()\n externalIDs: Map<string, ProcessInfoNode> = new Map()\n\n static async load({\n dir = resolve(p.cwd(), '.tap/processinfo'),\n exclude = /(^|\\\\|\\/)node_modules(\\\\|\\/|$)/,\n }): Promise<ProcessInfo> {\n const pi = new ProcessInfo({ dir, exclude })\n await pi.load()\n return pi\n }\n\n static loadSync({\n dir = resolve(p.cwd(), '.tap/processinfo'),\n exclude = /(^|\\\\|\\/)node_modules(\\\\|\\/|$)/,\n }): ProcessInfo {\n const pi = new ProcessInfo({ dir, exclude })\n pi.loadSync()\n return pi\n }\n\n constructor({\n dir = resolve(p.cwd(), '.tap/processinfo'),\n exclude = /(^|\\\\|\\/)node_modules(\\\\|\\/|$)/,\n } = {}) {\n this.dir = dir\n this.exclude = exclude\n }\n\n clear() {\n this.roots.clear()\n this.files.clear()\n this.uuids.clear()\n this.externalIDs.clear()\n }\n\n async save() {\n await mkdir(this.dir, { recursive: true })\n const writes = []\n for (const [uuid, info] of this.uuids.entries()) {\n const f = `${this.dir}/${uuid}.json`\n writes.push(writeFile(f, JSON.stringify(info) + '\\n', 'utf8'))\n }\n await Promise.all(writes)\n }\n\n async saveSync() {\n mkdirSync(this.dir, { recursive: true })\n for (const [uuid, info] of this.uuids.entries()) {\n const f = `${this.dir}/${uuid}.json`\n writeFileSync(f, JSON.stringify(info) + '\\n', 'utf8')\n }\n }\n\n async erase() {\n this.clear()\n await rm(this.dir, { recursive: true })\n }\n\n eraseSync() {\n this.clear()\n rmSync(this.dir, { recursive: true })\n }\n\n async load() {\n const promises = []\n for (const entry of await readdir(this.dir).catch(() => [])) {\n const uuid = basename(entry, '.json')\n if (this.uuids.has(uuid)) {\n continue\n }\n const f = resolve(this.dir, entry)\n promises.push(\n safeJSON(f).then(data => {\n if (!data.uuid || data.uuid !== uuid) {\n return\n }\n new ProcessInfoNode(data).link(this)\n })\n )\n }\n await Promise.all(promises)\n\n return this\n }\n\n loadSync() {\n let entries: string[]\n try {\n entries = readdirSync(this.dir)\n } catch (_) {\n entries = []\n }\n for (const entry of entries) {\n const uuid = basename(entry, '.json')\n if (this.uuids.has(uuid)) {\n continue\n }\n const f = resolve(this.dir, entry)\n const data = safeJSONSync(f)\n if (!data.uuid || data.uuid !== uuid) {\n continue\n }\n new ProcessInfoNode(data).link(this)\n }\n\n return this\n }\n\n #statFiles(\n node: ProcessInfoNode,\n stats: Map<string, Stats | null>,\n exclude: RegExp\n ) {\n const promises: Promise<void>[] = []\n\n for (const f of node.files) {\n if (exclude.test(f)) continue\n // race\n /* c8 ignore start */\n if (stats.has(f)) continue\n /* c8 ignore stop */\n promises.push(tryStat(f, stats))\n const src = node.sources[f]\n if (src) {\n for (const s of src) {\n /* c8 ignore start */\n if (stats.has(s)) continue\n /* c8 ignore stop */\n promises.push(tryStat(s, stats))\n }\n }\n }\n for (const c of node.descendants ?? []) {\n promises.push(...this.#statFiles(c, stats, exclude))\n }\n return promises\n }\n\n // if any files are newer than the date, or null, then add it\n // if a file has changed, but its sources haven't, then assume\n // it's still the same content, and not \"changed\"\n #hasNewerFiles(\n node: ProcessInfoNode,\n stats: Map<string, Stats | null>,\n exclude: RegExp\n ) {\n const p = Date.parse(node.date)\n for (const f of node.files) {\n if (exclude.test(f)) continue\n const st = stats.get(f)\n if (!st) {\n return true\n }\n let c = Number(st.mtime) > p\n if (!c) continue\n const src = node.sources[f]\n if (!src?.length) return true\n else {\n for (const s of src) {\n const sst = stats.get(s)\n if (!sst || Number(sst.mtime) > p) {\n return true\n }\n }\n }\n }\n // no direct files are newer, check descendants\n // if one of them have a changed file, then that's a yes\n for (const c of node.descendants ?? []) {\n if (this.#hasNewerFiles(c, stats, exclude)) {\n return true\n }\n }\n return false\n }\n\n /**\n * Get a subset of this.externalIDs where one or more of the\n * files have changed since the date on the node.\n */\n async externalIDsChanged(\n filter: (p: string, node: ProcessInfoNode) => boolean = () => true\n ) {\n const exclude = getExclude('_TAPJS_PROCESSINFO_EXCLUDE_', false)\n const changed = new Map<string, ProcessInfoNode>()\n const promises: Promise<void>[] = []\n const stats = new Map<string, Stats | null>()\n for (const [id, node] of this.externalIDs.entries()) {\n if (!filter(id, node)) continue\n promises.push(...this.#statFiles(node, stats, exclude))\n }\n // consider limiting with promise-call-limit?\n await Promise.all(promises)\n\n for (const [id, node] of this.externalIDs.entries()) {\n if (filter(id, node) && this.#hasNewerFiles(node, stats, exclude)) {\n changed.set(id, node)\n }\n }\n return changed\n }\n\n static get Node() {\n return ProcessInfoNode\n }\n\n static get ProcessInfo() {\n return ProcessInfo\n }\n\n static get spawn() {\n return spawn\n }\n\n static get spawnSync() {\n return spawnSync\n }\n\n static get exec() {\n return exec\n }\n\n static get execSync() {\n return execSync\n }\n\n static get execFile() {\n return execFile\n }\n\n static get execFileSync() {\n return execFileSync\n }\n\n static get fork() {\n return fork\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
export declare const saveLineLengths: (filename: string, content?: string | Buffer) => void;
|
|
3
3
|
export declare const getLineLengths: (filename: string) => number[] | undefined;
|
|
4
4
|
//# sourceMappingURL=line-lengths.d.ts.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { resolve } from 'path';
|
|
2
2
|
import { getImportMetaURL } from './get-import-meta-url.js';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
|
-
export const legacyLoader = getImportMetaURL('../
|
|
5
|
-
export const importLoader = getImportMetaURL('../
|
|
4
|
+
export const legacyLoader = getImportMetaURL('../esm/loader-legacy.mjs');
|
|
5
|
+
export const importLoader = getImportMetaURL('../esm/import.mjs');
|
|
6
6
|
const legacyLoaderPath = fileURLToPath(legacyLoader);
|
|
7
7
|
const importLoaderPath = fileURLToPath(importLoader);
|
|
8
8
|
export const legacyMatch = (p) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-paths.js","sourceRoot":"","sources":["../../src/loader-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;AACjE,MAAM,gBAAgB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AACpD,MAAM,gBAAgB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE;IAChD,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACzB,OAAO,CACL,CAAC,KAAK,2BAA2B;QACjC,CAAC,KAAK,YAAY;QAClB,OAAO,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAChC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE;IAChD,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACzB,OAAO,CACL,CAAC,KAAK,2BAA2B;QACjC,CAAC,KAAK,YAAY;QAClB,OAAO,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAChC,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { resolve } from 'path'\nimport { getImportMetaURL } from './get-import-meta-url.js'\n\nimport { fileURLToPath } from 'url'\n\nexport const legacyLoader = getImportMetaURL('../
|
|
1
|
+
{"version":3,"file":"loader-paths.js","sourceRoot":"","sources":["../../src/loader-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;AACjE,MAAM,gBAAgB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AACpD,MAAM,gBAAgB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE;IAChD,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACzB,OAAO,CACL,CAAC,KAAK,2BAA2B;QACjC,CAAC,KAAK,YAAY;QAClB,OAAO,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAChC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE;IAChD,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACzB,OAAO,CACL,CAAC,KAAK,2BAA2B;QACjC,CAAC,KAAK,YAAY;QAClB,OAAO,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAChC,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { resolve } from 'path'\nimport { getImportMetaURL } from './get-import-meta-url.js'\n\nimport { fileURLToPath } from 'url'\n\nexport const legacyLoader = getImportMetaURL('../esm/loader-legacy.mjs')\nexport const importLoader = getImportMetaURL('../esm/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"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
4
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
5
|
+
export declare const nodeOptionsEnv: (env: NodeJS.ProcessEnv) => string;
|
|
6
|
+
//# sourceMappingURL=node-options-env.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-options-env.d.ts","sourceRoot":"","sources":["../../src/node-options-env.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"node-options-env.d.ts","sourceRoot":"","sources":["../../src/node-options-env.ts"],"names":[],"mappings":";;;;AAoGA,eAAO,MAAM,cAAc,QACpB,OAAO,UAAU,WAIvB,CAAA"}
|
|
@@ -4,6 +4,10 @@ import { nodeOptionsToArgv } from './node-options-to-argv.js';
|
|
|
4
4
|
import Module from 'node:module';
|
|
5
5
|
const getKeyValue = (args, i) => {
|
|
6
6
|
const arg = args[i];
|
|
7
|
+
/* c8 ignore start */
|
|
8
|
+
if (typeof arg !== 'string')
|
|
9
|
+
throw new Error('invalid arg');
|
|
10
|
+
/* c8 ignore stop */
|
|
7
11
|
if (arg.includes('=')) {
|
|
8
12
|
const [k, ...rest] = arg.split('=');
|
|
9
13
|
return [true, k, rest.join('=')];
|
|
@@ -30,6 +34,10 @@ const addLoader = (args) => {
|
|
|
30
34
|
let found = false;
|
|
31
35
|
for (let i = 0; i < args.length; i++) {
|
|
32
36
|
const arg = args[i];
|
|
37
|
+
/* c8 ignore start */
|
|
38
|
+
if (typeof arg !== 'string')
|
|
39
|
+
throw new Error('invalid arg');
|
|
40
|
+
/* c8 ignore stop */
|
|
33
41
|
if (!arg.startsWith('--') || doubledash) {
|
|
34
42
|
added.push(arg);
|
|
35
43
|
continue;
|
|
@@ -58,14 +66,16 @@ const addLoader = (args) => {
|
|
|
58
66
|
continue;
|
|
59
67
|
found = true;
|
|
60
68
|
added.push(arg);
|
|
61
|
-
|
|
62
|
-
|
|
69
|
+
const next = args[i];
|
|
70
|
+
if (!eq && typeof next === 'string')
|
|
71
|
+
added.push(next);
|
|
63
72
|
}
|
|
64
73
|
else {
|
|
65
74
|
// not ours
|
|
66
75
|
added.push(arg);
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
const next = args[i];
|
|
77
|
+
if (!eq && typeof next === 'string')
|
|
78
|
+
added.push(next);
|
|
69
79
|
continue;
|
|
70
80
|
}
|
|
71
81
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-options-env.js","sourceRoot":"","sources":["../../src/node-options-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,MAAM,WAAW,GAAG,CAClB,IAAc,EACd,CAAS,EAC8B,EAAE;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,qBAAqB;IACrB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAC3D,oBAAoB;IACpB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACrB,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAA;QAC5D,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;KACjC;SAAM,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9B,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;KACjC;SAAM;QACL,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;KAC/B;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,CAAE,MAA8C;KAChE,QAAQ,CAAA;AAEX,MAAM,SAAS,GAAG,CAAC,IAAc,EAAE,EAAE;IACnC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAA;IACxD,MAAM,aAAa,GAAG;QACpB,uBAAuB;QACvB,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;KACpC,CAAA;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;IAElD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,qBAAqB;QACrB,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;QAC3D,oBAAoB;QACpB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,SAAQ;SACT;QACD,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,UAAU,GAAG,IAAI,CAAA;YACjB,SAAQ;SACT;QAED,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACvC,IAAI,CAAC,CAAC,EAAE;YACN,0BAA0B;YAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,SAAQ;SACT;QACD,IAAI,CAAC,EAAE;YAAE,CAAC,EAAE,CAAA;QACZ,IACE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,EAClC;YACA,0CAA0C;YAC1C,SAAQ;SACT;QAED,IAAI,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;YAC3B,uDAAuD;YACvD,IAAI,KAAK;gBAAE,SAAQ;YACnB,KAAK,GAAG,IAAI,CAAA;YACZ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACpB,IAAI,CAAC,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACtD;aAAO;YACN,WAAW;YACX,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACpB,IAAI,CAAC,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrD,SAAQ;SACT;KACF;IACD,IAAI,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;IAC/C,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAAC,IAAuB,EAAE,EAAE,CAC1D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC9B,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,GAAsB,EACtB,EAAE;IACF,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC9C,OAAO,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;AACzC,CAAC,CAAA","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 /* c8 ignore start */\n if (typeof arg !== 'string') throw new Error('invalid arg')\n /* c8 ignore stop */\n if (arg.includes('=')) {\n const [k, ...rest] = arg.split('=') as [string, ...string[]]\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 /* c8 ignore start */\n if (typeof arg !== 'string') throw new Error('invalid arg')\n /* c8 ignore stop */\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 const next = args[i]\n if (!eq && typeof next === 'string') added.push(next)\n } else {\n // not ours\n added.push(arg)\n const next = args[i]\n if (!eq && typeof next === 'string') added.push(next)\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')\n\nexport const nodeOptionsEnv = (\n env: NodeJS.ProcessEnv,\n) => {\n const no = nodeOptionsToArgv(env.NODE_OPTIONS)\n return argvToNodeOptions(addLoader(no))\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-to-url.d.ts","sourceRoot":"","sources":["../../src/path-to-url.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,MAAO,MAAM,GAAG,GAAG,KAAG,MAKd,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-to-url.js","sourceRoot":"","sources":["../../src/path-to-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAe,EAAU,EAAE,CACnD,OAAO,CAAC,KAAK,QAAQ;IACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA","sourcesContent":["import { pathToFileURL } from 'url'\n\nexport const pathToURL = (s: string | URL): string =>\n typeof s === 'object'\n ? String(s)\n : s.startsWith('file://')\n ? s\n : String(pathToFileURL(s))\n"]}
|
|
@@ -103,7 +103,7 @@ export const coverageOnProcessEnd = (cwd, processInfo) => {
|
|
|
103
103
|
// see if it has a source map
|
|
104
104
|
// need to look up via the url, not the file path, because mocks
|
|
105
105
|
// attach a tapmock search param, which is in node's internal key.
|
|
106
|
-
const s = findSourceMapSafe(
|
|
106
|
+
const s = findSourceMapSafe(obj.url);
|
|
107
107
|
if (!fileCovered(f, s?.payload, processInfo.files)) {
|
|
108
108
|
return false;
|
|
109
109
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-coverage.js","sourceRoot":"","sources":["../../src/register-coverage.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,8DAA8D;AAC9D,MAAM,CAAC,GAAG,OAAO,CAAA;AACjB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGlD,MAAM,CAAC,IAAI,OAAO,GAAwB,SAAS,CAAA;AAEnD,4DAA4D;AAC5D,gEAAgE;AAChE,mEAAmE;AACnE,8DAA8D;AAC9D,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAA;AACvD,MAAM,YAAY,GAAa,KAAK;KACjC,IAAI,EAAE;KACN,KAAK,CAAC,IAAI,CAAC;KACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEnB,uDAAuD;AACvD,oDAAoD;AACpD,qDAAqD;AACrD,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,qCAAqC,IAAI,EAAE,CAAA;AAC/D,MAAM,cAAc,GAAa,KAAK;KACnC,IAAI,EAAE;KACN,KAAK,CAAC,IAAI,CAAC;KACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEnB,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,+BAA+B;IACnD,CAAC,CAAC,UAAU,CAAC,iCAAiC,EAAE,KAAK,CAAC;IACtD,CAAC,CAAC,SAAS,CAAA;AAEb,MAAM,WAAW,GAAG,CAClB,CAAS,EACT,CAAoB,EACpB,QAAkB,EAAE,EACpB,EAAE;IACF,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,CAAC,EAAE;QACL,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE;YACjC,SAAS,CAAC,IAAI,CACZ,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAC9D,CAAA;SACF;KACF;IAED,uDAAuD;IACvD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAEzD,mEAAmE;IACnE,yCAAyC;IACzC,IAAI,YAAY,CAAC,MAAM,EAAE;QACvB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;KACrD;IAED,+DAA+D;IAC/D,2BAA2B;IAC3B,OAAO,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CACpD,CAAA;AACH,CAAC,CAAA;AAED,+DAA+D;AAC/D,kEAAkE;AAClE,gEAAgE;AAChE,kEAAkE;AAClE,yCAAyC;AACzC,mEAAmE;AACnE,sEAAsE;AACtE,qBAAqB;AACrB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAM;IACpB,CAAC,CAAC,GAAG,CAAC,4BAA4B,GAAG,GAAG,CAAA;IAExC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IACvB,OAAO,CAAC,OAAO,EAAE,CAAA;IACjB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC/B,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC9B,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE;QAC5C,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC,CAAA;AACD,oBAAoB;AAEpB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,GAAW,EACX,WAAgC,EAChC,EAAE;IACF,+DAA+D;IAC/D,+DAA+D;IAC/D,wDAAwD;IACxD,qBAAqB;IACrB,IAAI,CAAC,OAAO;QAAE,OAAM;IACpB,MAAM,OAAO,GAAG,OAAO,CAAA;IAEvB,MAAM,CAAC,GAAG,GAAG,GAAG,kBAAkB,WAAW,CAAC,IAAI,OAAO,CAAA;IACzD,SAAS,CAAC,GAAG,GAAG,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtD,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;QACvD,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAC5C,oBAAoB;QAEpB,0CAA0C;QAC1C,qBAAqB;QACrB,IAAI,EAAE,EAAE;YACN,MAAM,EAAE,CAAA;SACT;QACD,oBAAoB;QAEpB,8DAA8D;QAC9D,MAAM,cAAc,GAKhB,EAAE,CAAA;QACN,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,kBAAkB,EAAE,cAAc;SACnC,CAAC,CAAA;QAEF,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC3B,OAAO,KAAK,CAAA;aACb;YACD,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChC,6BAA6B;YAC7B,gEAAgE;YAChE,kEAAkE;YAClE,MAAM,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACpC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE;gBAClD,OAAO,KAAK,CAAA;aACb;YACD,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YAC1C,IAAI,OAAO,EAAE;gBACX,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC3D,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;oBAC9B,IAAI,EAAE,OAAO;iBACd,CAAC,CAAA;aACH;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;QAC7D,qBAAqB;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AACD,oBAAoB","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 { getLineLengths } from './line-lengths.js'\nimport { ProcessInfoNodeData } from './process-info-node.js'\n\nexport let SESSION: Session | undefined = undefined\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)\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 cxEnv = p.env._TAPJS_PROCESSINFO_COV_EXCLUDE_FILES_ || ''\nconst uncoveredFiles: string[] = cxEnv\n .trim()\n .split('\\n')\n .filter(f => !!f)\n\nconst exclude = p.env._TAPJS_PROCESSINFO_COV_EXCLUDE_\n ? getExclude('_TAPJS_PROCESSINFO_COV_EXCLUDE_', false)\n : undefined\n\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\n // never include coverage if the file is fully ignored.\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 // if any of the filenames are explicitly excluded, no coverage\n // otherwise, it is covered\n return !testFiles.some(\n f => uncoveredFiles.includes(f) || exclude?.test(f)\n )\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(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-process-end.d.ts","sourceRoot":"","sources":["../../src/register-process-end.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"register-process-end.d.ts","sourceRoot":"","sources":["../../src/register-process-end.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,QAAQ,YA4BpB,CAAA"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { onExit } from 'signal-exit';
|
|
2
2
|
import { getProcessInfo } from './get-process-info.js';
|
|
3
3
|
import { mkdirSync, writeFileSync } from 'fs';
|
|
4
|
-
import { fileURLToPath } from 'url';
|
|
5
|
-
import { findSourceMapSafe } from './find-source-map-safe.js';
|
|
6
4
|
import { coverageOnProcessEnd } from './register-coverage.js';
|
|
5
|
+
import { setSources } from './set-sources.js';
|
|
7
6
|
const proc = process;
|
|
8
7
|
const cwd = proc.env._TAPJS_PROCESSINFO_CWD_ || proc.cwd();
|
|
9
8
|
proc.env._TAPJS_PROCESSINFO_CWD_ = cwd;
|
|
10
9
|
const globals = new Set(Object.keys(global));
|
|
11
|
-
const sourceMaps = new Map();
|
|
12
10
|
export const register = () => {
|
|
13
11
|
onExit((code, signal) => {
|
|
14
12
|
const processInfo = getProcessInfo();
|
|
@@ -21,18 +19,7 @@ export const register = () => {
|
|
|
21
19
|
// This can't be done up front, because the sourcemap isn't
|
|
22
20
|
// present during the load phase, since it's in the contents.
|
|
23
21
|
for (const file of processInfo.files) {
|
|
24
|
-
|
|
25
|
-
if (sm && !sourceMaps.has(file))
|
|
26
|
-
sourceMaps.set(file, sm);
|
|
27
|
-
const sources = sm?.payload.sources?.map(s =>
|
|
28
|
-
// it SHOULD always start with file://, but could in theory
|
|
29
|
-
// be literally any string.
|
|
30
|
-
/* c8 ignore start */
|
|
31
|
-
s.startsWith('file://') ? fileURLToPath(s) : s
|
|
32
|
-
/* c8 ignore stop */
|
|
33
|
-
);
|
|
34
|
-
if (sources)
|
|
35
|
-
processInfo.sources[file] = sources;
|
|
22
|
+
setSources(file);
|
|
36
23
|
}
|
|
37
24
|
processInfo.runtime = runtime[0] * 1e3 + runtime[1] / 1e6;
|
|
38
25
|
const globalsAdded = Object.keys(global).filter(k => !globals.has(k));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-process-end.js","sourceRoot":"","sources":["../../src/register-process-end.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,IAAI,GAAG,OAAO,CAAA;AAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;AAC1D,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAA;AACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,CACJ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;QACpC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAA;QACvB,WAAW,CAAC,MAAM,GAAG,MAAM,CAAA;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,WAAW,CAAC,OAAO,CAAA;QAC1B,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;QACnD,wDAAwD;QACxD,2DAA2D;QAC3D,6DAA6D;QAC7D,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE;YACpC,UAAU,CAAC,IAAI,CAAC,CAAA;SACjB;QACD,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACrE,IAAI,YAAY,CAAC,MAAM,EAAE;YACvB,WAAW,CAAC,YAAY,GAAG,YAAY,CAAA;SACxC;QAED,MAAM,CAAC,GAAG,GAAG,GAAG,qBAAqB,WAAW,CAAC,IAAI,OAAO,CAAA;QAC5D,SAAS,CAAC,GAAG,GAAG,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;QACrE,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IACxC,CAAC,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { onExit } from 'signal-exit'\nimport { getProcessInfo } from './get-process-info.js'\n\nimport { mkdirSync, writeFileSync } from 'fs'\nimport { coverageOnProcessEnd } from './register-coverage.js'\nimport { setSources } from './set-sources.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\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 setSources(file)\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":"set-sources.d.ts","sourceRoot":"","sources":["../../src/set-sources.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,SAAU,MAAM,SAOtC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { findSourceMapSafe } from './find-source-map-safe.js';
|
|
2
|
+
import { getProcessInfo } from './get-process-info.js';
|
|
3
|
+
import { urlToPath } from './url-to-path.js';
|
|
4
|
+
// set the processInfo.sources for a given file, but don't clobber
|
|
5
|
+
// if called multiple times, or create duplicate entries.
|
|
6
|
+
// Should only be called *after* the file in question has been loaded.
|
|
7
|
+
export const setSources = (file) => {
|
|
8
|
+
const sm = findSourceMapSafe(file);
|
|
9
|
+
if (!sm)
|
|
10
|
+
return;
|
|
11
|
+
const pi = getProcessInfo();
|
|
12
|
+
const s = pi.sources[file] || [];
|
|
13
|
+
s.push(...sm.payload.sources.map(s => urlToPath(s)));
|
|
14
|
+
pi.sources[file] = [...new Set(s)];
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=set-sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-sources.js","sourceRoot":"","sources":["../../src/set-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAE1C,kEAAkE;AAClE,yDAAyD;AACzD,sEAAsE;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,CAAC,EAAE;QAAE,OAAM;IACf,MAAM,EAAE,GAAG,cAAc,EAAE,CAAA;IAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACpC,CAAC,CAAA","sourcesContent":["import { findSourceMapSafe } from './find-source-map-safe.js'\nimport { getProcessInfo } from './get-process-info.js'\nimport {urlToPath} from './url-to-path.js'\n\n// set the processInfo.sources for a given file, but don't clobber\n// if called multiple times, or create duplicate entries.\n// Should only be called *after* the file in question has been loaded.\nexport const setSources = (file: string) => {\n const sm = findSourceMapSafe(file)\n if (!sm) return\n const pi = getProcessInfo()\n const s = pi.sources[file] || []\n s.push(...sm.payload.sources.map(s => urlToPath(s)))\n pi.sources[file] = [...new Set(s)]\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-to-path.d.ts","sourceRoot":"","sources":["../../src/url-to-path.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,MAAO,MAAM,GAAG,GAAG,WACgC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-to-path.js","sourceRoot":"","sources":["../../src/url-to-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE,CAC3C,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA","sourcesContent":["import { fileURLToPath } from 'url'\n\nexport const urlToPath = (s: string | URL) =>\n typeof s === 'object' || s.startsWith('file://') ? fileURLToPath(s) : s\n"]}
|
package/package.json
CHANGED
|
@@ -1,34 +1,41 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tapjs/processinfo",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist"
|
|
6
6
|
],
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/commonjs/index.js",
|
|
9
|
+
"types": "./dist/commonjs/index.d.ts",
|
|
10
|
+
"tshy": {
|
|
11
|
+
"main": true,
|
|
12
|
+
"exports": {
|
|
13
|
+
".": "./src/index.ts",
|
|
14
|
+
"./loader": "./src/loader.mts",
|
|
15
|
+
"./import": "./src/import.mts"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
7
18
|
"exports": {
|
|
8
|
-
"./package.json": {
|
|
9
|
-
"import": "./package.json",
|
|
10
|
-
"require": "./package.json"
|
|
11
|
-
},
|
|
12
19
|
".": {
|
|
13
20
|
"import": {
|
|
14
|
-
"types": "./dist/
|
|
15
|
-
"default": "./dist/
|
|
21
|
+
"types": "./dist/esm/index.d.ts",
|
|
22
|
+
"default": "./dist/esm/index.js"
|
|
16
23
|
},
|
|
17
24
|
"require": {
|
|
18
|
-
"types": "./dist/
|
|
19
|
-
"default": "./dist/
|
|
25
|
+
"types": "./dist/commonjs/index.d.ts",
|
|
26
|
+
"default": "./dist/commonjs/index.js"
|
|
20
27
|
}
|
|
21
28
|
},
|
|
22
29
|
"./loader": {
|
|
23
30
|
"import": {
|
|
24
|
-
"types": "./dist/
|
|
25
|
-
"default": "./dist/
|
|
31
|
+
"types": "./dist/esm/loader.d.mts",
|
|
32
|
+
"default": "./dist/esm/loader.mjs"
|
|
26
33
|
}
|
|
27
34
|
},
|
|
28
35
|
"./import": {
|
|
29
36
|
"import": {
|
|
30
|
-
"types": "./dist/
|
|
31
|
-
"default": "./dist/
|
|
37
|
+
"types": "./dist/esm/import.d.mts",
|
|
38
|
+
"default": "./dist/esm/import.mjs"
|
|
32
39
|
}
|
|
33
40
|
}
|
|
34
41
|
},
|
|
@@ -37,27 +44,28 @@
|
|
|
37
44
|
"postversion": "npm publish",
|
|
38
45
|
"prepublishOnly": "git push origin --follow-tags",
|
|
39
46
|
"preprepare": "rm -rf dist",
|
|
40
|
-
"prepare": "
|
|
47
|
+
"prepare": "tshy",
|
|
41
48
|
"pretest": "npm run prepare",
|
|
42
49
|
"presnap": "npm run prepare",
|
|
43
50
|
"test": "c8 tap",
|
|
44
51
|
"snap": "c8 tap",
|
|
45
52
|
"format": "prettier --write . --loglevel warn",
|
|
46
|
-
"typedoc": "typedoc --tsconfig
|
|
53
|
+
"typedoc": "typedoc --tsconfig .tshy/esm.json ./lib/*.*ts"
|
|
47
54
|
},
|
|
48
55
|
"tap": {
|
|
49
56
|
"coverage": false,
|
|
50
57
|
"node-arg": [
|
|
51
58
|
"--enable-source-maps",
|
|
52
59
|
"--no-warnings",
|
|
53
|
-
"--
|
|
54
|
-
"ts-node/
|
|
60
|
+
"--require",
|
|
61
|
+
"ts-node/register"
|
|
55
62
|
],
|
|
56
63
|
"test-env": [
|
|
57
64
|
"TS_NODE_PROJECT=tsconfig/test.json",
|
|
58
65
|
"_TAPJS_PROCESSINFO_EXCLUDE_=/.*[\\/\\\\]test-processinfo-exclude.js$/"
|
|
59
66
|
],
|
|
60
|
-
"ts": false
|
|
67
|
+
"ts": false,
|
|
68
|
+
"test-regex": "test/.*\\.[mc]?[jt]s$"
|
|
61
69
|
},
|
|
62
70
|
"prettier": {
|
|
63
71
|
"semi": false,
|
|
@@ -90,10 +98,11 @@
|
|
|
90
98
|
"diff": "^5.0.0",
|
|
91
99
|
"prettier": "^2.6.2",
|
|
92
100
|
"sync-content": "^1.0.2",
|
|
93
|
-
"tap": "^16.3.
|
|
101
|
+
"tap": "^16.3.9",
|
|
94
102
|
"ts-node": "^10.9.1",
|
|
95
|
-
"
|
|
96
|
-
"
|
|
103
|
+
"tshy": "^1.2.2",
|
|
104
|
+
"typedoc": "^0.25.1",
|
|
105
|
+
"typescript": "^5.2.2"
|
|
97
106
|
},
|
|
98
107
|
"repository": "https://github.com/tapjs/processinfo"
|
|
99
108
|
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findSourceMapSafe = void 0;
|
|
4
|
-
const module_1 = require("module");
|
|
5
|
-
// this can throw in some cases in node 19
|
|
6
|
-
/* c8 ignore start */
|
|
7
|
-
const findSourceMapSafe = (s) => {
|
|
8
|
-
try {
|
|
9
|
-
return (0, module_1.findSourceMap)(s);
|
|
10
|
-
}
|
|
11
|
-
catch { }
|
|
12
|
-
};
|
|
13
|
-
exports.findSourceMapSafe = findSourceMapSafe;
|
|
14
|
-
/* c8 ignore stop */
|
|
15
|
-
//# sourceMappingURL=find-source-map-safe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find-source-map-safe.js","sourceRoot":"","sources":["../../src/find-source-map-safe.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AAEtC,0CAA0C;AAC1C,qBAAqB;AACd,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAE,EAAE;IAC7C,IAAI;QACF,OAAO,IAAA,sBAAa,EAAC,CAAC,CAAC,CAAA;KACxB;IAAC,MAAM,GAAE;AACZ,CAAC,CAAA;AAJY,QAAA,iBAAiB,qBAI7B;AACD,oBAAoB","sourcesContent":["import { findSourceMap } from 'module'\n\n// this can throw in some cases in node 19\n/* c8 ignore start */\nexport const findSourceMapSafe = (s: string) => {\n try {\n return findSourceMap(s)\n } catch {}\n}\n/* c8 ignore stop */\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-exclude.js","sourceRoot":"","sources":["../../src/get-exclude.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GACzB,gIAAgI,CAAA;AAElI,MAAM,YAAY,GAAG,CAAC,GAAuB,EAAsB,EAAE;IACnE,IAAI,CAAC,GAAG;QAAE,OAAM;IAChB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC9C,IAAI,MAAM,EAAE;QACV,IAAI;YACF,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;SACxC;QAAC,OAAO,CAAC,EAAE,GAAE;KACf;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,OAAO,CAAA;AAEb,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACvB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACzE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AALY,QAAA,UAAU,cAKtB","sourcesContent":["export const defaultExclude =\n /(^|[\\\\\\/])(node_modules|\\.tap|tap-testdir-.*?|tap-snapshots|tests?|[^\\\\\\/]+\\.test\\.([cm]?[jt]s|[jt]sx?)|__tests?__)([\\\\\\/]|$)/i\n\nconst parseExclude = (src: string | undefined): RegExp | undefined => {\n if (!src) return\n const parsed = src.match(/^\\/(.*)\\/([a-z]*)$/)\n if (parsed) {\n try {\n return new RegExp(parsed[1], parsed[2])\n } catch (e) {}\n }\n}\n\nconst proc = process\n\nexport const getExclude = (k: string, useDefault = true) => {\n const src = proc.env[k]\n const exclude = parseExclude(src) || (useDefault ? defaultExclude : /$./)\n proc.env[k] = String(exclude)\n return exclude\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-import-meta-url-cjs.d.ts","sourceRoot":"","sources":["../../src/get-import-meta-url-cjs.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB,WAAY,MAAM,WACK,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-import-meta-url-cjs.js","sourceRoot":"","sources":["../../src/get-import-meta-url-cjs.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6BAAmC;AAC5B,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE,CACjD,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,IAAA,mBAAa,EAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AADvC,QAAA,gBAAgB,oBACuB","sourcesContent":["/**\n * Get the import.meta.url for a module\n * abstracted to be able to do CJS and ESM versions.\n *\n * CommonJS version\n */\nimport { pathToFileURL } from 'url'\nexport const getImportMetaURL = (target: string) =>\n String(new URL(target, pathToFileURL(__filename)))\n"]}
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n exec,\n execFile,\n execFileSync,\n execSync,\n fork,\n spawn,\n spawnSync,\n} from './child_process.js'\n\nexport * from './child_process.js'\nexport * from './process-info-node.js'\nexport { WithExternalID } from './spawn-opts.js'\n\nimport { mkdirSync, readdirSync, rmSync, Stats, writeFileSync } from 'fs'\nimport { mkdir, readdir, rm, stat, writeFile } from 'fs/promises'\nimport { basename, resolve } from 'path'\nimport { getExclude } from './get-exclude.js'\nimport { safeJSON, safeJSONSync } from './json-file.js'\nimport { ProcessInfoNode } from './process-info-node.js'\n\nconst p = process\nconst tryStat = async (f: string, stats: Map<string, Stats | null>) => {\n stats.set(f, await stat(f).catch(() => null))\n}\n\nexport class ProcessInfo {\n dir: string\n exclude: RegExp\n roots: Set<ProcessInfoNode> = new Set()\n uuids: Map<string, ProcessInfoNode> = new Map()\n files: Map<string, Set<ProcessInfoNode>> = new Map()\n pendingRoot: Map<string, Set<ProcessInfoNode>> = new Map()\n pendingParent: Map<string, Set<ProcessInfoNode>> = new Map()\n externalIDs: Map<string, ProcessInfoNode> = new Map()\n\n static async load({\n dir = resolve(p.cwd(), '.tap/processinfo'),\n exclude = /(^|\\\\|\\/)node_modules(\\\\|\\/|$)/,\n }): Promise<ProcessInfo> {\n const pi = new ProcessInfo({ dir, exclude })\n await pi.load()\n return pi\n }\n\n static loadSync({\n dir = resolve(p.cwd(), '.tap/processinfo'),\n exclude = /(^|\\\\|\\/)node_modules(\\\\|\\/|$)/,\n }): ProcessInfo {\n const pi = new ProcessInfo({ dir, exclude })\n pi.loadSync()\n return pi\n }\n\n constructor({\n dir = resolve(p.cwd(), '.tap/processinfo'),\n exclude = /(^|\\\\|\\/)node_modules(\\\\|\\/|$)/,\n } = {}) {\n this.dir = dir\n this.exclude = exclude\n }\n\n clear() {\n this.roots.clear()\n this.files.clear()\n this.uuids.clear()\n this.externalIDs.clear()\n }\n\n async save() {\n await mkdir(this.dir, { recursive: true })\n const writes = []\n for (const [uuid, info] of this.uuids.entries()) {\n const f = `${this.dir}/${uuid}.json`\n writes.push(writeFile(f, JSON.stringify(info) + '\\n', 'utf8'))\n }\n await Promise.all(writes)\n }\n\n async saveSync() {\n mkdirSync(this.dir, { recursive: true })\n for (const [uuid, info] of this.uuids.entries()) {\n const f = `${this.dir}/${uuid}.json`\n writeFileSync(f, JSON.stringify(info) + '\\n', 'utf8')\n }\n }\n\n async erase() {\n this.clear()\n await rm(this.dir, { recursive: true })\n }\n\n eraseSync() {\n this.clear()\n rmSync(this.dir, { recursive: true })\n }\n\n async load() {\n const promises = []\n for (const entry of await readdir(this.dir).catch(() => [])) {\n const uuid = basename(entry, '.json')\n if (this.uuids.has(uuid)) {\n continue\n }\n const f = resolve(this.dir, entry)\n promises.push(\n safeJSON(f).then(data => {\n if (!data.uuid || data.uuid !== uuid) {\n return\n }\n new ProcessInfoNode(data).link(this)\n })\n )\n }\n await Promise.all(promises)\n\n return this\n }\n\n loadSync() {\n let entries: string[]\n try {\n entries = readdirSync(this.dir)\n } catch (_) {\n entries = []\n }\n for (const entry of entries) {\n const uuid = basename(entry, '.json')\n if (this.uuids.has(uuid)) {\n continue\n }\n const f = resolve(this.dir, entry)\n const data = safeJSONSync(f)\n if (!data.uuid || data.uuid !== uuid) {\n continue\n }\n new ProcessInfoNode(data).link(this)\n }\n\n return this\n }\n\n #statFiles(\n node: ProcessInfoNode,\n stats: Map<string, Stats | null>,\n exclude: RegExp\n ) {\n const promises: Promise<void>[] = []\n\n for (const f of node.files) {\n if (exclude.test(f)) continue\n // race\n /* c8 ignore start */\n if (stats.has(f)) continue\n /* c8 ignore stop */\n promises.push(tryStat(f, stats))\n if (node.sources[f]) {\n for (const s of node.sources[f]) {\n /* c8 ignore start */\n if (stats.has(s)) continue\n /* c8 ignore stop */\n promises.push(tryStat(s, stats))\n }\n }\n }\n for (const c of node.descendants ?? []) {\n promises.push(...this.#statFiles(c, stats, exclude))\n }\n return promises\n }\n\n // if any files are newer than the date, or null, then add it\n // if a file has changed, but its sources haven't, then assume\n // it's still the same content, and not \"changed\"\n #hasNewerFiles(\n node: ProcessInfoNode,\n stats: Map<string, Stats | null>,\n exclude: RegExp\n ) {\n const p = Date.parse(node.date)\n for (const f of node.files) {\n if (exclude.test(f)) continue\n const st = stats.get(f)\n if (!st) {\n return true\n }\n let c = Number(st.mtime) > p\n if (!c) continue\n if (!node.sources[f]?.length) return true\n else {\n for (const s of node.sources[f]) {\n const sst = stats.get(s)\n if (!sst || Number(sst.mtime) > p) {\n return true\n }\n }\n }\n }\n // no direct files are newer, check descendants\n // if one of them have a changed file, then that's a yes\n for (const c of node.descendants ?? []) {\n if (this.#hasNewerFiles(c, stats, exclude)) {\n return true\n }\n }\n return false\n }\n\n /**\n * Get a subset of this.externalIDs where one or more of the\n * files have changed since the date on the node.\n */\n async externalIDsChanged(\n filter: (p: string, node: ProcessInfoNode) => boolean = () => true\n ) {\n const exclude = getExclude('_TAPJS_PROCESSINFO_EXCLUDE_', false)\n const changed = new Map<string, ProcessInfoNode>()\n const promises: Promise<void>[] = []\n const stats = new Map<string, Stats | null>()\n for (const [id, node] of this.externalIDs.entries()) {\n if (!filter(id, node)) continue\n promises.push(...this.#statFiles(node, stats, exclude))\n }\n // consider limiting with promise-call-limit?\n await Promise.all(promises)\n\n for (const [id, node] of this.externalIDs.entries()) {\n if (filter(id, node) && this.#hasNewerFiles(node, stats, exclude)) {\n changed.set(id, node)\n }\n }\n return changed\n }\n\n static get Node() {\n return ProcessInfoNode\n }\n\n static get ProcessInfo() {\n return ProcessInfo\n }\n\n static get spawn() {\n return spawn\n }\n\n static get spawnSync() {\n return spawnSync\n }\n\n static get exec() {\n return exec\n }\n\n static get execSync() {\n return execSync\n }\n\n static get execFile() {\n return execFile\n }\n\n static get execFileSync() {\n return execFileSync\n }\n\n static get fork() {\n return fork\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
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')\n\nexport const nodeOptionsEnv = (\n env: NodeJS.ProcessEnv,\n) => {\n const no = nodeOptionsToArgv(env.NODE_OPTIONS)\n return argvToNodeOptions(addLoader(no))\n}\n"]}
|
package/dist/cjs/package.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-cjs.d.ts","sourceRoot":"","sources":["../../src/register-cjs.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,QAAQ,YAgBpB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 { getLineLengths } from './line-lengths.js'\nimport { ProcessInfoNodeData } from './process-info-node.js'\n\nexport let SESSION: Session | undefined = undefined\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)\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 cxEnv = p.env._TAPJS_PROCESSINFO_COV_EXCLUDE_FILES_ || ''\nconst uncoveredFiles: string[] = cxEnv\n .trim()\n .split('\\n')\n .filter(f => !!f)\n\nconst exclude = p.env._TAPJS_PROCESSINFO_COV_EXCLUDE_\n ? getExclude('_TAPJS_PROCESSINFO_COV_EXCLUDE_', false)\n : undefined\n\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\n // never include coverage if the file is fully ignored.\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 // if any of the filenames are explicitly excluded, no coverage\n // otherwise, it is covered\n return !testFiles.some(\n f => uncoveredFiles.includes(f) || exclude?.test(f)\n )\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 +0,0 @@
|
|
|
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"]}
|
package/dist/cjs/register.d.ts
DELETED