Skip to content

Commit af56cf5

Browse files
author
ReAlign
committed
re:update: check the file exists before create it
1 parent 1003e7a commit af56cf5

File tree

10 files changed

+45
-31
lines changed

10 files changed

+45
-31
lines changed

β€Ž.gitignore

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ dist/
44
coverage/
55
*.rar
66
npm-debug.log
7-
webapp/src/mcss/
8-
webapp/src/page/
9-
webapp/WEB-INF/view/
7+
8+
sample/webapp/src/mcss/
9+
sample/webapp/src/page/
10+
sample/webapp/WEB-INF/view/
1011

1112
package-lock.json

β€Žlib/main.js

Lines changed: 40 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
let fs = require('fs');
2-
let moment = require('moment');
32
let log = require('n-s-logs');
3+
let moment = require('moment');
44
let tool = require('./util/tool');
55
let exec = require('child_process').exec;
66

7-
var file = {};
7+
let file = {};
88

99
let main = (fpConfig, conf) => {
1010
// config list
11-
var _keys = fpConfig.list;
11+
let _keys = fpConfig.list;
1212
// page file absolute path
13-
var _cachePath = conf.pageConf;
13+
let _cachePath = conf.pageConf;
1414
// inquirer answers, about name & path
15-
var _answers = conf.answers;
15+
let _answers = conf.answers;
1616
// folder path [arr]
17-
var _folderPath = _answers.folderPath;
17+
let _folderPath = _answers.folderPath;
1818
// page template config
19-
var _tempConf = conf.tempConf;
19+
let _tempConf = conf.tempConf;
2020
// template names
21-
var _names = conf.names;
21+
let _names = conf.names;
2222
// folder path [str]
23-
var _folderPathArr = _folderPath.split('/');
24-
var _keysPath = {}, // path about
23+
let _folderPathArr = _folderPath.split('/');
24+
let _keysPath = {}, // path about
2525
_replaceArr = {};
2626

2727
_keysPath = tool.initPrivKeysPath(_keys, conf, _folderPathArr, _answers);
@@ -36,11 +36,11 @@ let main = (fpConfig, conf) => {
3636
if (stderr) {
3737
log.error(stderr);
3838
}
39-
var arr = {};
40-
var strArr = stdout.toString().split('\n');
39+
let arr = {};
40+
let strArr = stdout.toString().split('\n');
4141
strArr.forEach((item) => {
42-
var i = item.indexOf('=');
43-
var _arr = [item.substring(0, i), item.substring(i + 1)];
42+
let i = item.indexOf('=');
43+
let _arr = [item.substring(0, i), item.substring(i + 1)];
4444
if(arr[_arr[0]]) {
4545
arr[_arr[0] + '.pro'] = arr[_arr[0]];
4646
arr[_arr[0]] = _arr[1];
@@ -58,7 +58,11 @@ let main = (fpConfig, conf) => {
5858
return new Promise((res) => {
5959
(async function () {
6060
for (let layer of _keysPath[flag]) {
61-
fs.existsSync(_cachePath[flag] + layer) ? _cachePath[flag] = _cachePath[flag] + layer + '/' : await mkdir(layer, flag);
61+
const _file = `${_cachePath[flag]}${layer}`;
62+
63+
fs.existsSync(_file)
64+
? _cachePath[flag] = `${_file}/`
65+
: await mkdir(layer, flag);
6266
}
6367
res(_cachePath[flag]);
6468
})()
@@ -67,12 +71,13 @@ let main = (fpConfig, conf) => {
6771

6872
let mkdir = (layer, flag) => {
6973
return new Promise((res, rej) => {
70-
fs.mkdir(_cachePath[flag] + layer, (err) => {
74+
const _file = `${_cachePath[flag]}${layer}`;
75+
fs.mkdir(_file, (err) => {
7176
if (err) {
7277
log.error(err);
7378
rej(err);
7479
}
75-
_cachePath[flag] = _cachePath[flag] + layer + '/'
80+
_cachePath[flag] = `${_file}/`;
7681
res(_cachePath[flag]);
7782
});
7883
})
@@ -81,8 +86,8 @@ let main = (fpConfig, conf) => {
8186
let replaceAll = (flag, replaceList = [], info) => {
8287
for (let layer of _tempConf[flag]) {
8388
let text = fs.readFileSync(layer).toString();
84-
var arr = layer.split('/');
85-
var k = arr[arr.length - 1].replace(/\./g, '');
89+
let arr = layer.split('/');
90+
let k = arr[arr.length - 1].replace(/\./g, '');
8691
text = text.replace(/~date~/g, moment().format('YYYY-MM-DD'))
8792
.replace(/~author~/g, (info['user.name'] || '') + '(' + (info['user.email'] || '') + ')')
8893
.replace(/~headTitle~/g, _replaceArr.headTitle)
@@ -93,8 +98,8 @@ let main = (fpConfig, conf) => {
9398

9499
if(replaceList.length) {
95100
replaceList.every(function(item) {
96-
var global = item.global ? 'g' : '';
97-
var rex = new RegExp(item.rex, global);
101+
let global = item.global ? 'g' : '';
102+
let rex = new RegExp(item.rex, global);
98103
text = text.replace(rex, item.str);
99104

100105
return true;
@@ -117,11 +122,19 @@ let main = (fpConfig, conf) => {
117122
return new Promise((res, rej) => {
118123
(async () => {
119124
for (let layer of _names[flag]) {
120-
var k = layer.replace(/\./g, '');
121-
await fs.writeFile(_cachePath[flag] + '/' + layer,
122-
file[k], (err) => {
123-
if (err) rej(err)
124-
})
125+
const _k = layer.replace(/\./g, '');
126+
const _file = `${_cachePath[flag]}${layer}`;
127+
const _exists = fs.existsSync(_file);
128+
129+
if(_exists) {
130+
log.warn(`${_file} already exists.`);
131+
} else {
132+
await fs.writeFile(_file, file[_k], (err) => {
133+
if(err) {
134+
rej(err);
135+
}
136+
});
137+
}
125138
}
126139
res('succ');
127140
})()
@@ -134,7 +147,7 @@ let main = (fpConfig, conf) => {
134147
await exists(i.key);
135148
await readFile(i.key);
136149
await writeFile(await readFile(i.key), i.key);
137-
log.ok('successfully created ' + i.key + ' directory and associated files');
150+
log.ok(`successfully created ${i.key} directory and associated files`);
138151
file = {};
139152
} catch (err) {
140153
log.error(err);

β€Žpackage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "fastpage",
3-
"version": "1.3.6",
3+
"version": "1.3.7",
44
"description": "a tool to quickly generate front-end pages and associated files",
55
"main": ".eslintrc.js",
66
"bin": {
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
Β (0)