@gjsify/cli 0.21.0 → 0.23.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 (37) hide show
  1. package/README.md +24 -1
  2. package/dist/cli.gjs.mjs +257 -184
  3. package/lib/bundler-pick.js +12 -4
  4. package/lib/commands/affected.js +22 -10
  5. package/lib/commands/check.js +38 -29
  6. package/lib/commands/flatpak/build.js +19 -18
  7. package/lib/commands/foreach.js +48 -41
  8. package/lib/commands/info.js +11 -5
  9. package/lib/commands/install.d.ts +16 -0
  10. package/lib/commands/install.js +103 -32
  11. package/lib/commands/onboard.js +6 -1
  12. package/lib/commands/pack.js +69 -4
  13. package/lib/commands/run.js +26 -14
  14. package/lib/commands/trust.js +4 -62
  15. package/lib/commands/workspace.js +49 -30
  16. package/lib/utils/bin-shim.d.ts +66 -0
  17. package/lib/utils/bin-shim.js +246 -0
  18. package/lib/utils/build-cache.d.ts +42 -6
  19. package/lib/utils/build-cache.js +114 -42
  20. package/lib/utils/detect-native-packages.d.ts +112 -6
  21. package/lib/utils/detect-native-packages.js +201 -29
  22. package/lib/utils/install-backend-native.d.ts +55 -0
  23. package/lib/utils/install-backend-native.js +152 -13
  24. package/lib/utils/install-global.d.ts +16 -0
  25. package/lib/utils/install-global.js +58 -8
  26. package/lib/utils/oxc-resolve.js +18 -55
  27. package/lib/utils/publish-headers.d.ts +2 -3
  28. package/lib/utils/publish-headers.js +64 -3
  29. package/lib/utils/publishable-packages.d.ts +22 -0
  30. package/lib/utils/publishable-packages.js +93 -0
  31. package/lib/utils/run-gjs.d.ts +6 -7
  32. package/lib/utils/run-gjs.js +4 -3
  33. package/lib/utils/spawn.d.ts +82 -0
  34. package/lib/utils/spawn.js +139 -0
  35. package/lib/utils/stdin.d.ts +25 -0
  36. package/lib/utils/stdin.js +132 -0
  37. package/package.json +23 -18
package/README.md CHANGED
@@ -20,13 +20,36 @@ yarn add @gjsify/cli
20
20
  # Build a GJS application
21
21
  npx @gjsify/cli build src/index.ts
22
22
 
23
- # Run a built GJS application (sets up LD_LIBRARY_PATH, GI_TYPELIB_PATH, etc.)
23
+ # Run a built GJS application (sets up the native-prebuild environment)
24
24
  npx @gjsify/cli run dist/index.js
25
25
 
26
26
  # Show environment info for a bundle
27
27
  npx @gjsify/cli info dist/index.js
28
28
  ```
29
29
 
30
+ ## Native prebuilds
31
+
32
+ Packages that ship compiled artifacts declare them with
33
+ `"gjsify": { "prebuilds": "prebuilds", "platforms": ["linux-x86_64", "darwin-arm64", …] }`
34
+ and stage them under `prebuilds/<os>-<arch>/`. `run`, `info`, `tsc` and the bin launchers
35
+ `install` writes all resolve that directory for the running host, accepting both spellings
36
+ in use — uname-style (`linux-x86_64`, staged by the Vala/meson bridges) and node-style
37
+ (`linux-x64`, `darwin-arm64`, `win32-x64`, staged by `@gjsify/node-gi` and `@gjsify/napi`) —
38
+ and prefer whatever the package declares in `gjsify.platforms`.
39
+
40
+ The environment they export is `GI_TYPELIB_PATH` plus the library-search variable the host's
41
+ dynamic loader actually reads:
42
+
43
+ | host | variable | separator |
44
+ |---|---|---|
45
+ | Linux | `LD_LIBRARY_PATH` | `:` |
46
+ | macOS | `DYLD_LIBRARY_PATH` (`dyld` ignores `LD_LIBRARY_PATH`) | `:` |
47
+ | Windows | `PATH` (`LoadLibrary` has no dedicated variable) | `;` |
48
+
49
+ A package with no artifact for your host is skipped — every native bridge is optional at
50
+ runtime. Which artifacts exist per package is tracked in
51
+ [Platform Support](https://gjsify.github.io/gjsify/platform-support/).
52
+
30
53
  ## License
31
54
 
32
55
  MIT