Last 12 weeks · 24 commits
6 of 6 standards met
PR Checklist Seeing what It take to update SolidStart to use Solid 2.0 beta. The bare example works with no router. These are the following outstanding issues 1. Dev overlay requires https://github.com/lxsmnsyc/terracotta which isn't updated so i just stubbed it out 2. There were some things around sharedConfig.context.assets that were changed which im not sure is correct 3. solid router upgrade obviously Node modules changes applied
This PR moves the current server function compiler from tanstack to dismantle. [!WARNING] Currently there's only one regression: since doesn't do an in-place replacement of the server function, it's not able to read local dependencies/side-effects except for module imports. Once is incorporated, we will require users to either move top-level variables/functions inside a server function or move those into separate module so can handle it properly.
Repository: solidjs/solid-start. Description: SolidStart, the Solid app framework Stars: 5817, Forks: 408. Primary language: TypeScript. Languages: TypeScript (88%), CSS (9.3%), JavaScript (2.7%). License: MIT. Homepage: https://start.solidjs.com Topics: file-system-routing, fine-grained-reactivity, meta-framework, sdk, signals, solid-js, solidjs, solidstart, spa, ssr. Latest release: @solidjs/start@1.3.2 (1w ago). Open PRs: 13, open issues: 110. Last activity: 26m ago. Community health: 87%. Top contributors: ryansolid, nksaraf, nsarafpure, birkskyum, lxsmnsyc, atilafassina, ghalle, Brendonovich, edivados, davedbase and others.
TypeScript
This PR intends to replace the current directives plugin (TanStack) with our own. Features: shorter function ids previous plugin used SHA, which produced a very long id. The new one has shorter length (around 8 characters as uid) and has a descriptive name for easier debugging. API change previously we only required . This limited the server functions for only top-level declaration. The new plugin now allows inner declarations via cloning (this introduces a new API called ), so now the server functions are able to be registered ahead of time while deferring the actual instance in the exact time it is declared by intention. the previous manifest mechanism is deprecated by server preloading. The plugin keeps track which files has the server functions and then preloads those ahead of time. The function lookup is now done through a map so we don't need to do some dynamic imports. Not sure of the repercussions but there shouldn't be any issues. backwards compatibility should still retain the required features proper treeshaking previous plugin didn't remove some code from a module with a module-level directive. The new one creates an entirely new module from scratch. aliasing the new plugin can now keep track if the server function is exported by alias, so it will be able to retain the export.
Moving to vite 8 w/ rolldown removes an entire category of dev/prod differences with vite 7 having esbuild (dev) + rollup (prod). Towards https://github.com/solidjs/solid-start/issues/2075 This PR contains: Vite 8 & Rolldown Support: Updated the to correctly resolve the client manifest during SSR builds under Vite 8 / Rolldown. It automatically detects the current major Vite version, and then: For Vite 7: Continues to extract the directly from the memory footprint like before. For Vite 8+**: Falls back to reading the fully generated from the filesystem, solving TypeErrors caused by changes to Rolldown's asset handling.