@mechris3/glassbox 0.1.33 → 0.1.35

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
@@ -139,16 +139,6 @@ Extend `BasePage` — no constructor needed. The following methods are available
139
139
  | `clearSession(origin?)` | Clear cookies and storage |
140
140
  | `readClipboard()` | Read text from clipboard |
141
141
 
142
- **Important:** Glassbox runs your files as native ESM (via `--import tsx`). Imports from `@mechris3/glassbox` work as-is, but **relative imports between your own files must use `.js` extensions** — even though the source files are `.ts`. This is how Node's ESM loader resolves TypeScript:
143
-
144
- ```typescript
145
- // ✅ Correct — .js extension on relative import
146
- import { LoginPage } from '../page-objects/login.page.js';
147
-
148
- // ❌ Wrong — will fail at runtime with extensionless path
149
- import { LoginPage } from '../page-objects/login.page';
150
- ```
151
-
152
142
  Example:
153
143
 
154
144
  ```typescript
@@ -182,7 +172,7 @@ Extend `Journey` — use `this.page()` to create page objects:
182
172
  ```typescript
183
173
  // journeys/login.journey.ts
184
174
  import { Journey } from '@mechris3/glassbox';
185
- import { LoginPage } from '../page-objects/login.page.js';
175
+ import { LoginPage } from '../page-objects/login.page';
186
176
 
