UNPKG

kkt

Version:

Create React apps with no build configuration, Cli tool for creating react apps.

100 lines (99 loc) 4.83 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = build; var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _loaderConf = require("../utils/loaderConf"); var _path = require("../utils/path"); var _paths = require("../overrides/paths"); var _miniCssExtractPlugin = require("../plugins/miniCssExtractPlugin"); var _checkRequired = require("../overrides/checkRequired"); var _loadSourceMapWarnning = require("../plugins/loadSourceMapWarnning"); process.env.NODE_ENV = 'production'; function build(_x) { return _build.apply(this, arguments); } function _build() { _build = (0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee(argvs) { var _ref, _ref$isNotCheckHTML, isNotCheckHTML, paths, webpackConfigPath, createWebpackConfig, kktrc, overridesHandle, shouldUseSourceMap, overrideOption, defaultWepack, webpackConf, message; return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _ref = argvs || {}, _ref$isNotCheckHTML = _ref.isNotCheckHTML, isNotCheckHTML = _ref$isNotCheckHTML === void 0 ? false : _ref$isNotCheckHTML; _context.prev = 1; paths = (0, _paths.overridePaths)(argvs, argvs.overridePaths); _context.next = 5; return (0, _checkRequired.checkRequiredFiles)(paths, isNotCheckHTML); case 5: webpackConfigPath = "".concat(_path.reactScripts, "/config/webpack.config").concat(!_path.isWebpackFactory ? '.prod' : ''); createWebpackConfig = require(webpackConfigPath); _context.next = 9; return (0, _loaderConf.loaderConf)((0, _path.getConfPath)(argvs.configName)); case 9: kktrc = _context.sent; overridesHandle = kktrc["default"] || argvs.overridesWebpack; if (!(overridesHandle && typeof overridesHandle === 'function')) { _context.next = 28; break; } // Source maps are resource heavy and can cause out of memory issue for large source files. shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false'; overrideOption = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, argvs), {}, { shouldUseSourceMap: shouldUseSourceMap, paths: paths, kktrc: kktrc }); defaultWepack = createWebpackConfig('production'); defaultWepack = (0, _loadSourceMapWarnning.loadSourceMapWarnning)(defaultWepack); defaultWepack = (0, _miniCssExtractPlugin.miniCssExtractPlugin)(defaultWepack, 'production'); defaultWepack = argvs.overridesWebpack ? argvs.overridesWebpack(defaultWepack, 'production', overrideOption) : defaultWepack; if (!kktrc["default"]) { _context.next = 24; break; } _context.next = 21; return overridesHandle(defaultWepack, 'production', overrideOption); case 21: _context.t0 = _context.sent; _context.next = 25; break; case 24: _context.t0 = defaultWepack; case 25: webpackConf = _context.t0; if (webpackConf.proxySetup && typeof webpackConf.proxySetup === 'function') { delete webpackConf.proxySetup; } // override config in memory require.cache[require.resolve(webpackConfigPath)].exports = function (env) { return webpackConf; }; case 28: _context.next = 30; return require("".concat(_path.reactScripts, "/scripts/build")); case 30: _context.next = 38; break; case 32: _context.prev = 32; _context.t1 = _context["catch"](1); message = _context.t1 && _context.t1.message ? _context.t1.message : ''; console.log('\x1b[31;1m KKT:BUILD:ERROR: \x1b[0m\n', _context.t1); new Error("KKT:BUILD:ERROR: \n ".concat(message)); process.exit(1); case 38: case "end": return _context.stop(); } } }, _callee, null, [[1, 32]]); })); return _build.apply(this, arguments); } module.exports = exports.default; //# sourceMappingURL=build.js.map