diff --git a/.changeset/strong-owls-jam.md b/.changeset/strong-owls-jam.md new file mode 100644 index 000000000000..28f97068152e --- /dev/null +++ b/.changeset/strong-owls-jam.md @@ -0,0 +1,7 @@ +--- +'@sveltejs/adapter-netlify': patch +'@sveltejs/adapter-node': patch +'@sveltejs/adapter-vercel': patch +--- + +Polyfill fetch before running any app code diff --git a/packages/adapter-netlify/rollup.config.js b/packages/adapter-netlify/rollup.config.js index 6d96c6e299b9..d211e9860e7f 100644 --- a/packages/adapter-netlify/rollup.config.js +++ b/packages/adapter-netlify/rollup.config.js @@ -5,7 +5,8 @@ import json from '@rollup/plugin-json'; export default [ { input: { - handler: 'src/handler.js' + handler: 'src/handler.js', + shims: 'src/shims.js' }, output: [ { diff --git a/packages/adapter-netlify/src/handler.js b/packages/adapter-netlify/src/handler.js index 1200339eaf71..67d673649699 100644 --- a/packages/adapter-netlify/src/handler.js +++ b/packages/adapter-netlify/src/handler.js @@ -1,8 +1,6 @@ -import { __fetch_polyfill } from '@sveltejs/kit/install-fetch'; +import './shims'; import { App } from './server/app.js'; -__fetch_polyfill(); - /** * * @param {import('@sveltejs/kit').SSRManifest} manifest diff --git a/packages/adapter-netlify/src/shims.js b/packages/adapter-netlify/src/shims.js new file mode 100644 index 000000000000..0f5610df98c1 --- /dev/null +++ b/packages/adapter-netlify/src/shims.js @@ -0,0 +1,2 @@ +import { __fetch_polyfill } from '@sveltejs/kit/install-fetch'; +__fetch_polyfill(); diff --git a/packages/adapter-node/rollup.config.js b/packages/adapter-node/rollup.config.js index 1f2decb4ead7..21da6b8acaa4 100644 --- a/packages/adapter-node/rollup.config.js +++ b/packages/adapter-node/rollup.config.js @@ -6,7 +6,8 @@ export default [ { input: { index: 'src/index.js', - handler: 'src/handler.js' + handler: 'src/handler.js', + shims: 'src/shims.js' }, output: { dir: 'files', diff --git a/packages/adapter-node/src/handler.js b/packages/adapter-node/src/handler.js index 3344430adc4c..faf6b7bbe1a8 100644 --- a/packages/adapter-node/src/handler.js +++ b/packages/adapter-node/src/handler.js @@ -1,16 +1,14 @@ +import './shims'; import fs from 'fs'; import path from 'path'; import sirv from 'sirv'; import { fileURLToPath } from 'url'; import { getRawBody } from '@sveltejs/kit/node'; -import { __fetch_polyfill } from '@sveltejs/kit/install-fetch'; // @ts-ignore import { App } from 'APP'; import { manifest } from 'MANIFEST'; -__fetch_polyfill(); - const app = new App(manifest); const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/packages/adapter-node/src/shims.js b/packages/adapter-node/src/shims.js new file mode 100644 index 000000000000..0f5610df98c1 --- /dev/null +++ b/packages/adapter-node/src/shims.js @@ -0,0 +1,2 @@ +import { __fetch_polyfill } from '@sveltejs/kit/install-fetch'; +__fetch_polyfill(); diff --git a/packages/adapter-vercel/files/entry.js b/packages/adapter-vercel/files/entry.js index a477ecc950bf..d3d2a26fefe0 100644 --- a/packages/adapter-vercel/files/entry.js +++ b/packages/adapter-vercel/files/entry.js @@ -1,10 +1,8 @@ -import { __fetch_polyfill } from '@sveltejs/kit/install-fetch'; +import './shims'; import { getRawBody } from '@sveltejs/kit/node'; import { App } from 'APP'; import { manifest } from 'MANIFEST'; -__fetch_polyfill(); - const app = new App(manifest); export default async (req, res) => { diff --git a/packages/adapter-vercel/files/shims.js b/packages/adapter-vercel/files/shims.js new file mode 100644 index 000000000000..0f5610df98c1 --- /dev/null +++ b/packages/adapter-vercel/files/shims.js @@ -0,0 +1,2 @@ +import { __fetch_polyfill } from '@sveltejs/kit/install-fetch'; +__fetch_polyfill();