@testchimp/playwright 0.1.7 → 0.1.9

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.
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Shrinks axe-core analyze() output for ExploreChimp POST payloads.
3
+ * scriptservice only consumes {@code violations} in {@code bugsFromAxeAnalyzeResultsJson}.
4
+ * Goal: surface high-impact issues first — not exhaustive coverage.
5
+ */
6
+ export declare function compactAxeResultsForUpload(axeResults: unknown): string;
7
+ //# sourceMappingURL=axe-compact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axe-compact.d.ts","sourceRoot":"","sources":["../../src/explorechimp/axe-compact.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAgCtE"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * Shrinks axe-core analyze() output for ExploreChimp POST payloads.
4
+ * scriptservice only consumes {@code violations} in {@code bugsFromAxeAnalyzeResultsJson}.
5
+ * Goal: surface high-impact issues first — not exhaustive coverage.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.compactAxeResultsForUpload = compactAxeResultsForUpload;
9
+ function truncate(s, max) {
10
+ if (s.length <= max)
11
+ return s;
12
+ return s.slice(0, max);
13
+ }
14
+ const IMPACT_RANK = {
15
+ critical: 0,
16
+ serious: 1,
17
+ moderate: 2,
18
+ minor: 3,
19
+ };
20
+ function impactOrder(impact) {
21
+ if (!impact)
22
+ return 99;
23
+ return IMPACT_RANK[impact] ?? 50;
24
+ }
25
+ function parsePositiveInt(raw, fallback) {
26
+ const n = raw != null ? Number.parseInt(String(raw).trim(), 10) : Number.NaN;
27
+ return Number.isFinite(n) && n > 0 ? n : fallback;
28
+ }
29
+ function compactAxeResultsForUpload(axeResults) {
30
+ const maxViolations = parsePositiveInt(process.env.EXPLORECHIMP_AXE_MAX_VIOLATIONS, 25);
31
+ const maxNodes = parsePositiveInt(process.env.EXPLORECHIMP_AXE_MAX_NODES_PER_VIOLATION, 8);
32
+ if (!axeResults || typeof axeResults !== 'object') {
33
+ return JSON.stringify({ violations: [] });
34
+ }
35
+ const ar = axeResults;
36
+ const violationsIn = Array.isArray(ar.violations) ? [...ar.violations] : [];
37
+ violationsIn.sort((a, b) => impactOrder(String(a.impact)) - impactOrder(String(b.impact)));
38
+ const violations = violationsIn.slice(0, maxViolations).map((v) => {
39
+ const nodesIn = Array.isArray(v.nodes) ? v.nodes : [];
40
+ const nodes = nodesIn.slice(0, maxNodes).map((n) => ({
41
+ target: n.target,
42
+ html: truncate(String(n.html ?? ''), 500),
43
+ failureSummary: n.failureSummary != null ? truncate(String(n.failureSummary), 400) : undefined,
44
+ }));
45
+ return {
46
+ id: v.id,
47
+ impact: v.impact,
48
+ help: truncate(String(v.help ?? ''), 400),
49
+ description: truncate(String(v.description ?? ''), 600),
50
+ helpUrl: v.helpUrl,
51
+ nodes,
52
+ };
53
+ });
54
+ return JSON.stringify({ violations });
55
+ }
56
+ //# sourceMappingURL=axe-compact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axe-compact.js","sourceRoot":"","sources":["../../src/explorechimp/axe-compact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * DOM snapshot reduction for ExploreChimp uploads — aligned with scriptservice {@code utils/html-utils.ts} {@code cleanHtml}.
3
+ * Strips scripts/styles, prunes hidden/empty nodes, keeps a small allowlist of attributes, then truncates.
4
+ */
5
+ export declare function cleanHtml(rawHtml: string, maxLength?: number): string;
6
+ //# sourceMappingURL=clean-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-html.d.ts","sourceRoot":"","sources":["../../src/explorechimp/clean-html.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,MAAM,CAwFpE"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ /**
3
+ * DOM snapshot reduction for ExploreChimp uploads — aligned with scriptservice {@code utils/html-utils.ts} {@code cleanHtml}.
4
+ * Strips scripts/styles, prunes hidden/empty nodes, keeps a small allowlist of attributes, then truncates.
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.cleanHtml = cleanHtml;
41
+ const cheerio = __importStar(require("cheerio"));
42
+ function cleanHtml(rawHtml, maxLength = 50000) {
43
+ if (!rawHtml)
44
+ return '';
45
+ const $ = cheerio.load(rawHtml);
46
+ $('script, style, meta, link, svg, canvas, noscript').remove();
47
+ const allowedAttributes = new Set([
48
+ 'data-synthetic-id',
49
+ 'role',
50
+ 'type',
51
+ 'placeholder',
52
+ 'checked',
53
+ 'disabled',
54
+ 'aria-label',
55
+ 'aria-describedby',
56
+ 'aria-hidden',
57
+ 'value',
58
+ 'tabindex',
59
+ ]);
60
+ function isElementVisible($el) {
61
+ return ($el.attr('aria-hidden') !== 'true' &&
62
+ $el.css('display') !== 'none' &&
63
+ $el.css('visibility') !== 'hidden');
64
+ }
65
+ function computeEffectiveVisibility($el) {
66
+ let current = $el;
67
+ while (current?.length) {
68
+ if (!isElementVisible(current))
69
+ return false;
70
+ current = current.parent();
71
+ }
72
+ return true;
73
+ }
74
+ function isInteractable(el) {
75
+ const tag = el.name.toLowerCase();
76
+ const interactiveTags = ['button', 'input', 'select', 'textarea', 'a'];
77
+ return interactiveTags.includes(tag) || $(el).attr('tabindex') !== undefined;
78
+ }
79
+ $('*').each((_, raw) => {
80
+ if (raw.type !== 'tag')
81
+ return;
82
+ const el = raw;
83
+ const $el = $(el);
84
+ const visible = computeEffectiveVisibility($el);
85
+ if (!visible) {
86
+ $el.remove();
87
+ return;
88
+ }
89
+ $el.attr('data-visible', 'true');
90
+ $el.attr('data-interactable', isInteractable(el) ? 'true' : 'false');
91
+ Object.keys($el.attr() || {}).forEach((attr) => {
92
+ if (!allowedAttributes.has(attr)) {
93
+ $el.removeAttr(attr);
94
+ }
95
+ });
96
+ $el.contents().each((__, child) => {
97
+ if (child.type === 'text') {
98
+ const textNode = child;
99
+ if (textNode.data) {
100
+ textNode.data = textNode.data.trim().slice(0, 80);
101
+ }
102
+ }
103
+ });
104
+ const tag = el.name.toLowerCase();
105
+ if (tag === 'img' || tag === 'video') {
106
+ $el.removeAttr('src');
107
+ }
108
+ if (!$el.attr('data-synthetic-id') && !$el.text().trim() && !isInteractable(el)) {
109
+ $el.remove();
110
+ }
111
+ });
112
+ let cleanedHTML = $('body').html()?.trim() || '';
113
+ return cleanedHTML.length > maxLength
114
+ ? cleanedHTML.slice(0, maxLength).replace(/<\/?[^>]*$/g, '')
115
+ : cleanedHTML;
116
+ }
117
+ //# sourceMappingURL=clean-html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-html.js","sourceRoot":"","sources":["../../src/explorechimp/clean-html.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * ExploreChimp local runs (when `EXPLORECHIMP_ENABLED`): page instrumentation + analyze API via Featureservice.
3
+ * Wired automatically by `installTrueCoverage` / `installTestChimp` — do not import this module from app code.
4
+ * With ExploreChimp on, call markers via the Playwright fixture: `test('…', async ({ markScreenState }) => { … })`.
5
+ * Env: TESTCHIMP_BACKEND_URL, TESTCHIMP_API_KEY, TESTCHIMP_BATCH_INVOCATION_ID (exploration id).
6
+ * Optional: EXPLORECHIMP_SOURCES_TO_ANALYZE, EXPLORECHIMP_REQUEST_REGEX_TO_ANALYZE (required when NETWORK is listed),
7
+ * EXPLORECHIMP_LONG_TASK_THRESHOLD_MS (default 50; matches scriptservice watcher long-task gate).
8
+ * DOM/axe payload caps: EXPLORECHIMP_DOM_MAX_CHARS (default 32000), EXPLORECHIMP_AXE_MAX_VIOLATIONS (default 25),
9
+ * EXPLORECHIMP_AXE_MAX_NODES_PER_VIOLATION (default 8).
10
+ */
11
+ import type { Page } from '@playwright/test';
12
+ /** Matches scriptservice / protos/agents DataSource numeric values (user-facing sources only). */
13
+ export declare const DataSourceEnum: {
14
+ readonly UNKNOWN_DATA_SOURCE: 0;
15
+ readonly DOM_SOURCE: 1;
16
+ readonly SCREENSHOT_SOURCE: 2;
17
+ readonly NETWORK_SOURCE: 3;
18
+ readonly CONSOLE_SOURCE: 4;
19
+ readonly METRICS_SOURCE: 5;
20
+ };
21
+ export interface ExploreChimpPageMeta {
22
+ journeyExecutionId: string;
23
+ journeyId: string;
24
+ testId: string;
25
+ /** Playwright testInfo.retry — used with testId for stable analytics step ids. */
26
+ testRetry: number;
27
+ projectRootDir: string;
28
+ }
29
+ export declare function isExploreChimpEnabled(): boolean;
30
+ export declare function parseExploreChimpSources(): Set<string>;
31
+ export declare function attachExploreChimpInstrumentation(page: Page, opts: {
32
+ recordNetwork: boolean;
33
+ networkRegex: RegExp | null;
34
+ }): void;
35
+ /**
36
+ * Extends Playwright `test` with ExploreChimp page meta + buffers (only when `EXPLORECHIMP_ENABLED`).
37
+ * Used from {@link installTrueCoverage} / {@link installTestChimp}; not required as a separate install.
38
+ */
39
+ export declare function applyExploreChimpPageFixture(test: any): any;
40
+ /**
41
+ * ExploreChimp path for screen markers; invoked by the `markScreenState` fixture (not directly from specs).
42
+ */
43
+ export declare function runExploreChimpMarkScreenState(page: Page, screenName: string, stateName?: string): Promise<void>;
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explorechimp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AA8B7C,kGAAkG;AAClG,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAkCD,wBAAgB,qBAAqB,IAAI,OAAO,CAG/C;AAED,wBAAgB,wBAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,CAMtD;AAiKD,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,IAAI,EACV,IAAI,EAAE;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC5D,IAAI,CAyDN;AAOD;;;GAGG;AAEH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CA8D3D;AAMD;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAkKf"}