@ali-i18n-fe/dada-component
Version:
57 lines (45 loc) • 1.62 kB
JavaScript
const getWebpackProdConfig = require("./webpack/webpack.prod");
const { shellSyncExec, getCurrentPathConfig } = require("./utils");
const { isDef } = require("./utils/def");
const Babel = require("./babel");
const { buildTypeFile } = require("./utils/buildComponentDoc");
const { buildRouteMap } = require("./utils/buildRouteMap");
const { buildDadaSchema } = require("./utils/buildDadaSchema");
const { buildNPMIgnore } = require("./utils/buildNPMIgnore");
const snapshot = require("./snapshot");
const readme = require("./readme");
const manifest = require("./manifest");
const increaseVersion = require("./increase-version");
const { spendTime } = require("./webpack/utils/log");
const { webpackPromise } = require("./utils/webpackPromise");
const Build = {
async load() {
shellSyncExec(`echo DADA-COMP Node版本号:$(node -v)`);
await spendTime("构建", async () => {
const config = await this.getWebpackConfig();
this.config = config;
shellSyncExec(`mkdir -p ${config.output.path}`);
await this.runWebpack();
await this.runOtherFiles();
await snapshot.load();
isDef() && readme.load();
await manifest.load();
})();
increaseVersion.load();
},
async runOtherFiles() {
await Babel.load();
buildRouteMap(this.config);
buildTypeFile(this.config);
buildDadaSchema(this.config);
buildNPMIgnore(this.config);
},
runWebpack() {
const config = this.config;
return webpackPromise(config);
},
async getWebpackConfig() {
return getWebpackProdConfig(getCurrentPathConfig());
},
};
module.exports = Build;