@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.
Files changed (155) hide show
  1. package/README.md +5 -5
  2. package/dist/cjs/argv-to-node-options.d.ts.map +1 -1
  3. package/dist/cjs/argv-to-node-options.js.map +1 -1
  4. package/dist/cjs/child_process.d.ts.map +1 -1
  5. package/dist/cjs/child_process.js.map +1 -1
  6. package/dist/cjs/find-source-map-safe.d.ts.map +1 -1
  7. package/dist/cjs/find-source-map-safe.js.map +1 -1
  8. package/dist/cjs/get-exclude.d.ts.map +1 -1
  9. package/dist/cjs/get-exclude.js.map +1 -1
  10. package/dist/cjs/get-import-meta-url-cjs.d.ts.map +1 -0
  11. package/dist/cjs/get-import-meta-url-cjs.js.map +1 -0
  12. package/dist/cjs/get-import-meta-url.d.ts +2 -0
  13. package/dist/cjs/get-import-meta-url.js +13 -0
  14. package/dist/cjs/get-main.d.ts +3 -0
  15. package/dist/cjs/get-main.d.ts.map +1 -0
  16. package/dist/cjs/get-main.js +20 -0
  17. package/dist/cjs/get-main.js.map +1 -0
  18. package/dist/cjs/get-process-info.d.ts +1 -21
  19. package/dist/cjs/get-process-info.d.ts.map +1 -1
  20. package/dist/cjs/get-process-info.js +21 -16
  21. package/dist/cjs/get-process-info.js.map +1 -1
  22. package/dist/cjs/index.d.ts +0 -1
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/json-file.d.ts.map +1 -1
  26. package/dist/cjs/json-file.js.map +1 -1
  27. package/dist/cjs/line-lengths.d.ts +2 -1
  28. package/dist/cjs/line-lengths.d.ts.map +1 -1
  29. package/dist/cjs/line-lengths.js +4 -0
  30. package/dist/cjs/line-lengths.js.map +1 -1
  31. package/dist/cjs/loader-paths.d.ts +4 -4
  32. package/dist/cjs/loader-paths.d.ts.map +1 -1
  33. package/dist/cjs/loader-paths.js +19 -27
  34. package/dist/cjs/loader-paths.js.map +1 -1
  35. package/dist/cjs/node-options-env.d.ts +1 -1
  36. package/dist/cjs/node-options-env.d.ts.map +1 -1
  37. package/dist/cjs/node-options-env.js +69 -42
  38. package/dist/cjs/node-options-env.js.map +1 -1
  39. package/dist/cjs/node-options-to-argv.d.ts.map +1 -1
  40. package/dist/cjs/node-options-to-argv.js.map +1 -1
  41. package/dist/cjs/process-info-node.d.ts +20 -1
  42. package/dist/cjs/process-info-node.d.ts.map +1 -1
  43. package/dist/cjs/process-info-node.js.map +1 -1
  44. package/dist/cjs/register-cjs.d.ts.map +1 -1
  45. package/dist/cjs/register-cjs.js.map +1 -1
  46. package/dist/cjs/register-coverage.d.ts +1 -1
  47. package/dist/cjs/register-coverage.d.ts.map +1 -1
  48. package/dist/cjs/register-coverage.js.map +1 -1
  49. package/dist/cjs/register-env.d.ts.map +1 -1
  50. package/dist/cjs/register-env.js +5 -2
  51. package/dist/cjs/register-env.js.map +1 -1
  52. package/dist/cjs/register-process-end.d.ts.map +1 -1
  53. package/dist/cjs/register-process-end.js.map +1 -1
  54. package/dist/cjs/register-require.d.ts +2 -0
  55. package/dist/cjs/register-require.d.ts.map +1 -0
  56. package/dist/cjs/register-require.js +27 -0
  57. package/dist/cjs/register-require.js.map +1 -0
  58. package/dist/cjs/require-resolve-cjs.d.ts.map +1 -1
  59. package/dist/cjs/require-resolve-cjs.js.map +1 -1
  60. package/dist/cjs/spawn-opts.d.ts.map +1 -1
  61. package/dist/cjs/spawn-opts.js +1 -1
  62. package/dist/cjs/spawn-opts.js.map +1 -1
  63. package/dist/mjs/argv-to-node-options.d.ts.map +1 -1
  64. package/dist/mjs/argv-to-node-options.js.map +1 -1
  65. package/dist/mjs/child_process.d.ts.map +1 -1
  66. package/dist/mjs/child_process.js.map +1 -1
  67. package/dist/mjs/esm.d.mts +7 -9
  68. package/dist/mjs/esm.d.mts.map +1 -1
  69. package/dist/mjs/esm.mjs +26 -15
  70. package/dist/mjs/esm.mjs.map +1 -1
  71. package/dist/mjs/find-source-map-safe.d.ts.map +1 -1
  72. package/dist/mjs/find-source-map-safe.js.map +1 -1
  73. package/dist/mjs/get-exclude.d.ts.map +1 -1
  74. package/dist/mjs/get-exclude.js.map +1 -1
  75. package/dist/mjs/get-import-meta-url-mjs.d.ts.map +1 -0
  76. package/dist/mjs/get-import-meta-url-mjs.js.map +1 -0
  77. package/dist/mjs/get-import-meta-url.d.ts +8 -0
  78. package/dist/mjs/get-import-meta-url.js +8 -0
  79. package/dist/mjs/get-main.d.ts +3 -0
  80. package/dist/mjs/get-main.d.ts.map +1 -0
  81. package/dist/mjs/get-main.js +16 -0
  82. package/dist/mjs/get-main.js.map +1 -0
  83. package/dist/mjs/get-process-info.d.ts +1 -21
  84. package/dist/mjs/get-process-info.d.ts.map +1 -1
  85. package/dist/mjs/get-process-info.js +21 -16
  86. package/dist/mjs/get-process-info.js.map +1 -1
  87. package/dist/mjs/hooks.d.mts +10 -0
  88. package/dist/mjs/hooks.d.mts.map +1 -0
  89. package/dist/mjs/hooks.mjs +86 -0
  90. package/dist/mjs/hooks.mjs.map +1 -0
  91. package/dist/mjs/import.d.mts +2 -0
  92. package/dist/mjs/import.d.mts.map +1 -0
  93. package/dist/mjs/import.mjs +24 -0
  94. package/dist/mjs/import.mjs.map +1 -0
  95. package/dist/mjs/index.d.ts +0 -1
  96. package/dist/mjs/index.d.ts.map +1 -1
  97. package/dist/mjs/index.js.map +1 -1
  98. package/dist/mjs/json-file.d.ts.map +1 -1
  99. package/dist/mjs/json-file.js.map +1 -1
  100. package/dist/mjs/line-lengths.d.ts +2 -1
  101. package/dist/mjs/line-lengths.d.ts.map +1 -1
  102. package/dist/mjs/line-lengths.js +4 -0
  103. package/dist/mjs/line-lengths.js.map +1 -1
  104. package/dist/mjs/loader-legacy.d.mts +2 -0
  105. package/dist/mjs/loader-legacy.d.mts.map +1 -0
  106. package/dist/mjs/loader-legacy.mjs +2 -0
  107. package/dist/mjs/loader-legacy.mjs.map +1 -0
  108. package/dist/mjs/loader-paths.d.ts +4 -4
  109. package/dist/mjs/loader-paths.d.ts.map +1 -1
  110. package/dist/mjs/loader-paths.js +18 -26
  111. package/dist/mjs/loader-paths.js.map +1 -1
  112. package/dist/mjs/loader.d.mts +2 -0
  113. package/dist/mjs/loader.d.mts.map +1 -0
  114. package/dist/mjs/loader.mjs +2 -0
  115. package/dist/mjs/loader.mjs.map +1 -0
  116. package/dist/mjs/node-options-env.d.ts +1 -1
  117. package/dist/mjs/node-options-env.d.ts.map +1 -1
  118. package/dist/mjs/node-options-env.js +67 -43
  119. package/dist/mjs/node-options-env.js.map +1 -1
  120. package/dist/mjs/node-options-to-argv.d.ts.map +1 -1
  121. package/dist/mjs/node-options-to-argv.js.map +1 -1
  122. package/dist/mjs/process-info-node.d.ts +20 -1
  123. package/dist/mjs/process-info-node.d.ts.map +1 -1
  124. package/dist/mjs/process-info-node.js.map +1 -1
  125. package/dist/mjs/register-coverage.d.ts +1 -1
  126. package/dist/mjs/register-coverage.d.ts.map +1 -1
  127. package/dist/mjs/register-coverage.js.map +1 -1
  128. package/dist/mjs/register-env.d.ts.map +1 -1
  129. package/dist/mjs/register-env.js +5 -2
  130. package/dist/mjs/register-env.js.map +1 -1
  131. package/dist/mjs/register-process-end.d.ts.map +1 -1
  132. package/dist/mjs/register-process-end.js.map +1 -1
  133. package/dist/mjs/register-require.d.ts +2 -0
  134. package/dist/mjs/register-require.d.ts.map +1 -0
  135. package/dist/mjs/{register-cjs.js → register-require.js} +4 -4
  136. package/dist/mjs/register-require.js.map +1 -0
  137. package/dist/mjs/require-resolve-mjs.d.ts.map +1 -0
  138. package/dist/mjs/require-resolve-mjs.js.map +1 -0
  139. package/dist/mjs/require-resolve.d.ts +1 -1
  140. package/dist/mjs/require-resolve.js +1 -1
  141. package/dist/mjs/spawn-opts.d.ts.map +1 -1
  142. package/dist/mjs/spawn-opts.js +1 -1
  143. package/dist/mjs/spawn-opts.js.map +1 -1
  144. package/package.json +16 -14
  145. package/dist/cjs/cjs.d.ts +0 -2
  146. package/dist/cjs/cjs.d.ts.map +0 -1
  147. package/dist/cjs/cjs.js +0 -5
  148. package/dist/cjs/cjs.js.map +0 -1
  149. package/dist/mjs/register-cjs.d.ts +0 -2
  150. package/dist/mjs/register-cjs.d.ts.map +0 -1
  151. package/dist/mjs/register-cjs.js.map +0 -1
  152. package/dist/mjs/require-resolve.d.ts.map +0 -1
  153. package/dist/mjs/require-resolve.js.map +0 -1
  154. /package/dist/cjs/{register-cjs.d.ts → register.d.ts} +0 -0
  155. /package/dist/cjs/{register-cjs.js → register.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"node-options-env.js","sourceRoot":"","sources":["../../lib/node-options-env.ts"],"names":[],"mappings":"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","sourcesContent":["import { argvToNodeOptions } from './argv-to-node-options.js'\nimport {\n cjsLoader,\n cjsMatch,\n esmLoader,\n esmMatch,\n} from './loader-paths.js'\nimport { nodeOptionsToArgv } from './node-options-to-argv.js'\n\n// Check if our esm and/or cjs loaders are in the list,\n// and only add them if not.\n\nconst hasCJSLoader = (args: string[]) =>\n hasLoader(args, ['-r', '--require'], cjsMatch)\n\nconst hasESMLoader = (args: string[]) =>\n hasLoader(args, ['--experimental-loader', '--loader'], esmMatch)\n\nconst addCJS = (args: string[]) =>\n !hasCJSLoader(args) ? args.concat('--require=' + cjsLoader) : args\n\nconst addESM = (args: string[]) =>\n !hasESMLoader(args) ? args.concat('--loader=' + esmLoader) : args\n\nconst cjsOnly = (args: string[]) =>\n hasESMLoader(args) ? false : hasCJSLoader(args)\n\nconst hasLoader = (\n args: string[],\n keys: string[],\n test: (s: string) => boolean\n) => {\n for (let i = 0; i < args.length; i++) {\n const arg = args[i]\n // -r <value>\n // --loader <value>\n if (keys.includes(arg) && i < args.length - 1) {\n if (test(args[i + 1])) {\n return true\n } else {\n continue\n }\n } else if (arg.startsWith('--') && arg.includes('=')) {\n // --require=<value>\n // --loader=<value>\n const [k, ...rest] = arg.split('=')\n if (keys.includes(k) && test(rest.join('='))) {\n return true\n } else {\n continue\n }\n } else if (\n !arg.startsWith('--') &&\n arg.startsWith('-') &&\n arg.length > 2 &&\n keys.includes(arg.substring(0, 2))\n ) {\n // -r<value>\n if (test(arg.substring(2))) {\n return true\n } else {\n continue\n }\n }\n }\n return false\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 args: ReadonlyArray<string>\n) => {\n const no = nodeOptionsToArgv(env.NODE_OPTIONS)\n return argvToNodeOptions(\n cjsOnly(args.concat(no))\n ? addCJS(no)\n : addIgnoreLoadersWarning(addESM(no))\n )\n}\n"]}
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":["../../lib/node-options-to-argv.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,OAAQ,MAAM,GAAG,SAAS,KAAG,MAAM,EAmDhE,CAAA"}
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":["../../lib/node-options-to-argv.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,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","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
+ {"version":3,"file":"node-options-to-argv.js","sourceRoot":"","sources":["../../src/node-options-to-argv.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,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","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":["../../lib/process-info-node.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,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
+ {"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":["../../lib/process-info-node.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ProcessInfoNodeData } from './get-process-info.js'\nimport type { ProcessInfo } from './index.js'\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
+ {"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,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { Session } from 'node:inspector';
3
- import { ProcessInfoNodeData } from './get-process-info.js';
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":["../../lib/register-coverage.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAMxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAG3D,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
+ {"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":["../../lib/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 './get-process-info.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
+ {"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":["../../lib/register-env.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,QAAQ,YAQpB,CAAA"}
1
+ {"version":3,"file":"register-env.d.ts","sourceRoot":"","sources":["../../src/register-env.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,QAAQ,YAQpB,CAAA"}
@@ -10,12 +10,15 @@ const getEnvs = (env) => {
10
10
  return Object.fromEntries(Object.entries(p.env)
11
11
  .filter(([k]) => !(env && hasOwnProperty.call(env, k)) && envRE.test(k))
12
12
  .concat([
13
- ['NODE_OPTIONS', nodeOptionsEnv(p.env, p.execArgv)],
13
+ ['NODE_OPTIONS', nodeOptionsEnv(env?.NODE_OPTIONS ? env : p.env)],
14
14
  ]));
15
15
  };
16
16
  export const register = () => {
17
17
  processOnSpawn.addListener(obj => {
18
- obj.env = Object.assign(obj.env || { ...p.env }, getEnvs(obj.env));
18
+ obj.env = {
19
+ ...(obj.env || p.env),
20
+ ...getEnvs(obj.env),
21
+ };
19
22
  return obj;
20
23
  });
21
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"register-env.js","sourceRoot":"","sources":["../../lib/register-env.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;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,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;KACpD,CAAC,CACL,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;QAC/B,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CACrB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EACvB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CACjB,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA","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(p.env, p.execArgv)],\n ])\n )\n}\n\nexport const register = () => {\n processOnSpawn.addListener(obj => {\n obj.env = Object.assign(\n obj.env || { ...p.env },\n getEnvs(obj.env)\n )\n return obj\n })\n}\n"]}
1
+ {"version":3,"file":"register-env.js","sourceRoot":"","sources":["../../src/register-env.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;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,cAAc,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KAClE,CAAC,CACL,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,cAAc,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","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":["../../lib/register-process-end.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,QAAQ,YAsCpB,CAAA"}
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":["../../lib/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"]}
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,2 @@
1
+ export declare const register: () => void;
2
+ //# sourceMappingURL=register-require.d.ts.map
@@ -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"}
@@ -3,12 +3,12 @@ import { addHook } from 'pirates';
3
3
  import { getExclude } from './get-exclude.js';
4
4
  import { getProcessInfo } from './get-process-info.js';
5
5
  import { saveLineLengths } from './line-lengths.js';
6
- const kRegisterCJS = Symbol.for('@tapjs/processinfo.registerCJS');
6
+ const kRegisterRequire = Symbol.for('@tapjs/processinfo.registerRequire');
7
7
  const g = global;
8
8
  export const register = () => {
9
- if (g[kRegisterCJS])
9
+ if (g[kRegisterRequire])
10
10
  return;
11
- g[kRegisterCJS] = true;
11
+ g[kRegisterRequire] = true;
12
12
  // by default we include everything in processInfo.files
13
13
  const exclude = getExclude('_TAPJS_PROCESSINFO_EXCLUDE_', false);
14
14
  addHook((code, filename) => {
@@ -20,4 +20,4 @@ export const register = () => {
20
20
  matcher: filename => !exclude.test(filename),
21
21
  });
22
22
  };
23
- //# sourceMappingURL=register-cjs.js.map
23
+ //# sourceMappingURL=register-require.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-require.js","sourceRoot":"","sources":["../../src/register-require.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;AACzE,MAAM,CAAC,GAAG,MAET,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,IAAI,CAAC,CAAC,gBAAgB,CAAC;QAAE,OAAM;IAC/B,CAAC,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAA;IAC1B,wDAAwD;IACxD,MAAM,OAAO,GAAG,UAAU,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;IAChE,OAAO,CACL,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;QACjB,cAAc,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrC,eAAe,CAAC,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","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 kRegisterRequire = Symbol.for('@tapjs/processinfo.registerRequire')\nconst g = global as typeof globalThis & {\n [kRegisterRequire]?: boolean\n}\n\nexport const register = () => {\n if (g[kRegisterRequire]) return\n g[kRegisterRequire] = 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"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-resolve-mjs.d.ts","sourceRoot":"","sources":["../../src/require-resolve-mjs.ts"],"names":[],"mappings":";AAOA,eAAO,MAAQ,OAAO,uBAAmC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-resolve-mjs.js","sourceRoot":"","sources":["../../src/require-resolve-mjs.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,kDAAkD;AAClD,wEAAwE;AACxE,yEAAyE;AACzE,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,YAAY;AACZ,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA","sourcesContent":["// This is only the ESM version. For CJS, it's overwritten\n// by the implementation in require-resolve-cjs.ts\n// This only works because all of this package's modules are in the same\n// folder, so effectively have the same require.resolve results. It's not\n// intended to be portable!\nimport { createRequire } from 'module'\n//@ts-ignore\nexport const { resolve } = createRequire(import.meta.url)\n"]}
@@ -1,3 +1,3 @@
1
1
  /// <reference types="node" />
2
2
  export declare const resolve: NodeJS.RequireResolve;
3
- //# sourceMappingURL=require-resolve.d.ts.map
3
+ //# sourceMappingURL=require-resolve-mjs.d.ts.map
@@ -6,4 +6,4 @@
6
6
  import { createRequire } from 'module';
7
7
  //@ts-ignore
8
8
  export const { resolve } = createRequire(import.meta.url);
9
- //# sourceMappingURL=require-resolve.js.map
9
+ //# sourceMappingURL=require-resolve-mjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-opts.d.ts","sourceRoot":"","sources":["../../lib/spawn-opts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGjD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAG3D,eAAO,MAAM,SAAS;;yCAEV,MAAM,GAAG,MAAM;SACO,iBAAiB;CAWlD,CAAA"}
1
+ {"version":3,"file":"spawn-opts.d.ts","sourceRoot":"","sources":["../../src/spawn-opts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGjD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAG3D,eAAO,MAAM,SAAS;;yCAEV,MAAM,GAAG,MAAM;SACO,iBAAiB;CAWlD,CAAA"}
@@ -3,7 +3,7 @@ const p = process;
3
3
  export const spawnOpts = (options, exclude) => {
4
4
  const { externalID, ...rest } = options;
5
5
  const env = { ...(options.env || p.env) };
6
- env.NODE_OPTIONS = nodeOptionsEnv(env, []);
6
+ env.NODE_OPTIONS = nodeOptionsEnv(env);
7
7
  if (externalID) {
8
8
  env._TAPJS_PROCESSINFO_EXTERNAL_ID_ = externalID;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-opts.js","sourceRoot":"","sources":["../../lib/spawn-opts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD,MAAM,CAAC,GAAG,OAAO,CAAA;AAEjB,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,OAA0B,EAC1B,OAAyB,EAC2B,EAAE;IACtD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IACvC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;IACzC,GAAG,CAAC,YAAY,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC1C,IAAI,UAAU,EAAE;QACd,GAAG,CAAC,+BAA+B,GAAG,UAAU,CAAA;KACjD;IACD,IAAI,OAAO,EAAE;QACX,GAAG,CAAC,2BAA2B,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;KAClD;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAA;AACzB,CAAC,CAAA","sourcesContent":["import { ProcessEnvOptions } from 'child_process'\nimport { nodeOptionsEnv } from './node-options-env.js'\n\nexport type WithExternalID<T> = T & { externalID?: string }\nconst p = process\n\nexport const spawnOpts = <T extends { [k: string]: any }>(\n options: WithExternalID<T>,\n exclude?: RegExp | string\n): Omit<T, 'externalID'> & { env: ProcessEnvOptions } => {\n const { externalID, ...rest } = options\n const env = { ...(options.env || p.env) }\n env.NODE_OPTIONS = nodeOptionsEnv(env, [])\n if (externalID) {\n env._TAPJS_PROCESSINFO_EXTERNAL_ID_ = externalID\n }\n if (exclude) {\n env._TAPJS_PROCESSINFO_EXCLUDE_ = String(exclude)\n }\n return { ...rest, env }\n}\n"]}
1
+ {"version":3,"file":"spawn-opts.js","sourceRoot":"","sources":["../../src/spawn-opts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD,MAAM,CAAC,GAAG,OAAO,CAAA;AAEjB,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,OAA0B,EAC1B,OAAyB,EAC2B,EAAE;IACtD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IACvC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;IACzC,GAAG,CAAC,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IACtC,IAAI,UAAU,EAAE;QACd,GAAG,CAAC,+BAA+B,GAAG,UAAU,CAAA;KACjD;IACD,IAAI,OAAO,EAAE;QACX,GAAG,CAAC,2BAA2B,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;KAClD;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAA;AACzB,CAAC,CAAA","sourcesContent":["import { ProcessEnvOptions } from 'child_process'\nimport { nodeOptionsEnv } from './node-options-env.js'\n\nexport type WithExternalID<T> = T & { externalID?: string }\nconst p = process\n\nexport const spawnOpts = <T extends { [k: string]: any }>(\n options: WithExternalID<T>,\n exclude?: RegExp | string\n): Omit<T, 'externalID'> & { env: ProcessEnvOptions } => {\n const { externalID, ...rest } = options\n const env = { ...(options.env || p.env) }\n env.NODE_OPTIONS = nodeOptionsEnv(env)\n if (externalID) {\n env._TAPJS_PROCESSINFO_EXTERNAL_ID_ = externalID\n }\n if (exclude) {\n env._TAPJS_PROCESSINFO_EXCLUDE_ = String(exclude)\n }\n return { ...rest, env }\n}\n"]}
package/package.json CHANGED
@@ -1,9 +1,6 @@
1
1
  {
2
2
  "name": "@tapjs/processinfo",
3
- "version": "2.5.6",
4
- "main": "./dist/cjs/index.js",
5
- "types": "./dist/cjs/index.d.ts",
6
- "module": "./dist/mjs/esm.mjs",
3
+ "version": "3.0.1",
7
4
  "files": [
8
5
  "dist"
9
6
  ],
@@ -14,24 +11,24 @@
14
11
  },
15
12
  ".": {
16
13
  "import": {
17
- "types": "./dist/mjs/esm.d.mts",
18
- "default": "./dist/mjs/esm.mjs"
14
+ "types": "./dist/mjs/index.d.ts",
15
+ "default": "./dist/mjs/index.js"
19
16
  },
20
17
  "require": {
21
18
  "types": "./dist/cjs/index.d.ts",
22
19
  "default": "./dist/cjs/index.js"
23
20
  }
24
21
  },
25
- "./esm": {
22
+ "./loader": {
26
23
  "import": {
27
- "types": "./dist/mjs/esm.d.mts",
28
- "default": "./dist/mjs/esm.mjs"
24
+ "types": "./dist/mjs/loader-legacy.d.mts",
25
+ "default": "./dist/mjs/loader-legacy.mjs"
29
26
  }
30
27
  },
31
- "./cjs": {
32
- "require": {
33
- "types": "./dist/mjs/cjs.d.mts",
34
- "default": "./lib/cjs.cjs"
28
+ "./import": {
29
+ "import": {
30
+ "types": "./dist/mjs/import.d.mts",
31
+ "default": "./dist/mjs/import.mjs"
35
32
  }
36
33
  }
37
34
  },
@@ -40,7 +37,7 @@
40
37
  "postversion": "npm publish",
41
38
  "prepublishOnly": "git push origin --follow-tags",
42
39
  "preprepare": "rm -rf dist",
43
- "prepare": "tsc -p tsconfig.json && tsc -p tsconfig-esm.json && bash ./scripts/fixup.sh",
40
+ "prepare": "tsc -p tsconfig/cjs.json && tsc -p tsconfig/esm.json && bash ./scripts/fixup.sh",
44
41
  "pretest": "npm run prepare",
45
42
  "presnap": "npm run prepare",
46
43
  "test": "c8 tap",
@@ -56,6 +53,10 @@
56
53
  "--loader",
57
54
  "ts-node/esm"
58
55
  ],
56
+ "test-env": [
57
+ "TS_NODE_PROJECT=tsconfig/test.json",
58
+ "_TAPJS_PROCESSINFO_EXCLUDE_=/.*[\\/\\\\]test-processinfo-exclude.js$/"
59
+ ],
59
60
  "ts": false
60
61
  },
61
62
  "prettier": {
@@ -88,6 +89,7 @@
88
89
  "c8": "^7.13.0",
89
90
  "diff": "^5.0.0",
90
91
  "prettier": "^2.6.2",
92
+ "sync-content": "^1.0.2",
91
93
  "tap": "^16.3.0",
92
94
  "ts-node": "^10.9.1",
93
95
  "typedoc": "^0.24.8",
package/dist/cjs/cjs.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cjs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cjs.d.ts","sourceRoot":"","sources":["../../lib/cjs.ts"],"names":[],"mappings":""}
package/dist/cjs/cjs.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const register_cjs_js_1 = require("./register-cjs.js");
4
- (0, register_cjs_js_1.register)();
5
- //# sourceMappingURL=cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cjs.js","sourceRoot":"","sources":["../../lib/cjs.ts"],"names":[],"mappings":";;AAAA,uDAA4C;AAC5C,IAAA,0BAAQ,GAAE,CAAA","sourcesContent":["import { register } from './register-cjs.js'\nregister()\n"]}
@@ -1,2 +0,0 @@
1
- export declare const register: () => void;
2
- //# sourceMappingURL=register-cjs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register-cjs.d.ts","sourceRoot":"","sources":["../../lib/register-cjs.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,QAAQ,YAgBpB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"register-cjs.js","sourceRoot":"","sources":["../../lib/register-cjs.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AACjE,MAAM,CAAC,GAAG,MAET,CAAA;AAED,MAAM,CAAC,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,UAAU,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;IAChE,OAAO,CACL,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;QACjB,cAAc,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACrC,eAAe,CAAC,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","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":"require-resolve.d.ts","sourceRoot":"","sources":["../../lib/require-resolve.ts"],"names":[],"mappings":";AAOA,eAAO,MAAQ,OAAO,uBAAmC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"require-resolve.js","sourceRoot":"","sources":["../../lib/require-resolve.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,kDAAkD;AAClD,wEAAwE;AACxE,yEAAyE;AACzE,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,YAAY;AACZ,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA","sourcesContent":["// This is only the ESM version. For CJS, it's overwritten\n// by the implementation in require-resolve-cjs.ts\n// This only works because all of this package's modules are in the same\n// folder, so effectively have the same require.resolve results. It's not\n// intended to be portable!\nimport { createRequire } from 'module'\n//@ts-ignore\nexport const { resolve } = createRequire(import.meta.url)\n"]}
File without changes
File without changes