Splits appData schemas to prevent circular dependencies
This commit is contained in:
@@ -60,6 +60,7 @@ function getAppName(candidatePath) {
|
||||
|
||||
function generateFiles() {
|
||||
const browserOutput = [`import dynamic from "next/dynamic"`];
|
||||
const schemasOutput = [];
|
||||
const serverOutput = [];
|
||||
const appDirs: { name: string; path: string }[] = [];
|
||||
|
||||
@@ -174,7 +175,7 @@ function generateFiles() {
|
||||
})
|
||||
);
|
||||
|
||||
browserOutput.push(
|
||||
schemasOutput.push(
|
||||
...getObjectExporter("appDataSchemas", {
|
||||
fileToBeImported: "zod.ts",
|
||||
// Import path must have / even for windows and not \
|
||||
@@ -209,15 +210,15 @@ function generateFiles() {
|
||||
Don't modify this file manually.
|
||||
**/
|
||||
`;
|
||||
fs.writeFileSync(
|
||||
`${APP_STORE_PATH}/apps.server.generated.ts`,
|
||||
formatOutput(`${banner}${serverOutput.join("\n")}`)
|
||||
);
|
||||
fs.writeFileSync(
|
||||
`${APP_STORE_PATH}/apps.browser.generated.tsx`,
|
||||
formatOutput(`${banner}${browserOutput.join("\n")}`)
|
||||
);
|
||||
console.log("Generated `apps.server.generated.ts` and `apps.browser.generated.tsx`");
|
||||
const filesToGenerate: [string, string[]][] = [
|
||||
["apps.server.generated.ts", serverOutput],
|
||||
["apps.browser.generated.tsx", browserOutput],
|
||||
["apps.schemas.generated.ts", schemasOutput],
|
||||
];
|
||||
filesToGenerate.forEach(([fileName, output]) => {
|
||||
fs.writeFileSync(`${APP_STORE_PATH}/${fileName}`, formatOutput(`${banner}${output.join("\n")}`));
|
||||
});
|
||||
console.log(`Generated ${filesToGenerate.map(([fileName]) => fileName).join(", ")}`);
|
||||
}
|
||||
|
||||
const debouncedGenerateFiles = debounce(generateFiles);
|
||||
|
||||
@@ -11,14 +11,11 @@ import { metadata as campfire_meta } from "./campfire/_metadata";
|
||||
import { metadata as closecomothercalendar_meta } from "./closecomothercalendar/_metadata";
|
||||
import { metadata as dailyvideo_meta } from "./dailyvideo/_metadata";
|
||||
import { metadata as routing_forms_meta } from "./ee/routing-forms/_metadata";
|
||||
import { appDataSchema as routing_forms_schema } from "./ee/routing-forms/zod";
|
||||
import { metadata as exchange2013calendar_meta } from "./exchange2013calendar/_metadata";
|
||||
import { metadata as exchange2016calendar_meta } from "./exchange2016calendar/_metadata";
|
||||
import { metadata as exchangecalendar_meta } from "./exchangecalendar/_metadata";
|
||||
import { metadata as fathom_meta } from "./fathom/_metadata";
|
||||
import { appDataSchema as fathom_schema } from "./fathom/zod";
|
||||
import { metadata as giphy_meta } from "./giphy/_metadata";
|
||||
import { appDataSchema as giphy_schema } from "./giphy/zod";
|
||||
import { metadata as googlecalendar_meta } from "./googlecalendar/_metadata";
|
||||
import { metadata as googlevideo_meta } from "./googlevideo/_metadata";
|
||||
import { metadata as hubspotothercalendar_meta } from "./hubspotothercalendar/_metadata";
|
||||
@@ -30,12 +27,10 @@ import { metadata as office365calendar_meta } from "./office365calendar/_metadat
|
||||
import { metadata as office365video_meta } from "./office365video/_metadata";
|
||||
import { metadata as ping_meta } from "./ping/_metadata";
|
||||
import { metadata as rainbow_meta } from "./rainbow/_metadata";
|
||||
import { appDataSchema as rainbow_schema } from "./rainbow/zod";
|
||||
import { metadata as raycast_meta } from "./raycast/_metadata";
|
||||
import { metadata as riverside_meta } from "./riverside/_metadata";
|
||||
import { metadata as slackmessaging_meta } from "./slackmessaging/_metadata";
|
||||
import { metadata as stripepayment_meta } from "./stripepayment/_metadata";
|
||||
import { appDataSchema as stripepayment_schema } from "./stripepayment/zod";
|
||||
import { metadata as tandemvideo_meta } from "./tandemvideo/_metadata";
|
||||
import { metadata as typeform_meta } from "./typeform/_metadata";
|
||||
import { metadata as vital_meta } from "./vital/_metadata";
|
||||
@@ -80,14 +75,6 @@ export const appStoreMetadata = {
|
||||
zapier: zapier_meta,
|
||||
zoomvideo: zoomvideo_meta,
|
||||
};
|
||||
|
||||
export const appDataSchemas = {
|
||||
"routing-forms": routing_forms_schema,
|
||||
fathom: fathom_schema,
|
||||
giphy: giphy_schema,
|
||||
rainbow: rainbow_schema,
|
||||
stripe: stripepayment_schema,
|
||||
};
|
||||
export const InstallAppButtonMap = {
|
||||
applecalendar: dynamic(() => import("./applecalendar/components/InstallAppButton")),
|
||||
around: dynamic(() => import("./around/components/InstallAppButton")),
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
This file is autogenerated using the command `yarn app-store:build --watch`.
|
||||
Don't modify this file manually.
|
||||
**/
|
||||
import { appDataSchema as routing_forms_schema } from "./ee/routing-forms/zod";
|
||||
import { appDataSchema as fathom_schema } from "./fathom/zod";
|
||||
import { appDataSchema as giphy_schema } from "./giphy/zod";
|
||||
import { appDataSchema as rainbow_schema } from "./rainbow/zod";
|
||||
import { appDataSchema as stripepayment_schema } from "./stripepayment/zod";
|
||||
|
||||
export const appDataSchemas = {
|
||||
"routing-forms": routing_forms_schema,
|
||||
fathom: fathom_schema,
|
||||
giphy: giphy_schema,
|
||||
rainbow: rainbow_schema,
|
||||
stripe: stripepayment_schema,
|
||||
};
|
||||
@@ -10,7 +10,7 @@ import type {
|
||||
ZodTypeAny,
|
||||
} from "zod";
|
||||
|
||||
import { appDataSchemas } from "@calcom/app-store/apps.browser.generated";
|
||||
import { appDataSchemas } from "@calcom/app-store/apps.schemas.generated";
|
||||
import dayjs from "@calcom/dayjs";
|
||||
import { slugify } from "@calcom/lib/slugify";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user