From 7e97734cd86523ed4a3b5e2a2f087078cf3f0a5e Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 24 Feb 2022 12:11:31 -0500 Subject: [PATCH 1/4] rename __fetch_polyfill to installFetch --- .changeset/slow-dots-know.md | 5 +++++ packages/kit/src/core/adapt/prerender/prerender.js | 4 ++-- packages/kit/src/core/dev/plugin.js | 4 ++-- packages/kit/src/core/preview/index.js | 4 ++-- packages/kit/src/install-fetch.js | 5 +---- packages/kit/types/ambient.d.ts | 2 +- 6 files changed, 13 insertions(+), 11 deletions(-) create mode 100644 .changeset/slow-dots-know.md diff --git a/.changeset/slow-dots-know.md b/.changeset/slow-dots-know.md new file mode 100644 index 000000000000..1cad3f79d085 --- /dev/null +++ b/.changeset/slow-dots-know.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +[breaking] Rename \_\_fetch_polyfill to installFetch, remove fetch exports diff --git a/packages/kit/src/core/adapt/prerender/prerender.js b/packages/kit/src/core/adapt/prerender/prerender.js index b950afeda76b..74ea0e1f4178 100644 --- a/packages/kit/src/core/adapt/prerender/prerender.js +++ b/packages/kit/src/core/adapt/prerender/prerender.js @@ -2,7 +2,7 @@ import { readFileSync, writeFileSync } from 'fs'; import { dirname, join, resolve as resolve_path } from 'path'; import { pathToFileURL, URL } from 'url'; import { mkdirp } from '../../../utils/filesystem.js'; -import { __fetch_polyfill } from '../../../install-fetch.js'; +import { installFetch } from '../../../install-fetch.js'; import { SVELTE_KIT } from '../../constants.js'; import { is_root_relative, normalize_path, resolve } from '../../../utils/url.js'; import { queue } from './queue.js'; @@ -63,7 +63,7 @@ export async function prerender({ cwd, out, log, config, build_data, fallback, a return prerendered; } - __fetch_polyfill(); + installFetch(); const server_root = resolve_path(cwd, `${SVELTE_KIT}/output`); diff --git a/packages/kit/src/core/dev/plugin.js b/packages/kit/src/core/dev/plugin.js index 8e173b6cde65..9c23b328007d 100644 --- a/packages/kit/src/core/dev/plugin.js +++ b/packages/kit/src/core/dev/plugin.js @@ -3,7 +3,7 @@ import path from 'path'; import { URL } from 'url'; import colors from 'kleur'; import sirv from 'sirv'; -import { __fetch_polyfill } from '../../install-fetch.js'; +import { installFetch } from '../../install-fetch.js'; import { create_app } from '../create_app/index.js'; import create_manifest_data from '../create_manifest_data/index.js'; import { getRequest, setResponse } from '../../node.js'; @@ -36,7 +36,7 @@ export async function create_plugin(config, cwd) { name: 'vite-plugin-svelte-kit', configureServer(vite) { - __fetch_polyfill(); + installFetch(); /** @type {import('types').SSRManifest} */ let manifest; diff --git a/packages/kit/src/core/preview/index.js b/packages/kit/src/core/preview/index.js index 577775919e8a..11ec3dd66828 100644 --- a/packages/kit/src/core/preview/index.js +++ b/packages/kit/src/core/preview/index.js @@ -5,7 +5,7 @@ import { join, resolve } from 'path'; import sirv from 'sirv'; import { pathToFileURL } from 'url'; import { getRequest, setResponse } from '../../node.js'; -import { __fetch_polyfill } from '../../install-fetch.js'; +import { installFetch } from '../../install-fetch.js'; import { SVELTE_KIT, SVELTE_KIT_ASSETS } from '../constants.js'; /** @param {string} dir */ @@ -31,7 +31,7 @@ export async function preview({ https: use_https = false, cwd = process.cwd() }) { - __fetch_polyfill(); + installFetch(); const index_file = resolve(cwd, `${SVELTE_KIT}/output/server/index.js`); const manifest_file = resolve(cwd, `${SVELTE_KIT}/output/server/manifest.js`); diff --git a/packages/kit/src/install-fetch.js b/packages/kit/src/install-fetch.js index 96a0e8c27464..2e75d62ec560 100644 --- a/packages/kit/src/install-fetch.js +++ b/packages/kit/src/install-fetch.js @@ -1,7 +1,7 @@ import fetch, { Response, Request, Headers } from 'node-fetch'; // exported for dev/preview and node environments -export function __fetch_polyfill() { +export function installFetch() { Object.defineProperties(globalThis, { fetch: { enumerable: true, @@ -25,6 +25,3 @@ export function __fetch_polyfill() { } }); } - -// exported for esbuild shims in adapters -export { fetch, Response, Request, Headers }; diff --git a/packages/kit/types/ambient.d.ts b/packages/kit/types/ambient.d.ts index 1e39b179aabe..732641ee5203 100644 --- a/packages/kit/types/ambient.d.ts +++ b/packages/kit/types/ambient.d.ts @@ -283,7 +283,7 @@ declare module '@sveltejs/kit/hooks' { declare module '@sveltejs/kit/install-fetch' { import fetch, { Headers, Request, Response } from 'node-fetch'; - export function __fetch_polyfill(): void; + export function installFetch(): void; export { fetch, Headers, Request, Response }; } From e1e6cfe1ecd57967a3bc9dfdf02bc59cf469798f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 24 Feb 2022 12:12:04 -0500 Subject: [PATCH 2/4] update adapters --- .changeset/tricky-bees-yell.md | 7 +++++++ packages/adapter-netlify/src/shims.js | 4 ++-- packages/adapter-node/src/shims.js | 4 ++-- packages/adapter-vercel/files/shims.js | 4 ++-- 4 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 .changeset/tricky-bees-yell.md diff --git a/.changeset/tricky-bees-yell.md b/.changeset/tricky-bees-yell.md new file mode 100644 index 000000000000..09e5d1843f81 --- /dev/null +++ b/.changeset/tricky-bees-yell.md @@ -0,0 +1,7 @@ +--- +'@sveltejs/adapter-netlify': patch +'@sveltejs/adapter-node': patch +'@sveltejs/adapter-vercel': patch +--- + +Rename \_\_fetch_polyfill to installFetch diff --git a/packages/adapter-netlify/src/shims.js b/packages/adapter-netlify/src/shims.js index 0f5610df98c1..8d2fe00acd85 100644 --- a/packages/adapter-netlify/src/shims.js +++ b/packages/adapter-netlify/src/shims.js @@ -1,2 +1,2 @@ -import { __fetch_polyfill } from '@sveltejs/kit/install-fetch'; -__fetch_polyfill(); +import { installFetch } from '@sveltejs/kit/install-fetch'; +installFetch(); diff --git a/packages/adapter-node/src/shims.js b/packages/adapter-node/src/shims.js index 0f5610df98c1..8d2fe00acd85 100644 --- a/packages/adapter-node/src/shims.js +++ b/packages/adapter-node/src/shims.js @@ -1,2 +1,2 @@ -import { __fetch_polyfill } from '@sveltejs/kit/install-fetch'; -__fetch_polyfill(); +import { installFetch } from '@sveltejs/kit/install-fetch'; +installFetch(); diff --git a/packages/adapter-vercel/files/shims.js b/packages/adapter-vercel/files/shims.js index 0f5610df98c1..8d2fe00acd85 100644 --- a/packages/adapter-vercel/files/shims.js +++ b/packages/adapter-vercel/files/shims.js @@ -1,2 +1,2 @@ -import { __fetch_polyfill } from '@sveltejs/kit/install-fetch'; -__fetch_polyfill(); +import { installFetch } from '@sveltejs/kit/install-fetch'; +installFetch(); From 0357cd3234d1e993a5c65d7649b363b5ba50936c Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 24 Feb 2022 12:13:22 -0500 Subject: [PATCH 3/4] tidy up changesets --- .changeset/slow-dots-know.md | 2 +- .changeset/tricky-bees-yell.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.changeset/slow-dots-know.md b/.changeset/slow-dots-know.md index 1cad3f79d085..48c8661f6f1a 100644 --- a/.changeset/slow-dots-know.md +++ b/.changeset/slow-dots-know.md @@ -2,4 +2,4 @@ '@sveltejs/kit': patch --- -[breaking] Rename \_\_fetch_polyfill to installFetch, remove fetch exports +[breaking] Rename `__fetch_polyfill` to `installFetch`, remove fetch exports diff --git a/.changeset/tricky-bees-yell.md b/.changeset/tricky-bees-yell.md index 09e5d1843f81..12e2b954c80c 100644 --- a/.changeset/tricky-bees-yell.md +++ b/.changeset/tricky-bees-yell.md @@ -4,4 +4,4 @@ '@sveltejs/adapter-vercel': patch --- -Rename \_\_fetch_polyfill to installFetch +Rename `__fetch_polyfill` to `installFetch` From 948d10f55740e8ee298d69c7ca1cd07eeeeff441 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 24 Feb 2022 13:18:57 -0500 Subject: [PATCH 4/4] fix types --- packages/kit/types/ambient.d.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/kit/types/ambient.d.ts b/packages/kit/types/ambient.d.ts index 732641ee5203..885c960f313b 100644 --- a/packages/kit/types/ambient.d.ts +++ b/packages/kit/types/ambient.d.ts @@ -281,11 +281,10 @@ declare module '@sveltejs/kit/hooks' { * A polyfill for `fetch` and its related interfaces, used by adapters for environments that don't provide a native implementation. */ declare module '@sveltejs/kit/install-fetch' { - import fetch, { Headers, Request, Response } from 'node-fetch'; - + /** + * Make `fetch`, `Headers`, `Request` and `Response` available as globals, via `node-fetch` + */ export function installFetch(): void; - - export { fetch, Headers, Request, Response }; } /**