• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / cli / 27677674857
65%
develop: 65%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/develop/pr-5647-dfceef880eadbf172c11e5c92544dbdbc9624b45
DEFAULT BRANCH: develop
Ran 17 Jun 2026 09:00AM UTC
Jobs 1
Files 225
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Jun 2026 08:58AM UTC coverage: 64.953%. Remained the same
27677674857

push

github

web-flow
feat(cli): port supabase db lint and db advisors to native TypeScript (#5579)

Native (Phase 1+) TypeScript port of `supabase db lint` and `supabase db
advisors` into the legacy shell, replacing the Go-proxy handlers
(CLI-1314).

## What changed

**`db lint`** — runs `plpgsql_check` per user schema inside an
always-rolled-back transaction (matching Go's "lint has no side effects"
contract, including the in-transaction `CREATE EXTENSION`). Resolves
schemas via `ListUserSchemas` when `--schema` is omitted.

**`db advisors`** — two backends:
- `--local` / `--db-url`: runs the embedded `lints.sql` query in a
rolled-back transaction and filters by `--type` category.
- `--linked`: fetches the security/performance advisor endpoints via
**raw HTTP** with a tolerant parse, mirroring Go's permissive `type X
string` structs — the generated client's closed `name` / `metadata.type`
literals would reject values the API can add.

**Shared, hoisted helpers (`legacy/shared/`):**
- `legacy-go-json.ts` — a byte-faithful reproduction of Go's
`encoding/json` indented encoder (struct-order keys, HTML escaping of
`<>&`, `omitempty`, trailing newline). `JSON.stringify` gets the
escaping and key order wrong, so a dedicated encoder is required for
stdout parity.
- `legacy-fail-on.ts` — the `--level` / `--fail-on` ordinal machinery
shared by both commands (lint's prefix matcher vs advisors' exact
case-insensitive matcher).

## Reviewer-relevant context

- **Output modes:** `text` is byte-exact with Go (pretty 2-space JSON
array to stdout, diagnostics like `Connecting to … database...` /
`Linting schema:` / `No schema errors found` / `No issues found` to
stderr). `json` / `stream-json` add a standard `output.success` envelope
— additive, since Go has no machine output. `--fail-on` forces a
non-zero exit in every mode (via `ProcessControl.setExitCode` in machine
modes so the payload isn't clobbered).
- **Layer wiring (legacy CLAUDE.md item 5):** `advisors.layers.ts`
deliberately ... (continued)

10712 of 16492 relevant lines covered (64.95%)

7.21 hits per line

Jobs
ID Job ID Ran Files Coverage
1 27677674857.1 17 Jun 2026 09:00AM UTC 225
64.95
GitHub Action Run
Source Files on build 27677674857
  • Tree
  • List 225
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27677674857
  • cc50dce3 on github
  • Prev Build on develop (#27677418440)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc