doc-detective 4.28.0 → 4.29.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 (71) hide show
  1. package/dist/cli.js +69 -39
  2. package/dist/cli.js.map +1 -1
  3. package/dist/common/src/detectTests.d.ts +9 -0
  4. package/dist/common/src/detectTests.d.ts.map +1 -1
  5. package/dist/common/src/detectTests.js +22 -9
  6. package/dist/common/src/detectTests.js.map +1 -1
  7. package/dist/common/src/schemas/schemas.json +141 -57
  8. package/dist/common/src/types/generated/report_v3.d.ts +34 -0
  9. package/dist/common/src/types/generated/report_v3.d.ts.map +1 -1
  10. package/dist/common/src/validate.d.ts.map +1 -1
  11. package/dist/common/src/validate.js +95 -12
  12. package/dist/common/src/validate.js.map +1 -1
  13. package/dist/core/config.d.ts +66 -1
  14. package/dist/core/config.d.ts.map +1 -1
  15. package/dist/core/config.js +121 -68
  16. package/dist/core/config.js.map +1 -1
  17. package/dist/core/detectTests.d.ts.map +1 -1
  18. package/dist/core/detectTests.js +142 -36
  19. package/dist/core/detectTests.js.map +1 -1
  20. package/dist/core/expressions.d.ts.map +1 -1
  21. package/dist/core/expressions.js +24 -1
  22. package/dist/core/expressions.js.map +1 -1
  23. package/dist/core/index.d.ts +2 -1
  24. package/dist/core/index.d.ts.map +1 -1
  25. package/dist/core/index.js +55 -16
  26. package/dist/core/index.js.map +1 -1
  27. package/dist/core/openapi.d.ts.map +1 -1
  28. package/dist/core/openapi.js +22 -5
  29. package/dist/core/openapi.js.map +1 -1
  30. package/dist/core/resolveTests.d.ts.map +1 -1
  31. package/dist/core/resolveTests.js +56 -14
  32. package/dist/core/resolveTests.js.map +1 -1
  33. package/dist/core/telem.d.ts +2 -1
  34. package/dist/core/telem.d.ts.map +1 -1
  35. package/dist/core/telem.js +26 -2
  36. package/dist/core/telem.js.map +1 -1
  37. package/dist/core/tests/androidEmulator.d.ts.map +1 -1
  38. package/dist/core/tests/androidEmulator.js +13 -0
  39. package/dist/core/tests/androidEmulator.js.map +1 -1
  40. package/dist/core/tests/appSurface.d.ts +23 -0
  41. package/dist/core/tests/appSurface.d.ts.map +1 -1
  42. package/dist/core/tests/appSurface.js +3 -1
  43. package/dist/core/tests/appSurface.js.map +1 -1
  44. package/dist/core/tests/findStrategies.d.ts.map +1 -1
  45. package/dist/core/tests/findStrategies.js +83 -10
  46. package/dist/core/tests/findStrategies.js.map +1 -1
  47. package/dist/core/tests/iosSimulator.d.ts.map +1 -1
  48. package/dist/core/tests/iosSimulator.js +13 -0
  49. package/dist/core/tests/iosSimulator.js.map +1 -1
  50. package/dist/core/tests/mobileBrowser.d.ts +1 -0
  51. package/dist/core/tests/mobileBrowser.d.ts.map +1 -1
  52. package/dist/core/tests/mobileBrowser.js +8 -0
  53. package/dist/core/tests/mobileBrowser.js.map +1 -1
  54. package/dist/core/tests.d.ts +83 -2
  55. package/dist/core/tests.d.ts.map +1 -1
  56. package/dist/core/tests.js +572 -70
  57. package/dist/core/tests.js.map +1 -1
  58. package/dist/core/utils.d.ts +3 -2
  59. package/dist/core/utils.d.ts.map +1 -1
  60. package/dist/core/utils.js +46 -29
  61. package/dist/core/utils.js.map +1 -1
  62. package/dist/core/warmPhase.d.ts +161 -0
  63. package/dist/core/warmPhase.d.ts.map +1 -0
  64. package/dist/core/warmPhase.js +341 -0
  65. package/dist/core/warmPhase.js.map +1 -0
  66. package/dist/index.cjs +1073 -246
  67. package/dist/utils.d.ts +2 -1
  68. package/dist/utils.d.ts.map +1 -1
  69. package/dist/utils.js +41 -8
  70. package/dist/utils.js.map +1 -1
  71. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
