webpack-dynamic-require
Advanced tools
Comparing version 2.0.0 to 2.0.1
@@ -23,4 +23,5 @@ export * from './Main'; | ||
cssPrefix?: string; | ||
mainFile: string; | ||
uninstall: () => void; | ||
constructor({ baseUrl, hashed, jsPrefix, cssPrefix }: { | ||
constructor({ baseUrl, hashed, jsPrefix, cssPrefix, mainFile }: { | ||
baseUrl: string; | ||
@@ -30,2 +31,3 @@ hashed?: boolean; | ||
cssPrefix?: string; | ||
mainFile?: string; | ||
}); | ||
@@ -32,0 +34,0 @@ genHash(value: string): string; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _exportNames = {}; | ||
exports["default"] = void 0; | ||
var _scriptjs = _interopRequireDefault(require("scriptjs")); | ||
var _camelcase = _interopRequireDefault(require("camelcase")); | ||
var _imurmurhash = _interopRequireDefault(require("imurmurhash")); | ||
var _Main = require("./Main"); | ||
Object.keys(_Main).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function get() { | ||
return _Main[key]; | ||
} | ||
}); | ||
}); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } | ||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } | ||
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
function __export(m) { | ||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; | ||
} | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const scriptjs_1 = __importDefault(require("scriptjs")); | ||
const camelcase_1 = __importDefault(require("camelcase")); | ||
const imurmurhash_1 = __importDefault(require("imurmurhash")); | ||
__export(require("./Main")); | ||
var g = typeof window != "undefined" ? window : global; | ||
function loadCSS(url) { | ||
var cssRoot = document.getElementsByTagName('head')[0]; | ||
var link = document.createElement('link'); | ||
link.rel = 'stylesheet'; | ||
link.href = url; | ||
cssRoot.appendChild(link); | ||
return new Promise(function (resolve, reject) { | ||
link.addEventListener('error', function () { | ||
reject("load css error: ".concat(url)); | ||
const cssRoot = document.getElementsByTagName('head')[0]; | ||
const link = document.createElement('link'); | ||
link.rel = 'stylesheet'; | ||
link.href = url; | ||
cssRoot.appendChild(link); | ||
return new Promise((resolve, reject) => { | ||
link.addEventListener('error', () => { | ||
reject(`load css error: ${url}`); | ||
}); | ||
link.addEventListener('load', () => resolve(link)); | ||
}); | ||
link.addEventListener('load', function () { | ||
return resolve(link); | ||
}); | ||
}); | ||
} | ||
var jsonp = function jsonp(url) { | ||
var opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
var fn = arguments.length > 2 ? arguments[2] : undefined; | ||
if (typeof opt === 'function') { | ||
fn = opt; | ||
opt = {}; | ||
} | ||
var _opt = opt, | ||
_opt$timeout = _opt.timeout, | ||
timeout = _opt$timeout === void 0 ? null : _opt$timeout, | ||
_opt$cbKey = _opt.cbKey, | ||
cbKey = _opt$cbKey === void 0 ? 'callback' : _opt$cbKey, | ||
_opt$cbVal = _opt.cbVal, | ||
cbVal = _opt$cbVal === void 0 ? 'fengyu' : _opt$cbVal; | ||
var timer; | ||
if (cbVal === 'fengyu') { | ||
cbVal += Date.now(); | ||
} | ||
var s = ''; | ||
s += "&".concat(cbKey, "=").concat(cbVal); | ||
s = s.slice(1); | ||
url += (~url.indexOf('?') ? '&' : '?') + s; | ||
var script = document.createElement('script'); | ||
var remove = function remove() { | ||
timer && clearTimeout(timer); | ||
document.head.removeChild(script); | ||
g[cbVal] = undefined; | ||
}; | ||
script.src = url; | ||
if (fn !== undefined && typeof fn === 'function') { | ||
g[cbVal] = function (data) { | ||
fn(data); | ||
remove(); | ||
const jsonp = (url, opt = {}, fn) => { | ||
if (typeof opt === 'function') { | ||
fn = opt; | ||
opt = {}; | ||
} | ||
let { timeout = null, cbKey = 'callback', cbVal = 'fengyu' } = opt; | ||
let timer; | ||
if (cbVal === 'fengyu') { | ||
cbVal += Date.now(); | ||
} | ||
let s = ''; | ||
s += `&${cbKey}=${cbVal}`; | ||
s = s.slice(1); | ||
url += (~url.indexOf('?') ? '&' : '?') + s; | ||
var script = document.createElement('script'); | ||
var remove = () => { | ||
timer && clearTimeout(timer); | ||
document.head.removeChild(script); | ||
g[cbVal] = undefined; | ||
}; | ||
document.head.appendChild(script); | ||
return; | ||
} | ||
return new Promise(function (resolve, reject) { | ||
// 请求超时 | ||
if (timeout) { | ||
timer = setTimeout(function () { | ||
reject(new Error('jsonp request timeout')); | ||
remove(); | ||
}, timeout); | ||
} // 正常 | ||
g[cbVal] = function () { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
resolve(args); | ||
remove(); | ||
}; | ||
document.head.appendChild(script); | ||
}); | ||
script.src = url; | ||
if (fn !== undefined && typeof fn === 'function') { | ||
g[cbVal] = (data) => { | ||
fn(data); | ||
remove(); | ||
}; | ||
document.head.appendChild(script); | ||
return; | ||
} | ||
return new Promise((resolve, reject) => { | ||
// 请求超时 | ||
if (timeout) { | ||
timer = setTimeout(() => { | ||
reject(new Error('jsonp request timeout')); | ||
remove(); | ||
}, timeout); | ||
} | ||
// 正常 | ||
g[cbVal] = (...args) => { | ||
resolve(args); | ||
remove(); | ||
}; | ||
document.head.appendChild(script); | ||
}); | ||
}; | ||
function getBlurVersion(version) { | ||
return version.split('.').map(function (v, i) { | ||
return i > 0 ? 'x' : v; | ||
}).join('.'); | ||
} // const _require_ = g.webpackData; | ||
return version.split('.').map((v, i) => i > 0 ? 'x' : v).join('.'); | ||
} | ||
// const _require_ = g.webpackData; | ||
// g.webpackData = function(moduleId: any) { | ||
@@ -147,179 +85,110 @@ // const module = _require_.m[moduleId] as Function; | ||
// Object.assign(g.webpackData, _require_); | ||
function loadComponentCss(baseUrl, styleId, needComboCssChunk, cssPrefix) { | ||
var componentCss = "".concat(cssPrefix, "index.css"); | ||
var comboCssChunks = needComboCssChunk.map(function (chunkName) { | ||
return "".concat(cssPrefix, "deps/").concat(chunkName, ".css"); | ||
}); | ||
comboCssChunks.unshift(componentCss); | ||
var comboCssUrl = "".concat(baseUrl, "/??").concat(comboCssChunks.join()); | ||
return loadCSS(comboCssUrl).then(function (link) { | ||
link && link.setAttribute('id', styleId); | ||
}); | ||
function loadComponentCss(baseUrl, mainFile, styleId, needComboCssChunk, cssPrefix) { | ||
const componentCss = `${cssPrefix}${mainFile}.css`; | ||
const comboCssChunks = needComboCssChunk.map(chunkName => `${cssPrefix}deps/${chunkName}.css`); | ||
comboCssChunks.unshift(componentCss); | ||
const comboCssUrl = `${baseUrl}/??${comboCssChunks.join()}`; | ||
return loadCSS(comboCssUrl).then(link => { | ||
link && link.setAttribute('id', styleId); | ||
}); | ||
} | ||
var DynamicRequire = | ||
/*#__PURE__*/ | ||
function () { | ||
function DynamicRequire(_ref) { | ||
var _this = this; | ||
var baseUrl = _ref.baseUrl, | ||
hashed = _ref.hashed, | ||
jsPrefix = _ref.jsPrefix, | ||
cssPrefix = _ref.cssPrefix; | ||
_classCallCheck(this, DynamicRequire); | ||
_defineProperty(this, "baseUrl", void 0); | ||
_defineProperty(this, "jsonpUrl", void 0); | ||
_defineProperty(this, "hashed", void 0); | ||
_defineProperty(this, "scriptId", void 0); | ||
_defineProperty(this, "styleId", void 0); | ||
_defineProperty(this, "jsPrefix", void 0); | ||
_defineProperty(this, "cssPrefix", void 0); | ||
_defineProperty(this, "uninstall", void 0); | ||
if (!baseUrl) { | ||
throw new Error('DynamicRequire baseUrl paramters must setted'); | ||
class DynamicRequire { | ||
constructor({ baseUrl, hashed, jsPrefix, cssPrefix, mainFile }) { | ||
if (!baseUrl) { | ||
throw new Error('DynamicRequire baseUrl paramters must setted'); | ||
} | ||
const jsonpUrl = `${baseUrl}/jsonpmodules.js`; | ||
const hashId = this.genHash(baseUrl); | ||
this.scriptId = `${hashId}_js`; | ||
this.styleId = `${hashId}_css`; | ||
const unInstallFn = () => { | ||
const jse = document.getElementById(this.scriptId); | ||
const csse = document.getElementById(this.styleId); | ||
jse && jse.remove(); | ||
csse && csse.remove(); | ||
}; | ||
this.baseUrl = baseUrl; | ||
this.jsonpUrl = jsonpUrl; | ||
this.hashed = hashed; | ||
this.jsPrefix = jsPrefix; | ||
this.cssPrefix = cssPrefix; | ||
this.mainFile = mainFile || 'index'; | ||
this.uninstall = unInstallFn; | ||
} | ||
var jsonpUrl = "".concat(baseUrl, "/jsonpmodules.js"); | ||
var hashId = this.genHash(baseUrl); | ||
this.scriptId = "".concat(hashId, "_js"); | ||
this.styleId = "".concat(hashId, "_css"); | ||
var unInstallFn = function unInstallFn() { | ||
var jse = document.getElementById(_this.scriptId); | ||
var csse = document.getElementById(_this.styleId); | ||
jse && jse.remove(); | ||
csse && csse.remove(); | ||
}; | ||
this.baseUrl = baseUrl; | ||
this.jsonpUrl = jsonpUrl; | ||
this.hashed = hashed; | ||
this.jsPrefix = jsPrefix; | ||
this.cssPrefix = cssPrefix; | ||
this.uninstall = unInstallFn; | ||
} | ||
_createClass(DynamicRequire, [{ | ||
key: "genHash", | ||
value: function genHash(value) { | ||
var hashState = new _imurmurhash["default"](); | ||
hashState.hash(value); | ||
return hashState.result().toString(16).substr(0, 6); | ||
genHash(value) { | ||
const hashState = new imurmurhash_1.default(); | ||
hashState.hash(value); | ||
return hashState.result().toString(16).substr(0, 6); | ||
} | ||
}, { | ||
key: "require", | ||
value: function require(name) { | ||
var _this2 = this; | ||
var baseUrl = this.baseUrl, | ||
jsonpUrl = this.jsonpUrl, | ||
hashed = this.hashed, | ||
_this$jsPrefix = this.jsPrefix, | ||
jsPrefix = _this$jsPrefix === void 0 ? '' : _this$jsPrefix, | ||
_this$cssPrefix = this.cssPrefix, | ||
cssPrefix = _this$cssPrefix === void 0 ? '' : _this$cssPrefix, | ||
styleId = this.styleId; | ||
var jsonpCallback = (0, _camelcase["default"])(name.replace(/@/g, '$')).replace(/\//g, '_'); | ||
return jsonp(jsonpUrl, { | ||
cbVal: jsonpCallback | ||
}).then(function (args) { | ||
var modules = args[0]; | ||
var entry = args[1]; | ||
var entryModuleName = "".concat(name, "/").concat(entry); | ||
var componentChunks = "".concat(jsPrefix, "vendor.js,").concat(jsPrefix, "index.js"); | ||
var needComboCssChunk = []; | ||
var needComboChunk = []; | ||
if (hashed) { | ||
entryModuleName = _this2.genHash(entryModuleName); | ||
} | ||
modules.forEach(function (_ref2) { | ||
var _ref3 = _slicedToArray(_ref2, 3), | ||
moduleName = _ref3[0], | ||
chunkName = _ref3[1], | ||
isCss = _ref3[2]; | ||
var module = g.webpackData.c[moduleName]; // 如果module不存在,放到module对应的chunk到combo信息里 | ||
if (!module && needComboChunk.indexOf(chunkName) === -1) { | ||
needComboChunk.push(chunkName); | ||
} | ||
if (isCss && needComboCssChunk.indexOf(chunkName) === -1) { | ||
needComboCssChunk.push(chunkName); | ||
} | ||
}); // 已经加载过了的逻辑 | ||
if (g.webpackData.c[entryModuleName]) { | ||
// if webpack enable hmr above return { children, exports, hot ...} | ||
var module = g.webpackData(entryModuleName); | ||
var csse = document.getElementById(styleId); // 样式已经卸载,重新加载出来 | ||
if (!csse) { | ||
return loadComponentCss(baseUrl, styleId, needComboCssChunk, cssPrefix).then(function () { | ||
return module.a || module; | ||
require(name) { | ||
const { baseUrl, jsonpUrl, hashed, jsPrefix = '', cssPrefix = '', mainFile, styleId } = this; | ||
const jsonpCallback = camelcase_1.default(name.replace(/@/g, '$')).replace(/\//g, '_'); | ||
return jsonp(jsonpUrl, { | ||
cbVal: jsonpCallback | ||
}).then((args) => { | ||
const modules = args[0]; | ||
const entry = args[1]; | ||
let entryModuleName = `${name}/${entry}`; | ||
const componentChunks = `${jsPrefix}vendor.js,${jsPrefix}${mainFile}.js`; | ||
const needComboCssChunk = []; | ||
const needComboChunk = []; | ||
if (hashed) { | ||
entryModuleName = this.genHash(entryModuleName); | ||
} | ||
modules.forEach(([moduleName, chunkName, isCss]) => { | ||
const module = g.webpackData.c[moduleName]; | ||
// 如果module不存在,放到module对应的chunk到combo信息里 | ||
if (!module && needComboChunk.indexOf(chunkName) === -1) { | ||
needComboChunk.push(chunkName); | ||
} | ||
if (isCss && needComboCssChunk.indexOf(chunkName) === -1) { | ||
needComboCssChunk.push(chunkName); | ||
} | ||
}); | ||
} else { | ||
return Promise.resolve(module.a || module); | ||
} | ||
} // 新加载逻辑 | ||
// 加载css | ||
var ssPromise = loadComponentCss(baseUrl, styleId, needComboCssChunk, cssPrefix); // 并行加载js | ||
var jsPromise; | ||
var comboChunks = needComboChunk.map(function (chunkName) { | ||
return "".concat(jsPrefix, "deps/").concat(chunkName, ".js"); | ||
}); | ||
comboChunks.unshift(componentChunks); // 补上必须的组件资源 | ||
var comboUrl = "".concat(baseUrl, "/??").concat(comboChunks.join()); | ||
jsPromise = new Promise(function (resolve, reject) { | ||
(0, _scriptjs["default"])(comboUrl, function () { | ||
try { | ||
console.log('load combo js done', name); | ||
var _module = g.webpackData(entryModuleName); | ||
resolve(_module.a || _module); | ||
} catch (e) { | ||
reject(e); | ||
// 已经加载过了的逻辑 | ||
if (g.webpackData.c[entryModuleName]) { | ||
// if webpack enable hmr above return { children, exports, hot ...} | ||
const module = g.webpackData(entryModuleName); | ||
const csse = document.getElementById(styleId); | ||
// 样式已经卸载,重新加载出来 | ||
if (!csse) { | ||
return loadComponentCss(baseUrl, mainFile, styleId, needComboCssChunk, cssPrefix).then(() => { | ||
return module.a || module; | ||
}); | ||
} | ||
else { | ||
return Promise.resolve(module.a || module); | ||
} | ||
} | ||
}); | ||
// 新加载逻辑 | ||
// 加载css | ||
const ssPromise = loadComponentCss(baseUrl, mainFile, styleId, needComboCssChunk, cssPrefix); | ||
// 并行加载js | ||
let jsPromise; | ||
const comboChunks = needComboChunk.map(chunkName => `${jsPrefix}deps/${chunkName}.js`); | ||
comboChunks.unshift(componentChunks); // 补上必须的组件资源 | ||
const comboUrl = `${baseUrl}/??${comboChunks.join()}`; | ||
jsPromise = new Promise((resolve, reject) => { | ||
scriptjs_1.default(comboUrl, () => { | ||
try { | ||
console.log('load combo js done', name); | ||
const module = g.webpackData(entryModuleName); | ||
resolve(module.a || module); | ||
} | ||
catch (e) { | ||
reject(e); | ||
} | ||
}); | ||
}); | ||
return Promise.all([ssPromise, jsPromise]).then(([ss, module]) => { | ||
return module; | ||
}).catch(e => { | ||
console.warn('bootload module error', e); | ||
}); | ||
}).catch(function (error) { | ||
console.warn('load remote error'); | ||
throw error; | ||
}); | ||
return Promise.all([ssPromise, jsPromise]).then(function (_ref4) { | ||
var _ref5 = _slicedToArray(_ref4, 2), | ||
ss = _ref5[0], | ||
module = _ref5[1]; | ||
return module; | ||
})["catch"](function (e) { | ||
console.warn('bootload module error', e); | ||
}); | ||
})["catch"](function (error) { | ||
console.warn('load remote error'); | ||
throw error; | ||
}); | ||
} | ||
}]); | ||
return DynamicRequire; | ||
}(); | ||
exports["default"] = DynamicRequire; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9EeW5hbWljLnRzIl0sIm5hbWVzIjpbImciLCJ3aW5kb3ciLCJnbG9iYWwiLCJsb2FkQ1NTIiwidXJsIiwiY3NzUm9vdCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJsaW5rIiwiY3JlYXRlRWxlbWVudCIsInJlbCIsImhyZWYiLCJhcHBlbmRDaGlsZCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiYWRkRXZlbnRMaXN0ZW5lciIsImpzb25wIiwib3B0IiwiZm4iLCJ0aW1lb3V0IiwiY2JLZXkiLCJjYlZhbCIsInRpbWVyIiwiRGF0ZSIsIm5vdyIsInMiLCJzbGljZSIsImluZGV4T2YiLCJzY3JpcHQiLCJyZW1vdmUiLCJjbGVhclRpbWVvdXQiLCJoZWFkIiwicmVtb3ZlQ2hpbGQiLCJ1bmRlZmluZWQiLCJzcmMiLCJkYXRhIiwic2V0VGltZW91dCIsIkVycm9yIiwiYXJncyIsImdldEJsdXJWZXJzaW9uIiwidmVyc2lvbiIsInNwbGl0IiwibWFwIiwidiIsImkiLCJqb2luIiwibG9hZENvbXBvbmVudENzcyIsImJhc2VVcmwiLCJzdHlsZUlkIiwibmVlZENvbWJvQ3NzQ2h1bmsiLCJjc3NQcmVmaXgiLCJjb21wb25lbnRDc3MiLCJjb21ib0Nzc0NodW5rcyIsImNodW5rTmFtZSIsInVuc2hpZnQiLCJjb21ib0Nzc1VybCIsInRoZW4iLCJzZXRBdHRyaWJ1dGUiLCJEeW5hbWljUmVxdWlyZSIsImhhc2hlZCIsImpzUHJlZml4IiwianNvbnBVcmwiLCJoYXNoSWQiLCJnZW5IYXNoIiwic2NyaXB0SWQiLCJ1bkluc3RhbGxGbiIsImpzZSIsImdldEVsZW1lbnRCeUlkIiwiY3NzZSIsInVuaW5zdGFsbCIsInZhbHVlIiwiaGFzaFN0YXRlIiwiTXVybXVySGFzaDMiLCJoYXNoIiwicmVzdWx0IiwidG9TdHJpbmciLCJzdWJzdHIiLCJuYW1lIiwianNvbnBDYWxsYmFjayIsInJlcGxhY2UiLCJtb2R1bGVzIiwiZW50cnkiLCJlbnRyeU1vZHVsZU5hbWUiLCJjb21wb25lbnRDaHVua3MiLCJuZWVkQ29tYm9DaHVuayIsImZvckVhY2giLCJtb2R1bGVOYW1lIiwiaXNDc3MiLCJtb2R1bGUiLCJ3ZWJwYWNrRGF0YSIsImMiLCJwdXNoIiwiYSIsInNzUHJvbWlzZSIsImpzUHJvbWlzZSIsImNvbWJvQ2h1bmtzIiwiY29tYm9VcmwiLCJjb25zb2xlIiwibG9nIiwiZSIsImFsbCIsInNzIiwid2FybiIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUlBLENBQUMsR0FBRyxPQUFPQyxNQUFQLElBQWlCLFdBQWpCLEdBQStCQSxNQUEvQixHQUF3Q0MsTUFBaEQ7O0FBa0JBLFNBQVNDLE9BQVQsQ0FBaUJDLEdBQWpCLEVBQThCO0FBQzVCLE1BQU1DLE9BQU8sR0FBR0MsUUFBUSxDQUFDQyxvQkFBVCxDQUE4QixNQUE5QixFQUFzQyxDQUF0QyxDQUFoQjtBQUNBLE1BQU1DLElBQUksR0FBR0YsUUFBUSxDQUFDRyxhQUFULENBQXVCLE1BQXZCLENBQWI7QUFDQUQsRUFBQUEsSUFBSSxDQUFDRSxHQUFMLEdBQVcsWUFBWDtBQUNBRixFQUFBQSxJQUFJLENBQUNHLElBQUwsR0FBWVAsR0FBWjtBQUVBQyxFQUFBQSxPQUFPLENBQUNPLFdBQVIsQ0FBb0JKLElBQXBCO0FBRUEsU0FBTyxJQUFJSyxPQUFKLENBQTZCLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN2RFAsSUFBQUEsSUFBSSxDQUFDUSxnQkFBTCxDQUFzQixPQUF0QixFQUErQixZQUFNO0FBQ25DRCxNQUFBQSxNQUFNLDJCQUFvQlgsR0FBcEIsRUFBTjtBQUNELEtBRkQ7QUFHQUksSUFBQUEsSUFBSSxDQUFDUSxnQkFBTCxDQUFzQixNQUF0QixFQUE4QjtBQUFBLGFBQU1GLE9BQU8s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RUFBSTtBQUNaRixVQUFBQSxPQUFPLENBQUNLLElBQVIsQ0FBYSx1QkFBYixFQUFzQ0gsQ0FBdEM7QUFDRCxTQUpNLENBQVA7QUFLRCxPQWhFTSxXQWdFRSxVQUFVSSxLQUFWLEVBQXNCO0FBQzdCTixRQUFBQSxPQUFPLENBQUNLLElBQVIsQ0FBYSxtQkFBYjtBQUNBLGNBQU1DLEtBQU47QUFDRCxPQW5FTSxDQUFQO0FBb0VEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNjcmlwdGpzIGZyb20gJ3NjcmlwdGpzJztcbmltcG9ydCBjYW1lbENhc2UgZnJvbSAnY2FtZWxjYXNlJztcbmltcG9ydCBNdXJtdXJIYXNoMyBmcm9tICdpbXVybXVyaGFzaCc7XG5leHBvcnQgKiBmcm9tICcuL01haW4nO1xuXG5kZWNsYXJlIHZhciB3aW5kb3c6IFdpbmRvdywgZ2xvYmFsOiBhbnk7XG52YXIgZyA9IHR5cGVvZiB3aW5kb3cgIT0gXCJ1bmRlZmluZWRcIiA/IHdpbmRvdyA6IGdsb2JhbDtcblxuZXhwb3J0IHR5cGUgRGVwVHlwZSA9IHtcbiAgdHlwZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGVuZm9yY2U6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBEZXBzID0ge1xuICBbbmFtZTogc3RyaW5nXTogRGVwVHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgSlNPTk9wdCA9IHtcbiAgdGltZW91dD86IG51bWJlcjtcbiAgY2JLZXk/OiBzdHJpbmc7XG4gIGNiVmFsPzogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBsb2FkQ1NTKHVybDogc3RyaW5nKSB7XG4gIGNvbnN0IGNzc1Jvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgbGluay5ocmVmID0gdXJsO1xuXG4gIGNzc1Jvb3QuYXBwZW5kQ2hpbGQobGluayk7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPEhUTUxMaW5rRWxlbWVudD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGxpbmsuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoKSA9PiB7XG4gICAgICByZWplY3QoYGxvYWQgY3NzIGVycm9yOiAke3VybH1gKTtcbiAgICB9KTtcbiAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiByZXNvbHZlKGxpbmspKTtcbiAgfSk7XG5cbn1cblxuXG5jb25zdCBqc29ucCA9ICh1cmw6IHN0cmluZywgb3B0OiBKU09OT3B0ID0ge30sIGZuPzogRnVuY3Rpb24pID0+IHtcblxuICBpZiAodHlwZW9mIG9wdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGZuID0gb3B0XG4gICAgb3B0ID0ge31cbiAgfVxuXG4gIGxldCB7IHRpbWVvdXQgPSBudWxsLCBjYktleSA9ICdjYWxsYmFjaycsIGNiVmFsID0gJ2Zlbmd5dScgfSA9IG9wdFxuICBsZXQgdGltZXI6IG51bWJlcjtcblxuICBpZiAoY2JWYWwgPT09ICdmZW5neXUnKSB7XG4gICAgY2JWYWwgKz0gRGF0ZS5ub3coKVxuICB9XG5cbiAgbGV0IHMgPSAnJ1xuICBzICs9IGAmJHtjYktleX09JHtjYlZhbH1gXG5cbiAgcyA9IHMuc2xpY2UoMSlcblxuICB1cmwgKz0gKH51cmwuaW5kZXhPZignPycpID8gJyYnIDogJz8nKSArIHNcblxuICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JylcblxuICB2YXIgcmVtb3ZlID0gKCkgPT4ge1xuICAgIHRpbWVyICYmIGNsZWFyVGltZW91dCh0aW1lcilcbiAgICBkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKHNjcmlwdClcbiAgICBnW2NiVmFsXSA9IHVuZGVmaW5lZFxuICB9XG5cbiAgc2NyaXB0LnNyYyA9IHVybFxuXG5cbiAgaWYgKGZuICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZ1tjYlZhbF0gPSAoZGF0YTogYW55KSA9PiB7XG4gICAgICBmbihkYXRhKVxuICAgICAgcmVtb3ZlKClcbiAgICB9XG5cbiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdClcbiAgICByZXR1cm5cbiAgfVxuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogKGFyZzA6IGFueSkgPT4gdm9pZCwgcmVqZWN0OiAoYXJnMDogRXJyb3IpID0+IHZvaWQpID0+IHtcbiAgICAvLyDor7fmsYLotoXml7ZcbiAgICBpZiAodGltZW91dCkge1xuICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignanNvbnAgcmVxdWVzdCB0aW1lb3V0JykpXG4gICAgICAgIHJlbW92ZSgpXG4gICAgICB9LCB0aW1lb3V0KVxuICAgIH1cbiAgICAvLyDmraPluLhcbiAgICBnW2NiVmFsXSA9ICguLi5hcmdzOiBhbnkpID0+IHtcbiAgICAgIHJlc29sdmUoYXJncyk7XG4gICAgICByZW1vdmUoKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KVxuICB9KVxufVxuXG5mdW5jdGlvbiBnZXRCbHVyVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHZlcnNpb24uc3BsaXQoJy4nKS5tYXAoKHYsIGkpID0+IGkgPiAwID8gJ3gnIDogdikuam9pbignLicpO1xufVxuLy8gY29uc3QgX3JlcXVpcmVfID0gZy53ZWJwYWNrRGF0YTtcbi8vIGcud2VicGFja0RhdGEgPSBmdW5jdGlvbihtb2R1bGVJZDogYW55KSB7XG4vLyAgIGNvbnN0IG1vZHVsZSA9IF9yZXF1aXJlXy5tW21vZHVsZUlkXSBhcyBGdW5jdGlvbjtcbi8vICAgaWYgKCFtb2R1bGUpIHtcbi8vICAgICBjb25zb2xlLndhcm4obW9kdWxlSWQsICdjYW4gbm90IGJlIGZvdW5kZWQsIGNoZWNrIGNodW5rIGlzIGNvbXBsZXRpb24nKTtcbi8vICAgICByZXR1cm47XG4vLyAgIH1cbi8vICAgcmV0dXJuIF9yZXF1aXJlXy5jYWxsKHRoaXMsIG1vZHVsZUlkKTtcbi8vIH1cbi8vIE9iamVjdC5hc3NpZ24oZy53ZWJwYWNrRGF0YSwgX3JlcXVpcmVfKTtcblxuXG5mdW5jdGlvbiBsb2FkQ29tcG9uZW50Q3NzKGJhc2VVcmw6IHN0cmluZywgc3R5bGVJZDogc3RyaW5nLCBuZWVkQ29tYm9Dc3NDaHVuazogc3RyaW5nW10sIGNzc1ByZWZpeDogc3RyaW5nKSB7XG4gIGNvbnN0IGNvbXBvbmVudENzcyA9IGAke2Nzc1ByZWZpeH1pbmRleC5jc3NgO1xuICBjb25zdCBjb21ib0Nzc0NodW5rcyA9IG5lZWRDb21ib0Nzc0NodW5rLm1hcChjaHVua05hbWUgPT4gYCR7Y3NzUHJlZml4fWRlcHMvJHtjaHVua05hbWV9LmNzc2ApO1xuICBjb21ib0Nzc0NodW5rcy51bnNoaWZ0KGNvbXBvbmVudENzcyk7XG4gIGNvbnN0IGNvbWJvQ3NzVXJsID0gYCR7YmFzZVVybH0vPz8ke2NvbWJvQ3NzQ2h1bmtzLmpvaW4oKX1gO1xuXG5cbiAgcmV0dXJuIGxvYWRDU1MoY29tYm9Dc3NVcmwpLnRoZW4obGluayA9PiB7XG4gICAgbGluayAmJiBsaW5rLnNldEF0dHJpYnV0ZSgnaWQnLCBzdHlsZUlkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIER5bmFtaWNSZXF1aXJlIHtcblxuICBiYXNlVXJsOiBzdHJpbmc7XG4gIGpzb25wVXJsOiBzdHJpbmc7XG4gIGhhc2hlZDogYm9vbGVhbjtcbiAgc2NyaXB0SWQ6IHN0cmluZztcbiAgc3R5bGVJZDogc3RyaW5nO1xuICBqc1ByZWZpeD86IHN0cmluZztcbiAgY3NzUHJlZml4Pzogc3RyaW5nO1xuICB1bmluc3RhbGw6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoeyBiYXNlVXJsLCBoYXNoZWQsIGpzUHJlZml4LCBjc3NQcmVmaXggfTogeyBiYXNlVXJsOiBzdHJpbmcsIGhhc2hlZD86IGJvb2xlYW4sIGpzUHJlZml4Pzogc3RyaW5nLCBjc3NQcmVmaXg/OiBzdHJpbmcgfSkge1xuICAgIGlmICghYmFzZVVybCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEeW5hbWljUmVxdWlyZSBiYXNlVXJsIHBhcmFtdGVycyBtdXN0IHNldHRlZCcpO1xuICAgIH1cbiAgICBjb25zdCBqc29ucFVybCA9IGAke2Jhc2VVcmx9L2pzb25wbW9kdWxlcy5qc2A7XG4gICAgY29uc3QgaGFzaElkID0gdGhpcy5nZW5IYXNoKGJhc2VVcmwpO1xuICAgIHRoaXMuc2NyaXB0SWQgPSBgJHtoYXNoSWR9X2pzYDtcbiAgICB0aGlzLnN0eWxlSWQgPSBgJHtoYXNoSWR9X2Nzc2A7XG4gICAgY29uc3QgdW5JbnN0YWxsRm4gPSAoKSA9PiB7XG4gICAgICBjb25zdCBqc2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnNjcmlwdElkKTtcbiAgICAgIGNvbnN0IGNzc2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnN0eWxlSWQpO1xuICAgICAganNlICYmIGpzZS5yZW1vdmUoKTtcbiAgICAgIGNzc2UgJiYgY3NzZS5yZW1vdmUoKTtcbiAgICB9O1xuXG4gICAgdGhpcy5iYXNlVXJsID0gYmFzZVVybDtcbiAgICB0aGlzLmpzb25wVXJsID0ganNvbnBVcmw7XG4gICAgdGhpcy5oYXNoZWQgPSBoYXNoZWQ7XG4gICAgdGhpcy5qc1ByZWZpeCA9IGpzUHJlZml4O1xuICAgIHRoaXMuY3NzUHJlZml4ID0gY3NzUHJlZml4O1xuICAgIHRoaXMudW5pbnN0YWxsID0gdW5JbnN0YWxsRm47XG4gIH1cblxuICBnZW5IYXNoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBoYXNoU3RhdGUgPSBuZXcgTXVybXVySGFzaDMoKTtcbiAgICBoYXNoU3RhdGUuaGFzaCh2YWx1ZSk7XG4gICAgcmV0dXJuIGhhc2hTdGF0ZS5yZXN1bHQoKS50b1N0cmluZygxNikuc3Vic3RyKDAsIDYpO1xuICB9XG5cbiAgcmVxdWlyZShuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGJhc2VVcmwsIGpzb25wVXJsLCBoYXNoZWQsIGpzUHJlZml4ID0gJycsIGNzc1ByZWZpeCA9ICcnLCBzdHlsZUlkIH0gPSB0aGlzO1xuICAgIGNvbnN0IGpzb25wQ2FsbGJhY2sgPSBjYW1lbENhc2UobmFtZS5yZXBsYWNlKC9AL2csICckJykpLnJlcGxhY2UoL1xcLy9nLCAnXycpO1xuXG4gICAgcmV0dXJuIGpzb25wKGpzb25wVXJsLCB7XG4gICAgICBjYlZhbDoganNvbnBDYWxsYmFja1xuICAgIH0pLnRoZW4oKGFyZ3MpID0+IHtcbiAgICAgIGNvbnN0IG1vZHVsZXM6IHN0cmluZ1tdID0gYXJnc1swXTtcbiAgICAgIGNvbnN0IGVudHJ5OiBzdHJpbmcgPSBhcmdzWzFdO1xuICAgICAgbGV0IGVudHJ5TW9kdWxlTmFtZSA9IGAke25hbWV9LyR7ZW50cnl9YDtcbiAgICAgIGNvbnN0IGNvbXBvbmVudENodW5rcyA9IGAke2pzUHJlZml4fXZlbmRvci5qcywke2pzUHJlZml4fWluZGV4LmpzYDtcbiAgICAgIGNvbnN0IG5lZWRDb21ib0Nzc0NodW5rOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgY29uc3QgbmVlZENvbWJvQ2h1bms6IHN0cmluZ1tdID0gW107XG5cbiAgICAgIGlmIChoYXNoZWQpIHtcbiAgICAgICAgZW50cnlNb2R1bGVOYW1lID0gdGhpcy5nZW5IYXNoKGVudHJ5TW9kdWxlTmFtZSk7XG4gICAgICB9XG4gIFxuICAgICAgbW9kdWxlcy5mb3JFYWNoKChbbW9kdWxlTmFtZSwgY2h1bmtOYW1lLCBpc0Nzc10pID0+IHtcbiAgICAgICAgY29uc3QgbW9kdWxlID0gZy53ZWJwYWNrRGF0YS5jW21vZHVsZU5hbWVdO1xuICAgICAgICAvLyDlpoLmnpxtb2R1bGXkuI3lrZjlnKjvvIzmlL7liLBtb2R1bGXlr7nlupTnmoRjaHVua+WIsGNvbWJv5L+h5oGv6YeMXG4gICAgICAgIGlmICghbW9kdWxlICYmIG5lZWRDb21ib0NodW5rLmluZGV4T2YoY2h1bmtOYW1lKSA9PT0gLTEpIHtcbiAgICAgICAgICBuZWVkQ29tYm9DaHVuay5wdXNoKGNodW5rTmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQ3NzICYmIG5lZWRDb21ib0Nzc0NodW5rLmluZGV4T2YoY2h1bmtOYW1lKSA9PT0gLTEpIHtcbiAgICAgICAgICBuZWVkQ29tYm9Dc3NDaHVuay5wdXNoKGNodW5rTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICBcbiAgICAgIC8vIOW3sue7j+WKoOi9vei/h+S6hueahOmAu+i+kVxuICAgICAgaWYgKGcud2VicGFja0RhdGEuY1tlbnRyeU1vZHVsZU5hbWVdKSB7XG4gICAgICAgIC8vIGlmIHdlYnBhY2sgZW5hYmxlIGhtciBhYm92ZSByZXR1cm4geyBjaGlsZHJlbiwgZXhwb3J0cywgaG90IC4uLn1cbiAgICAgICAgY29uc3QgbW9kdWxlID0gZy53ZWJwYWNrRGF0YShlbnRyeU1vZHVsZU5hbWUpO1xuICAgICAgICBjb25zdCBjc3NlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3R5bGVJZCk7XG4gICAgICAgIC8vIOagt+W8j+W3sue7j+WNuOi9ve+8jOmHjeaWsOWKoOi9veWHuuadpVxuICAgICAgICBpZiAoIWNzc2UpIHtcbiAgICAgICAgICByZXR1cm4gbG9hZENvbXBvbmVudENzcyhiYXNlVXJsLCBzdHlsZUlkLCBuZWVkQ29tYm9Dc3NDaHVuaywgY3NzUHJlZml4KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBtb2R1bGUuYSB8fCBtb2R1bGU7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShtb2R1bGUuYSB8fCBtb2R1bGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgLy8g5paw5Yqg6L296YC76L6RXG4gICAgICAvLyDliqDovb1jc3NcbiAgICAgIGNvbnN0IHNzUHJvbWlzZSA9IGxvYWRDb21wb25lbnRDc3MoYmFzZVVybCwgc3R5bGVJZCwgbmVlZENvbWJvQ3NzQ2h1bmssIGNzc1ByZWZpeCk7XG4gICAgICAvLyDlubbooYzliqDovb1qc1xuICAgICAgbGV0IGpzUHJvbWlzZTtcbiAgICAgIGNvbnN0IGNvbWJvQ2h1bmtzID0gbmVlZENvbWJvQ2h1bmsubWFwKGNodW5rTmFtZSA9PiBgJHtqc1ByZWZpeH1kZXBzLyR7Y2h1bmtOYW1lfS5qc2ApXG4gICAgICBjb21ib0NodW5rcy51bnNoaWZ0KGNvbXBvbmVudENodW5rcyk7IC8vIOihpeS4iuW/hemhu+eahOe7hOS7tui1hOa6kFxuICAgICAgY29uc3QgY29tYm9VcmwgPSBgJHtiYXNlVXJsfS8/PyR7Y29tYm9DaHVua3Muam9pbigpfWA7XG4gICAgICBqc1Byb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIFNjcmlwdGpzKGNvbWJvVXJsLCAoKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdsb2FkIGNvbWJvIGpzIGRvbmUnLCBuYW1lKTtcbiAgICAgICAgICAgIGNvbnN0IG1vZHVsZSA9IGcud2VicGFja0RhdGEoZW50cnlNb2R1bGVOYW1lKTtcbiAgICAgICAgICAgIHJlc29sdmUobW9kdWxlLmEgfHwgbW9kdWxlKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFtzc1Byb21pc2UsIGpzUHJvbWlzZV0pLnRoZW4oKFtzcywgbW9kdWxlXSkgPT4ge1xuICAgICAgICByZXR1cm4gbW9kdWxlO1xuICAgICAgfSkuY2F0Y2goZSA9PiB7XG4gICAgICAgIGNvbnNvbGUud2FybignYm9vdGxvYWQgbW9kdWxlIGVycm9yJywgZSk7XG4gICAgICB9KVxuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2xvYWQgcmVtb3RlIGVycm9yJyk7XG4gICAgICB0aHJvdyBlcnJvclxuICAgIH0pO1xuICB9XG59XG5cbiJdfQ== | ||
} | ||
exports.default = DynamicRequire; |
256
lib/Main.js
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.ParseModuleData = ParseModuleData; | ||
exports.GetIDForModule = GetIDForModule; | ||
exports.Require = Require; | ||
Object.defineProperty(exports, "GetModuleNameFromPath", { | ||
enumerable: true, | ||
get: function get() { | ||
return _Utils.GetModuleNameFromPath; | ||
} | ||
}); | ||
Object.defineProperty(exports, "GetModuleNameFromVarName", { | ||
enumerable: true, | ||
get: function get() { | ||
return _Utils.GetModuleNameFromVarName; | ||
} | ||
}); | ||
exports.moduleNames = exports.moduleIDs = exports.allModulesText = void 0; | ||
var _Utils = require("./Utils"); | ||
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } | ||
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } | ||
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } | ||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const Utils_1 = require("./Utils"); | ||
exports.GetModuleNameFromPath = Utils_1.GetModuleNameFromPath; | ||
exports.GetModuleNameFromVarName = Utils_1.GetModuleNameFromVarName; | ||
var g = typeof window != "undefined" ? window : global; | ||
function MakeGlobal(props) { | ||
for (var _key in props) { | ||
g[_key] = props[_key]; | ||
} | ||
for (let key in props) | ||
g[key] = props[key]; | ||
} | ||
// if webpack-data was not explicitly specified prior to library import, try to find the data | ||
if (g.webpackData == null) { | ||
// if included using `module: "src/Main.ts"`, we can access webpack-data directly | ||
if (typeof __webpack_require__ != "undefined" && (__webpack_require__.m.length > 2 || Object.keys(__webpack_require__.m).length > 2)) { | ||
g.webpackData = __webpack_require__; | ||
} // else, try to access it using webpackJsonp (the function only seems to be available if CommonsChunkPlugin is used) | ||
else if (g.webpackJsonp) { | ||
var webpackVersion = g.webpackJsonp.length == 2 ? 1 : 2; | ||
if (webpackVersion == 1) { | ||
g.webpackJsonp([], { | ||
0: function _(module, exports, __webpack_require__) { | ||
g.webpackData = __webpack_require__; | ||
} | ||
}); | ||
} else { | ||
g.webpackJsonp([], { | ||
123456: function _(module, exports, __webpack_require__) { | ||
g.webpackData = __webpack_require__; | ||
} | ||
}, [123456]); | ||
} | ||
} // else, give up and throw error | ||
// if included using `module: "src/Main.ts"`, we can access webpack-data directly | ||
if (typeof __webpack_require__ != "undefined" && (__webpack_require__.m.length > 2 || Object.keys(__webpack_require__.m).length > 2)) { | ||
g.webpackData = __webpack_require__; | ||
} | ||
// else, try to access it using webpackJsonp (the function only seems to be available if CommonsChunkPlugin is used) | ||
else if (g.webpackJsonp) { | ||
let webpackVersion = g.webpackJsonp.length == 2 ? 1 : 2; | ||
if (webpackVersion == 1) { | ||
g.webpackJsonp([], { 0: function (module, exports, __webpack_require__) { | ||
g.webpackData = __webpack_require__; | ||
} }); | ||
} | ||
else { | ||
g.webpackJsonp([], { 123456: function (module, exports, __webpack_require__) { | ||
g.webpackData = __webpack_require__; | ||
} }, [123456]); | ||
} | ||
} | ||
// else, give up and throw error | ||
else { | ||
throw new Error("window.webpackData must be set for webpack-runtime-require to function.".concat("\n", "You can do so either by setting it directly (to __webpack_require__), or by making window.webpackJsonp available. (eg. using CommonsChunkPlugin)")); | ||
} | ||
throw new Error(`window.webpackData must be set for webpack-runtime-require to function.${"\n"}You can do so either by setting it directly (to __webpack_require__), or by making window.webpackJsonp available. (eg. using CommonsChunkPlugin)`); | ||
} | ||
} | ||
var allModulesText; | ||
exports.allModulesText = allModulesText; | ||
var moduleIDs = {}; | ||
exports.moduleIDs = moduleIDs; | ||
var moduleNames = {}; | ||
exports.moduleNames = moduleNames; | ||
function ParseModuleData() { | ||
var forceRefresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; | ||
if (allModulesText != null && !forceRefresh) return; | ||
var moduleWrapperFuncs = Object.keys(g.webpackData.m).map(function (moduleID) { | ||
return g.webpackData.m[moduleID]; | ||
}); | ||
exports.allModulesText = allModulesText = moduleWrapperFuncs.map(function (a) { | ||
return a.toString(); | ||
}).join("\n\n\n").replace(/\\"/g, "\""); // these are examples of before and after webpack's transformation: (based on which the 1st regex below finds path-comments) | ||
// require("react-redux-firebase") => var _reactReduxFirebase = __webpack_require__(/*! react-redux-firebase */ 100); | ||
// require("./Source/MyComponent") => var _MyComponent = __webpack_require__(/*! ./Source/MyComponent */ 200); | ||
//let requiresWithPathCommentsRegex = /__webpack_require__\(\/\*! ((?:.(?!\*))+) \*\/ (["'0-9a-zA-Z\/.-]+)\)/g; | ||
//let requiresWithPathCommentsRegex = /__webpack_require__\(\/\*! ((?:.(?!\*))+) \*\/ ["']?([^"'\)]+)["']?\)/g; | ||
var requiresWithPathCommentsRegex = /__webpack_require__\(\/\*! (.+?) \*\/ ["']?([^"'\)]+?)["']?\)/g; // these are examples of before and after webpack's transformation: (based on which the 2nd regex below finds paths) | ||
// require("jquery") => __webpack_require__("jquery") | ||
//let requiresWithPathsRegex = /__webpack_require__\([^")]*"(.+?)"\)/g; | ||
var requiresWithPathsRegex = /__webpack_require__\("(.+?)"\)/g; // only process plain requires-with-paths (ie. ignore ones that also have path-comments) | ||
// if requires have path-info embedded, use that (set using [webpackConfig.output.pathinfo: true]) | ||
if (allModulesText.match(requiresWithPathCommentsRegex)) { | ||
for (var match; match = requiresWithPathCommentsRegex.exec(allModulesText);) { | ||
var _match = match, | ||
_match2 = _slicedToArray(_match, 3), | ||
_ = _match2[0], | ||
path = _match2[1], | ||
idStr = _match2[2]; | ||
AddModuleEntry(idStr, (0, _Utils.GetModuleNameFromPath)(path)); | ||
exports.moduleIDs = {}; | ||
exports.moduleNames = {}; | ||
function ParseModuleData(forceRefresh = false) { | ||
if (exports.allModulesText != null && !forceRefresh) | ||
return; | ||
let moduleWrapperFuncs = Object.keys(g.webpackData.m).map(moduleID => g.webpackData.m[moduleID]); | ||
exports.allModulesText = moduleWrapperFuncs.map(a => a.toString()).join("\n\n\n").replace(/\\"/g, `"`); | ||
// these are examples of before and after webpack's transformation: (based on which the 1st regex below finds path-comments) | ||
// require("react-redux-firebase") => var _reactReduxFirebase = __webpack_require__(/*! react-redux-firebase */ 100); | ||
// require("./Source/MyComponent") => var _MyComponent = __webpack_require__(/*! ./Source/MyComponent */ 200); | ||
//let requiresWithPathCommentsRegex = /__webpack_require__\(\/\*! ((?:.(?!\*))+) \*\/ (["'0-9a-zA-Z\/.-]+)\)/g; | ||
//let requiresWithPathCommentsRegex = /__webpack_require__\(\/\*! ((?:.(?!\*))+) \*\/ ["']?([^"'\)]+)["']?\)/g; | ||
let requiresWithPathCommentsRegex = /__webpack_require__\(\/\*! (.+?) \*\/ ["']?([^"'\)]+?)["']?\)/g; | ||
// these are examples of before and after webpack's transformation: (based on which the 2nd regex below finds paths) | ||
// require("jquery") => __webpack_require__("jquery") | ||
//let requiresWithPathsRegex = /__webpack_require__\([^")]*"(.+?)"\)/g; | ||
let requiresWithPathsRegex = /__webpack_require__\("(.+?)"\)/g; // only process plain requires-with-paths (ie. ignore ones that also have path-comments) | ||
// if requires have path-info embedded, use that (set using [webpackConfig.output.pathinfo: true]) | ||
if (exports.allModulesText.match(requiresWithPathCommentsRegex)) { | ||
for (let match; match = requiresWithPathCommentsRegex.exec(exports.allModulesText);) { | ||
let [_, path, idStr] = match; | ||
AddModuleEntry(idStr, Utils_1.GetModuleNameFromPath(path)); | ||
} | ||
} | ||
} // if requires themselves are by-path, use that (set using [config.mode: "development"] or [config.optimization.namedModules: true]) | ||
if (allModulesText.match(requiresWithPathsRegex)) { | ||
for (var _match3; _match3 = requiresWithPathsRegex.exec(allModulesText);) { | ||
var _match4 = _match3, | ||
_match5 = _slicedToArray(_match4, 2), | ||
_ = _match5[0], | ||
path = _match5[1]; | ||
AddModuleEntry(path, (0, _Utils.GetModuleNameFromPath)(path)); | ||
// if requires themselves are by-path, use that (set using [config.mode: "development"] or [config.optimization.namedModules: true]) | ||
if (exports.allModulesText.match(requiresWithPathsRegex)) { | ||
for (let match; match = requiresWithPathsRegex.exec(exports.allModulesText);) { | ||
let [_, path] = match; | ||
AddModuleEntry(path, Utils_1.GetModuleNameFromPath(path)); | ||
} | ||
} | ||
} // else, infer it from the var-names of the imports | ||
if (!allModulesText.match(requiresWithPathsRegex) && !allModulesText.match(requiresWithPathCommentsRegex)) { | ||
// these are examples of before and after webpack's transformation: (which the regex below finds the var-name of) | ||
// require("react-redux-firebase") => var _reactReduxFirebase = __webpack_require__(100); | ||
// require("./Source/MyComponent") => var _MyComponent = __webpack_require__(200); | ||
var regex = /var ([a-zA-Z_]+) = __webpack_require__\(([0-9]+)\)/g; | ||
for (var _match6; _match6 = regex.exec(allModulesText);) { | ||
var _match7 = _match6, | ||
_match8 = _slicedToArray(_match7, 3), | ||
_ = _match8[0], | ||
varName = _match8[1], | ||
idStr = _match8[2]; | ||
AddModuleEntry(parseInt(idStr), (0, _Utils.GetModuleNameFromVarName)(varName)); | ||
// else, infer it from the var-names of the imports | ||
if (!exports.allModulesText.match(requiresWithPathsRegex) && !exports.allModulesText.match(requiresWithPathCommentsRegex)) { | ||
// these are examples of before and after webpack's transformation: (which the regex below finds the var-name of) | ||
// require("react-redux-firebase") => var _reactReduxFirebase = __webpack_require__(100); | ||
// require("./Source/MyComponent") => var _MyComponent = __webpack_require__(200); | ||
let regex = /var ([a-zA-Z_]+) = __webpack_require__\(([0-9]+)\)/g; | ||
for (let match; match = regex.exec(exports.allModulesText);) { | ||
let [_, varName, idStr] = match; | ||
AddModuleEntry(parseInt(idStr), Utils_1.GetModuleNameFromVarName(varName)); | ||
} | ||
} | ||
} | ||
MakeGlobal({ | ||
allModulesText: allModulesText, | ||
moduleIDs: moduleIDs, | ||
moduleNames: moduleNames | ||
}); | ||
MakeGlobal({ allModulesText: exports.allModulesText, moduleIDs: exports.moduleIDs, moduleNames: exports.moduleNames }); | ||
} | ||
var moduleCache = {}; | ||
exports.ParseModuleData = ParseModuleData; | ||
const moduleCache = {}; | ||
function AddModuleEntry(moduleID, moduleName) { | ||
moduleIDs[moduleName] = moduleID; | ||
moduleNames[moduleID] = moduleName; // replace certain characters with underscores, so the module-entries can show in console auto-complete | ||
var moduleName_simple = moduleName.replace(/-/g, "_"); // make sure we add the module under a unique name | ||
while (moduleName_simple in moduleCache) { | ||
moduleName_simple += "_"; | ||
} // add the module onto the Require function | ||
moduleCache[moduleName_simple] = GetModuleExports(moduleID); | ||
exports.moduleIDs[moduleName] = moduleID; | ||
exports.moduleNames[moduleID] = moduleName; | ||
// replace certain characters with underscores, so the module-entries can show in console auto-complete | ||
let moduleName_simple = moduleName.replace(/-/g, "_"); | ||
// make sure we add the module under a unique name | ||
while (moduleName_simple in moduleCache) | ||
moduleName_simple += `_`; | ||
// add the module onto the Require function | ||
moduleCache[moduleName_simple] = GetModuleExports(moduleID); | ||
} | ||
function GetModuleExports(moduleID) { | ||
return g.webpackData.c[moduleID] ? g.webpackData.c[moduleID].exports : "[failed to retrieve module exports]"; | ||
return g.webpackData.c[moduleID] ? g.webpackData.c[moduleID].exports : "[failed to retrieve module exports]"; | ||
} | ||
MakeGlobal({ | ||
GetIDForModule: GetIDForModule | ||
}); | ||
MakeGlobal({ GetIDForModule }); | ||
function GetIDForModule(name) { | ||
ParseModuleData(); | ||
return moduleIDs[name]; | ||
ParseModuleData(); | ||
return exports.moduleIDs[name]; | ||
} | ||
MakeGlobal({ | ||
Require: Require | ||
}); | ||
exports.GetIDForModule = GetIDForModule; | ||
MakeGlobal({ Require }); | ||
function Require(name) { | ||
if (name === undefined) return void ParseModuleData(); | ||
var id = GetIDForModule(name); | ||
if (id == null) return "[could not find the given module]"; | ||
return GetModuleExports(id); | ||
if (name === undefined) | ||
return void ParseModuleData(); | ||
let id = GetIDForModule(name); | ||
if (id == null) | ||
return "[could not find the given module]"; | ||
return GetModuleExports(id); | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NYWluLnRzIl0sIm5hbWVzIjpbImciLCJ3aW5kb3ciLCJnbG9iYWwiLCJNYWtlR2xvYmFsIiwicHJvcHMiLCJrZXkiLCJ3ZWJwYWNrRGF0YSIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtIiwibGVuZ3RoIiwiT2JqZWN0Iiwia2V5cyIsIndlYnBhY2tKc29ucCIsIndlYnBhY2tWZXJzaW9uIiwibW9kdWxlIiwiZXhwb3J0cyIsIkVycm9yIiwiYWxsTW9kdWxlc1RleHQiLCJtb2R1bGVJRHMiLCJtb2R1bGVOYW1lcyIsIlBhcnNlTW9kdWxlRGF0YSIsImZvcmNlUmVmcmVzaCIsIm1vZHVsZVdyYXBwZXJGdW5jcyIsIm1hcCIsIm1vZHVsZUlEIiwiYSIsInRvU3RyaW5nIiwiam9pbiIsInJlcGxhY2UiLCJyZXF1aXJlc1dpdGhQYXRoQ29tbWVudHNSZWdleCIsInJlcXVpcmVzV2l0aFBhdGhzUmVnZXgiLCJtYXRjaCIsImV4ZWMiLCJfIiwicGF0aCIsImlkU3RyIiwiQWRkTW9kdWxlRW50cnkiLCJyZWdleCIsInZhck5hbWUiLCJwYXJzZUludCIsIm1vZHVsZUNhY2hlIiwibW9kdWxlTmFtZSIsIm1vZHVsZU5hbWVfc2ltcGxlIiwiR2V0TW9kdWxlRXhwb3J0cyIsImMiLCJHZXRJREZvck1vZHVsZSIsIm5hbWUiLCJSZXF1aXJlIiwidW5kZWZpbmVkIiwiaWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7OztBQUlBLElBQUlBLENBQUMsR0FBRyxPQUFPQyxNQUFQLElBQWlCLFdBQWpCLEdBQStCQSxNQUEvQixHQUF3Q0MsTUFBaEQ7O0FBQ0EsU0FBU0MsVUFBVCxDQUFvQkMsS0FBcEIsRUFBZ0M7QUFDL0IsT0FBSyxJQUFJQyxJQUFULElBQWdCRCxLQUFoQjtBQUNDSixJQUFBQSxDQUFDLENBQUNLLElBQUQsQ0FBRCxHQUFTRCxLQUFLLENBQUNDLElBQUQsQ0FBZDtBQUREO0FBRUE7O0FBR0Q7QUFDQSxJ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U0FBT04sZ0JBQWdCLENBQUNNLEVBQUQsQ0FBdkI7QUFDQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7R2V0TW9kdWxlTmFtZUZyb21QYXRoLCBHZXRNb2R1bGVOYW1lRnJvbVZhck5hbWV9IGZyb20gXCIuL1V0aWxzXCI7XG5leHBvcnQge0dldE1vZHVsZU5hbWVGcm9tUGF0aCwgR2V0TW9kdWxlTmFtZUZyb21WYXJOYW1lfTtcblxuZGVjbGFyZSB2YXIgd2luZG93OiBXaW5kb3csIGdsb2JhbDogYW55O1xudmFyIGcgPSB0eXBlb2Ygd2luZG93ICE9IFwidW5kZWZpbmVkXCIgPyB3aW5kb3cgOiBnbG9iYWw7XG5mdW5jdGlvbiBNYWtlR2xvYmFsKHByb3BzOiBhbnkpIHtcblx0Zm9yIChsZXQga2V5IGluIHByb3BzKVxuXHRcdGdba2V5XSA9IHByb3BzW2tleV07XG59XG5cbmRlY2xhcmUgdmFyIF9fd2VicGFja19yZXF1aXJlX18gOiBhbnk7XG4vLyBpZiB3ZWJwYWNrLWRhdGEgd2FzIG5vdCBleHBsaWNpdGx5IHNwZWNpZmllZCBwcmlvciB0byBsaWJyYXJ5IGltcG9ydCwgdHJ5IHRvIGZpbmQgdGhlIGRhdGFcbmlmIChnLndlYnBhY2tEYXRhID09IG51bGwpIHtcblx0Ly8gaWYgaW5jbHVkZWQgdXNpbmcgYG1vZHVsZTogXCJzcmMvTWFpbi50c1wiYCwgd2UgY2FuIGFjY2VzcyB3ZWJwYWNrLWRhdGEgZGlyZWN0bHlcblx0aWYgKHR5cGVvZiBfX3dlYnBhY2tfcmVxdWlyZV9fICE9IFwidW5kZWZpbmVkXCIgJiYgKF9fd2VicGFja19yZXF1aXJlX18ubS5sZW5ndGggPiAyIHx8IE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18ubSkubGVuZ3RoID4gMikpIHtcblx0XHRnLndlYnBhY2tEYXRhID0gX193ZWJwYWNrX3JlcXVpcmVfXztcblx0fVxuXHQvLyBlbHNlLCB0cnkgdG8gYWNjZXNzIGl0IHVzaW5nIHdlYnBhY2tKc29ucCAodGhlIGZ1bmN0aW9uIG9ubHkgc2VlbXMgdG8gYmUgYXZhaWxhYmxlIGlmIENvbW1vbnNDaHVua1BsdWdpbiBpcyB1c2VkKVxuXHRlbHNlIGlmIChnLndlYnBhY2tKc29ucCkge1xuXHRcdGxldCB3ZWJwYWNrVmVyc2lvbiA9IGcud2VicGFja0pzb25wLmxlbmd0aCA9PSAyID8gMSA6IDI7XG5cdFx0aWYgKHdlYnBhY2tWZXJzaW9uID09IDEpIHtcblx0XHRcdGcud2VicGFja0pzb25wKFtdLFxuXHRcdFx0XHR7MDogZnVuY3Rpb24obW9kdWxlOiBhbnksIGV4cG9ydHM6IGFueSwgX193ZWJwYWNrX3JlcXVpcmVfXzogYW55KSB7XG5cdFx0XHRcdFx0Zy53ZWJwYWNrRGF0YSA9IF9fd2VicGFja19yZXF1aXJlX187XG5cdFx0XHRcdH19XG5cdFx0XHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRnLndlYnBhY2tKc29ucChbXSxcblx0XHRcdFx0ezEyMzQ1NjogZnVuY3Rpb24obW9kdWxlOiBhbnksIGV4cG9ydHM6IGFueSwgX193ZWJwYWNrX3JlcXVpcmVfXzogYW55KSB7XG5cdFx0XHRcdFx0Zy53ZWJwYWNrRGF0YSA9IF9fd2VicGFja19yZXF1aXJlX187XG5cdFx0XHRcdH19LFxuXHRcdFx0XHRbMTIzNDU2XVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblx0Ly8gZWxzZSwgZ2l2ZSB1cCBhbmQgdGhyb3cgZXJyb3Jcblx0ZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKGB3aW5kb3cud2VicGFja0RhdGEgbXVzdCBiZSBzZXQgZm9yIHdlYnBhY2stcnVudGltZS1yZXF1aXJlIHRvIGZ1bmN0aW9uLiR7XCJcXG5cIlxuXHRcdFx0fVlvdSBjYW4gZG8gc28gZWl0aGVyIGJ5IHNldHRpbmcgaXQgZGlyZWN0bHkgKHRvIF9fd2VicGFja19yZXF1aXJlX18pLCBvciBieSBtYWtpbmcgd2luZG93LndlYnBhY2tKc29ucCBhdmFpbGFibGUuIChlZy4gdXNpbmcgQ29tbW9uc0NodW5rUGx1Z2luKWApO1xuXHR9XG59XG5cbmV4cG9ydCB2YXIgYWxsTW9kdWxlc1RleHQ6IHN0cmluZztcbmV4cG9ydCB2YXIgbW9kdWxlSURzID0ge30gYXMge1trZXk6IHN0cmluZ106IG51bWJlciB8IHN0cmluZ307XG5leHBvcnQgdmFyIG1vZHVsZU5hbWVzID0ge30gYXMge1trZXk6IG51bWJlcl06IHN0cmluZzsgW2tleTogc3RyaW5nXTogc3RyaW5nO307XG5leHBvcnQgZnVuY3Rpb24gUGFyc2VNb2R1bGVEYXRhKGZvcmNlUmVmcmVzaCA9IGZhbHNlKSB7XG5cdGlmIChhbGxNb2R1bGVzVGV4dCAhPSBudWxsICYmICFmb3JjZVJlZnJlc2gpIHJldHVybjtcblxuXHRsZXQgbW9kdWxlV3JhcHBlckZ1bmNzID0gT2JqZWN0LmtleXMoZy53ZWJwYWNrRGF0YS5tKS5tYXAobW9kdWxlSUQ9Pmcud2VicGFja0RhdGEubVttb2R1bGVJRF0pO1xuXHRhbGxNb2R1bGVzVGV4dCA9IG1vZHVsZVdyYXBwZXJGdW5jcy5tYXAoYT0+YS50b1N0cmluZygpKS5qb2luKFwiXFxuXFxuXFxuXCIpLnJlcGxhY2UoL1xcXFxcIi9nLCBgXCJgKTtcblxuXHQvLyB0aGVzZSBhcmUgZXhhbXBsZXMgb2YgYmVmb3JlIGFuZCBhZnRlciB3ZWJwYWNrJ3MgdHJhbnNmb3JtYXRpb246IChiYXNlZCBvbiB3aGljaCB0aGUgMXN0IHJlZ2V4IGJlbG93IGZpbmRzIHBhdGgtY29tbWVudHMpXG5cdC8vIFx0XHRyZXF1aXJlKFwicmVhY3QtcmVkdXgtZmlyZWJhc2VcIikgPT4gdmFyIF9yZWFjdFJlZHV4RmlyZWJhc2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdC1yZWR1eC1maXJlYmFzZSAqLyAxMDApO1xuXHQvLyBcdFx0cmVxdWlyZShcIi4vU291cmNlL015Q29tcG9uZW50XCIpID0+IHZhciBfTXlDb21wb25lbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL1NvdXJjZS9NeUNvbXBvbmVudCAqLyAyMDApO1xuXHQvL2xldCByZXF1aXJlc1dpdGhQYXRoQ29tbWVudHNSZWdleCA9IC9fX3dlYnBhY2tfcmVxdWlyZV9fXFwoXFwvXFwqISAoKD86Lig/IVxcKikpKykgXFwqXFwvIChbXCInMC05YS16QS1aXFwvLi1dKylcXCkvZztcblx0Ly9sZXQgcmVxdWlyZXNXaXRoUGF0aENvbW1lbnRzUmVnZXggPSAvX193ZWJwYWNrX3JlcXVpcmVfX1xcKFxcL1xcKiEgKCg/Oi4oPyFcXCopKSspIFxcKlxcLyBbXCInXT8oW15cIidcXCldKylbXCInXT9cXCkvZztcblx0bGV0IHJlcXVpcmVzV2l0aFBhdGhDb21tZW50c1JlZ2V4ID0gL19fd2VicGFja19yZXF1aXJlX19cXChcXC9cXCohICguKz8pIFxcKlxcLyBbXCInXT8oW15cIidcXCldKz8pW1wiJ10/XFwpL2c7XG5cdC8vIHRoZXNlIGFyZSBleGFtcGxlcyBvZiBiZWZvcmUgYW5kIGFmdGVyIHdlYnBhY2sncyB0cmFuc2Zvcm1hdGlvbjogKGJhc2VkIG9uIHdoaWNoIHRoZSAybmQgcmVnZXggYmVsb3cgZmluZHMgcGF0aHMpXG5cdC8vIFx0XHRyZXF1aXJlKFwianF1ZXJ5XCIpID0+IF9fd2VicGFja19yZXF1aXJlX18oXCJqcXVlcnlcIilcblx0Ly9sZXQgcmVxdWlyZXNXaXRoUGF0aHNSZWdleCA9IC9fX3dlYnBhY2tfcmVxdWlyZV9fXFwoW15cIildKlwiKC4rPylcIlxcKS9nO1xuXHRsZXQgcmVxdWlyZXNXaXRoUGF0aHNSZWdleCA9IC9fX3dlYnBhY2tfcmVxdWlyZV9fXFwoXCIoLis/KVwiXFwpL2c7IC8vIG9ubHkgcHJvY2VzcyBwbGFpbiByZXF1aXJlcy13aXRoLXBhdGhzIChpZS4gaWdub3JlIG9uZXMgdGhhdCBhbHNvIGhhdmUgcGF0aC1jb21tZW50cylcblxuXHQvLyBpZiByZXF1aXJlcyBoYXZlIHBhdGgtaW5mbyBlbWJlZGRlZCwgdXNlIHRoYXQgKHNldCB1c2luZyBbd2VicGFja0NvbmZpZy5vdXRwdXQucGF0aGluZm86IHRydWVdKVxuXHRpZiAoYWxsTW9kdWxlc1RleHQubWF0Y2gocmVxdWlyZXNXaXRoUGF0aENvbW1lbnRzUmVnZXgpKSB7XG5cdFx0Zm9yIChsZXQgbWF0Y2g7IG1hdGNoID0gcmVxdWlyZXNXaXRoUGF0aENvbW1lbnRzUmVnZXguZXhlYyhhbGxNb2R1bGVzVGV4dCk7KSB7XG5cdFx0XHRsZXQgW18sIHBhdGgsIGlkU3RyXSA9IG1hdGNoO1xuXHRcdFx0QWRkTW9kdWxlRW50cnkoaWRTdHIsIEdldE1vZHVsZU5hbWVGcm9tUGF0aChwYXRoKSk7XG5cdFx0fVxuXHR9XG5cdC8vIGlmIHJlcXVpcmVzIHRoZW1zZWx2ZXMgYXJlIGJ5LXBhdGgsIHVzZSB0aGF0IChzZXQgdXNpbmcgW2NvbmZpZy5tb2RlOiBcImRldmVsb3BtZW50XCJdIG9yIFtjb25maWcub3B0aW1pemF0aW9uLm5hbWVkTW9kdWxlczogdHJ1ZV0pXG5cdGlmIChhbGxNb2R1bGVzVGV4dC5tYXRjaChyZXF1aXJlc1dpdGhQYXRoc1JlZ2V4KSkge1xuXHRcdGZvciAobGV0IG1hdGNoOyBtYXRjaCA9IHJlcXVpcmVzV2l0aFBhdGhzUmVnZXguZXhlYyhhbGxNb2R1bGVzVGV4dCk7KSB7XG5cdFx0XHRsZXQgW18sIHBhdGhdID0gbWF0Y2g7XG5cdFx0XHRBZGRNb2R1bGVFbnRyeShwYXRoLCBHZXRNb2R1bGVOYW1lRnJvbVBhdGgocGF0aCkpO1xuXHRcdH1cblx0fVxuXHQvLyBlbHNlLCBpbmZlciBpdCBmcm9tIHRoZSB2YXItbmFtZXMgb2YgdGhlIGltcG9ydHNcblx0aWYgKCFhbGxNb2R1bGVzVGV4dC5tYXRjaChyZXF1aXJlc1dpdGhQYXRoc1JlZ2V4KSAmJiAhYWxsTW9kdWxlc1RleHQubWF0Y2gocmVxdWlyZXNXaXRoUGF0aENvbW1lbnRzUmVnZXgpKSB7XG5cdFx0Ly8gdGhlc2UgYXJlIGV4YW1wbGVzIG9mIGJlZm9yZSBhbmQgYWZ0ZXIgd2VicGFjaydzIHRyYW5zZm9ybWF0aW9uOiAod2hpY2ggdGhlIHJlZ2V4IGJlbG93IGZpbmRzIHRoZSB2YXItbmFtZSBvZilcblx0XHQvLyBcdFx0cmVxdWlyZShcInJlYWN0LXJlZHV4LWZpcmViYXNlXCIpID0+IHZhciBfcmVhY3RSZWR1eEZpcmViYXNlID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMDApO1xuXHRcdC8vIFx0XHRyZXF1aXJlKFwiLi9Tb3VyY2UvTXlDb21wb25lbnRcIikgPT4gdmFyIF9NeUNvbXBvbmVudCA9IF9fd2VicGFja19yZXF1aXJlX18oMjAwKTtcblx0XHRsZXQgcmVnZXggPSAvdmFyIChbYS16QS1aX10rKSA9IF9fd2VicGFja19yZXF1aXJlX19cXCgoWzAtOV0rKVxcKS9nO1xuXHRcdGZvciAobGV0IG1hdGNoOyBtYXRjaCA9IHJlZ2V4LmV4ZWMoYWxsTW9kdWxlc1RleHQpOykge1xuXHRcdFx0bGV0IFtfLCB2YXJOYW1lLCBpZFN0cl0gPSBtYXRjaDtcblx0XHRcdEFkZE1vZHVsZUVudHJ5KHBhcnNlSW50KGlkU3RyKSwgR2V0TW9kdWxlTmFtZUZyb21WYXJOYW1lKHZhck5hbWUpKTtcblx0XHR9XG5cdH1cblxuXHRNYWtlR2xvYmFsKHthbGxNb2R1bGVzVGV4dCwgbW9kdWxlSURzLCBtb2R1bGVOYW1lc30pO1xufVxuXG5jb25zdCBtb2R1bGVDYWNoZSA6IHtba2V5OiBzdHJpbmddOiBhbnl9ID0ge1xufTtcblxuZnVuY3Rpb24gQWRkTW9kdWxlRW50cnkobW9kdWxlSUQ6IHN0cmluZyB8IG51bWJlciwgbW9kdWxlTmFtZTogc3RyaW5nKSB7XG5cdG1vZHVsZUlEc1ttb2R1bGVOYW1lXSA9IG1vZHVsZUlEO1xuXHRtb2R1bGVOYW1lc1ttb2R1bGVJRF0gPSBtb2R1bGVOYW1lO1xuXG5cdC8vIHJlcGxhY2UgY2VydGFpbiBjaGFyYWN0ZXJzIHdpdGggdW5kZXJzY29yZXMsIHNvIHRoZSBtb2R1bGUtZW50cmllcyBjYW4gc2hvdyBpbiBjb25zb2xlIGF1dG8tY29tcGxldGVcblx0bGV0IG1vZHVsZU5hbWVfc2ltcGxlID0gbW9kdWxlTmFtZS5yZXBsYWNlKC8tL2csIFwiX1wiKTtcblx0Ly8gbWFrZSBzdXJlIHdlIGFkZCB0aGUgbW9kdWxlIHVuZGVyIGEgdW5pcXVlIG5hbWVcblx0d2hpbGUgKG1vZHVsZU5hbWVfc2ltcGxlIGluIG1vZHVsZUNhY2hlKSBtb2R1bGVOYW1lX3NpbXBsZSArPSBgX2A7XG5cdC8vIGFkZCB0aGUgbW9kdWxlIG9udG8gdGhlIFJlcXVpcmUgZnVuY3Rpb25cblx0bW9kdWxlQ2FjaGVbbW9kdWxlTmFtZV9zaW1wbGVdID0gR2V0TW9kdWxlRXhwb3J0cyhtb2R1bGVJRCk7XG59XG5mdW5jdGlvbiBHZXRNb2R1bGVFeHBvcnRzKG1vZHVsZUlEOiBudW1iZXIgfCBzdHJpbmcpIHtcblx0cmV0dXJuIGcud2VicGFja0RhdGEuY1ttb2R1bGVJRF0gPyBnLndlYnBhY2tEYXRhLmNbbW9kdWxlSURdLmV4cG9ydHMgOiBcIltmYWlsZWQgdG8gcmV0cmlldmUgbW9kdWxlIGV4cG9ydHNdXCI7XG59XG5cbk1ha2VHbG9iYWwoe0dldElERm9yTW9kdWxlfSk7XG5leHBvcnQgZnVuY3Rpb24gR2V0SURGb3JNb2R1bGUobmFtZTogc3RyaW5nKSB7XG5cdFBhcnNlTW9kdWxlRGF0YSgpO1xuXHRyZXR1cm4gbW9kdWxlSURzW25hbWVdO1xufVxuXG5NYWtlR2xvYmFsKHtSZXF1aXJlfSk7XG5leHBvcnQgZnVuY3Rpb24gUmVxdWlyZShuYW1lOiBzdHJpbmcpIHtcblx0aWYgKG5hbWUgPT09IHVuZGVmaW5lZClcblx0XHRyZXR1cm4gdm9pZCBQYXJzZU1vZHVsZURhdGEoKTtcblxuXHRsZXQgaWQgPSBHZXRJREZvck1vZHVsZShuYW1lKTtcblx0aWYgKGlkID09IG51bGwpIHJldHVybiBcIltjb3VsZCBub3QgZmluZCB0aGUgZ2l2ZW4gbW9kdWxlXVwiO1xuXHRyZXR1cm4gR2V0TW9kdWxlRXhwb3J0cyhpZCk7XG59Il19 | ||
exports.Require = Require; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.GetModuleNameFromPath = GetModuleNameFromPath; | ||
exports.GetModuleNameFromVarName = GetModuleNameFromVarName; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
function GetModuleNameFromPath(path) { | ||
var parts = path.split("/"); // last part might be empty, so find last part with content (path might end with /, if it's a folder-require -- which resolves to folder/index) | ||
var lastPartWithContent = parts[parts.length - 1] || parts[parts.length - 2]; | ||
return lastPartWithContent.replace(/\.[^.]+/, ""); // remove extension | ||
let parts = path.split("/"); | ||
// last part might be empty, so find last part with content (path might end with /, if it's a folder-require -- which resolves to folder/index) | ||
let lastPartWithContent = parts[parts.length - 1] || parts[parts.length - 2]; | ||
return lastPartWithContent.replace(/\.[^.]+/, ""); // remove extension | ||
} | ||
exports.GetModuleNameFromPath = GetModuleNameFromPath; | ||
function GetModuleNameFromVarName(varName) { | ||
// these are examples of before and after the below transformation code: | ||
// _reactReduxFirebase => react-redux-firebase | ||
// _MyComponent => my-component | ||
// _MyComponent_New => my-component-new | ||
// _JSONHelper => json-helper | ||
var moduleName = varName.replace(/^_/g, "") // remove starting "_" | ||
.replace(new RegExp( // convert chars where: | ||
"([^_])" // is preceded by a non-underscore char | ||
+ "[A-Z]" // is a capital-letter | ||
+ "([^A-Z_])", // is followed by a non-capital-letter, non-underscore char | ||
"g"), function (str) { | ||
return str[0] + "-" + str[1] + str[2]; | ||
} // to: "-" + char | ||
).replace(/_/g, "-") // convert all "_" to "-" | ||
.toLowerCase(); // convert all letters to lowercase | ||
return moduleName; | ||
// these are examples of before and after the below transformation code: | ||
// _reactReduxFirebase => react-redux-firebase | ||
// _MyComponent => my-component | ||
// _MyComponent_New => my-component-new | ||
// _JSONHelper => json-helper | ||
let moduleName = varName | ||
.replace(/^_/g, "") // remove starting "_" | ||
.replace(new RegExp(// convert chars where: | ||
"([^_])" // is preceded by a non-underscore char | ||
+ "[A-Z]" // is a capital-letter | ||
+ "([^A-Z_])", // is followed by a non-capital-letter, non-underscore char | ||
"g"), str => str[0] + "-" + str[1] + str[2] // to: "-" + char | ||
) | ||
.replace(/_/g, "-") // convert all "_" to "-" | ||
.toLowerCase(); // convert all letters to lowercase | ||
return moduleName; | ||
} | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9VdGlscy50cyJdLCJuYW1lcyI6WyJHZXRNb2R1bGVOYW1lRnJvbVBhdGgiLCJwYXRoIiwicGFydHMiLCJzcGxpdCIsImxhc3RQYXJ0V2l0aENvbnRlbnQiLCJsZW5ndGgiLCJyZXBsYWNlIiwiR2V0TW9kdWxlTmFtZUZyb21WYXJOYW1lIiwidmFyTmFtZSIsIm1vZHVsZU5hbWUiLCJSZWdFeHAiLCJzdHIiLCJ0b0xvd2VyQ2FzZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBTyxTQUFTQSxxQkFBVCxDQUErQkMsSUFBL0IsRUFBNkM7QUFDbkQsTUFBSUMsS0FBSyxHQUFHRCxJQUFJLENBQUNFLEtBQUwsQ0FBVyxHQUFYLENBQVosQ0FEbUQsQ0FFbkQ7O0FBQ0EsTUFBSUMsbUJBQW1CLEdBQUdGLEtBQUssQ0FBQ0EsS0FBSyxDQUFDRyxNQUFOLEdBQWUsQ0FBaEIsQ0FBTCxJQUEyQkgsS0FBSyxDQUFDQSxLQUFLLENBQUNHLE1BQU4sR0FBZSxDQUFoQixDQUExRDtBQUNBLFNBQU9ELG1CQUFtQixDQUFDRSxPQUFwQixDQUE0QixTQUE1QixFQUF1QyxFQUF2QyxDQUFQLENBSm1ELENBSUE7QUFDbkQ7O0FBQ00sU0FBU0Msd0JBQVQsQ0FBa0NDLE9BQWxDLEVBQW1EO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFJQyxVQUFVLEdBQUdELE9BQU8sQ0FDdEJGLE9BRGUsQ0FDUCxLQURPLEVBQ0EsRUFEQSxFQUNJO0FBREosR0FFZkEsT0FGZSxDQUVQLElBQUlJLE1BQUosRUFBWTtBQUNsQixXQUFVO0FBQVYsSUFDQyxPQURELENBQ1U7QUFEVixJQUVDLFdBSEssRUFHUTtBQUNoQixLQUpRLENBRk8sRUFPZixVQUFBQyxHQUFHO0FBQUEsV0FBRUEsR0FBRyxDQUFDLENBQUQsQ0FBSCxHQUFTLEdBQVQsR0FBZUEsR0FBRyxDQUFDLENBQUQsQ0FBbEIsR0FBd0JBLEdBQUcsQ0FBQyxDQUFELENBQTdCO0FBQUEsR0FQWSxDQU9xQjtBQVByQixJQVNmTCxPQVRlLENBU1AsSUFUTyxFQVNELEdBVEMsRUFTSTtBQVRKLEdBVWZNLFdBVmUsRUFBakIsQ0FOeUQsQ0FnQnhDOztBQUNqQixTQUFPSCxVQUFQO0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gR2V0TW9kdWxlTmFtZUZyb21QYXRoKHBhdGg6IHN0cmluZykge1xuXHRsZXQgcGFydHMgPSBwYXRoLnNwbGl0KFwiL1wiKTtcblx0Ly8gbGFzdCBwYXJ0IG1pZ2h0IGJlIGVtcHR5LCBzbyBmaW5kIGxhc3QgcGFydCB3aXRoIGNvbnRlbnQgKHBhdGggbWlnaHQgZW5kIHdpdGggLywgaWYgaXQncyBhIGZvbGRlci1yZXF1aXJlIC0tIHdoaWNoIHJlc29sdmVzIHRvIGZvbGRlci9pbmRleClcblx0bGV0IGxhc3RQYXJ0V2l0aENvbnRlbnQgPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSB8fCBwYXJ0c1twYXJ0cy5sZW5ndGggLSAyXTtcblx0cmV0dXJuIGxhc3RQYXJ0V2l0aENvbnRlbnQucmVwbGFjZSgvXFwuW14uXSsvLCBcIlwiKTsgLy8gcmVtb3ZlIGV4dGVuc2lvblxufVxuZXhwb3J0IGZ1bmN0aW9uIEdldE1vZHVsZU5hbWVGcm9tVmFyTmFtZSh2YXJOYW1lOiBzdHJpbmcpIHtcblx0Ly8gdGhlc2UgYXJlIGV4YW1wbGVzIG9mIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIGJlbG93IHRyYW5zZm9ybWF0aW9uIGNvZGU6XG5cdC8vIFx0XHRfcmVhY3RSZWR1eEZpcmViYXNlID0+IHJlYWN0LXJlZHV4LWZpcmViYXNlXG5cdC8vIFx0XHRfTXlDb21wb25lbnQgPT4gbXktY29tcG9uZW50XG5cdC8vIFx0XHRfTXlDb21wb25lbnRfTmV3ID0+IG15LWNvbXBvbmVudC1uZXdcblx0Ly8gXHRcdF9KU09OSGVscGVyID0+IGpzb24taGVscGVyXG5cdGxldCBtb2R1bGVOYW1lID0gdmFyTmFtZVxuXHRcdC5yZXBsYWNlKC9eXy9nLCBcIlwiKSAvLyByZW1vdmUgc3RhcnRpbmcgXCJfXCJcblx0XHQucmVwbGFjZShuZXcgUmVnRXhwKCAvLyBjb252ZXJ0IGNoYXJzIHdoZXJlOlxuXHRcdFx0XHRcdFwiKFteX10pXCJcdFx0Ly8gaXMgcHJlY2VkZWQgYnkgYSBub24tdW5kZXJzY29yZSBjaGFyXG5cdFx0XHRcdCsgXCJbQS1aXVwiXHRcdC8vIGlzIGEgY2FwaXRhbC1sZXR0ZXJcblx0XHRcdFx0KyBcIihbXkEtWl9dKVwiLFx0Ly8gaXMgZm9sbG93ZWQgYnkgYSBub24tY2FwaXRhbC1sZXR0ZXIsIG5vbi11bmRlcnNjb3JlIGNoYXJcblx0XHRcdFwiZ1wiKSxcblx0XHRcdHN0cj0+c3RyWzBdICsgXCItXCIgKyBzdHJbMV0gKyBzdHJbMl0gLy8gdG86IFwiLVwiICsgY2hhclxuXHRcdClcblx0XHQucmVwbGFjZSgvXy9nLCBcIi1cIikgLy8gY29udmVydCBhbGwgXCJfXCIgdG8gXCItXCJcblx0XHQudG9Mb3dlckNhc2UoKTsgLy8gY29udmVydCBhbGwgbGV0dGVycyB0byBsb3dlcmNhc2Vcblx0cmV0dXJuIG1vZHVsZU5hbWU7XG59Il19 | ||
exports.GetModuleNameFromVarName = GetModuleNameFromVarName; |
{ | ||
"name": "webpack-dynamic-require", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"description": "you can require cdn bundle dynamic", | ||
@@ -5,0 +5,0 @@ "main": "lib/Dynamic.js", |
@@ -118,4 +118,4 @@ import Scriptjs from 'scriptjs'; | ||
function loadComponentCss(baseUrl: string, styleId: string, needComboCssChunk: string[], cssPrefix: string) { | ||
const componentCss = `${cssPrefix}index.css`; | ||
function loadComponentCss(baseUrl: string, mainFile: string, styleId: string, needComboCssChunk: string[], cssPrefix: string) { | ||
const componentCss = `${cssPrefix}${mainFile}.css`; | ||
const comboCssChunks = needComboCssChunk.map(chunkName => `${cssPrefix}deps/${chunkName}.css`); | ||
@@ -140,5 +140,6 @@ comboCssChunks.unshift(componentCss); | ||
cssPrefix?: string; | ||
mainFile: string; | ||
uninstall: () => void; | ||
constructor({ baseUrl, hashed, jsPrefix, cssPrefix }: { baseUrl: string, hashed?: boolean, jsPrefix?: string, cssPrefix?: string }) { | ||
constructor({ baseUrl, hashed, jsPrefix, cssPrefix, mainFile }: { baseUrl: string, hashed?: boolean, jsPrefix?: string, cssPrefix?: string, mainFile?: string }) { | ||
if (!baseUrl) { | ||
@@ -163,2 +164,3 @@ throw new Error('DynamicRequire baseUrl paramters must setted'); | ||
this.cssPrefix = cssPrefix; | ||
this.mainFile = mainFile || 'index'; | ||
this.uninstall = unInstallFn; | ||
@@ -174,3 +176,3 @@ } | ||
require(name: string) { | ||
const { baseUrl, jsonpUrl, hashed, jsPrefix = '', cssPrefix = '', styleId } = this; | ||
const { baseUrl, jsonpUrl, hashed, jsPrefix = '', cssPrefix = '', mainFile, styleId } = this; | ||
const jsonpCallback = camelCase(name.replace(/@/g, '$')).replace(/\//g, '_'); | ||
@@ -184,3 +186,3 @@ | ||
let entryModuleName = `${name}/${entry}`; | ||
const componentChunks = `${jsPrefix}vendor.js,${jsPrefix}index.js`; | ||
const componentChunks = `${jsPrefix}vendor.js,${jsPrefix}${mainFile}.js`; | ||
const needComboCssChunk: string[] = []; | ||
@@ -211,3 +213,3 @@ const needComboChunk: string[] = []; | ||
if (!csse) { | ||
return loadComponentCss(baseUrl, styleId, needComboCssChunk, cssPrefix).then(() => { | ||
return loadComponentCss(baseUrl, mainFile, styleId, needComboCssChunk, cssPrefix).then(() => { | ||
return module.a || module; | ||
@@ -222,3 +224,3 @@ }); | ||
// 加载css | ||
const ssPromise = loadComponentCss(baseUrl, styleId, needComboCssChunk, cssPrefix); | ||
const ssPromise = loadComponentCss(baseUrl, mainFile, styleId, needComboCssChunk, cssPrefix); | ||
// 并行加载js | ||
@@ -225,0 +227,0 @@ let jsPromise; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
39318
788