kkt
Version:
Create React apps with no build configuration, Cli tool for creating react apps.
45 lines (44 loc) • 1.93 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.overridePaths = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _path = _interopRequireDefault(require("path"));
var _path2 = require("../utils/path");
/**
* Override Paths
* @param {ParsedArgs | undefined} argvs `argvs['app-src']`
* @param {Record<string, string>} opts
* - [create-react-app/react-scripts/react-scripts/config/paths.js](https://github.com/facebook/create-react-app/blob/0f6fc2bc71d78f0dcae67f3f08ce98a42fc0a57c/packages/react-scripts/config/paths.js#L83-L105)
*/
var overridePaths = function overridePaths(argvs) {
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var pathsConfPath = "".concat(_path2.reactScripts, "/config/paths");
var pathsConf = require(pathsConfPath);
var _oldPaths = (0, _objectSpread2["default"])({}, pathsConf);
if (opts) {
Object.keys(pathsConf).forEach(function (keyname) {
if (opts && opts[keyname]) {
pathsConf[keyname] = opts[keyname];
}
});
}
if (argvs && argvs['app-src']) {
var oldAppSrc = pathsConf.appSrc;
pathsConf.appSrc = _path["default"].resolve(pathsConf.appPath, argvs['app-src']);
Object.keys(pathsConf).forEach(function (keyname) {
if (typeof pathsConf[keyname] === 'string' && pathsConf[keyname].startsWith(oldAppSrc)) {
pathsConf[keyname] = pathsConf[keyname].replace(oldAppSrc, pathsConf.appSrc);
}
});
}
// override config in memory
require.cache[require.resolve(pathsConfPath)].exports = pathsConf;
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, pathsConf), {}, {
_oldPaths: _oldPaths
});
};
exports.overridePaths = overridePaths;
//# sourceMappingURL=paths.js.map
;