diff --git a/examples/mailchimp-transactional/package.json b/examples/mailchimp-transactional/package.json new file mode 100644 index 0000000000..a04bd7ac09 --- /dev/null +++ b/examples/mailchimp-transactional/package.json @@ -0,0 +1,27 @@ +{ + "name": "react-email-with-mailchimp-transactional", + "license": "MIT", + "private": true, + "sideEffects": false, + "type": "module", + "main": "./dist/index.js", + "files": [ + "dist/**" + ], + "scripts": { + "build": "tsdown src/index.tsx --format esm --target node20", + "dev": "tsdown src/index.tsx --format esm --target node20 --watch", + "clean": "rm -rf dist" + }, + "dependencies": { + "@mailchimp/mailchimp_transactional": "1.4.1", + "react-email": "6.0.3", + "react": "19.2.4", + "react-dom": "19.2.4" + }, + "devDependencies": { + "@types/mailchimp__mailchimp_transactional": "1.0.12", + "tsdown": "0.21.9", + "typescript": "5.9.3" + } +} diff --git a/examples/mailchimp-transactional/src/email.tsx b/examples/mailchimp-transactional/src/email.tsx new file mode 100644 index 0000000000..f57a622c66 --- /dev/null +++ b/examples/mailchimp-transactional/src/email.tsx @@ -0,0 +1,13 @@ +import { Button, Html } from 'react-email'; + +interface EmailProps { + url: string; +} + +export const Email: React.FC> = ({ url }) => { + return ( + + + + ); +}; diff --git a/examples/mailchimp-transactional/src/index.tsx b/examples/mailchimp-transactional/src/index.tsx new file mode 100644 index 0000000000..98db2960b2 --- /dev/null +++ b/examples/mailchimp-transactional/src/index.tsx @@ -0,0 +1,16 @@ +import mailchimpTransactional from '@mailchimp/mailchimp_transactional'; +import { render } from 'react-email'; +import { Email } from './email'; + +const mailchimp = mailchimpTransactional(process.env.MAILCHIMP_API_KEY || ''); + +const emailHtml = await render(); + +await mailchimp.messages.send({ + message: { + subject: 'Hello world', + from_email: 'hello@example.com', + to: [{ email: 'hello@example.com', type: 'to' }], + html: emailHtml, + }, +}); diff --git a/examples/mailchimp-transactional/tsconfig.json b/examples/mailchimp-transactional/tsconfig.json new file mode 100644 index 0000000000..e5f61695a0 --- /dev/null +++ b/examples/mailchimp-transactional/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "composite": false, + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "inlineSources": false, + "isolatedModules": true, + "moduleResolution": "node", + "noUnusedLocals": false, + "noUnusedParameters": false, + "preserveWatchOutput": true, + "skipLibCheck": true, + "strict": true, + "strictNullChecks": true, + "jsx": "react-jsx", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "module": "ESNext", + "target": "ESNext", + "types": ["vitest/globals"] + }, + "include": ["."], + "exclude": ["dist", "build", "node_modules"] +}