pw-sanitizer 0.1.0 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -34,7 +34,7 @@ It also lets you delete repetitive or internal steps (e.g. health-check pings, i
34
34
  ## Installation
35
35
 
36
36
  ```bash
37
- npm install --save-dev playwright-sanitizer
37
+ npm install --save-dev pw-sanitizer
38
38
  ```
39
39
 
40
40
  Screenshot redaction inside trace files requires the optional `sharp` dependency:
@@ -51,7 +51,7 @@ npm install --save-dev sharp
51
51
 
52
52
  ```ts
53
53
  // playwright-sanitizer.config.ts
54
- import type { SanitizerConfig } from 'playwright-sanitizer';
54
+ import type { SanitizerConfig } from 'pw-sanitizer';
55
55
 
56
56
  const config: SanitizerConfig = {
57
57
  redact: {
@@ -85,7 +85,7 @@ export default config;
85
85
  ### 2. Run the CLI
86
86
 
87
87
  ```bash
88
- npx playwright-sanitizer
88
+ npx pw-sanitizer
89
89
  ```
90
90
 
91
91
  Sanitized files are written to `./sanitized-report` by default. Originals are untouched.
@@ -106,8 +106,11 @@ Config is auto-discovered in this priority order:
106
106
 
107
107
  ### Full config reference
108
108
 
109
+ > [!NOTE]
110
+ > TypeScript configuration files (`.ts`) are supported natively by default using `jiti`. No separate runner or transpilation step is required.
111
+
109
112
  ```ts
110
- import type { SanitizerConfig } from 'playwright-sanitizer';
113
+ import type { SanitizerConfig } from 'pw-sanitizer';
111
114
 
112
115
  const config: SanitizerConfig = {
113
116
  redact: {
@@ -203,7 +206,7 @@ For large teams, keep patterns and rules in dedicated files so they can be versi
203
206
 
204
207
  ```ts
205
208
  // secrets/patterns.ts
206
- import type { RedactPattern } from 'playwright-sanitizer';
209
+ import type { RedactPattern } from 'pw-sanitizer';
207
210
 
208
211
  const patterns: RedactPattern[] = [
209
212
  { id: 'auth-header', key: 'authorization', severity: 'critical' },
@@ -235,7 +238,7 @@ JSON files are also supported. Note that RegExp is not available in JSON — str
235
238
  ## CLI reference
236
239
 
237
240
  ```
238
- Usage: playwright-sanitizer [options]
241
+ Usage: pw-sanitizer [options]
239
242
 
240
243
  Options:
241
244
  -c, --config <path> Path to config file
@@ -258,22 +261,22 @@ Options:
258
261
 
259
262
  ```bash
260
263
  # Auto-discover config and run with defaults
261
- npx playwright-sanitizer
264
+ npx pw-sanitizer
262
265
 
263
266
  # Use a specific config file
264
- npx playwright-sanitizer --config ./ci/sanitizer.config.ts
267
+ npx pw-sanitizer --config ./ci/sanitizer.config.ts
265
268
 
266
269
  # Overwrite originals (ensure files are version-controlled)
267
- npx playwright-sanitizer --in-place
270
+ npx pw-sanitizer --in-place
268
271
 
269
272
  # Preview without writing any files
270
- npx playwright-sanitizer --dry-run --log-level verbose
273
+ npx pw-sanitizer --dry-run --log-level verbose
271
274
 
272
275
  # Point to non-default directories
273
- npx playwright-sanitizer --report ./reports --traces ./artifacts/traces --output ./sanitized
276
+ npx pw-sanitizer --report ./reports --traces ./artifacts/traces --output ./sanitized
274
277
 
275
278
  # Write a machine-readable summary for CI artifact ingestion
276
- npx playwright-sanitizer --summary-output ./sanitization-summary.json
279
+ npx pw-sanitizer --summary-output ./sanitization-summary.json
277
280
  ```
278
281
 
279
282
  ---
@@ -287,7 +290,7 @@ Register the sanitizer as a Playwright `globalTeardown` and it runs automaticall
287
290
  import { defineConfig } from '@playwright/test';
288
291
 
289
292
  export default defineConfig({
290
- globalTeardown: require.resolve('playwright-sanitizer/teardown'),
293
+ globalTeardown: require.resolve('pw-sanitizer/teardown'),
291
294
  // ...rest of your config
292
295
  });
293
296
  ```
@@ -301,10 +304,10 @@ If you prefer a single config file, add a `sanitizer` key directly to your Playw
301
304
  ```ts
302
305
  // playwright.config.ts
303
306
  import { defineConfig } from '@playwright/test';
304
- import type { SanitizerConfig } from 'playwright-sanitizer';
307
+ import type { SanitizerConfig } from 'pw-sanitizer';
305
308
 
306
309
  export default defineConfig({
307
- globalTeardown: require.resolve('playwright-sanitizer/teardown'),
310
+ globalTeardown: require.resolve('pw-sanitizer/teardown'),
308
311
 
309
312
  sanitizer: {
310
313
  redact: {
@@ -322,7 +325,7 @@ export default defineConfig({
322
325
  ## Programmatic API
323
326
 
324
327
  ```ts
325
- import { sanitize, redactReport, redactTrace } from 'playwright-sanitizer';
328
+ import { sanitize, redactReport, redactTrace } from 'pw-sanitizer';
326
329
 
327
330
  // Process all reports and traces using auto-discovered config
328
331
  const results = await sanitize();
@@ -399,7 +402,7 @@ The `minConsecutiveOccurrences` safety guard prevents accidentally removing a st
399
402
  run: npx playwright test
400
403
 
401
404
  - name: Sanitize Playwright artifacts
402
- run: npx playwright-sanitizer --summary-output sanitization-summary.json
405
+ run: npx pw-sanitizer --summary-output sanitization-summary.json
403
406
 
404
407
  - name: Upload sanitized report
405
408
  uses: actions/upload-artifact@v4
package/dist/cli.d.ts CHANGED
@@ -1,3 +1,26 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ import type { SanitizerConfig } from './config/types.js';
3
+ /**
4
+ * Exported for unit testing. Merges parsed CLI flag values into a {@link SanitizerConfig} object.
5
+ *
6
+ * CLI flags always take the highest priority — they overwrite any values
7
+ * that were loaded from a config file. Sections are created on-demand
8
+ * (e.g. `config.output` is initialised to `{}` if not already present).
9
+ *
10
+ * Flag → config field mapping:
11
+ * - `--report` → `output.reportDir`
12
+ * - `--no-traces` → `output.processTraces = false`
13
+ * - `--no-reports` → `output.processReports = false`
14
+ * - `--output` → `output.dir` + `output.mode = 'copy'`
15
+ * - `--in-place` → `output.mode = 'in-place'`
16
+ * - `--patterns` → `redact.patternFiles`
17
+ * - `--placeholder` → `redact.placeholder`
18
+ * - `--dry-run` → `remove.dryRun = true`
19
+ * - `--log-level` → `reporting.logLevel`
20
+ * - `--summary-output` → `reporting.summaryFile`
21
+ *
22
+ * @param config - The config object to mutate (loaded from file or empty).
23
+ * @param opts - Raw parsed options from Commander.js (`program.opts()`).
24
+ */
25
+ export declare function applyCliOverrides(config: SanitizerConfig, opts: Record<string, unknown>): void;
3
26
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAuEzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAgDN"}
package/dist/cli.js CHANGED
@@ -1,14 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
3
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.applyCliOverrides = applyCliOverrides;
4
8
  const commander_1 = require("commander");
5
9
  const loader_js_1 = require("./config/loader.js");
6
10
  const index_js_1 = require("./index.js");
11
+ // resolveJsonModule: true in tsconfig.json enables this JSON import.
12
+ // TypeScript will type `version` as `string` from the package.json schema.
13
+ const package_json_1 = __importDefault(require("../package.json"));
7
14
  const program = new commander_1.Command();
8
15
  program
9
- .name('playwright-sanitizer')
16
+ .name('pw-sanitizer')
10
17
  .description('Post-process Playwright HTML reports and trace files to redact secrets and remove noisy steps')
11
- .version('0.1.0')
18
+ .version(package_json_1.default.version)
12
19
  .option('-c, --config <path>', 'Path to config file')
13
20
  .option('-r, --report <path>', 'HTML report directory', './playwright-report')
14
21
  .option('-t, --traces <path>', 'Trace directory', './test-results')
@@ -41,7 +48,7 @@ program.action(async (opts) => {
41
48
  }
42
49
  });
43
50
  /**
44
- * Merges parsed CLI flag values into a {@link SanitizerConfig} object.
51
+ * Exported for unit testing. Merges parsed CLI flag values into a {@link SanitizerConfig} object.
45
52
  *
46
53
  * CLI flags always take the highest priority — they overwrite any values
47
54
  * that were loaded from a config file. Sections are created on-demand
@@ -109,5 +116,11 @@ function applyCliOverrides(config, opts) {
109
116
  config.reporting.summaryFile = opts['summaryOutput'];
110
117
  }
111
118
  }
112
- program.parse();
119
+ // Only parse when this file is the Node.js entry-point, not when it is imported
120
+ // by a test or another module. The CJS `require.main === module` idiom is the
121
+ // standard pattern for this in CommonJS (which is what `module: Node16` compiles
122
+ // to when package.json has no `"type": "module"` field).
123
+ if (require.main === module) {
124
+ program.parse();
125
+ }
113
126
  //# 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":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA+FlD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA6B9E"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkFlD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA6B9E"}
@@ -32,10 +32,14 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.loadConfig = loadConfig;
37
40
  const fs = __importStar(require("node:fs"));
38
41
  const path = __importStar(require("node:path"));
42
+ const jiti_1 = __importDefault(require("jiti"));
39
43
  const logger_js_1 = require("../logger.js");
40
44
  /**
41
45
  * Ordered list of config file names that are auto-discovered in the current
@@ -67,26 +71,13 @@ async function loadConfigFromFile(filePath) {
67
71
  const content = fs.readFileSync(absolutePath, 'utf-8');
68
72
  return JSON.parse(content);
69
73
  }
70
- // .ts or .js use dynamic import
74
+ // Use jiti to transpile and load .ts or .js config files natively
71
75
  try {
72
- const module = await import(absolutePath);
76
+ const jiti = (0, jiti_1.default)(__filename);
77
+ const module = jiti(absolutePath);
73
78
  return (module.default ?? module);
74
79
  }
75
80
  catch (err) {
76
- // If .ts failed, try .js sibling
77
- if (ext === '.ts') {
78
- const jsSibling = absolutePath.replace(/\.ts$/, '.js');
79
- if (fs.existsSync(jsSibling)) {
80
- try {
81
- const module = await import(jsSibling);
82
- return (module.default ?? module);
83
- }
84
- catch {
85
- return logger_js_1.logger.fatal(`Failed to load config from both ${absolutePath} and ${jsSibling}. ` +
86
- `Ensure tsx or ts-node is available, or provide a .js config file.`);
87
- }
88
- }
89
- }
90
81
  return logger_js_1.logger.fatal(`Failed to load config from ${absolutePath}: ${err instanceof Error ? err.message : String(err)}`);
91
82
  }
92
83
  }
@@ -106,7 +97,8 @@ async function loadFromPlaywrightConfig(cwd) {
106
97
  const fullPath = path.resolve(cwd, name);
107
98
  if (fs.existsSync(fullPath)) {
108
99
  try {
109
- const module = await import(fullPath);
100
+ const jiti = (0, jiti_1.default)(__filename);
101
+ const module = jiti(fullPath);
110
102
  const config = module.default ?? module;
111
103
  if (config && typeof config === 'object' && 'sanitizer' in config) {
112
104
  return config.sanitizer;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * @example
8
8
  * ```ts
9
9
  * // playwright-sanitizer.config.ts
10
- * import type { SanitizerConfig } from 'playwright-sanitizer';
10
+ * import type { SanitizerConfig } from 'pw-sanitizer';
11
11
  *
12
12
  * const config: SanitizerConfig = {
13
13
  * redact: {
@@ -365,6 +365,11 @@ export interface RemovalSet {
365
365
  indices: Set<number>;
366
366
  /** Detailed list of every match (one entry per step per rule). */
367
367
  matches: StepMatch[];
368
+ /**
369
+ * Safety-guard warning messages emitted when a rule's
370
+ * `minConsecutiveOccurrences` threshold was not met.
371
+ */
372
+ safetyGuardWarnings: string[];
368
373
  }
369
374
  /**
370
375
  * Processing result for a single file (HTML report or trace `.zip`).
@@ -382,6 +387,11 @@ export interface ProcessResult {
382
387
  redactionMatches: RedactionMatch[];
383
388
  /** Detailed list of every step-removal match. */
384
389
  removalMatches: StepMatch[];
390
+ /**
391
+ * Safety-guard warning messages collected while processing this file.
392
+ * Populated when a rule's `minConsecutiveOccurrences` threshold was not met.
393
+ */
394
+ safetyGuardWarnings: string[];
385
395
  }
386
396
  /**
387
397
  * Aggregated statistics produced after processing all files.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export { loadRuleFile } from './remove/rule-loader.js';
10
10
  *
11
11
  * Typical usage — run after a Playwright test suite from your own script:
12
12
  * ```ts
13
- * import { sanitize } from 'playwright-sanitizer';
13
+ * import { sanitize } from 'pw-sanitizer';
14
14
  *
15
15
  * await sanitize({
16
16
  * redact: { patterns: [{ id: 'token', key: 'authorization' }] },
@@ -39,7 +39,7 @@ export declare function sanitize(configOverride?: SanitizerConfig): Promise<Proc
39
39
  *
40
40
  * @example
41
41
  * ```ts
42
- * import { redactReport } from 'playwright-sanitizer';
42
+ * import { redactReport } from 'pw-sanitizer';
43
43
  *
44
44
  * const result = await redactReport('./playwright-report/index.html', {
45
45
  * redact: { patterns: [{ id: 'auth', key: 'authorization' }] },
@@ -61,7 +61,7 @@ export declare function redactReport(reportPath: string, config: SanitizerConfig
61
61
  *
62
62
  * @example
63
63
  * ```ts
64
- * import { redactTrace } from 'playwright-sanitizer';
64
+ * import { redactTrace } from 'pw-sanitizer';
65
65
  *
66
66
  * const result = await redactTrace('./test-results/my-test/trace.zip', {
67
67
  * redact: { patterns: [{ id: 'cookie', key: /^cookie$/i }] },
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAexE,YAAY,EACV,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,QAAQ,CAC5B,cAAc,CAAC,EAAE,eAAe,GAC/B,OAAO,CAAC,aAAa,EAAE,CAAC,CA8E1B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAiBxB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAiBxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAexE,YAAY,EACV,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,QAAQ,CAC5B,cAAc,CAAC,EAAE,eAAe,GAC/B,OAAO,CAAC,aAAa,EAAE,CAAC,CA+E1B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAiBxB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAiBxB"}
package/dist/index.js CHANGED
@@ -60,7 +60,7 @@ Object.defineProperty(exports, "loadRuleFile", { enumerable: true, get: function
60
60
  *
61
61
  * Typical usage — run after a Playwright test suite from your own script:
62
62
  * ```ts
63
- * import { sanitize } from 'playwright-sanitizer';
63
+ * import { sanitize } from 'pw-sanitizer';
64
64
  *
65
65
  * await sanitize({
66
66
  * redact: { patterns: [{ id: 'token', key: 'authorization' }] },
@@ -113,7 +113,8 @@ async function sanitize(configOverride) {
113
113
  // Summary
114
114
  const showSummary = config.reporting?.summary !== false;
115
115
  if (showSummary || config.reporting?.summaryFile) {
116
- const summary = (0, reporter_js_1.generateSummary)(results, config, patterns.length, rules.length, []);
116
+ const allSafetyWarnings = results.flatMap((r) => r.safetyGuardWarnings);
117
+ const summary = (0, reporter_js_1.generateSummary)(results, config, patterns.length, rules.length, allSafetyWarnings);
117
118
  if (showSummary) {
118
119
  (0, reporter_js_1.printSummary)(summary);
119
120
  }
@@ -135,7 +136,7 @@ async function sanitize(configOverride) {
135
136
  *
136
137
  * @example
137
138
  * ```ts
138
- * import { redactReport } from 'playwright-sanitizer';
139
+ * import { redactReport } from 'pw-sanitizer';
139
140
  *
140
141
  * const result = await redactReport('./playwright-report/index.html', {
141
142
  * redact: { patterns: [{ id: 'auth', key: 'authorization' }] },
@@ -167,7 +168,7 @@ async function redactReport(reportPath, config) {
167
168
  *
168
169
  * @example
169
170
  * ```ts
170
- * import { redactTrace } from 'playwright-sanitizer';
171
+ * import { redactTrace } from 'pw-sanitizer';
171
172
  *
172
173
  * const result = await redactTrace('./test-results/my-test/trace.zip', {
173
174
  * redact: { patterns: [{ id: 'cookie', key: /^cookie$/i }] },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"html-report.d.ts","sourceRoot":"","sources":["../../src/processors/html-report.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAoB5B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EAAE,EACzB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,aAAa,CAAC,CAgGxB"}
1
+ {"version":3,"file":"html-report.d.ts","sourceRoot":"","sources":["../../src/processors/html-report.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAoB5B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EAAE,EACzB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,aAAa,CAAC,CAwHxB"}
@@ -83,6 +83,7 @@ async function processHtmlReport(inputPath, outputPath, config, patterns, rules)
83
83
  timestampRepairs: 0,
84
84
  redactionMatches: [],
85
85
  removalMatches: [],
86
+ safetyGuardWarnings: [],
86
87
  };
87
88
  const html = fs.readFileSync(inputPath, 'utf-8');
88
89
  const match = REPORT_DATA_REGEX.exec(html);
@@ -117,6 +118,8 @@ async function processHtmlReport(inputPath, outputPath, config, patterns, rules)
117
118
  const events = extractEventsFromReport(reportData);
118
119
  if (events.length > 0) {
119
120
  const removalSet = (0, detector_js_1.findStepsToRemove)(events, rules);
121
+ // Always propagate safety warnings regardless of whether removal runs
122
+ result.safetyGuardWarnings.push(...removalSet.safetyGuardWarnings);
120
123
  if (removalSet.indices.size > 0) {
121
124
  if (config.remove.dryRun) {
122
125
  logger_js_1.logger.info(`[DRY RUN] Would remove ${removalSet.indices.size} steps from ${inputPath}`);
@@ -128,13 +131,29 @@ async function processHtmlReport(inputPath, outputPath, config, patterns, rules)
128
131
  result.stepsRemoved = removalSet.indices.size;
129
132
  }
130
133
  else {
131
- const removedEvents = Array.from(removalSet.indices).map((i) => events[i]);
132
- const cleaned = (0, remover_js_1.removeSteps)(events, removalSet);
134
+ const orphanStrategy = config.remove.orphanStrategy ?? 'remove-children';
135
+ // Remove steps orphanStrategy controls whether matched parents or only
136
+ // their children are dropped from the flat events array.
137
+ const cleaned = (0, remover_js_1.removeSteps)(events, removalSet, orphanStrategy);
133
138
  const strategy = config.remove.timestampStrategy ?? 'absorb-into-prev';
134
- const repaired = (0, timestamp_repair_js_1.repairTimestamps)(cleaned, removedEvents, strategy);
135
- replaceEventsInReport(reportData, repaired);
136
- result.stepsRemoved = removalSet.indices.size;
137
- result.timestampRepairs = removalSet.indices.size;
139
+ // Determine which events were actually removed (set-difference by identity).
140
+ // For remove-children: matched events + their descendants.
141
+ // For keep-shell: only the children (matched events are kept).
142
+ const cleanedSet = new Set(cleaned);
143
+ const actuallyRemovedEvents = events.filter((e) => !cleanedSet.has(e));
144
+ const repaired = (0, timestamp_repair_js_1.repairTimestamps)(cleaned, actuallyRemovedEvents, strategy);
145
+ // Build callId → repaired event for tree timestamp updates
146
+ const repairedByCallId = new Map();
147
+ for (const e of repaired) {
148
+ if (e.callId)
149
+ repairedByCallId.set(e.callId, e);
150
+ }
151
+ // For the tree traversal: in keep-shell mode the matched parent objects
152
+ // stay in the tree — only their children are filtered out.
153
+ const treeEventsToRemove = new Set(actuallyRemovedEvents);
154
+ replaceEventsInReport(reportData, treeEventsToRemove, repairedByCallId);
155
+ result.stepsRemoved = actuallyRemovedEvents.length;
156
+ result.timestampRepairs = actuallyRemovedEvents.length;
138
157
  result.removalMatches = removalSet.matches;
139
158
  modified = true;
140
159
  }
@@ -194,27 +213,51 @@ function extractEventsFromReport(data) {
194
213
  return events;
195
214
  }
196
215
  /**
197
- * Placeholder for post-removal tree reconstruction in HTML reports.
216
+ * Rebuilds the nested step/action arrays in the HTML report tree after removal.
198
217
  *
199
- * In the current implementation, step mutations during the redact walk phase
200
- * are applied directly to object references within the report tree, which is
201
- * sufficient for the redaction use-case.
218
+ * Because {@link extractEventsFromReport} returns object **references** that
219
+ * live inside the report tree, `eventsToRemove` can be used as an identity
220
+ * set to filter matching objects directly from the tree's `steps` / `actions`
221
+ * arrays without a separate re-serialisation step.
202
222
  *
203
- * Full step-removal support for HTML reports would require rebuilding the
204
- * nested `steps` arrays in each test result to exclude the removed events —
205
- * this is tracked as a future enhancement.
223
+ * Additionally, repaired timestamps (computed from the flat event array) are
224
+ * applied back to tree nodes that carry a `callId` field.
206
225
  *
207
- * @param _data - The parsed report data (unused — present for future implementation).
208
- * @param _repairedEvents - The repaired event array (unused present for future implementation).
226
+ * @param data - The parsed `window.__pw_report_data__` object.
227
+ * @param eventsToRemove - Set of original event objects to exclude from step arrays.
228
+ * @param repairedByCallId - Map of `callId` → repaired event used to update timestamps.
209
229
  */
210
- function replaceEventsInReport(_data, _repairedEvents) {
211
- // The events extracted from the report are object references.
212
- // removeSteps returns a new array but the original tree still contains
213
- // the old references. For a full implementation, we'd need to rebuild
214
- // the tree structure. For now, the walked-and-redacted data is sufficient
215
- // since we modify the objects in place during the walk phase.
216
- //
217
- // A more complete implementation would rebuild the steps arrays in the
218
- // report tree to match the filtered events.
230
+ function replaceEventsInReport(data, eventsToRemove, repairedByCallId) {
231
+ function traverse(node) {
232
+ if (!node || typeof node !== 'object' || Array.isArray(node))
233
+ return;
234
+ const obj = node;
235
+ // Apply repaired timestamps to this node when it has a known callId
236
+ if (typeof obj['callId'] === 'string') {
237
+ const repaired = repairedByCallId.get(obj['callId']);
238
+ if (repaired) {
239
+ obj['startTime'] = repaired.startTime;
240
+ obj['endTime'] = repaired.endTime;
241
+ }
242
+ }
243
+ // Filter removed events from step/action arrays and recurse into survivors
244
+ for (const key of ['steps', 'actions']) {
245
+ if (Array.isArray(obj[key])) {
246
+ obj[key] = obj[key].filter((item) => !(item !== null && typeof item === 'object' && eventsToRemove.has(item)));
247
+ for (const item of obj[key]) {
248
+ traverse(item);
249
+ }
250
+ }
251
+ }
252
+ // Recurse into structural containers (not filtered)
253
+ for (const key of ['suites', 'tests', 'results', 'attachments']) {
254
+ if (Array.isArray(obj[key])) {
255
+ for (const item of obj[key]) {
256
+ traverse(item);
257
+ }
258
+ }
259
+ }
260
+ }
261
+ traverse(data);
219
262
  }
220
263
  //# sourceMappingURL=html-report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html-report.js","sourceRoot":"","sources":["../../src/processors/html-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-report.js","sourceRoot":"","sources":["../../src/processors/html-report.ts"],"names":[],"mappings":"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"}