diff --git a/@types/index.d.ts b/@types/index.d.ts index 4c79723..5d8d1f9 100644 --- a/@types/index.d.ts +++ b/@types/index.d.ts @@ -271,10 +271,16 @@ declare namespace build { */ interface options extends BuildService.serverInitOptions { /** - * 当前运行版本 + * 当前程序运行版本 */ version?: string + /** + * 当前 @bestminr/build 运行版本 + * * readonly + */ + buildVersion?: string + /** * 根目录 地址 */ diff --git a/src/utils/index.ts b/src/utils/index.ts index b40dc95..16f2dab 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -105,6 +105,26 @@ function setBabelrc(options: ConfigOptions.options) { return options } +/** + * 设置 版本号 + * @param options build 通用 webpack 配置 + */ +function setVersion(options: ConfigOptions.options) { + if (options.version) return options + try { + const PACKAGE = JSON.parse( + readFileSync(resolve(options.rootDir || '', 'package.json'), { + encoding: 'utf-8' + }) + ) + options.version = PACKAGE.version + return options + } catch (error) { + consola.fatal('setVersion', error) + return process.exit(0) + } +} + /** * 设置 webpack * @param options build 通用 webpack 配置 @@ -250,7 +270,9 @@ export async function initConfig( await setWebpack(options, mode) - options.version = options.version || argv.version + options.buildVersion = argv.version + + setVersion(options) buildServiceConfig = options