-
Notifications
You must be signed in to change notification settings - Fork 75
/
concat.js
26 lines (18 loc) · 792 Bytes
/
concat.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
const {readFileSync, writeFileSync, mkdirSync, existsSync} = require('fs');
const Concat = require('concat-with-sourcemaps');
function concatSource(name, sourceMap){
const order = JSON.parse(readFileSync(`./${name}.json`).toString());
let concat = new Concat(true, `${name}.js`, '\n');
order.forEach(fileName=>{
const path = `${__dirname}/${fileName}`;
concat.add(path, readFileSync(path).toString());
});
const outFolder = 'dist';
if(!existsSync(outFolder)) mkdirSync(outFolder);
writeFileSync(`./${outFolder}/${name}.js`, concat.content);
if(sourceMap)writeFileSync(`./${outFolder}/${name}.js.map`, concat.sourceMap);
}
if(require.main === module) {
concatSource(process.argv[2], process.argv[3]);
}
module.exports = concatSource;