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

supabase / cli / 32845435177
62%
develop: 62%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/develop/pr-6261-997a1e69a4a83466964ed874d3a604c88a7b3866
DEFAULT BRANCH: develop
Ran 25 Aug 2026 12:04PM UTC
Jobs 1
Files 95
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

25 Aug 2026 12:02PM UTC coverage: 62.406%. Remained the same
32845435177

push

github

web-flow
refactor(config): split entrypoints into pure default, /io and /effect (CLI-2231) (#6315)

## Summary

Splits `@supabase/config`'s public surface into three strictly layered
entrypoints, per
[CLI-2231](https://linear.app/supabase/issue/CLI-2231/refactor-config-package-to-default-export-node-with-effect-as-subpath)
(including its 2026-08-24 amendment for browser consumers):

- **`.` — pure, browser-safe.** Schema, types, document encode
functions, defaults/sparse mapping, error classes, and constants only.
No Effect-returning functions are exported, and no `@effect/platform-*`,
`node:`, or `bun:` module can enter its transitive graph — Studio (see
supabase/supabase#48906) can bundle this platform-free. The pure
document layer was physically partitioned out of
`io.ts`/`functions-manifest.ts` (new `config-document.ts`,
`functions-manifest-model.ts`) so the invariant is structural, and a
static import-graph test (`entrypoint-purity.unit.test.ts`) enforces it:
file allowlist, bare-specifier allowlist
(`effect`/`smol-toml`/`dedent`), dynamic-`import()`/`require` detection,
and inline-snapshot pinning of both export surfaces. Browser bundle
drops 387 KB → ~355 KB with zero file-IO code reachable.
- **`./effect` — Effect-native superset.** Re-exports everything in `.`
plus the Effect-native surface (`loadProjectConfig`,
`saveProjectConfig`, discovery, env loading, `inferFunctionsManifest`,
`ProjectConfigStore`, `projectConfigStoreLayer`, …), so Effect-native
consumers need one specifier (Option B from the issue). The 22
`apps/cli` files that import Effect-native symbols were repointed with
byte-identical symbol lists; the other 37 consumer files keep the bare
specifier unchanged. On the issue's open decision:
`resolveProjectValue`/`resolveProjectSubtree` stay Effect-typed in
`./effect` only (the amendment requires `.` to carry plain-sync
signatures; unwrapping can be revisited in CLI-2234).
- **`./io` — Promise facade for non-Effect consumers**, replacing the... (continued)

5571 of 8927 relevant lines covered (62.41%)

6.65 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32845435177.1 25 Aug 2026 12:04PM UTC 95
62.41
GitHub Action Run
Source Files on build 32845435177
  • Tree
  • List 95
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32845435177
  • 10990804 on github
  • Prev Build on gh-readonly-queue/develop/pr-6312-11878ae318966dfd0331c0191d21d6c219d97662 (#32837492404)
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