Skip to content

Commit 63d1fc6

Browse files
authored
drop node 18 and update exports syntax (#1129)
* drop node 18, update exports maps and cjs docs, return to workspace dep between vps and inspector so changesets does the first release correctly * chore: remove node 18 ci
1 parent 0e81e8d commit 63d1fc6

File tree

7 files changed

+28
-36
lines changed

7 files changed

+28
-36
lines changed

.changeset/better-moles-brake.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@sveltejs/vite-plugin-svelte-inspector': major
3+
'@sveltejs/vite-plugin-svelte': major
4+
---
5+
6+
drop support for node18 and update exports map to use default export. cjs is supported via require esm in node 20.19+

.github/workflows/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ jobs:
7777
node: [22]
7878
os: [ubuntu-latest, macos-latest, windows-latest]
7979
include:
80-
- node: 18
81-
os: ubuntu-latest
8280
- node: 20
8381
os: ubuntu-latest
8482
- node: 24

docs/faq.md

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -181,31 +181,16 @@ You should not use prebundleSvelteLibraries during build or for ssr, disable one
181181

182182
You really shouldn't. Svelte and Vite are esm first and the ecosystem is moving away from commonjs and so should you. Consider migrating to esm.
183183

184-
In case you have to, use dynamic import to load vite-plugin-svelte's esm code from cjs like this:
184+
In case you have to, you can rely on node's "require esm" feature available in v20.19+
185185

186-
```diff
186+
```js
187187
// vite.config.cjs
188188
const { defineConfig } = require('vite');
189-
- const { svelte } = require('@sveltejs/vite-plugin-svelte');
190-
module.exports = defineConfig(async ({ command, mode }) => {
191-
+ const { svelte } = await import('@sveltejs/vite-plugin-svelte');
192-
return {plugins:[svelte()]}
193-
}
194-
```
189+
const { svelte, vitePreprocess } = require('@sveltejs/vite-plugin-svelte');
195190

196-
And for `vitePreprocess` you have to set up a lazy promise as top-level-await doesn't work for esm imports in cjs:
197-
198-
```diff
199-
- const {vitePreprocess} = require('@sveltejs/vite-plugin-svelte')
200-
+ const vitePreprocess = import('@sveltejs/vite-plugin-svelte').then(m => m.vitePreprocess())
201-
202-
module.exports = {
203-
- preprocess: vitePreprocess()
204-
+ preprocess: {
205-
+ script:async (options) => (await vitePreprocess).script(options),
206-
+ style:async (options) => (await vitePreprocess).style(options),
207-
+ }
208-
}
191+
module.exports = defineConfig({
192+
plugins: [svelte({ preprocess: vitePreprocess() })]
193+
});
209194
```
210195

211196
<!-- the following header generates an anchor that is used in logging, do not modify!-->

eslint.config.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,13 @@ export default [
138138
'@typescript-eslint/no-unused-vars': 'off'
139139
}
140140
},
141+
{
142+
name: 'local/markdown-codefences/allow-require',
143+
files: ['**/docs/faq.md/*.js'],
144+
rules: {
145+
'@typescript-eslint/no-require-imports': 'off'
146+
}
147+
},
141148
{
142149
name: 'local/spec-files',
143150
files: ['**/__tests__/**/*.spec.ts'],

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
"packageManager": "[email protected]",
6767
"engines": {
6868
"pnpm": "^10.2.0",
69-
"node": "^20.18 || ^22 || >=24"
69+
"node": "^20.19 || ^22.12 || >=24"
7070
},
7171
"pnpm": {
7272
"overrides": {

packages/vite-plugin-svelte-inspector/package.json

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,8 @@
1111
"types": "types/index.d.ts",
1212
"exports": {
1313
".": {
14-
"import": {
15-
"types": "./types/index.d.ts",
16-
"default": "./src/index.js"
17-
}
14+
"types": "./types/index.d.ts",
15+
"default": "./src/index.js"
1816
}
1917
},
2018
"scripts": {
@@ -23,7 +21,7 @@
2321
"generate:types": "dts-buddy -m \"@sveltejs/vite-plugin-svelte-inspector:src/public.d.ts\""
2422
},
2523
"engines": {
26-
"node": "^18.0.0 || ^20.0.0 || >=22"
24+
"node": "^20.19 || ^22.12 || >=24"
2725
},
2826
"repository": {
2927
"type": "git",
@@ -44,7 +42,7 @@
4442
"debug": "^4.4.1"
4543
},
4644
"peerDependencies": {
47-
"@sveltejs/vite-plugin-svelte": "^5.0.0",
45+
"@sveltejs/vite-plugin-svelte": "workspace:^",
4846
"svelte": "^5.0.0",
4947
"vite": "^6.0.0"
5048
},

packages/vite-plugin-svelte/package.json

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,8 @@
1111
"types": "types/index.d.ts",
1212
"exports": {
1313
".": {
14-
"import": {
15-
"types": "./types/index.d.ts",
16-
"default": "./src/index.js"
17-
}
14+
"types": "./types/index.d.ts",
15+
"default": "./src/index.js"
1816
}
1917
},
2018
"scripts": {
@@ -23,7 +21,7 @@
2321
"generate:types": "dts-buddy -m \"@sveltejs/vite-plugin-svelte:src/public.d.ts\""
2422
},
2523
"engines": {
26-
"node": "^18.0.0 || ^20.0.0 || >=22"
24+
"node": "^20.19 || ^22.12 || >=24"
2725
},
2826
"repository": {
2927
"type": "git",
@@ -41,7 +39,7 @@
4139
},
4240
"homepage": "https://github.com/sveltejs/vite-plugin-svelte#readme",
4341
"dependencies": {
44-
"@sveltejs/vite-plugin-svelte-inspector": "^4.0.1",
42+
"@sveltejs/vite-plugin-svelte-inspector": "workspace:^",
4543
"debug": "^4.4.1",
4644
"deepmerge": "^4.3.1",
4745
"kleur": "^4.1.5",

0 commit comments

Comments
 (0)