@playwright-repl/core 0.19.0 → 0.21.2

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 (45) hide show
  1. package/README.md +41 -52
  2. package/dist/bridge-server.d.ts +6 -2
  3. package/dist/bridge-server.d.ts.map +1 -1
  4. package/dist/bridge-server.js +13 -2
  5. package/dist/bridge-server.js.map +1 -1
  6. package/dist/engine.d.ts.map +1 -1
  7. package/dist/engine.js +25 -6
  8. package/dist/engine.js.map +1 -1
  9. package/dist/extension-server.d.ts +8 -1
  10. package/dist/extension-server.d.ts.map +1 -1
  11. package/dist/extension-server.js +56 -9
  12. package/dist/extension-server.js.map +1 -1
  13. package/dist/filter.d.ts +7 -2
  14. package/dist/filter.d.ts.map +1 -1
  15. package/dist/filter.js +8 -4
  16. package/dist/filter.js.map +1 -1
  17. package/dist/index.d.ts +5 -6
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +4 -5
  20. package/dist/index.js.map +1 -1
  21. package/dist/page-scripts.d.ts +12 -5
  22. package/dist/page-scripts.d.ts.map +1 -1
  23. package/dist/page-scripts.js +121 -30
  24. package/dist/page-scripts.js.map +1 -1
  25. package/dist/parser.d.ts +1 -1
  26. package/dist/parser.d.ts.map +1 -1
  27. package/dist/parser.js +8 -1
  28. package/dist/parser.js.map +1 -1
  29. package/dist/resolve.d.ts +2 -0
  30. package/dist/resolve.d.ts.map +1 -1
  31. package/dist/resolve.js +34 -17
  32. package/dist/resolve.js.map +1 -1
  33. package/dist/snapshot-parser.d.ts +1 -0
  34. package/dist/snapshot-parser.d.ts.map +1 -1
  35. package/dist/snapshot-parser.js +10 -11
  36. package/dist/snapshot-parser.js.map +1 -1
  37. package/dist/test-framework.d.ts +12 -0
  38. package/dist/test-framework.d.ts.map +1 -0
  39. package/dist/test-framework.js +209 -0
  40. package/dist/test-framework.js.map +1 -0
  41. package/dist/types.d.ts +25 -0
  42. package/dist/types.d.ts.map +1 -0
  43. package/dist/types.js +3 -0
  44. package/dist/types.js.map +1 -0
  45. package/package.json +2 -6
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-parser.d.ts","sourceRoot":"","sources":["../src/snapshot-parser.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC5B;AAID,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMnE;AA+BD,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAYpF;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAatE"}
1
+ {"version":3,"file":"snapshot-parser.d.ts","sourceRoot":"","sources":["../src/snapshot-parser.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC5B;AAID,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAMnE;AA8BD,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAYpF;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,EAAE,CAatE"}
@@ -16,23 +16,23 @@ export function parseSnapshot(yamlText) {
16
16
  function toNodes(parsed) {
17
17
  return parsed.map(item => {
18
18
  if (typeof item === 'string') {
19
- return { text: stripRef(item), ref: extractRef(item), children: [] };
19
+ return { text: item, ref: extractRef(item), children: [] };
20
20
  }
21
- // Object: { "document [ref=e1]": [...children] }
21
+ // Object: { "document [ref=e1]": [...children] } or { "textbox [ref=e5]": "value" }
22
22
  const obj = item;
23
23
  const key = Object.keys(obj)[0];
24
- const children = obj[key];
24
+ const val = obj[key];
25
+ const isScalar = typeof val === 'string' || typeof val === 'number';
26
+ const children = Array.isArray(val) ? toNodes(val) : [];
27
+ const text = isScalar ? `${key}: ${String(val)}` : key;
25
28
  return {
26
- text: stripRef(key),
29
+ text,
27
30
  ref: extractRef(key),
28
- children: Array.isArray(children) ? toNodes(children) : [],
31
+ value: isScalar ? String(val) : undefined,
32
+ children,
29
33
  };
30
34
  });
31
35
  }
32
- // "document [ref=e1]" → "document"
33
- function stripRef(text) {
34
- return text.replace(/\s*\[ref=e\d+\]/, '').trim();
35
- }
36
36
  // "document [ref=e1]" → "e1"
37
37
  function extractRef(text) {
38
38
  return text.match(/\[ref=(e\d+)\]/)?.[1];
@@ -109,8 +109,7 @@ function buildLocator(role, name, nth) {
109
109
  };
110
110
  }
111
111
  function parseRoleName(text) {
112
- // text is already stripped of [ref=eN] by parseSnapshot
113
- // but may contain other attrs like [level=2], [checked], [disabled]
112
+ // Strip all bracketed attrs including [ref=eN], [level=2], [checked], etc.
114
113
  const withoutAttrs = text.replace(/\s*\[.*?\]/g, '').trim();
115
114
  // Strip value suffix — e.g. `textbox "Search": dddd` → `textbox "Search"`
116
115
  const withoutValue = withoutAttrs.replace(/":\s.*$/, '"');
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-parser.js","sourceRoot":"","sources":["../src/snapshot-parser.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAU3B,+EAA+E;AAE/E,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC1C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED,SAAS,OAAO,CAAC,MAAiB;IAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACrB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACzE,CAAC;QACD,iDAAiD;QACjD,MAAM,GAAG,GAAG,IAAiC,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO;YACH,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC;YACnB,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;YACpB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,mCAAmC;AACnC,SAAS,QAAQ,CAAC,IAAY;IAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACtD,CAAC;AAED,6BAA6B;AAC7B,SAAS,UAAU,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AASD,MAAM,UAAU,YAAY,CAAC,YAAoB,EAAE,GAAW;IAC1D,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhD,2CAA2C;IAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5E,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAChE,CAAC;AAQD,MAAM,UAAU,cAAc,CAAC,YAAoB;IAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,IAAkB;IACvC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,IAAkB,EAAE,GAAW;IAC9C,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAkB,EAAE,IAAY,EAAE,IAAa;IACtE,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,IAAa,EAAE,GAAY;IAC3D,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAI,IAAI,EAAE,CAAC;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO;YACH,EAAE,EAAE,mBAAmB,IAAI,eAAe,OAAO,oBAAoB,KAAK,EAAE;YAC5E,EAAE,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE;SAClC,CAAC;IACN,CAAC;IACD,OAAO;QACH,EAAE,EAAE,mBAAmB,IAAI,KAAK,KAAK,EAAE;QACvC,EAAE,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE;KACxB,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IAC/B,wDAAwD;IACxD,oEAAoE;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,0EAA0E;IAC1E,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"snapshot-parser.js","sourceRoot":"","sources":["../src/snapshot-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Test Framework — shared test registration and runner for bridge mode.
3
+ *
4
+ * Used by both:
5
+ * - Chrome extension (pre-loaded in service worker via background.ts)
6
+ * - Runner shim (bundled by esbuild for standalone mode)
7
+ *
8
+ * Provides test/describe/beforeEach/etc. registration API and __runTests runner.
9
+ * Compiled tests use __test, __expect, __runTests, __resetTestState from globalThis.
10
+ */
11
+ export declare function installFramework(): void;
12
+ //# sourceMappingURL=test-framework.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-framework.d.ts","sourceRoot":"","sources":["../src/test-framework.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgNH,wBAAgB,gBAAgB,SAU/B"}
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Test Framework — shared test registration and runner for bridge mode.
3
+ *
4
+ * Used by both:
5
+ * - Chrome extension (pre-loaded in service worker via background.ts)
6
+ * - Runner shim (bundled by esbuild for standalone mode)
7
+ *
8
+ * Provides test/describe/beforeEach/etc. registration API and __runTests runner.
9
+ * Compiled tests use __test, __expect, __runTests, __resetTestState from globalThis.
10
+ */
11
+ // ─── State ─────────────────────────────────────────────────────────────────
12
+ let rootSuite;
13
+ let currentSuite;
14
+ let hasOnly;
15
+ let grepPattern = null;
16
+ let testTimeout = 30000;
17
+ function resetState() {
18
+ rootSuite = {
19
+ name: '', tests: [], beforeAll: [], afterAll: [],
20
+ beforeEach: [], afterEach: [], children: [],
21
+ };
22
+ currentSuite = rootSuite;
23
+ hasOnly = false;
24
+ }
25
+ // ─── Registration API ──────────────────────────────────────────────────────
26
+ function test(name, fnOrOpts, maybeFn) {
27
+ const fn = typeof fnOrOpts === 'function' ? fnOrOpts : maybeFn;
28
+ currentSuite.tests.push({ name, fn, only: false, skip: false });
29
+ }
30
+ test.only = (name, fnOrOpts, maybeFn) => {
31
+ const fn = typeof fnOrOpts === 'function' ? fnOrOpts : maybeFn;
32
+ hasOnly = true;
33
+ currentSuite.tests.push({ name, fn, only: true, skip: false });
34
+ };
35
+ class SkipError extends Error {
36
+ constructor() { super('SKIP'); this.name = 'SkipError'; }
37
+ }
38
+ test.skip = (nameOrCond, fnOrOpts, maybeFn) => {
39
+ if (typeof nameOrCond === 'string') {
40
+ const fn = typeof fnOrOpts === 'function' ? fnOrOpts : maybeFn;
41
+ currentSuite.tests.push({ name: nameOrCond, fn, only: false, skip: true });
42
+ }
43
+ else if (nameOrCond) {
44
+ throw new SkipError();
45
+ }
46
+ };
47
+ test.describe = (name, fn) => {
48
+ const suite = {
49
+ name, tests: [], beforeAll: [], afterAll: [],
50
+ beforeEach: [], afterEach: [], children: [],
51
+ };
52
+ currentSuite.children.push(suite);
53
+ const parent = currentSuite;
54
+ currentSuite = suite;
55
+ fn();
56
+ currentSuite = parent;
57
+ };
58
+ test.describe.configure = () => { };
59
+ test.fixme = (condOrName, fn) => {
60
+ if (typeof condOrName === 'string')
61
+ return test.skip(condOrName, fn);
62
+ if (condOrName)
63
+ throw new SkipError();
64
+ };
65
+ test.slow = () => { };
66
+ test.info = () => ({ annotations: [] });
67
+ test.beforeAll = (fn) => { currentSuite.beforeAll.push(fn); };
68
+ test.afterAll = (fn) => { currentSuite.afterAll.push(fn); };
69
+ test.beforeEach = (fn) => { currentSuite.beforeEach.push(fn); };
70
+ test.afterEach = (fn) => { currentSuite.afterEach.push(fn); };
71
+ test.extend = (fixtures) => {
72
+ const extendedTest = (name, fnOrOpts, maybeFn) => {
73
+ const fn = typeof fnOrOpts === 'function' ? fnOrOpts : maybeFn;
74
+ currentSuite.tests.push({
75
+ name, only: false, skip: false,
76
+ fn: async (baseFixtures) => {
77
+ const extended = { ...baseFixtures };
78
+ for (const [key, fixtureFn] of Object.entries(fixtures)) {
79
+ if (typeof fixtureFn === 'function') {
80
+ await new Promise((resolve, reject) => {
81
+ const useCallback = async (value) => {
82
+ extended[key] = value;
83
+ resolve();
84
+ };
85
+ Promise.resolve(fixtureFn({ ...extended, [key]: extended[key] }, useCallback)).catch(reject);
86
+ });
87
+ }
88
+ }
89
+ await fn(extended);
90
+ },
91
+ });
92
+ };
93
+ extendedTest.only = test.only;
94
+ extendedTest.skip = test.skip;
95
+ extendedTest.describe = test.describe;
96
+ extendedTest.beforeAll = test.beforeAll;
97
+ extendedTest.afterAll = test.afterAll;
98
+ extendedTest.beforeEach = test.beforeEach;
99
+ extendedTest.afterEach = test.afterEach;
100
+ extendedTest.extend = test.extend;
101
+ extendedTest.fixme = test.fixme;
102
+ extendedTest.slow = test.slow;
103
+ extendedTest.info = test.info;
104
+ return extendedTest;
105
+ };
106
+ // ─── Runner ────────────────────────────────────────────────────────────────
107
+ async function runSuite(suite, parentBeforeEach, parentAfterEach, prefix) {
108
+ const results = [];
109
+ const _g = globalThis;
110
+ const fixtures = { page: _g.__proxyPage ?? _g.page, context: null, expect: _g.__proxyExpect ?? _g.expect };
111
+ const allBeforeEach = [...parentBeforeEach, ...suite.beforeEach];
112
+ const allAfterEach = [...suite.afterEach, ...parentAfterEach];
113
+ for (const fn of suite.beforeAll)
114
+ await fn(fixtures);
115
+ for (const t of suite.tests) {
116
+ const fullName = prefix ? `${prefix} > ${t.name}` : t.name;
117
+ if (t.skip || (hasOnly && !t.only) || (grepPattern && !grepPattern.test(fullName))) {
118
+ results.push({ name: fullName, passed: true, skipped: true, duration: 0 });
119
+ continue;
120
+ }
121
+ const start = Date.now();
122
+ try {
123
+ if (fixtures.page?.unrouteAll) {
124
+ try {
125
+ await fixtures.page.unrouteAll({ behavior: 'wait' });
126
+ }
127
+ catch {
128
+ await fixtures.page.unrouteAll();
129
+ }
130
+ }
131
+ for (const fn of allBeforeEach)
132
+ await fn(fixtures);
133
+ await Promise.race([
134
+ t.fn(fixtures),
135
+ new Promise((_, reject) => setTimeout(() => reject(new Error(`Test timeout of ${testTimeout}ms exceeded`)), testTimeout)),
136
+ ]);
137
+ for (const fn of allAfterEach)
138
+ await fn(fixtures);
139
+ results.push({ name: fullName, passed: true, skipped: false, duration: Date.now() - start });
140
+ }
141
+ catch (err) {
142
+ if (err.name === 'SkipError') {
143
+ results.push({ name: fullName, passed: true, skipped: true, duration: 0 });
144
+ }
145
+ else {
146
+ results.push({
147
+ name: fullName, passed: false, skipped: false,
148
+ error: err.message || String(err),
149
+ duration: Date.now() - start,
150
+ });
151
+ }
152
+ }
153
+ }
154
+ for (const child of suite.children) {
155
+ const childPrefix = prefix ? `${prefix} > ${child.name}` : child.name;
156
+ results.push(...await runSuite(child, allBeforeEach, allAfterEach, childPrefix));
157
+ }
158
+ for (const fn of suite.afterAll)
159
+ await fn(fixtures);
160
+ return results;
161
+ }
162
+ function formatResults(results) {
163
+ const lines = [];
164
+ let passed = 0, failed = 0, skipped = 0;
165
+ for (const r of results) {
166
+ if (r.skipped) {
167
+ lines.push(` - ${r.name} (skipped)`);
168
+ skipped++;
169
+ }
170
+ else if (r.passed) {
171
+ lines.push(` ✓ ${r.name} (${r.duration}ms)`);
172
+ passed++;
173
+ }
174
+ else {
175
+ lines.push(` ✗ ${r.name} (${r.duration}ms)`);
176
+ lines.push(` ${r.error}`);
177
+ failed++;
178
+ }
179
+ }
180
+ lines.push('');
181
+ lines.push(` ${passed} passed, ${failed} failed, ${skipped} skipped`);
182
+ return lines.join('\n');
183
+ }
184
+ async function __runTests() {
185
+ const results = await runSuite(rootSuite, [], [], '');
186
+ return formatResults(results);
187
+ }
188
+ // ─── Smart Expect ──────────────────────────────────────────────────────────
189
+ function smartExpect(target) {
190
+ // In browser context, just use the real expect
191
+ const _g = globalThis;
192
+ const realExpect = _g.__proxyExpect ?? _g.expect;
193
+ if (realExpect)
194
+ return realExpect(target);
195
+ throw new Error('expect() not available');
196
+ }
197
+ // ─── Install ───────────────────────────────────────────────────────────────
198
+ export function installFramework() {
199
+ const _g = globalThis;
200
+ _g.__test = test;
201
+ _g.__expect = smartExpect;
202
+ _g.__runTests = __runTests;
203
+ _g.__resetTestState = resetState;
204
+ _g.__setGrep = (pattern) => { grepPattern = pattern ? new RegExp(pattern, 'i') : null; };
205
+ _g.__setGrepExact = (pattern) => { grepPattern = pattern ? new RegExp(pattern) : null; };
206
+ _g.__setTimeout = (ms) => { testTimeout = ms; };
207
+ resetState();
208
+ }
209
+ //# sourceMappingURL=test-framework.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-framework.js","sourceRoot":"","sources":["../src/test-framework.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export interface EngineOpts {
2
+ headed?: boolean;
3
+ browser?: string;
4
+ connect?: number | boolean;
5
+ extension?: boolean;
6
+ spawn?: boolean;
7
+ port?: number;
8
+ cdpPort?: number;
9
+ persistent?: boolean;
10
+ profile?: string;
11
+ cwd?: string;
12
+ [key: string]: unknown;
13
+ }
14
+ export interface EngineResult {
15
+ text?: string;
16
+ image?: string;
17
+ isError?: boolean;
18
+ }
19
+ export interface ParsedArgs {
20
+ _: string[];
21
+ cwd?: string;
22
+ nth?: string | number;
23
+ [key: string]: unknown;
24
+ }
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ // ─── Engine types (shared across packages) ──────────────────────────────────
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+EAA+E"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@playwright-repl/core",
3
- "version": "0.19.0",
3
+ "description": "Shared parser, servers, and utilities for playwright-repl",
4
+ "version": "0.21.2",
4
5
  "type": "module",
5
6
  "main": "./dist/index.js",
6
7
  "exports": {
@@ -19,14 +20,9 @@
19
20
  "minimist": "^1.2.8",
20
21
  "ws": "^8.19.0"
21
22
  },
22
- "peerDependencies": {
23
- "playwright": "1.59.0-alpha-2026-02-21",
24
- "playwright-core": "1.59.0-alpha-2026-02-21"
25
- },
26
23
  "devDependencies": {
27
24
  "@types/js-yaml": "^4.0.9",
28
25
  "@types/ws": "^8.18.1",
29
- "playwright-core": "1.59.0-alpha-2026-02-21",
30
26
  "vitest": "^4.0.18"
31
27
  }
32
28
  }