document360-capture 0.1.1 → 0.1.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.
@@ -1,5 +1,7 @@
1
1
  import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
2
+ import { createRequire } from 'node:module';
2
3
  import { join, isAbsolute, resolve } from 'node:path';
4
+ const require = createRequire(import.meta.url);
3
5
  export function writeRuntimePlaywrightConfig(args) {
4
6
  const { cwd, cfg, envName, storageStatePath } = args;
5
7
  const cacheDir = join(cwd, '.d360-capture-cache');
@@ -8,8 +10,13 @@ export function writeRuntimePlaywrightConfig(args) {
8
10
  const path = join(cacheDir, `playwright.${envName}.config.cjs`);
9
11
  const captureDirAbs = isAbsolute(cfg.captureDir) ? cfg.captureDir : resolve(cwd, cfg.captureDir);
10
12
  const storageAbs = isAbsolute(storageStatePath) ? storageStatePath : resolve(cwd, storageStatePath);
13
+ // The generated config lives in the CONSUMING repo, which typically does
14
+ // not have @playwright/test in its node_modules (the CLI is installed
15
+ // globally). Resolve it from the CLI's own dependency tree at generation
16
+ // time and require it by absolute path.
17
+ const playwrightTestPath = require.resolve('@playwright/test');
11
18
  const body = `// Generated by document360-capture — do not edit by hand.
12
- const { defineConfig } = require('@playwright/test');
19
+ const { defineConfig } = require(${JSON.stringify(playwrightTestPath)});
13
20
  module.exports = defineConfig({
14
21
  testDir: ${JSON.stringify(captureDirAbs)},
15
22
  testMatch: '**/*.spec.ts',
@@ -1 +1 @@
1
- {"version":3,"file":"playwrightConfig.js","sourceRoot":"","sources":["../../src/runner/playwrightConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUtD,MAAM,UAAU,4BAA4B,CAAC,IAAuB;IAClE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,OAAO,aAAa,CAAC,CAAC;IAEhE,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACjG,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEpG,MAAM,IAAI,GAAG;;;aAGF,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;;;;;;;;gBAQ1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACxB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;;;;;;CAM7C,CAAC;IAEA,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"playwrightConfig.js","sourceRoot":"","sources":["../../src/runner/playwrightConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGtD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAS/C,MAAM,UAAU,4BAA4B,CAAC,IAAuB;IAClE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,OAAO,aAAa,CAAC,CAAC;IAEhE,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACjG,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAEpG,yEAAyE;IACzE,sEAAsE;IACtE,yEAAyE;IACzE,wCAAwC;IACxC,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAG;mCACoB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;;aAExD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;;;;;;;;gBAQ1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACxB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;;;;;;CAM7C,CAAC;IAEA,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { createRequire } from 'node:module';
3
- import { join } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { delimiter, dirname, join, resolve as resolvePath } from 'node:path';
4
5
  const require = createRequire(import.meta.url);
5
6
  export async function runSpecs(args) {
6
7
  const { cwd, configPath, startUrl, authBoundaryUrlPattern, specId, captureDirAbs } = args;
@@ -24,6 +25,12 @@ export async function runSpecs(args) {
24
25
  ...process.env,
25
26
  CAPTURE_START_URL: startUrl,
26
27
  CAPTURE_AUTH_BOUNDARY: authBoundaryUrlPattern,
28
+ // Spec files import 'document360-capture/helpers' by package name,
29
+ // but the consuming repo usually doesn't have the package in its
30
+ // local node_modules (the CLI is installed globally). NODE_PATH
31
+ // makes bare specifiers fall back to the CLI's own install
32
+ // locations after the normal node_modules walk-up.
33
+ NODE_PATH: buildNodePath(),
27
34
  },
28
35
  shell: false,
29
36
  });
@@ -46,6 +53,17 @@ export async function runSpecs(args) {
46
53
  });
47
54
  });
48
55
  }
56
+ function buildNodePath() {
57
+ // dist/runner/runSpecs.js → package root is two levels up.
58
+ const packageRoot = resolvePath(dirname(fileURLToPath(import.meta.url)), '..', '..');
59
+ const entries = [
60
+ join(packageRoot, 'node_modules'), // the CLI's own deps (@playwright/test, sharp, …)
61
+ dirname(packageRoot), // the node_modules dir CONTAINING the CLI → resolves 'document360-capture/helpers'
62
+ ];
63
+ if (process.env.NODE_PATH)
64
+ entries.push(process.env.NODE_PATH);
65
+ return entries.join(delimiter);
66
+ }
49
67
  function resolvePlaywrightCli() {
50
68
  // Newer @playwright/test versions (>= ~1.50) export './cli' in their
51
69
  // exports map and block deep './cli.js' resolution; older versions only
@@ -1 +1 @@
1
- {"version":3,"file":"runSpecs.js","sourceRoot":"","sources":["../../src/runner/runSpecs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runSpecs.js","sourceRoot":"","sources":["../../src/runner/runSpecs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "document360-capture",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "CLI that captures product screenshots from Playwright specs. Login once, capture many. Companion to document360-writer.",
5
5
  "type": "module",
6
6
  "bin": {