uisnap 0.2.0 → 0.2.1

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.
@@ -20,7 +20,15 @@
20
20
  "Bash(git add:*)",
21
21
  "Bash(git rm:*)",
22
22
  "Bash(git commit:*)",
23
- "Bash(find:*)"
23
+ "Bash(find:*)",
24
+ "mcp__cloudflare__search_cloudflare_documentation",
25
+ "Bash(npm ls:*)",
26
+ "Bash(npm view:*)",
27
+ "WebFetch(domain:github.com)",
28
+ "Bash(gh issue view:*)",
29
+ "Bash(gh issue close:*)",
30
+ "Bash(git push)",
31
+ "Bash(gh issue create --repo tonyhschu/uisnap --title \"Inline script support for exec command\" --body \"$\\(cat <<''EOF''\nFrom #2 feedback.\n\n**Request:** Run simple one-liners without needing a script file.\n\n```bash\n# Wishlist:\nuisnap exec -e ''await page.click\\(\"canvas\"\\)''\nuisnap exec -e ''await page.goto\\(\"http://localhost:5173\"\\); await page.click\\(\"button\"\\)''\n```\n\n**Use case:** Quick one-off debugging without creating a file.\n\n**Priority:** Medium\nEOF\n\\)\")"
24
32
  ]
25
33
  }
26
34
  }
package/README.md CHANGED
@@ -25,6 +25,12 @@ When AI agents debug frontend issues, they typically:
25
25
 
26
26
  ## Installation
27
27
 
28
+ ### Requirements
29
+
30
+ - **Node.js 18, 20, or 22 LTS** (recommended)
31
+ - Node.js 24 may work but is untested
32
+ - Node.js 25+ is **not supported** (duckdb lacks pre-built binaries)
33
+
28
34
  ### 1. Install the CLI tool
29
35
 
30
36
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/commands/snapshot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAkD,MAAM,UAAU,CAAC;AAgB1F,QAAA,MAAM,QAAQ,EAAE,cA8Kf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/commands/snapshot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAkD,MAAM,UAAU,CAAC;AAgB1F,QAAA,MAAM,QAAQ,EAAE,cAiOf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -39,9 +39,53 @@ const webVitals_1 = require("../utils/webVitals");
39
39
  const chromeTraceHelpers_1 = require("../utils/chromeTraceHelpers");
40
40
  const projectRoot_1 = require("../utils/projectRoot");
