supercov 0.0.9 → 0.0.11

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 (100) hide show
  1. package/bin/native.js +87 -0
  2. package/bin/supercov.js +20 -3
  3. package/dist/agentJson.d.ts +2 -1
  4. package/dist/agentJson.d.ts.map +1 -1
  5. package/dist/agentJson.js +18 -0
  6. package/dist/agentJson.js.map +1 -1
  7. package/dist/analyze.d.ts.map +1 -1
  8. package/dist/analyze.js +9 -4
  9. package/dist/analyze.js.map +1 -1
  10. package/dist/cli.js +115 -24
  11. package/dist/cli.js.map +1 -1
  12. package/dist/directInstrumenter.d.ts.map +1 -1
  13. package/dist/directInstrumenter.js +39 -19
  14. package/dist/directInstrumenter.js.map +1 -1
  15. package/dist/engineEvidence.d.ts +9 -0
  16. package/dist/engineEvidence.d.ts.map +1 -0
  17. package/dist/engineEvidence.js +31 -0
  18. package/dist/engineEvidence.js.map +1 -0
  19. package/dist/engineInstrumenter.d.ts +16 -0
  20. package/dist/engineInstrumenter.d.ts.map +1 -0
  21. package/dist/engineInstrumenter.js +50 -0
  22. package/dist/engineInstrumenter.js.map +1 -0
  23. package/dist/engineProcess.d.ts +11 -0
  24. package/dist/engineProcess.d.ts.map +1 -0
  25. package/dist/engineProcess.js +59 -0
  26. package/dist/engineProcess.js.map +1 -0
  27. package/dist/evidenceArchive.d.ts +1 -0
  28. package/dist/evidenceArchive.d.ts.map +1 -1
  29. package/dist/evidenceArchive.js +59 -13
  30. package/dist/evidenceArchive.js.map +1 -1
  31. package/dist/instrumenter.d.ts +8 -1
  32. package/dist/instrumenter.d.ts.map +1 -1
  33. package/dist/instrumenter.js +478 -80
  34. package/dist/instrumenter.js.map +1 -1
  35. package/dist/integrity.d.ts.map +1 -1
  36. package/dist/integrity.js +9 -1
  37. package/dist/integrity.js.map +1 -1
  38. package/dist/launchSupervisor.d.ts.map +1 -1
  39. package/dist/launchSupervisor.js +3 -0
  40. package/dist/launchSupervisor.js.map +1 -1
  41. package/dist/merge.d.ts.map +1 -1
  42. package/dist/merge.js +9 -6
  43. package/dist/merge.js.map +1 -1
  44. package/dist/nodeAssertionInstrumenter.d.ts +2 -2
  45. package/dist/nodeAssertionInstrumenter.d.ts.map +1 -1
  46. package/dist/nodeAssertionInstrumenter.js +12 -4
  47. package/dist/nodeAssertionInstrumenter.js.map +1 -1
  48. package/dist/nodeTest.d.ts.map +1 -1
  49. package/dist/nodeTest.js +13 -4
  50. package/dist/nodeTest.js.map +1 -1
  51. package/dist/playwright.d.ts.map +1 -1
  52. package/dist/playwright.js +177 -89
  53. package/dist/playwright.js.map +1 -1
  54. package/dist/processDiagnostics.d.ts +34 -0
  55. package/dist/processDiagnostics.d.ts.map +1 -0
  56. package/dist/processDiagnostics.js +155 -0
  57. package/dist/processDiagnostics.js.map +1 -0
  58. package/dist/project.d.ts +1 -0
  59. package/dist/project.d.ts.map +1 -1
  60. package/dist/project.js +39 -4
  61. package/dist/project.js.map +1 -1
  62. package/dist/query.d.ts +11 -0
  63. package/dist/query.d.ts.map +1 -1
  64. package/dist/query.js +224 -11
  65. package/dist/query.js.map +1 -1
  66. package/dist/register.mjs +52 -0
  67. package/dist/register.mjs.map +1 -1
  68. package/dist/resolve-loader.d.mts.map +1 -1
  69. package/dist/resolve-loader.mjs +8 -2
  70. package/dist/resolve-loader.mjs.map +1 -1
  71. package/dist/runAnalysis.d.ts.map +1 -1
  72. package/dist/runAnalysis.js +3 -1
  73. package/dist/runAnalysis.js.map +1 -1
  74. package/dist/runnerEvidence.d.ts +2 -2
  75. package/dist/runnerEvidence.d.ts.map +1 -1
  76. package/dist/runnerEvidence.js +6 -4
  77. package/dist/runnerEvidence.js.map +1 -1
  78. package/dist/runtime.d.ts +56 -4
  79. package/dist/runtime.d.ts.map +1 -1
  80. package/dist/runtime.js +308 -27
  81. package/dist/runtime.js.map +1 -1
  82. package/dist/sourceDiscovery.d.ts.map +1 -1
  83. package/dist/sourceDiscovery.js +6 -2
  84. package/dist/sourceDiscovery.js.map +1 -1
  85. package/dist/transport.js +2 -2
  86. package/dist/transport.js.map +1 -1
  87. package/dist/vitePlugin.d.ts.map +1 -1
  88. package/dist/vitePlugin.js +21 -7
  89. package/dist/vitePlugin.js.map +1 -1
  90. package/dist/vitest.js +38 -7
  91. package/dist/vitest.js.map +1 -1
  92. package/dist/waivers.d.ts +52 -0
  93. package/dist/waivers.d.ts.map +1 -0
  94. package/dist/waivers.js +121 -0
  95. package/dist/waivers.js.map +1 -0
  96. package/dist/workspace.d.ts +36 -0
  97. package/dist/workspace.d.ts.map +1 -1
  98. package/dist/workspace.js +212 -36
  99. package/dist/workspace.js.map +1 -1
  100. package/package.json +29 -3
