@ytspar/sweetlink 1.26.2 → 1.26.3-canary.06492d0

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 (51) hide show
  1. package/README.md +21 -1
  2. package/dist/browser/SweetlinkBridge.d.ts +0 -1
  3. package/dist/browser/SweetlinkBridge.d.ts.map +1 -1
  4. package/dist/browser/SweetlinkBridge.js +33 -29
  5. package/dist/browser/SweetlinkBridge.js.map +1 -1
  6. package/dist/browser/commands/screenshot.d.ts.map +1 -1
  7. package/dist/browser/commands/screenshot.js +3 -0
  8. package/dist/browser/commands/screenshot.js.map +1 -1
  9. package/dist/cli/clickCode.d.ts +35 -0
  10. package/dist/cli/clickCode.d.ts.map +1 -0
  11. package/dist/cli/clickCode.js +68 -0
  12. package/dist/cli/clickCode.js.map +1 -0
  13. package/dist/cli/sweetlink.js +168 -57
  14. package/dist/cli/sweetlink.js.map +1 -1
  15. package/dist/daemon/browser.d.ts +7 -1
  16. package/dist/daemon/browser.d.ts.map +1 -1
  17. package/dist/daemon/browser.js +11 -7
  18. package/dist/daemon/browser.js.map +1 -1
  19. package/dist/daemon/index.js +21 -6
  20. package/dist/daemon/index.js.map +1 -1
  21. package/dist/daemon/server.d.ts +2 -0
  22. package/dist/daemon/server.d.ts.map +1 -1
  23. package/dist/daemon/server.js +26 -5
  24. package/dist/daemon/server.js.map +1 -1
  25. package/dist/daemon/types.d.ts +4 -0
  26. package/dist/daemon/types.d.ts.map +1 -1
  27. package/dist/daemon/types.js.map +1 -1
  28. package/dist/next.d.ts +8 -0
  29. package/dist/next.d.ts.map +1 -1
  30. package/dist/next.js +12 -2
  31. package/dist/next.js.map +1 -1
  32. package/dist/server/discovery.d.ts +52 -0
  33. package/dist/server/discovery.d.ts.map +1 -0
  34. package/dist/server/discovery.js +102 -0
  35. package/dist/server/discovery.js.map +1 -0
  36. package/dist/server/index.d.ts +22 -0
  37. package/dist/server/index.d.ts.map +1 -1
  38. package/dist/server/index.js +145 -31
  39. package/dist/server/index.js.map +1 -1
  40. package/dist/types.d.ts +66 -5
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/types.js +110 -9
  43. package/dist/types.js.map +1 -1
  44. package/dist/urlUtils.d.ts +35 -0
  45. package/dist/urlUtils.d.ts.map +1 -1
  46. package/dist/urlUtils.js +77 -0
  47. package/dist/urlUtils.js.map +1 -1
  48. package/dist/vite.d.ts.map +1 -1
  49. package/dist/vite.js +5 -4
  50. package/dist/vite.js.map +1 -1
  51. package/package.json +1 -1
package/README.md CHANGED
@@ -726,12 +726,32 @@ initSweetlinkBridge({
726
726
  | `hmrScreenshots` | `boolean` | `false` | Auto-capture on HMR updates |
727
727
  | `debug` | `boolean` | `false` | Enable verbose connection logging |
728
728
 
729
+ ## Server Discovery
730
+
731
+ The WebSocket server writes `<projectRoot>/.sweetlink/server.json` on startup
732
+ (`{ wsPort, appPort, publicUrl, pid, startedAt, version }`) and removes it on
733
+ shutdown. The CLI resolves its server in this order:
734
+
735
+ 1. `SWEETLINK_WS_URL` env (explicit override)
736
+ 2. A live `.sweetlink/server.json` found walking up from the cwd — validated
737
+ against the server's info endpoint (pid/appPort), so stale files from
738
+ crashed servers are ignored
739
+ 3. Port derived from an explicit `--url` port (app port + 6223)
740
+ 4. The default `ws://localhost:9223`
741
+
742
+ This keeps the CLI pinned to *this* project's server when several projects run
743
+ sweetlink at once (especially behind proxied URLs with no derivable port).
744
+
745
+ Add `.sweetlink/` to your `.gitignore` — it holds machine- and run-specific
746
+ state (`server.json`, `daemon-<port>.json`, recordings, inspect artifacts).
747
+
729
748
  ## Environment Variables
730
749
 
731
750
  | Variable | Default | Description |
732
751
  |----------|---------|-------------|
733
752
  | `SWEETLINK_WS_PORT` | `9223` | WebSocket server port |
734
- | `SWEETLINK_WS_URL` | `ws://localhost:9223` | WebSocket URL (CLI) |
753
+ | `SWEETLINK_WS_URL` | `ws://localhost:9223` | WebSocket URL (CLI); overrides `.sweetlink/server.json` discovery |
754
+ | `SWEETLINK_APP_URL` / `PORTLESS_URL` | — | Public (proxied) app URL; declares the origin allowed to connect and is recorded as `publicUrl` in `server.json` |
735
755
  | `CHROME_CDP_PORT` | `9222` | Chrome DevTools Protocol port |
736
756
  | `CHROME_CDP_URL` | `http://127.0.0.1:9222` | CDP URL |
737
757
 
@@ -60,7 +60,6 @@ export declare class SweetlinkBridge {
60
60
  */
61
61
  getServerInfo(): ServerInfo | null;
62
62
  private setupErrorHandlers;
63
- private buildWsUrlCandidates;
64
63
  private getWsUrlForTarget;
65
64
  private getPortForTarget;
66
65
  private scheduleConnect;
@@ -1 +1 @@
1
- {"version":3,"file":"SweetlinkBridge.d.ts","sourceRoot":"","sources":["../../src/browser/SweetlinkBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAc,UAAU,EAAuC,MAAM,aAAa,CAAC;AA+C/F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,kBAAkB,CAA8C;IACxE,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,QAAQ,CAId;IAGF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAGhC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,OAAO,CAAwB;gBAE3B,MAAM,GAAE,qBAA0B;IAyC9C,2DAA2D;IAC3D,OAAO,CAAC,GAAG;IAIX;;OAEG;IACH,IAAI,IAAI,IAAI;IA+BZ;;OAEG;IACH,OAAO,IAAI,IAAI;IA4Cf;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAQlC,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,gBAAgB;YAoIV,aAAa;CAqC5B;AAQD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAQnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C;AAGD,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"SweetlinkBridge.d.ts","sourceRoot":"","sources":["../../src/browser/SweetlinkBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAc,UAAU,EAAuC,MAAM,aAAa,CAAC;AAgD/F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,kBAAkB,CAA8C;IACxE,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,QAAQ,CAId;IAGF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAGhC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,OAAO,CAAwB;gBAE3B,MAAM,GAAE,qBAA0B;IAyC9C,2DAA2D;IAC3D,OAAO,CAAC,GAAG;IAIX;;OAEG;IACH,IAAI,IAAI,IAAI;IA+BZ;;OAEG;IACH,OAAO,IAAI,IAAI;IA4Cf;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAQlC,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,gBAAgB;YAmJV,aAAa;CAqC5B;AAQD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAQnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C;AAGD,eAAe,eAAe,CAAC"}
@@ -14,13 +14,12 @@ import { captureHmrScreenshot, setupHmrDetection, } from './hmr.js';
14
14
  // ============================================================================
15
15
  // Constants
16
16
  // ============================================================================
17
- import { createSameOriginSweetlinkWsUrl, DEFAULT_WS_PORT, getSweetlinkRuntimeConfig, MAX_PORT_RETRIES, PORT_RETRY_DELAY_MS, parsePortNumber, resolveAppPortFromRuntimeConfig, resolveSweetlinkWsPortForAppPort, } from '../types.js';
17
+ import { buildSweetlinkWsUrlCandidates, DEFAULT_WS_PORT, getSweetlinkRuntimeConfig, MAX_PORT_RETRIES, PORT_RETRY_DELAY_MS, parsePortNumber, resolveAppPortFromRuntimeConfig, resolveSweetlinkWsPortForAppPort, SWEETLINK_ACK_TIMEOUT_MS, toSafeWsPort, } from '../types.js';
18
18
  /** HMR settings */
19
19
  const DEFAULT_HMR_DEBOUNCE_MS = 300;
20
20
  const DEFAULT_HMR_CAPTURE_DELAY_MS = 100;
21
21
  /** Reconnection settings */
22
22
  const RECONNECT_DELAY_MS = 2000;
23
- const VERIFICATION_TIMEOUT_MS = 1000;
24
23
  const PORT_SEARCH_FAIL_RETRY_MS = 3000;
25
24
  // ============================================================================
26
25
  // SweetlinkBridge Class
@@ -76,7 +75,7 @@ export class SweetlinkBridge {
76
75
  config.wsPort ??
77
76
  parsePortNumber(runtimeConfig.wsPort) ??
78
77
  resolveSweetlinkWsPortForAppPort(this.currentAppPort);
79
- this.wsUrlCandidates = this.buildWsUrlCandidates(window.location, {
78
+ this.wsUrlCandidates = buildSweetlinkWsUrlCandidates(window.location, {
80
79
  wsUrl: config.wsUrl ?? runtimeConfig.wsUrl,
81
80
  wsPort: config.wsPort ?? config.basePort ?? runtimeConfig.wsPort,
82
81
  wsPath: config.wsPath ?? runtimeConfig.wsPath,
@@ -178,19 +177,6 @@ export class SweetlinkBridge {
178
177
  const cleanup = this.capture.startErrorHandlers();
179
178
  this.cleanupFunctions.push(cleanup);
180
179
  }
181
- buildWsUrlCandidates(location, options) {
182
- const urls = [];
183
- const add = (url) => {
184
- if (url && !urls.includes(url))
185
- urls.push(url);
186
- };
187
- add(options.wsUrl);
188
- if (options.wsPath) {
189
- add(createSameOriginSweetlinkWsUrl(location, options.wsPath));
190
- }
191
- add(`ws://localhost:${parsePortNumber(options.wsPort) ?? options.fallbackPort}`);
192
- return urls;
193
- }
194
180
  getWsUrlForTarget(target) {
195
181
  return typeof target === 'string' ? target : `ws://localhost:${target}`;
196
182
  }
@@ -225,7 +211,9 @@ export class SweetlinkBridge {
225
211
  }
226
212
  const targetPort = this.getPortForTarget(targetUrl);
227
213
  if (targetPort !== null) {
228
- const nextPort = targetPort + 1;
214
+ // Skip browser-restricted ports while scanning — the server-side port
215
+ // retry does the same, so both sides walk the same sequence.
216
+ const nextPort = toSafeWsPort(targetPort + 1);
229
217
  if (nextPort < this.basePort + this.maxPortRetries) {
230
218
  this.scheduleConnect(nextPort, delayMs);
231
219
  return true;
@@ -241,18 +229,29 @@ export class SweetlinkBridge {
241
229
  let switchingTargets = false;
242
230
  this.ws = ws;
243
231
  this.verified = false;
244
- // Timeout for server-info response
245
- const verificationTimeout = setTimeout(() => {
246
- if (!this.verified && ws.readyState === WebSocket.OPEN) {
247
- // Server didn't send server-info (old version) - accept for backwards compatibility
248
- this.log(`[Sweetlink] Server on ${wsUrl} is old version (no server-info). Accepting for backwards compatibility.`);
249
- this.verified = true;
250
- this.connected = true;
251
- }
252
- }, VERIFICATION_TIMEOUT_MS);
232
+ // Require the server-info ack before treating the socket as connected.
233
+ // An OPEN socket is NOT a Sweetlink connection: dev-server upgrade
234
+ // handlers (e.g. Next's HMR endpoint reached through an HTTPS proxy's
235
+ // /__sweetlink path) accept arbitrary WS upgrades and swallow every
236
+ // message. No ack within the window close, try the next candidate.
237
+ // The timer starts at `open` (a refused connection is handled by
238
+ // onclose; arming it earlier would double-schedule the candidate walk).
239
+ let verificationTimeout;
253
240
  ws.onopen = () => {
254
- this.log(`[Sweetlink] Connected to server on ${wsUrl}`);
255
- ws.send(JSON.stringify({ type: 'browser-client-ready' }));
241
+ this.log(`[Sweetlink] Socket open on ${wsUrl} — awaiting server-info ack`);
242
+ // Report our location so the server can route targeted CLI commands
243
+ // (--url) to the client that is actually on the requested page.
244
+ ws.send(JSON.stringify({ type: 'browser-client-ready', url: window.location.href }));
245
+ verificationTimeout = setTimeout(() => {
246
+ if (this.verified || !this.active)
247
+ return;
248
+ this.log(`[Sweetlink] No server-info ack from ${wsUrl} — not a Sweetlink server. Trying next candidate...`);
249
+ switchingTargets = true;
250
+ ws.close();
251
+ if (!this.connectNextTarget(wsUrl)) {
252
+ this.scheduleConnect(this.basePort, PORT_SEARCH_FAIL_RETRY_MS);
253
+ }
254
+ }, SWEETLINK_ACK_TIMEOUT_MS);
256
255
  };
257
256
  ws.onmessage = async (event) => {
258
257
  try {
@@ -315,13 +314,18 @@ export class SweetlinkBridge {
315
314
  this.connected = false;
316
315
  this.serverInfo = null;
317
316
  this.verified = false;
317
+ // We initiated this close while switching candidates (server-info
318
+ // mismatch or missing ack) and already scheduled the next target —
319
+ // don't let the generic reconnect below clobber that schedule.
320
+ if (switchingTargets)
321
+ return;
318
322
  // If closed due to origin mismatch (code 4001), try next port immediately
319
323
  if (event.code === 4001) {
320
324
  this.log(`[Sweetlink] Origin mismatch from ${wsUrl}; trying next target...`);
321
325
  if (this.connectNextTarget(wsUrl))
322
326
  return;
323
327
  }
324
- if (!wasVerified && !switchingTargets && this.connectNextTarget(wsUrl)) {
328
+ if (!wasVerified && this.connectNextTarget(wsUrl)) {
325
329
  this.log(`[Sweetlink] Connection closed before verification from ${wsUrl}`);
326
330
  return;
327
331
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SweetlinkBridge.js","sourceRoot":"","sources":["../../src/browser/SweetlinkBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SweetlinkBridge.js","sourceRoot":"","sources":["../../src/browser/SweetlinkBridge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../src/browser/commands/screenshot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AA4BxB;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgE7F;AAgBD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,wBAAwB,EACjC,EAAE,EAAE,SAAS,GAAG,IAAI,GACnB,OAAO,CAAC,iBAAiB,CAAC,CA8D5B"}
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../../src/browser/commands/screenshot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AA4BxB;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmE7F;AAgBD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,wBAAwB,EACjC,EAAE,EAAE,SAAS,GAAG,IAAI,GACnB,OAAO,CAAC,iBAAiB,CAAC,CA8D5B"}
@@ -74,6 +74,9 @@ export async function handleScreenshot(command) {
74
74
  width: finalCanvas.width,
75
75
  height: finalCanvas.height,
76
76
  selector: command.selector || 'body',
77
+ // Report where the capture was actually taken so the CLI can detect
78
+ // (and refuse) captures from a client sitting on the wrong page.
79
+ url: window.location.href,
77
80
  },
78
81
  timestamp: Date.now(),
79
82
  };
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/browser/commands/screenshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../../src/browser/commands/screenshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Click-code generation for the CLI `click` command.
3
+ *
4
+ * Extracted from sweetlink.ts so the generated code's DOM semantics are unit
5
+ * testable against a real document (the CLI module runs its dispatch on
6
+ * import, which makes importing helpers from it impractical in tests).
7
+ */
8
+ /**
9
+ * Elements considered click targets when resolving a bare `--text` match.
10
+ * Used inside the generated code via `closest()`, so a text leaf inside a
11
+ * button resolves to the button itself.
12
+ */
13
+ export declare const INTERACTIVE_SELECTOR = "button, a[href], [role=\"button\"], input, summary, label, [onclick]";
14
+ export type ClickStrategy =
15
+ /** Explicit selector scoping for --text: the user chose the candidates. */
16
+ {
17
+ type: 'text';
18
+ text: string;
19
+ selector: string;
20
+ }
21
+ /**
22
+ * Bare `--text` (no selector). Naively filtering `*` by textContent
23
+ * matches every ANCESTOR of the target too (html, body, main, …) and
24
+ * index 0 clicks `<html>` — a no-op. This strategy is leaf-most and
25
+ * clickable-preferred instead.
26
+ */
27
+ | {
28
+ type: 'smart-text';
29
+ text: string;
30
+ } | {
31
+ type: 'selector';
32
+ selector: string;
33
+ };
34
+ export declare function generateClickCode(strategy: ClickStrategy, index: number): string;
35
+ //# sourceMappingURL=clickCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickCode.d.ts","sourceRoot":"","sources":["../../src/cli/clickCode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,yEACqC,CAAC;AAEvE,MAAM,MAAM,aAAa;AACvB,2EAA2E;AACzE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAClD;;;;;GAKG;GACD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAqDhF"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Click-code generation for the CLI `click` command.
3
+ *
4
+ * Extracted from sweetlink.ts so the generated code's DOM semantics are unit
5
+ * testable against a real document (the CLI module runs its dispatch on
6
+ * import, which makes importing helpers from it impractical in tests).
7
+ */
8
+ /**
9
+ * Elements considered click targets when resolving a bare `--text` match.
10
+ * Used inside the generated code via `closest()`, so a text leaf inside a
11
+ * button resolves to the button itself.
12
+ */
13
+ export const INTERACTIVE_SELECTOR = 'button, a[href], [role="button"], input, summary, label, [onclick]';
14
+ export function generateClickCode(strategy, index) {
15
+ // The element-finding expression differs, but the bounds-check + click + return is shared
16
+ let findExpression;
17
+ let notFoundMsg;
18
+ if (strategy.type === 'smart-text') {
19
+ const escapedText = JSON.stringify(strategy.text);
20
+ // 1. Leaf-most: keep only matches with no child element that also
21
+ // matches — kills the ancestor chain (html/body/main/...).
22
+ // 2. Clickable-preferred: for each leaf, click the nearest interactive
23
+ // element (closest() starts at the leaf itself), falling back to
24
+ // the leaf when no interactive ancestor exists.
25
+ // 3. Dedupe in document order — several text leaves can share one
26
+ // button — then --index picks among the deduped targets.
27
+ findExpression = `(() => {
28
+ const matchesText = (el) => el.textContent && el.textContent.includes(${escapedText});
29
+ const leaves = Array.from(document.querySelectorAll("*"))
30
+ .filter(matchesText)
31
+ .filter((el) => !Array.from(el.children).some(matchesText));
32
+ const interactive = ${JSON.stringify(INTERACTIVE_SELECTOR)};
33
+ const targets = [];
34
+ for (const leaf of leaves) {
35
+ const target = leaf.closest(interactive) || leaf;
36
+ if (!targets.includes(target)) targets.push(target);
37
+ }
38
+ return targets;
39
+ })()`;
40
+ notFoundMsg = `"No element found with text: " + ${escapedText}`;
41
+ }
42
+ else if (strategy.type === 'text') {
43
+ const escapedSelector = JSON.stringify(strategy.selector);
44
+ const escapedText = JSON.stringify(strategy.text);
45
+ findExpression = `Array.from(document.querySelectorAll(${escapedSelector})).filter(el => el.textContent?.includes(${escapedText}))`;
46
+ notFoundMsg = `"No element found with text: " + ${escapedText}`;
47
+ }
48
+ else {
49
+ const escapedSelector = JSON.stringify(strategy.selector);
50
+ findExpression = `Array.from(document.querySelectorAll(${escapedSelector}))`;
51
+ notFoundMsg = `"No element found matching: " + ${escapedSelector}`;
52
+ }
53
+ return `
54
+ (() => {
55
+ const elements = ${findExpression};
56
+ if (elements.length === 0) {
57
+ return { success: false, error: ${notFoundMsg} };
58
+ }
59
+ const target = elements[${index}];
60
+ if (!target) {
61
+ return { success: false, error: "Index ${index} out of bounds, found " + elements.length + " elements" };
62
+ }
63
+ target.click();
64
+ return { success: true, clicked: target.tagName + (target.className ? "." + target.className.split(" ")[0] : ""), found: elements.length };
65
+ })()
66
+ `;
67
+ }
68
+ //# sourceMappingURL=clickCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clickCode.js","sourceRoot":"","sources":["../../src/cli/clickCode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,oEAAoE,CAAC;AAcvE,MAAM,UAAU,iBAAiB,CAAC,QAAuB,EAAE,KAAa;IACtE,0FAA0F;IAC1F,IAAI,cAAsB,CAAC;IAC3B,IAAI,WAAmB,CAAC;IAExB,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,kEAAkE;QAClE,8DAA8D;QAC9D,uEAAuE;QACvE,oEAAoE;QACpE,mDAAmD;QACnD,kEAAkE;QAClE,4DAA4D;QAC5D,cAAc,GAAG;kFAC6D,WAAW;;;;gCAI7D,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;;;;;;;aAOvD,CAAC;QACV,WAAW,GAAG,oCAAoC,WAAW,EAAE,CAAC;IAClE,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,cAAc,GAAG,wCAAwC,eAAe,4CAA4C,WAAW,IAAI,CAAC;QACpI,WAAW,GAAG,oCAAoC,WAAW,EAAE,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1D,cAAc,GAAG,wCAAwC,eAAe,IAAI,CAAC;QAC7E,WAAW,GAAG,mCAAmC,eAAe,EAAE,CAAC;IACrE,CAAC;IAED,OAAO;;2BAEkB,cAAc;;4CAEG,WAAW;;kCAErB,KAAK;;mDAEY,KAAK;;;;;KAKnD,CAAC;AACN,CAAC"}