chore: production deploy#5279
Merged
Merged
Conversation
Contributor
supabase-cli-releaser
Bot
commented
May 18, 2026
- fix(cli): publish root README to npm umbrella package (fix(cli): publish root README to npm umbrella package #5261)
- fix(cli): restore --jobs flag on legacy functions deploy proxy (fix(cli): restore --jobs flag on legacy functions deploy proxy #5266)
- chore: move packaged dependencies to dev dependencies (chore: move packaged dependencies to dev dependencies #5264)
- ci(release): re-publish unversioned tarball aliases (ci(release): re-publish unversioned tarball aliases #5267)
- fix(cli): restore --jobs on storage cp (fix(cli): restore --jobs on storage cp #5269)
- feat(cli): add query-timeout flag to gen types command (feat(cli): add query-timeout flag to gen types command #5274)
- feat(cli): add hidden flag support for legacy commands (feat(cli): add hidden flag support for legacy commands #5278)
## Summary The umbrella `supabase` package was shipping `apps/cli/README.md` — workspace-layout documentation for contributors — as its npm README, so the npmjs.com package page rendered repo-internal notes instead of the user-facing project README. `apps/cli/scripts/publish.ts` now copies the repository's root `README.md` over `apps/cli/README.md` immediately before `pnpm publish` runs for the umbrella package. The workspace-internal README stays in place for repo readers, and the user-facing README is what gets published to npm. The `homepage` field (`https://github.com/supabase/cli#readme`) already points to the root README on GitHub, so it is unchanged. Fixes [CLI-1479](https://linear.app/supabase/issue/CLI-1479/fix-incorrect-readme-shown-on-npm-page). https://claude.ai/code/session_01LzrhvRuUEjjEKRToDATaVc --- _Generated by [Claude Code](https://claude.ai/code/session_01LzrhvRuUEjjEKRToDATaVc)_ Co-authored-by: Claude <noreply@anthropic.com>
The Go CLI exposes --jobs (-j, default 1) on supabase functions deploy to control parallel deploys when combined with --use-api, but the legacy TS shim did not declare it, so the flag was rejected at the shim's arg-parsing layer before reaching the Go binary. Add the flag to the command definition and forward it through the proxy handler when present. Fixes #5263 Co-authored-by: Claude <noreply@anthropic.com>
## What changed This updates the published `supabase` npm package so it behaves as a lightweight shim package. The package now ships `dist/supabase.js` and declares only the platform-specific `@supabase/cli-*` packages as optional runtime dependencies. The CLI runtime dependencies are kept as development dependencies because the compiled Bun binaries already contain what they need. The dependency catalog and lockfile were refreshed alongside that packaging change, including aligning the Effect platform packages on the same beta. To keep the workspace green with those updates, the TypeScript code was migrated to the newer Effect service APIs (`Context.Service`), schema decoding defaults were updated for the current Schema API, and mock child process handles now implement the required `unref` member. The PR also updates the vendored `.repos/*` snapshots that were staged for this branch.
goreleaser used to publish both supabase_<version>_<os>_<arch>.tar.gz and supabase_<os>_<arch>.tar.gz. The current workflow only uploads the versioned variant, so curl scripts, docs, the setup-cli action and third-party tools that hit releases/latest/download/<unversioned>.tar.gz have been 404-ing since v2.99.0. Copy the versioned tarballs to the legacy unversioned names before the release upload step. See #5257. Fixes #5262 --------- Co-authored-by: Claude <noreply@anthropic.com>
- closes #5268 (somewhat same as the prev issue) Co-authored-by: Andrew Valleteau <avallete@users.noreply.github.com>
Adds support for a `--query-timeout` flag to the `supabase gen types` command, allowing users to specify a maximum timeout for database queries during type generation. **Changes:** - Added `queryTimeout` string flag to the types command configuration with optional modifier - Updated the types handler to pass the `--query-timeout` argument to the underlying proxy when the flag is provided - Flag is optional and only included in the command arguments when explicitly set by the user Closes: #5275 https://claude.ai/code/session_01RA5Zbm2H5o28poUJ3hJWTJ Co-authored-by: Claude <noreply@anthropic.com>
Adds the remaining Go-hidden flags to the legacy shell so the TS shim parses them transparently (no help-output divergence), and accepts `seed buckets --linked` / `--local` for runtime parity. Closes the last open items from the CLI-1483 audit. ## Hidden-flag mechanism Effect's CLI DSL does not expose a hidden-flag modifier, so this PR introduces one: - `apps/cli/src/shared/cli/hidden-flag.ts` - `withHidden(flag)` registers the flag's underlying single name in a module-scoped set and returns the same flag instance unchanged. - `stripHiddenFlagsFromHelpDoc(doc)` filters those names out of both `flags` and `globalFlags`. - `shared/output/text-formatter.ts` and `json-formatter.ts` now run every HelpDoc through that filter before rendering, so hidden flags are parsed normally but never appear in `--help`. ## Go-parity hidden flags added to the legacy shell Each flag is forwarded to the Go binary by the proxy handler when set: - `start --preview` (bool) - `projects create --interactive` / `-i` (bool, tri-state via `Option`) and `--plan` (string) - `functions deploy --use-docker`, `--legacy-bundle` (bool) - `functions download --use-docker`, `--legacy-bundle` (bool) - `functions serve --all` (bool, tri-state via `Option`) ## Persistent group flags Go declares `--linked` / `--local` as persistent flags on the `seed` group. Effect's CLI doesn't expose group-level persistent flags, so this PR adds them as explicit (visible) flags on the `seed buckets` subcommand and forwards them to the Go binary. The Go implementation hardcodes `linked=true` for buckets, so the behavior is a no-op — but the invocation now matches. Other places where Go has `--linked` / `--local` (e.g. `gen types`, `db diff/push/pull/reset`, `migration *`, `test db`, `inspect db *`, `storage *`) already declare them per-subcommand in the TS shim, so no other commands changed. ## Tests - New unit test `hidden-flag.unit.test.ts` covers `withHidden()` (identity preservation, registration through wrapped combinators) and `stripHiddenFlagsFromHelpDoc()` (flags, globalFlags, and untouched docs). - `pnpm check:all` and `pnpm test:core` pass locally. Closes: #5277 Closes: CLI-1483 https://claude.ai/code/session_01KEg7JPF7EM7gicUD8KVpaa --------- Co-authored-by: Claude <noreply@anthropic.com>
avallete
approved these changes
May 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.