Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
272adb5
chore: enter pre-release mode for SvelteKit 3 (#15302)
benmccann Feb 13, 2026
cb9d416
breaking: upgrade to cookie v1 (#13386)
Conduitry Feb 13, 2026
caf3a18
breaking: require Node 22 (#12548)
sidharthv96 Feb 13, 2026
71e8205
fix: add svelte.config.js to tsconfig.json `includes` (#12090)
teemingc Feb 13, 2026
4777827
breaking: remove the `preloadStrategy` option (#15256)
benmccann Feb 13, 2026
df6cf79
chore: update wrangler (#15316)
benmccann Feb 13, 2026
d06affc
chore: change error helpers to use public interface types (#13036)
teemingc Feb 17, 2026
18cbd29
Merge branch 'main' into version-3
teemingc Feb 19, 2026
62eae5e
chore: migrate from rollup to rolldown (#15297)
benmccann Feb 19, 2026
63b4df3
chore: upgrade wrangler and remove deprecated `event.platform.context…
teemingc Feb 20, 2026
fbbf7b2
Merge branch 'main' into version-3
teemingc Feb 20, 2026
0a194a0
fix(adapter-netlify)!: write output conforming to Netlify Frameworks …
serhalp Feb 20, 2026
e500549
merge main
benmccann Feb 20, 2026
a7cfab6
chore: build with rolldown (#15373)
benmccann Feb 21, 2026
e2f3075
breaking: require newer versions of Svelte and Vite (#15371)
benmccann Feb 21, 2026
6670c67
chore: fix TODO in cookie code (#15388)
benmccann Feb 23, 2026
8c8ca35
Merge branch 'main' into version-3
teemingc Feb 23, 2026
d10eae5
test(adapter-netlify): add more integration test coverage (#15386)
serhalp Feb 23, 2026
1f87a79
chore: remove Svelte 4 code (#15387)
benmccann Feb 23, 2026
8d81859
merge main
benmccann Feb 23, 2026
e802ae9
chore: upgrade to Vite 8 beta (#15376)
benmccann Feb 24, 2026
a2792e2
breaking: default the cookie `path` option to `"/"` (#15398)
benmccann Feb 25, 2026
84dda6d
chore: remove another rolldown check (#15415)
benmccann Feb 25, 2026
1d76212
chore: remove dependency on `set-cookie-parser` (#15384)
Copilot Feb 25, 2026
7ea8afe
chore: upgrade to TypeScript 5.9 (#15370)
benmccann Feb 25, 2026
d920980
chore: check `WORKERS_CI` env variable to determine if we're building…
teemingc Feb 25, 2026
10e040b
Merge branch 'main' into version-3
teemingc Feb 25, 2026
cb0a1ce
whitespace
teemingc Feb 25, 2026
23fdaac
Merge branch 'fix-ci-types' into version-3
teemingc Feb 25, 2026
fe32b32
Merge branch 'main' into version-3
teemingc Feb 25, 2026
57ee3a0
Merge branch 'main' into version-3
benmccann Feb 25, 2026
c9941a3
Merge branch 'main' into version-3
teemingc Feb 25, 2026
d545970
breaking: remove deprecated 'pragma' header (#15428)
benmccann Feb 26, 2026
c696d52
code begone
teemingc Feb 26, 2026
d333c41
changesets
teemingc Feb 26, 2026
732e691
Revert "changesets"
teemingc Feb 26, 2026
7329174
Revert "code begone"
teemingc Feb 26, 2026
ac46f8f
push
teemingc Feb 26, 2026
d58c0e2
Revert "push"
teemingc Feb 26, 2026
ba36148
breaking: remove Node polyfills (#15430)
teemingc Feb 26, 2026
c4e70eb
chore: migrate from esbuild to rolldown (#15432)
teemingc Feb 26, 2026
9d429e0
chore: make use of `import.meta.dirname` (#15434)
benmccann Feb 26, 2026
698a8d1
merge main
benmccann Feb 26, 2026
4bea2d2
chore: add esbuild back to onlyBuiltDependencies. it's still pulled i…
benmccann Feb 26, 2026
87603d1
breaking: remove the deprecated CSRF option (#15437)
benmccann Feb 26, 2026
8823037
chore: deprecate `Response` helpers (#15448)
benmccann Feb 28, 2026
3fde9d4
Merge branch 'main' into version-3
teemingc Feb 28, 2026
23782eb
chore: faster builds with Vite 8 hook filters (#15439)
benmccann Mar 1, 2026
5db014d
Merge branch 'main' into version-3
teemingc Mar 2, 2026
41e1488
Merge branch 'main' into version-3
teemingc Mar 4, 2026
58c453e
chore: catalog typescript dev dependencies
teemingc Mar 4, 2026
1b3810d
chore: bump peer dep on SvelteKit (#15496)
teemingc Mar 5, 2026
587bea1
chore: bump peer dep version for SvelteKit (#15494)
teemingc Mar 5, 2026
719d11e
Merge branch 'main' into version-3
teemingc Mar 5, 2026
8e11b8f
use import.meta.dirname
teemingc Mar 5, 2026
8af47eb
fix: use Vite `root` config setting instead of current working direct…
teemingc Mar 5, 2026
669f4fd
chore: remove Node 18 workarounds (#15498)
teemingc Mar 6, 2026
b009c0a
Merge branch 'main' into version-3
teemingc Mar 6, 2026
8c288dc
fix lint after merge
teemingc Mar 7, 2026
f5e3847
fix lint
teemingc Mar 7, 2026
9565db5
chore: remove `with_resolvers` in favour of `Promise.withResolvers()`…
teemingc Mar 8, 2026
20b75f4
chore: bump peer on kit for adapters (#15506)
teemingc Mar 9, 2026
047d6a0
breaking: remove `builder.createEntries` (#15509)
teemingc Mar 9, 2026
5fb6d0b
Merge branch 'main' into version-3
teemingc Mar 9, 2026
096962c
breaking: remove `delta` from non-popstate navigations (#15522)
teemingc Mar 10, 2026
2c71180
chore: remove old migration warnings (#15523)
teemingc Mar 11, 2026
55229d0
Merge branch 'main' into version-3
teemingc Mar 11, 2026
c184af3
Merge branch 'main' into version-3
teemingc Mar 11, 2026
8a0af32
chore: remove Node 18 workarounds (#15524)
teemingc Mar 11, 2026
c127a7a
bump to vite 8
teemingc Mar 12, 2026
8ab200c
feat: switch to `buildApp` hook instead of invoking Vite build twice …
teemingc Mar 12, 2026
d587c2e
chore: fix changeset (#15542)
benmccann Mar 12, 2026
ea37020
chore: random todos (#15541)
teemingc Mar 12, 2026
f4903df
docs: replace rollup docs with rolldown docs (#15545)
teemingc Mar 13, 2026
91e041e
chore: add back esbuild. it's still used by netlify
benmccann Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/chilly-berries-press.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: upgrade to cookie v1. Cookie names must now contain only ASCII characters
6 changes: 6 additions & 0 deletions .changeset/clean-papers-give.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@sveltejs/adapter-netlify': major
'@sveltejs/adapter-vercel': major
---

chore: use `rolldown` for edge function bundling
7 changes: 7 additions & 0 deletions .changeset/cold-carrots-raise.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@sveltejs/package': major
'@sveltejs/kit': major
'@sveltejs/enhanced-img': major
---

breaking: require Node 22.17.0 or newer
2 changes: 1 addition & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"commit": false,
"linked": [],
"access": "public",
"baseBranch": "main",
"baseBranch": "version-3",
"bumpVersionsWithWorkspaceProtocolOnly": true,
"ignore": ["!(@sveltejs/*)"]
}
5 changes: 5 additions & 0 deletions .changeset/cuddly-radios-brush.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: remove the `preloadStrategy` option. `modulepreload` will always be used
5 changes: 5 additions & 0 deletions .changeset/cuddly-tigers-attend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: default the cookie `path` option to `'/'`
5 changes: 5 additions & 0 deletions .changeset/cyan-zoos-love.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: remove `@sveltejs/kit/node/polyfills`
5 changes: 5 additions & 0 deletions .changeset/early-worlds-slide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: require `@sveltejs/vite-plugin-svelte` v7
5 changes: 5 additions & 0 deletions .changeset/easy-shrimps-like.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/enhanced-img': minor
---

breaking: require Vite 8
5 changes: 5 additions & 0 deletions .changeset/eighty-paws-love.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: remove `createEntries` from the `Builder` object passed to adapter functions
7 changes: 7 additions & 0 deletions .changeset/fine-ghosts-camp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@sveltejs/adapter-netlify': major
---

breaking: write output that conforms to the stable [Netlify Frameworks API](https://docs.netlify.com/build/frameworks/frameworks-api/).

Deploying and previewing with Netlify CLI now requires [v17.31.0](https://github.com/netlify/cli/releases/tag/v17.31.0) or later. Run `npm i -g netlify-cli@latest` to upgrade.
5 changes: 5 additions & 0 deletions .changeset/five-readers-march.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/adapter-cloudflare': major
---

breaking: upgrade `@cloudflare/workers-types` to 4.20260219.0
5 changes: 5 additions & 0 deletions .changeset/fluffy-tires-judge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/adapter-cloudflare': major
---

breaking: upgrade minimum `wrangler` version to ^4.67.0
5 changes: 5 additions & 0 deletions .changeset/forty-ducks-fly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/adapter-cloudflare': major
---

breaking: remove `platform.context` in favour of `platform.ctx`
5 changes: 5 additions & 0 deletions .changeset/gentle-radios-go.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: remove the deprecated CSRF `checkOrigin` option in favor of `trustedOrigins`
5 changes: 5 additions & 0 deletions .changeset/gentle-signs-cross.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: the `delta` property now only exists for `popstate` navigation events
5 changes: 5 additions & 0 deletions .changeset/giant-numbers-care.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: remove deprecated `pragma` header in version polling for improved CORS support
5 changes: 5 additions & 0 deletions .changeset/heavy-showers-leave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: require Svelte 5
5 changes: 5 additions & 0 deletions .changeset/large-onions-attack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/adapter-node': major
---

chore: migrate from rollup to rolldown
9 changes: 9 additions & 0 deletions .changeset/late-lions-crash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@sveltejs/adapter-auto": major
"@sveltejs/adapter-cloudflare": major
"@sveltejs/adapter-netlify": major
"@sveltejs/adapter-node": major
"@sveltejs/adapter-static": major
---

breaking: require SvelteKit 3
5 changes: 5 additions & 0 deletions .changeset/light-singers-lie.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

chore: change `error`, `isHttpError`, `redirect`, and `isRedirect` to refer to public type instead of internal class
5 changes: 5 additions & 0 deletions .changeset/nasty-impalas-wear.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': minor
---

feat: resolve paths using the Vite config `root` option instead of `process.cwd()` to better support monorepo configurations such as Vitest workspaces
5 changes: 5 additions & 0 deletions .changeset/nine-coins-cheer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': major
---

breaking: require Vite 8. Provides new functionality even for existing Vite 8 users such as faster builds with Vite hook filters and more powerful SvelteKit adapters with the Vite environment API
5 changes: 5 additions & 0 deletions .changeset/plenty-cougars-wave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/adapter-cloudflare': patch
---

chore: check the `WORKERS_CI` environment variable to determine if we're building for Cloudflare Workers
6 changes: 6 additions & 0 deletions .changeset/polite-lemons-refuse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@sveltejs/adapter-netlify': major
'@sveltejs/adapter-vercel': major
---

breaking: edge function build target is now `es2022`
54 changes: 54 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"mode": "pre",
"tag": "next",
"initialVersions": {
"@sveltejs/adapter-auto": "7.0.1",
"@sveltejs/adapter-cloudflare": "7.2.7",
"test-cloudflare-pages": "0.0.1",
"test-cloudflare-workers": "0.0.1",
"@sveltejs/adapter-netlify": "6.0.0",
"test-netlify-basic": "0.0.1",
"test-netlify-edge": "0.0.1",
"@sveltejs/adapter-node": "5.5.3",
"@sveltejs/adapter-static": "3.0.10",
"~TODO~": "0.0.1",
"@sveltejs/adapter-vercel": "6.3.1",
"@sveltejs/amp": "1.1.5",
"@sveltejs/enhanced-img": "0.10.2",
"enhanced-img-basics": "0.0.1",
"@sveltejs/kit": "2.51.0",
"test-amp": "0.0.1",
"test-async": "0.0.1",
"test-basics": "0.0.2-next.0",
"test-dev-only": "0.0.2-next.0",
"test-embed": "0.0.1",
"test-hash-based-routing": "0.0.1",
"test-no-ssr": "0.0.1",
"test-options": "0.0.1",
"test-options-2": "0.0.1",
"test-options-3": "0.0.1",
"test-prerendered-app-error-pages": "0.0.1",
"test-writes": "0.0.2-next.0",
"prerenderable-incorrect-fragment": "0.0.1",
"prerenderable-remote-function-error": "0.0.1",
"prerenderable-not-prerendered": "0.0.1",
"private-dynamic-env": "0.0.1",
"private-dynamic-env-dynamic-import": "0.0.1",
"private-static-env": "0.0.1",
"private-static-env-dynamic-import": "0.0.1",
"server-only-folder": "0.0.1",
"server-only-folder-dynamic-import": "0.0.1",
"server-only-module": "0.0.1",
"server-only-module-dynamic-import": "0.0.1",
"service-worker-dynamic-public-env": "0.0.1",
"service-worker-private-env": "0.0.1",
"syntax-error": "0.0.1",
"prerendering-test-basics": "0.0.2-next.0",
"prerendering-test-options": "0.0.1",
"prerendering-test-paths-base": "0.0.1",
"@sveltejs/package": "2.5.7",
"test-redirect-importer": "0.0.1",
"playground-basic": "0.0.0"
},
"changesets": []
}
6 changes: 6 additions & 0 deletions .changeset/salty-chefs-sleep.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@sveltejs/package': patch
'@sveltejs/kit': patch
---

chore: remove dependency on kleur
5 changes: 5 additions & 0 deletions .changeset/shaggy-walls-wave.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sveltejs/kit": major
---

breaking: `svelte.config.js` will now be included in type checking
5 changes: 5 additions & 0 deletions .changeset/shiny-feet-crash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/kit': minor
---

chore: deprecate `Response` helpers in favor of platform-provided alternatives
5 changes: 5 additions & 0 deletions .changeset/spicy-drinks-build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@sveltejs/kit": patch
---

chore: remove dependency on `set-cookie-parser`
30 changes: 6 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI
on:
push:
branches:
- main
- version-3
paths-ignore: &paths_ignore
- '.changeset/**'
- '.githooks/**'
Expand Down Expand Up @@ -68,14 +68,6 @@ jobs:
fail-fast: false
matrix:
include:
- node-version: 18
os: ubuntu-latest
e2e-browser: 'chromium'
vite: 'baseline'
- node-version: 20
os: ubuntu-latest
e2e-browser: 'chromium'
vite: 'current'
- node-version: 22
os: ubuntu-latest
e2e-browser: 'chromium'
Expand All @@ -84,10 +76,10 @@ jobs:
os: ubuntu-latest
e2e-browser: 'chromium'
vite: 'current'
- node-version: 24
os: ubuntu-latest
e2e-browser: 'chromium'
vite: 'beta'
# - node-version: 24
# os: ubuntu-latest
# e2e-browser: 'chromium'
# vite: 'beta'
env:
KIT_E2E_BROWSER: ${{matrix.e2e-browser}}
MATRIX_VITE: ${{matrix.vite}}
Expand Down Expand Up @@ -256,7 +248,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22, 24]
node-version: [22, 24]
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4.3.0
Expand All @@ -269,16 +261,6 @@ jobs:
with:
deno-version: ^2.2.4
- run: pnpm install --frozen-lockfile
- name: setup overrides for matrix.node
if: matrix.node-version == 18
run:
| # copies catalogs.node-xx to overrides in pnpm-workspace.yaml so the subsequent `pnpm install` enforces them
yq -i '.overrides =.catalogs."node-18"' pnpm-workspace.yaml
pnpm install --no-frozen-lockfile
git checkout pnpm-lock.yaml pnpm-workspace.yaml # revert changes to pnpm files to avoid cache key changes
pnpm --dir packages/kit ls vite @sveltejs/vite-plugin-svelte
- run: pnpm playwright install chromium --no-shell
- run: cd packages/kit && pnpm prepublishOnly
- run: pnpm run test:others
env:
NODE_OPTIONS: ${{matrix.node-version == 22 && '--experimental-strip-types' || ''}} # allows loading svelte.config.ts
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Release
on:
push:
branches:
- main
- version-3

concurrency:
# prevent two release workflows from running at once
Expand Down
2 changes: 1 addition & 1 deletion documentation/docs/20-core-concepts/20-load.md
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ export async function load({ fetch, params }) {

## Cookies

A server `load` function can get and set [`cookies`](@sveltejs-kit#Cookies).
A server `load` function can get [`cookies`](@sveltejs-kit#Cookies) as shown below. When setting cookies, SvelteKit provides default values for `httpOnly`, `secure`, and `path` — as described in [the API documentation](@sveltejs-kit#Cookies) — in order to improve security and developer experience.

```js
/// file: src/routes/+layout.server.js
Expand Down
2 changes: 1 addition & 1 deletion documentation/docs/25-build-and-deploy/40-adapter-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ You will need the output directory, the project's `package.json`, and the produc
node build
```

Development dependencies will be bundled into your app using [Rollup](https://rollupjs.org). To control whether a given package is bundled or externalised, place it in `devDependencies` or `dependencies` respectively in your `package.json`.
Development dependencies will be bundled into your app using [Rolldown](https://rolldown.rs/). To control whether a given package is bundled or externalised, place it in `devDependencies` or `dependencies` respectively in your `package.json`.

### Compressing responses

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The following options apply to all functions:
- `split`: if `true`, causes a route to be deployed as an individual function. If `split` is set to `true` at the adapter level, all routes will be deployed as individual functions

Additionally, the following option applies to edge functions:
- `external`: an array of dependencies that esbuild should treat as external when bundling functions. This should only be used to exclude optional dependencies that will not run outside Node
- `external`: an array of dependencies that Rolldown should treat as external when bundling functions. This should only be used to exclude optional dependencies that will not run outside Node

And the following option apply to serverless functions:
- `memory`: the amount of memory available to the function. Defaults to `1024` Mb, and can be decreased to `128` Mb or [increased](https://vercel.com/docs/concepts/limits/overview#serverless-function-memory) in 64Mb increments up to `3008` Mb on Pro or Enterprise accounts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ Within the `adapt` method, there are a number of things that an adapter should d
- Instantiates the app with a manifest generated with `builder.generateManifest({ relativePath })`
- Listens for requests from the platform, converts them to a standard [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request) if necessary, calls the `server.respond(request, { getClientAddress })` function to generate a [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) and responds with it
- expose any platform-specific information to SvelteKit via the `platform` option passed to `server.respond`
- Globally shims `fetch` to work on the target platform, if necessary. SvelteKit provides a `@sveltejs/kit/node/polyfills` helper for platforms that can use `undici`
- Bundle the output to avoid needing to install dependencies on the target platform, if necessary
- Put the user's static files and the generated JS/CSS in the correct location for the target platform

Expand Down
2 changes: 1 addition & 1 deletion documentation/docs/60-appendix/10-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Here are a few things to keep in mind when checking if a library is packaged cor
- `main` should be defined if `exports` is not. It should be either a CommonJS or ESM file and adhere to the previous bullet. If a `module` field is defined, it should refer to an ESM file.
- Svelte components should be distributed as uncompiled `.svelte` files with any JS in the package written as ESM only. Custom script and style languages, like TypeScript and SCSS, should be preprocessed as vanilla JS and CSS respectively. We recommend using [`svelte-package`](./packaging) for packaging Svelte libraries, which will do this for you.

Libraries work best in the browser with Vite when they distribute an ESM version, especially if they are dependencies of a Svelte component library. You may wish to suggest to library authors that they provide an ESM version. However, CommonJS (CJS) dependencies should work as well since, by default, [`vite-plugin-svelte` will ask Vite to pre-bundle them](https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#what-is-going-on-with-vite-and-pre-bundling-dependencies) using `esbuild` to convert them to ESM.
Libraries work best in the browser with Vite when they distribute an ESM version, especially if they are dependencies of a Svelte component library. You may wish to suggest to library authors that they provide an ESM version. However, CommonJS (CJS) dependencies should work as well since, by default, [`vite-plugin-svelte` will ask Vite to pre-bundle them](https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#what-is-going-on-with-vite-and-pre-bundling-dependencies) using `rolldown` to convert them to ESM.

If you are still encountering issues we recommend searching both [the Vite issue tracker](https://github.com/vitejs/vite/issues) and the issue tracker of the library in question. Sometimes issues can be worked around by fiddling with the [`optimizeDeps`](https://vitejs.dev/config/#dep-optimization-options) or [`ssr`](https://vitejs.dev/config/#ssr-options) config values though we recommend this as only a short-term workaround in favor of fixing the library in question.

Expand Down

This file was deleted.

1 change: 0 additions & 1 deletion eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ export default [
ignores: [
'packages/adapter-cloudflare/test/apps/**/*',
'packages/adapter-netlify/test/apps/**/*',
'packages/adapter-node/rollup.config.js',
'packages/adapter-node/tests/smoke.spec_disabled.js',
'packages/adapter-static/test/apps/**/*',
'packages/adapter-vercel/test/apps/**/*',
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"test:vite-ecosystem-ci": "pnpm --dir packages/kit test",
"test:others": "pnpm -r --filter='./packages/*' --filter=!./packages/kit/ --workspace-concurrency=1 test",
"check": "pnpm -r prepublishOnly && pnpm -r check",
"lint": "pnpm -r lint && eslint --cache --cache-location node_modules/.eslintcache 'packages/**/*.js'",
"lint": "pnpm -r lint && echo '\nRunning eslint...' && eslint --cache --cache-location node_modules/.eslintcache 'packages/**/*.js'",
"format": "pnpm -r format",
"precommit": "pnpm format && pnpm lint",
"changeset:version": "changeset version && pnpm -r generate:version && git add --all",
Expand All @@ -30,7 +30,8 @@
"@svitejs/changesets-changelog-github-compact": "catalog:",
"eslint": "catalog:",
"prettier": "catalog:",
"prettier-plugin-svelte": "catalog:"
"prettier-plugin-svelte": "catalog:",
"vitest": "catalog:"
},
"packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be",
"engines": {
Expand Down
Loading
Loading