- import { runTests } from "./core/index.js";
2
- import { buildYargs, setConfig, outputResults, setMeta, getVersionData, log, getResolvedTestsFromEnv, reportResults, isDebugRequested, } from "./utils.js";
1
+ import { runTests, awaitTelemetryFlush } from "./core/index.js";
2
+ import { buildYargs, setConfig, outputResults, setMeta, getVersionData, log, logLevelEnabled, getResolvedTestsFromEnv, reportResults, isDebugRequested, } from "./utils.js";
3
3
  import { installAgentsCommand } from "./agents/command.js";
4
4
  import { maybeShowHint } from "./hints/index.js";
5
5
  import { installCommand } from "./runtime/installCommand.js";
@@ -125,52 +125,77 @@ async function runTestsHandler(args) {
125
125
  });
126
126
  return;
127
127
  }
128
- log(`CLI:VERSION INFO:\n${JSON.stringify(getVersionData(), null, 2)}`, "debug", config);
129
- log(`CLI:CONFIG:\n${JSON.stringify(config, null, 2)}`, "debug", config);
128
+ // Guard the pretty-print dumps behind a cheap level check so the (large)
129
+ // JSON.stringify only runs when the debug message would actually print.
130
+ if (logLevelEnabled("debug", config)) {
131
+ log(`CLI:VERSION INFO:\n${JSON.stringify(getVersionData(), null, 2)}`, "debug", config);
132
+ log(`CLI:CONFIG:\n${JSON.stringify(config, null, 2)}`, "debug", config);
133
+ }
130
134
  // Self-update on startup. Honors config.autoUpdate (schema default true),
131
135
  // DOC_DETECTIVE_SKIP_AUTO_UPDATE=1 (set by the re-execed child to prevent
132
136
  // loops, and by Docker images), and process.env.CI (CI environments
133
137
  // should pin their version explicitly — surprise updates in CI are bad).
134
138
  //
