wci-build
Version:
A webpack scaffold
104 lines (86 loc) • 2.72 kB
JavaScript
;
var _fs = require("fs");
/*
* @Author: jason
* @Date: 2017-11-25 10:18:45
* @Last Modified by: jason
* @Last Modified time: 2019-09-26 14:17:05
*/
var projectDirectory = process.cwd();
var build = '/build';
var wci = require("".concat(projectDirectory, "/").concat(build, "/wci.app.js"))();
var wciLocal = require("".concat(projectDirectory, "/").concat(build, "/wci.local.js"))();
var wciDev = require("".concat(projectDirectory, "/").concat(build, "/wci.dev.js"))();
var wciRelease = require("".concat(projectDirectory, "/").concat(build, "/wci.release.js"))();
var wciProd = require("".concat(projectDirectory, "/").concat(build, "/wci.prod.js"))();
var files = (0, _fs.readFileSync)("".concat(projectDirectory, "/package.json"));
var version = "V".concat(JSON.parse(files.toString()).version);
var apis;
var output;
var application;
var isEslint;
var 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}
*/
var 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;