SolidStart Beta 2: Month 2 #1343
Replies: 2 comments 6 replies
-
Sounds great. Regarding the BasePath, this ticket was closed before the solution was validated. I still haven't managed to get nested urls for static sites working (fairly common use case), but when 0.6.0 is released I'll try again with the latest packages and the |
Beta Was this translation helpful? Give feedback.
-
One alternate proposal that @lxsmnsyc suggested to me for import { defineConfig } from "@solidjs/start/config";
export default defineConfig({
ssr: false,
server: {
preset: "netlify"
},
vite: {
plugins: []
}
}); We could have the vite options be a function that passes in options like what router they are being initialized for: import { defineConfig } from "@solidjs/start/config";
export default defineConfig({
ssr: false,
server: {
preset: "netlify"
},
vite(options) {
if (options.router === "ssr") ....
return { plugins: [] }
}
}); We could also support plugins top-level as a function, and just say we take Vite plugins. Sort of awkward to have multiple ways to do things though. |
Beta Was this translation helpful? Give feedback.
-
Alright I want to keep updates flowing quicker as we approach RC. So here is the latest.
We took the feedback from #1279 and implemented and released 0.5.0 of SolidStart. Also Solid 1.8.15 solved a number of streaming based issues that had showed up in 1.8.0 as a regression when we introduced the new serializer.
For the most part, it went smoothly but we still had some hiccups on API routes causing them to be merged back in again. We did update them to use
radix
under the hood instead of the matcher from the router though so some improvements there for maintainability.BasePath has continued to be a bit troublesome. We have landed on usingserver.baseUrl
and arenderAssetUrl
from Vinxi. But my understanding is there are still some uncovered cases (nksaraf/vinxi#114). We decided to mostly allow Vinxi to wrap what it needs and us to wrap even further. Supporingevent.response
now to do most of the things you'd requireH3
helpers for. This works better for isomorphic code, as it treeshakes properly.So now that we've had a few more weeks and slipped in a few more features, including Single Flight Mutations. I want to talk about the remaining things I want to get resolved pre 1.0 RC.
1.
vite.config.ts
is not actual vite configIt's close but it's not and this is causing a lot of confusion. I'm proposing renaming it to
app.config.ts
which already works with Vinxi because it is the default. So technically we'd support both but this way all the templates would not scream we are vite. Technically we'd still support Vite plugins and be using Vite for builds, but this would complete our wrapping of APIs and let us expand things further than they are supported today.Key things being supporting plugins as functions, so that instances could be made for each router (see this issue #1277), and supporting router specific plugins. But mostly remove the expectation that all the vite config options are supported. This is a fairly straightforward step but I want to raise this in case people have alternative suggestions. Perhaps the config format doesn't make sense if we are gutting so much etc...
@lxsmnsyc suggested: #1343 (comment)
2. Vite 5
The PR is already in and we are testing it but it will be another bump of Vinxi. So we will have at least another minor release before 1.0 RC.
3. Granular HMR
This one is new and it already broke some projects the last time we tried releasing it. But I'd like to get this out before a stable version of SolidStart because I think it makes dev experience significantly better. We might need to whether some early bugs but my hope is we can use the beta stage to get there.
So I think the plan is to get a 0.6.0 out shortly with these updates. We would love your feedback as always.
Beta Was this translation helpful? Give feedback.
All reactions