309340d3f3
* fix: add missing peer dependencies and fix inconsistent peer dependency declarations - @calcom/ui: Move react from dependencies to peerDependencies (was inconsistent with react-dom being a peer) - @calcom/emails: Move react and react-dom to peerDependencies - @coss/ui: Add react and react-dom as peerDependencies (uses lucide-react and @base-ui/react) - @calcom/app-store: Add react, react-dom, zod as peerDependencies (depends on @calcom/features which has these peers) - @calcom/platform-libraries: Add react, react-dom, stripe, zod as peerDependencies (depends on @calcom/features) - @calcom/features: Add next as peerDependency (depends on @calcom/trpc which has next as peer), update react/react-dom to flexible version ranges - @calcom/features/ee: Add react, react-dom, react-hook-form as peerDependencies (uses @calcom/ui and @hookform packages) Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add more peer dependencies for PnP compatibility Additional changes: - @calcom/app-store: Move stripe from dependencies to peerDependencies - @calcom/ui: Move @tanstack/react-query to peerDependencies (singleton pattern) - @calcom/trpc: Move @tanstack/react-query to peerDependencies (singleton pattern) - @calcom/atoms: Move @tanstack/react-query to peerDependencies (singleton pattern) - @calcom/stripepayment: Add react, react-dom, stripe as peerDependencies - @calcom/caldavcalendar: Add react, react-dom, react-hook-form as peerDependencies - @calcom/exchange2013calendar: Add react, react-dom, react-hook-form as peerDependencies - @calcom/exchange2016calendar: Add react, react-dom, react-hook-form as peerDependencies - @calcom/ics-feed: Add react, react-dom, react-hook-form as peerDependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: revert dependency moves for packages with own builds Packages with their own build step should not have dependencies moved to peerDependencies as they need those deps at build time. Reverted: - @calcom/trpc: Keep @tanstack/react-query out of peerDependencies - @calcom/atoms: Restore @tanstack/react-query to dependencies - @calcom/stripepayment: Restore stripe to dependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
JSX email templates
componentsHolds reusable patternstemplatesA template equals a type of email sent
Usage
import renderEmail from "@calcom/emails/renderEmail";
await renderEmail("TeamInviteEmail", {
language: t,
from: "teampro@example.com",
to: "pro@example.com",
teamName: "Team Pro",
joinLink: "https://cal.com",
});
The first argument is the template name as defined inside templates/index.ts. The second argument are the template props.
Development
You can use an API endpoint to preview the email HTML, there's already one on /apps/web/pages/api/email.ts feel free to change the template to the one you're currently working on.