supabase 2.99.0-beta.9 → 2.99.1-beta.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.
Files changed (2) hide show
  1. package/README.md +152 -119
  2. package/package.json +11 -11
package/README.md CHANGED
@@ -1,181 +1,214 @@
1
- # supabase
1
+ # Supabase CLI
2
2
 
3
- The TypeScript/Bun Supabase CLI in this repo.
3
+ [![Coverage Status](https://coveralls.io/repos/github/supabase/cli/badge.svg?branch=develop)](https://coveralls.io/github/supabase/cli?branch=develop) [![Bitbucket Pipelines](https://img.shields.io/bitbucket/pipelines/supabase-cli/setup-cli/master?style=flat-square&label=Bitbucket%20Canary)](https://bitbucket.org/supabase-cli/setup-cli/pipelines) [![Gitlab Pipeline Status](https://img.shields.io/gitlab/pipeline-status/sweatybridge%2Fsetup-cli?label=Gitlab%20Canary)
4
+ ](https://gitlab.com/sweatybridge/setup-cli/-/pipelines)
4
5
 
5
- This workspace contains:
6
+ [Supabase](https://supabase.io) is an open source Firebase alternative. We're building the features of Firebase using enterprise-grade open source tools.
6
7
 
7
- - the published `supabase` package
8
- - the `supabase` binary entrypoint
9
- - local-development commands backed by `@supabase/stack`
10
- - login and machine-readable output support
8
+ This repository contains all the functionality for Supabase CLI.
11
9
 
12
- ## Status
10
+ - [x] Running Supabase locally
11
+ - [x] Managing database migrations
12
+ - [x] Creating and deploying Supabase Functions
13
+ - [x] Generating types directly from your database schema
14
+ - [x] Making authenticated HTTP requests to [Management API](https://supabase.com/docs/reference/api/introduction)
13
15
 
14
- This workspace currently contains the next/V3 CLI shell and the scaffolding for a legacy shell.
16
+ ## Getting started
15
17
 
16
- For current migration/parity status, see:
18
+ ### Install the CLI
17
19
 
18
- - [`docs/go-cli-porting-status.md`](/Users/jgoux/Code/supabase/dx-labs/apps/cli/docs/go-cli-porting-status.md)
20
+ Available via [NPM](https://www.npmjs.com) as dev dependency. To install:
19
21
 
20
- For the generated command/reference docs, see:
21
-
22
- - [`docs/go-cli-reference.md`](/Users/jgoux/Code/supabase/dx-labs/apps/cli/docs/go-cli-reference.md)
23
- - [`docs/supabase-home.md`](/Users/jgoux/Code/supabase/dx-labs/apps/cli/docs/supabase-home.md)
24
- - [`../../packages/stack/docs/service-versioning.md`](/Users/jgoux/Code/supabase/dx-labs/packages/stack/docs/service-versioning.md)
22
+ ```bash
23
+ npm i supabase --save-dev
24
+ ```
25
25
 
26
- The README is intentionally brief. Command details should live in the generated docs and the parity tracker above.
26
+ To install the beta release channel:
27
27
 
28
- ## Run From Source
28
+ ```bash
29
+ npm i supabase@beta --save-dev
30
+ ```
29
31
 
30
- From the workspace:
32
+ When installing with yarn 4, you need to disable experimental fetch with the following nodejs config.
31
33
 
32
- ```sh
33
- cd apps/cli
34
- pnpm dev:next -- --help
34
+ ```
35
+ NODE_OPTIONS=--no-experimental-fetch yarn add supabase
35
36
  ```
36
37
 
37
- Examples:
38
+ > **Note**
39
+ For Bun versions below v1.0.17, you must add `supabase` as a [trusted dependency](https://bun.sh/guides/install/trusted) before running `bun add -D supabase`.
38
40
 
39
- ```sh
40
- pnpm dev:next -- start
41
- pnpm dev:next -- start --mode docker
42
- pnpm dev:next -- start --detach
43
- pnpm dev:next -- status
44
- pnpm dev:next -- logs
45
- pnpm dev:next -- login --no-browser
46
- pnpm dev:legacy -- hello
47
- ```
41
+ <details>
42
+ <summary><b>macOS</b></summary>
48
43
 
49
- ### Legacy shell and the Go binary
44
+ Available via [Homebrew](https://brew.sh). To install:
50
45
 
51
- Phase 0 commands in the legacy shell proxy to the Go CLI binary. To run these commands from source you need `supabase` (the Go CLI) available on your PATH.
46
+ ```sh
47
+ brew install supabase/tap/supabase
48
+ ```
52
49
 
53
- For convenience, create a shell alias instead of using `pnpm dev:legacy` directly. For example in `.zshrc`:
50
+ To install the beta release channel:
51
+
52
+ ```sh
53
+ brew install supabase/tap/supabase-beta
54
+ brew link --overwrite supabase-beta
55
+ ```
56
+
57
+ To upgrade:
54
58
 
55
- ```sh
56
- alias supabase-dev="bun /absolute/path/to/dx-lab/apps/cli/src/legacy/main.ts"
57
- ```
59
+ ```sh
60
+ brew upgrade supabase
61
+ ```
58
62
 
59
- Then Phase 0 commands resolve the Go binary via PATH automatically:
63
+ Beta channel:
60
64
 
61
- ```sh
62
- supabase-dev orgs list # proxied to supabase on PATH
63
- supabase-dev login # native TypeScript
64
- ```
65
+ ```sh
66
+ brew upgrade supabase-beta
67
+ ```
68
+ </details>
65
69
 
66
- You can also point `SUPABASE_GO_BINARY` at a specific binary to skip the PATH lookup:
70
+ <details>
71
+ <summary><b>Windows</b></summary>
67
72
 
68
- ```sh
69
- export SUPABASE_GO_BINARY=/path/to/supabase
70
- ```
73
+ Available via [Scoop](https://scoop.sh). To install:
71
74
 
72
- ## Build
75
+ ```powershell
76
+ scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
77
+ scoop install supabase
78
+ ```
73
79
 
74
- There are two separate build paths depending on what you need.
80
+ To install the beta release channel:
75
81
 
76
- ### Source bundles (development)
82
+ ```powershell
83
+ scoop install supabase-beta
84
+ ```
77
85
 
78
- From `apps/cli`:
86
+ To upgrade:
79
87
 
80
- ```sh
81
- pnpm build
82
- pnpm build:next
83
- pnpm build:legacy
84
- pnpm build:shim
85
- ```
88
+ ```powershell
89
+ scoop update supabase
90
+ ```
86
91
 
87
- Output in `dist/`:
92
+ Beta channel:
88
93
 
89
- - `dist/supabase.js` — base shim that routes to the correct platform binary
90
- - `dist/supabase-next` — next shell compiled binary (Bun single-file executable for the host platform)
91
- - `dist/supabase-legacy` — legacy shell compiled binary (Bun single-file executable for the host platform)
94
+ ```powershell
95
+ scoop update supabase-beta
96
+ ```
97
+ </details>
92
98
 
93
- The shim resolves `SUPABASE_CLI_BINARY_OVERRIDE` (an absolute binary path) before falling back to the `@supabase/cli-<platform>` optional-dependency lookup. The e2e test harness uses this override to invoke the real shim + compiled binary handoff against the per-shell builds in `dist/`.
99
+ <details>
100
+ <summary><b>Linux</b></summary>
94
101
 
95
- ### Platform releases (Bun single-file executables)
102
+ Available via [Homebrew](https://brew.sh) and Linux packages.
96
103
 
97
- Used at release time to produce the compiled binaries that go into the platform-specific npm packages:
104
+ #### via Homebrew
98
105
 
99
- ```sh
100
- # next shell (TS only)
101
- bun scripts/build.ts --shell next --version X.Y.Z
106
+ To install:
102
107
 
103
- # legacy shell (TS SFE + Go binary for each platform)
104
- bun scripts/build.ts --shell legacy --version X.Y.Z
105
- ```
108
+ ```sh
109
+ brew install supabase/tap/supabase
110
+ ```
106
111
 
107
- For the legacy shell, this also cross-compiles the Go CLI binary from `apps/cli-go/` and places both binaries in `packages/cli-{platform}/bin/`.
112
+ To install the beta release channel:
108
113
 
109
- See [`docs/binary-distribution.md`](./docs/binary-distribution.md) for a full explanation of the packaging model.
114
+ ```sh
115
+ brew install supabase/tap/supabase-beta
116
+ brew link --overwrite supabase-beta
117
+ ```
110
118
 
111
- ## Architecture
119
+ To upgrade:
112
120
 
113
- The CLI is built on `effect/unstable/cli`.
121
+ ```sh
122
+ brew upgrade supabase
123
+ ```
114
124
 
115
- Important areas:
125
+ Beta channel:
116
126
 
117
- - `src/shared/cli/` for shared runner logic, roots, and global flags
118
- - `src/next/commands/` for the next/V3 command tree
119
- - `src/legacy/commands/` for the legacy command tree
120
- - `src/shared/output/` for text / JSON / NDJSON output policies
121
- - `src/shared/runtime/` for TTY, stdin, browser, Ink, and process-control services
122
- - `src/next/auth/` for login-related services
127
+ ```sh
128
+ brew upgrade supabase-beta
129
+ ```
123
130
 
124
- The local stack commands use `@supabase/stack` for lifecycle, daemon transport, status, and logs.
125
- That stack layer now has an explicit preparation phase, so foreground and detached `start` flows
126
- can surface `Downloading` before normal runtime states.
131
+ #### via Linux packages
127
132
 
128
- Useful companion docs:
133
+ Linux packages are provided in [Releases](https://github.com/supabase/cli/releases). To install, download the `.apk`/`.deb`/`.rpm`/`.pkg.tar.zst` file depending on your package manager and run the respective commands.
129
134
 
130
- - [`../../packages/stack/docs/architecture.md`](/Users/jgoux/Code/supabase/dx-labs/packages/stack/docs/architecture.md)
131
- - [`../../packages/stack/docs/detach-mode.md`](/Users/jgoux/Code/supabase/dx-labs/packages/stack/docs/detach-mode.md)
132
- - [`docs/ui.md`](/Users/jgoux/Code/supabase/dx-labs/apps/cli/docs/ui.md)
135
+ ```sh
136
+ sudo apk add --allow-untrusted <...>.apk
137
+ ```
133
138
 
134
- ## Development
139
+ ```sh
140
+ sudo dpkg -i <...>.deb
141
+ ```
135
142
 
136
- From `apps/cli`:
143
+ ```sh
144
+ sudo rpm -i <...>.rpm
145
+ ```
137
146
 
138
- ```sh
139
- pnpm check:all
140
- pnpm fix:all
141
- pnpm test
142
- ```
147
+ ```sh
148
+ sudo pacman -U <...>.pkg.tar.zst
149
+ ```
150
+ </details>
143
151
 
144
- Useful subsets:
152
+ <details>
153
+ <summary><b>Other Platforms</b></summary>
145
154
 
146
- ```sh
147
- pnpm test:core # unit + integration (no binary required)
148
- pnpm test:legacy-integration # legacy behavioral tests (requires SUPABASE_GO_BINARY — see CLAUDE.md)
149
- pnpm test:e2e # end-to-end subprocess tests
150
- ```
155
+ You can also install the CLI via [go modules](https://go.dev/ref/mod#go-install) without the help of package managers.
156
+
157
+ ```sh
158
+ go install github.com/supabase/cli@latest
159
+ ```
160
+
161
+ Add a symlink to the binary in `$PATH` for easier access:
162
+
163
+ ```sh
164
+ ln -s "$(go env GOPATH)/bin/cli" /usr/bin/supabase
165
+ ```
166
+
167
+ This works on other non-standard Linux distros.
168
+ </details>
151
169
 
152
- ## Publishing
170
+ <details>
171
+ <summary><b>Community Maintained Packages</b></summary>
153
172
 
154
- This workspace publishes the main `supabase` package.
173
+ Available via [pkgx](https://pkgx.sh/). Package script [here](https://github.com/pkgxdev/pantry/blob/main/projects/supabase.com/cli/package.yml).
174
+ To install in your working directory:
155
175
 
156
- Release channels are split by npm dist-tag:
176
+ ```bash
177
+ pkgx install supabase
178
+ ```
157
179
 
158
- - stable publishes the legacy shell to `latest`
159
- - alpha publishes the next/V3 shell to `alpha`
180
+ Available via [Nixpkgs](https://nixos.org/). Package script [here](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/supabase-cli/default.nix).
181
+ </details>
160
182
 
161
- The release automation is split across:
183
+ ### Run the CLI
162
184
 
163
- - [`.github/workflows/release-stable.yml`](../../.github/workflows/release-stable.yml)
164
- - [`.github/workflows/release-alpha.yml`](../../.github/workflows/release-alpha.yml)
185
+ ```bash
186
+ supabase bootstrap
187
+ ```
188
+
189
+ Or using npx:
190
+
191
+ ```bash
192
+ npx supabase bootstrap
193
+ ```
165
194
 
166
- ### Platform packages
195
+ The bootstrap command will guide you through the process of setting up a Supabase project using one of the [starter](https://github.com/supabase-community/supabase-samples/blob/main/samples.json) templates.
167
196
 
168
- Platform-specific packages live under:
197
+ ## Docs
169
198
 
170
- - `packages/cli-darwin-*`
171
- - `packages/cli-linux-*`
172
- - `packages/cli-windows-*`
199
+ Command & config reference can be found [here](https://supabase.com/docs/reference/cli/about).
173
200
 
174
- Each platform package ships two binaries for the legacy stable channel:
201
+ ## Breaking changes
175
202
 
176
- - `bin/supabase` the compiled TypeScript SFE (Bun single-file executable)
177
- - `bin/supabase-go` — the compiled Go CLI binary, used by Phase 0 proxy commands
203
+ We follow semantic versioning for changes that directly impact CLI commands, flags, and configurations.
178
204
 
179
- The Go binary is compiled from `apps/cli-go/` at release time. Run `pnpm repos:install` after a fresh clone to make that source available.
205
+ However, due to dependencies on other service images, we cannot guarantee that schema migrations, seed.sql, and generated types will always work for the same CLI major version. If you need such guarantees, we encourage you to pin a specific version of CLI in package.json.
180
206
 
181
- See [`docs/binary-distribution.md`](./docs/binary-distribution.md) for the full packaging model.
207
+ ## Developing
208
+
209
+ To run from source:
210
+
211
+ ```sh
212
+ # Go >= 1.22
213
+ go run . help
214
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "supabase",
3
- "version": "2.99.0-beta.9",
3
+ "version": "2.99.1-beta.1",
4
4
  "private": false,
5
5
  "description": "Supabase CLI",
6
6
  "homepage": "https://github.com/supabase/cli#readme",
@@ -50,9 +50,9 @@
50
50
  "react-devtools-core": "^7.0.1",
51
51
  "vitest": "^4.1.5",
52
52
  "@supabase/api": "0.1.0",
53
- "@supabase/config": "0.1.0",
53
+ "@supabase/process-compose": "0.1.0",
54
54
  "@supabase/stack": "0.1.0",
55
- "@supabase/process-compose": "0.1.0"
55
+ "@supabase/config": "0.1.0"
56
56
  },
57
57
  "optionalDependencies": {
58
58
  "@parcel/watcher-darwin-arm64": "2.5.6",
@@ -63,14 +63,14 @@
63
63
  "@parcel/watcher-linux-x64-musl": "2.5.6",
64
64
  "@parcel/watcher-win32-arm64": "2.5.6",
65
65
  "@parcel/watcher-win32-x64": "2.5.6",
66
- "@supabase/cli-darwin-arm64": "2.99.0-beta.9",
67
- "@supabase/cli-darwin-x64": "2.99.0-beta.9",
68
- "@supabase/cli-linux-arm64": "2.99.0-beta.9",
69
- "@supabase/cli-linux-arm64-musl": "2.99.0-beta.9",
70
- "@supabase/cli-linux-x64": "2.99.0-beta.9",
71
- "@supabase/cli-windows-arm64": "2.99.0-beta.9",
72
- "@supabase/cli-windows-x64": "2.99.0-beta.9",
73
- "@supabase/cli-linux-x64-musl": "2.99.0-beta.9"
66
+ "@supabase/cli-darwin-arm64": "2.99.1-beta.1",
67
+ "@supabase/cli-darwin-x64": "2.99.1-beta.1",
68
+ "@supabase/cli-linux-arm64": "2.99.1-beta.1",
69
+ "@supabase/cli-linux-arm64-musl": "2.99.1-beta.1",
70
+ "@supabase/cli-linux-x64": "2.99.1-beta.1",
71
+ "@supabase/cli-linux-x64-musl": "2.99.1-beta.1",
72
+ "@supabase/cli-windows-arm64": "2.99.1-beta.1",
73
+ "@supabase/cli-windows-x64": "2.99.1-beta.1"
74
74
  },
75
75
  "release": {
76
76
  "branches": [