From 450a3ce7418e9e581966cfba1166ddad905fc75d Mon Sep 17 00:00:00 2001 From: Lukasz Ostrowski Date: Tue, 7 Feb 2023 08:04:39 +0100 Subject: [PATCH] Remove inferWebhooks (#168) --- package.json | 5 ---- src/infer-webhooks.ts | 55 ------------------------------------------- tsup.config.ts | 1 - 3 files changed, 61 deletions(-) delete mode 100644 src/infer-webhooks.ts diff --git a/package.json b/package.json index 0e85ca5..9026a11 100644 --- a/package.json +++ b/package.json @@ -128,11 +128,6 @@ "import": "./saleor-app.mjs", "require": "./saleor-app.js" }, - "./infer-webhooks": { - "types": "./infer-webhooks.d.ts", - "import": "./infer-webhooks.mjs", - "require": "./infer-webhooks.js" - }, "./verify-jwt": { "types": "./verify-jwt.d.ts", "import": "./verify-jwt.mjs", diff --git a/src/infer-webhooks.ts b/src/infer-webhooks.ts deleted file mode 100644 index 74c04bb..0000000 --- a/src/infer-webhooks.ts +++ /dev/null @@ -1,55 +0,0 @@ -import fg from "fast-glob"; -import { print } from "graphql/language/printer.js"; -import path from "path"; - -const capitalize = (value: string) => value.charAt(0).toUpperCase() + value.slice(1); - -const dropFileExtension = (filename: string) => path.parse(filename).name; - -/** - * @deprecated remove magic -> change CLI to use static code generation - */ -export const inferWebhooks = async ( - baseURL: string, - webhooksPath: string, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - generatedGraphQL: any -) => { - let entries; - - if (process.env.NODE_ENV === "production") { - entries = await fg(["*.js"], { cwd: webhooksPath }); - } else { - entries = await fg(["*.ts"], { cwd: "pages/api/webhooks" }); - } - - return entries.map(dropFileExtension).map((name: string) => { - const camelCaseName = name.split("-").map(capitalize).join(""); - - const eventName = name.toUpperCase().replace(/-/g, "_"); - let eventType: string; - if (Object.values(generatedGraphQL.WebhookEventTypeAsyncEnum).includes(eventName)) { - eventType = "asyncEvents"; - } else if (Object.values(generatedGraphQL.WebhookEventTypeSyncEnum).includes(eventName)) { - eventType = "syncEvents"; - } else { - throw Error("Event type not found."); - } - - const statement = `${camelCaseName}SubscriptionDocument`; - let query: string; - if (statement in generatedGraphQL) { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - query = print((generatedGraphQL as any)[statement]); - } else { - throw Error("Subscription not found."); - } - - return { - name, - [eventType]: [eventName], - query, - targetUrl: `${baseURL}/api/webhooks/${name}`, - }; - }); -}; diff --git a/tsup.config.ts b/tsup.config.ts index 20f8f98..6fb9644 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -7,7 +7,6 @@ export default defineConfig({ "src/urls.ts", "src/headers.ts", "src/saleor-app.ts", - "src/infer-webhooks.ts", "src/verify-jwt.ts", "src/APL/index.ts", "src/app-bridge/index.ts",