Skip to content

chore(repo): sync develop into next - #7199

Merged
supabase-cli-releaser[bot] merged 3 commits into
nextfrom
sync/develop-into-next
Oct 16, 2026
Merged

supabase-cli-releaser[bot] merged 3 commits into
nextfrom
sync/develop-into-next

Conversation

@supabase-cli-releaser

Copy link
Copy Markdown
Contributor

Merging develop into next conflicts. This branch starts at the tip of develop (49e4e80); next is at 31b7b4f.

Conflicting files:

  • .oxlintrc.effect.json
  • apps/cli/src/command-internal/argv-flag-reconcile.ts
  • apps/cli/src/command-internal/argv-flag-reconcile.unit.test.ts
  • apps/cli/src/command-internal/sql-files-glob.unit.test.ts
  • apps/cli/src/command-internal/struct-output.encoders.ts
  • apps/cli/src/config/profile-file.ts
  • apps/cli/src/shared/config/temp-paths.unit.test.ts

To resolve:

git fetch origin
git switch sync/develop-into-next
git merge origin/next
# resolve the conflicts, then commit
git push origin sync/develop-into-next

Approve to fast-forward next; do not use the merge button.

…with effect lint (CLI-2648) (#7144)

## TL;DR

brings the `upgrade`, `flags` and `filesystem` modules under the effect
lint, with the `output`, `status` and go-compat helpers around them

## whats introduced?

- the module files join the allow list, with `upgrade-notice` left to
its own follow-up
- `pflag-reconcile` reads `SUPABASE_PROFILE`, `SUPABASE_WORKDIR` and the
supabase home from `CommandSettings` instead of `process.env`, so
`profileFilePath` goes
- `git-status` takes the `Path` service, `timestamp.format` goes through
`DateTime`, and the `go-struct-output` and `string-slice-flag` errors
move to `Data.Error` with the same names and fingerprints
- the tests swap `node:fs` and `process.env` for scoped temp dirs and
config providers, and the `prompt-yes-no` and `pflag-reconcile` tests
move to `it.effect`

## ref

- related: CLI-2648
@supabase-cli-releaser supabase-cli-releaser Bot added the do not merge Approve to apply; do not merge. label Oct 16, 2026
@supabase-cli-releaser
supabase-cli-releaser Bot requested a review from a team as a code owner October 16, 2026 10:54
@supabase-cli-releaser supabase-cli-releaser Bot added the do not merge Approve to apply; do not merge. label Oct 16, 2026
# Conflicts:
#	.oxlintrc.effect.json
#	apps/cli/src/command-internal/argv-flag-reconcile.ts
#	apps/cli/src/command-internal/argv-flag-reconcile.unit.test.ts
#	apps/cli/src/command-internal/sql-files-glob.unit.test.ts
#	apps/cli/src/command-internal/struct-output.encoders.ts
#	apps/cli/src/config/profile-file.ts
#	apps/cli/src/shared/config/temp-paths.unit.test.ts
@supabase-cli-releaser

Copy link
Copy Markdown
Contributor Author

Claude resolved the merge of next

Ported develop's changes onto next's renamed files: env and Supabase-home values now come from CommandSettings in argv-flag-reconcile.ts (formerly pflag-reconcile.ts), the develop tests that use the Effect FileSystem are kept, and TomlEncodeError now extends Data.Error. Next's renames, test titles and error messages are kept. Grep found no remaining uses of the old pflag/go-struct-output names; nothing was run, so check:all and the unit tests still have to confirm the result.

File Resolution
.oxlintrc.effect.json Kept develop's string-slice-flag, workdir-project and workdir-validation entries and next's supabase-env entry. Dropped viper-env, command-internal/temp-paths (now under shared/**) and workdir-search.ts, which no longer exist. Changed the stale pflag-reconcile.* and go-struct-output.* entries to next's argv-flag-reconcile.* and struct-output.* so develop's effect-lint coverage follows the renamed files.
apps/cli/src/command-internal/argv-flag-reconcile.ts Uses next's argv* names, with develop's CommandSettings as the source of SUPABASE_WORKDIR, SUPABASE_PROFILE and the Supabase home. Next's version referred to runtimeInfo, which develop had removed, and to profileFilePath, so neither is used any more.
apps/cli/src/command-internal/argv-flag-reconcile.unit.test.ts Develop's tests (mockCommandSettings-based, Effect temp directories, plus the new validateArgvWorkdir tests), renamed to next's resolveArgvProfile and validateArgvWorkdir. The stable PflagWorkdirError tag is still asserted.
apps/cli/src/command-internal/sql-files-glob.unit.test.ts Develop's rewrite onto the Effect FileSystem (tempWorkdir, withWin32Path, withMode) with next's test titles, which drop the Go-parity suffixes. Next's tests were the same cases, so nothing was lost.
apps/cli/src/command-internal/struct-output.encoders.ts Next's TomlEncodeError name and new default message, on develop's Data.Error base with override readonly name. The telemetry fingerprint and name stay GoTomlEncodeError.
apps/cli/src/config/profile-file.ts Took develop's side, which removed profileFilePath and the supabase-home import. Its only caller now reads CommandSettings.supabaseHome.
apps/cli/src/shared/config/temp-paths.unit.test.ts Took next's tests, which use the withWorkdir/seedRef helpers already defined outside the conflict. Kept develop's stricter ^failed to load project ref: check on the error message.

Decisions for @supabase/cli. Confirm them, or push a change to this branch:

  • Where should argv flag reconciliation read SUPABASE_WORKDIR, SUPABASE_PROFILE and the Supabase home: next's envValue plus profileFilePath, or develop's CommandSettings? Chose: Develop's CommandSettings fields (workdirEnvValue, profileEnvValue, supabaseHome). Both read the same config provider, but next's version depended on a runtimeInfo variable develop had removed, and the CommandSettings approach keeps develop's reconcile tests working. As a result, profileFilePath is dropped from profile-file.ts.

Quick checks. pnpm run check:all --continue (exit 1), pnpm run test:unit (exit 1) failed on the merged tree.

Claude's fix. I fixed both failing checks. One argv-flag-reconcile unit test still expected the old Unsupported Config Type profile-load error, so I changed it to the current unsupported config file type wording. I also rewrote the async promptYesNoOutcome tests in prompt-yes-no.unit.test.ts with it.effect so the Effect lint check passes.

Approve to fast-forward next once checks pass (workflow run).

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 AI Review

Both independent reviews completed and reported no findings. Inspection of the changed runtime code, service wiring, and test migrations found no additional actionable issues. Tests were not executed. No next-context.md was present.

Findings

No issues found.

Stats

Claude findings: 0 · Codex findings: 0 · Confirmed: 0 · Refuted: 0 · Uncertain: 0


Models: claude-opus-5-5 + gpt-6.1-sol · Trigger: manual · Workflow run

This review runs once per PR. A maintainer can request another with a /ai-review comment.

@supabase-oss supabase-oss left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI is green and the AI review raised nothing the merge introduced, so this approves Claude's resolution of the sync (https://github.com/supabase/cli/actions/runs/38894256522).

@supabase-cli-releaser
supabase-cli-releaser Bot merged commit 3d62653 into next Oct 16, 2026
44 of 45 checks passed
@supabase-cli-releaser
supabase-cli-releaser Bot deleted the sync/develop-into-next branch October 16, 2026 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Approve to apply; do not merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants