kkt
Version:
Create React apps with no build configuration, Cli tool for creating react apps.
44 lines (43 loc) • 1.96 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.loadSourceMapWarnning = loadSourceMapWarnning;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _path = _interopRequireDefault(require("path"));
/**
* sourceMap source file does not exist #325
* https://github.com/kktjs/kkt/issues/325
*/
function loadSourceMapWarnning(conf) {
if (conf.module && conf.module.rules && conf.module.rules[0]) {
var rules = conf.module.rules[0];
if ((0, _typeof2["default"])(rules) === 'object' && typeof rules.loader === 'string' && /source-map-loader/.test(rules.loader)) {
// ;(conf.module.rules[0] as any).exclude = /((@babel(?:\/|\\{1,2})runtime)|codesandbox-import-utils)/;
conf.module.rules[0].options = {
filterSourceMappingUrl: function filterSourceMappingUrl(url, resourcePath) {
var sourceMapPath = _path["default"].join(_path["default"].dirname(resourcePath), url);
if (_fsExtra["default"].existsSync(sourceMapPath)) {
var _FS$readJsonSync = _fsExtra["default"].readJsonSync(sourceMapPath),
_FS$readJsonSync$sour = _FS$readJsonSync.sources,
sources = _FS$readJsonSync$sour === void 0 ? [] : _FS$readJsonSync$sour;
if (Array.isArray(sources) && sources.length > 0) {
var isexists = sources.map(function (item) {
return _fsExtra["default"].existsSync(_path["default"].resolve(_path["default"].dirname(resourcePath), item));
}).find(function (item) {
return item === false;
});
if (isexists === false) {
return 'skip';
}
}
}
return true;
}
};
}
}
return conf;
}