Skip to content

Commit ad2db74

Browse files
authored
breaking: require Node 18.13 or newer (#11172)
- breaking: require Node 18.13 or newer - remove polyfill option and should_polyfill
1 parent 499ef6a commit ad2db74

File tree

27 files changed

+134
-190
lines changed

27 files changed

+134
-190
lines changed

.changeset/rotten-penguins-hope.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/adapter-node': major
3+
---
4+
5+
breaking: remove polyfill option. fetch APIs will now always come from the platform being used. File and crypto APIs will be polyfilled if not available

.changeset/thick-suits-help.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/kit': major
3+
---
4+
5+
breaking: require Node 18.13 or newer

.github/workflows/ci.yml

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- uses: pnpm/[email protected]
2727
- uses: actions/setup-node@v4
2828
with:
29-
node-version: '16.x'
29+
node-version: '18.x'
3030
cache: pnpm
3131
- run: pnpm install --frozen-lockfile
3232
- run: pnpm run lint
@@ -39,9 +39,6 @@ jobs:
3939
fail-fast: false
4040
matrix:
4141
include:
42-
- node-version: 16
43-
os: ubuntu-latest
44-
e2e-browser: 'chromium'
4542
- node-version: 18
4643
os: ubuntu-latest
4744
e2e-browser: 'chromium'
@@ -79,27 +76,27 @@ jobs:
7976
fail-fast: false
8077
matrix:
8178
include:
82-
- node-version: 16
79+
- node-version: 18
8380
os: windows-2019 # slowness reported on newer versions https://github.com/actions/runner-images/issues/5166
8481
e2e-browser: 'chromium'
8582
mode: 'dev'
86-
- node-version: 16
83+
- node-version: 18
8784
os: ubuntu-latest
8885
e2e-browser: 'firefox'
8986
mode: 'dev'
90-
- node-version: 16
87+
- node-version: 18
9188
os: macOS-latest
9289
e2e-browser: 'webkit'
9390
mode: 'dev'
94-
- node-version: 16
91+
- node-version: 18
9592
os: windows-2019 # slowness reported on newer versions https://github.com/actions/runner-images/issues/5166
9693
e2e-browser: 'chromium'
9794
mode: 'build'
98-
- node-version: 16
95+
- node-version: 18
9996
os: ubuntu-latest
10097
e2e-browser: 'firefox'
10198
mode: 'build'
102-
- node-version: 16
99+
- node-version: 18
103100
os: macOS-latest
104101
e2e-browser: 'webkit'
105102
mode: 'build'
@@ -134,7 +131,7 @@ jobs:
134131
- uses: pnpm/[email protected]
135132
- uses: actions/setup-node@v4
136133
with:
137-
node-version: 16
134+
node-version: 18
138135
cache: pnpm
139136
- run: pnpm install --frozen-lockfile
140137
- run: cd packages/kit && pnpm prepublishOnly

documentation/docs/25-build-and-deploy/40-adapter-node.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,7 @@ export default {
131131
// default options are shown
132132
out: 'build',
133133
precompress: false,
134-
envPrefix: '',
135-
polyfill: true
134+
envPrefix: ''
136135
})
137136
}
138137
};
@@ -161,12 +160,6 @@ MY_CUSTOM_ORIGIN=https://my.site \
161160
node build
162161
```
163162

164-
### polyfill
165-
166-
Controls whether your build will load polyfills for missing modules. It defaults to `true`, and should only be disabled when using Node 18.11 or greater.
167-
168-
Note: to use Node's built-in `crypto` global with Node 18 you will need to use the `--experimental-global-webcrypto` flag. This flag is not required with Node 20.
169-
170163
## Custom server
171164

172165
The adapter creates two files in your build directory — `index.js` and `handler.js`. Running `index.js` — e.g. `node build`, if you use the default build directory — will start a server on the configured port.

packages/adapter-auto/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"devDependencies": {
3333
"@sveltejs/kit": "workspace:^",
3434
"@sveltejs/vite-plugin-svelte": "^3.0.0",
35-
"@types/node": "^16.18.6",
35+
"@types/node": "^18.19.1",
3636
"typescript": "^5.3.2"
3737
},
3838
"dependencies": {

packages/adapter-cloudflare-workers/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
},
3737
"devDependencies": {
3838
"@cloudflare/kv-asset-handler": "^0.3.0",
39-
"@types/node": "^16.18.6",
39+
"@types/node": "^18.19.1",
4040
"typescript": "^5.3.2"
4141
},
4242
"peerDependencies": {

packages/adapter-cloudflare/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"worktop": "0.8.0-next.15"
3838
},
3939
"devDependencies": {
40-
"@types/node": "^16.18.6",
40+
"@types/node": "^18.19.1",
4141
"@types/ws": "^8.5.3",
4242
"typescript": "^5.3.2"
4343
},

packages/adapter-netlify/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"@rollup/plugin-node-resolve": "^15.2.3",
4545
"@sveltejs/kit": "workspace:^",
4646
"@sveltejs/vite-plugin-svelte": "^3.0.0",
47-
"@types/node": "^16.18.6",
47+
"@types/node": "^18.19.1",
4848
"@types/set-cookie-parser": "^2.4.2",
4949
"rollup": "^4.2.0",
5050
"typescript": "^5.3.2",

packages/adapter-node/index.d.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ interface AdapterOptions {
99
out?: string;
1010
precompress?: boolean;
1111
envPrefix?: string;
12-
polyfill?: boolean;
1312
}
1413

1514
export default function plugin(options?: AdapterOptions): Adapter;

packages/adapter-node/index.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const files = fileURLToPath(new URL('./files', import.meta.url).href);
99

1010
/** @type {import('./index.js').default} */
1111
export default function (opts = {}) {
12-
const { out = 'build', precompress, envPrefix = '', polyfill = true } = opts;
12+
const { out = 'build', precompress, envPrefix = '' } = opts;
1313

1414
return {
1515
name: '@sveltejs/adapter-node',
@@ -86,11 +86,6 @@ export default function (opts = {}) {
8686
ENV_PREFIX: JSON.stringify(envPrefix)
8787
}
8888
});
89-
90-
// If polyfills aren't wanted then clear the file
91-
if (!polyfill) {
92-
writeFileSync(`${out}/shims.js`, '', 'utf-8');
93-
}
9489
}
9590
};
9691
}

0 commit comments

Comments
 (0)