Skip to content

refactor(cli): cover functions delete, list, new with effect lint (CLI-2459) - #6693

Open
7ttp wants to merge 2 commits into
developfrom
7ttp/cli-2459-functions-family-coverage
Open

7ttp wants to merge 2 commits into
developfrom
7ttp/cli-2459-functions-family-coverage

Conversation

@7ttp

@7ttp 7ttp commented Sep 21, 2026

Copy link
Copy Markdown
Member

TL;DR

brings supabase functions delete, list and new under the effect lint

whats introduced?

effect lint applied to functions delete, list and new:

  • four allow list entries in .oxlintrc.effect.json, the family root plus the three subcommands
  • new yields its two tagged errors directly instead of wrapping them in Effect.fail
  • list timestamps format through DateTime while invalid millis still render NaN-NaN-NaN NaN:NaN:NaN like native Date, pinned by a new unit test
  • integration tests move onto the FileSystem/Path services, the env case runs through withEnvVar, cause assertions use Cause.pretty
  • live tests run through the effect native cliEffect fixture

ref:

@7ttp 7ttp self-assigned this Sep 21, 2026
@7ttp
7ttp requested a review from a team as a code owner September 21, 2026 20:00

@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

No production correctness bugs were found. Claude reported four quality/polish issues; all are confirmed, with the missing live-test cancellation signal raised to minor severity. Codex completed its review and reported no findings, and the adjudication pass found no additional issues.

Findings

Severity Location Category Sources Claim
🟡 MINOR apps/cli/src/commands/functions/delete/delete.live.test.ts:30 test-quality claude The live test does not pass Vitest's abort signal to Effect.runPromise, so test cancellation cannot promptly interrupt its deploy, delete, and cleanup fibers.
⚪ NIT apps/cli/src/commands/functions/list/list.integration.test.ts:207 naming claude Seven assertions assign Cause.pretty output to a variable named json even though the value is human-readable cause text, not JSON.
⚪ NIT apps/cli/src/commands/functions/list/list.format.ts:12 readability claude The invalid-input fallback creates six NaN values and sends them through the normal formatting pipeline merely to reproduce a constant legacy string.
⚪ NIT apps/cli/src/commands/functions/new/new.integration.test.ts:232 test-quality claude Effect.provide wraps withEnvVar, so the test layer is acquired outside the SUPABASE_YES scope, making the ordering fragile if a layer later reads that variable.

Stats

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


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

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

Comment thread apps/cli/src/commands/functions/list/list.integration.test.ts Outdated
Comment thread apps/cli/src/commands/functions/list/list.format.ts Outdated
Comment thread apps/cli/src/commands/functions/new/new.integration.test.ts Outdated
Comment thread apps/cli/src/commands/functions/delete/delete.live.test.ts
@7ttp
7ttp added this pull request to stack #6695 September 21, 2026 21:09

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.

1 participant