create-opentray 0.21.0 → 0.22.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.
Files changed (46) hide show
  1. package/README.md +28 -6
  2. package/dist/avif-DCXcyYJR.mjs +2 -0
  3. package/dist/bin-Dyfucd3C.mjs +20810 -0
  4. package/dist/bin-Dyfucd3C.mjs.map +1 -0
  5. package/dist/bin.mjs +1 -1
  6. package/dist/decode-C4b5NXc_.mjs +1236 -0
  7. package/dist/decode-C4b5NXc_.mjs.map +1 -0
  8. package/dist/decode-Dsj9J0OD.mjs +1214 -0
  9. package/dist/decode-Dsj9J0OD.mjs.map +1 -0
  10. package/dist/decode-FysWS28R.mjs +254 -0
  11. package/dist/decode-FysWS28R.mjs.map +1 -0
  12. package/dist/decode-Xr7mARKr.mjs +1262 -0
  13. package/dist/decode-Xr7mARKr.mjs.map +1 -0
  14. package/dist/decode-ico-D3SL2BXi.mjs +274 -0
  15. package/dist/decode-ico-D3SL2BXi.mjs.map +1 -0
  16. package/dist/full.umd-oM1VUBRH.mjs +3055 -0
  17. package/dist/full.umd-oM1VUBRH.mjs.map +1 -0
  18. package/dist/index.d.mts +491 -11
  19. package/dist/index.d.mts.map +1 -1
  20. package/dist/index.mjs +1 -2
  21. package/dist/jpeg-B4tsxG5f.mjs +2 -0
  22. package/dist/png-rD0XEazj.mjs +35 -0
  23. package/dist/png-rD0XEazj.mjs.map +1 -0
  24. package/dist/raster-BQ07mKLu.mjs +493 -0
  25. package/dist/raster-BQ07mKLu.mjs.map +1 -0
  26. package/dist/resize-B47sgoOb.mjs +489 -0
  27. package/dist/resize-B47sgoOb.mjs.map +1 -0
  28. package/dist/resvg-wasm-fcJTLpJs.mjs +522 -0
  29. package/dist/resvg-wasm-fcJTLpJs.mjs.map +1 -0
  30. package/dist/rolldown-runtime-JspESFgx.mjs +35 -0
  31. package/dist/shell/assets/browse.js +1 -1
  32. package/dist/shell/assets/index.css +1 -1
  33. package/dist/shell/assets/main.js +17 -17
  34. package/dist/skill/SKILL.md +46 -17
  35. package/dist/skill/references/cli-reference.md +8 -3
  36. package/dist/skill/references/how-it-works.md +30 -0
  37. package/dist/webp-CcbaCrQ7.mjs +2 -0
  38. package/dist/webui/assets/browse.js +1 -1
  39. package/dist/webui/assets/index.css +1 -1
  40. package/dist/webui/assets/main.js +17 -17
  41. package/package.json +7 -8
  42. package/skill/SKILL.md +46 -17
  43. package/skill/references/cli-reference.md +8 -3
  44. package/skill/references/how-it-works.md +30 -0
  45. package/dist/bin-Dl6P1QjJ.mjs +0 -2213
  46. package/dist/bin-Dl6P1QjJ.mjs.map +0 -1
package/README.md CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
  # create-opentray
4
4
 
5
- Turn any start command that serves HTTP locally into an OpenTray-hosted
6
- desktop app through a browser wizard or fully non-interactively, without
7
- writing OpenTray code.
5
+ Turn any start command that serves HTTP locally or any http(s) URL — into
6
+ an OpenTray-hosted desktop app: through a browser wizard or fully
7
+ non-interactively, without writing OpenTray code.
8
8
 
9
9
  ```bash
10
10
  npx create-opentray
11
11
  ```
12
12
 
13
- Requires Node >= 20 (native `sharp` icon pipeline).
13
+ Requires Node >= 20.
14
14
 
15
15
  ## Command tree
16
16
 
@@ -40,8 +40,30 @@ npx create-opentray create \
40
40
 
41
41
  - `--arg` is repeatable; each value is ONE exact argv element — never a shell
42
42
  string (`&&` stays a literal argument).
43
- - Icon sources: local files, `http(s)` URLs, or `data:` URLs. The CLI never
44
- scrapes names or favicons.
43
+ - `--url <address>` packages the http(s) URL directly as an application
44
+ (no command): `npx create-opentray create --url https://example.com` derives
45
+ the app id/name from the address (`https://example.com/app` →
46
+ `app.com.example` / `App`); override with `--app-id`/`--app-name`. It is
47
+ mutually exclusive with `--exec`/`--arg`/`--cwd`/`--env`, and the generated
48
+ app opens one window at the address with no terminal or PTY. Because the
49
+ address is known up front (unlike a command that must run first), creation
50
+ scrapes the page once and adopts its `<title>` and best favicon as
51
+ defaults — explicit flags always win, failures fall back silently
52
+ (address-derived name + glyph icon), and `--no-scrape` disables the fetch.
53
+ - URL app window options: `--toolbar` hosts the shared address-bar wrapper
54
+ (back/forward/reload buttons, address input, and the ⌘/Ctrl+←→, ⌘/Ctrl+[
55
+ ], ⌘/Ctrl+R, F5, ⌘/Ctrl+L shortcuts while focus is in the wrapper). Sites
56
+ that forbid iframe embedding cannot be wrapped: creation probes the page's
57
+ embedding policy during the default scrape and, when the target refuses
58
+ (`X-Frame-Options` / CSP `frame-ancestors`), prints a notice and falls
59
+ back to the direct window automatically (with `--no-scrape` there is no
60
+ probe data, so the toolbar request stands). Every URL app's tray menu
61
+ offers Reload regardless of toolbar mode. By default the window title follows the
62
+ page (`--no-title-follow` to stop) and the icon does NOT follow favicon
63
+ changes at runtime (`--icon-follow` to enable); both persist in the v1
64
+ config and round-trip through export.
65
+ - Icon sources: local files, `http(s)` URLs, or `data:` URLs. Outside URL-mode
66
+ enrichment the CLI never scrapes names or favicons.
45
67
  - `--config <file>` loads a complete v1 document; explicit flags override
46
68
  only their named fields.
47
69
  - `--dry-run` prints the plan without mutating anything.
@@ -0,0 +1,2 @@
1
+ import decode from "./decode-Dsj9J0OD.mjs";
2
+ export { decode };