Summary
There is currently no combination of published packages that installs a
working Solid 2.0.0-rc.10 app with the Vite plugin:
- the
next dist-tag points to an older version than latest
- the newest published plugin (next.44) fails against the rc.10 compiler
- the plugin's compiler dependency range lets npm resolve that rc.10 compiler
Environment
- solid-js / @solidjs/web: 2.0.0-rc.10
- vite: 8.3.1
- typescript: 7.0.2
- npm: <npm -v>
- Node: <node -v>
- OS: Windows 11
- Registry: https://registry.npmjs.org/
- No lockfile is used in the project
1. next dist-tag points to an older version than latest
npm view @solidjs/vite-plugin dist-tags
{ next: '3.0.0-next.35', latest: '3.0.0-next.44' }
npm install -D @solidjs/vite-plugin@next therefore installs next.35.
2. next.44 fails against the rc.10 compiler
On a clean install (node_modules deleted) with @solidjs/vite-plugin
3.0.0-next.44 (same with next.35), the compiler resolves to
@solidjs/compiler rc.10 and vite dev fails on every .tsx file:
[vite] Internal server error: @solidjs/compiler received unknown option `componentNames`
Plugin: solid
File: .../App/Index.tsx
This matches the rc.10 changelog (componentNames renamed to sourceNames
and rejected as unknown). The fix is merged in #371 but not published yet.
3. Compiler dependency range is too loose
Since compiler and runtime are documented as moving in lockstep, could the
plugin pin (or cap) @solidjs/compiler and @solidjs/babel-plugin to the
matching RC? With a floating range, npm pairs the plugin with a newer
compiler it cannot talk to, and users only find out at dev-server time.
Workarounds
-
Preview build of #371 with rc.10:
npm i -D https://pkg.pr.new/@solidjs/vite-plugin@371
-
rc.9 lockstep: solid-js and @solidjs/web at 2.0.0-rc.9,
@solidjs/vite-plugin 3.0.0-next.44, plus npm overrides:
"overrides": {
"@solidjs/compiler": "2.0.0-rc.9",
"@solidjs/babel-plugin": "2.0.0-rc.9"
}
Expected
- A published release compatible with rc.10
- The
next tag pointing at the newest prerelease
- A compiler dependency range that cannot resolve an incompatible compiler
Summary
There is currently no combination of published packages that installs a
working Solid 2.0.0-rc.10 app with the Vite plugin:
nextdist-tag points to an older version thanlatestEnvironment
1.
nextdist-tag points to an older version thanlatestnpm install -D @solidjs/vite-plugin@nexttherefore installs next.35.2. next.44 fails against the rc.10 compiler
On a clean install (node_modules deleted) with @solidjs/vite-plugin
3.0.0-next.44 (same with next.35), the compiler resolves to
@solidjs/compiler rc.10 and
vite devfails on every .tsx file:This matches the rc.10 changelog (componentNames renamed to sourceNames
and rejected as unknown). The fix is merged in #371 but not published yet.
3. Compiler dependency range is too loose
Since compiler and runtime are documented as moving in lockstep, could the
plugin pin (or cap) @solidjs/compiler and @solidjs/babel-plugin to the
matching RC? With a floating range, npm pairs the plugin with a newer
compiler it cannot talk to, and users only find out at dev-server time.
Workarounds
Preview build of #371 with rc.10:
npm i -D https://pkg.pr.new/@solidjs/vite-plugin@371
rc.9 lockstep: solid-js and @solidjs/web at 2.0.0-rc.9,
@solidjs/vite-plugin 3.0.0-next.44, plus npm overrides:
"overrides": {
"@solidjs/compiler": "2.0.0-rc.9",
"@solidjs/babel-plugin": "2.0.0-rc.9"
}
Expected
nexttag pointing at the newest prerelease