mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-21 10:36:27 +03:00
CLI: turn the impeccable npm package into a platform-binary shim
cli/engine, cli/lib, and cli/bin/commands are gone; their behavior lives in the engine binary. cli/bin/cli.js now resolves the binary from IMPECCABLE_BIN, the @impeccable/cli-<os>-<arch> optional dependency (templates under cli/platform-packages/, published by the engine release), the ~/.impeccable/bin/<version>/ cache, or a checksum-verified download, and execs it. package.json drops the engine dependencies and the library exports; puppeteer moves to devDependencies for the icon scripts. README.npm.md describes the shim. Prepared with AI assistance (Claude Code).
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
# Platform packages
|
||||
|
||||
Templates for the `@impeccable/cli-<os>-<arch>` packages the `impeccable` npm
|
||||
shim (`cli/bin/cli.js`) declares as `optionalDependencies`. npm installs only
|
||||
the one matching the host (`os` / `cpu` fields), and the shim resolves
|
||||
`<package>/bin/impeccable[.exe]` from it before falling back to the user cache
|
||||
or a download.
|
||||
|
||||
They are **published by the engine release**, not from this repo: the release
|
||||
pipeline copies each template, sets `version` to the engine version, drops the
|
||||
built binary at `bin/impeccable[.exe]` (executable), and publishes it under
|
||||
`@impeccable`. The version pinned in this repo's `package.json`
|
||||
`optionalDependencies` must equal `ENGINE_VERSION`.
|
||||
|
||||
Targets: `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `windows-x64`.
|
||||
Reference in New Issue
Block a user