forked from PinkyJie/generator-aio-angular
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchange-env.js
89 lines (77 loc) · 2.42 KB
/
change-env.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/usr/bin/env node
// this file can help you do development in app/templates folder
// parameter
// - dev: change all _ files to normal file and replace the palceholder
// - prod: reverse of dev
var fs = require('fs');
var args = process.argv;
var fileList = [
'_bower.json',
'_package.json',
'_README.md',
'client/source/app/core/_config.js',
'client/source/app/core/production/_production.config.js',
'client/source/app/layout/_header.jade',
'client/source/app/home/_home.jade',
'gulp/tasks/_serve.task.js',
];
var BASE = 'app/templates/';
var mapping = {
name: {
src: '<%= appName %>',
dest: 'aio-angular-app'
},
desc: {
src: '<%= appDesc %>',
dest: 'Aio Angular App'
}
};
if (args.length < 3) {
console.error('Please provide an "env" parameter, possible value: dev, prod');
} else {
if (args[2] === 'dev') {
dev();
} else if (args[2] === 'prod') {
prod();
} else {
console.error('Invalid parameter, possible value: dev, prod');
}
}
// process.exit();
////////////////
function dev () {
fileList.forEach(function (name) {
var newName = name.replace('_', '');
fs.renameSync(BASE + name, BASE + newName);
fs.readFile(BASE + newName, 'utf8', function (err, data) {
if (err) {
return console.log(err);
}
var result = data.replace(new RegExp(mapping.name.src, 'g'), mapping.name.dest);
result = result.replace(new RegExp(mapping.desc.src, 'g'), mapping.desc.dest);
fs.writeFile(BASE + newName, result, 'utf8', function (err) {
if (err) {
return console.log(err);
}
});
});
});
}
function prod () {
fileList.forEach(function (name) {
var oldName = name.replace('_', '');
fs.renameSync(BASE + oldName, BASE + name);
fs.readFile(BASE + name, 'utf8', function (err, data) {
if (err) {
return console.log(err);
}
var result = data.replace(new RegExp(mapping.name.dest, 'g'), mapping.name.src);
result = result.replace(new RegExp(mapping.desc.dest, 'g'), mapping.desc.src);
fs.writeFile(BASE + name, result, 'utf8', function (err) {
if (err) {
return console.log(err);
}
});
});
});
}