react-cosmos
Version:
CLI for running React Cosmos inside webpack-powered apps
63 lines (50 loc) • 2.94 kB
JavaScript
;
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.dismiss = dismiss;
exports.init = init;
var _url = require("react-cosmos-shared2/url");
var ErrorOverlay = _interopRequireWildcard(require("react-error-overlay"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var LAUNCH_EDITOR_ENDPOINT = '/_open';
function init() {
ErrorOverlay.startReportingRuntimeErrors({
filename: process.env.PUBLIC_URL + '/main.js'
});
ErrorOverlay.setEditorHandler(function (errorLocation) {
return window.fetch(getLaunchEditorUrl(errorLocation));
});
setUpBuildErrorReporting();
}
function dismiss() {
ErrorOverlay.dismissRuntimeErrors();
}
function getLaunchEditorUrl(errorLocation) {
return "".concat(LAUNCH_EDITOR_ENDPOINT, "?").concat((0, _url.stringifyUrlQuery)({
filePath: errorLocation.fileName,
line: errorLocation.lineNumber || 1,
column: errorLocation.colNumber || 1
}));
}
function setUpBuildErrorReporting() {
var clientWindow = window;
if (clientWindow.__webpack_hot_middleware_reporter__ === undefined) {
return;
}
clientWindow.__webpack_hot_middleware_reporter__.useCustomOverlay({
showProblems: function showProblems(type, obj) {
if (type !== 'errors') {
// We might've went from errors -> warnings
ErrorOverlay.dismissBuildError();
} else {
ErrorOverlay.reportBuildError(obj[0]);
}
},
clear: function clear() {
ErrorOverlay.dismissBuildError();
}
});
}