kyt-runtime
Advanced tools
Comparing version
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); | ||
module.exports = function kytRuntimeBabel(_ref) { | ||
@@ -54,6 +50,3 @@ var t = _ref.types; | ||
var _args = args; | ||
var _args2 = (0, _slicedToArray2["default"])(_args, 1); | ||
options = _args2[0]; | ||
options = _args[0]; | ||
} else { | ||
@@ -66,8 +59,5 @@ if (!args[1]) { | ||
args = callExpression.get('arguments'); | ||
var _args3 = args; | ||
var _args4 = (0, _slicedToArray2["default"])(_args3, 2); | ||
loader = _args4[0]; | ||
options = _args4[1]; | ||
var _args2 = args; | ||
loader = _args2[0]; | ||
options = _args2[1]; | ||
} | ||
@@ -74,0 +64,0 @@ |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.__esModule = true; | ||
exports.Capture = Capture; | ||
@@ -7,0 +5,0 @@ exports.LoadableContext = void 0; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
Object.defineProperty(exports, "preloadDynamicImports", { | ||
enumerable: true, | ||
get: function get() { | ||
return _loadable.preloadReady; | ||
} | ||
}); | ||
exports.__esModule = true; | ||
exports.preloadDynamicImports = void 0; | ||
var _loadable = require("./loadable"); | ||
var _loadable = require("./loadable"); | ||
exports.preloadDynamicImports = _loadable.preloadReady; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | ||
var _require = require('./loadable'), | ||
@@ -18,7 +10,8 @@ Loadable = _require.Loadable; | ||
module.exports = function dynamic(loader) { | ||
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
module.exports = function dynamic(loader, opts) { | ||
if (opts === void 0) { | ||
opts = {}; | ||
} | ||
var options = _objectSpread(_objectSpread({}, opts), opts.loadableGenerated); | ||
var options = Object.assign({}, opts, opts.loadableGenerated); | ||
delete options.loadableGenerated; | ||
@@ -25,0 +18,0 @@ options.loader = loader; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.__esModule = true; | ||
exports.getBundles = getBundles; | ||
exports.LoadablePlugin = void 0; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } | ||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
@@ -76,45 +68,36 @@ | ||
var _iterator = _createForOfIteratorHelper(chunk.modulesIterable), | ||
_step; | ||
for (var _iterator = _createForOfIteratorHelperLoose(chunk.modulesIterable), _step; !(_step = _iterator()).done;) { | ||
var module = _step.value; | ||
var id = module.id; | ||
var name = typeof module.libIdent === 'function' ? module.libIdent({ | ||
context: context | ||
}) : null; | ||
try { | ||
for (_iterator.s(); !(_step = _iterator.n()).done;) { | ||
var module = _step.value; | ||
var id = module.id; | ||
var name = typeof module.libIdent === 'function' ? module.libIdent({ | ||
context: context | ||
}) : null; | ||
if (ignoreModule(name, vendorTest, ignoreModuleTest)) { | ||
// eslint-disable-next-line no-continue | ||
continue; | ||
} | ||
if (ignoreModule(name, vendorTest, ignoreModuleTest)) { | ||
// eslint-disable-next-line no-continue | ||
continue; | ||
} | ||
var publicPath = url.resolve(compilation.outputOptions.publicPath || '', file); | ||
var currentModule = module; | ||
var publicPath = url.resolve(compilation.outputOptions.publicPath || '', file); | ||
var currentModule = module; | ||
if (module.constructor.name === 'ConcatenatedModule') { | ||
currentModule = module.rootModule; | ||
} | ||
if (module.constructor.name === 'ConcatenatedModule') { | ||
currentModule = module.rootModule; | ||
} | ||
if (!currentModule.rawRequest || currentModule.rawRequest.match(/\.(scss|jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$/)) { | ||
// eslint-disable-next-line no-continue | ||
continue; | ||
} | ||
if (!currentModule.rawRequest || currentModule.rawRequest.match(/\.(scss|jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$/)) { | ||
// eslint-disable-next-line no-continue | ||
continue; | ||
} | ||
if (!manifest.bundles[currentModule.rawRequest]) { | ||
manifest.bundles[currentModule.rawRequest] = []; | ||
} | ||
if (!manifest.bundles[currentModule.rawRequest]) { | ||
manifest.bundles[currentModule.rawRequest] = []; | ||
} | ||
manifest.bundles[currentModule.rawRequest].push({ | ||
id: id, | ||
name: name, | ||
file: file, | ||
publicPath: publicPath | ||
}); | ||
} | ||
} catch (err) { | ||
_iterator.e(err); | ||
} finally { | ||
_iterator.f(); | ||
manifest.bundles[currentModule.rawRequest].push({ | ||
id: id, | ||
name: name, | ||
file: file, | ||
publicPath: publicPath | ||
}); | ||
} | ||
@@ -127,5 +110,7 @@ }); | ||
var LoadablePlugin = /*#__PURE__*/function () { | ||
function LoadablePlugin() { | ||
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
(0, _classCallCheck2["default"])(this, LoadablePlugin); | ||
function LoadablePlugin(opts) { | ||
if (opts === void 0) { | ||
opts = {}; | ||
} | ||
this.filename = opts.filename; | ||
@@ -135,32 +120,31 @@ this.ignoreModuleTest = null; | ||
(0, _createClass2["default"])(LoadablePlugin, [{ | ||
key: "setIgnoreModuleTest", | ||
value: function setIgnoreModuleTest(test) { | ||
this.ignoreModuleTest = test; | ||
} | ||
}, { | ||
key: "apply", | ||
value: function apply(compiler) { | ||
var _this = this; | ||
var _proto = LoadablePlugin.prototype; | ||
compiler.hooks.emit.tapAsync('LoadableManifest', function (compilation, callback) { | ||
var manifest = buildManifest(compiler, compilation, { | ||
ignoreModuleTest: _this.ignoreModuleTest | ||
}); | ||
var json = JSON.stringify(manifest, null, 2); | ||
var outputDirectory = path.dirname(_this.filename); | ||
_proto.setIgnoreModuleTest = function setIgnoreModuleTest(test) { | ||
this.ignoreModuleTest = test; | ||
}; | ||
try { | ||
fs.mkdirSync(outputDirectory); | ||
} catch (err) { | ||
if (err.code !== 'EEXIST') { | ||
throw err; | ||
} | ||
_proto.apply = function apply(compiler) { | ||
var _this = this; | ||
compiler.hooks.emit.tapAsync('LoadableManifest', function (compilation, callback) { | ||
var manifest = buildManifest(compiler, compilation, { | ||
ignoreModuleTest: _this.ignoreModuleTest | ||
}); | ||
var json = JSON.stringify(manifest, null, 2); | ||
var outputDirectory = path.dirname(_this.filename); | ||
try { | ||
fs.mkdirSync(outputDirectory); | ||
} catch (err) { | ||
if (err.code !== 'EEXIST') { | ||
throw err; | ||
} | ||
} | ||
fs.writeFileSync(_this.filename, json); | ||
callback(); | ||
}); | ||
} | ||
}]); | ||
fs.writeFileSync(_this.filename, json); | ||
callback(); | ||
}); | ||
}; | ||
return LoadablePlugin; | ||
@@ -167,0 +151,0 @@ }(); |
@@ -5,5 +5,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.__esModule = true; | ||
exports.preloadAll = preloadAll; | ||
@@ -13,24 +11,4 @@ exports.preloadReady = preloadReady; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); | ||
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); | ||
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); | ||
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } | ||
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } | ||
var React = require('react'); | ||
@@ -48,3 +26,3 @@ | ||
// eslint-disable-next-line camelcase | ||
if ((typeof __webpack_modules__ === "undefined" ? "undefined" : (0, _typeof2["default"])(__webpack_modules__)) !== 'object') { | ||
if (typeof __webpack_modules__ !== 'object') { | ||
return false; | ||
@@ -91,3 +69,3 @@ } | ||
var opts = _objectSpread({ | ||
var opts = Object.assign({ | ||
loader: null, | ||
@@ -101,3 +79,2 @@ loading: null, | ||
}, options); | ||
var res = null; | ||
@@ -124,11 +101,8 @@ | ||
var LoadableComponent = /*#__PURE__*/function (_React$Component) { | ||
(0, _inherits2["default"])(LoadableComponent, _React$Component); | ||
(0, _inheritsLoose2["default"])(LoadableComponent, _React$Component); | ||
var _super = _createSuper(LoadableComponent); | ||
function LoadableComponent(props) { | ||
var _this; | ||
(0, _classCallCheck2["default"])(this, LoadableComponent); | ||
_this = _super.call(this, props); | ||
_this = _React$Component.call(this, props) || this; | ||
init(); | ||
@@ -145,110 +119,106 @@ _this.state = { | ||
(0, _createClass2["default"])(LoadableComponent, [{ | ||
key: "_loadModule", | ||
value: function _loadModule() { | ||
var _this2 = this; | ||
var _proto = LoadableComponent.prototype; | ||
if (this.context.report && Array.isArray(opts.modules)) { | ||
opts.modules.forEach(function (moduleName) { | ||
_this2.context.report(moduleName); | ||
}); | ||
} | ||
_proto._loadModule = function _loadModule() { | ||
var _this2 = this; | ||
if (!res.loading) { | ||
return; | ||
} | ||
if (this.context.report && Array.isArray(opts.modules)) { | ||
opts.modules.forEach(function (moduleName) { | ||
_this2.context.report(moduleName); | ||
}); | ||
} | ||
if (typeof opts.delay === 'number') { | ||
if (opts.delay === 0) { | ||
this.setState({ | ||
pastDelay: true | ||
}); | ||
} else { | ||
this._delay = setTimeout(function () { | ||
_this2.setState({ | ||
pastDelay: true | ||
}); | ||
}, opts.delay); | ||
} | ||
} | ||
if (!res.loading) { | ||
return; | ||
} | ||
if (typeof opts.timeout === 'number') { | ||
this._timeout = setTimeout(function () { | ||
if (typeof opts.delay === 'number') { | ||
if (opts.delay === 0) { | ||
this.setState({ | ||
pastDelay: true | ||
}); | ||
} else { | ||
this._delay = setTimeout(function () { | ||
_this2.setState({ | ||
timedOut: true | ||
pastDelay: true | ||
}); | ||
}, opts.timeout); | ||
}, opts.delay); | ||
} | ||
} | ||
var update = function update() { | ||
if (!_this2._mounted) { | ||
return; | ||
} | ||
if (typeof opts.timeout === 'number') { | ||
this._timeout = setTimeout(function () { | ||
_this2.setState({ | ||
error: res.error, | ||
loaded: res.loaded, | ||
loading: res.loading | ||
timedOut: true | ||
}); | ||
}, opts.timeout); | ||
} | ||
_this2._clearTimeouts(); | ||
}; | ||
var update = function update() { | ||
if (!_this2._mounted) { | ||
return; | ||
} | ||
res.promise.then(function successFn() { | ||
update(); | ||
})["catch"](function failureFn() { | ||
update(); | ||
_this2.setState({ | ||
error: res.error, | ||
loaded: res.loaded, | ||
loading: res.loading | ||
}); | ||
} | ||
}, { | ||
key: "componentWillUnmount", | ||
value: function componentWillUnmount() { | ||
this._mounted = false; | ||
this._clearTimeouts(); | ||
} | ||
}, { | ||
key: "_clearTimeouts", | ||
value: function _clearTimeouts() { | ||
clearTimeout(this._delay); | ||
clearTimeout(this._timeout); | ||
} | ||
}, { | ||
key: "retry", | ||
value: function retry() { | ||
this.setState({ | ||
error: null, | ||
loading: true, | ||
timedOut: false | ||
}); | ||
res = loadFn(opts.loader); | ||
_this2._clearTimeouts(); | ||
}; | ||
res.promise.then(function successFn() { | ||
update(); | ||
})["catch"](function failureFn() { | ||
update(); | ||
}); | ||
}; | ||
_proto.componentWillUnmount = function componentWillUnmount() { | ||
this._mounted = false; | ||
this._clearTimeouts(); | ||
}; | ||
_proto._clearTimeouts = function _clearTimeouts() { | ||
clearTimeout(this._delay); | ||
clearTimeout(this._timeout); | ||
}; | ||
_proto.retry = function retry() { | ||
this.setState({ | ||
error: null, | ||
loading: true, | ||
timedOut: false | ||
}); | ||
res = loadFn(opts.loader); | ||
this._loadModule(); | ||
}; | ||
_proto.render = function render() { | ||
if (!this._mounted) { | ||
this._mounted = true; | ||
this._loadModule(); | ||
} | ||
}, { | ||
key: "render", | ||
value: function render() { | ||
if (!this._mounted) { | ||
this._mounted = true; | ||
this._loadModule(); | ||
} | ||
if (this.state.loading || this.state.error) { | ||
return React.createElement(opts.loading, { | ||
isLoading: this.state.loading, | ||
pastDelay: this.state.pastDelay, | ||
timedOut: this.state.timedOut, | ||
error: this.state.error, | ||
retry: this.retry | ||
}); | ||
} | ||
if (this.state.loading || this.state.error) { | ||
return React.createElement(opts.loading, { | ||
isLoading: this.state.loading, | ||
pastDelay: this.state.pastDelay, | ||
timedOut: this.state.timedOut, | ||
error: this.state.error, | ||
retry: this.retry | ||
}); | ||
} | ||
if (this.state.loaded) { | ||
return opts.render(this.state.loaded, this.props); | ||
} | ||
if (this.state.loaded) { | ||
return opts.render(this.state.loaded, this.props); | ||
} | ||
return null; | ||
}; | ||
return null; | ||
} | ||
}]); | ||
return LoadableComponent; | ||
@@ -255,0 +225,0 @@ }(React.Component); |
@@ -5,21 +5,5 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
Object.defineProperty(exports, "preloadDynamicImports", { | ||
enumerable: true, | ||
get: function get() { | ||
return _loadable.preloadAll; | ||
} | ||
}); | ||
Object.defineProperty(exports, "DynamicImports", { | ||
enumerable: true, | ||
get: function get() { | ||
return _Capture.Capture; | ||
} | ||
}); | ||
exports.getBundles = void 0; | ||
exports.__esModule = true; | ||
exports.getBundles = exports.DynamicImports = exports.preloadDynamicImports = void 0; | ||
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); | ||
var _fs = _interopRequireDefault(require("fs")); | ||
@@ -31,4 +15,8 @@ | ||
exports.preloadDynamicImports = _loadable.preloadAll; | ||
var _Capture = require("./Capture"); | ||
exports.DynamicImports = _Capture.Capture; | ||
var _require = require('kyt-utils/paths')(), | ||
@@ -58,4 +46,4 @@ clientAssetsFile = _require.clientAssetsFile, | ||
var runtimeBundle = assets["runtime~".concat(entry, ".js")]; | ||
var entryBundle = assets["".concat(entry, ".js")]; | ||
var runtimeBundle = assets["runtime~" + entry + ".js"]; | ||
var entryBundle = assets[entry + ".js"]; | ||
var vendorBundle = assets['vendor.js']; | ||
@@ -81,3 +69,3 @@ var bundleManifest = { | ||
loadableBundles.entries.forEach(function (key) { | ||
hashes = hashes.concat([assets["".concat(key, ".js")]]).filter(Boolean); | ||
hashes = hashes.concat([assets[key + ".js"]]).filter(Boolean); | ||
}); | ||
@@ -90,3 +78,3 @@ var bundles = (0, _loadablePlugin.getBundles)(loadableBundles.bundles, modules); | ||
}); | ||
bundleManifest.scripts = (0, _toConsumableArray2["default"])(new Set(jsBundles.map(function (b) { | ||
bundleManifest.scripts = [].concat(new Set(jsBundles.map(function (b) { | ||
return b.publicPath; | ||
@@ -93,0 +81,0 @@ }))); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.__esModule = true; | ||
exports.kytWebpackPlugins = kytWebpackPlugins; | ||
@@ -7,0 +5,0 @@ |
{ | ||
"name": "kyt-runtime", | ||
"version": "1.2.36", | ||
"version": "1.2.37", | ||
"description": "A shared kyt runtime utility library.", | ||
@@ -21,3 +21,3 @@ "author": "NYTimes", | ||
"dependencies": { | ||
"kyt-utils": "1.3.21", | ||
"kyt-utils": "1.3.22", | ||
"webpack-assets-manifest": "4.0.6" | ||
@@ -32,3 +32,3 @@ }, | ||
"devDependencies": { | ||
"babel-preset-kyt-core": "1.2.6" | ||
"babel-preset-kyt-core": "1.2.7" | ||
}, | ||
@@ -38,3 +38,3 @@ "scripts": { | ||
}, | ||
"gitHead": "ee7e100a548c1d2a0f8d29fb87644c88cc97f81c" | ||
"gitHead": "fa6aeb904e864df61da94b833b66a9f5151b27f0" | ||
} |
26099
-40.84%17
-5.56%547
-12.2%+ Added
- Removed
Updated