react-email 1.5.1 → 1.6.0
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/dist/commands/dev.js
CHANGED
|
@@ -12,6 +12,7 @@ const utils_2 = require("../_preview/utils");
|
|
|
12
12
|
const root_1 = require("../_preview/root");
|
|
13
13
|
const pages_1 = require("../_preview/pages");
|
|
14
14
|
const cpy_1 = __importDefault(require("cpy"));
|
|
15
|
+
const detect_package_manager_1 = require("detect-package-manager");
|
|
15
16
|
const log_symbols_1 = __importDefault(require("log-symbols"));
|
|
16
17
|
const ora_1 = __importDefault(require("ora"));
|
|
17
18
|
const read_pkg_1 = __importDefault(require("read-pkg"));
|
|
@@ -20,12 +21,19 @@ const styles_1 = require("../_preview/styles");
|
|
|
20
21
|
const dev = async () => {
|
|
21
22
|
try {
|
|
22
23
|
const hasReactEmailDirectory = (0, utils_1.checkDirectoryExist)(utils_1.REACT_EMAIL_ROOT);
|
|
24
|
+
let packageManager;
|
|
25
|
+
try {
|
|
26
|
+
packageManager = await (0, detect_package_manager_1.detect)({ cwd: utils_1.CURRENT_PATH });
|
|
27
|
+
}
|
|
28
|
+
catch (_) {
|
|
29
|
+
packageManager = 'yarn';
|
|
30
|
+
}
|
|
23
31
|
if (hasReactEmailDirectory) {
|
|
24
32
|
const isUpToDate = await (0, utils_1.checkPackageIsUpToDate)();
|
|
25
33
|
if (isUpToDate) {
|
|
26
34
|
await Promise.all([generateEmailsPreview(), syncPkg()]);
|
|
27
|
-
await installDependencies();
|
|
28
|
-
shelljs_1.default.exec(
|
|
35
|
+
await installDependencies(packageManager);
|
|
36
|
+
shelljs_1.default.exec(`${packageManager} run dev`, { async: true });
|
|
29
37
|
(0, utils_1.watcher)();
|
|
30
38
|
return;
|
|
31
39
|
}
|
|
@@ -35,8 +43,8 @@ const dev = async () => {
|
|
|
35
43
|
await createAppDirectories();
|
|
36
44
|
await createAppFiles();
|
|
37
45
|
await Promise.all([generateEmailsPreview(), syncPkg()]);
|
|
38
|
-
await installDependencies();
|
|
39
|
-
shelljs_1.default.exec(
|
|
46
|
+
await installDependencies(packageManager);
|
|
47
|
+
shelljs_1.default.exec(`${packageManager} run dev`, { async: true });
|
|
40
48
|
(0, utils_1.watcher)();
|
|
41
49
|
}
|
|
42
50
|
catch (error) {
|
|
@@ -167,10 +175,10 @@ const syncPkg = async () => {
|
|
|
167
175
|
};
|
|
168
176
|
await fs_1.default.promises.writeFile(path_1.default.join(utils_1.REACT_EMAIL_ROOT, 'package.json'), JSON.stringify(pkg));
|
|
169
177
|
};
|
|
170
|
-
const installDependencies = async () => {
|
|
178
|
+
const installDependencies = async (packageManager) => {
|
|
171
179
|
const spinner = (0, ora_1.default)('Installing dependencies...\n').start();
|
|
172
180
|
shelljs_1.default.cd(path_1.default.join(utils_1.REACT_EMAIL_ROOT));
|
|
173
|
-
shelljs_1.default.exec(
|
|
181
|
+
shelljs_1.default.exec(`${packageManager} install`);
|
|
174
182
|
spinner.stopAndPersist({
|
|
175
183
|
symbol: log_symbols_1.default.success,
|
|
176
184
|
text: 'Dependencies installed',
|
|
@@ -35,6 +35,7 @@ const log_symbols_1 = __importDefault(require("log-symbols"));
|
|
|
35
35
|
const render_1 = require("@react-email/render");
|
|
36
36
|
const fs_1 = require("fs");
|
|
37
37
|
const cpy_1 = __importDefault(require("cpy"));
|
|
38
|
+
const normalize_path_1 = __importDefault(require("normalize-path"));
|
|
38
39
|
const utils_1 = require("../utils");
|
|
39
40
|
/*
|
|
40
41
|
This first builds all the templates using esbuild and then puts the output in the `.js`
|
|
@@ -43,7 +44,7 @@ const utils_1 = require("../utils");
|
|
|
43
44
|
*/
|
|
44
45
|
const exportTemplates = async (outDir, pretty) => {
|
|
45
46
|
const spinner = (0, ora_1.default)('Preparing files...\n').start();
|
|
46
|
-
const allTemplates = glob_1.glob.sync(`${utils_1.CLIENT_EMAILS_PATH}/*.{tsx,jsx}`);
|
|
47
|
+
const allTemplates = glob_1.glob.sync((0, normalize_path_1.default)(`${utils_1.CLIENT_EMAILS_PATH}/*.{tsx,jsx}`));
|
|
47
48
|
esbuild_1.default.buildSync({
|
|
48
49
|
bundle: true,
|
|
49
50
|
entryPoints: allTemplates,
|
|
@@ -51,7 +52,7 @@ const exportTemplates = async (outDir, pretty) => {
|
|
|
51
52
|
write: true,
|
|
52
53
|
outdir: outDir,
|
|
53
54
|
});
|
|
54
|
-
const allBuiltTemplates = glob_1.glob.sync(`${outDir}/*.js
|
|
55
|
+
const allBuiltTemplates = glob_1.glob.sync((0, normalize_path_1.default)(`${outDir}/*.js`), {
|
|
55
56
|
absolute: true,
|
|
56
57
|
});
|
|
57
58
|
for (const template of allBuiltTemplates) {
|
package/dist/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-email",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "A live preview of your emails right in your browser.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"email": "./dist/index.js"
|
|
@@ -30,13 +30,15 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@commander-js/extra-typings": "9.4.1",
|
|
33
|
-
"@react-email/render": "
|
|
33
|
+
"@react-email/render": "0.0.3",
|
|
34
34
|
"chokidar": "3.5.3",
|
|
35
35
|
"commander": "9.4.1",
|
|
36
36
|
"cpy": "8.1.2",
|
|
37
|
+
"detect-package-manager": "2.0.1",
|
|
37
38
|
"esbuild": "0.16.4",
|
|
38
39
|
"glob": "8.0.3",
|
|
39
40
|
"log-symbols": "4.1.0",
|
|
41
|
+
"normalize-path": "3.0.0",
|
|
40
42
|
"ora": "5.4.1",
|
|
41
43
|
"read-pkg": "5.2.0",
|
|
42
44
|
"shelljs": "0.8.5",
|
|
@@ -44,6 +46,7 @@
|
|
|
44
46
|
},
|
|
45
47
|
"devDependencies": {
|
|
46
48
|
"@types/node": "18.11.9",
|
|
49
|
+
"@types/normalize-path": "3.0.0",
|
|
47
50
|
"@types/shelljs": "0.8.11",
|
|
48
51
|
"prettier": "2.7.1",
|
|
49
52
|
"ts-node": "10.9.1"
|
package/source/commands/dev.ts
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
checkPackageIsUpToDate,
|
|
5
5
|
CLIENT_EMAILS_PATH,
|
|
6
6
|
createDirectory,
|
|
7
|
+
CURRENT_PATH,
|
|
7
8
|
PACKAGE_EMAILS_PATH,
|
|
8
9
|
REACT_EMAIL_ROOT,
|
|
9
10
|
SRC_PATH,
|
|
@@ -19,6 +20,7 @@ import { utils } from '../_preview/utils';
|
|
|
19
20
|
import { root } from '../_preview/root';
|
|
20
21
|
import { pages } from '../_preview/pages';
|
|
21
22
|
import copy from 'cpy';
|
|
23
|
+
import { detect as detectPackageManager } from 'detect-package-manager';
|
|
22
24
|
import logSymbols from 'log-symbols';
|
|
23
25
|
import ora from 'ora';
|
|
24
26
|
import readPackage from 'read-pkg';
|
|
@@ -28,14 +30,20 @@ import { styles } from '../_preview/styles';
|
|
|
28
30
|
export const dev = async () => {
|
|
29
31
|
try {
|
|
30
32
|
const hasReactEmailDirectory = checkDirectoryExist(REACT_EMAIL_ROOT);
|
|
33
|
+
let packageManager: PackageManager;
|
|
34
|
+
try {
|
|
35
|
+
packageManager = await detectPackageManager({ cwd: CURRENT_PATH });
|
|
36
|
+
} catch (_) {
|
|
37
|
+
packageManager = 'yarn';
|
|
38
|
+
}
|
|
31
39
|
|
|
32
40
|
if (hasReactEmailDirectory) {
|
|
33
41
|
const isUpToDate = await checkPackageIsUpToDate();
|
|
34
42
|
|
|
35
43
|
if (isUpToDate) {
|
|
36
44
|
await Promise.all([generateEmailsPreview(), syncPkg()]);
|
|
37
|
-
await installDependencies();
|
|
38
|
-
shell.exec(
|
|
45
|
+
await installDependencies(packageManager);
|
|
46
|
+
shell.exec(`${packageManager} run dev`, { async: true });
|
|
39
47
|
watcher();
|
|
40
48
|
return;
|
|
41
49
|
}
|
|
@@ -47,8 +55,8 @@ export const dev = async () => {
|
|
|
47
55
|
await createAppDirectories();
|
|
48
56
|
await createAppFiles();
|
|
49
57
|
await Promise.all([generateEmailsPreview(), syncPkg()]);
|
|
50
|
-
await installDependencies();
|
|
51
|
-
shell.exec(
|
|
58
|
+
await installDependencies(packageManager);
|
|
59
|
+
shell.exec(`${packageManager} run dev`, { async: true });
|
|
52
60
|
watcher();
|
|
53
61
|
} catch (error) {
|
|
54
62
|
await watcherInstance.close();
|
|
@@ -218,11 +226,13 @@ const syncPkg = async () => {
|
|
|
218
226
|
);
|
|
219
227
|
};
|
|
220
228
|
|
|
221
|
-
|
|
229
|
+
type PackageManager = 'yarn' | 'npm' | 'pnpm';
|
|
230
|
+
|
|
231
|
+
const installDependencies = async (packageManager: PackageManager) => {
|
|
222
232
|
const spinner = ora('Installing dependencies...\n').start();
|
|
223
233
|
|
|
224
234
|
shell.cd(path.join(REACT_EMAIL_ROOT));
|
|
225
|
-
shell.exec(
|
|
235
|
+
shell.exec(`${packageManager} install`);
|
|
226
236
|
spinner.stopAndPersist({
|
|
227
237
|
symbol: logSymbols.success,
|
|
228
238
|
text: 'Dependencies installed',
|
|
@@ -6,6 +6,7 @@ import logSymbols from 'log-symbols';
|
|
|
6
6
|
import { render } from '@react-email/render';
|
|
7
7
|
import { unlinkSync, writeFileSync } from 'fs';
|
|
8
8
|
import copy from 'cpy';
|
|
9
|
+
import normalize from 'normalize-path';
|
|
9
10
|
import { checkDirectoryExist, CLIENT_EMAILS_PATH } from '../utils';
|
|
10
11
|
|
|
11
12
|
/*
|
|
@@ -15,7 +16,7 @@ import { checkDirectoryExist, CLIENT_EMAILS_PATH } from '../utils';
|
|
|
15
16
|
*/
|
|
16
17
|
export const exportTemplates = async (outDir: string, pretty: boolean) => {
|
|
17
18
|
const spinner = ora('Preparing files...\n').start();
|
|
18
|
-
const allTemplates = glob.sync(`${CLIENT_EMAILS_PATH}/*.{tsx,jsx}`);
|
|
19
|
+
const allTemplates = glob.sync(normalize(`${CLIENT_EMAILS_PATH}/*.{tsx,jsx}`));
|
|
19
20
|
|
|
20
21
|
esbuild.buildSync({
|
|
21
22
|
bundle: true,
|
|
@@ -25,7 +26,7 @@ export const exportTemplates = async (outDir: string, pretty: boolean) => {
|
|
|
25
26
|
outdir: outDir,
|
|
26
27
|
});
|
|
27
28
|
|
|
28
|
-
const allBuiltTemplates = glob.sync(`${outDir}/*.js
|
|
29
|
+
const allBuiltTemplates = glob.sync(normalize(`${outDir}/*.js`), {
|
|
29
30
|
absolute: true,
|
|
30
31
|
});
|
|
31
32
|
|