@react-email/preview-server 4.2.3 → 4.2.5
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/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +4 -4
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/preview/[...slug]/page.js +15 -15
- package/.next/server/app/preview/[...slug]/page.js.nft.json +1 -1
- package/.next/server/app/preview/[...slug]/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/12.js +1 -1
- package/.next/server/chunks/894.js +1 -0
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{713-038a282f97bb997a.js → 713-505889a7a160009b.js} +1 -1
- package/.next/static/chunks/app/layout-c150aaa970ce097a.js +1 -0
- package/.next/static/chunks/app/preview/[...slug]/{page-79206063c626c2d2.js → page-7ecc2002daee7da3.js} +1 -1
- package/.next/trace +28 -28
- package/CHANGELOG.md +8 -0
- package/emails/.gitkeep +0 -0
- package/jsx-runtime/jsx-dev-runtime.js +1 -1
- package/package.json +2 -2
- package/scripts/dev.mts +9 -0
- package/scripts/seed.mts +10 -2
- package/src/utils/create-jsx-runtime.ts +10 -0
- package/.next/server/chunks/255.js +0 -1
- package/.next/static/chunks/app/layout-8eec0b732af76dc4.js +0 -1
- /package/.next/static/{3gXyVkpVHFQYjFGCPJM-h → Nnvq__KH7K-JssDF-_qWF}/_buildManifest.js +0 -0
- /package/.next/static/{3gXyVkpVHFQYjFGCPJM-h → Nnvq__KH7K-JssDF-_qWF}/_ssgManifest.js +0 -0
package/CHANGELOG.md
CHANGED
package/emails/.gitkeep
ADDED
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// This hack is necessary because React forces the use of the non-dev JSX runtime
|
|
2
2
|
// when NODE_ENV is set to 'production', which would break the data-source references
|
|
3
3
|
// we need for stack traces in the preview server.
|
|
4
|
-
|
|
4
|
+
import ReactJSXDevRuntime from 'react/jsx-dev-runtime';
|
|
5
5
|
|
|
6
6
|
export function jsxDEV(type, props, key, isStaticChildren, source, self) {
|
|
7
7
|
const newProps = { ...props };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-email/preview-server",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.5",
|
|
4
4
|
"description": "A live preview of your emails right in your browser.",
|
|
5
5
|
"main": "./index.mjs",
|
|
6
6
|
"dependencies": {
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"postcss": "8.5.3",
|
|
62
62
|
"tailwindcss": "3.4.0",
|
|
63
63
|
"typescript": "5.8.3",
|
|
64
|
-
"@react-email/components": "0.3.
|
|
64
|
+
"@react-email/components": "0.3.2"
|
|
65
65
|
},
|
|
66
66
|
"license": "MIT",
|
|
67
67
|
"repository": {
|
package/scripts/dev.mts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import child_process from 'node:child_process';
|
|
2
2
|
import { promises as fs } from 'node:fs';
|
|
3
|
+
import os from 'node:os';
|
|
3
4
|
import path from 'node:path';
|
|
4
5
|
import url from 'node:url';
|
|
6
|
+
import logSymbols from 'log-symbols';
|
|
7
|
+
|
|
8
|
+
console.info(
|
|
9
|
+
' ',
|
|
10
|
+
logSymbols.warning,
|
|
11
|
+
'This is only running the development server for the UI, this does not run the CLI part of the preview server.',
|
|
12
|
+
os.EOL,
|
|
13
|
+
);
|
|
5
14
|
|
|
6
15
|
const filename = url.fileURLToPath(import.meta.url);
|
|
7
16
|
const dirname = path.dirname(filename);
|
package/scripts/seed.mts
CHANGED
|
@@ -11,8 +11,16 @@ const emailsDirectoryPath = path.join(previewServerRoot, 'emails');
|
|
|
11
11
|
const seedPath = path.join(dirname, './utils/default-seed/');
|
|
12
12
|
|
|
13
13
|
if (existsSync(emailsDirectoryPath)) {
|
|
14
|
-
console.info(
|
|
15
|
-
|
|
14
|
+
console.info(
|
|
15
|
+
'Deleting all files inside the emails directory (except for .gitkeep)',
|
|
16
|
+
);
|
|
17
|
+
const files = await fs.readdir(emailsDirectoryPath);
|
|
18
|
+
for await (const file of files) {
|
|
19
|
+
if (file === '.gitkeep') {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
await fs.rm(file, { recursive: true, force: true });
|
|
23
|
+
}
|
|
16
24
|
}
|
|
17
25
|
|
|
18
26
|
console.info('Copying over the defalt seed to the emails directory');
|
|
@@ -18,6 +18,16 @@ export const createJsxRuntime = async (
|
|
|
18
18
|
'node_modules',
|
|
19
19
|
'.react-email-jsx-runtime',
|
|
20
20
|
);
|
|
21
|
+
if (!fs.existsSync(jsxRuntimePath)) {
|
|
22
|
+
await fs.promises.mkdir(jsxRuntimePath, {
|
|
23
|
+
recursive: true,
|
|
24
|
+
});
|
|
25
|
+
await fs.promises.writeFile(
|
|
26
|
+
path.join(jsxRuntimePath, 'package.json'),
|
|
27
|
+
'{"type": "commonjs"}',
|
|
28
|
+
'utf8',
|
|
29
|
+
);
|
|
30
|
+
}
|
|
21
31
|
await esbuild.build({
|
|
22
32
|
bundle: true,
|
|
23
33
|
outfile: path.join(jsxRuntimePath, 'jsx-dev-runtime.js'),
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=255,exports.ids=[255],exports.modules={1629:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"7fb37c42a667a5aa2e843e684c114eeb0493eef3f2":()=>l});var d=c(24901);c(47185);var e=c(73024),f=c.n(e),g=c(76760),h=c.n(g);let i=async a=>{let b;try{b=await f().promises.open(a,"r")}catch(a){return console.warn(a),!1}if((await b.stat()).isDirectory())return await b.close(),!1;let{ext:c}=h().parse(a);if(![".js",".tsx",".jsx"].includes(c))return await b.close(),!1;let d=await b.readFile("utf8");await b.close();let e=/\bexport\s+default\b/gm.test(d),g=/\bmodule\.exports\s*=/gm.test(d),i=/\bexport\s+\{[^}]*\bdefault\b[^}]*\}/gm.test(d);return e||g||i},j=async(a,b=!1,c=!1,d=a)=>{if(!f().existsSync(a))return;let e=await f().promises.readdir(a,{withFileTypes:!0}),g=await Promise.all(e.map(b=>i(h().join(a,b.name)))),k=e.filter((a,b)=>g[b]).map(a=>b?a.name:a.name.replace(h().extname(a.name),"")),l=await Promise.all(e.filter(a=>a.isDirectory()&&!a.name.startsWith("_")&&"static"!==a.name).map(c=>j(h().join(a,c.name),b,!0,d))),m={absolutePath:a,relativePath:h().relative(d,a),directoryName:a.split(h().sep).pop(),emailFilenames:k,subDirectories:l};return c?(a=>{let b=a;for(;0===b.emailFilenames.length&&1===b.subDirectories.length;){let a=b.subDirectories[0];b={...a,directoryName:h().join(b.directoryName,a.directoryName)}}return b})(m):m};var k=c(86153);let l=async(a,b=!1,c=!1,d=a)=>j(a,b,c,d);(0,k.D)([l]),(0,d.A)(l,"7fb37c42a667a5aa2e843e684c114eeb0493eef3f2",null)},19233:()=>{},26376:(a,b,c)=>{Promise.resolve().then(c.bind(c,63559))},26778:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(51956);let e=async a=>[{type:"image/x-icon",sizes:"16x16",url:(0,d.fillMetadataSegment)(".",await a.params,"favicon.ico")+""}]},37261:(a,b,c)=>{"use strict";c.d(b,{EmailsProvider:()=>e});var d=c(65863);(0,d.registerClientReference)(function(){throw Error("Attempted to call useEmails() from the server but useEmails is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/actions-runner/_work/react-email/react-email/packages/preview-server/src/contexts/emails.tsx","useEmails");let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call EmailsProvider() from the server but EmailsProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/actions-runner/_work/react-email/react-email/packages/preview-server/src/contexts/emails.tsx","EmailsProvider")},39528:(a,b,c)=>{Promise.resolve().then(c.bind(c,37261))},42192:(a,b,c)=>{"use strict";c.d(b,{Hf:()=>g,Z8:()=>f,m4:()=>h,n_:()=>e,w5:()=>d}),process.env.EMAILS_DIR_RELATIVE_PATH;let d=process.env.USER_PROJECT_LOCATION,e=process.env.PREVIEW_SERVER_LOCATION,f=process.env.EMAILS_DIR_ABSOLUTE_PATH,g="true"===process.env.NEXT_PUBLIC_IS_BUILDING,h="true"===process.env.NEXT_PUBLIC_IS_PREVIEW_DEVELOPMENT},44713:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,99141,23)),Promise.resolve().then(c.t.bind(c,26812,23)),Promise.resolve().then(c.t.bind(c,3378,23)),Promise.resolve().then(c.t.bind(c,21381,23)),Promise.resolve().then(c.t.bind(c,54209,23)),Promise.resolve().then(c.t.bind(c,39801,23)),Promise.resolve().then(c.t.bind(c,72241,23)),Promise.resolve().then(c.t.bind(c,17443,23)),Promise.resolve().then(c.bind(c,8897))},46263:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>n,dynamic:()=>m,metadata:()=>l});var d=c(89815);c(19233);var e=c(37261),f=c(95455),g=c(42192),h=c(97964),i=c.n(h),j=c(94455),k=c.n(j);let l={title:"React Email"},m="force-dynamic",n=async({children:a})=>{let b=await (0,f.getEmailsDirectoryMetadata)(g.Z8);if(void 0===b)throw Error(`Could not find the emails directory specified under ${g.Z8}!`);return(0,d.jsx)("html",{className:`${i().variable} ${k().variable} font-sans`,lang:"en",children:(0,d.jsx)("body",{className:"relative h-screen bg-black text-slate-11 leading-loose selection:bg-cyan-5 selection:text-cyan-12",children:(0,d.jsx)("div",{className:"bg-gradient-to-t from-slate-3 flex flex-col",children:(0,d.jsx)(e.EmailsProvider,{initialEmailsDirectoryMetadata:b,children:a})})})})}},58366:(a,b,c)=>{"use strict";c.d(b,{Hf:()=>d,m4:()=>e}),process.env.EMAILS_DIR_RELATIVE_PATH,process.env.USER_PROJECT_LOCATION,process.env.PREVIEW_SERVER_LOCATION,process.env.EMAILS_DIR_ABSOLUTE_PATH;let d="true"===process.env.NEXT_PUBLIC_IS_BUILDING,e="true"===process.env.NEXT_PUBLIC_IS_PREVIEW_DEVELOPMENT},59833:(a,b,c)=>{"use strict";c.d(b,{a:()=>f});var d=c(68928),e=c(40745);let f=a=>{let b=(0,d.useRef)(null);(0,d.useEffect)(()=>{b.current||(b.current=(0,e.io)());let c=b.current;return c.on("reload",b=>{console.debug("Reloading..."),a(b)}),()=>{c.off()}},[a])}},63559:(a,b,c)=>{"use strict";c.d(b,{EmailsProvider:()=>l,J:()=>k});var d=c(92805),e=c(68928),f=c(23705);let g=(0,f.createServerReference)("7fb37c42a667a5aa2e843e684c114eeb0493eef3f2",f.callServer,void 0,f.findSourceMapURL,"getEmailsDirectoryMetadataAction");var h=c(58366),i=c(59833);let j=(0,e.createContext)(void 0),k=()=>{let a=(0,e.useContext)(j);if(void 0===a)throw Error("Cannot call `useEmail()` outside of an EmailsContext provider!");return a},l=a=>{let[b,c]=(0,e.useState)(a.initialEmailsDirectoryMetadata);return h.Hf||h.m4||(0,i.a)(async()=>{let b=await g(a.initialEmailsDirectoryMetadata.absolutePath);if(b)c(b);else throw Error("Hot reloading: unable to find the emails directory to update the sidebar")}),(0,d.jsx)(j.Provider,{value:{emailsDirectoryMetadata:b},children:a.children})}},72112:()=>{},79561:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,94955,23)),Promise.resolve().then(c.t.bind(c,93642,23)),Promise.resolve().then(c.t.bind(c,35500,23)),Promise.resolve().then(c.t.bind(c,29651,23)),Promise.resolve().then(c.t.bind(c,41699,23)),Promise.resolve().then(c.t.bind(c,44843,23)),Promise.resolve().then(c.t.bind(c,18779,23)),Promise.resolve().then(c.t.bind(c,71741,23)),Promise.resolve().then(c.t.bind(c,35059,23))},92665:()=>{},95455:(a,b,c)=>{"use strict";c.r(b),c.d(b,{getEmailsDirectoryMetadata:()=>i});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f);let h=async a=>{let b;try{b=await e().promises.open(a,"r")}catch(a){return console.warn(a),!1}if((await b.stat()).isDirectory())return await b.close(),!1;let{ext:c}=g().parse(a);if(![".js",".tsx",".jsx"].includes(c))return await b.close(),!1;let d=await b.readFile("utf8");await b.close();let f=/\bexport\s+default\b/gm.test(d),h=/\bmodule\.exports\s*=/gm.test(d),i=/\bexport\s+\{[^}]*\bdefault\b[^}]*\}/gm.test(d);return f||h||i},i=async(a,b=!1,c=!1,d=a)=>{if(!e().existsSync(a))return;let f=await e().promises.readdir(a,{withFileTypes:!0}),j=await Promise.all(f.map(b=>h(g().join(a,b.name)))),k=f.filter((a,b)=>j[b]).map(a=>b?a.name:a.name.replace(g().extname(a.name),"")),l=await Promise.all(f.filter(a=>a.isDirectory()&&!a.name.startsWith("_")&&"static"!==a.name).map(c=>i(g().join(a,c.name),b,!0,d))),m={absolutePath:a,relativePath:g().relative(d,a),directoryName:a.split(g().sep).pop(),emailFilenames:k,subDirectories:l};return c?(a=>{let b=a;for(;0===b.emailFilenames.length&&1===b.subDirectories.length;){let a=b.subDirectories[0];b={...a,directoryName:g().join(b.directoryName,a.directoryName)}}return b})(m):m}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{1713:(e,t,a)=>{"use strict";a.d(t,{a:()=>i});var r=a(4117),l=a(3249);let i=e=>{let t=(0,r.useRef)(null);(0,r.useEffect)(()=>{t.current||(t.current=(0,l.io)());let a=t.current;return a.on("reload",t=>{console.debug("Reloading..."),e(t)}),()=>{a.off()}},[e])}},2705:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_e8ce0c",variable:"__variable_e8ce0c"}},3344:(e,t,a)=>{"use strict";a.d(t,{Hf:()=>l,m4:()=>i});var r=a(6021);r.env.EMAILS_DIR_RELATIVE_PATH,r.env.USER_PROJECT_LOCATION,r.env.PREVIEW_SERVER_LOCATION,r.env.EMAILS_DIR_ABSOLUTE_PATH;let l="true"===r.env.NEXT_PUBLIC_IS_BUILDING,i="true"===r.env.NEXT_PUBLIC_IS_PREVIEW_DEVELOPMENT},7329:()=>{},7696:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,7329,23)),Promise.resolve().then(a.t.bind(a,2705,23)),Promise.resolve().then(a.t.bind(a,9877,23)),Promise.resolve().then(a.bind(a,8172))},8172:(e,t,a)=>{"use strict";a.d(t,{EmailsProvider:()=>E,J:()=>_});var r=a(6094),l=a(4117),i=a(8909);let o=(0,i.createServerReference)("7fb37c42a667a5aa2e843e684c114eeb0493eef3f2",i.callServer,void 0,i.findSourceMapURL,"getEmailsDirectoryMetadataAction");var n=a(3344),s=a(1713);let c=(0,l.createContext)(void 0),_=()=>{let e=(0,l.useContext)(c);if(void 0===e)throw Error("Cannot call `useEmail()` outside of an EmailsContext provider!");return e},E=e=>{let[t,a]=(0,l.useState)(e.initialEmailsDirectoryMetadata);return n.Hf||n.m4||(0,s.a)(async()=>{let t=await o(e.initialEmailsDirectoryMetadata.absolutePath);if(t)a(t);else throw Error("Hot reloading: unable to find the emails directory to update the sidebar")}),(0,r.jsx)(c.Provider,{value:{emailsDirectoryMetadata:t},children:e.children})}},9877:e=>{e.exports={style:{fontFamily:"'sfMono', 'sfMono Fallback'"},className:"__className_a0e4c0",variable:"__variable_a0e4c0"}}},e=>{e.O(0,[117,637,59,692,358],()=>e(e.s=7696)),_N_E=e.O()}]);
|
|
File without changes
|
|
File without changes
|