react-email 1.1.1 → 1.1.2

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.
@@ -0,0 +1,36 @@
1
+ export declare const previewPkg: {
2
+ name: string;
3
+ version: string;
4
+ description: string;
5
+ license: string;
6
+ scripts: {
7
+ 'dev': string;
8
+ 'build': string;
9
+ 'start': string;
10
+ 'lint': string;
11
+ 'format:check': string;
12
+ 'format': string;
13
+ };
14
+ dependencies: {
15
+ '@next/font': string;
16
+ '@radix-ui/colors': string;
17
+ '@radix-ui/react-collapsible': string;
18
+ '@radix-ui/react-slot': string;
19
+ '@radix-ui/react-toggle-group': string;
20
+ 'classnames': string;
21
+ 'next': string;
22
+ 'prism-react-renderer': string;
23
+ 'react': string;
24
+ 'react-dom': string;
25
+ };
26
+ devDependencies: {
27
+ '@types/classnames': string;
28
+ '@types/node': string;
29
+ '@types/react': string;
30
+ '@types/react-dom': string;
31
+ 'autoprefixer': string;
32
+ 'postcss': string;
33
+ 'tailwindcss': string;
34
+ 'typescript': string;
35
+ };
36
+ };
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ exports.previewPkg = void 0;
4
+ exports.previewPkg = {
5
+ name: 'react-email-preview',
6
+ version: '0.0.1',
7
+ description: 'The React Email preview application',
8
+ license: 'MIT',
9
+ scripts: {
10
+ 'dev': 'next dev',
11
+ 'build': 'next build',
12
+ 'start': 'next start',
13
+ 'lint': 'next lint',
14
+ 'format:check': 'prettier --check "**/*.{ts,tsx,md}"',
15
+ 'format': 'prettier --write "**/*.{ts,tsx,md}"',
16
+ },
17
+ dependencies: {
18
+ '@next/font': '13.0.4',
19
+ '@radix-ui/colors': '0.1.8',
20
+ '@radix-ui/react-collapsible': '1.0.1',
21
+ '@radix-ui/react-slot': '1.0.1',
22
+ '@radix-ui/react-toggle-group': '1.0.1',
23
+ 'classnames': '2.3.2',
24
+ 'next': '13.0.4',
25
+ 'prism-react-renderer': '1.3.5',
26
+ 'react': '18.2.0',
27
+ 'react-dom': '18.2.0',
28
+ },
29
+ devDependencies: {
30
+ '@types/classnames': '2.3.1',
31
+ '@types/node': '18.11.9',
32
+ '@types/react': '18.0.25',
33
+ '@types/react-dom': '18.0.9',
34
+ 'autoprefixer': '10.4.13',
35
+ 'postcss': '8.4.19',
36
+ 'tailwindcss': '3.2.4',
37
+ 'typescript': '4.9.3',
38
+ },
39
+ };
@@ -12,7 +12,7 @@ exports.pages = [
12
12
  },
13
13
  {
14
14
  title: 'index.tsx',
15
- content: "import { promises as fs } from 'fs';\nimport path from 'path';\nimport { Button, Heading, Text } from '../components';\nimport { Layout } from '../components/layout';\nimport Link from 'next/link';\n\ninterface HomeProps {}\n\nexport const CONTENT_DIR = 'emails';\n\nconst getEmails = async () => {\n const emailsDirectory = path.join(process.cwd(), CONTENT_DIR);\n const filenames = await fs.readdir(emailsDirectory);\n const emails = filenames.map((file) => file.replace('.tsx', ''));\n\n return emails;\n};\n\nexport async function getStaticProps({ params }) {\n try {\n const emails = await getEmails();\n return emails\n ? { props: { navItems: emails } }\n : { props: { navItems: [] } };\n } catch (error) {\n console.error(error);\n return { props: { navItems: [] } };\n }\n}\n\nconst Home: React.FC<Readonly<HomeProps>> = ({ navItems }: any) => {\n return (\n <Layout navItems={navItems}>\n <div className=\"max-w-md border border-slate-6 mx-auto mt-56 rounded-md p-8\">\n <Heading as=\"h2\" weight=\"medium\">\n Welcome to the React Email preview!\n </Heading>\n <Text as=\"p\" className=\"mt-2 mb-4\">\n Lorem ipsum dolor sit amet consectetur adipisicing elit. Quia dolorum\n vitae rem laudantium eos similique nobis facilis, quaerat excepturi\n ratione asperiores iste suscipit perspiciatis quam minima delectus,\n eveniet quas quo!\n </Text>\n\n <Button asChild>\n <Link href=\"https://react.email/docs\">Check the docs</Link>\n </Button>\n </div>\n </Layout>\n );\n};\n\nexport default Home;\n",
15
+ content: "import { promises as fs } from 'fs';\nimport path from 'path';\nimport { Button, Heading, Text } from '../components';\nimport { Layout } from '../components/layout';\nimport Link from 'next/link';\n\ninterface HomeProps {}\n\nexport const CONTENT_DIR = 'emails';\n\nconst getEmails = async () => {\n const emailsDirectory = path.join(process.cwd(), CONTENT_DIR);\n const filenames = await fs.readdir(emailsDirectory);\n const emails = filenames.map((file) => file.replace('.tsx', ''));\n\n return emails;\n};\n\nexport async function getStaticProps({ params }) {\n try {\n const emails = await getEmails();\n return emails\n ? { props: { navItems: emails } }\n : { props: { navItems: [] } };\n } catch (error) {\n console.error(error);\n return { props: { navItems: [] } };\n }\n}\n\nconst Home: React.FC<Readonly<HomeProps>> = ({ navItems }: any) => {\n return (\n <Layout navItems={navItems}>\n <div className=\"max-w-md border border-slate-6 mx-auto mt-56 rounded-md p-8\">\n <Heading as=\"h2\" weight=\"medium\">\n Welcome to the React Email preview!\n </Heading>\n <Text as=\"p\" className=\"mt-2 mb-4\">\n To start developing your next email template, you can create a{' '}\n <code>.jsx</code> or <code>.tsx</code> file under the \"emails\" folder.\n </Text>\n\n <Button asChild>\n <Link href=\"https://react.email/docs\">Check the docs</Link>\n </Button>\n </div>\n </Layout>\n );\n};\n\nexport default Home;\n",
16
16
  },
