sveltejs / vite-plugin-svelte

Svelte plugin for http://vitejs.dev/
MIT License
864 stars 105 forks source link

remove support for node 14 and 16 #722

Closed dominikg closed 1 year ago

dominikg commented 1 year ago

Describe the problem

supporting eol versions of node prevents us from updating some dependencies. Node 16 is going to be EOL very soon and vite 5 is not going to support it anymore

Describe the proposed solution

align with vite supported node versions

Alternatives considered

none

Importance

would make my life easier

benmccann commented 1 year ago

Dropping Node 14 makes sense. If we dropped Node 16 that would prevent kit from upgrading: https://github.com/sveltejs/kit/blob/c4efbc7ad957465bfb14723cdb00a6923ed19e5b/packages/kit/package.json#L100

dominikg commented 1 year ago

sveltekit users can use node 18+ with vite-plugin-svelte 3.0, it won't prevent kit from upgrading, just use ^2 || ^3.

dominikg commented 1 year ago

but sveltekit has a self interest in releasing a major with node18+. we can remove the undici dependency and rely on it being available (all node 18 versions have it, if we start with the most recent one the worst bugs should be gone).

benmccann commented 1 year ago

it won't prevent kit from upgrading, just use ^2 || ^3

I suppose that works. Users creating new projects will end up with 3, but I suppose it's not a breaking change in that case since they're new projects. I'm still a bit nervous people will upgrade their lockfiles and end up with an incompatible version for existing projects and won't understand how to deal with it

sveltekit has a self interest in releasing a major with node18+

Agreed! I can't wait. Though I'll be even happier when we can stop polyfilling crypto to get rid of all the polyfills, but I think that requires Node 20

I'm not against having a SvelteKit 2.0 that requires Vite 5, vps 3, and Node 18. It might be a nice way to make the transition to Svelte 5 more gradual by making sure everyone has upgraded vps to the latest version and that all their libraries have valid entry points. I think incremental upgrades are easier than bundling all changes together