-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add zod schemas for app metadata living in config.json #14952
feat: Add zod schemas for app metadata living in config.json #14952
Conversation
@smk1993 is attempting to deploy a commit to the cal Team on Vercel. A member of the Team first needs to authorize it. |
Thank you for following the naming conventions! 🙏 Feel free to join our discord and post your PR link. |
Graphite Automations"Add community label" took an action on this PR • (05/09/24)1 label was added to this PR based on Keith Williams's automation. "Add foundation team as reviewer" took an action on this PR • (05/09/24)1 reviewer was added to this PR based on Keith Williams's automation. "Add consumer team as reviewer" took an action on this PR • (05/09/24)1 reviewer was added to this PR based on Keith Williams's automation. |
📦 Next.js Bundle Analysis for @calcom/webThis analysis was generated by the Next.js Bundle Analysis action. 🤖 Seventy-nine Pages Changed SizeThe following pages changed size from the code in this PR compared to its base branch:
DetailsOnly the gzipped size is provided here based on an expert tip. First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If Any third party scripts you have added directly to your app using the The "Budget %" column shows what percentage of your performance budget the First Load total takes up. For example, if your budget was 100kb, and a given page's first load size was 10kb, it would be 10% of your budget. You can also see how much this has increased or decreased compared to the base branch of your PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this. If you see "+/- <0.01%" it means that there was a change in bundle size, but it is a trivial enough amount that it can be ignored. |
Hey @smk1993, thanks for the huge PR 🙏 But I think we should keep the config.json files as they are auto-generated through AppStore CLI and instead just parse config.json through a zod schema. That way config is still typed when we import it It is easier to generate JSON files as compared to a .ts/.js file and automate it's modification through AppStore CLI. Also, as zod parsing happens at run time and there are many many apps which could be a possible slow down. I was thinking that maybe we parse the config.json at compile time somehow. We want to ensure that people don't enter invalid, non-existent props in config.json. |
Thanks @hariombalhara for your feedback , I could try to wrap the config.json imports with a Zod schema , I will raise a sample PR for this , I will do it for all config files once its fine . |
What does this PR do?
provides type check using "AppMeta" type on existing config.json files .
Fixed imports on dependent files
config.json
#14808 (GitHub issue number)Mandatory Tasks (DO NOT REMOVE)
How should this be tested?
Checklist