Skip to content

chore(cli): bump effect to 4.1.4 - #7605

Open
jgoux wants to merge 1 commit into
developfrom
bump-effect-4-1-4
Open

jgoux wants to merge 1 commit into
developfrom
bump-effect-4-1-4

Conversation

@jgoux

@jgoux jgoux commented Nov 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Bumps effect, @effect/platform-bun, @effect/platform-node, @effect/sql-pg and @effect/vitest from 4.1.2 to 4.1.4.

Patches

  • effect: every hunk is still needed, because none were fixed upstream. The Command.js toShowHelp removal no longer applied, so it was re-applied on the new code. The TODO(CLI-2922) help doc shape is kept.
  • @effect/platform-node-shared and @effect/vitest: renamed to 4.1.4, with unchanged content.

Changes forced by the bump

  • Param annotations now hold a context that refers back to the param itself (4.1.3). The config-flag binding walk now stops at Param nodes; before this, it overflowed the stack.
  • Flag.withDefault now records its default as a Transform fallback (4.1.3). Permission conditions read flag defaults from there, which keeps the "or unset" wording in gen types --help.
  • The generated functions bootstrap bundle in packages/stack includes Effect's code, so it is regenerated.

Changes visible to users
Help output is unchanged. Shell completions pick up two upstream 4.1.3 fixes:

  • Repeatable flags such as --schema, --exclude and --sql-paths are offered again after they have been used once.
  • bash completion uses a _supabase--choices helper instead of compgen -W.

Re-port the effect patch to 4.1.4 and adapt to two 4.1.3 changes:

- Param annotations now hold a self-referential Context, so the
  config-flag binding walk stops at Param nodes.
- Flag.withDefault now records its default as a Transform fallback,
  which permission conditions read for flag defaults.
@jgoux
jgoux requested review from a team and supabase-oss as code owners November 12, 2026 17:11
@jgoux
jgoux requested a review from avallete November 12, 2026 17:11
@jgoux jgoux self-assigned this Nov 12, 2026
@github-actions

Copy link
Copy Markdown
Contributor

CLI benchmark (Lightweight Commands): no changes found

Commit cc57dc8 against develop at d8f66a0 · 10 runs each · report only, never blocks merging

Command Workload Before After Change
supabase --version version 228 ms 235 ms no real change
supabase --help help 248 ms 255 ms no real change
supabase init init 230 ms 222 ms no real change
supabase migration new bench migration-new 226 ms 241 ms no real change (+6%, within normal variation)
supabase config convert config-convert 250 ms 235 ms no real change (-6%, within normal variation)
supabase gen types --lang typescript --project-id replayfixtureprojref gen-types 249 ms 269 ms no real change (+8%, within normal variation)
supabase projects list projects-list 219 ms 219 ms no real change
supabase functions list --project-ref replayfixtureprojref functions-list 225 ms 224 ms no real change

API calls: unchanged for all 8 commands.

Binary size: 134.9 MB, up 44.0 KB from 134.8 MB.

Details: timing ranges, API calls per command, slowest phases

Timing ranges

Command Workload Before range After range Change Verdict
supabase --version version 213-284 ms 200-356 ms +8 ms (+3%) within noise
supabase --help help 217-291 ms 222-316 ms +7 ms (+3%) within noise
supabase init init 198-278 ms 206-238 ms -8 ms (-4%) within noise
supabase migration new bench migration-new 211-242 ms 218-300 ms +15 ms (+6%) within noise
supabase config convert config-convert 218-328 ms 210-267 ms -15 ms (-6%) within noise
supabase gen types --lang typescript --project-id replayfixtureprojref gen-types 230-293 ms 245-285 ms +21 ms (+8%) within noise
supabase projects list projects-list 210-240 ms 205-237 ms -1 ms (0%) within noise
supabase functions list --project-ref replayfixtureprojref functions-list 207-253 ms 216-278 ms -1 ms (0%) within noise

API calls per command

Command Workload Before After Endpoint changes
supabase --version version 0 0
supabase --help help 0 0
supabase init init 0 0
supabase migration new bench migration-new 0 0
supabase config convert config-convert 0 0
supabase gen types --lang typescript --project-id replayfixtureprojref gen-types 2 2
supabase projects list projects-list 1 1
supabase functions list --project-ref replayfixtureprojref functions-list 2 2

Slowest phases

No command moved beyond noise, so there are no phase deltas.

Workflow run

Comment /bench to run the lightweight benchmark (this comment) again on the latest commit, or /bench full to also run the integration-heavy benchmark, which posts in its own comment.

@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 were available. Confirmed Claude’s documentation nit about stale test names; no additional concrete defects were identified. Dependencies are absent, so tests were not run.

Findings

Severity Location Category Sources Claim
⚪ NIT apps/cli/src/command-internal/param-introspection.unit.test.ts:21 documentation claude Two test names still describe Flag.withDefault as a Map/Optional chain, although the upgrade uses a Transform with a Default fallback.

Findings outside the diff

  • ⚪ NIT apps/cli/src/command-internal/param-introspection.unit.test.ts:21 — Two test names still describe Flag.withDefault as a Map/Optional chain, although the upgrade uses a Transform with a Default fallback.

Stats

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


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

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

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants