@lvl/wxapp-cli
Version:
wxapp-cli
54 lines (49 loc) • 1.16 kB
JavaScript
const EventEmitter = require('events')
const chalk = require('chalk')
const {
// getAppCtx
prepareEnv
} = require('../utils')
const { cliRoot } = require('../config/wxapp-cli.config')
module.exports = class Builder extends EventEmitter {
constructor () {
super()
}
// 检测cwd环境是否为有效的小程序项目
async prepareEnv () {
let {
appCtx,
cliTplConfig,
cliTemplate
} = await prepareEnv()
this.app = {
ctx: appCtx,
pkg: require(`${appCtx}/package.json`),
config: cliTplConfig
}
}
// 运行development构建
async runDev (cliOptions = {}) {
await this.prepareEnv()
const tplDevFn = require(`${this.app.config.template.module}/build/dev`)
const cli = {
cliRoot,
cliOptions,
app: this.app,
isDev: true
}
await tplDevFn(cli)
}
// 运行production构建
async runProd (cliOptions = {}) {
await this.prepareEnv()
const tplProdFn = require(`${this.app.config.template.module}/build/prod`)
const cli = {
cliRoot,
cliOptions,
app: this.app,
isDev: false
}
await tplProdFn(cli)
}
}