mirror of
https://github.com/supabase/supabase.git
synced 2026-09-08 10:59:38 +08:00
<!-- ccr-slack-attribution --> _Requested by **Ivan Vasilov** · [Slack thread](https://supabase.slack.com/archives/C063LNYJJKS/p1787058646458219?thread_ts=1787058646.458219&cid=C063LNYJJKS)_ **Before:** the root `package.json` pins the Supabase CLI at `supabase: ^2.76.10`, and `pnpm-lock.yaml` resolves it to `2.76.14`. **After:** it pins `supabase: ^2.114.0`. This bumps the Supabase CLI that `pnpm run e2e:setup:cli` and `pnpm run setup:cli` shell out to, so local dev and the E2E workflows boot the local stack with a CLI from this month instead of one from ~38 minor releases ago. **How:** a one-line version change to the `supabase` devDependency in the root `package.json`. Nothing else in the repo changes — no workflow, config, or test changes. ### ⚠️ This PR is incomplete: `pnpm-lock.yaml` still needs regenerating `pnpm-lock.yaml` is **not** updated in this PR, so `pnpm install --frozen-lockfile` will fail until someone runs: ```bash pnpm install --lockfile-only ``` and pushes the result to this branch. The lockfile could not be regenerated in the environment this PR was authored in: pnpm re-resolves `apps/studio`'s `"@std/path": "npm:@jsr/std__path@^1.0.8"` on every install, and `npm.jsr.io` is not reachable from there (`ERR_PNPM_FETCH_403`). Treat this PR as needing one extra commit before it can go green. ### Why `^2.114.0` and not `^2.115.0` `2.115.0` is the current `latest` on npm, but it was published only hours ago, and `pnpm-workspace.yaml` sets `minimumReleaseAge: 4320` (3 days) with `supabase` not in `minimumReleaseAgeExclude`. Pinning `2.115.0` today would fail the repo's own supply-chain check. `2.114.0` (2026-08-12) is the newest release that satisfies that policy. ## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Dependency bump. **Speculative** — this is an experiment, not a confirmed fix. ## What is the current behavior? The `Selfhosted Studio E2E Tests` workflow has been failing on `master` at the `Start supabase` step. Recent runs: - https://github.com/supabase/supabase/actions/runs/32092940311 - https://github.com/supabase/supabase/actions/runs/32131961447 In the Slack thread, Ivan Vasilov suggested trying a newer CLI and Alaister Young endorsed giving it a go. ## What is the new behavior? The workflow runs `supabase start` with CLI 2.114.0 instead of 2.76.14. The question this PR is trying to answer is simply **"does a newer CLI help this flake?"** It is not a diagnosis and not a claimed fix. If CI still fails at `Start supabase` on this branch, the bump can be kept or dropped on its own merits and the investigation continues elsewhere. ## Additional context **Verification status:** none locally. The bump was not exercised locally — this repo checkout has no `node_modules` (see the lockfile note above), so `pnpm typecheck`, `pnpm lint`, and `pnpm test:studio` were not run, and neither was `supabase start`. CI on this PR is the only signal. **Call-site compatibility check.** CLI 2.99/2.100 moved to a new TypeScript shell with a stricter argument parser: command-specific flags must now come *after* the subcommand. Both call sites in the root `package.json` already use that order, so no script changes are needed: ``` supabase stop --all --no-backup --workdir ./e2e/studio supabase start --exclude studio,mailpit --workdir ./e2e/studio ``` **Changelog entries between 2.76.14 and 2.114.0 that touch `supabase start` or local config.** Listed so reviewers know what changed in the range — **not** as a claim about what is failing in CI: - **2.112.0** — `supabase start` no longer hangs when analytics migrations fail; the analytics container exits and retries instead of booting against an unmigrated database ([#6093](https://github.com/supabase/cli/pull/6093)). - **2.112.0** — `supabase start` reuses existing volumes instead of failing when they already exist ([#6037](https://github.com/supabase/cli/pull/6037)); Kong reloads after `supabase db reset` ([#6017](https://github.com/supabase/cli/pull/6017)); custom auth email templates survive `db reset` ([#6065](https://github.com/supabase/cli/pull/6065)); `supabase start` works on SELinux-enforcing hosts ([#6000](https://github.com/supabase/cli/pull/6000)). - **2.106.0 — behavior change worth watching.** `[api].auto_expose_new_tables` now resolves to `false` when unset, and local start/reset revokes default Data API privileges for newly created `public` tables, sequences, and functions ([#5524](https://github.com/supabase/cli/pull/5524)). Neither `supabase/config.toml` nor `e2e/studio/supabase/config.toml` sets this key, so this default applies. If E2E specs create `public` objects and then read them through the Data API, they may need explicit `GRANT`s (the deprecated escape hatch is `auto_expose_new_tables = true`). - **2.106.0** — when the CLI detects a coding-agent environment, or `--agent yes` is passed, commands default to JSON output ([#5532](https://github.com/supabase/cli/pull/5532)). `e2e:setup:cli` already passes `--output json` to `supabase status` explicitly, so this should be a no-op here. - **2.100.0** — stricter flag ordering, covered above. - **2.112.0** — `functions deploy` no longer forwards `NPM_AUTH_TOKEN` into Docker bundling ([#6005](https://github.com/supabase/cli/pull/6005)). Not used by these workflows. - **2.107.0** — pg-delta is the default schema diff engine for `db diff` / `db pull` on new projects ([#5511](https://github.com/supabase/cli/pull/5511)). - Many bundled Docker image bumps across the range (`supabase/postgres` 17.6.1.087 → later patches, `postgres-meta`, `vector` 0.28.1 → 0.53.0, Studio image), plus `fix(analytics): wait for logflare before starting vector` (2.84.3) and `fix: use correct docker.sock binding with vector` (2.84.7). Full comparison: https://github.com/supabase/cli/compare/v2.76.14...v2.114.0 --- _Generated by [Claude Code](https://claude.ai/code/session_0143DrDMGnSSwuHebTPJv7ZY)_ --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
83 lines
4.6 KiB
JSON
83 lines
4.6 KiB
JSON
{
|
|
"name": "supabase",
|
|
"description": "The Postgres Development Platform.",
|
|
"version": "0.0.0",
|
|
"author": "Supabase, Inc.",
|
|
"license": "Apache-2.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"preinstall": "npx only-allow pnpm",
|
|
"build": "turbo run build",
|
|
"build:studio": "turbo run build --filter=studio",
|
|
"build:studio:docker": "docker build . -f apps/studio/Dockerfile --target production -t supabase-studio:local --build-arg NEXT_PUBLIC_STUDIO_AUTH_MODE=supabase --no-cache",
|
|
"build:studio:docker:tanstack": "docker build . -f apps/studio/Dockerfile --target production -t supabase-studio:local-tanstack --build-arg NEXT_PUBLIC_STUDIO_AUTH_MODE=supabase --build-arg STUDIO_FRAMEWORK=tanstack --no-cache",
|
|
"build:design-system": "turbo run build --filter=design-system",
|
|
"build:docs": "turbo run build --filter=docs",
|
|
"clean": "turbo run clean --parallel && rimraf -G .turbo/cache && pnpm purge",
|
|
"dev": "turbo run dev --parallel",
|
|
"dev:studio": "turbo run dev --filter=studio --parallel",
|
|
"dev:studio-local": "pnpm setup:cli && NODE_ENV=test MODE=test pnpm --prefix ./apps/studio dev",
|
|
"dev:docs": "turbo run dev --filter=docs --parallel",
|
|
"dev:www": "turbo run dev --filter=www --parallel",
|
|
"dev:design-system": "turbo run dev --filter=design-system --parallel",
|
|
"lint": "turbo run lint",
|
|
"typecheck": "turbo --continue typecheck",
|
|
"test:case-hazards": "node scripts/check-case-hazards.mjs",
|
|
"test:prettier": "SORT_IMPORTS=false prettier --config prettier.config.mjs --cache --check '{apps,packages,blocks,examples,i18n}/**/*.{js,jsx,ts,tsx,css,md,mdx,json}'",
|
|
"format": "SORT_IMPORTS=false prettier --config prettier.config.mjs --cache --write '{apps,packages,blocks,examples,i18n}/**/*.{js,jsx,ts,tsx,css,md,mdx,json}'",
|
|
"test:docs": "turbo run test --filter=docs",
|
|
"test:ui": "turbo run test --filter=ui",
|
|
"test:ui-patterns": "turbo run test --filter=ui-patterns",
|
|
"test:studio": "turbo run test --filter=studio",
|
|
"test:studio:watch": "turbo run test --filter=studio -- watch",
|
|
"e2e:setup:cli": "supabase stop --all --no-backup --workdir ./e2e/studio; supabase start --exclude studio,mailpit --workdir ./e2e/studio && supabase status --output json --workdir ./e2e/studio > keys.json && node scripts/generateLocalEnv.js",
|
|
"e2e:setup:selfhosted": "SKIP_ASSET_UPLOAD=1 pnpm e2e:setup:cli && NODE_ENV=test MODE=test NODE_OPTIONS=\"--max-old-space-size=4096\" pnpm run build:studio && NODE_ENV=test MODE=test pnpm --prefix ./apps/studio start",
|
|
"e2e:setup:selfhosted:start-studio": "SKIP_ASSET_UPLOAD=1 NODE_ENV=test MODE=test pnpm --prefix ./apps/studio start",
|
|
"e2e:setup:platform": "SKIP_ASSET_UPLOAD=1 NODE_OPTIONS=\"--max-old-space-size=4096\" pnpm run build:studio && pnpm --prefix ./apps/studio start",
|
|
"e2e": "pnpm --prefix e2e/studio run e2e",
|
|
"e2e:ui": "pnpm --prefix e2e/studio run e2e:ui",
|
|
"e2e:docs": "pnpm --prefix e2e/docs run e2e:docs",
|
|
"e2e:docs:all": "pnpm --prefix e2e/docs run e2e:docs:all",
|
|
"e2e:docs:a11y": "pnpm --prefix e2e/docs run e2e:docs:a11y",
|
|
"e2e:docs:ui": "pnpm --prefix e2e/docs run e2e:ui",
|
|
"e2e:docs:local-smoke": "pnpm --prefix e2e/docs run e2e:docs:local-smoke",
|
|
"e2e:www": "pnpm --prefix e2e/www run e2e:www",
|
|
"e2e:www:all": "pnpm --prefix e2e/www run e2e:www:all",
|
|
"perf:kong": "ab -t 5 -c 20 -T application/json http://localhost:8000/",
|
|
"perf:meta": "ab -t 5 -c 20 -T application/json http://localhost:5555/tables",
|
|
"setup:cli": "supabase start -x studio && supabase status --output json > keys.json && node scripts/generateLocalEnv.js",
|
|
"generate:types": "supabase gen types typescript --local > ./supabase/functions/common/database-types.ts",
|
|
"api:codegen": "cd packages/api-types && pnpm run codegen",
|
|
"knip": "pnpx knip@~5.50.0",
|
|
"authorize-vercel-deploys": "tsx scripts/authorizeVercelDeploys.ts"
|
|
},
|
|
"devDependencies": {
|
|
"@aws-sdk/client-secrets-manager": "^3.1041.0",
|
|
"@ianvs/prettier-plugin-sort-imports": "^4.7.0",
|
|
"@types/node": "catalog:",
|
|
"eslint": "^9.0.0",
|
|
"jsdom": "^28.1.0",
|
|
"prettier": "^3.8.0",
|
|
"prettier-plugin-sql-cst": "^0.18.0",
|
|
"rimraf": "^6.0.0",
|
|
"supabase": "^2.114.0",
|
|
"supports-color": "^8.0.0",
|
|
"tailwindcss": "catalog:",
|
|
"tsx": "catalog:",
|
|
"turbo": "2.9.14",
|
|
"@typescript/native": "catalog:",
|
|
"typescript": "catalog:",
|
|
"zod": "catalog:"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/supabase/supabase.git"
|
|
},
|
|
"engines": {
|
|
"pnpm": "11.13",
|
|
"node": ">=22.13"
|
|
},
|
|
"keywords": ["postgres", "firebase", "storage", "functions", "database", "auth"],
|
|
"packageManager": "pnpm@11.13.1"
|
|
}
|