From 009ef0eeb8b09bdd03956127a44e3d60b3e218a2 Mon Sep 17 00:00:00 2001 From: wolfy1339 Date: Sat, 17 Jun 2023 12:32:13 -0400 Subject: [PATCH] fix: remove old polyfills Remove `node-fetch` as we only support NodeJS v18+ Remove `fromentries` as support for `Object.fromEntries()` was added in NodeJS v12 --- package-lock.json | 120 ------------------------------- package.json | 3 - src/middleware/handle-request.ts | 4 +- test/deprecations.test.ts | 14 ---- test/web-worker-handler.test.ts | 13 ---- 5 files changed, 1 insertion(+), 153 deletions(-) diff --git a/package-lock.json b/package-lock.json index a6a41d0b2..f550226e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,21 +16,18 @@ "@octokit/oauth-authorization-url": "^6.0.2", "@octokit/oauth-methods": "^3.0.1", "@types/aws-lambda": "^8.10.83", - "fromentries": "^1.3.1", "universal-user-agent": "^6.0.0" }, "devDependencies": { "@octokit/tsconfig": "^2.0.0", "@types/jest": "^29.0.0", "@types/node": "^18.0.0", - "@types/node-fetch": "^2.5.4", "esbuild": "^0.18.0", "express": "^4.17.1", "fetch-mock": "^9.0.0", "glob": "^10.2.5", "jest": "^29.0.0", "nock": "^13.0.0", - "node-fetch": "^2.6.0", "prettier": "2.8.8", "semantic-release-plugin-update-version-in-files": "^1.0.0", "ts-jest": "^29.0.0", @@ -2327,16 +2324,6 @@ "integrity": "sha512-QAkjjRA1N7gPJeAP4WLXZtYv6+eMXFNviqktCDt4GLcmCugMr5BcRHfkOjCQzvCsnMp+L79a54zBkbw356xv9Q==", "dev": true }, - "node_modules/@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, "node_modules/@types/prettier": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", @@ -2444,12 +2431,6 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, "node_modules/babel-jest": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", @@ -2971,18 +2952,6 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -3080,15 +3049,6 @@ "node": ">=0.10.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -3500,20 +3460,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -3532,25 +3478,6 @@ "node": ">= 0.6" } }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -9245,16 +9172,6 @@ "integrity": "sha512-QAkjjRA1N7gPJeAP4WLXZtYv6+eMXFNviqktCDt4GLcmCugMr5BcRHfkOjCQzvCsnMp+L79a54zBkbw356xv9Q==", "dev": true }, - "@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", - "dev": true, - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, "@types/prettier": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", @@ -9341,12 +9258,6 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, "babel-jest": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", @@ -9728,15 +9639,6 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -9814,12 +9716,6 @@ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -10137,17 +10033,6 @@ "signal-exit": "^4.0.1" } }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -10160,11 +10045,6 @@ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, - "fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==" - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", diff --git a/package.json b/package.json index c2414ecb7..d65034f9c 100644 --- a/package.json +++ b/package.json @@ -27,21 +27,18 @@ "@octokit/oauth-authorization-url": "^6.0.2", "@octokit/oauth-methods": "^3.0.1", "@types/aws-lambda": "^8.10.83", - "fromentries": "^1.3.1", "universal-user-agent": "^6.0.0" }, "devDependencies": { "@octokit/tsconfig": "^2.0.0", "@types/jest": "^29.0.0", "@types/node": "^18.0.0", - "@types/node-fetch": "^2.5.4", "esbuild": "^0.18.0", "express": "^4.17.1", "fetch-mock": "^9.0.0", "glob": "^10.2.5", "jest": "^29.0.0", "nock": "^13.0.0", - "node-fetch": "^2.6.0", "prettier": "2.8.8", "semantic-release-plugin-update-version-in-files": "^1.0.0", "ts-jest": "^29.0.0", diff --git a/src/middleware/handle-request.ts b/src/middleware/handle-request.ts index e8f0212e8..12216132f 100644 --- a/src/middleware/handle-request.ts +++ b/src/middleware/handle-request.ts @@ -2,8 +2,6 @@ import { OAuthApp } from "../index"; import { unknownRouteResponse } from "./unknown-route-response"; import type { HandlerOptions, OctokitRequest, OctokitResponse } from "./types"; import type { ClientType, Options } from "../types"; -// @ts-ignore - requires esModuleInterop flag -import fromEntries from "fromentries"; export async function handleRequest( app: OAuthApp>, @@ -65,7 +63,7 @@ export async function handleRequest( }; } const { searchParams } = new URL(request.url as string, "http://localhost"); - const query = fromEntries(searchParams) as { + const query = Object.fromEntries(searchParams) as { state?: string; scopes?: string; code?: string; diff --git a/test/deprecations.test.ts b/test/deprecations.test.ts index 9afaa6400..ca1decb4c 100644 --- a/test/deprecations.test.ts +++ b/test/deprecations.test.ts @@ -1,17 +1,3 @@ -import * as nodeFetch from "node-fetch"; -import fromEntries from "fromentries"; - describe("deprecations", () => { - beforeAll(() => { - Object.fromEntries ||= fromEntries; - (global as any).Request = nodeFetch.Request; - (global as any).Response = nodeFetch.Response; - }); - - afterAll(() => { - delete (global as any).Request; - delete (global as any).Response; - }); - it("has no deprecations currently", async () => {}); }); diff --git a/test/web-worker-handler.test.ts b/test/web-worker-handler.test.ts index 1bab6c7a7..51eaf900b 100644 --- a/test/web-worker-handler.test.ts +++ b/test/web-worker-handler.test.ts @@ -1,20 +1,7 @@ import { URL } from "url"; -import * as nodeFetch from "node-fetch"; -import fromEntries from "fromentries"; import { createWebWorkerHandler, OAuthApp } from "../src"; describe("createWebWorkerHandler(app)", () => { - beforeAll(() => { - Object.fromEntries ||= fromEntries; - (global as any).Request = nodeFetch.Request; - (global as any).Response = nodeFetch.Response; - }); - - afterAll(() => { - delete (global as any).Request; - delete (global as any).Response; - }); - it("support both oauth-app and github-app", () => { const oauthApp = new OAuthApp({ clientType: "oauth-app",