@tracelane/wdio 0.1.0-alpha.19 → 0.1.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/options.d.ts +2 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js.map +1 -1
- package/dist/security-suppress.d.ts +10 -0
- package/dist/security-suppress.d.ts.map +1 -0
- package/dist/security-suppress.js +58 -0
- package/dist/security-suppress.js.map +1 -0
- package/dist/tracelane-session.d.ts +2 -0
- package/dist/tracelane-session.d.ts.map +1 -1
- package/dist/tracelane-session.js +17 -1
- package/dist/tracelane-session.js.map +1 -1
- package/package.json +4 -3
package/dist/options.d.ts
CHANGED
|
@@ -67,6 +67,8 @@ export interface TraceLaneOptions {
|
|
|
67
67
|
cooldownMs?: number;
|
|
68
68
|
/** Options forwarded to the in-page rrweb console plugin. */
|
|
69
69
|
consolePluginOptions?: ConsolePluginOptions;
|
|
70
|
+
/** Advisory security-hygiene signals in the report (default true). Set false to disable capture + analysis. */
|
|
71
|
+
security?: boolean;
|
|
70
72
|
/**
|
|
71
73
|
* Report-output tweaks.
|
|
72
74
|
*
|
package/dist/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAElE,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qGAAqG;IACrG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C;;;;;;OAMG;IACH,MAAM,CAAC,EAAE;QACP,gDAAgD;QAChD,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,gDAAgD;AAChD,eAAO,MAAM,eAAe,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAElE,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qGAAqG;IACrG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE;QACP,gDAAgD;QAChD,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,gDAAgD;AAChD,eAAO,MAAM,eAAe,wBAAwB,CAAC"}
|
package/dist/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,yEAAyE;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAwFzE,gDAAgD;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Suppression } from '@tracelane/security';
|
|
2
|
+
/** The fixed filename looked up in the project cwd. */
|
|
3
|
+
export declare const SUPPRESS_FILE_NAME = "tracelane.security.suppress.json";
|
|
4
|
+
/**
|
|
5
|
+
* Load `tracelane.security.suppress.json` from `cwd`, if present. Returns the
|
|
6
|
+
* parsed suppression rules, or `[]` when the file is missing/unreadable/
|
|
7
|
+
* malformed/wrong-shaped. Never throws.
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadSecuritySuppressions(cwd: string): Suppression[];
|
|
10
|
+
//# sourceMappingURL=security-suppress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-suppress.d.ts","sourceRoot":"","sources":["../src/security-suppress.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,qCAAqC,CAAC;AA0BrE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CAUnE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Optional security-suppression file loader (Task 13).
|
|
2
|
+
//
|
|
3
|
+
// tracelane's advisory security analyzer (`@tracelane/security`) accepts a list
|
|
4
|
+
// of `Suppression` rules to silence known-acceptable signals. To let teams
|
|
5
|
+
// commit those rules alongside their suite, the wdio adapter looks for a
|
|
6
|
+
// `tracelane.security.suppress.json` in the project cwd at report-write time.
|
|
7
|
+
//
|
|
8
|
+
// This loader is deliberately defensive: a missing, unreadable, malformed, or
|
|
9
|
+
// wrong-shaped file MUST NEVER throw and MUST NEVER break the report. Any of
|
|
10
|
+
// those cases degrade to `[]` (no suppressions). The file only ever carries
|
|
11
|
+
// advisory `{ signal?, evidence? }` rules — no secrets — so reading it from cwd
|
|
12
|
+
// is safe (P1 security MVP privacy invariant).
|
|
13
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
14
|
+
import { join } from 'node:path';
|
|
15
|
+
/** The fixed filename looked up in the project cwd. */
|
|
16
|
+
export const SUPPRESS_FILE_NAME = 'tracelane.security.suppress.json';
|
|
17
|
+
/**
|
|
18
|
+
* Coerce arbitrary parsed JSON into a `Suppression[]`, leniently:
|
|
19
|
+
* - a bare array → used as-is;
|
|
20
|
+
* - an object with a `suppressions` array → that array;
|
|
21
|
+
* - anything else → `[]`.
|
|
22
|
+
*
|
|
23
|
+
* Element shape is not validated beyond "is an object" — the analyzer reads
|
|
24
|
+
* only `signal` / `evidence` and ignores the rest, so a loose pass-through is
|
|
25
|
+
* both safe and forgiving of hand-edited files.
|
|
26
|
+
*/
|
|
27
|
+
function coerceSuppressions(parsed) {
|
|
28
|
+
const arr = Array.isArray(parsed)
|
|
29
|
+
? parsed
|
|
30
|
+
: isRecord(parsed) && Array.isArray(parsed.suppressions)
|
|
31
|
+
? parsed.suppressions
|
|
32
|
+
: undefined;
|
|
33
|
+
if (!arr)
|
|
34
|
+
return [];
|
|
35
|
+
return arr.filter(isRecord);
|
|
36
|
+
}
|
|
37
|
+
function isRecord(v) {
|
|
38
|
+
return typeof v === 'object' && v !== null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Load `tracelane.security.suppress.json` from `cwd`, if present. Returns the
|
|
42
|
+
* parsed suppression rules, or `[]` when the file is missing/unreadable/
|
|
43
|
+
* malformed/wrong-shaped. Never throws.
|
|
44
|
+
*/
|
|
45
|
+
export function loadSecuritySuppressions(cwd) {
|
|
46
|
+
const filePath = join(cwd, SUPPRESS_FILE_NAME);
|
|
47
|
+
try {
|
|
48
|
+
if (!existsSync(filePath))
|
|
49
|
+
return [];
|
|
50
|
+
const raw = readFileSync(filePath, 'utf8');
|
|
51
|
+
return coerceSuppressions(JSON.parse(raw));
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
// Missing/unreadable/malformed file must never break the report.
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=security-suppress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-suppress.js","sourceRoot":"","sources":["../src/security-suppress.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,yEAAyE;AACzE,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,gFAAgF;AAChF,+CAA+C;AAE/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;AAErE;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,MAAe;IACzC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YACtD,CAAC,CAAC,MAAM,CAAC,YAAY;YACrB,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAkB,CAAC;AAC/C,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;QACjE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -17,6 +17,8 @@ export declare class TraceLaneSession {
|
|
|
17
17
|
private readonly captureRrweb;
|
|
18
18
|
private readonly captureNetwork;
|
|
19
19
|
private readonly captureConsole;
|
|
20
|
+
/** Advisory security-hygiene capture + analysis. Default on (P1 security MVP). */
|
|
21
|
+
private readonly security;
|
|
20
22
|
private framework;
|
|
21
23
|
private cid;
|
|
22
24
|
private browser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracelane-session.d.ts","sourceRoot":"","sources":["../src/tracelane-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tracelane-session.d.ts","sourceRoot":"","sources":["../src/tracelane-session.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,KAAK,WAAW,EAAsB,MAAM,oBAAoB,CAAC;AAQ1E,qFAAqF;AACrF,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,+EAA+E;AAC/E,KAAK,cAAc,GAAG,WAAW,GAAG;IAClC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,GAAG,CAAqB;IAEhC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,eAAe,CAAS;IAChC,6EAA6E;IAC7E,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,OAAO,GAAE,gBAAqB,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAc5E,iFAAiF;IACjF,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIjD,+EAA+E;IAC/E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIrC;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAKnC,sEAAsE;IACtE,OAAO,CAAC,4BAA4B;IA6BpC,iFAAiF;IAC3E,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D;;;;;OAKG;YACW,yBAAyB;IAkBvC;;;;;;;;OAQG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvC;;;;;;OAMG;IACG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAmCnF;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,gFAAgF;IAChF,OAAO,CAAC,SAAS;CAclB"}
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
// the capture/inject/drain/report logic lives in exactly one place (ADR-0004:
|
|
6
6
|
// "the same logic exported as plain hook functions"). The session owns the
|
|
7
7
|
// recorder, the current-test metadata, and the report-write decision.
|
|
8
|
+
import { cwd } from 'node:process';
|
|
8
9
|
import { attachNetworkCapture, createRecorder, loadRrwebBundle, } from '@tracelane/core';
|
|
9
10
|
import { writeReport } from '@tracelane/report';
|
|
10
11
|
import { normalizeResult } from './framework-result.js';
|
|
11
12
|
import { DEFAULT_OUT_DIR } from './options.js';
|
|
13
|
+
import { loadSecuritySuppressions } from './security-suppress.js';
|
|
12
14
|
import { createWdioExecutor } from './wdio-executor.js';
|
|
13
15
|
export class TraceLaneSession {
|
|
14
16
|
options;
|
|
@@ -16,6 +18,8 @@ export class TraceLaneSession {
|
|
|
16
18
|
captureRrweb;
|
|
17
19
|
captureNetwork;
|
|
18
20
|
captureConsole;
|
|
21
|
+
/** Advisory security-hygiene capture + analysis. Default on (P1 security MVP). */
|
|
22
|
+
security;
|
|
19
23
|
framework;
|
|
20
24
|
cid;
|
|
21
25
|
browser;
|
|
@@ -31,6 +35,9 @@ export class TraceLaneSession {
|
|
|
31
35
|
this.captureRrweb = options.capture?.rrweb !== false;
|
|
32
36
|
this.captureNetwork = options.capture?.network !== false;
|
|
33
37
|
this.captureConsole = options.capture?.console !== false;
|
|
38
|
+
// Advisory security-hygiene defaults on; `security: false` disables both the
|
|
39
|
+
// [tracelane.sec] capture and the report-side analysis.
|
|
40
|
+
this.security = options.security !== false;
|
|
34
41
|
this.framework = framework;
|
|
35
42
|
this.cid = cid;
|
|
36
43
|
}
|
|
@@ -117,7 +124,10 @@ export class TraceLaneSession {
|
|
|
117
124
|
if (!this.browser)
|
|
118
125
|
return;
|
|
119
126
|
try {
|
|
120
|
-
await attachNetworkCapture(createWdioExecutor(this.browser)
|
|
127
|
+
await attachNetworkCapture(createWdioExecutor(this.browser), {
|
|
128
|
+
security: this.security,
|
|
129
|
+
onSecurityMeta: (m) => this.recorder?.addCustomEvent('tracelane.sec', m),
|
|
130
|
+
});
|
|
121
131
|
this.networkAttached = true;
|
|
122
132
|
}
|
|
123
133
|
catch {
|
|
@@ -163,12 +173,18 @@ export class TraceLaneSession {
|
|
|
163
173
|
return undefined;
|
|
164
174
|
}
|
|
165
175
|
const meta = this.buildMeta(normalized);
|
|
176
|
+
// Load the optional suppression file at report-write time. The loader never
|
|
177
|
+
// throws and falls back to `[]`, so a missing/malformed file can't break the
|
|
178
|
+
// report. Skip the read entirely when security is off.
|
|
179
|
+
const securitySuppress = this.security ? loadSecuritySuppressions(cwd()) : [];
|
|
166
180
|
const path = writeReport({
|
|
167
181
|
outDir: this.outDir,
|
|
168
182
|
cid: this.cid,
|
|
169
183
|
events,
|
|
170
184
|
meta,
|
|
171
185
|
footer: this.options.report?.footer,
|
|
186
|
+
security: this.security,
|
|
187
|
+
securitySuppress,
|
|
172
188
|
});
|
|
173
189
|
this.current = undefined;
|
|
174
190
|
return path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracelane-session.js","sourceRoot":"","sources":["../src/tracelane-session.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,mEAAmE;AACnE,+EAA+E;AAC/E,8EAA8E;AAC9E,2EAA2E;AAC3E,sEAAsE;AAEtE,OAAO,EAIL,oBAAoB,EACpB,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAmB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAkB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAyB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAoB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAqB1E,MAAM,OAAO,gBAAgB;IACV,OAAO,CAAmB;IAC1B,MAAM,CAAS;IACf,YAAY,CAAU;IACtB,cAAc,CAAU;IACxB,cAAc,CAAU;
|
|
1
|
+
{"version":3,"file":"tracelane-session.js","sourceRoot":"","sources":["../src/tracelane-session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tracelane/wdio",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.20",
|
|
4
4
|
"description": "WebdriverIO Service that records rrweb sessions and writes a self-contained HTML report on failed tests. The user-facing tracelane integration for WDIO.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tracelane",
|
|
@@ -38,8 +38,9 @@
|
|
|
38
38
|
"README.md"
|
|
39
39
|
],
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@tracelane/report": "0.1.0-alpha.
|
|
42
|
-
"@tracelane/core": "0.1.0-alpha.
|
|
41
|
+
"@tracelane/report": "0.1.0-alpha.17",
|
|
42
|
+
"@tracelane/core": "0.1.0-alpha.15",
|
|
43
|
+
"@tracelane/security": "0.1.0-alpha.1"
|
|
43
44
|
},
|
|
44
45
|
"peerDependencies": {
|
|
45
46
|
"@wdio/types": "^9.0.0",
|