#!/usr/bin/env node const { runCommand,readConfigSync, evalJs, rootPath } = require('./lib'); const webpack = require('webpack'); const paths = require('./paths').default; process.env.NODE_ENV = 'production'; const config = readConfigSync(); function buildWebpackEntry(entry) { return new Promise((res,rej) => { const webpackOptions = evalJs(rootPath(entry)); webpack(webpackOptions, (err, stats) => { if(err){ console.error(err); rej(err) } if(stats){ res(stats); } }); }) } async function run() { await runCommand('tsc'); await Promise.all((config.static || []).map(async (entry) => { await runCommand(`mkdir -p ${paths.build}/static`); await runCommand(`cp -R ./${entry}/ ${paths.build}/static`); })); await Promise.all((config.webpack || []).map(async (entry) => await buildWebpackEntry(entry))); } run();