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

supabase / cli / 27535401671
65%
develop: 65%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/develop/pr-5612-79fdcbdc535ae6ab9917cd4a1ca423e0d5f339ac
DEFAULT BRANCH: develop
Ran 15 Jun 2026 09:02AM 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

15 Jun 2026 08:59AM UTC coverage: 64.858%. Remained the same
27535401671

push

github

web-flow
feat(cli): port supabase inspect report to native TypeScript (#5565)

Promotes `inspect report` — the last `inspect` leaf still on the Phase 0
Go proxy — to a native TypeScript port in the legacy shell (CLI-1317).
All 13 active `inspect db` subcommands + 12 deprecated aliases were
already native (#5554); this finishes the `inspect` tree.

## What it does

Runs every inspect query against the target Postgres database via
server-side `COPY (<query>) TO STDOUT WITH CSV HEADER`, writes one CSV
per query into `<output-dir>/<YYYY-MM-DD>/` (14 files), then renders a
Go-parity Glamour `RULE | STATUS | MATCHES` summary table validating
those CSVs.

## How it's built

- **`copyToCsv` on the shared driver**
(`legacy-db-connection.sql-pg.layer.ts`): `@effect/sql-pg` doesn't
expose the COPY protocol, so the session opens **one** raw `pg`
connection (via `pg-copy-streams`) lazily on the first copy and reuses
it for all queries — against the same dial target the primary connection
won (TLS/fallback/DoH/step-down parity preserved), and closed by a scope
finalizer. This mirrors Go running every copy on a single `pgconn`. CSVs
are byte-identical by construction (the server serializes the values,
never the TS side).
- **Bounded csvq-subset evaluator** (`report.csvq.ts`): there is no JS
port of csvq and neither DuckDB nor alasql accept its dialect, so the
rule queries are evaluated by a hand-written tokenizer +
recursive-descent parser + RFC4180 CSV reader that replicates csvq's
value/type-comparison semantics (numeric-vs-string promotion,
three-valued logic, `LISTAGG`, aggregates). Unsupported grammar /
unknown column → the rule's STATUS cell, not a command failure (matching
Go).
- **Custom rules**: `[experimental.inspect.rules]` from `config.toml`
(with `env(VAR)` expansion) replace the 7 embedded defaults when
present.
- Hoists the shared inspect base layer into `inspect/inspect.layers.ts`
(now used by both `db` leaves and `report`); adds
`legacy/output/legacy-bold.ts... (continued)

10688 of 16479 relevant lines covered (64.86%)

7.21 hits per line

Jobs
ID Job ID Ran Files Coverage
1 27535401671.1 15 Jun 2026 09:02AM UTC 225
64.86
GitHub Action Run
Source Files on build 27535401671
  • 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 #27535401671
  • 8b0896f9 on github
  • Prev Build on gh-readonly-queue/develop/pr-5569-d6648d7701260e05a9b809a6a66f3f4e21348654 (#27534399841)
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