UNPKG

wci-build

Version:
88 lines (78 loc) 2.58 kB
/* * @Author: jason * @Date: 2017-11-25 10:18:45 * @Last Modified by: jason * @Last Modified time: 2019-09-26 14:17:05 */ import { readFileSync } from 'fs'; const projectDirectory = process.cwd(); const build = '/build'; const wci = require(`${projectDirectory}/${build}/wci.app.js`)(); const wciLocal = require(`${projectDirectory}/${build}/wci.local.js`)(); const wciDev = require(`${projectDirectory}/${build}/wci.dev.js`)(); const wciRelease = require(`${projectDirectory}/${build}/wci.release.js`)(); const wciProd = require(`${projectDirectory}/${build}/wci.prod.js`)(); const files = readFileSync(`${projectDirectory}/package.json`); let version = `V${JSON.parse(files.toString()).version}`; let apis; let output; let application; let isEslint; let isAnalyzer; /** * 区分环境 */ // 本地 if(process.env.NODE_ENV && process.env.NODE_ENV === 'default') { apis = wciLocal.apis; application = wciLocal.application; isEslint = wciLocal.eslint; isAnalyzer = wciLocal.analyzer; } // 开发 if (process.env.NODE_ENV && process.env.NODE_ENV === 'development') { apis = wciDev.apis; output = wciDev.output; application = wciDev.application; isEslint = wciDev.eslint; isAnalyzer = wciDev.analyzer; } // 测试 if (process.env.NODE_ENV && process.env.NODE_ENV === 'release') { apis = wciRelease.apis; output = wciRelease.output; application = wciRelease.application; isEslint = wciRelease.eslint; isAnalyzer = wciRelease.analyzer; } // 生产 if (process.env.NODE_ENV && process.env.NODE_ENV === 'production') { apis = wciProd.apis; output = wciProd.output; application = wciProd.application; isEslint = wciProd.eslint; isAnalyzer = wciProd.analyzer; } /** * @type {Object} */ const config = { // 默认 DEFAULT_VERSION: version || '1.0.0', DEFAULT_PATH: projectDirectory, // 项目根目录 // wci配置 DEFAULT_SRC: wci.src || 'app', // 项目代码目录 DEFAULT_INDEX: wci.index || 'app/index.js', // 项目入口文件 DEFAULT_NAME: wci.name || 'WCI', // 项目名称 DEFAULT_DLL: wci.dll || {}, // 动态环境配置 DEFAULT_ESLINT: isEslint || true, // 是否开启ESLINT DEFAULT_ANALYZER: isAnalyzer || true, // 是否懒加载 DEFAULT_APIS: apis || {}, // 项目接口 DEFAULT_OUTPUT: output || 'dev', // 项目出口 DEFAULT_APPLICATION: application || {}, // 项目配置 // LOCAL独有配置 DEFAULT_HOSTNAME: wciLocal.hostname, // 本地启动IP|域名(local环境独有) DEFAULT_PORT: wciLocal.port, // 项目端口(local环境独有) }; module.exports = config;