135
- // The `if` condition itself is exercised offline (every combination of the
136
- // three guards short-circuiting false see the "cli.ts runTestsHandler
137
- // branches" describe in test/cli-index-adapters-coverage.test.js, including
138
- // a dedicated case that reaches the third (`!process.env.CI`) term). Only
139
- // the block BODY needs a real network/exec dependency: `checkForUpdate`
140
- // hits a real npm/GitHub registry, and `selfUpdate` re-execs the process via
141
- // `process.exit` on a newer version. Neither has an injectable seam at this
142
- // call site (the seam is one level down, in runtime/selfUpdate.ts's own
143
- // exported functions, which are network/exec bound themselves) — forcing it
144
- // here would either hit a real registry or replace the body with a no-op
145
- // stub that proves nothing beyond "the dynamic import resolved". See
146
- // runtime/selfUpdate.ts for that module's own (separately covered) tests.
139
+ // The registry check (`checkForUpdate`, up to a 3s round-trip) is STARTED
140
+ // here but not awaited: it runs concurrently with input detection /
141
+ // resolution (which execute no tests) so its latency is hidden behind work
142
+ // that has to happen anyway. `updateJoin` is handed to runTests, which awaits
143
+ // it AFTER resolution but BEFORE the first test (or any dry-run output) so
144
+ // `selfUpdate` still re-execs the process before the run, preserving the
145
+ // "update before the run" guarantee (ADR 01063). Only the deferred decision
146
+ // (re-exec on a newer version) is joined; the check itself already overlapped.
147
+ //
148
+ // The `if` condition is exercised offline (every combination of the three
149
+ // guards short-circuiting false see the "cli.ts runTestsHandler branches"
150
+ // describe in test/cli-index-adapters-coverage.test.js). Only the block BODY
151
+ // needs a real network/exec dependency: `checkForUpdate` hits a real npm
152
+ // registry and `selfUpdate` re-execs the process via `process.exit` on a
153
+ // newer version. Neither has an injectable seam at this call site (the seam
154
+ // is one level down, in runtime/selfUpdate.ts's own exported functions, which
155
+ // are network/exec bound themselves). See runtime/selfUpdate.ts for that
156
+ // module's own (separately covered) tests. The join-inside-runTests seam is
157
+ // covered directly in test/cli-index-adapters-coverage.test.js.
158
+ let updateJoin;
147
159
  if (config.autoUpdate !== false &&
148
160
  !process.env.DOC_DETECTIVE_SKIP_AUTO_UPDATE &&
149
161
  !process.env.CI) {
150
162
  /* c8 ignore start - self-update: real registry HTTP + real process re-exec via process.exit; no injectable seam at this call site (see comment above) */
151
- try {
152
- const { checkForUpdate, detectInstallMode, selfUpdate } = await import("./runtime/selfUpdate.js");
153
- const currentVersion = cliRequire("../package.json").version;
154
- // Route the self-update module's logs through the CLI's existing
155
- // log() helper so config.logLevel is respected (transient registry
156
- // failures should not flood stdout at the default level). Map
157
- // "warn" "warning" since core/utils.ts uses the latter.
158
- const cliLogger = (msg, level = "info") => {
159
- const mapped = level === "warn" ? "warning" : level;
160
- log(msg, mapped, config);
161
- };
162
- const { latest, newer } = await checkForUpdate(currentVersion, {
163
- logger: cliLogger,
164
- });
165
- if (newer && latest) {
166
- await selfUpdate(latest, detectInstallMode(), { logger: cliLogger });
163
+ // Route the self-update module's logs through the CLI's existing log()
164
+ // helper so config.logLevel is respected. Map "warn" "warning".
165
+ const cliLogger = (msg, level = "info") => {
166
+ const mapped = level === "warn" ? "warning" : level;
167
+ log(msg, mapped, config);
168
+ };
169
+ const currentVersion = cliRequire("../package.json").version;
170
+ // Kick off the registry check now, concurrently with the detection /
171
+ // resolution work that runTests is about to do. Self-contained error
172
+ // handling so a rejected promise never becomes an unhandled rejection.
173
+ const updateCheck = (async () => {
174
+ try {
175
+ const { checkForUpdate } = await import("./runtime/selfUpdate.js");
176
+ return await checkForUpdate(currentVersion, { logger: cliLogger });
167
177
  }
168
- }
169
- catch (err) {
170
- log(`Self-update check skipped: ${String(err)}`, "debug", config);
171
- }
178
+ catch (err) {
179
+ log(`Self-update check skipped: ${String(err)}`, "debug", config);
180
+ return { latest: null, newer: false };
181
+ }
182
+ })();
183
+ // Deferred join: awaited by runTests once resolution is done and before the
184
+ // first test. On a newer version, selfUpdate re-execs (process.exit) here.
185
+ updateJoin = async () => {
186
+ try {
187
+ const { latest, newer } = await updateCheck;
188
+ if (newer && latest) {
189
+ const { detectInstallMode, selfUpdate } = await import("./runtime/selfUpdate.js");
190
+ await selfUpdate(latest, detectInstallMode(), { logger: cliLogger });
191
+ }
192
+ }
193
+ catch (err) {
194
+ log(`Self-update check skipped: ${String(err)}`, "debug", config);
195
+ }
196
+ };
197
+ /* c8 ignore stop */
172
198
  }
173
- /* c8 ignore stop */
174
199
  // Check for DOC_DETECTIVE_API environment variable
175
200
  const api = await getResolvedTestsFromEnv(config);
176
201
  const resolvedTests = api?.resolvedTests || null;
@@ -178,8 +203,8 @@ async function runTestsHandler(args) {
178
203
  // Run tests
179
204
  const output = config.output;
180
205
  const results = resolvedTests
181
- ? await runTests(config, { resolvedTests })
182
- : await runTests(config);
206
+ ? await runTests(config, { resolvedTests, updateJoin })
207
+ : await runTests(config, { updateJoin });
183
208
  // Dry-run already emitted the resolved-tests JSON inside runTests().
184
209
  // Skip both reporters (which assume executed-result shape) and the
185
210
  // orchestration-API report-back path.
@@ -210,5 +235,10 @@ async function runTestsHandler(args) {
210
235
  // Wrapped in its own try/catch internally — never throws.
211
236
  await maybeShowHint(config, results);
212
237
  }
238
+ // Join the telemetry flush started inside runTests. Awaited only NOW — after
239
+ // reporters + hint — so the PostHog round-trip overlaps that I/O instead of
240
+ // hanging off the tail of the process. Bounded + non-throwing; a no-op when
241
+ // telemetry is disabled or already flushed.
242
+ await awaitTelemetryFlush();
213
243
  }
214
244
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,OAAO,EACP,cAAc,EACd,GAAG,EACH,uBAAuB,EACvB,aAAa,EACb,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElD,MAAM;AACN,OAAO,EAAE,CAAC;AACV,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC9B,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,iEAAiE;IACjE,sEAAsE;IACtE,8EAA8E;IAC9E,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,2IAA2I;IAC/K,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,MAAM,UAAU,CAAC,IAAI,CAAC;SACnB,OAAO,CAAC;QACP,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,oCAAoC;QAC9C,OAAO,EAAE,eAAe;KACzB,CAAC;SACD,OAAO,CAAC;QACP,mEAAmE;QACnE,iEAAiE;QACjE,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,eAAe;KACzB,CAAC;QACF,oEAAoE;QACpE,0EAA0E;QAC1E,gEAAgE;SAC/D,OAAO,CAAC,EAAE,GAAG,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAS,CAAC;SAC5D,OAAO,CAAC,cAAqB,CAAC;SAC9B,OAAO,CAAC,YAAY,CAAC;SACrB,MAAM,EAAE;SACR,aAAa,CAAC,CAAC,CAAC;QACjB,2EAA2E;QAC3E,wEAAwE;SACvE,IAAI,CAAC,CAAC,GAAW,EAAE,GAAsB,EAAE,EAAE;QAC5C,IAAI,GAAG;YAAE,MAAM,GAAG,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;SACD,UAAU,EAAE,CAAC;AAClB,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,eAAe,CAAC,IAAS;IACtC,4FAA4F;IAC5F,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;IACxE,kEAAkE;IAClE,mEAAmE;IACnE,iEAAiE;IACjE,MAAM,iBAAiB,GACrB,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,iBAAiB;QAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YAC/B,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;gBAC/B,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;oBAC9B,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,IAAI,CAAC;IAET,oEAAoE;IACpE,gEAAgE;IAChE,qEAAqE;IACrE,+DAA+D;IAC/D,gEAAgE;IAChE,iDAAiD;IACjD,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAE1C,aAAa;IACb,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,cAAc,EAAE,CAAC;YACnB,4DAA4D;YAC5D,kEAAkE;YAClE,8CAA8C;YAC9C,MAAM,UAAU,GAAQ;gBACtB,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;gBACpE,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;aACzD,CAAC;YACF,MAAM,UAAU,CAAC;gBACf,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,EAAE,eAAe,EAAE;gBACzB,IAAI;aACL,CAAC,CAAC;YACH,kEAAkE;YAClE,mEAAmE;YACnE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,kEAAkE;IAClE,kEAAkE;IAClE,8DAA8D;IAC9D,mEAAmE;IACnE,uEAAuE;IACvE,mDAAmD;IACnD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,UAAU,CAAC;YACf,MAAM;YACN,UAAU;YACV,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,eAAe,EAAE;YACzB,IAAI;SACL,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,GAAG,CACD,sBAAsB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EACjE,OAAO,EACP,MAAM,CACP,CAAC;IACF,GAAG,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAExE,0EAA0E;IAC1E,0EAA0E;IAC1E,oEAAoE;IACpE,yEAAyE;IACzE,EAAE;IACF,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,yEAAyE;IACzE,qEAAqE;IACrE,0EAA0E;IAC1E,IACE,MAAM,CAAC,UAAU,KAAK,KAAK;QAC3B,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B;QAC3C,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EACf,CAAC;QACD,yJAAyJ;QACzJ,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CACpE,yBAAyB,CAC1B,CAAC;YACF,MAAM,cAAc,GAAW,UAAU,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;YACrE,iEAAiE;YACjE,mEAAmE;YACnE,8DAA8D;YAC9D,0DAA0D;YAC1D,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,QAAgB,MAAM,EAAE,EAAE;gBACxD,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC;YACF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE;gBAC7D,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACpB,MAAM,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,8BAA8B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,oBAAoB;IAEpB,mDAAmD;IACnD,MAAM,GAAG,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,GAAG,EAAE,aAAa,IAAI,IAAI,CAAC;IACjD,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC;IAEzC,YAAY;IACZ,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,OAAO,GAAG,aAAa;QAC3B,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC;QAC3C,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3B,qEAAqE;IACrE,mEAAmE;IACnE,sCAAsC;IACtC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,mEAAmE;IACnE,2EAA2E;IAC3E,iEAAiE;IACjE,wEAAwE;IACxE,yEAAyE;IACzE,qEAAqE;IACrE,+DAA+D;IAC/D,8EAA8E;IAC9E,IAAI,SAAS,EAAE,CAAC;QACd,6HAA6H;QAC7H,MAAM,aAAa,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5C,oBAAoB;IACtB,CAAC;SAAM,CAAC;QACN,sEAAsE;QACtE,6DAA6D;QAC7D,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACtE,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,15 @@
4
4
  * without dependencies on Node.js file system or path modules.
5
5
  */
6
6
  import { FileType } from "./fileTypes.js";
7
+ /**
8
+ * Creates a RegExp from a pattern string with safety checks against ReDoS.
9
+ * Returns null if the pattern is invalid or potentially unsafe. Results are
10
+ * memoized per `(pattern, flags)` for the lifetime of the process.
11
+ *
12
+ * These patterns come from trusted file type configuration rather than
13
+ * arbitrary user input.
14
+ */
15
+ export declare function safeRegExp(pattern: string, flags: string): RegExp | null;
7
16
  /**
8
17
  * Deterministic 8-hex-char content hash (FNV-1a, 32-bit). Used to derive
9
18
  * stable fallback IDs from a test's or step's authored definition so the same
@@ -1 +1 @@
1
- {"version":3,"file":"detectTests.d.ts","sourceRoot":"","sources":["../../../src/common/src/detectTests.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAA+C,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAkCvF;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAwB9C;AAaD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAMvD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAe3F;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAQlF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAoEnH;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,iBAAiB,EAAE,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAgE5G;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CA2DrC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,EACjC,MAAW,EACX,OAAO,EACP,QAAa,EACb,QAAQ,EACR,UAAU,GACX,EAAE;IACD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgY1B;AAkDD;;GAEG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAqBhF"}
1
+ {"version":3,"file":"detectTests.d.ts","sourceRoot":"","sources":["../../../src/common/src/detectTests.ts"],"names":[],"mappings":"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"}
@@ -6,28 +6,41 @@
6
6
  import YAML from "yaml";
7
7
  import { validate, transformToSchemaKey } from "./validate.js";
8
8
  import { defaultFileTypes, detectFileTypeFromContent } from "./fileTypes.js";
9
+ // Cache of compiled patterns, keyed by `pattern + ' ' + flags`. parseContent
10
+ // re-derives the same handful of file-type regexes for EVERY file it scans
11
+ // (~36 per markdown file), so compiling each pattern once and reusing it
12
+ // removes almost all of that RegExp construction. Both the compiled RegExp and
13
+ // the `null` (invalid/unsafe) outcome are cached. Safe to share the returned
14
+ // instance: callers only use it via `String.prototype.matchAll`, which clones
15
+ // the regexp internally and so never mutates the cached object's `lastIndex`.
16
+ const compiledRegExpCache = new Map();
9
17
  /**
10
18
  * Creates a RegExp from a pattern string with safety checks against ReDoS.
11
- * Returns null if the pattern is invalid or potentially unsafe.
19
+ * Returns null if the pattern is invalid or potentially unsafe. Results are
20
+ * memoized per `(pattern, flags)` for the lifetime of the process.
12
21
  *
13
- * The pattern is reconstructed character-by-character to establish a
14
- * sanitization boundary, since these patterns come from trusted file type
15
- * configuration rather than arbitrary user input.
22
+ * These patterns come from trusted file type configuration rather than
23
+ * arbitrary user input.
16
24
  */
17
- function safeRegExp(pattern, flags) {
25
+ export function safeRegExp(pattern, flags) {
18
26
  if (typeof pattern !== 'string' || pattern.length === 0)
19
27
  return null;
20
28
  // Reject excessively long patterns
21
29
  if (pattern.length > 1500)
22
30
  return null;
23
- // Reconstruct pattern to establish sanitization boundary
24
- const sanitized = Array.from(pattern, c => String.fromCharCode(c.charCodeAt(0))).join('');
31
+ const cacheKey = pattern + ' ' + flags;
32
+ const cached = compiledRegExpCache.get(cacheKey);
33
+ if (cached !== undefined)
34
+ return cached;
35
+ let compiled;
25
36
  try {
26
- return new RegExp(sanitized, flags);
37
+ compiled = new RegExp(pattern, flags);
27
38
  }
28
39
  catch {
29
- return null;
40
+ compiled = null;
30
41
  }
42
+ compiledRegExpCache.set(cacheKey, compiled);
43
+ return compiled;
31
44
  }
32
45
  // Keys excluded when hashing a test/step definition for an ID: IDs are what
33
46
  // the hash computes (or other generated IDs), and `location` shifts whenever
@@ -1 +1 @@
1
- {"version":3,"file":"detectTests.js","sourceRoot":"","sources":["../../../src/common/src/detectTests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detectTests.js","sourceRoot":"","sources":["../../../src/common/src/detectTests.ts"],"names":[],"mappings":"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"}