@@ -6,7 +6,11 @@ const DECLARATION_PATTERN = /\.d\.[cm]?ts$/i;
6
6
  const TEST_FILE_PATTERN = /(?:^|[/_.-])(?:test|spec)(?:[/_.-]|$)/i;
7
7
  const TEST_DIRECTORY_PATTERN = /(?:^|\/)(?:__tests__|test|tests|spec|specs|e2e|fixtures?|mocks?|__mocks__)(?:\/|$)/i;
8
8
  const TOOL_DIRECTORY_PATTERN = /(?:^|\/)(?:scripts)(?:\/|$)/i;
9
- const CONFIG_PATTERN = /(?:^|\/)(?:(?:babel|eslint|graphql|jest|next|nuxt|playwright|postcss|prettier|remix|rollup|stylelint|tailwind|tsup|vite|vitest|webpack)\.config\.[cm]?[jt]s|\.(?:babel|eslint|graphql|prettier|stylelint)rc\.[cm]?[jt]s)$/i;
9
+ // Known tool configs are excluded anywhere; at the project root, any
10
+ // "<tool>.config.*" follows the same convention (tsdown, lint-staged, ...)
11
+ // and is tool configuration, not application source.
12
+ const CONFIG_PATTERN = /(?:^|\/)(?:(?:babel|eslint|graphql|jest|next|nuxt|playwright|postcss|prettier|remix|rollup|stylelint|tailwind|tsup|vite|vitest|webpack)\.config\.[cm]?[jt]s|\.(?:babel|eslint|graphql|prettier|stylelint)rc\.[cm]?[jt]s)$|^[^/]+\.config\.[cm]?[jt]s$/i;
13
+ const ROOT_BUILD_SCRIPT_PATTERN = /^(?:build|gulpfile|gruntfile)\.[cm]?[jt]sx?$/i;
10
14
  const GENERATED_DIRECTORIES = new Map([
11
15
  [".cache", "generated tool cache"],
12
16
  [".git", "version-control metadata"],
@@ -201,7 +205,7 @@ export function discoverSourceScope(root, configuredRoots) {
201
205
  entries.push({ file, status: "excluded", reason: "conventional tool script", ...withPackage });
202
206
  continue;
203
207
  }
204
- if (CONFIG_PATTERN.test(file)) {
208
+ if (CONFIG_PATTERN.test(file) || ROOT_BUILD_SCRIPT_PATTERN.test(file)) {
205
209
  entries.push({ file, status: "excluded", reason: "build/test/tool configuration", ...withPackage });
206
210
  continue;
207
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sourceDiscovery.js","sourceRoot":"","sources":["../src/sourceDiscovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAW,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAO5D,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAC1C,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAC7C,MAAM,iBAAiB,GAAG,wCAAwC,CAAC;AACnE,MAAM,sBAAsB,GAAG,qFAAqF,CAAC;AACrH,MAAM,sBAAsB,GAAG,8BAA8B,CAAC;AAC9D,MAAM,cAAc,GAAG,4NAA4N,CAAC;AACpP,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAiB;IACpD,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAClC,CAAC,MAAM,EAAE,0BAA0B,CAAC;IACpC,CAAC,OAAO,EAAE,0BAA0B,CAAC;IACrC,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAClC,CAAC,SAAS,EAAE,4BAA4B,CAAC;IACzC,CAAC,WAAW,EAAE,qBAAqB,CAAC;IACpC,CAAC,OAAO,EAAE,wBAAwB,CAAC;IACnC,CAAC,UAAU,EAAE,2BAA2B,CAAC;IACzC,CAAC,MAAM,EAAE,+BAA+B,CAAC;IACzC,CAAC,cAAc,EAAE,0BAA0B,CAAC;IAC5C,CAAC,KAAK,EAAE,2BAA2B,CAAC;IACpC,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;IAC9C,CAAC,SAAS,EAAE,uBAAuB,CAAC;IACpC,CAAC,cAAc,EAAE,uBAAuB,CAAC;IACzC,CAAC,QAAQ,EAAE,uBAAuB,CAAC;CACpC,CAAC,CAAC;AACH,MAAM,+BAA+B,GAAG;IACtC,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,KAAK;CACN,CAAC;AACF,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,MAAM;IACN,UAAU;IACV,UAAU;IACV,YAAY;CACb,CAAC,CAAC;AAkBH,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,KAAK,IAAI,GAAG,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAoB,CAAC;IACjG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI;IAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5E,OAAO,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvE,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAQ,EAAE;QACvD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO;QAChD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IACE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBACzC,CAAC,KAAK,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpF,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAK,GAAG,CAAC;IAC9C,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,QAAyB;IAChE,MAAM,OAAO,GAAG;QACd,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjC,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClC,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC9B,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;KACnC,CAAC;IACF,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAChC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1E,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACtE,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;aAClC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;aAChC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAGjC,CAAC;QACF,MAAM,MAAM,GAAG;YACb,MAAM,CAAC,eAAe,EAAE,OAAO;YAC/B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,qEAAqE;QACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACxE,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;YACrE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,MAAc,EAAE,KAAa;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,QAAkB;IAC1D,OAAO,CAAC,GAAG,QAAQ,CAAC;SACjB,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SAC9C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO;QACL,EAAE,EAAE,SAAS,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC3E,IAAI,EAAE,cAAc;QACpB,IAAI;QACJ,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,MAAM,EACJ,oKAAoK;KACvK,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,eAA0B;IAE1B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,eAAgB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO;gBACL,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC1E,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC;gBACpC,GAAG,aAAa,CAAC,SAAS,CAAC;aAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;SAC7C,MAAM,CAAC,UAAU,CAAC;SAClB,IAAI,EAAE,CAAC;IACV,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAyB,EAAE,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,WAAW,GAAG,WAAW,IAAI,WAAW,KAAK,GAAG;YACpD,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE;YAC9B,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;YAC7F,SAAS;QACX,CAAC;QACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;YAC7F,SAAS;QACX,CAAC;QACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,0BAA0B,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;YAC/F,SAAS;QACX,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,+BAA+B,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;YACpG,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACnD,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CACjF,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gCAAgC;gBAC5E,GAAG,WAAW;aACf,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,+BAA+B,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;YACpG,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iCAAiC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;QACvG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChE,KAAK,EAAE;YACL,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;YACzC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1D,OAAO;SACR;QACD,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sourceDiscovery.js","sourceRoot":"","sources":["../src/sourceDiscovery.ts"],"names":[],"mappings":"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"}
package/dist/transport.js CHANGED
@@ -94,10 +94,10 @@ export function serverRunEvidenceDirectory(runId, root = configuredServerEvidenc
94
94
  return `${root.replace(/\/+$/, "")}/${pathComponent(runId)}`;
95
95
  }
96
96
  export function serverEvidenceDirectory(scope, root = configuredServerEvidenceRoot()) {
97
- return `${serverRunEvidenceDirectory(scope.runId, root)}/${pathComponent(scope.workerId)}/${scope.testKey}/${scope.retry}`;
97
+ return `${serverRunEvidenceDirectory(scope.runId, root)}/attempts`;
98
98
  }
99
99
  export function serverEvidencePath(scope, root = configuredServerEvidenceRoot()) {
100
- return `${serverEvidenceDirectory(scope, root)}/server.jsonl`;
100
+ return `${serverEvidenceDirectory(scope, root)}/${pathComponent(scope.attemptId)}.jsonl`;
101
101
  }
102
102
  export function backgroundEvidenceDirectory(runId, root = configuredServerEvidenceRoot()) {
103
103
  return `${serverRunEvidenceDirectory(runId, root)}/background`;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vitePlugin.d.ts","sourceRoot":"","sources":["../src/vitePlugin.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAEV,kBAAkB,EAGlB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAiJ1E"}
1
+ {"version":3,"file":"vitePlugin.d.ts","sourceRoot":"","sources":["../src/vitePlugin.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,KAAK,EAEV,kBAAkB,EAGlB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAgK1E"}
@@ -1,7 +1,8 @@
1
1
  import { existsSync, mkdirSync, readFileSync, readdirSync, } from "node:fs";
2
2
  import { dirname, relative, resolve, sep } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- import { instrumentMcdc, mcdcRuntimeModuleId } from "./instrumenter.js";
4
+ import { mcdcRuntimeModuleId } from "./instrumenter.js";
5
+ import { instrumentSource, instrumentSources } from "./engineInstrumenter.js";
5
6
  import { atomicWriteFileSync } from "./atomic.js";
6
7
  export function mcdcVitePlugin(options = {}) {
7
8
  const root = options.root ?? process.cwd();
@@ -24,6 +25,7 @@ export function mcdcVitePlugin(options = {}) {
24
25
  const points = new Map();
25
26
  const branches = new Map();
26
27
  const limitations = new Map();
28
+ const instrumentedById = new Map();
27
29
  for (const limitation of options.sourceLimitations ?? [])
28
30
  limitations.set(limitation.id, limitation);
29
31
  const recordManifest = (manifest) => {
@@ -83,11 +85,20 @@ export function mcdcVitePlugin(options = {}) {
83
85
  // source file up front so never-imported executable code is still in the
84
86
  // denominator and appears as uncovered rather than disappearing.
85
87
  const inventory = configuredSourceFiles ?? sourceRoots.flatMap(sourceFiles);
86
- for (const id of inventory) {
87
- if (existsSync(id)) {
88
- const file = relative(root, id).split(sep).join("/");
89
- recordManifest(instrumentMcdc(readFileSync(id, "utf8"), file).manifest);
90
- }
88
+ const pending = inventory.flatMap((id) => {
89
+ if (!existsSync(id))
90
+ return [];
91
+ return [{
92
+ id,
93
+ file: relative(root, id).split(sep).join("/"),
94
+ source: readFileSync(id, "utf8"),
95
+ }];
96
+ });
97
+ const results = instrumentSources(pending.map(({ file, source }) => ({ file, source })));
98
+ for (const [index, entry] of pending.entries()) {
99
+ const result = results[index];
100
+ instrumentedById.set(entry.id, { source: entry.source, result });
101
+ recordManifest(result.manifest);
91
102
  }
92
103
  },
93
104
  transform(code, rawId) {
@@ -98,7 +109,10 @@ export function mcdcVitePlugin(options = {}) {
98
109
  !/\.[cm]?[jt]sx?$/.test(id))
99
110
  return null;
100
111
  const file = relative(root, id).split(sep).join("/");
101
- const result = instrumentMcdc(code, file);
112
+ const cached = instrumentedById.get(id);
113
+ const result = cached?.source === code
114
+ ? cached.result
115
+ : instrumentSource(code, file);
102
116
  recordManifest(result.manifest);
103
117
  return {
104
118
  code: result.code,
@@ -1 +1 @@
1
- {"version":3,"file":"vitePlugin.js","sourceRoot":"","sources":["../src/vitePlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitePlugin.js","sourceRoot":"","sources":["../src/vitePlugin.ts"],"names":[],"mappings":"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"}
package/dist/vitest.js CHANGED
@@ -1,15 +1,26 @@
1
+ import { createHash } from "node:crypto";
1
2
  import { mkdirSync } from "node:fs";
2
3
  import { relative, resolve, sep } from "node:path";
3
4
  import { afterEach, beforeEach } from "vitest";
4
- import { coverageSnapshot, enableRuntimeSnapshotEvidence, resetCoverage, } from "./runtime.js";
5
+ import { coverageSnapshot as localCoverageSnapshot, activateCoverageScope as localActivateCoverageScope, enableRuntimeSnapshotEvidence as localEnableRuntimeSnapshotEvidence, resetCoverage as localResetCoverage, takeNodeAssertionPhases as localTakeNodeAssertionPhases, } from "./runtime.js";
5
6
  import { inferTestProvenance } from "./provenance.js";
6
7
  import { atomicWriteFileSync } from "./atomic.js";
7
8
  const evidenceDirectory = process.env["SUPERCOV_EVIDENCE_DIR"];
8
9
  const emittedSetupFiles = new Set();
10
+ const attempts = new Map();
11
+ const activeScopes = new Map();
12
+ const runtimeGlobal = globalThis;
13
+ const runtime = runtimeGlobal.__SUPERCOV_DIRECT_RUNTIME__ ?? {
14
+ activateCoverageScope: localActivateCoverageScope,
15
+ coverageSnapshot: localCoverageSnapshot,
16
+ enableRuntimeSnapshotEvidence: localEnableRuntimeSnapshotEvidence,
17
+ resetCoverage: localResetCoverage,
18
+ takeNodeAssertionPhases: localTakeNodeAssertionPhases,
19
+ };
9
20
  // Vitest persists one in-memory runtime snapshot per test. Writing the same
10
21
  // events through the server JSONL transport would be both redundant and
11
22
  // unattributed, and turns hot unit-test loops into synchronous filesystem IO.
12
- enableRuntimeSnapshotEvidence();
23
+ runtime.enableRuntimeSnapshotEvidence();
13
24
  function attemptStatus(state) {
14
25
  if (state === "pass")
15
26
  return "passed";
@@ -42,7 +53,7 @@ beforeEach((context) => {
42
53
  .join("/");
43
54
  if (!emittedSetupFiles.has(testFile)) {
44
55
  emittedSetupFiles.add(testFile);
45
- const setupSnapshot = coverageSnapshot();
56
+ const setupSnapshot = runtime.coverageSnapshot();
46
57
  if (setupSnapshot.hits.length || setupSnapshot.decisions.length) {
47
58
  writeEvidence({
48
59
  testId: `vitest:${task.file.id}:setup`,
@@ -64,16 +75,33 @@ beforeEach((context) => {
64
75
  }, `vitest-${task.file.id}-setup`);
65
76
  }
66
77
  }
67
- resetCoverage(`vitest:${task.id}`);
78
+ const testId = `vitest:${task.id}`;
79
+ const retry = attempts.get(testId) ?? 0;
80
+ attempts.set(testId, retry + 1);
81
+ const testKey = createHash("sha256").update(testId).digest("hex").slice(0, 24);
82
+ const scope = {
83
+ version: 1,
84
+ runId: process.env["SUPERCOV_RUN_ID"] ?? "unscoped",
85
+ workerId: `vitest-${process.env["VITEST_POOL_ID"] ?? process.pid}`,
86
+ testId,
87
+ testKey,
88
+ retry,
89
+ attemptId: `${testKey}-${retry}`,
90
+ };
91
+ activeScopes.set(task.id, scope);
92
+ runtime.activateCoverageScope(scope);
93
+ runtime.resetCoverage(testId);
68
94
  });
69
95
  afterEach((context) => {
70
96
  const task = context.task;
71
97
  const testFile = relative(process.cwd(), task.file.filepath)
72
98
  .split(sep)
73
99
  .join("/");
74
- const retry = task.result?.retryCount ?? 0;
100
+ const scope = activeScopes.get(task.id);
101
+ const retry = scope?.retry ?? task.result?.retryCount ?? 0;
75
102
  const payload = {
76
- testId: `vitest:${task.id}`,
103
+ testId: scope?.testId ?? `vitest:${task.id}`,
104
+ ...(scope ? { scope } : {}),
77
105
  test: [...titlePath(task)].join(" > "),
78
106
  testFile,
79
107
  title: task.name,
@@ -85,10 +113,13 @@ afterEach((context) => {
85
113
  project: task.file.projectName,
86
114
  explicitKind: process.env["SUPERCOV_TEST_KIND"],
87
115
  }),
88
- runtime: [coverageSnapshot()],
116
+ ...(scope ? { phases: runtime.takeNodeAssertionPhases(scope) } : {}),
117
+ runtime: [runtime.coverageSnapshot()],
89
118
  browser: [],
90
119
  server: [],
91
120
  };
92
121
  writeEvidence(payload, `vitest-${task.id}-${retry}`);
122
+ activeScopes.delete(task.id);
123
+ runtime.activateCoverageScope();
93
124
  });
94
125
  //# sourceMappingURL=vitest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { McdcDecisionResult } from "./types.ts";
2
+ export declare const WAIVERS_FILE = "supercov.waivers.json";
3
+ export declare const WAIVERS_SCHEMA_VERSION = 1;
4
+ /**
5
+ * A reviewed statement that one MC/DC condition has no satisfiable
6
+ * independence pair. Waivers never change measured coverage: waived
7
+ * conditions stay uncovered in every raw total and are reported as a
8
+ * separate category alongside them.
9
+ */
10
+ export interface CoverageWaiver {
11
+ file: string;
12
+ /** Decision ID or the decision's exact source text (whitespace-insensitive). */
13
+ decision?: string;
14
+ /** Disambiguates identical decision sources at different locations. */
15
+ line?: number;
16
+ /** Condition source text (whitespace-insensitive), or "C<n>" with a decision. */
17
+ condition: string;
18
+ reason: string;
19
+ }
20
+ export interface CoverageWaiverMatch {
21
+ waiver: CoverageWaiver;
22
+ decisionId: string;
23
+ file: string;
24
+ line: number;
25
+ conditionIndex: number;
26
+ conditionSource: string;
27
+ /** A waiver on a condition that is actually covered contradicts the review. */
28
+ covered: boolean;
29
+ }
30
+ export interface CoverageWaiverEvaluation {
31
+ path: string;
32
+ waivers: CoverageWaiver[];
33
+ /** Uncovered conditions excused by a reviewed waiver. */
34
+ applied: CoverageWaiverMatch[];
35
+ /** Waivers whose condition the run proves covered. */
36
+ contradicted: CoverageWaiverMatch[];
37
+ /** Waivers that match no decision condition in this run. */
38
+ unmatched: CoverageWaiver[];
39
+ /** decision ID -> condition index -> waiver, for annotating views. */
40
+ waivedByDecision: Map<string, Map<number, CoverageWaiver>>;
41
+ /** file -> count of applied waivers, for per-file gap views. */
42
+ appliedByFile: Map<string, number>;
43
+ }
44
+ export declare function readCoverageWaivers(root: string): {
45
+ path: string;
46
+ waivers: CoverageWaiver[];
47
+ } | undefined;
48
+ export declare function evaluateCoverageWaivers(decisions: McdcDecisionResult[], source: {
49
+ path: string;
50
+ waivers: CoverageWaiver[];
51
+ }): CoverageWaiverEvaluation;
52
+ //# sourceMappingURL=waivers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waivers.d.ts","sourceRoot":"","sources":["../src/waivers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,YAAY,0BAA0B,CAAC;AACpD,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,yDAAyD;IACzD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,sDAAsD;IACtD,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,4DAA4D;IAC5D,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,sEAAsE;IACtE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3D,gEAAgE;IAChE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAcD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,SAAS,CAuDzD;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,kBAAkB,EAAE,EAC/B,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,GAClD,wBAAwB,CAmE1B"}
@@ -0,0 +1,121 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { SupercovError } from "./agentJson.js";
4
+ export const WAIVERS_FILE = "supercov.waivers.json";
5
+ export const WAIVERS_SCHEMA_VERSION = 1;
6
+ function normalizedSource(source) {
7
+ return source.replace(/\s+/g, " ").trim();
8
+ }
9
+ function invalidWaiver(index, problem) {
10
+ return new SupercovError("INVALID_ARGUMENT", `${WAIVERS_FILE} waiver ${index + 1} ${problem}`, { details: { file: WAIVERS_FILE, waiver: index + 1 } });
11
+ }
12
+ export function readCoverageWaivers(root) {
13
+ const path = resolve(root, WAIVERS_FILE);
14
+ let raw;
15
+ try {
16
+ raw = readFileSync(path, "utf8");
17
+ }
18
+ catch {
19
+ return undefined;
20
+ }
21
+ let parsed;
22
+ try {
23
+ parsed = JSON.parse(raw);
24
+ }
25
+ catch (error) {
26
+ throw new SupercovError("INVALID_ARGUMENT", `${WAIVERS_FILE} is not valid JSON: ${error instanceof Error ? error.message : String(error)}`, { details: { file: WAIVERS_FILE } });
27
+ }
28
+ const record = parsed;
29
+ if (record?.version !== WAIVERS_SCHEMA_VERSION || !Array.isArray(record.waivers)) {
30
+ throw new SupercovError("INVALID_ARGUMENT", `${WAIVERS_FILE} must be {"version": 1, "waivers": [...]}`, { details: { file: WAIVERS_FILE } });
31
+ }
32
+ const waivers = record.waivers.map((entry, index) => {
33
+ const waiver = entry;
34
+ if (typeof waiver?.file !== "string" || waiver.file.length === 0)
35
+ throw invalidWaiver(index, "requires a non-empty file");
36
+ if (typeof waiver.condition !== "string" || waiver.condition.length === 0)
37
+ throw invalidWaiver(index, "requires a non-empty condition");
38
+ if (typeof waiver.reason !== "string" || waiver.reason.trim().length === 0)
39
+ throw invalidWaiver(index, "requires a non-empty reason");
40
+ if (waiver.decision !== undefined && typeof waiver.decision !== "string")
41
+ throw invalidWaiver(index, "has a non-string decision");
42
+ if (waiver.line !== undefined &&
43
+ (!Number.isSafeInteger(waiver.line) || waiver.line < 1))
44
+ throw invalidWaiver(index, "has a non-positive line");
45
+ if (/^C\d+$/.test(waiver.condition) && !waiver.decision)
46
+ throw invalidWaiver(index, `uses the positional condition ${waiver.condition} without a decision`);
47
+ return {
48
+ file: waiver.file,
49
+ ...(waiver.decision !== undefined ? { decision: waiver.decision } : {}),
50
+ ...(waiver.line !== undefined ? { line: waiver.line } : {}),
51
+ condition: waiver.condition,
52
+ reason: waiver.reason,
53
+ };
54
+ });
55
+ return { path, waivers };
56
+ }
57
+ export function evaluateCoverageWaivers(decisions, source) {
58
+ const applied = [];
59
+ const contradicted = [];
60
+ const unmatched = [];
61
+ const waivedByDecision = new Map();
62
+ const appliedByFile = new Map();
63
+ for (const waiver of source.waivers) {
64
+ const matches = [];
65
+ for (const decision of decisions) {
66
+ if (decision.meta.file !== waiver.file)
67
+ continue;
68
+ if (waiver.line !== undefined && decision.meta.line !== waiver.line)
69
+ continue;
70
+ if (waiver.decision !== undefined &&
71
+ decision.meta.id !== waiver.decision &&
72
+ normalizedSource(decision.meta.source) !==
73
+ normalizedSource(waiver.decision))
74
+ continue;
75
+ for (const condition of decision.conditions) {
76
+ const positional = `C${condition.index + 1}`;
77
+ if (waiver.condition !== positional &&
78
+ normalizedSource(condition.source) !==
79
+ normalizedSource(waiver.condition))
80
+ continue;
81
+ matches.push({
82
+ waiver,
83
+ decisionId: decision.meta.id,
84
+ file: decision.meta.file,
85
+ line: decision.meta.line,
86
+ conditionIndex: condition.index,
87
+ conditionSource: condition.source,
88
+ covered: condition.covered,
89
+ });
90
+ }
91
+ }
92
+ if (matches.length === 0) {
93
+ unmatched.push(waiver);
94
+ continue;
95
+ }
96
+ for (const match of matches) {
97
+ if (match.covered) {
98
+ contradicted.push(match);
99
+ continue;
100
+ }
101
+ const byCondition = waivedByDecision.get(match.decisionId) ??
102
+ new Map();
103
+ if (byCondition.has(match.conditionIndex))
104
+ continue;
105
+ applied.push(match);
106
+ byCondition.set(match.conditionIndex, match.waiver);
107
+ waivedByDecision.set(match.decisionId, byCondition);
108
+ appliedByFile.set(match.file, (appliedByFile.get(match.file) ?? 0) + 1);
109
+ }
110
+ }
111
+ return {
112
+ path: source.path,
113
+ waivers: source.waivers,
114
+ applied,
115
+ contradicted,
116
+ unmatched,
117
+ waivedByDecision,
118
+ appliedByFile,
119
+ };
120
+ }
121
+ //# sourceMappingURL=waivers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waivers.js","sourceRoot":"","sources":["../src/waivers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare const RUN_STORE_CONTRACT_VERSION = 1;
1
2
  export type RunStateStatus = "preparing" | "building" | "testing" | "publishing" | "complete" | "failed" | "interrupted" | "abandoned";
2
3
  export interface RunState {
3
4
  id: string;
@@ -10,6 +11,30 @@ export interface RunState {
10
11
  signal?: NodeJS.Signals;
11
12
  error?: string;
12
13
  }
14
+ /**
15
+ * Unlinking a large tree (workspace copies, per-attempt evidence) can take
16
+ * minutes of uninterruptible I/O — observed at 26+ minutes on a real project.
17
+ * Removal must never block the command: rename the tree into the store's
18
+ * trash (atomic on the same filesystem, so the path disappears instantly) and
19
+ * let a detached deleter unlink it after this process has already returned.
20
+ * A crash between rename and unlink just leaves the entry in the trash, and
21
+ * every later invocation sweeps whatever it finds there.
22
+ */
23
+ export declare function removeStoredTreeDeferred(root: string, target: string): string | undefined;
24
+ /** The detached deleter's whole program; also executed verbatim by tests. */
25
+ export declare const TRASH_DELETER_SCRIPT: string;
26
+ /** Unlink everything in the trash without making anyone wait for it. */
27
+ export declare function spawnTrashDeleter(root: string): void;
28
+ /**
29
+ * The instrumented workspace deliberately lives outside the dotted store.
30
+ * Widely used libraries treat *any* dot-prefixed path segment as a hidden
31
+ * dotfile — `send` (and therefore `express.static`, `serve-static` and
32
+ * `res.sendFile`) answers 404 for them by default — so an application under
33
+ * test cannot serve its own files from a dotted workspace. Copied test files
34
+ * are kept out of the user's ordinary runner discovery by
35
+ * `pruneCachedWorkspaceSources` at run end, not by hiding the path.
36
+ */
37
+ export declare function workspaceContainerPath(root: string): string;
13
38
  export declare function isolatedWorkspacePath(root: string, runId: string): string;
14
39
  /**
15
40
  * Stable isolated namespace used as a live mount by VM/container runners.
@@ -18,6 +43,17 @@ export declare function isolatedWorkspacePath(root: string, runId: string): stri
18
43
  * The project lock makes refreshes single-writer.
19
44
  */
20
45
  export declare function cachedWorkspacePath(root: string): string;
46
+ /**
47
+ * Remove the copied source and test files from the stable cached workspace
48
+ * once a run ends. Between runs those copies are pure liability: the next
49
+ * refresh re-copies them anyway, but an ordinary test runner invoked at the
50
+ * project root (whose default discovery does not exclude dot-directories —
51
+ * Vitest 4 excludes only node_modules and .git) would find the copied test
52
+ * files and silently double-count the user's suite. Keep only what the next
53
+ * run genuinely reuses: dependency symlinks, the generated adapter directory,
54
+ * and the instrumented build artifacts the build cache declares.
55
+ */
56
+ export declare function pruneCachedWorkspaceSources(root: string): string[];
21
57
  export interface CacheRecoveryResult {
22
58
  restoredPrevious: boolean;
23
59
  removedStaging: number;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}