17
17
  {
18
18
  dir: 'preview',
@@ -0,0 +1 @@
1
+ export declare const copyFiles: () => Promise<void>;
@@ -0,0 +1,110 @@
1
+ 'use strict';
2
+ var __importDefault =
3
+ (this && this.__importDefault) ||
4
+ function (mod) {
5
+ return mod && mod.__esModule ? mod : { default: mod };
6
+ };
7
+ Object.defineProperty(exports, '__esModule', { value: true });
8
+ exports.copyFiles = void 0;
9
+ const path_1 = __importDefault(require('path'));
10
+ const cpy_1 = __importDefault(require('cpy'));
11
+ const contants_1 = require('./contants');
12
+ const copyFiles = async () => {
13
+ try {
14
+ await (0, cpy_1.default)(
15
+ path_1.default.join(
16
+ contants_1.NODE_MODULES_PREVIEW_PATH,
17
+ 'src',
18
+ 'pages',
19
+ 'preview',
20
+ ),
21
+ path_1.default.join(contants_1.DOT_EMAIL_DEV, 'src', 'pages', 'preview'),
22
+ );
23
+ await (0, cpy_1.default)(
24
+ path_1.default.join(
25
+ contants_1.NODE_MODULES_PREVIEW_PATH,
26
+ 'src',
27
+ 'pages',
28
+ '_app.tsx',
29
+ ),
30
+ path_1.default.join(contants_1.DOT_EMAIL_DEV, 'src', 'pages'),
31
+ );
32
+ await (0, cpy_1.default)(
33
+ path_1.default.join(
34
+ contants_1.NODE_MODULES_PREVIEW_PATH,
35
+ 'src',
36
+ 'pages',
37
+ '_document.tsx',
38
+ ),
39
+ path_1.default.join(contants_1.DOT_EMAIL_DEV, 'src', 'pages'),
40
+ );
41
+ await (0, cpy_1.default)(
42
+ path_1.default.join(
43
+ contants_1.NODE_MODULES_PREVIEW_PATH,
44
+ 'src',
45
+ 'pages',
46
+ 'index.tsx',
47
+ ),
48
+ path_1.default.join(contants_1.DOT_EMAIL_DEV, 'src', 'pages'),
49
+ );
50
+ await (0, cpy_1.default)(
51
+ path_1.default.join(
52
+ contants_1.NODE_MODULES_PREVIEW_PATH,
53
+ 'src',
54
+ 'styles',
55
+ ),
56
+ path_1.default.join(contants_1.DOT_EMAIL_DEV, 'src', 'styles'),
57
+ );
58
+ await (0, cpy_1.default)(
59
+ path_1.default.join(
60
+ contants_1.NODE_MODULES_PREVIEW_PATH,
61
+ 'src',
62
+ 'components',
63
+ ),
64
+ path_1.default.join(contants_1.DOT_EMAIL_DEV, 'src', 'components'),
65
+ );
66
+ await (0, cpy_1.default)(
67
+ path_1.default.join(contants_1.NODE_MODULES_PREVIEW_PATH, 'src', 'utils'),
68
+ path_1.default.join(contants_1.DOT_EMAIL_DEV, 'src', 'utils'),
69
+ );
70
+ await (0, cpy_1.default)(
71
+ path_1.default.join(
72
+ contants_1.NODE_MODULES_PREVIEW_PATH,
73
+ 'next-env.d.ts',
74
+ ),
75
+ contants_1.DOT_EMAIL_DEV,
76
+ );
77
+ await (0, cpy_1.default)(
78
+ path_1.default.join(contants_1.NODE_MODULES_PREVIEW_PATH, 'package.json'),
79
+ contants_1.DOT_EMAIL_DEV,
80
+ );
81
+ await (0, cpy_1.default)(
82
+ path_1.default.join(
83
+ contants_1.NODE_MODULES_PREVIEW_PATH,
84
+ 'postcss.config.js',
85
+ ),
86
+ contants_1.DOT_EMAIL_DEV,
87
+ );
88
+ await (0, cpy_1.default)(
89
+ path_1.default.join(
90
+ contants_1.NODE_MODULES_PREVIEW_PATH,
91
+ 'tailwind.config.js',
92
+ ),
93
+ contants_1.DOT_EMAIL_DEV,
94
+ );
95
+ await (0, cpy_1.default)(
96
+ path_1.default.join(
97
+ contants_1.NODE_MODULES_PREVIEW_PATH,
98
+ 'tsconfig.json',
99
+ ),
100
+ contants_1.DOT_EMAIL_DEV,
101
+ );
102
+ await (0, cpy_1.default)(
103
+ contants_1.CLIENT_EMAILS_PATH,
104
+ contants_1.PACKAGE_EMAILS_PATH,
105
+ );
106
+ } catch (error) {
107
+ console.error({ error });
108
+ }
109
+ };
110
+ exports.copyFiles = copyFiles;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-email",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "A live preview of your emails right in your browser.",
5
5
  "bin": {
6
6
  "email": "./dist/index.js"
@@ -12,6 +12,7 @@
12
12
  "scripts": {
13
13
  "build": "tsc",
14
14
  "prepare": "npm run build",
15
+ "preprepare": "ts-node ./scripts/prepare-preview",
15
16
  "format:check": "prettier --check \"**/*.{js,ts,tsx,json}\"",
16
17
  "format": "prettier --write \"**/*.{js,ts,tsx,json}\"",
17
18
  "lint": "eslint",
@@ -12,7 +12,7 @@ export const pages = [
12
12
  {
13
13
  title: 'index.tsx',
14
14
  content:
15
- "import { promises as fs } from 'fs';\nimport path from 'path';\nimport { Button, Heading, Text } from '../components';\nimport { Layout } from '../components/layout';\nimport Link from 'next/link';\n\ninterface HomeProps {}\n\nexport const CONTENT_DIR = 'emails';\n\nconst getEmails = async () => {\n const emailsDirectory = path.join(process.cwd(), CONTENT_DIR);\n const filenames = await fs.readdir(emailsDirectory);\n const emails = filenames.map((file) => file.replace('.tsx', ''));\n\n return emails;\n};\n\nexport async function getStaticProps({ params }) {\n try {\n const emails = await getEmails();\n return emails\n ? { props: { navItems: emails } }\n : { props: { navItems: [] } };\n } catch (error) {\n console.error(error);\n return { props: { navItems: [] } };\n }\n}\n\nconst Home: React.FC<Readonly<HomeProps>> = ({ navItems }: any) => {\n return (\n <Layout navItems={navItems}>\n <div className=\"max-w-md border border-slate-6 mx-auto mt-56 rounded-md p-8\">\n <Heading as=\"h2\" weight=\"medium\">\n Welcome to the React Email preview!\n </Heading>\n <Text as=\"p\" className=\"mt-2 mb-4\">\n Lorem ipsum dolor sit amet consectetur adipisicing elit. Quia dolorum\n vitae rem laudantium eos similique nobis facilis, quaerat excepturi\n ratione asperiores iste suscipit perspiciatis quam minima delectus,\n eveniet quas quo!\n </Text>\n\n <Button asChild>\n <Link href=\"https://react.email/docs\">Check the docs</Link>\n </Button>\n </div>\n </Layout>\n );\n};\n\nexport default Home;\n",
15
+ "import { promises as fs } from 'fs';\nimport path from 'path';\nimport { Button, Heading, Text } from '../components';\nimport { Layout } from '../components/layout';\nimport Link from 'next/link';\n\ninterface HomeProps {}\n\nexport const CONTENT_DIR = 'emails';\n\nconst getEmails = async () => {\n const emailsDirectory = path.join(process.cwd(), CONTENT_DIR);\n const filenames = await fs.readdir(emailsDirectory);\n const emails = filenames.map((file) => file.replace('.tsx', ''));\n\n return emails;\n};\n\nexport async function getStaticProps({ params }) {\n try {\n const emails = await getEmails();\n return emails\n ? { props: { navItems: emails } }\n : { props: { navItems: [] } };\n } catch (error) {\n console.error(error);\n return { props: { navItems: [] } };\n }\n}\n\nconst Home: React.FC<Readonly<HomeProps>> = ({ navItems }: any) => {\n return (\n <Layout navItems={navItems}>\n <div className=\"max-w-md border border-slate-6 mx-auto mt-56 rounded-md p-8\">\n <Heading as=\"h2\" weight=\"medium\">\n Welcome to the React Email preview!\n </Heading>\n <Text as=\"p\" className=\"mt-2 mb-4\">\n To start developing your next email template, you can create a{' '}\n <code>.jsx</code> or <code>.tsx</code> file under the \"emails\" folder.\n </Text>\n\n <Button asChild>\n <Link href=\"https://react.email/docs\">Check the docs</Link>\n </Button>\n </div>\n </Layout>\n );\n};\n\nexport default Home;\n",
16
16
  },
17
17
  {
18
18
  dir: 'preview',