/
helper.js
59 lines (56 loc) · 1.3 KB
/
helper.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
var fs = require('fs');
var settings = {
folder: {
css: 'styles',
js: 'scripts'
},
file: {
html: 'index.html',
css: 'all.css',
js: 'main.js'
},
content: {
html: '<!doctype html>\n' +
'<html>\n' +
'\t<head>\n' +
'\t\t<title>Helper</title>\n' +
'\t\t<link rel="stylesheet" type="text/css" href="styles/all.css"/>\n' +
'\t\t<script type="text/javascript" src="scripts/main.js"></script>\n' +
'\t</head>\n' +
'\t<body>\n' +
'\t</body>\n' +
'</html>',
css: '',
js: '(function(){})();'
}
};
if(!!process.argv[2] && process.argv[2].toLowerCase() === 'init'){
copyFile('helper.js', '../..');
} else {
fs.mkdir(settings.folder.css);
fs.mkdir(settings.folder.js);
fs.appendFile(settings.folder.css + '/' + settings.file.css, settings.content.css);
fs.appendFile(settings.folder.js + '/' + settings.file.js, settings.content.js);
fs.appendFile(settings.file.html, settings.content.html);
}
function copyFile(source, target, cb) {
var cbCalled = false;
var wr = fs.createWriteStream(target);
var rd = fs.createReadStream(source);
rd.on("error", function(err) {
done(err);
});
wr.on("error", function(err) {
done(err);
});
wr.on("close", function(ex) {
done();
});
rd.pipe(wr);
function done(err) {
if (!cbCalled) {
cb(err);
cbCalled = true;
}
}
}