@hozu/cli 0.5.0 → 0.6.0

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/cdp.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ type Listener = (method: string, params: any, sessionId: string | undefined) => void;
2
+ export interface Cdp {
3
+ send(method: string, params?: Record<string, unknown>, sessionId?: string): Promise<any>;
4
+ on(listener: Listener): void;
5
+ close(): Promise<void>;
6
+ }
7
+ export declare function findBrowser(): string | null;
8
+ export declare function launch(browser: string, profile: string): Cdp;
9
+ export {};
10
+ //# sourceMappingURL=cdp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"AAKA,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;AAEpF,MAAM,WAAW,GAAG;IAClB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACxF,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAyBD,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAa3C;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAkE5D"}
package/dist/cdp.js ADDED
@@ -0,0 +1,108 @@
1
+ import { execFileSync, spawn } from 'node:child_process';
2
+ import { existsSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ const CANDIDATES = {
5
+ darwin: [
6
+ '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
7
+ '/Applications/Chromium.app/Contents/MacOS/Chromium',
8
+ '/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge',
9
+ '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary',
10
+ ],
11
+ win32: [
12
+ join(process.env.PROGRAMFILES ?? 'C:\\Program Files', 'Google\\Chrome\\Application\\chrome.exe'),
13
+ join(process.env['PROGRAMFILES(X86)'] ?? 'C:\\Program Files (x86)', 'Google\\Chrome\\Application\\chrome.exe'),
14
+ join(process.env['PROGRAMFILES(X86)'] ?? 'C:\\Program Files (x86)', 'Microsoft\\Edge\\Application\\msedge.exe'),
15
+ join(process.env.LOCALAPPDATA ?? '', 'Google\\Chrome\\Application\\chrome.exe'),
16
+ ],
17
+ };
18
+ const ON_PATH = ['google-chrome', 'google-chrome-stable', 'chromium', 'chromium-browser', 'microsoft-edge'];
19
+ export function findBrowser() {
20
+ for (const name of ['HOZU_CHROME', 'CHROME_PATH', 'CHROMIUM_PATH']) {
21
+ const path = process.env[name];
22
+ if (path && existsSync(path))
23
+ return path;
24
+ }
25
+ for (const path of CANDIDATES[process.platform] ?? [])
26
+ if (existsSync(path))
27
+ return path;
28
+ if (process.platform === 'win32')
29
+ return null;
30
+ for (const name of ON_PATH)
31
+ try {
32
+ const path = execFileSync('which', [name], { encoding: 'utf8' }).trim();
33
+ if (path)
34
+ return path;
35
+ }
36
+ catch { }
37
+ return null;
38
+ }
39
+ export function launch(browser, profile) {
40
+ const child = spawn(browser, [
41
+ '--headless=new',
42
+ '--remote-debugging-pipe',
43
+ `--user-data-dir=${profile}`,
44
+ '--no-first-run',
45
+ '--no-default-browser-check',
46
+ '--disable-extensions',
47
+ '--disable-background-networking',
48
+ '--disable-component-update',
49
+ '--mute-audio',
50
+ '--hide-scrollbars',
51
+ '--enable-unsafe-swiftshader',
52
+ 'about:blank',
53
+ ], { stdio: ['ignore', 'ignore', 'ignore', 'pipe', 'pipe'] });
54
+ const input = child.stdio[3];
55
+ const output = child.stdio[4];
56
+ const pending = new Map();
57
+ const listeners = [];
58
+ let id = 0;
59
+ let buffer = '';
60
+ let exited = null;
61
+ const stop = (error) => {
62
+ exited = error;
63
+ for (const p of pending.values())
64
+ p.reject(error);
65
+ pending.clear();
66
+ };
67
+ child.on('error', (e) => stop(e));
68
+ child.on('exit', () => stop(new Error('The browser exited')));
69
+ output.setEncoding('utf8');
70
+ output.on('data', (chunk) => {
71
+ buffer += chunk;
72
+ for (let end = buffer.indexOf('\0'); end >= 0; end = buffer.indexOf('\0')) {
73
+ const message = JSON.parse(buffer.slice(0, end));
74
+ buffer = buffer.slice(end + 1);
75
+ if (message.id !== undefined) {
76
+ const p = pending.get(message.id);
77
+ pending.delete(message.id);
78
+ if (message.error)
79
+ p?.reject(new Error(`${message.error.message}`));
80
+ else
81
+ p?.resolve(message.result);
82
+ }
83
+ else
84
+ for (const l of listeners)
85
+ l(message.method, message.params, message.sessionId);
86
+ }
87
+ });
88
+ return {
89
+ send: (method, params = {}, sessionId) => exited
90
+ ? Promise.reject(exited)
91
+ : new Promise((resolve, reject) => {
92
+ const message = { id: ++id, method, params, ...(sessionId ? { sessionId } : {}) };
93
+ pending.set(message.id, { resolve, reject });
94
+ input.write(`${JSON.stringify(message)}\0`);
95
+ }),
96
+ on: (listener) => listeners.push(listener),
97
+ close: async () => {
98
+ if (exited)
99
+ return;
100
+ const gone = new Promise((resolve) => child.once('exit', () => resolve()));
101
+ input.write(`${JSON.stringify({ id: ++id, method: 'Browser.close', params: {} })}\0`);
102
+ const timer = setTimeout(() => child.kill('SIGKILL'), 3000);
103
+ await gone;
104
+ clearTimeout(timer);
105
+ },
106
+ };
107
+ }
108
+ //# sourceMappingURL=cdp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { AddOutput } from '../contract.ts';
2
+ export declare const bundleSpec: (core: string | undefined) => string;
2
3
  export declare function runAddWidget(cwd: string, config: string | undefined, feature: string | undefined, name: string | undefined): Promise<AddOutput>;
3
4
  export declare function describeAddWidget(out: AddOutput, name: string): string;
4
5
  //# sourceMappingURL=add-widget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-widget.d.ts","sourceRoot":"","sources":["../../src/commands/add-widget.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAuB/C,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,SAAS,CAAC,CA2EpB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOtE"}
1
+ {"version":3,"file":"add-widget.d.ts","sourceRoot":"","sources":["../../src/commands/add-widget.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAuB/C,eAAO,MAAM,UAAU,SAAU,MAAM,GAAG,SAAS,WAC2D,CAAA;AAE9G,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,SAAS,CAAC,CA2EpB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOtE"}
@@ -20,6 +20,7 @@ export default implement<typeof ${name}>(({ el }) => {
20
20
  return { destroy: () => el.replaceChildren() }
21
21
  })
22
22
  `;
23
+ export const bundleSpec = (core) => core === undefined ? 'latest' : core.startsWith('file:') ? core.replace(/hozu-core-/, 'hozu-bundle-') : core;
23
24
  export async function runAddWidget(cwd, config, feature, name) {
24
25
  if (!feature || !name || !/^[A-Z][A-Za-z0-9]*$/.test(name))
25
26
  throw new HozuCliError('usage', 'Give the feature and a PascalCase widget name', [
@@ -71,7 +72,7 @@ export async function runAddWidget(cwd, config, feature, name) {
71
72
  const deps = json.dependencies ?? {};
72
73
  if (deps['@hozu/bundle'])
73
74
  return s;
74
- json.dependencies = Object.fromEntries(Object.entries({ ...deps, '@hozu/bundle': deps['@hozu/core'] ?? 'latest' }).sort(([a], [b]) => a.localeCompare(b)));
75
+ json.dependencies = Object.fromEntries(Object.entries({ ...deps, '@hozu/bundle': bundleSpec(deps['@hozu/core']) }).sort(([a], [b]) => a.localeCompare(b)));
75
76
  return `${JSON.stringify(json, null, 2)}\n`;
76
77
  }, 'add @hozu/bundle to dependencies');
77
78
  if (out.edited.includes(relative(cwd, pkg)))
@@ -1 +1 @@
1
- {"version":3,"file":"add-widget.js","sourceRoot":"","sources":["../../src/commands/add-widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-widget.js","sourceRoot":"","sources":["../../src/commands/add-widget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { BrowseOutput } from '../contract.ts';
2
+ import type { Loaded } from '../load.ts';
3
+ export interface BrowseOptions {
4
+ path: string | undefined;
5
+ steps: string[];
6
+ select: string[];
7
+ screenshot: string | undefined;
8
+ reducedMotion: boolean;
9
+ session: string | undefined;
10
+ full: boolean;
11
+ }
12
+ export declare function runBrowse(loaded: Loaded, options: BrowseOptions): Promise<BrowseOutput>;
13
+ export declare const browseFailed: (out: BrowseOutput) => boolean;
14
+ export declare function describeBrowse(out: BrowseOutput): string;
15
+ //# sourceMappingURL=browse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAe,YAAY,EAA4C,MAAM,gBAAgB,CAAA;AAEzG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AASxC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,IAAI,EAAE,OAAO,CAAA;CACd;AA+JD,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAqR7F;AAED,eAAO,MAAM,YAAY,QAAS,YAAY,YAC0D,CAAA;AAExG,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CA2BxD"}