41
41
  const snapshot = async (page, context, _browser, args) => {
42
- const [url, userOutputDir] = args;
42
+ let url;
43
+ let userOutputDir;
44
+ let consoleFilter;
45
+ for (let i = 0; i < args.length; i++) {
46
+ const arg = args[i];
47
+ if (arg === '--console-filter' || arg === '-cf') {
48
+ consoleFilter = args[++i];
49
+ }
50
+ else if (arg === '--help' || arg === '-h') {
51
+ console.log(`uisnap snapshot - Capture complete page state
52
+
53
+ Usage:
54
+ uisnap snapshot <url> [output-dir] [options]
55
+
56
+ Options:
57
+ --console-filter, -cf <pattern> Filter console logs by text (regex supported)
58
+
59
+ If output-dir is not specified, auto-generates:
60
+ snapshots/{hostname}/{timestamp}/
61
+
62
+ Examples:
63
+ uisnap snapshot https://example.com
64
+ uisnap snapshot https://myapp.com --console-filter "\\[Debug\\]"
65
+ uisnap snapshot https://myapp.com -cf "Error|Warning"
66
+ uisnap snapshot https://myapp.com ./my-snapshot --console-filter "MyApp"
67
+ `);
68
+ process.exit(0);
69
+ }
70
+ else if (!url) {
71
+ url = arg;
72
+ }
73
+ else if (!userOutputDir) {
74
+ userOutputDir = arg;
75
+ }
76
+ }
43
77
  if (!url) {
44
- throw new Error('Usage: snapshot <url> [output-dir]\n\nIf output-dir is not specified, auto-generates: snapshots/{hostname}/{timestamp}/');
78
+ throw new Error('Usage: snapshot <url> [output-dir] [--console-filter <pattern>]\n\nIf output-dir is not specified, auto-generates: snapshots/{hostname}/{timestamp}/');
79
+ }
80
+ let consoleFilterRegex;
81
+ if (consoleFilter) {
82
+ try {
83
+ consoleFilterRegex = new RegExp(consoleFilter, 'i');
84
+ console.log(`šŸ“‹ Console filter: ${consoleFilter}`);
85
+ }
86
+ catch (e) {
87
+ throw new Error(`Invalid console filter regex: ${consoleFilter}`);
88
+ }
45
89
  }
46
90
  const projectRoot = (0, projectRoot_1.getUserProjectDir)();
47
91
  let outputDir;
@@ -74,11 +118,15 @@ const snapshot = async (page, context, _browser, args) => {
74
118
  const consoleLogs = [];
75
119
  const networkLogs = [];
76
120
  page.on('console', msg => {
121
+ const text = msg.text();
122
+ if (consoleFilterRegex && !consoleFilterRegex.test(text)) {
123
+ return;
124
+ }
77
125
  const location = msg.location();
78
126
  consoleLogs.push({
79
127
  timestamp: new Date().toISOString(),
80
128
  type: msg.type(),
81
- text: msg.text(),
129
+ text: text,
82
130
  location: location.url ? {
83
131
  url: location.url,
84
132
  lineNumber: location.lineNumber,
@@ -144,7 +192,7 @@ const snapshot = async (page, context, _browser, args) => {
144
192
  }
145
193
  console.log(`āœ“ Snapshot saved to ${outputDir}/`);
146
194
  console.log(` - Accessibility tree: ${a11ySnapshot.length} bytes (YAML)`);
147
- console.log(` - Console messages: ${consoleLogs.length}`);
195
+ console.log(` - Console messages: ${consoleLogs.length}${consoleFilter ? ` (filtered: "${consoleFilter}")` : ''}`);
148
196
  console.log(` - Network requests: ${networkLogs.length}`);
149
197
  console.log(` - Page title: "${metadata.title}"`);
150
198
  console.log(` - Web vitals: FCP=${webVitals.fcp}ms, LCP=${webVitals.lcp}ms, TTI=${webVitals.tti}ms, CLS=${webVitals.cls}`);
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/commands/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/commands/snapshot.ts"],"names":[],"mappings":"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"}
package/dist/pw.js CHANGED
@@ -62,18 +62,90 @@ const analysisCommands = {
62
62
  'trace-import': chrome_trace_import_1.traceImport,
63
63
  'setup-skill': setup_skill_1.setupSkill,
64
64
  };
65
+ function showExecHelp() {
66
+ console.log(`uisnap exec - Run custom Playwright scripts
67
+
68
+ Usage:
69
+ uisnap exec <script.js> <url> [output-dir]
70
+ uisnap exec --template [filename] Generate a starter script
71
+
72
+ If output-dir is not specified, auto-generates:
73
+ snapshots/{hostname}/{script-name}-{timestamp}/
74
+
75
+ Script Format:
76
+ Your script runs inside an async function with access to:
77
+ - page, context, browser (Playwright instances)
78
+ - utils.captureStep() (capture state at each step)
79
+ - utils.writeJson() (write JSON files)
80
+ - fs, path (Node.js modules)
81
+ - args (remaining CLI arguments)
82
+
83
+ Example Script:
84
+ // my-script.js
85
+ await page.goto('https://example.com');
86
+
87
+ await utils.captureStep(page, 'initial', async () => {
88
+ // State captured after this action
89
+ });
90
+
91
+ await utils.captureStep(page, 'after-click', async () => {
92
+ await page.click('button');
93
+ });
94
+
95
+ Examples:
96
+ uisnap exec my-script.js https://example.com
97
+ uisnap exec --template my-script.js
98
+ uisnap exec examples/scroll-perf-trace.js https://myapp.com
99
+ `);
100
+ }
101
+ function generateTemplate(filename) {
102
+ const template = `// uisnap exec script template
103
+ // Usage: uisnap exec ${filename || 'this-script.js'} <url>
104
+
105
+ // Navigate to the URL (passed as first arg after script)
106
+ const url = args[0] || 'https://example.com';
107
+ await page.goto(url);
108
+
109
+ // Capture initial state
110
+ await utils.captureStep(page, 'initial', async () => {
111
+ // Page state is captured after this block executes
112
+ });
113
+
114
+ // Example: Click a button and capture the result
115
+ await utils.captureStep(page, 'after-click', async () => {
116
+ // Uncomment and modify:
117
+ // await page.click('button');
118
+ // await page.waitForTimeout(1000);
119
+ });
120
+
121
+ // Example: Fill a form
122
+ // await utils.captureStep(page, 'form-filled', async () => {
123
+ // await page.fill('input[name="email"]', 'test@example.com');
124
+ // await page.click('button[type="submit"]');
125
+ // });
126
+
127
+ // Example: Write custom data
128
+ // const data = await page.evaluate(() => document.title);
129
+ // utils.writeJson('custom-data.json', { title: data });
130
+
131
+ console.log('Script completed!');
132
+ `;
133
+ if (filename) {
134
+ fs.writeFileSync(filename, template);
135
+ console.log(`āœ“ Created template: ${filename}`);
136
+ console.log(`\nRun it with:`);
137
+ console.log(` uisnap exec ${filename} https://example.com`);
138
+ }
139
+ else {
140
+ console.log(template);
141
+ }
142
+ }
65
143
  async function executeUserScript(page, context, browser, args) {
66
144
  const scriptPath = args[0];
67
145
  const scriptArgs = args.slice(1);
68
- if (!scriptPath) {
69
- console.error('Usage: uisnap exec <script.js> <url> [output-dir]');
70
- console.error('');
71
- console.error('If output-dir is not specified, auto-generates:');
72
- console.error(' snapshots/{hostname}/{script-name}-{timestamp}/');
73
- console.error('');
74
- console.error('Example:');
75
- console.error(' uisnap exec examples/scroll-perf-trace.js https://example.com');
76
- process.exit(1);
146
+ if (!scriptPath || scriptPath === '--help' || scriptPath === '-h') {
147
+ showExecHelp();
148
+ process.exit(0);
77
149
  }
78
150
  if (!fs.existsSync(scriptPath)) {
79
151
  console.error(`Error: Script not found: ${scriptPath}`);
@@ -238,6 +310,14 @@ async function main() {
238
310
  await analysisCommands[command](args);
239
311
  return;
240
312
  }
313
+ if (command === 'exec' && (args[0] === '--template' || args[0] === '-t')) {
314
+ generateTemplate(args[1]);
315
+ return;
316
+ }
317
+ if (command === 'exec' && (args[0] === '--help' || args[0] === '-h' || !args[0])) {
318
+ showExecHelp();
319
+ return;
320
+ }
241
321
  const needsBrowser = browserCommands[command] || command === 'exec';
242
322
  if (!needsBrowser) {
243
323
  console.error(`Unknown command: ${command}`);
package/dist/pw.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pw.js","sourceRoot":"","sources":["../src/pw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pw.js","sourceRoot":"","sources":["../src/pw.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uisnap",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "CLI debugging tool designed for AI coding agents. Captures browser state to disk for token-efficient analysis. Works with Claude Code, Cursor, and other AI assistants.",
5
5
  "author": "Tony Chu",
6
6
  "license": "MIT",
@@ -38,7 +38,8 @@
38
38
  "SKILL-INSTALLATION.md"
39
39
  ],
40
40
  "scripts": {
41
- "build": "tsc",
41
+ "preinstall": "node -e \"const v = process.versions.node.split('.')[0]; if (v >= 25) { console.error('\\nāš ļø Warning: Node.js ' + process.version + ' detected.\\n uisnap uses duckdb which may not have pre-built binaries for Node 25+.\\n If install fails, use Node 18, 20, or 22 LTS.\\n'); }\"",
42
+ "build": "tsc && chmod +x dist/pw.js",
42
43
  "watch": "tsc --watch",
43
44
  "clean": "rm -rf dist",
44
45
  "test": "vitest run",
@@ -63,6 +64,6 @@
63
64
  "vitest": "^4.0.16"
64
65
  },
65
66
  "engines": {
66
- "node": ">=18.0.0"
67
+ "node": ">=18.0.0 <25.0.0"
67
68
  }
68
69
  }