187
177
  export class LoginJourney extends Journey {
188
178
  loginPage = this.page(LoginPage);
@@ -413,10 +403,6 @@ Requires `glassbox serve` to be running. The AI gets these tools:
413
403
 
414
404
  The AI can identify journeys by name (`"login"`), ID (`"login-and-add-todos"`), or full path. After a failure, the browser stays open so `getDomSnapshot` and `getScreenshot` can inspect the failed state.
415
405
 
416
- ## Gotchas
417
-
418
- - **Missing `.js` extensions on relative imports:** Glassbox spawns journeys in a child process using native ESM (`--import tsx` with `import()`). Node's ESM loader requires file extensions on relative paths. If you see `"Journey export must be a class with execute() method or a function"` at runtime, the most likely cause is a relative import without a `.js` extension. Package imports (`from '@mechris3/glassbox'`) don't need extensions — only your own file-to-file imports do.
419
-
420
406
  ## License
421
407
 
422
408
  Proprietary. All rights reserved.
@@ -156,8 +156,14 @@ async function importJourney(journeyPath) {
156
156
  * Function-based: exports a function that receives the adapter.
157
157
  */
158
158
  async function executeJourney(module, adapter) {
159
+ // Handle CJS interop: when import() wraps a CJS module, named exports
160
+ // end up nested under module.default as a plain object
161
+ let resolved = module;
162
+ if (module.default && typeof module.default === 'object' && !Array.isArray(module.default)) {
163
+ resolved = module.default;
164
+ }
159
165
  // Find the journey export — check default first, then named exports
160
- const journeyExport = module.default ?? findJourneyExport(module);
166
+ const journeyExport = resolved.default ?? findJourneyExport(resolved);
161
167
  if (!journeyExport) {
162
168
  throw new Error('Journey file must export a class with execute() method or a function');
163
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-journey.js","sourceRoot":"","sources":["../../../src/runner/run-journey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-journey.js","sourceRoot":"","sources":["../../../src/runner/run-journey.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@
4
4
  * Both the server-driven TestExecutor and the CLI batch runner need to spawn
5
5
  * a child process per journey with identical environment setup. This module
6
6
  * is the single source of truth for that logic.
7
+ *
8
+ * Uses tsx as the runner binary (not --import tsx) so that consumer projects
9
+ * don't need "type": "module" or .js extensions on relative imports — tsx
10
+ * owns the entire module resolution pipeline.
7
11
  */
8
12
  import { type ChildProcess } from 'child_process';
9
13
  export interface SpawnJourneyOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-journey.d.ts","sourceRoot":"","sources":["../../../src/runner/spawn-journey.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGzD,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,OAAO,EAAE,YAAY,CAAC;IACtB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3B;AAKD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,CAuBzE"}
1
+ {"version":3,"file":"spawn-journey.d.ts","sourceRoot":"","sources":["../../../src/runner/spawn-journey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGzD,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,OAAO,EAAE,YAAY,CAAC;IACtB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3B;AAWD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,CAyBzE"}
@@ -5,6 +5,10 @@
5
5
  * Both the server-driven TestExecutor and the CLI batch runner need to spawn
6
6
  * a child process per journey with identical environment setup. This module
7
7
  * is the single source of truth for that logic.
8
+ *
9
+ * Uses tsx as the runner binary (not --import tsx) so that consumer projects
10
+ * don't need "type": "module" or .js extensions on relative imports — tsx
11
+ * owns the entire module resolution pipeline.
8
12
  */
9
13
  Object.defineProperty(exports, "__esModule", { value: true });
10
14
  exports.spawnJourney = spawnJourney;
@@ -12,6 +16,11 @@ const child_process_1 = require("child_process");
12
16
  const path_1 = require("path");
13
17
  /** Path to the runner entry point — resolved from this module's location. */
14
18
  const RUNNER_ENTRY = (0, path_1.resolve)(__dirname, 'run-journey.js');
19
+ /** Resolve the tsx CLI binary from our own dependencies. */
20
+ function resolveTsxBin() {
21
+ const tsxPkgPath = require.resolve('tsx/package.json');
22
+ return (0, path_1.resolve)((0, path_1.dirname)(tsxPkgPath), 'dist', 'cli.mjs');
23
+ }
15
24
  /**
16
25
  * Spawn a journey runner child process with the correct environment.
17
26
  * Returns the process handle and a promise for the exit code.
@@ -27,7 +36,8 @@ function spawnJourney(options) {
27
36
  ACTION_DELAY: String(options.actionDelay),
28
37
  TEST_BREAKPOINTS: JSON.stringify(options.breakpoints),
29
38
  };
30
- const child = (0, child_process_1.spawn)(process.execPath, ['--import', 'tsx', RUNNER_ENTRY], {
39
+ const tsxBin = resolveTsxBin();
40
+ const child = (0, child_process_1.spawn)(process.execPath, [tsxBin, RUNNER_ENTRY], {
31
41
  env,
32
42
  stdio: ['pipe', 'pipe', 'pipe'],
33
43
  cwd: process.cwd(),
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-journey.js","sourceRoot":"","sources":["../../../src/runner/spawn-journey.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAoCH,oCAuBC;AAzDD,iDAAyD;AACzD,+BAA+B;AA0B/B,6EAA6E;AAC7E,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAE1D;;;GAGG;AACH,SAAgB,YAAY,CAAC,OAA4B;IACvD,MAAM,GAAG,GAA2B;QAClC,GAAG,OAAO,CAAC,GAA6B;QACxC,qBAAqB,EAAE,OAAO,CAAC,WAAW;QAC1C,oBAAoB,EAAE,OAAO,CAAC,UAAU;QACxC,WAAW,EAAE,OAAO,CAAC,SAAS;QAC9B,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QACzC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;KACtD,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE;QACvE,GAAG;QACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KACnB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAC/C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"spawn-journey.js","sourceRoot":"","sources":["../../../src/runner/spawn-journey.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AA0CH,oCAyBC;AAjED,iDAAyD;AACzD,+BAAwC;AA0BxC,6EAA6E;AAC7E,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAE1D,4DAA4D;AAC5D,SAAS,aAAa;IACpB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvD,OAAO,IAAA,cAAO,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,OAA4B;IACvD,MAAM,GAAG,GAA2B;QAClC,GAAG,OAAO,CAAC,GAA6B;QACxC,qBAAqB,EAAE,OAAO,CAAC,WAAW;QAC1C,oBAAoB,EAAE,OAAO,CAAC,UAAU;QACxC,WAAW,EAAE,OAAO,CAAC,SAAS;QAC9B,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/C,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QACzC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC;KACtD,CAAC;IAEF,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE;QAC5D,GAAG;QACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KACnB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QAC/C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mechris3/glassbox",
3
- "version": "0.1.33",
3
+ "version": "0.1.35",
4
4
  "description": "Debugger-style browser automation test runner with live execution control via CDP",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",