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

supabase / supabase-flutter / 33505617846
89%

Build:
DEFAULT BRANCH: main
Ran 01 Sep 2026 12:04PM UTC
Jobs 11
Files 131
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

01 Sep 2026 12:03PM UTC coverage: 88.938% (+0.4%) from 88.495%
33505617846

push

github

web-flow
feat: add supabase_typegen package generating typed table definitions (#1635)

## What kind of change does this PR introduce?

Feature (draft, layer 2 of the typed table access work, stacked on
#1634). Adds a new `supabase_typegen` package: a standalone code
generator that turns a database schema into the typed table definitions
introduced in #1634, so users get the fully typed surface without
writing any of it by hand.

Linear: SDK-1362

## What is the new behavior?

```sh
supabase gen types --lang dart --local > lib/supabase_schema.g.dart
```

The CLI runs postgrest-typegen's introspection in-process against the
database and hands the language-neutral `GeneratorMetadata` document,
the intermediate representation of
[`@supabase/postgrest-typegen`](https://github.com/supabase/sdk/tree/main/packages/postgrest-typegen)
that its TypeScript, Go, Swift, and Python generators also consume, to
this tool over stdin. The tool emits one Dart file containing, per
table:

- a zero-cost row extension type over the decoded JSON map with typed
getters (`DateTime` parsing, `double`/`num` coercion, `List` casts,
Postgres enum mapping),
- `Insert` and `Update` value extension types that implement
`Map<String, dynamic>`, with required parameters derived from `NOT
NULL`-without-default columns and null-aware omission for everything
else; explicit SQL NULL writes go through generated `set…ToNull` copy
methods that only exist for nullable, writable columns,
- a `PostgrestTable` definition plus `TableColumn` tokens for
compile-time checked filters,
- Dart enums for Postgres enums with wire-name mapping (`toString`
returns the wire name so enum values work directly in filters).

See `packages/supabase_typegen/test/goldens/supabase_schema.dart` for
what the output looks like for the fixture schema.

Design choices worth reviewing:

- **Introspection source**: the `GeneratorMetadata` contract of
`@supabase/postgrest-typegen` (version 1, as shipped in the released
0.2.0 and emb... (continued)

412 of 427 new or added lines in 5 files covered. (96.49%)

6834 of 7684 relevant lines covered (88.94%)

4.33 hits per line

Uncovered Changes

Lines Coverage ∆ File
14
95.12
packages/supabase_typegen/lib/src/dart_generator.dart
1
87.5
packages/supabase_typegen/lib/src/schema_description.dart
Jobs
ID Job ID Ran Files Coverage
3 supabase_storage - 33505617846.3 01 Sep 2026 12:07PM UTC 9
97.35
GitHub Action Run
4 supabase_flutter - 33505617846.4 01 Sep 2026 12:05PM UTC 11
82.22
GitHub Action Run
5 postgrest - 33505617846.5 01 Sep 2026 12:07PM UTC 16
84.45
GitHub Action Run
6 supabase_typegen - 33505617846.6 01 Sep 2026 12:04PM UTC 4
96.48
GitHub Action Run
7 supabase_functions - 33505617846.7 01 Sep 2026 12:04PM UTC 4
93.81
GitHub Action Run
8 supabase_realtime - 33505617846.8 01 Sep 2026 12:08PM UTC 13
90.66
GitHub Action Run
9 supabase_auth - 33505617846.9 01 Sep 2026 12:08PM UTC 30
90.57
GitHub Action Run
10 iceberg - 33505617846.10 01 Sep 2026 12:04PM UTC 6
68.52
GitHub Action Run
11 supabase - 33505617846.11 01 Sep 2026 12:08PM UTC 16
93.35
GitHub Action Run
5 yet_another_json_isolate - 32956931006.5 26 Aug 2026 10:12AM UTC 1
98.44
GitHub Action Run
9 supabase_common - 32951661159.9 26 Aug 2026 09:12AM UTC 21
86.96
GitHub Action Run
Source Files on build 33505617846
  • Tree
  • List 131
  • Changed 11
  • Source Changed 11
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33505617846
  • 6cfea7b1 on github
  • Prev Build on main (#33490731163)
  • Next Build on main (#33512894120)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc