react-email 5.0.0-canary.2 → 5.0.0-canary.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # react-email
2
2
 
3
+ ## 5.0.0-canary.4
4
+
5
+ ## 5.0.0-canary.3
6
+
7
+ ### Minor Changes
8
+
9
+ - 95c7417: Dark mode switcher emulating email client color inversion
10
+
3
11
  ## 5.0.0-canary.2
4
12
 
5
13
  ### Patch Changes
package/dist/index.js CHANGED
@@ -86,7 +86,7 @@ const getEmailsDirectoryMetadata = async (absolutePathToEmailsDirectory, keepFil
86
86
  //#region package.json
87
87
  var package_default = {
88
88
  name: "react-email",
89
- version: "5.0.0-canary.2",
89
+ version: "5.0.0-canary.4",
90
90
  description: "A live preview of your emails right in your browser.",
91
91
  bin: { "email": "./dist/index.js" },
92
92
  type: "module",
@@ -104,7 +104,7 @@ var package_default = {
104
104
  "directory": "packages/react-email"
105
105
  },
106
106
  keywords: ["react", "email"],
107
- engines: { "node": ">=18.0.0" },
107
+ engines: { "node": ">=22.0.0" },
108
108
  dependencies: {
109
109
  "@babel/parser": "^7.27.0",
110
110
  "@babel/traverse": "^7.27.0",
@@ -129,7 +129,7 @@ var package_default = {
129
129
  "@types/babel__traverse": "7.20.7",
130
130
  "@types/mime-types": "2.1.4",
131
131
  "@types/prompts": "2.4.9",
132
- "next": "^15.3.2",
132
+ "next": "16.0.1",
133
133
  "react": "19.0.0",
134
134
  "react-dom": "19.0.0",
135
135
  "typescript": "5.8.3"
@@ -228,28 +228,15 @@ module.exports = {
228
228
  PREVIEW_SERVER_LOCATION: '${builtPreviewAppPath.replace(/\\/g, "/")}',
229
229
  USER_PROJECT_LOCATION: userProjectLocation
230
230
  },
231
- // this is needed so that the code for building emails works properly
232
- webpack: (
233
- /** @type {import('webpack').Configuration & { externals: string[] }} */
234
- config,
235
- { isServer }
236
- ) => {
237
- if (isServer) {
238
- config.externals.push('esbuild');
239
- }
240
-
241
- return config;
242
- },
231
+ serverExternalPackages: ['esbuild'],
243
232
  typescript: {
244
233
  ignoreBuildErrors: true
245
234
  },
246
- eslint: {
247
- ignoreDuringBuilds: true
248
- },
249
235
  experimental: {
250
236
  webpackBuildWorker: true
251
237
  },
252
238
  }`;
239
+ await fs.promises.rm(path.resolve(builtPreviewAppPath, "./next.config.ts"));
253
240
  await fs.promises.writeFile(path.resolve(builtPreviewAppPath, "./next.config.js"), nextConfigContents, "utf8");
254
241
  };
255
242
  const getEmailSlugsFromEmailDirectory = (emailDirectory, emailsDirectoryAbsolutePath) => {
@@ -280,12 +267,11 @@ export function generateStaticParams() {
280
267
  const updatePackageJson = async (builtPreviewAppPath) => {
281
268
  const packageJsonPath = path.resolve(builtPreviewAppPath, "./package.json");
282
269
  const packageJson = JSON.parse(await fs.promises.readFile(packageJsonPath, "utf8"));
283
- packageJson.scripts.build = "next build";
270
+ packageJson.scripts.build = "next build --webpack";
284
271
  packageJson.scripts.start = "next start";
285
272
  delete packageJson.scripts.postbuild;
286
273
  packageJson.name = "preview-server";
287
274
  for (const [dependency, version$1] of Object.entries(packageJson.dependencies)) packageJson.dependencies[dependency] = version$1.replace("workspace:", "");
288
- delete packageJson.devDependencies["@react-email/render"];
289
275
  delete packageJson.devDependencies["@react-email/components"];
290
276
  delete packageJson.scripts.prepare;
291
277
  await fs.promises.writeFile(packageJsonPath, JSON.stringify(packageJson), "utf8");
@@ -662,8 +648,8 @@ const safeAsyncServerListen = (server, port) => {
662
648
  };
663
649
  const startDevServer = async (emailsDirRelativePath, staticBaseDirRelativePath, port) => {
664
650
  const [majorNodeVersion] = process.versions.node.split(".");
665
- if (majorNodeVersion && Number.parseInt(majorNodeVersion) < 18) {
666
- console.error(` ${logSymbols.error} Node ${majorNodeVersion} is not supported. Please upgrade to Node 18 or higher.`);
651
+ if (majorNodeVersion && Number.parseInt(majorNodeVersion) < 20) {
652
+ console.error(` ${logSymbols.error} Node ${majorNodeVersion} is not supported. Please upgrade to Node 20 or higher.`);
667
653
  process.exit(1);
668
654
  }
669
655
  const previewServerLocation = await getPreviewServerLocation();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-email",
3
- "version": "5.0.0-canary.2",
3
+ "version": "5.0.0-canary.4",
4
4
  "description": "A live preview of your emails right in your browser.",
5
5
  "bin": {
6
6
  "email": "./dist/index.js"
@@ -17,7 +17,7 @@
17
17
  "email"
18
18
  ],
19
19
  "engines": {
20
- "node": ">=18.0.0"
20
+ "node": ">=22.0.0"
21
21
  },
22
22
  "dependencies": {
23
23
  "@babel/parser": "^7.27.0",
@@ -42,11 +42,11 @@
42
42
  "@types/babel__traverse": "7.20.7",
43
43
  "@types/mime-types": "2.1.4",
44
44
  "@types/prompts": "2.4.9",
45
- "next": "^15.3.2",
45
+ "next": "16.0.1",
46
46
  "react": "19.0.0",
47
47
  "react-dom": "19.0.0",
48
48
  "typescript": "5.8.3",
49
- "@react-email/components": "1.0.0-canary.1"
49
+ "@react-email/components": "1.0.0-canary.3"
50
50
  },
51
51
  "scripts": {
52
52
  "build": "tsdown",
@@ -88,29 +88,17 @@ module.exports = {
88
88
  PREVIEW_SERVER_LOCATION: '${builtPreviewAppPath.replace(/\\/g, '/')}',
89
89
  USER_PROJECT_LOCATION: userProjectLocation
90
90
  },
91
- // this is needed so that the code for building emails works properly
92
- webpack: (
93
- /** @type {import('webpack').Configuration & { externals: string[] }} */
94
- config,
95
- { isServer }
96
- ) => {
97
- if (isServer) {
98
- config.externals.push('esbuild');
99
- }
100
-
101
- return config;
102
- },
91
+ serverExternalPackages: ['esbuild'],
103
92
  typescript: {
104
93
  ignoreBuildErrors: true
105
94
  },
106
- eslint: {
107
- ignoreDuringBuilds: true
108
- },
109
95
  experimental: {
110
96
  webpackBuildWorker: true
111
97
  },
112
98
  }`;
113
99
 
100
+ await fs.promises.rm(path.resolve(builtPreviewAppPath, './next.config.ts'));
101
+
114
102
  await fs.promises.writeFile(
115
103
  path.resolve(builtPreviewAppPath, './next.config.js'),
116
104
  nextConfigContents,
@@ -202,7 +190,8 @@ const updatePackageJson = async (builtPreviewAppPath: string) => {
202
190
  dependencies: Record<string, string>;
203
191
  devDependencies: Record<string, string>;
204
192
  };
205
- packageJson.scripts.build = 'next build';
193
+ // Turbopack has some errors with the imports in @react-email/tailwind
194
+ packageJson.scripts.build = 'next build --webpack';
206
195
  packageJson.scripts.start = 'next start';
207
196
  delete packageJson.scripts.postbuild;
208
197
 
@@ -214,12 +203,6 @@ const updatePackageJson = async (builtPreviewAppPath: string) => {
214
203
  packageJson.dependencies[dependency] = version.replace('workspace:', '');
215
204
  }
216
205
 
217
- // We remove this one to avoid having resolve issues on our demo build process.
218
- // This is only used in the `export` command so it's irrelevant to have it here.
219
- //
220
- // See `src/actions/render-email-by-path` for more info on how we render the
221
- // email templates without `@react-email/render` being installed.
222
- delete packageJson.devDependencies['@react-email/render'];
223
206
  delete packageJson.devDependencies['@react-email/components'];
224
207
  delete packageJson.scripts.prepare;
225
208
 
@@ -22,6 +22,7 @@ exports[`tree(__dirname, 2) 1`] = `
22
22
  ├── index.ts
23
23
  ├── packageJson.ts
24
24
  ├── register-spinner-autostopping.ts
25
+ ├── style-text.ts
25
26
  ├── tree.spec.ts
26
27
  └── tree.ts"
27
28
  `;
@@ -33,9 +33,9 @@ export const startDevServer = async (
33
33
  port: number,
34
34
  ): Promise<http.Server> => {
35
35
  const [majorNodeVersion] = process.versions.node.split('.');
36
- if (majorNodeVersion && Number.parseInt(majorNodeVersion) < 18) {
36
+ if (majorNodeVersion && Number.parseInt(majorNodeVersion) < 20) {
37
37
  console.error(
38
- ` ${logSymbols.error} Node ${majorNodeVersion} is not supported. Please upgrade to Node 18 or higher.`,
38
+ ` ${logSymbols.error} Node ${majorNodeVersion} is not supported. Please upgrade to Node 20 or higher.`,
39
39
  );
40
40
  process.exit(1);
41
41
  }
package/tsconfig.json CHANGED
@@ -23,7 +23,7 @@
23
23
  "declaration": false,
24
24
  "declarationMap": false,
25
25
  "incremental": false,
26
- "jsx": "preserve",
26
+ "jsx": "react-jsx",
27
27
  "lib": ["dom", "dom.iterable", "esnext", "ESNext.AsyncIterable"],
28
28
  "noEmit": true,
29
29
  "strict": false,