sveltejs / vite-plugin-svelte

Svelte plugin for http://vitejs.dev/
MIT License
855 stars 104 forks source link

Svelte 4 build now fails due to dependency issues: Seems to depend on svelte@"^5.0.0-next.96 || ^5.0.0" #1000

Closed asimons04 closed 5 days ago

asimons04 commented 5 days ago

Describe the bug

My Svelte4 project is now failing to build because it cannot resolve the dependency svelte@"^5.0.0-next.96 || ^5.0.0" from @sveltejs/vite-plugin-svelte@4.0.0.

I always clear my node nodules/cache before doing a release build, and after that, the build started to fail. I last cleared my cache ~2 days ago, and no changes to my dependencies have been made since.

The only node packages in the chain that had dependency failures and recent pushes are svelte and vite-plugin-svelte. svektejs/kit was last updated 5 days ago, but I'm using an older version.

Relevant package.json:

"devDependencies": {
    "@sveltejs/adapter-node": "^2.1.0",
    "@sveltejs/kit": "^2.5.18",
    "@vite-pwa/sveltekit": "^0.3.0",
    "svelte": "^4.2.18",
    "svelte-check": "^3.8.4",
    "svelte-gestures": "^4.0.0",
    "svelte-hero-icons": "^5.1.0",
    "tslib": "^2.6.3",
    "typescript": "^5.5.2",
    "vite": "^5.0.0",
    "vite-plugin-pwa": "^0.20.0",
    "vitest": "^1.6.0"
  },

Reproduction URL

https://stackblitz.com/edit/vitejs-vite-cgpvf2?file=package.json&terminal=dev

Reproduction

1) Open a new terminal and run npm install 2) See dependency errors that were not errors two days ago (and no changes to package.json dependencies)

Logs

**NPM install log (only logs that are applicable)**:

#25 5.785 npm error Found: svelte@4.2.19
#25 5.785 npm error node_modules/svelte
#25 5.785 npm error   dev svelte@"^4.2.18" from the root project
#25 5.785 npm error   peer svelte@"^4.0.0 || ^5.0.0-next.0" from @sveltejs/kit@2.7.1
#25 5.785 npm error   node_modules/@sveltejs/kit
#25 5.785 npm error     dev @sveltejs/kit@"^2.5.18" from the root project
#25 5.785 npm error     peer @sveltejs/kit@"^2.0.0" from @sveltejs/adapter-node@2.1.2
#25 5.785 npm error     node_modules/@sveltejs/adapter-node
#25 5.785 npm error       dev @sveltejs/adapter-node@"^2.1.0" from the root project
#25 5.785 npm error
#25 5.785 npm error Could not resolve dependency:
#25 5.785 npm error peer svelte@"^5.0.0-next.96 || ^5.0.0" from @sveltejs/vite-plugin-svelte@4.0.0
#25 5.785 npm error node_modules/@sveltejs/vite-plugin-svelte
#25 5.785 npm error   peer @sveltejs/vite-plugin-svelte@"^3.0.0 || ^4.0.0-next.1" from @sveltejs/kit@2.7.1
#25 5.785 npm error   node_modules/@sveltejs/kit
#25 5.785 npm error     dev @sveltejs/kit@"^2.5.18" from the root project
#25 5.785 npm error     1 more (@sveltejs/adapter-node)

### System Info

```shell
System:
    OS: Linux 6.1 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)
    CPU: (4) x64 Intel(R) Core(TM) i5-6600T CPU @ 2.70GHz
    Memory: 11.19 GB / 19.40 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 18.15.0 - /usr/local/bin/node
    Yarn: 1.22.21 - /usr/local/bin/yarn
    npm: 9.5.0 - /usr/local/bin/npm
  npmPackages:
    @sveltejs/adapter-node: ^2.1.0 => 2.1.2 
    @sveltejs/kit: ^2.5.18 => 2.5.18 
    svelte: ^4.2.18 => 4.2.18 
    vite: ^5.0.0 => 5.3.2 
Conduitry commented 5 days ago

https://kit.svelte.dev/docs/migrating-to-sveltekit-2#updated-dependency-requirements SvelteKit v2 has vite-plugin-svelte as a peer dependency. You should include v-p-s as a devdep in your package.json, rather than letting it be implicitly installed. This lets you control which version of v-p-s you have installed, so you don't upgrade to a version that requires Svelte 5 until you're ready to do that upgrade.

asimons04 commented 5 days ago

Yep, sure does. Thanks for pointing that out. It's funny this got me because I hate relying on implicit behavior. Can't believe I missed that.