UNPKG

kkt

Version:

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

107 lines (106 loc) 5.2 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 _path = _interopRequireDefault(require("path")); var _resolveFallback = _interopRequireDefault(require("@kkt/resolve-fallback")); var _conf = require("../utils/conf"); var _path2 = 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, configOverrides, 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(_path2.reactScripts, "/config/webpack.config").concat(!_path2.isWebpackFactory ? '.prod' : ''); createWebpackConfig = require(webpackConfigPath); configOverrides = argvs['config-overrides']; _context.next = 10; return (0, _conf.loaderConfig)(argvs.configName || '.kktrc', { /** * Specify the directory where the configuration is located. */ cwd: configOverrides ? _path["default"].resolve(process.cwd(), argvs['config-overrides']) : undefined, ignoreLog: true }); case 10: kktrc = _context.sent; overridesHandle = kktrc["default"] || argvs.overridesWebpack; if (!(overridesHandle && typeof overridesHandle === 'function')) { _context.next = 30; 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, _resolveFallback["default"])(defaultWepack); defaultWepack = (0, _miniCssExtractPlugin.miniCssExtractPlugin)(defaultWepack, 'production'); defaultWepack = argvs.overridesWebpack ? argvs.overridesWebpack(defaultWepack, 'production', overrideOption) : defaultWepack; if (!kktrc["default"]) { _context.next = 26; break; } _context.next = 23; return overridesHandle(defaultWepack, 'production', overrideOption); case 23: _context.t0 = _context.sent; _context.next = 27; break; case 26: _context.t0 = defaultWepack; case 27: 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 30: _context.next = 32; return require("".concat(_path2.reactScripts, "/scripts/build")); case 32: _context.next = 40; break; case 34: _context.prev = 34; _context.t1 = _context["catch"](1); message = _context.t1 && _context.t1 instanceof Error && _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 40: case "end": return _context.stop(); } }, _callee, null, [[1, 34]]); })); return _build.apply(this, arguments); } module.exports = exports.default;