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

solidjs / solid / 35009261199
74%
main: 89%

Build:
Build:
LAST BUILD BRANCH: next
DEFAULT BRANCH: main
Ran 15 Sep 2026 06:48PM UTC
Jobs 1
Files 8
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 Sep 2026 06:43PM UTC coverage: 71.619% (-0.3%) from 71.898%
35009261199

push

github

web-flow
chore(solid,web,universal): the runtimes' seams move behind solid-js/internal (#3470)

* chore(solid,web,universal): the runtimes' seams move behind solid-js/internal

`merge()`/`omit()` returning lazy views (#3454) gave `spread()` and
`ssrElement()` a protocol for reading props leaf by leaf instead of trapping
through the proxy per key. `@solidjs/web` and `@solidjs/universal` depend on
`solid-js` alone — never on `@solidjs/signals` directly, so an app holds
exactly one reactive engine — so every piece of that protocol went out through
`solid-js`'s main export: eleven names, `mergeSources` before them in #3325,
on the public surface with no marking. None of it is API.

`solid-js/internal` is now their home: the view protocol (`viewOf`,
`mergeView`/`omitView`, `MergeView`/`OmitView`, `sourceKeys`/`sourceHas`/
`sourceGet`, `hasStaticKeys`, `resolvedTable`, the `SOURCE_*` kinds), and the
server-scope seams that were already `@internal` in JSDoc and consumed only by
`@solidjs/web` (`ssrHandleError`, `ssrScope`, `runInServerComponentScope`,
`inServerComponentScope`, `creationStamp`, `getProjectionTrace`,
`materializeContainerTrace`).

The names stay exported from the main entries AT RUNTIME, so the subpath
shares one module state and the single-engine guarantee is untouched; they
carry `@internal` and `stripInternal` keeps them out of the generated
declarations, which is what makes them not-public for TypeScript. The protocol
half re-exports `@solidjs/signals` as-is; the seams are read back from
"solid-js" (external, so the platform/tier conditions pick the same build the
app runs) and declared with their signatures spelled out, since the main
entries no longer type them.

Dropped from the entries as dead: `storeIsShallow`, `storeHasFamily`,
`storeHasOptimisticFamily` (leftovers of the gutted patch channel),
`storePath` and `$REFRESH` (referenced only by `@solidjs/signals`'s own
internals), `NoHydrateContext` (`@internal`, used only by `solid-js`'s server
... (continued)

520 of 790 branches covered (65.82%)

Branch coverage included in aggregate %.

0 of 7 new or added lines in 1 file covered. (0.0%)

772 of 1014 relevant lines covered (76.13%)

14.98 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
0.0
packages/solid/src/internal.ts
Jobs
ID Job ID Ran Files Coverage
1 35009261199.1 15 Sep 2026 06:48PM UTC 8
71.62
GitHub Action Run
Source Files on build 35009261199
  • Tree
  • List 8
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35009261199
  • b298154e on github
  • Prev Build on next (#35000733966)
  • Next Build on next (#35011605117)
  • 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