@helipod/cli 0.1.0 → 0.1.2
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 +42 -0
- package/package.json +35 -32
package/README.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# @helipod/cli
|
|
2
|
+
|
|
3
|
+
The `helipod` command-line tool: run, deploy, and build Helipod apps — a local dev server with hot reload, a production server, push-based live deploys, single-binary compiles, data import/export, and typed codegen.
|
|
4
|
+
|
|
5
|
+
Most users should install the umbrella package [`helipod`](https://www.npmjs.com/package/helipod) instead — it bundles this CLI (the `helipod` bin ships inside it) along with the server function helpers, the client SDK, and the React hooks.
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
bun add helipod # or: npm install helipod
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
# local development: watch helipod/, hot-reload functions, serve the sync
|
|
15
|
+
# WebSocket + HTTP API + dashboard on one port
|
|
16
|
+
bunx helipod dev
|
|
17
|
+
|
|
18
|
+
# production: requires HELIPOD_ADMIN_KEY, binds 0.0.0.0, no codegen at boot
|
|
19
|
+
HELIPOD_ADMIN_KEY=... bunx helipod serve
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Commands
|
|
23
|
+
|
|
24
|
+
- `helipod dev` — run the engine locally with hot reload and the dashboard.
|
|
25
|
+
- `helipod serve` — run the production server (requires `HELIPOD_ADMIN_KEY`, graceful shutdown on SIGTERM/SIGINT).
|
|
26
|
+
- `helipod deploy` — deploy the app: `--target <serve|cloudflare|docker|railway|fly|aws>`, `--env <name>`, with `--dry-run` and `--check` modes. Deploying to a running `serve` hot-swaps functions and additive schema changes with no restart.
|
|
27
|
+
- `helipod build` — compile the app and its components into a single self-contained executable (via `bun build --compile`), with cross-compile targets for Linux, macOS, and Windows.
|
|
28
|
+
- `helipod migrate` — convert an existing project from another backend into a Helipod project (rewrites imports, emits a divergence report). `migrate export` / `migrate import` move app data as a portable JSON dump between deployments.
|
|
29
|
+
- `helipod codegen` — regenerate the typed `_generated/` output (typed `api`, `Doc`/`Id` types, `mintId`) for your functions directory.
|
|
30
|
+
|
|
31
|
+
Common options: `--port <n>`, `--ip <addr>`, `--dir <functionsDir>`, `--data <dbPath>`, `--database-url <url>` (Postgres; SQLite is the zero-config default).
|
|
32
|
+
|
|
33
|
+
## Features
|
|
34
|
+
|
|
35
|
+
- One-command local dev: functions, reactive sync, HTTP API, and dashboard on a single port.
|
|
36
|
+
- SQLite by default, Postgres via `--database-url` — no app-schema migrations either way.
|
|
37
|
+
- Live deploys to a running server (`serve --allow-deploy`), rejected if the schema change is destructive.
|
|
38
|
+
- Single-binary output that embeds the runtime, your functions, and the dashboard.
|
|
39
|
+
|
|
40
|
+
Part of [Helipod](https://github.com/helipod-sh/helipod) — docs at https://helipod-six.vercel.app/docs
|
|
41
|
+
|
|
42
|
+
License: FSL-1.1-Apache-2.0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helipod/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "FSL-1.1-Apache-2.0",
|
|
6
6
|
"bin": {
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
"./project": {
|
|
22
22
|
"types": "./dist/project.d.ts",
|
|
23
23
|
"default": "./dist/project.js"
|
|
24
|
+
},
|
|
25
|
+
"./bin": {
|
|
26
|
+
"default": "./dist/bin.js"
|
|
24
27
|
}
|
|
25
28
|
},
|
|
26
29
|
"files": [
|
|
@@ -34,44 +37,44 @@
|
|
|
34
37
|
"clean": "rm -rf dist .turbo"
|
|
35
38
|
},
|
|
36
39
|
"dependencies": {
|
|
37
|
-
"@helipod/admin": "0.1.
|
|
38
|
-
"@helipod/blobstore": "0.1.
|
|
39
|
-
"@helipod/blobstore-fs": "0.1.
|
|
40
|
-
"@helipod/blobstore-s3": "0.1.
|
|
41
|
-
"@helipod/codegen": "0.1.
|
|
42
|
-
"@helipod/component": "0.1.
|
|
43
|
-
"@helipod/deploy": "0.1.
|
|
44
|
-
"@helipod/docstore": "0.1.
|
|
45
|
-
"@helipod/docstore-postgres": "0.1.
|
|
46
|
-
"@helipod/docstore-sqlite": "0.1.
|
|
47
|
-
"@helipod/errors": "0.1.
|
|
48
|
-
"@helipod/executor": "0.1.
|
|
49
|
-
"@helipod/id-codec": "0.1.
|
|
50
|
-
"@helipod/objectstore": "0.1.
|
|
51
|
-
"@helipod/objectstore-fs": "0.1.
|
|
52
|
-
"@helipod/objectstore-s3": "0.1.
|
|
53
|
-
"@helipod/query-engine": "0.1.
|
|
54
|
-
"@helipod/receipts": "0.1.
|
|
55
|
-
"@helipod/runtime-embedded": "0.1.
|
|
56
|
-
"@helipod/storage": "0.1.
|
|
57
|
-
"@helipod/sync": "0.1.
|
|
58
|
-
"@helipod/values": "0.1.
|
|
40
|
+
"@helipod/admin": "0.1.2",
|
|
41
|
+
"@helipod/blobstore": "0.1.2",
|
|
42
|
+
"@helipod/blobstore-fs": "0.1.2",
|
|
43
|
+
"@helipod/blobstore-s3": "0.1.2",
|
|
44
|
+
"@helipod/codegen": "0.1.2",
|
|
45
|
+
"@helipod/component": "0.1.2",
|
|
46
|
+
"@helipod/deploy": "0.1.2",
|
|
47
|
+
"@helipod/docstore": "0.1.2",
|
|
48
|
+
"@helipod/docstore-postgres": "0.1.2",
|
|
49
|
+
"@helipod/docstore-sqlite": "0.1.2",
|
|
50
|
+
"@helipod/errors": "0.1.2",
|
|
51
|
+
"@helipod/executor": "0.1.2",
|
|
52
|
+
"@helipod/id-codec": "0.1.2",
|
|
53
|
+
"@helipod/objectstore": "0.1.2",
|
|
54
|
+
"@helipod/objectstore-fs": "0.1.2",
|
|
55
|
+
"@helipod/objectstore-s3": "0.1.2",
|
|
56
|
+
"@helipod/query-engine": "0.1.2",
|
|
57
|
+
"@helipod/receipts": "0.1.2",
|
|
58
|
+
"@helipod/runtime-embedded": "0.1.2",
|
|
59
|
+
"@helipod/storage": "0.1.2",
|
|
60
|
+
"@helipod/sync": "0.1.2",
|
|
61
|
+
"@helipod/values": "0.1.2",
|
|
59
62
|
"esbuild": "^0.27.0",
|
|
60
63
|
"ws": "^8.18.0",
|
|
61
|
-
"@helipod/dashboard": "0.1.
|
|
64
|
+
"@helipod/dashboard": "0.1.2"
|
|
62
65
|
},
|
|
63
66
|
"devDependencies": {
|
|
64
67
|
"@electric-sql/pglite": "^0.2.17",
|
|
65
68
|
"@levischuck/tiny-cbor": "0.2.11",
|
|
66
69
|
"@simplewebauthn/server": "13.3.2",
|
|
67
|
-
"@helipod/auth": "0.1.
|
|
68
|
-
"@helipod/client": "0.1.
|
|
69
|
-
"@helipod/fleet": "0.
|
|
70
|
-
"@helipod/notifications": "0.1.
|
|
71
|
-
"@helipod/objectstore-substrate": "0.
|
|
72
|
-
"@helipod/scheduler": "0.1.
|
|
73
|
-
"@helipod/triggers": "0.1.
|
|
74
|
-
"@helipod/workflow": "0.1.
|
|
70
|
+
"@helipod/auth": "0.1.2",
|
|
71
|
+
"@helipod/client": "0.1.2",
|
|
72
|
+
"@helipod/fleet": "0.1.2",
|
|
73
|
+
"@helipod/notifications": "0.1.2",
|
|
74
|
+
"@helipod/objectstore-substrate": "0.1.2",
|
|
75
|
+
"@helipod/scheduler": "0.1.2",
|
|
76
|
+
"@helipod/triggers": "0.1.2",
|
|
77
|
+
"@helipod/workflow": "0.1.2",
|
|
75
78
|
"@types/node": "^22.10.5",
|
|
76
79
|
"@types/ws": "^8.5.13",
|
|
77
80
|
"fake-indexeddb": "^6.0.0",
|