2020-10-13 01:40:21 +08:00
|
|
|
// #!/usr/bin/env node
|
|
|
|
|
2020-10-20 21:00:24 +08:00
|
|
|
import { sh } from 'tasksfile';
|
2020-10-14 21:22:08 +08:00
|
|
|
|
2020-10-13 01:40:21 +08:00
|
|
|
import { argv } from 'yargs';
|
|
|
|
import { runBuildConfig } from './buildConf';
|
|
|
|
import { runUpdateHtml } from './updateHtml';
|
2020-10-15 21:38:50 +08:00
|
|
|
import { errorConsole, successConsole } from '../utils';
|
2020-10-16 22:03:44 +08:00
|
|
|
import { startGzipStyle } from '../plugin/gzip/compress';
|
2020-10-13 01:40:21 +08:00
|
|
|
|
2020-10-20 21:00:24 +08:00
|
|
|
export const runBuild = async (preview = false) => {
|
2020-10-13 01:40:21 +08:00
|
|
|
try {
|
|
|
|
const argvList = argv._;
|
2020-10-20 21:00:24 +08:00
|
|
|
if (preview) {
|
|
|
|
let cmd = `cross-env NODE_ENV=production vite build`;
|
|
|
|
await sh(cmd, {
|
|
|
|
async: true,
|
|
|
|
nopipe: true,
|
|
|
|
});
|
|
|
|
}
|
2020-10-13 01:40:21 +08:00
|
|
|
|
|
|
|
// Generate configuration file
|
|
|
|
if (!argvList.includes('no-conf')) {
|
|
|
|
await runBuildConfig();
|
|
|
|
}
|
|
|
|
await runUpdateHtml();
|
2020-10-20 21:00:24 +08:00
|
|
|
if (!preview) {
|
|
|
|
await startGzipStyle();
|
|
|
|
}
|
2020-10-13 01:40:21 +08:00
|
|
|
successConsole('Vite Build successfully!');
|
|
|
|
} catch (error) {
|
|
|
|
errorConsole('Vite Build Error\n' + error);
|
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
};
|