Skip to content

Commit 1d1ab16

Browse files
committed
Copy folder in templates
1 parent 54d2176 commit 1d1ab16

File tree

5 files changed

+37
-6
lines changed

5 files changed

+37
-6
lines changed

packages/create-react-dependency/index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
"use strict";
44

55
const program = require("commander");
6+
const path = require("path");
7+
const fs = require("fs");
8+
const createPackageJson = require("./stages/createPackageJson");
9+
const createTemplate = require("./stages/createTemplate");
10+
const installDependencies = require("./stages/installDependencies");
11+
const initializeGit = require("./stages/initializeGit");
612

713
console.log("\x1b[36mCreate React Dependency", "\x1b[0m");
814
console.log(`🚀 Version: ${require("./package.json").version}\n`);
@@ -31,7 +37,6 @@ if (typeof projectName === "undefined") {
3137
const root = path.resolve(projectName);
3238

3339
fs.mkdirSync(projectName);
34-
3540
createPackageJson(root, projectName);
3641
createTemplate(root);
3742
installDependencies(root);

packages/create-react-dependency/stages/createPackageJson.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,15 @@ const createPackageJson = (root, name) => {
77
const basePackageJson = {
88
name: name,
99
version: "0.0.1",
10+
main: "dist/index.js",
11+
module: "dist/index.js",
1012
license: "MIT",
13+
files: ["dist"],
1114
scripts: {
1215
start: "react-dependency-scripts start",
1316
build: "react-dependency-scripts build",
1417
test: "react-dependency-scripts test"
1518
},
16-
main: "dist/index.js",
17-
module: "dist/index.js",
18-
files: ["dist"],
19-
dependencies: {},
2019
devDependencies: {
2120
react: "16.11.0",
2221
"react-dom": "16.11.0",

packages/create-react-dependency/stages/createTemplate.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
"use strict";
22

33
const fs = require("fs");
4+
const copyFolder = require("../utils/copyFolder");
45

56
const installTemplate = dir => {
67
const folder = `${__dirname}/../template`;
78
try {
89
fs.copyFileSync(`${folder}/gitignore`, `${dir}/.gitignore`);
910
fs.copyFileSync(`${folder}/README.md`, `${dir}/README.md`);
10-
fs.copyFileSync(`${folder}src`, `${dir}/src`);
11+
copyFolder(`${folder}/src`, `${dir}/src`);
1112
} catch (err) {
1213
console.log(`\x1b[31m${err}\x1b[0m`);
1314
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
"use strict";
2+
3+
const fs = require("fs");
4+
const path = require("path");
5+
6+
const copyFolder = (source, target) => {
7+
if (!fs.existsSync(target)) {
8+
fs.mkdirSync(target);
9+
}
10+
11+
const files = fs.readdirSync(source);
12+
13+
files.forEach(file => {
14+
const currentPath = path.join(source, file);
15+
const targePath = path.join(target, file);
16+
17+
if (fs.lstatSync(currentPath).isDirectory()) {
18+
copyFolder(currentPath, targePath);
19+
} else {
20+
fs.copyFileSync(currentPath, targePath);
21+
}
22+
});
23+
};
24+
25+
module.exports = copyFolder;

packages/react-dependency-scripts/utils/deletePath.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const deletePath = pathDelete => {
99

1010
files.forEach(file => {
1111
const currentPath = path.join(pathDelete, file);
12+
1213
if (fs.lstatSync(currentPath).isDirectory()) {
1314
deletePath(currentPath);
1415
} else {

0 commit comments

Comments
 (0)