@pane-app/cli 0.1.0 → 0.1.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.
- package/README.md +55 -32
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,31 +1,8 @@
|
|
|
1
1
|
# @pane-app/cli
|
|
2
2
|
|
|
3
|
-
Pane's command-line tool for extension authors
|
|
3
|
+
`pane-ext` is Pane's command-line tool for extension authors. It creates,
|
|
4
4
|
develops, checks and packs an extension package from the terminal, beside
|
|
5
|
-
the Pane app.
|
|
6
|
-
dev` builds a package here (cargo's and tsc's and
|
|
7
|
-
esbuild's errors appear here) and hands each build to the running Pane;
|
|
8
|
-
`pane-ext check` reports everything Pane would refuse at install, with
|
|
9
|
-
Pane's own messages; `pane-ext pack` builds the release components and
|
|
10
|
-
assembles what users download.
|
|
11
|
-
|
|
12
|
-
This package holds only a small JavaScript shim (as esbuild, biome and
|
|
13
|
-
turbo ship their tools). The `pane-ext` program itself is native, so each
|
|
14
|
-
system gets it from one of this package's `optionalDependencies` —
|
|
15
|
-
`@pane-app/cli-<target>`, one per platform: `cli-linux-x86_64`,
|
|
16
|
-
`cli-linux-aarch64`, `cli-windows-x86_64`, `cli-windows-aarch64`,
|
|
17
|
-
`cli-macos-x86_64`, `cli-macos-aarch64`. npm installs the one whose `os`
|
|
18
|
-
and `cpu` match, and the shim runs the program it holds. If no platform
|
|
19
|
-
package matches your system, or npm skipped one after a failed install,
|
|
20
|
-
the shim says so and points at the fix (`npm install @pane-app/cli
|
|
21
|
-
--force`).
|
|
22
|
-
|
|
23
|
-
A JavaScript or TypeScript package needs nothing but Node.js and npm:
|
|
24
|
-
`pane-ext` carries the componentizer (Pane's patched componentize-qjs,
|
|
25
|
-
building WASI 0.3 components), the QuickJS `runtime.wasm` and the WASI 0.3
|
|
26
|
-
`libc.so` in the platform package, and takes esbuild as an ordinary
|
|
27
|
-
dependency here. A Rust package needs rustup's stable toolchain with the
|
|
28
|
-
`wasm32-wasip2` target and the `pane-extension` SDK from crates.io.
|
|
5
|
+
the Pane app.
|
|
29
6
|
|
|
30
7
|
## Installing
|
|
31
8
|
|
|
@@ -37,16 +14,62 @@ npx pane-ext dev # or a script: "dev": "pane-ext dev"
|
|
|
37
14
|
The platform packages release in lockstep with this one, at the same
|
|
38
15
|
version, so an install always matches.
|
|
39
16
|
|
|
17
|
+
## Commands
|
|
18
|
+
|
|
19
|
+
- `pane-ext new` writes a package from a template.
|
|
20
|
+
- `pane-ext dev` builds a package in the terminal, so cargo's, tsc's and
|
|
21
|
+
esbuild's errors appear there, and hands each build to the running Pane.
|
|
22
|
+
- `pane-ext check` reports everything Pane would refuse at install, with
|
|
23
|
+
Pane's own messages.
|
|
24
|
+
- `pane-ext pack` builds the release components and assembles what users
|
|
25
|
+
download.
|
|
26
|
+
|
|
27
|
+
## What you need
|
|
28
|
+
|
|
29
|
+
A JavaScript or TypeScript package needs nothing but Node.js and npm.
|
|
30
|
+
`pane-ext` carries the componentizer (Pane's patched componentize-qjs,
|
|
31
|
+
which builds WASI 0.3 components), the QuickJS `runtime.wasm` and the
|
|
32
|
+
WASI 0.3 `libc.so` in the platform package. It takes esbuild as an
|
|
33
|
+
ordinary dependency of this package.
|
|
34
|
+
|
|
35
|
+
A Rust package needs rustup's stable toolchain with the `wasm32-wasip2`
|
|
36
|
+
target, and the `pane-extension` SDK from crates.io.
|
|
37
|
+
|
|
38
|
+
## How the program reaches your system
|
|
39
|
+
|
|
40
|
+
This package holds only a small JavaScript shim, the way esbuild, biome
|
|
41
|
+
and turbo ship their tools. The `pane-ext` program itself is native. Each
|
|
42
|
+
system gets it from one of this package's `optionalDependencies`,
|
|
43
|
+
`@pane-app/cli-<target>`, one per platform:
|
|
44
|
+
|
|
45
|
+
- `cli-linux-x86_64`
|
|
46
|
+
- `cli-linux-aarch64`
|
|
47
|
+
- `cli-windows-x86_64`
|
|
48
|
+
- `cli-windows-aarch64`
|
|
49
|
+
- `cli-macos-x86_64`
|
|
50
|
+
- `cli-macos-aarch64`
|
|
51
|
+
|
|
52
|
+
npm installs the one whose `os` and `cpu` match, and the shim runs the
|
|
53
|
+
program it holds.
|
|
54
|
+
|
|
55
|
+
If no platform package matches your system, or npm skipped one after a
|
|
56
|
+
failed install, the shim says so and points at the fix:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
npm install @pane-app/cli --force
|
|
60
|
+
```
|
|
61
|
+
|
|
40
62
|
## Versions and publishing
|
|
41
63
|
|
|
42
|
-
The version follows the extension API and the tool together.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
64
|
+
The version follows the extension API and the tool together.
|
|
65
|
+
|
|
66
|
+
The repository's `cli-packages` workflow builds and packs the packages
|
|
67
|
+
(run `cargo xtask cli-package` to assemble them). Publishing them is a
|
|
68
|
+
person's step, never CI's.
|
|
46
69
|
|
|
47
70
|
## Licensing
|
|
48
71
|
|
|
49
72
|
Pane's own files here are GPL-3.0-or-later (see `LICENSE-GPL`), like the
|
|
50
|
-
`pane-ext` program the platform packages carry. The platform packages
|
|
51
|
-
carry the componentizer, which is Apache-2.0, and the wasm parts,
|
|
52
|
-
licences their README records.
|
|
73
|
+
`pane-ext` program the platform packages carry. The platform packages
|
|
74
|
+
also carry the componentizer, which is Apache-2.0, and the wasm parts,
|
|
75
|
+
whose licences their README records.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pane-app/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Pane's command-line tool for extension authors: pane-ext creates, develops, checks and packs an extension package, and builds JavaScript and TypeScript with nothing but Node.js and npm",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pane",
|
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
"esbuild": "0.28.2"
|
|
29
29
|
},
|
|
30
30
|
"optionalDependencies": {
|
|
31
|
-
"@pane-app/cli-linux-x86_64": "0.1.
|
|
32
|
-
"@pane-app/cli-linux-aarch64": "0.1.
|
|
33
|
-
"@pane-app/cli-windows-x86_64": "0.1.
|
|
34
|
-
"@pane-app/cli-windows-aarch64": "0.1.
|
|
35
|
-
"@pane-app/cli-macos-x86_64": "0.1.
|
|
36
|
-
"@pane-app/cli-macos-aarch64": "0.1.
|
|
31
|
+
"@pane-app/cli-linux-x86_64": "0.1.1",
|
|
32
|
+
"@pane-app/cli-linux-aarch64": "0.1.1",
|
|
33
|
+
"@pane-app/cli-windows-x86_64": "0.1.1",
|
|
34
|
+
"@pane-app/cli-windows-aarch64": "0.1.1",
|
|
35
|
+
"@pane-app/cli-macos-x86_64": "0.1.1",
|
|
36
|
+
"@pane-app/cli-macos-aarch64": "0.1.1"
|
|
37
37
|
},
|
|
38
38
|
"files": [
|
|
39
39
|
"bin/pane-ext.js",
|