Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
421a0e8
feat: Separate preview server from `react-email` (#2182)
gabrielmfern May 20, 2025
ecd9bcb
chore(deps): bump next from 14.2.3 to 15.3.1 (#2244)
dependabot[bot] May 28, 2025
48f7fda
fix(render): reactDOMServer import on browser and some bundlers (#2221)
MendyLanda May 7, 2025
73ded9a
chore(root): Version packages (canary) (#2233)
github-actions[bot] May 12, 2025
5d89ad3
chore(root): Add changesets
gabrielmfern May 12, 2025
75f7e7b
fix(preview-server): `<svg>` not being flagged by compatibility check…
PedroMarianoAlmeida May 27, 2025
289eb58
chore(root): Version packages (canary) (#2269)
github-actions[bot] May 28, 2025
7717f91
fix(preview-server): hot reloading with collapsed directories (#2284)
gabrielmfern Jun 9, 2025
9ee0275
fix(react-email): security issue with path for static files (#2289)
gabrielmfern Jun 10, 2025
cec0d9b
fix(preview-server): forced `color-scheme: dark` (#2271)
gabrielmfern Jun 10, 2025
636f593
add playground package for writing emails in
gabrielmfern Jun 11, 2025
9ad0efc
add path alias for _lib/components
gabrielmfern Jun 11, 2025
b2048c2
move components to the root
gabrielmfern Jun 11, 2025
22cf21d
add readme
gabrielmfern Jun 11, 2025
ed28ae3
lint
gabrielmfern Jun 11, 2025
bb8865e
fix indenting for tsx in playground's readme
gabrielmfern Jun 11, 2025
11ec5d1
rename dev build scripts to build:watch to avoid confusion
gabrielmfern Jun 11, 2025
5e6c549
remove root dev script to avoid confusion
gabrielmfern Jun 11, 2025
cb6766f
remove build script
gabrielmfern Jun 11, 2025
6a130e8
update 3.
gabrielmfern Jun 11, 2025
8aeb629
lint
gabrielmfern Jun 11, 2025
4d352a8
add explicit file path
gabrielmfern Jun 11, 2025
ca51f7f
fix body import
gabrielmfern Jun 12, 2025
3a78e96
fix dev command
gabrielmfern Jun 12, 2025
c7c3c7e
ignore directories inside emails too
gabrielmfern Jun 12, 2025
a9cedf7
add example.tsx email template
gabrielmfern Jun 17, 2025
d8c6109
remove hanging changesets
gabrielmfern Jun 30, 2025
01be3cf
remove hanging change
gabrielmfern Jun 30, 2025
c890e83
lint
gabrielmfern Jun 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@
"private": true,
"scripts": {
"build": "turbo run build",
"dev": "turbo run dev --parallel --concurrency 25",
"release": "turbo run build --filter=./packages/* && pnpm changeset publish",
"canary:enter": "changeset pre enter canary",
"canary:exit": "changeset pre exit",
"version": "changeset version && pnpm install --no-frozen-lockfile && pnpm lint:fix",
"lint": "biome check",
"lint:fix": "biome check --write .",
"release": "turbo run build --filter=./packages/* && pnpm changeset publish",
"test": "turbo run test",
"test:watch": "turbo run test:watch"
"test:watch": "turbo run test:watch",
"version": "changeset version && pnpm install --no-frozen-lockfile && pnpm lint:fix"
},
"devDependencies": {
"@biomejs/biome": "2.0.5",
Expand Down
6 changes: 3 additions & 3 deletions packages/body/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"peerDependencies": {
"react": "^18.0 || ^19.0 || ^19.0.0-rc"
Expand Down
6 changes: 3 additions & 3 deletions packages/button/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
4 changes: 2 additions & 2 deletions packages/code-block/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch"
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/code-inline/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
},
"license": "MIT",
"scripts": {
"dev": "pnpm build --watch",
"clean": "rm -rf dist",
"build": "tsup src/index.ts --format esm,cjs --dts --external react"
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist"
},
"engines": {
"node": ">=18.0.0"
Expand Down
6 changes: 3 additions & 3 deletions packages/column/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
4 changes: 2 additions & 2 deletions packages/components/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch"
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/container/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/font/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"peerDependencies": {
"react": "^18.0 || ^19.0 || ^19.0.0-rc"
Expand Down
6 changes: 3 additions & 3 deletions packages/head/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/heading/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/hr/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/html/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/img/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/link/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/markdown/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@
},
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"keywords": [
"react",
Expand Down
6 changes: 3 additions & 3 deletions packages/preview/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion packages/react-email/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
"type": "module",
"scripts": {
"build": "tsup-node",
"build:watch": "tsup-node --watch src",
"clean": "rm -rf dist",
"dev": "tsup-node --watch src",
"test": "vitest run",
"test:watch": "vitest"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/render/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@
"license": "MIT",
"scripts": {
"build": "tsup-node",
"build:watch": "tsup-node --watch",
"clean": "rm -rf dist",
"dev": "tsup-node --watch",
"test": "vitest run",
"test:watch": "vitest"
},
Expand Down
6 changes: 3 additions & 3 deletions packages/row/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/section/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/tailwind/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsc && NODE_ENV=production vite build --mode production && node ./copy-tailwind-types.mjs",
"dev": "vite build --watch",
"build:watch": "vite build --watch",
"clean": "rm -rf dist",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
6 changes: 3 additions & 3 deletions packages/text/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
"license": "MIT",
"scripts": {
"build": "tsup src/index.ts --format esm,cjs --dts --external react",
"build:watch": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"clean": "rm -rf dist",
"dev": "tsup src/index.ts --format esm,cjs --dts --external react --watch",
"test:watch": "vitest",
"test": "vitest run"
"test": "vitest run",
"test:watch": "vitest"
},
"repository": {
"type": "git",
Expand Down
40 changes: 40 additions & 0 deletions playground/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# React Email Playground

This is a playground for React Email made to experiment with components in realtime.

It includes all components directly from source with a path alias import of `@react-email/components` and hot reloading in the `dev` script.

## Development workflow

### 1. Create an email template

Create a new file at `playground/emails/testing.tsx`

```tsx emails/testing.tsx
import { Html, Head, Body, Tailwind, Text } from '@react-email/components';

export default function Testing() {
return <Tailwind>
<Html>
<Head/>

<Body className="bg-black text-white">
<Text className="m-0 my-4 bg-cyan-200 text-slate-800">
This is a testing email template.
</Text>
</Body>
</Html>
</Tailwind>;
}
```

### 2. Run playground server

```sh
pnpm dev
```

### 3. Open in your browser

Go to http://localhost:3000

19 changes: 19 additions & 0 deletions playground/components.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
export * from '../packages/body/src';
export * from '../packages/button/src';
export * from '../packages/code-block/src';
export * from '../packages/code-inline/src';
export * from '../packages/column/src';
export * from '../packages/container/src';
export * from '../packages/font/src';
export * from '../packages/head/src';
export * from '../packages/heading/src';
export * from '../packages/hr/src';
export * from '../packages/html/src';
export * from '../packages/img/src';
export * from '../packages/link/src';
export * from '../packages/markdown/src';
export * from '../packages/preview/src';
export * from '../packages/row/src';
export * from '../packages/section/src';
export * from '../packages/tailwind/src';
export * from '../packages/text/src';
2 changes: 2 additions & 0 deletions playground/emails/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
**/*.tsx
!example.tsx
Loading
Loading