From 891537fc41acaf974dcf3ec4cf4c06d89fd56e7f Mon Sep 17 00:00:00 2001
From: Emmanuel Raviart <emmanuel@raviart.com>
Date: Tue, 4 Jan 2022 15:16:49 +0100
Subject: [PATCH] Use SvelteKit fetch instead of node-fetch.

---
 package-lock.json | 18 ++++++++++++------
 package.json      |  2 --
 src/hooks.ts      | 24 ------------------------
 3 files changed, 12 insertions(+), 32 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 5cb985bc1..68facb0ea 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,7 +8,6 @@
       "name": "leximpact-socio-fiscal-ui",
       "version": "0.0.28",
       "dependencies": {
-        "node-fetch": "^2.6.5",
         "sk-auth": "^0.3.7",
         "xxhash-addon": "^1.4.0"
       },
@@ -23,7 +22,6 @@
         "@tailwindcss/forms": "^0.4.0",
         "@types/cookie": "^0.4.0",
         "@types/fs-extra": "^9.0.11",
-        "@types/node-fetch": "^2.5.12",
         "@typescript-eslint/eslint-plugin": "^5.0.0",
         "@typescript-eslint/parser": "^5.0.0",
         "autoprefixer": "^10.2.5",
@@ -4926,6 +4924,7 @@
       "version": "2.6.6",
       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz",
       "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==",
+      "dev": true,
       "dependencies": {
         "whatwg-url": "^5.0.0"
       },
@@ -6700,7 +6699,8 @@
     "node_modules/tr46": {
       "version": "0.0.3",
       "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
-      "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+      "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
+      "dev": true
     },
     "node_modules/truncate-utf8-bytes": {
       "version": "1.0.2",
@@ -6899,12 +6899,14 @@
     "node_modules/webidl-conversions": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
-      "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+      "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
+      "dev": true
     },
     "node_modules/whatwg-url": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
       "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+      "dev": true,
       "dependencies": {
         "tr46": "~0.0.3",
         "webidl-conversions": "^3.0.0"
@@ -10642,6 +10644,7 @@
       "version": "2.6.6",
       "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz",
       "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==",
+      "dev": true,
       "requires": {
         "whatwg-url": "^5.0.0"
       }
@@ -11843,7 +11846,8 @@
     "tr46": {
       "version": "0.0.3",
       "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
-      "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+      "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
+      "dev": true
     },
     "truncate-utf8-bytes": {
       "version": "1.0.2",
@@ -11980,12 +11984,14 @@
     "webidl-conversions": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
-      "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+      "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
+      "dev": true
     },
     "whatwg-url": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
       "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+      "dev": true,
       "requires": {
         "tr46": "~0.0.3",
         "webidl-conversions": "^3.0.0"
diff --git a/package.json b/package.json
index 23fa60d3d..57283a15c 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,6 @@
     "preview": "svelte-kit preview"
   },
   "dependencies": {
-    "node-fetch": "^2.6.5",
     "sk-auth": "^0.3.7",
     "xxhash-addon": "^1.4.0"
   },
@@ -26,7 +25,6 @@
     "@tailwindcss/forms": "^0.4.0",
     "@types/cookie": "^0.4.0",
     "@types/fs-extra": "^9.0.11",
-    "@types/node-fetch": "^2.5.12",
     "@typescript-eslint/eslint-plugin": "^5.0.0",
     "@typescript-eslint/parser": "^5.0.0",
     "autoprefixer": "^10.2.5",
diff --git a/src/hooks.ts b/src/hooks.ts
index 5d19338d1..fa6ba69f8 100644
--- a/src/hooks.ts
+++ b/src/hooks.ts
@@ -1,33 +1,9 @@
 import type { GetSession, Handle } from "@sveltejs/kit"
-import fetch, { Response, Request, Headers } from "node-fetch"
 
 import config from "$lib/server/config"
 import { oauth2Authenticator } from "$lib/server/oauth2"
 import type { Session } from "$lib/sessions"
 
-// Globally declare fetch, because it is not (yet?) available  in @sveltejs/adapter-node,
-// but sk-auth needs it.
-if (globalThis.fetch === undefined) {
-  Object.defineProperties(globalThis, {
-    fetch: {
-      enumerable: true,
-      value: fetch,
-    },
-    Response: {
-      enumerable: true,
-      value: Response,
-    },
-    Request: {
-      enumerable: true,
-      value: Request,
-    },
-    Headers: {
-      enumerable: true,
-      value: Headers,
-    },
-  })
-}
-
 const { githubPersonalAccessToken, openfiscaRepository } = config
 
 export const getSession: GetSession<{}, Session> = async (request) => {
-- 
GitLab