mirror of
https://github.com/digitalocean/nginxconfig.io.git
synced 2025-08-09 14:58:30 +08:00
build refactor
This commit is contained in:
46
build/script.js
Normal file
46
build/script.js
Normal file
@@ -0,0 +1,46 @@
|
||||
/* eslint-env es6 */
|
||||
/* eslint-disable no-console */
|
||||
/* global require */
|
||||
/* global console */
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const process = require('process');
|
||||
const concat = require('concat');
|
||||
const uglifyJs = require('uglify-js');
|
||||
|
||||
const key = process.argv[2];
|
||||
const output = process.argv[3];
|
||||
const production = process.argv.indexOf('--production') !== -1;
|
||||
|
||||
const allFiles = JSON.parse(fs.readFileSync('scripts.json', 'utf8'));
|
||||
const files = allFiles[key];
|
||||
|
||||
console.log('concatenating', files);
|
||||
|
||||
concat(files, output).then((concatenated) => {
|
||||
if (production) {
|
||||
console.log('minifying', output);
|
||||
|
||||
const minifyOutput = uglifyJs.minify(
|
||||
concatenated,
|
||||
{
|
||||
compress: {
|
||||
drop_console: true,
|
||||
},
|
||||
output: {
|
||||
beautify: false,
|
||||
wrap_iife: true,
|
||||
},
|
||||
sourceMap: {
|
||||
filename: path.basename(output),
|
||||
url: path.basename(output) + '.map',
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
fs.writeFileSync(output, minifyOutput.code);
|
||||
fs.writeFileSync(output + '.map', minifyOutput.map);
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user