diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 355a592296..fbea07f381 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -103,13 +103,14 @@ const eslintConfig = composeEslintConfig( { files: [ "**/**/*.html", + "**/browser_client/**/*.js", + "**/browser_utils/**/*.js", + "**/browser_detection/**/*.js", "**/browser_runtime/**/*.js", "**/browser_feature_detection/**/*.js", "**/exploring/**/*.js", "**/redirector/**/*.js", "**/toolbar/**/*.js", - "**/browser_utils/**/*.js", - "**/browser_detection/**/*.js", ], env: { browser: true, diff --git a/.github/workflows/performance_impact.yml b/.github/workflows/performance_impact.yml index 5390146863..fa23155609 100644 --- a/.github/workflows/performance_impact.yml +++ b/.github/workflows/performance_impact.yml @@ -22,6 +22,6 @@ jobs: - name: Install playwright run: npm run playwright-install - name: Report performance impact - run: node --expose-gc ./.github/workflows/pr_impact/report_performance_impact.js + run: node --expose-gc ./.github/workflows/pr_impact/report_performance_impact.mjs env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pr_impact/report_performance_impact.js b/.github/workflows/pr_impact/report_performance_impact.mjs similarity index 75% rename from .github/workflows/pr_impact/report_performance_impact.js rename to .github/workflows/pr_impact/report_performance_impact.mjs index 597fc2a6d8..3c0a09b035 100644 --- a/.github/workflows/pr_impact/report_performance_impact.js +++ b/.github/workflows/pr_impact/report_performance_impact.mjs @@ -8,5 +8,5 @@ await reportPerformanceImpact({ logLevel: "debug", installCommand: "npm install", performanceReportPath: - "./script/performance/generate_performance_report.js#performanceReport", + "./script/performance/generate_performance_report.mjs#performanceReport", }) diff --git a/dist/browser_client/asset-manifest.json b/dist/browser_client/asset-manifest.json new file mode 100644 index 0000000000..6d8c63babf --- /dev/null +++ b/dist/browser_client/asset-manifest.json @@ -0,0 +1,4 @@ +{ + "browser_client.js": "browser_client_fb33eaa4.js", + "browser_client.js.map": "browser_client_fb33eaa4.js.map" +} \ No newline at end of file diff --git a/dist/browser_runtime/browser_runtime_c81cd9af.js b/dist/browser_client/browser_client_fb33eaa4.js similarity index 95% rename from dist/browser_runtime/browser_runtime_c81cd9af.js rename to dist/browser_client/browser_client_fb33eaa4.js index 2e569e59cf..5b9bcde722 100644 --- a/dist/browser_runtime/browser_runtime_c81cd9af.js +++ b/dist/browser_client/browser_client_fb33eaa4.js @@ -71,143 +71,41 @@ function _objectSpread2(target) { return target; } -/* eslint-disable no-eq-null, eqeqeq */ -function arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - var arr2 = new Array(len); +var objectWithoutPropertiesLoose = (function (source, excluded) { + if (source === null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key; + var i; - for (var i = 0; i < len; i++) { - arr2[i] = arr[i]; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; } - return arr2; -} - -var arrayWithoutHoles = (function (arr) { - if (Array.isArray(arr)) return arrayLikeToArray(arr); -}); - -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); -} - -/* eslint-disable consistent-return */ -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); -} - -var nonIterableSpread = (function () { - throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -}); - -var _toConsumableArray = (function (arr) { - return arrayWithoutHoles(arr) || _iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); + return target; }); -var createDetailedMessage = function createDetailedMessage(message) { - var details = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var string = "".concat(message); - Object.keys(details).forEach(function (key) { - var value = details[key]; - string += "\n--- ".concat(key, " ---\n").concat(Array.isArray(value) ? value.join("\n") : value); - }); - return string; -}; - -var stackToString = function stackToString(stack, _ref) { - var error = _ref.error, - indent = _ref.indent; - var name = error.name || "Error"; - var message = error.message || ""; - var stackString = stack.map(function (callSite) { - return "\n".concat(indent, "at ").concat(callSite); - }).join(""); - return "".concat(name, ": ").concat(message).concat(stackString); -}; - -/* eslint-env browser, node */ -var parseDataUrl = function parseDataUrl(dataUrl) { - var afterDataProtocol = dataUrl.slice("data:".length); - var commaIndex = afterDataProtocol.indexOf(","); - var beforeComma = afterDataProtocol.slice(0, commaIndex); - var mediaType; - var base64Flag; - - if (beforeComma.endsWith(";base64")) { - mediaType = beforeComma.slice(0, -";base64".length); - base64Flag = true; - } else { - mediaType = beforeComma; - base64Flag = false; - } - - var afterComma = afterDataProtocol.slice(commaIndex + 1); - return { - mediaType: mediaType === "" ? "text/plain;charset=US-ASCII" : mediaType, - base64Flag: base64Flag, - data: afterComma - }; -}; -var dataUrlToRawData = function dataUrlToRawData(_ref2) { - var base64Flag = _ref2.base64Flag, - data = _ref2.data; - return base64Flag ? base64ToString(data) : data; -}; -(typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" ? window.atob : function (data) { - return Buffer.from(data).toString("base64"); -}; -var base64ToString = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" ? window.btoa : function (base64String) { - return Buffer.from(base64String, "base64").toString("utf8"); -}; - -var getJavaScriptSourceMappingUrl = function getJavaScriptSourceMappingUrl(javaScriptSource) { - var sourceMappingUrl; - replaceSourceMappingUrl(javaScriptSource, javascriptSourceMappingUrlCommentRegexp, function (value) { - sourceMappingUrl = value; - }); - return sourceMappingUrl; -}; -var javascriptSourceMappingUrlCommentRegexp = /\/\/ ?# ?sourceMappingURL=([^\s'"]+)/g; - -var replaceSourceMappingUrl = function replaceSourceMappingUrl(source, regexp, callback) { - var lastSourceMappingUrl; - var matchSourceMappingUrl; +var _objectWithoutProperties = (function (source, excluded) { + if (source === null) return {}; + var target = objectWithoutPropertiesLoose(source, excluded); + var key; + var i; - while (matchSourceMappingUrl = regexp.exec(source)) { - lastSourceMappingUrl = matchSourceMappingUrl; - } + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - if (lastSourceMappingUrl) { - var index = lastSourceMappingUrl.index; - var before = source.slice(0, index); - var after = source.slice(index); - var mappedAfter = after.replace(regexp, function (match, firstGroup) { - return callback(firstGroup); - }); - return "".concat(before).concat(mappedAfter); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } } - return source; -}; - -var startsWithWindowsDriveLetter = function startsWithWindowsDriveLetter(string) { - var firstChar = string[0]; - if (!/[a-zA-Z]/.test(firstChar)) return false; - var secondChar = string[1]; - if (secondChar !== ":") return false; - return true; -}; -var windowsFilePathToUrl = function windowsFilePathToUrl(windowsFilePath) { - return "file:///".concat(replaceBackSlashesWithSlashes(windowsFilePath)); -}; -var replaceBackSlashesWithSlashes = function replaceBackSlashesWithSlashes(string) { - return string.replace(/\\/g, "/"); -}; + return target; +}); function _await$b(value, then, direct) { if (direct) { @@ -221,16 +119,6 @@ function _await$b(value, then, direct) { return then ? value.then(then) : value; } -function _invoke$6(body, then) { - var result = body(); - - if (result && result.then) { - return result.then(then); - } - - return then(result); -} - function _async$b(f) { return function () { for (var args = [], i = 0; i < arguments.length; i++) { @@ -245,345 +133,416 @@ function _async$b(f) { }; } -var remapCallSite = _async$b(function (callSite, _ref) { - var _exit = false; - var urlToSourcemapConsumer = _ref.urlToSourcemapConsumer, - resolveFile = _ref.resolveFile, - readErrorStack = _ref.readErrorStack, - onFailure = _ref.onFailure; +function _call$1(body, then, direct) { + if (direct) { + return then ? then(body()) : body(); + } - if (callSite.isNative()) { - return callSite; - } // Most call sites will return the source file from getFileName(), but code - // passed to eval() ending in "//# sourceURL=..." will return the source file - // from getScriptNameOrSourceURL() instead + try { + var result = Promise.resolve(body()); + return then ? result.then(then) : result; + } catch (e) { + return Promise.reject(e); + } +} +var fetchUsingXHR = _async$b(function (url) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + signal = _ref.signal, + _ref$method = _ref.method, + method = _ref$method === void 0 ? "GET" : _ref$method, + _ref$credentials = _ref.credentials, + credentials = _ref$credentials === void 0 ? "same-origin" : _ref$credentials, + _ref$headers = _ref.headers, + headers = _ref$headers === void 0 ? {} : _ref$headers, + _ref$body = _ref.body, + body = _ref$body === void 0 ? null : _ref$body; - var source = callSite.getFileName() || callSite.getScriptNameOrSourceURL(); - return _invoke$6(function () { - if (source) { - var line = callSite.getLineNumber(); - var column = callSite.getColumnNumber() - 1; - return _await$b(remapSourcePosition({ - source: source, - line: line, - column: column, - resolveFile: resolveFile, - urlToSourcemapConsumer: urlToSourcemapConsumer, - readErrorStack: readErrorStack, - onFailure: onFailure - }), function (originalPosition) { - var callSiteClone = cloneCallSite(callSite); + var headersPromise = createPromiseAndHooks(); + var bodyPromise = createPromiseAndHooks(); + var xhr = new XMLHttpRequest(); - callSiteClone.getFunctionName = function () { - return originalPosition.name || callSite.getFunctionName(); - }; + var failure = function failure(error) { + // if it was already resolved, we must reject the body promise + if (headersPromise.settled) { + bodyPromise.reject(error); + } else { + headersPromise.reject(error); + } + }; - callSiteClone.getFileName = function () { - return originalPosition.source; - }; + var cleanup = function cleanup() { + xhr.ontimeout = null; + xhr.onerror = null; + xhr.onload = null; + xhr.onreadystatechange = null; + }; - callSiteClone.getLineNumber = function () { - return originalPosition.line; - }; + xhr.ontimeout = function () { + cleanup(); + failure(new Error("xhr request timeout on ".concat(url, "."))); + }; - callSiteClone.getColumnNumber = function () { - return originalPosition.column + 1; - }; + xhr.onerror = function (error) { + cleanup(); // unfortunately with have no clue why it fails + // might be cors for instance - callSiteClone.getScriptNameOrSourceURL = function () { - return originalPosition.source; - }; + failure(createRequestError(error, { + url: url + })); + }; - _exit = true; - return callSiteClone; - }); - } - }, function (_result) { - var _exit2 = false; - if (_exit) return _result; - // Code called using eval() needs special handling - return _invoke$6(function () { - if (callSite.isEval()) { - var origin = callSite.getEvalOrigin(); - return _invoke$6(function () { - if (origin) { - var callSiteClone = cloneCallSite(callSite); - return _await$b(remapEvalOrigin(origin, { - resolveFile: resolveFile, - urlToSourcemapConsumer: urlToSourcemapConsumer, - readErrorStack: readErrorStack, - onFailure: onFailure - }), function (originalEvalOrigin) { - callSiteClone.getEvalOrigin = function () { - return originalEvalOrigin; - }; + xhr.onload = function () { + cleanup(); + bodyPromise.resolve(); + }; - _exit2 = true; - return callSiteClone; - }); - } - }, function (_result2) { - if (_exit2) return _result2; - _exit2 = true; - return callSite; - }); - } - }, function (_result3) { - return _exit2 ? _result3 : callSite; - }); // If we get here then we were unable to change the source position + signal.addEventListener("abort", function () { + xhr.abort(); + var abortError = new Error("aborted"); + abortError.name = "AbortError"; + failure(abortError); }); -}); -var cloneCallSite = function cloneCallSite(callSite) { - var callSiteClone = {}; - methods.forEach(function (name) { - callSiteClone[name] = function () { - return callSite[name](); - }; - }); + xhr.onreadystatechange = function () { + // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState + var readyState = xhr.readyState; - callSiteClone.toString = function () { - return callSiteToFunctionCall(callSiteClone); + if (readyState === 2) { + headersPromise.resolve(); + } else if (readyState === 4) { + cleanup(); + bodyPromise.resolve(); + } }; - return callSiteClone; -}; + xhr.open(method, url, true); + Object.keys(headers).forEach(function (key) { + xhr.setRequestHeader(key, headers[key]); + }); + xhr.withCredentials = computeWithCredentials({ + credentials: credentials, + url: url + }); -var methods = ["getColumnNumber", "getEvalOrigin", "getFileName", "getFunction", "getFunctionName", "getLineNumber", "getMethodName", "getPosition", "getScriptNameOrSourceURL", "getThis", "getTypeName", "isConstructor", "isEval", "isNative", "isToplevel", "toString"]; + if ("responseType" in xhr && hasBlob) { + xhr.responseType = "blob"; + } -var callSiteToFunctionCall = function callSiteToFunctionCall(callSite) { - var fileLocation = callSiteToFileLocation(callSite); - var isConstructor = callSite.isConstructor(); - var isMethodCall = !callSite.isToplevel() && !isConstructor; + xhr.send(body); + return _await$b(headersPromise, function () { + // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL + var responseUrl = "responseURL" in xhr ? xhr.responseURL : headers["x-request-url"]; + var responseStatus = xhr.status; + var responseStatusText = xhr.statusText; + var responseHeaders = getHeadersFromXHR(xhr); - if (isMethodCall) { - return "".concat(callSiteToMethodCall(callSite), " (").concat(fileLocation, ")"); - } + var readBody = function readBody() { + return _await$b(bodyPromise, function () { + var status = xhr.status; // in Chrome on file:/// URLs, status is 0 - var functionName = callSite.getFunctionName(); + if (status === 0) { + responseStatus = 200; + } - if (isConstructor) { - return "new ".concat(functionName || "", " (").concat(fileLocation, ")"); - } + var body = "response" in xhr ? xhr.response : xhr.responseText; + return { + responseBody: body, + responseBodyType: detectBodyType(body) + }; + }); + }; - if (functionName) { - return "".concat(functionName, " (").concat(fileLocation, ")"); - } + var text = function text() { + return _call$1(readBody, function (_ref2) { + var responseBody = _ref2.responseBody, + responseBodyType = _ref2.responseBodyType; - return "".concat(fileLocation); -}; + if (responseBodyType === "blob") { + return blobToText(responseBody); + } -var callSiteToMethodCall = function callSiteToMethodCall(callSite) { - var functionName = callSite.getFunctionName(); - var typeName = callSiteToType(callSite); + if (responseBodyType === "formData") { + throw new Error("could not read FormData body as text"); + } - if (!functionName) { - return "".concat(typeName, "."); - } + return responseBodyType === "dataView" ? arrayBufferToText(responseBody.buffer) : responseBodyType === "arrayBuffer" ? arrayBufferToText(responseBody) : String(responseBody); + }); + }; - var methodName = callSite.getMethodName(); - var as = generateAs({ - methodName: methodName, - functionName: functionName - }); + var json = function json() { + return _call$1(text, JSON.parse); + }; - if (typeName && !functionName.startsWith(typeName)) { - return "".concat(typeName, ".").concat(functionName).concat(as); - } + var blob = _async$b(function () { + if (!hasBlob) { + throw new Error("blob not supported"); + } - return "".concat(functionName).concat(as); -}; + return _call$1(readBody, function (_ref3) { + var responseBody = _ref3.responseBody, + responseBodyType = _ref3.responseBodyType; -var generateAs = function generateAs(_ref2) { - var methodName = _ref2.methodName, - functionName = _ref2.functionName; - if (!methodName) return ""; - if (functionName.indexOf(".".concat(methodName)) === functionName.length - methodName.length - 1) return ""; - return " [as ".concat(methodName, "]"); -}; + if (responseBodyType === "blob") { + return responseBody; + } -var callSiteToType = function callSiteToType(callSite) { - var typeName = callSite.getTypeName(); // Fixes shim to be backward compatible with Node v0 to v4 + if (responseBodyType === "dataView") { + return new Blob([cloneBuffer(responseBody.buffer)]); + } - if (typeName === "[object Object]") { - return "null"; - } + if (responseBodyType === "arrayBuffer") { + return new Blob([cloneBuffer(responseBody)]); + } - return typeName; -}; + if (responseBodyType === "formData") { + throw new Error("could not read FormData body as blob"); + } -var callSiteToFileLocation = function callSiteToFileLocation(callSite) { - if (callSite.isNative()) return "native"; - var sourceFile = callSiteToSourceFile(callSite); - var lineNumber = callSite.getLineNumber(); + return new Blob([String(responseBody)]); + }); + }); - if (lineNumber === null) { - return sourceFile; - } + var arrayBuffer = function arrayBuffer() { + return _call$1(readBody, function (_ref4) { + var responseBody = _ref4.responseBody, + responseBodyType = _ref4.responseBodyType; + return responseBodyType === "arrayBuffer" ? cloneBuffer(responseBody) : _call$1(blob, blobToArrayBuffer); + }); + }; - var columnNumber = callSite.getColumnNumber(); + var formData = _async$b(function () { + if (!hasFormData) { + throw new Error("formData not supported"); + } - if (!columnNumber) { - return "".concat(sourceFile, ":").concat(lineNumber); + return _call$1(text, textToFormData); + }); + + return { + url: responseUrl, + status: responseStatus, + statusText: responseStatusText, + headers: responseHeaders, + text: text, + json: json, + blob: blob, + arrayBuffer: arrayBuffer, + formData: formData + }; + }); +}); + +var canUseBlob = function canUseBlob() { + if (typeof window.FileReader !== "function") return false; + if (typeof window.Blob !== "function") return false; + + try { + // eslint-disable-next-line no-new + new Blob(); + return true; + } catch (e) { + return false; } +}; - return "".concat(sourceFile, ":").concat(lineNumber, ":").concat(columnNumber); +var hasBlob = canUseBlob(); +var hasFormData = typeof window.FormData === "function"; +var hasArrayBuffer = typeof window.ArrayBuffer === "function"; +var hasSearchParams = typeof window.URLSearchParams === "function"; + +var createRequestError = function createRequestError(error, _ref5) { + var url = _ref5.url; + return new Error("error during xhr request on ".concat(url, ".\n--- error stack ---\n").concat(error.stack)); }; -var callSiteToSourceFile = function callSiteToSourceFile(callSite) { - var fileName = callSite.getScriptNameOrSourceURL(); +var createPromiseAndHooks = function createPromiseAndHooks() { + var resolve; + var reject; + var promise = new Promise(function (res, rej) { + resolve = function resolve(value) { + promise.settled = true; + res(value); + }; - if (fileName) { - return fileName; - } // Source code does not originate from a file and is not native, but we - // can still get the source position inside the source string, e.g. in - // an eval string. + reject = function reject(value) { + promise.settled = true; + rej(value); + }; + }); + promise.resolve = resolve; + promise.reject = reject; + return promise; +}; // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch - if (callSite.isEval()) { - return "".concat(callSite.getEvalOrigin(), ", "); +var computeWithCredentials = function computeWithCredentials(_ref6) { + var credentials = _ref6.credentials, + url = _ref6.url; + + if (credentials === "same-origin") { + return originSameAsGlobalOrigin(url); } - return ""; -}; // Parses code generated by FormatEvalOrigin(), a function inside V8: -// https://code.google.com/p/v8/source/browse/trunk/src/messages.js + return credentials === "include"; +}; +var originSameAsGlobalOrigin = function originSameAsGlobalOrigin(url) { + // if we cannot read globalOrigin from window.location.origin, let's consider it's ok + if ((typeof window === "undefined" ? "undefined" : _typeof(window)) !== "object") return true; + if (_typeof(window.location) !== "object") return true; + var globalOrigin = window.location.origin; + if (globalOrigin === "null") return true; + return hrefToOrigin(url) === globalOrigin; +}; -var remapEvalOrigin = _async$b(function (origin, _ref3) { - var _exit3 = false; - var resolveFile = _ref3.resolveFile, - urlToSourcemapConsumer = _ref3.urlToSourcemapConsumer, - onFailure = _ref3.onFailure; - // Most eval() calls are in this format - var topLevelEvalMatch = /^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(origin); - return _invoke$6(function () { - if (topLevelEvalMatch) { - var source = topLevelEvalMatch[2]; - var line = Number(topLevelEvalMatch[3]); - var column = topLevelEvalMatch[4] - 1; - return _await$b(remapSourcePosition({ - source: source, - line: line, - column: column, - resolveFile: resolveFile, - urlToSourcemapConsumer: urlToSourcemapConsumer, - onFailure: onFailure - }), function (originalPosition) { - var _temp = "eval at ".concat(topLevelEvalMatch[1], " (").concat(originalPosition.source, ":").concat(originalPosition.line, ":").concat(originalPosition.column + 1, ")"); +var detectBodyType = function detectBodyType(body) { + if (!body) { + return ""; + } - _exit3 = true; - return _temp; - }); + if (typeof body === "string") { + return "text"; + } + + if (hasBlob && Blob.prototype.isPrototypeOf(body)) { + return "blob"; + } + + if (hasFormData && FormData.prototype.isPrototypeOf(body)) { + return "formData"; + } + + if (hasArrayBuffer) { + if (hasBlob && isDataView(body)) { + return "dataView"; } - }, function (_result4) { - var _exit4 = false; - if (_exit3) return _result4; - // Parse nested eval() calls using recursion - var nestedEvalMatch = /^eval at ([^(]+) \((.+)\)$/.exec(origin); - return _invoke$6(function () { - if (nestedEvalMatch) { - return _await$b(remapEvalOrigin(nestedEvalMatch[2], { - resolveFile: resolveFile, - urlToSourcemapConsumer: urlToSourcemapConsumer, - onFailure: onFailure - }), function (originalEvalOrigin) { - var _temp2 = "eval at ".concat(nestedEvalMatch[1], " (").concat(originalEvalOrigin, ")"); - _exit4 = true; - return _temp2; - }); - } - }, function (_result5) { - return _exit4 ? _result5 : origin; - }); // Make sure we still return useful information if we didn't find anything - }); -}); + if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) { + return "arrayBuffer"; + } + } -var remapSourcePosition = _async$b(function (_ref4) { - var source = _ref4.source, - line = _ref4.line, - column = _ref4.column, - resolveFile = _ref4.resolveFile, - urlToSourcemapConsumer = _ref4.urlToSourcemapConsumer, - readErrorStack = _ref4.readErrorStack, - onFailure = _ref4.onFailure; - var position = { - source: source, - line: line, - column: column - }; - var url = sourceToUrl(source, { - resolveFile: resolveFile + if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) { + return "searchParams"; + } + + return ""; +}; // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example + + +var getHeadersFromXHR = function getHeadersFromXHR(xhr) { + var headerMap = {}; + var headersString = xhr.getAllResponseHeaders(); + if (headersString === "") return headerMap; + var lines = headersString.trim().split(/[\r\n]+/); + lines.forEach(function (line) { + var parts = line.split(": "); + var name = parts.shift(); + var value = parts.join(": "); + headerMap[name.toLowerCase()] = value; }); - return url ? _await$b(urlToSourcemapConsumer(url), function (sourceMapConsumer) { - if (!sourceMapConsumer) return position; + return headerMap; +}; - try { - var originalPosition = sourceMapConsumer.originalPositionFor(position); // Only return the original position if a matching line was found. If no - // matching line is found then we return position instead, which will cause - // the stack trace to print the path and line for the compiled file. It is - // better to give a precise location in the compiled file than a vague - // location in the original file. +var hrefToOrigin = function hrefToOrigin(href) { + var scheme = hrefToScheme(href); - var originalSource = originalPosition.source; - if (originalSource === null) return position; - originalPosition.source = resolveFile(originalSource, url, { - type: "file-original" - }); - return originalPosition; - } catch (e) { - var _createDetailedMessag; + if (scheme === "file") { + return "file://"; + } - onFailure(createDetailedMessage("error while remapping position.", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, "error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag, "source", source), _defineProperty(_createDetailedMessag, "line", line), _defineProperty(_createDetailedMessag, "column", column), _createDetailedMessag))); - return position; - } - }) : position; -}); + if (scheme === "http" || scheme === "https") { + var secondProtocolSlashIndex = scheme.length + "://".length; + var pathnameSlashIndex = href.indexOf("/", secondProtocolSlashIndex); + if (pathnameSlashIndex === -1) return href; + return href.slice(0, pathnameSlashIndex); + } -var sourceToUrl = function sourceToUrl(source, _ref5) { - var resolveFile = _ref5.resolveFile; + return href.slice(0, scheme.length + 1); +}; - if (startsWithScheme(source)) { - return source; - } // linux filesystem path +var hrefToScheme = function hrefToScheme(href) { + var colonIndex = href.indexOf(":"); + if (colonIndex === -1) return ""; + return href.slice(0, colonIndex); +}; +var isDataView = function isDataView(obj) { + return obj && DataView.prototype.isPrototypeOf(obj); +}; - if (source[0] === "/") { - return resolveFile(source); - } // be careful, due to babel or something like that we might receive paths like - // C:/directory/file.js (without backslashes we would expect on windows) - // In that case we consider C: is the signe we are on windows - // And I avoid to rely on process.platform === "win32" because this file might be executed in chrome +var isArrayBufferView = ArrayBuffer.isView || function () { + var viewClasses = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"]; + return function (value) { + return value && viewClasses.includes(Object.prototype.toString.call(value)); + }; +}(); +var textToFormData = function textToFormData(text) { + var form = new FormData(); + text.trim().split("&").forEach(function (bytes) { + if (bytes) { + var split = bytes.split("="); + var name = split.shift().replace(/\+/g, " "); + var value = split.join("=").replace(/\+/g, " "); + form.append(decodeURIComponent(name), decodeURIComponent(value)); + } + }); + return form; +}; - if (startsWithWindowsDriveLetter(source)) { - return windowsFilePathToUrl(source); - } // I don't think we will ever encounter relative file in the stack trace - // but if it ever happens we are safe :) +var blobToArrayBuffer = _async$b(function (blob) { + var reader = new FileReader(); + var promise = fileReaderReady(reader); + reader.readAsArrayBuffer(blob); + return promise; +}); +var blobToText = function blobToText(blob) { + var reader = new FileReader(); + var promise = fileReaderReady(reader); + reader.readAsText(blob); + return promise; +}; - if (source.slice(0, 2) === "./" || source.slice(0, 3) === "../") { - return resolveFile(source); - } // we have received a "bare specifier" for the source - // it happens for internal/process/task_queues.js for instance - // if we do return resolveFile(source) it will be converted to - // file:///C:/project-directory/internal/process/task_queues.js in node - // and - // http://domain.com/internal/process/task_queues.js - // but the file will certainly be a 404 - // and if not it won't be the right file anyway - // for now we assume "bare specifier" in the stack trace - // are internal files that are pointless to try to remap +var arrayBufferToText = function arrayBufferToText(arrayBuffer) { + var view = new Uint8Array(arrayBuffer); + var chars = new Array(view.length); + var i = 0; + while (i < view.length) { + chars[i] = String.fromCharCode(view[i]); + i++; + } - return null; + return chars.join(""); }; -var startsWithScheme = function startsWithScheme(string) { - return /^[a-zA-Z]{2,}:/.test(string); +var fileReaderReady = function fileReaderReady(reader) { + return new Promise(function (resolve, reject) { + reader.onload = function () { + resolve(reader.result); + }; + + reader.onerror = function () { + reject(reader.error); + }; + }); +}; + +var cloneBuffer = function cloneBuffer(buffer) { + if (buffer.slice) { + return buffer.slice(0); + } + + var view = new Uint8Array(buffer.byteLength); + view.set(new Uint8Array(buffer)); + return view.buffer; }; +var _excluded = ["mode"]; + function _await$a(value, then, direct) { if (direct) { return then ? then(value) : value; @@ -610,232 +569,58 @@ function _async$a(f) { }; } -function _catch$4(body, recover) { - try { - var result = body(); - } catch (e) { - return recover(e); - } - - if (result && result.then) { - return result.then(void 0, recover); - } - - return result; -} - -function _invoke$5(body, then) { - var result = body(); - - if (result && result.then) { - return result.then(then); - } - - return then(result); -} +var fetchNative = _async$a(function (url) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; -function _continue$2(value, then) { - return value && value.then ? value.then(then) : then(value); -} + var _ref$mode = _ref.mode, + mode = _ref$mode === void 0 ? "cors" : _ref$mode, + options = _objectWithoutProperties(_ref, _excluded); -var getOriginalCallsites = _async$a(function (_ref) { - var stack = _ref.stack, - resolveFile = _ref.resolveFile, - fetchFile = _ref.fetchFile, - SourceMapConsumer = _ref.SourceMapConsumer, - readErrorStack = _ref.readErrorStack, - onFailure = _ref.onFailure; - var urlToSourcemapConsumer = memoizeByFirstArgStringValue(_async$a(function (stackTraceFileUrl) { - var _exit = false; - return stackTraceFileUrl.startsWith("node:") ? null : _catch$4(function () { - var text; - return _continue$2(_catch$4(function () { - return _await$a(fetchFile(stackTraceFileUrl), function (fileResponse) { - var status = fileResponse.status; - - if (status !== 200) { - if (status === 404) { - onFailure("stack trace file not found at ".concat(stackTraceFileUrl)); - } else { - var _createDetailedMessag; - - onFailure(createDetailedMessage("unexpected response fetching stack trace file.", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, "response status", status), _defineProperty(_createDetailedMessag, "response text", fileResponse.body), _defineProperty(_createDetailedMessag, "stack trace file", stackTraceFileUrl), _createDetailedMessag))); - } - - var _temp6 = null; - _exit = true; - return _temp6; - } - - return _await$a(fileResponse.text(), function (_fileResponse$text) { - text = _fileResponse$text; - }); - }); - }, function (e) { - var _createDetailedMessag2; - - onFailure(createDetailedMessage("error while fetching stack trace file.", (_createDetailedMessag2 = {}, _defineProperty(_createDetailedMessag2, "fetch error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag2, "stack trace file", stackTraceFileUrl), _createDetailedMessag2))); - var _temp2 = null; - _exit = true; - return _temp2; - }), function (_result) { - var _exit2 = false; - if (_exit) return _result; - var jsSourcemapUrl = getJavaScriptSourceMappingUrl(text); - - if (!jsSourcemapUrl) { - return null; - } - - var sourcemapUrl; - var sourcemapString; - return _invoke$5(function () { - if (jsSourcemapUrl.startsWith("data:")) { - sourcemapUrl = stackTraceFileUrl; - sourcemapString = dataUrlToRawData(parseDataUrl(jsSourcemapUrl)); - } else { - sourcemapUrl = resolveFile(jsSourcemapUrl, stackTraceFileUrl, { - type: "source-map" - }); - return _catch$4(function () { - return _await$a(fetchFile(sourcemapUrl), function (sourcemapResponse) { - var _exit3 = false; - var status = sourcemapResponse.status; - return _invoke$5(function () { - if (status !== 200) { - return _invoke$5(function () { - if (status === 404) { - onFailure("sourcemap file not found at ".concat(sourcemapUrl)); - } else { - var _temp7 = "unexpected response for sourcemap file."; - return _await$a(sourcemapResponse.text(), function (_sourcemapResponse$te) { - var _createDetailedMessag3; - - onFailure(createDetailedMessage(_temp7, (_createDetailedMessag3 = {}, _defineProperty(_createDetailedMessag3, "response status", status), _defineProperty(_createDetailedMessag3, "response text", _sourcemapResponse$te), _defineProperty(_createDetailedMessag3, "sourcemap url", sourcemapUrl), _createDetailedMessag3))); - }); - } - }, function () { - var _temp3 = null; - _exit2 = true; - return _temp3; - }); - } - }, function (_result3) { - return _exit3 ? _result3 : _await$a(sourcemapResponse.text(), function (_sourcemapResponse$te2) { - sourcemapString = _sourcemapResponse$te2; - }); - }); - }); - }, function (e) { - var _createDetailedMessag4; - - onFailure(createDetailedMessage("error while fetching sourcemap.", (_createDetailedMessag4 = {}, _defineProperty(_createDetailedMessag4, "fetch error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag4, "sourcemap url", sourcemapUrl), _createDetailedMessag4))); - var _temp4 = null; - _exit2 = true; - return _temp4; - }); - } - }, function (_result4) { - if (_exit2) return _result4; - var sourceMap; - - try { - sourceMap = JSON.parse(sourcemapString); - } catch (e) { - var _createDetailedMessag5; - - onFailure(createDetailedMessage("error while parsing sourcemap.", (_createDetailedMessag5 = {}, _defineProperty(_createDetailedMessag5, "parse error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag5, "sourcemap url", sourcemapUrl), _createDetailedMessag5))); - return null; - } - - var _sourceMap = sourceMap, - sourcesContent = _sourceMap.sourcesContent; - - if (!sourcesContent) { - sourcesContent = []; - sourceMap.sourcesContent = sourcesContent; - } - - var firstSourceMapSourceFailure = null; - return _await$a(Promise.all(sourceMap.sources.map(_async$a(function (source, index) { - if (index in sourcesContent) return; - var sourcemapSourceUrl = resolveFile(source, sourcemapUrl, { - type: "source" - }); - return _catch$4(function () { - return _await$a(fetchFile(sourcemapSourceUrl), function (sourceResponse) { - var _exit4 = false; - var status = sourceResponse.status; - return _invoke$5(function () { - if (status !== 200) { - if (firstSourceMapSourceFailure) { - _exit4 = true; - return; - } - - if (status === 404) { - var _createDetailedMessag6; - - firstSourceMapSourceFailure = createDetailedMessage("sourcemap source not found.", (_createDetailedMessag6 = {}, _defineProperty(_createDetailedMessag6, "sourcemap source url", sourcemapSourceUrl), _defineProperty(_createDetailedMessag6, "sourcemap url", sourcemapUrl), _createDetailedMessag6)); - _exit4 = true; - return; - } - - var _temp9 = "unexpected response for sourcemap source."; - return _await$a(sourceResponse.text(), function (_sourceResponse$text) { - var _createDetailedMessag7; - - firstSourceMapSourceFailure = createDetailedMessage(_temp9, (_createDetailedMessag7 = {}, _defineProperty(_createDetailedMessag7, "response status", status), _defineProperty(_createDetailedMessag7, "response text", _sourceResponse$text), _defineProperty(_createDetailedMessag7, "sourcemap source url", sourcemapSourceUrl), _defineProperty(_createDetailedMessag7, "sourcemap url", sourcemapUrl), _createDetailedMessag7)); - _exit4 = true; - }); - } - }, function (_result6) { - return _exit4 ? _result6 : _await$a(sourceResponse.text(), function (sourceString) { - sourcesContent[index] = sourceString; - }); - }); - }); - }, function (e) { - var _createDetailedMessag8; - - if (firstSourceMapSourceFailure) return; - firstSourceMapSourceFailure = createDetailedMessage("error while fetching sourcemap source.", (_createDetailedMessag8 = {}, _defineProperty(_createDetailedMessag8, "fetch error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag8, "sourcemap source url", sourcemapSourceUrl), _defineProperty(_createDetailedMessag8, "sourcemap url", sourcemapUrl), _createDetailedMessag8)); - }); - }))), function () { - if (firstSourceMapSourceFailure) { - onFailure(firstSourceMapSourceFailure); - return null; - } + return _await$a(window.fetch(url, _objectSpread2({ + mode: mode + }, options)), function (response) { + return { + url: response.url, + status: response.status, + statusText: "", + headers: responseToHeaders$1(response), + text: function text() { + return response.text(); + }, + json: function json() { + return response.json(); + }, + blob: function blob() { + return response.blob(); + }, + arrayBuffer: function arrayBuffer() { + return response.arrayBuffer(); + }, + formData: function formData() { + return response.formData(); + } + }; + }); +}); - return new SourceMapConsumer(sourceMap); - }); - }); - }); - }, function (e) { - var _createDetailedMessag9; +var responseToHeaders$1 = function responseToHeaders(response) { + var headers = {}; + response.headers.forEach(function (value, name) { + headers[name] = value; + }); + return headers; +}; - onFailure(createDetailedMessage("error while preparing a sourceMap consumer for a stack trace file.", (_createDetailedMessag9 = {}, _defineProperty(_createDetailedMessag9, "error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag9, "stack trace file", stackTraceFileUrl), _createDetailedMessag9))); - return null; - }); - })); - return Promise.all(stack.map(function (callSite) { - return remapCallSite(callSite, { - resolveFile: resolveFile, - urlToSourcemapConsumer: urlToSourcemapConsumer, - readErrorStack: readErrorStack, - onFailure: onFailure - }); - })); -}); +var fetchUrl = typeof window.fetch === "function" && typeof window.AbortController === "function" ? fetchNative : fetchUsingXHR; -var memoizeByFirstArgStringValue = function memoizeByFirstArgStringValue(fn) { - var stringValueCache = {}; - return function (firstArgValue) { - if (firstArgValue in stringValueCache) return stringValueCache[firstArgValue]; - var value = fn(firstArgValue); - stringValueCache[firstArgValue] = value; - return value; - }; +var createDetailedMessage = function createDetailedMessage(message) { + var details = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var string = "".concat(message); + Object.keys(details).forEach(function (key) { + var value = details[key]; + string += "\n--- ".concat(key, " ---\n").concat(Array.isArray(value) ? value.join("\n") : value); + }); + return string; }; function _await$9(value, then, direct) { @@ -850,30 +635,6 @@ function _await$9(value, then, direct) { return then ? value.then(then) : value; } -function _catch$3(body, recover) { - try { - var result = body(); - } catch (e) { - return recover(e); - } - - if (result && result.then) { - return result.then(void 0, recover); - } - - return result; -} - -function _invoke$4(body, then) { - var result = body(); - - if (result && result.then) { - return result.then(then); - } - - return then(result); -} - function _async$9(f) { return function () { for (var args = [], i = 0; i < arguments.length; i++) { @@ -888,2393 +649,2533 @@ function _async$9(f) { }; } -var installErrorStackRemapping = function installErrorStackRemapping(_ref) { - var fetchFile = _ref.fetchFile, - resolveFile = _ref.resolveFile, - SourceMapConsumer = _ref.SourceMapConsumer, - _ref$indent = _ref.indent, - indent = _ref$indent === void 0 ? " " : _ref$indent; - - if (typeof fetchFile !== "function") { - throw new TypeError("fetchFile must be a function, got ".concat(fetchFile)); - } +var fetchAndEval = _async$9(function (url) { + return _await$9(fetchUrl(url), function (response) { + return function () { + if (response.status >= 200 && response.status <= 299) { + return _await$9(response.text(), function (text) { + // eslint-disable-next-line no-eval + window.eval(appendSourceURL(text, url)); + }); + } else { + return _await$9(response.text(), function (text) { + var _createDetailedMessag; - if (typeof SourceMapConsumer !== "function") { - throw new TypeError("sourceMapConsumer must be a function, got ".concat(SourceMapConsumer)); - } + throw new Error(createDetailedMessage("Unexpected response for script.", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, "script url", url), _defineProperty(_createDetailedMessag, "response body", text), _defineProperty(_createDetailedMessag, "response status", response.status), _createDetailedMessag))); + }); + } + }(); + }); +}); - if (typeof indent !== "string") { - throw new TypeError("indent must be a string, got ".concat(indent)); +var appendSourceURL = function appendSourceURL(code, sourceURL) { + return "".concat(code, "\n", "//#", " sourceURL=").concat(sourceURL); +}; + +/* eslint-disable no-eq-null, eqeqeq */ +function arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + var arr2 = new Array(len); + + for (var i = 0; i < len; i++) { + arr2[i] = arr[i]; } - var errorRemappingCache = new WeakMap(); - var errorRemapFailureCallbackMap = new WeakMap(); - var installed = false; - var previousPrepareStackTrace = Error.prepareStackTrace; + return arr2; +} - var install = function install() { - if (installed) return; - installed = true; - Error.prepareStackTrace = prepareStackTrace; - }; +var arrayWithoutHoles = (function (arr) { + if (Array.isArray(arr)) return arrayLikeToArray(arr); +}); - var uninstall = function uninstall() { - if (!installed) return; - installed = false; - Error.prepareStackTrace = previousPrepareStackTrace; - }; // ensure we do not use prepareStackTrace for thoose error - // otherwise we would recursively remap error stack - // and if the reason causing the failure is still here - // it would create an infinite loop +function _iterableToArray(iter) { + if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); +} +/* eslint-disable consistent-return */ +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); +} - var readErrorStack = function readErrorStack(error) { - uninstall(); - var stack = error.stack; - install(); - return stack; - }; +var nonIterableSpread = (function () { + throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +}); - var prepareStackTrace = function prepareStackTrace(error, stack) { - var onFailure = function onFailure(failureData) { - var failureCallbackArray = errorRemapFailureCallbackMap.get(error); +var _toConsumableArray = (function (arr) { + return arrayWithoutHoles(arr) || _iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread(); +}); - if (failureCallbackArray) { - failureCallbackArray.forEach(function (callback) { - return callback(failureData); - }); - } - }; +// https://developer.mozilla.org/en-US/docs/Glossary/Primitive +var isComposite = function isComposite(value) { + if (value === null) { + return false; + } - var stackRemappingPromise = getOriginalCallsites({ - stack: stack, - error: error, - resolveFile: resolveFile, - fetchFile: memoizeFetch(fetchFile), - SourceMapConsumer: SourceMapConsumer, - readErrorStack: readErrorStack, - indent: indent, - onFailure: onFailure - }); - errorRemappingCache.set(error, stackRemappingPromise); - return stackToString(stack, { - error: error, - indent: indent - }); - }; + var type = _typeof(value); - var getErrorOriginalStackString = _async$9(function (error) { - var _exit = false; + if (type === "object") { + return true; + } - var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref2$onFailure = _ref2.onFailure, - onFailure = _ref2$onFailure === void 0 ? function (message) { - console.warn(message); - } : _ref2$onFailure; + if (type === "function") { + return true; + } - if (onFailure) { - var remapFailureCallbackArray = errorRemapFailureCallbackMap.get(error); + return false; +}; - if (remapFailureCallbackArray) { - errorRemapFailureCallbackMap.set(error, [].concat(_toConsumableArray(remapFailureCallbackArray), [onFailure])); - } else { - errorRemapFailureCallbackMap.set(error, [onFailure]); +var compositeWellKnownMap = new WeakMap(); +var primitiveWellKnownMap = new Map(); +var getCompositeGlobalPath = function getCompositeGlobalPath(value) { + return compositeWellKnownMap.get(value); +}; +var getPrimitiveGlobalPath = function getPrimitiveGlobalPath(value) { + return primitiveWellKnownMap.get(value); +}; + +var visitGlobalObject = function visitGlobalObject(value) { + var visitValue = function visitValue(value, path) { + if (isComposite(value)) { + // prevent infinite recursion + if (compositeWellKnownMap.has(value)) { + return; } - } // ensure Error.prepareStackTrace gets triggered by reading error.stack now + compositeWellKnownMap.set(value, path); - var stack = error.stack; - var promise = errorRemappingCache.get(error); - return _invoke$4(function () { - if (promise) { - return _catch$3(function () { - return _await$9(promise, function (originalCallsites) { - errorRemapFailureCallbackMap.get(error); - var firstCall = originalCallsites[0]; + var visitProperty = function visitProperty(property) { + var descriptor; - if (firstCall) { - Object.assign(error, { - filename: firstCall.getFileName(), - lineno: firstCall.getLineNumber(), - columnno: firstCall.getColumnNumber() - }); - } + try { + descriptor = Object.getOwnPropertyDescriptor(value, property); + } catch (e) { + if (e.name === "SecurityError") { + return; + } - var _stackToString = stackToString(originalCallsites, { - error: error, - indent: indent - }); + throw e; + } - _exit = true; - return _stackToString; - }); - }, function (e) { - var _createDetailedMessag; + if (!descriptor) { + // it's apparently possible to have getOwnPropertyNames returning + // a property that later returns a null descriptor + // for instance window.showModalDialog in webkit 13.0 + return; + } // do not trigger getter/setter - onFailure(createDetailedMessage("error while computing original stack.", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, "stack from error while computing", readErrorStack(e)), _defineProperty(_createDetailedMessag, "stack from error to remap", stack), _createDetailedMessag))); - _exit = true; - return stack; - }); - } - }, function (_result) { - return _exit ? _result : stack; - }); - }); - install(); - return { - getErrorOriginalStackString: getErrorOriginalStackString, - uninstall: uninstall - }; -}; + if ("value" in descriptor) { + var propertyValue = descriptor.value; + visitValue(propertyValue, [].concat(_toConsumableArray(path), [property])); + } + }; -var memoizeFetch = function memoizeFetch(fetchUrl) { - var urlCache = {}; - return _async$9(function (url) { - if (url in urlCache) { - return urlCache[url]; + Object.getOwnPropertyNames(value).forEach(function (name) { + return visitProperty(name); + }); + Object.getOwnPropertySymbols(value).forEach(function (symbol) { + return visitProperty(symbol); + }); } - var responsePromise = fetchUrl(url); - urlCache[url] = responsePromise; - return responsePromise; - }); + primitiveWellKnownMap.set(value, path); + return; + }; + + visitValue(value, []); }; -function _await$8(value, then, direct) { - if (direct) { - return then ? then(value) : value; - } +if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") visitGlobalObject(window); +if ((typeof global === "undefined" ? "undefined" : _typeof(global)) === "object") visitGlobalObject(global); - if (!value || !value.then) { - value = Promise.resolve(value); - } +var decompose = function decompose(mainValue, _ref) { + var functionAllowed = _ref.functionAllowed, + prototypeStrict = _ref.prototypeStrict, + ignoreSymbols = _ref.ignoreSymbols; + var valueMap = {}; + var recipeArray = []; - return then ? value.then(then) : value; -} + var valueToIdentifier = function valueToIdentifier(value) { + var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; -function _async$8(f) { - return function () { - for (var args = [], i = 0; i < arguments.length; i++) { - args[i] = arguments[i]; + if (!isComposite(value)) { + var _existingIdentifier = identifierForPrimitive(value); + + if (_existingIdentifier !== undefined) { + return _existingIdentifier; + } + + var _identifier = identifierForNewValue(value); + + recipeArray[_identifier] = primitiveToRecipe(value); + return _identifier; } - try { - return Promise.resolve(f.apply(this, args)); - } catch (e) { - return Promise.reject(e); + if (typeof Promise === "function" && value instanceof Promise) { + throw new Error(createPromiseAreNotSupportedMessage({ + path: path + })); } - }; -} -var installBrowserErrorStackRemapping = function installBrowserErrorStackRemapping() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - return installErrorStackRemapping(_objectSpread2({ - fetchFile: _async$8(function (url) { - // browser having Error.captureStackTrace got window.fetch - // and this executes only when Error.captureStackTrace exists - // so no need for polyfill or whatever here - return _await$8(window.fetch(url, { - // by default a script tag is in "no-cors" - // so we also fetch url with "no-cors" - mode: "no-cors" - }), function (response) { - // we read response test before anything because once memoized fetch - // gets annoying preventing you to read - // body multiple times, even using response.clone() - return _await$8(response.text(), function (_text) { - return { - status: response.status, - url: response.url, - statusText: response.statusText, - headers: responseToHeaders$1(response), - text: function text() { - return _text; - }, - json: response.json.bind(response), - blob: response.blob.bind(response), - arrayBuffer: response.arrayBuffer.bind(response) - }; - }); - }); - }), - resolveFile: function resolveFile(specifier) { - var importer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.href; - // browsers having Error.captureStrackTrace got window.URL - // and this executes only when Error.captureStackTrace exists - return String(new URL(specifier, importer)); + if (typeof WeakSet === "function" && value instanceof WeakSet) { + throw new Error(createWeakSetAreNotSupportedMessage({ + path: path + })); } - }, options)); -}; - -var responseToHeaders$1 = function responseToHeaders(response) { - var headers = {}; - response.headers.forEach(function (value, name) { - headers[name] = value; - }); - return headers; -}; -var objectWithoutPropertiesLoose = (function (source, excluded) { - if (source === null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key; - var i; + if (typeof WeakMap === "function" && value instanceof WeakMap) { + throw new Error(createWeakMapAreNotSupportedMessage({ + path: path + })); + } - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; - } + if (typeof value === "function" && !functionAllowed) { + throw new Error(createForbiddenFunctionMessage({ + path: path + })); + } - return target; -}); + var existingIdentifier = identifierForComposite(value); -var _objectWithoutProperties = (function (source, excluded) { - if (source === null) return {}; - var target = objectWithoutPropertiesLoose(source, excluded); - var key; - var i; + if (existingIdentifier !== undefined) { + return existingIdentifier; + } - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + var identifier = identifierForNewValue(value); + var compositeGlobalPath = getCompositeGlobalPath(value); - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; + if (compositeGlobalPath) { + recipeArray[identifier] = createGlobalReferenceRecipe(compositeGlobalPath); + return identifier; } - } - return target; -}); - -/* eslint-env browser */ -function _await$7(value, then, direct) { - if (direct) { - return then ? then(value) : value; - } + var propertyDescriptionArray = []; + Object.getOwnPropertyNames(value).forEach(function (propertyName) { + var propertyDescriptor = Object.getOwnPropertyDescriptor(value, propertyName); + var propertyNameIdentifier = valueToIdentifier(propertyName, [].concat(_toConsumableArray(path), [propertyName])); + var propertyDescription = computePropertyDescription(propertyDescriptor, propertyName, path); + propertyDescriptionArray.push({ + propertyNameIdentifier: propertyNameIdentifier, + propertyDescription: propertyDescription + }); + }); + var symbolDescriptionArray = []; - if (!value || !value.then) { - value = Promise.resolve(value); - } + if (!ignoreSymbols) { + Object.getOwnPropertySymbols(value).forEach(function (symbol) { + var propertyDescriptor = Object.getOwnPropertyDescriptor(value, symbol); + var symbolIdentifier = valueToIdentifier(symbol, [].concat(_toConsumableArray(path), ["[".concat(symbol.toString(), "]")])); + var propertyDescription = computePropertyDescription(propertyDescriptor, symbol, path); + symbolDescriptionArray.push({ + symbolIdentifier: symbolIdentifier, + propertyDescription: propertyDescription + }); + }); + } - return then ? value.then(then) : value; -} + var methodDescriptionArray = computeMethodDescriptionArray(value, path); + var extensible = Object.isExtensible(value); + recipeArray[identifier] = createCompositeRecipe({ + propertyDescriptionArray: propertyDescriptionArray, + symbolDescriptionArray: symbolDescriptionArray, + methodDescriptionArray: methodDescriptionArray, + extensible: extensible + }); + return identifier; + }; -function _async$7(f) { - return function () { - for (var args = [], i = 0; i < arguments.length; i++) { - args[i] = arguments[i]; + var computePropertyDescription = function computePropertyDescription(propertyDescriptor, propertyNameOrSymbol, path) { + if (propertyDescriptor.set && !functionAllowed) { + throw new Error(createForbiddenPropertySetterMessage({ + path: path, + propertyNameOrSymbol: propertyNameOrSymbol + })); } - try { - return Promise.resolve(f.apply(this, args)); - } catch (e) { - return Promise.reject(e); + if (propertyDescriptor.get && !functionAllowed) { + throw new Error(createForbiddenPropertyGetterMessage({ + path: path, + propertyNameOrSymbol: propertyNameOrSymbol + })); } - }; -} -function _call$1(body, then, direct) { - if (direct) { - return then ? then(body()) : body(); - } + return { + configurable: propertyDescriptor.configurable, + writable: propertyDescriptor.writable, + enumerable: propertyDescriptor.enumerable, + getIdentifier: "get" in propertyDescriptor ? valueToIdentifier(propertyDescriptor.get, [].concat(_toConsumableArray(path), [String(propertyNameOrSymbol), "[[descriptor:get]]"])) : undefined, + setIdentifier: "set" in propertyDescriptor ? valueToIdentifier(propertyDescriptor.set, [].concat(_toConsumableArray(path), [String(propertyNameOrSymbol), "[[descriptor:set]]"])) : undefined, + valueIdentifier: "value" in propertyDescriptor ? valueToIdentifier(propertyDescriptor.value, [].concat(_toConsumableArray(path), [String(propertyNameOrSymbol), "[[descriptor:value]]"])) : undefined + }; + }; - try { - var result = Promise.resolve(body()); - return then ? result.then(then) : result; - } catch (e) { - return Promise.reject(e); - } -} + var computeMethodDescriptionArray = function computeMethodDescriptionArray(value, path) { + var methodDescriptionArray = []; -var fetchUsingXHR = _async$7(function (url) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - signal = _ref.signal, - _ref$method = _ref.method, - method = _ref$method === void 0 ? "GET" : _ref$method, - _ref$credentials = _ref.credentials, - credentials = _ref$credentials === void 0 ? "same-origin" : _ref$credentials, - _ref$headers = _ref.headers, - headers = _ref$headers === void 0 ? {} : _ref$headers, - _ref$body = _ref.body, - body = _ref$body === void 0 ? null : _ref$body; + if (typeof Set === "function" && value instanceof Set) { + var callArray = []; + value.forEach(function (entryValue, index) { + var entryValueIdentifier = valueToIdentifier(entryValue, [].concat(_toConsumableArray(path), ["[[SetEntryValue]]", index])); + callArray.push([entryValueIdentifier]); + }); + methodDescriptionArray.push({ + methodNameIdentifier: valueToIdentifier("add"), + callArray: callArray + }); + } - var headersPromise = createPromiseAndHooks(); - var bodyPromise = createPromiseAndHooks(); - var xhr = new XMLHttpRequest(); + if (typeof Map === "function" && value instanceof Map) { + var _callArray = []; + value.forEach(function (entryValue, entryKey) { + var entryKeyIdentifier = valueToIdentifier(entryKey, [].concat(_toConsumableArray(path), ["[[MapEntryKey]]", entryKey])); + var entryValueIdentifier = valueToIdentifier(entryValue, [].concat(_toConsumableArray(path), ["[[MapEntryValue]]", entryValue])); - var failure = function failure(error) { - // if it was already resolved, we must reject the body promise - if (headersPromise.settled) { - bodyPromise.reject(error); - } else { - headersPromise.reject(error); + _callArray.push([entryKeyIdentifier, entryValueIdentifier]); + }); + methodDescriptionArray.push({ + methodNameIdentifier: valueToIdentifier("set"), + callArray: _callArray + }); } - }; - var cleanup = function cleanup() { - xhr.ontimeout = null; - xhr.onerror = null; - xhr.onload = null; - xhr.onreadystatechange = null; + return methodDescriptionArray; }; - xhr.ontimeout = function () { - cleanup(); - failure(new Error("xhr request timeout on ".concat(url, "."))); + var identifierForPrimitive = function identifierForPrimitive(value) { + return Object.keys(valueMap).find(function (existingIdentifier) { + var existingValue = valueMap[existingIdentifier]; + if (Object.is(value, existingValue)) return true; + return value === existingValue; + }); }; - xhr.onerror = function (error) { - cleanup(); // unfortunately with have no clue why it fails - // might be cors for instance - - failure(createRequestError(error, { - url: url - })); + var identifierForComposite = function identifierForComposite(value) { + return Object.keys(valueMap).find(function (existingIdentifier) { + var existingValue = valueMap[existingIdentifier]; + return value === existingValue; + }); }; - xhr.onload = function () { - cleanup(); - bodyPromise.resolve(); + var identifierForNewValue = function identifierForNewValue(value) { + var identifier = nextIdentifier(); + valueMap[identifier] = value; + return identifier; }; - signal.addEventListener("abort", function () { - xhr.abort(); - var abortError = new Error("aborted"); - abortError.name = "AbortError"; - failure(abortError); - }); - - xhr.onreadystatechange = function () { - // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState - var readyState = xhr.readyState; + var currentIdentifier = -1; - if (readyState === 2) { - headersPromise.resolve(); - } else if (readyState === 4) { - cleanup(); - bodyPromise.resolve(); - } + var nextIdentifier = function nextIdentifier() { + var identifier = String(parseInt(currentIdentifier) + 1); + currentIdentifier = identifier; + return identifier; }; - xhr.open(method, url, true); - Object.keys(headers).forEach(function (key) { - xhr.setRequestHeader(key, headers[key]); - }); - xhr.withCredentials = computeWithCredentials({ - credentials: credentials, - url: url - }); + var mainIdentifier = valueToIdentifier(mainValue); // prototype, important to keep after the whole structure was visited + // so that we discover if any prototype is part of the value - if ("responseType" in xhr && hasBlob) { - xhr.responseType = "blob"; - } + var prototypeValueToIdentifier = function prototypeValueToIdentifier(prototypeValue) { + // prototype is null + if (prototypeValue === null) { + return valueToIdentifier(prototypeValue); + } // prototype found somewhere already - xhr.send(body); - return _await$7(headersPromise, function () { - // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL - var responseUrl = "responseURL" in xhr ? xhr.responseURL : headers["x-request-url"]; - var responseStatus = xhr.status; - var responseStatusText = xhr.statusText; - var responseHeaders = getHeadersFromXHR(xhr); - var readBody = function readBody() { - return _await$7(bodyPromise, function () { - var status = xhr.status; // in Chrome on file:/// URLs, status is 0 + var prototypeExistingIdentifier = identifierForComposite(prototypeValue); - if (status === 0) { - responseStatus = 200; - } + if (prototypeExistingIdentifier !== undefined) { + return prototypeExistingIdentifier; + } // mark prototype as visited - var body = "response" in xhr ? xhr.response : xhr.responseText; - return { - responseBody: body, - responseBodyType: detectBodyType(body) - }; - }); - }; - var text = function text() { - return _call$1(readBody, function (_ref2) { - var responseBody = _ref2.responseBody, - responseBodyType = _ref2.responseBodyType; + var prototypeIdentifier = identifierForNewValue(prototypeValue); // prototype is a global reference ? - if (responseBodyType === "blob") { - return blobToText(responseBody); - } + var prototypeGlobalPath = getCompositeGlobalPath(prototypeValue); - if (responseBodyType === "formData") { - throw new Error("could not read FormData body as text"); - } + if (prototypeGlobalPath) { + recipeArray[prototypeIdentifier] = createGlobalReferenceRecipe(prototypeGlobalPath); + return prototypeIdentifier; + } // otherwise prototype is unknown - return responseBodyType === "dataView" ? arrayBufferToText(responseBody.buffer) : responseBodyType === "arrayBuffer" ? arrayBufferToText(responseBody) : String(responseBody); - }); - }; - var json = function json() { - return _call$1(text, JSON.parse); - }; + if (prototypeStrict) { + throw new Error(createUnknownPrototypeMessage({ + prototypeValue: prototypeValue + })); + } - var blob = _async$7(function () { - if (!hasBlob) { - throw new Error("blob not supported"); - } + return prototypeValueToIdentifier(Object.getPrototypeOf(prototypeValue)); + }; - return _call$1(readBody, function (_ref3) { - var responseBody = _ref3.responseBody, - responseBodyType = _ref3.responseBodyType; + var identifierForValueOf = function identifierForValueOf(value) { + var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; - if (responseBodyType === "blob") { - return responseBody; - } + if (value instanceof Array) { + return valueToIdentifier(value.length, [].concat(_toConsumableArray(path), ["length"])); + } - if (responseBodyType === "dataView") { - return new Blob([cloneBuffer(responseBody.buffer)]); - } + if ("valueOf" in value === false) { + return undefined; + } - if (responseBodyType === "arrayBuffer") { - return new Blob([cloneBuffer(responseBody)]); - } + if (typeof value.valueOf !== "function") { + return undefined; + } - if (responseBodyType === "formData") { - throw new Error("could not read FormData body as blob"); - } + var valueOfReturnValue = value.valueOf(); - return new Blob([String(responseBody)]); - }); - }); + if (!isComposite(valueOfReturnValue)) { + return valueToIdentifier(valueOfReturnValue, [].concat(_toConsumableArray(path), ["valueOf()"])); + } - var arrayBuffer = function arrayBuffer() { - return _call$1(readBody, function (_ref4) { - var responseBody = _ref4.responseBody, - responseBodyType = _ref4.responseBodyType; - return responseBodyType === "arrayBuffer" ? cloneBuffer(responseBody) : _call$1(blob, blobToArrayBuffer); - }); - }; + if (valueOfReturnValue === value) { + return undefined; + } - var formData = _async$7(function () { - if (!hasFormData) { - throw new Error("formData not supported"); + throw new Error(createUnexpectedValueOfReturnValueMessage()); + }; + + recipeArray.slice().forEach(function (recipe, index) { + if (recipe.type === "composite") { + var value = valueMap[index]; + + if (typeof value === "function") { + var valueOfIdentifier = nextIdentifier(); + recipeArray[valueOfIdentifier] = { + type: "primitive", + value: value + }; + recipe.valueOfIdentifier = valueOfIdentifier; + return; } - return _call$1(text, textToFormData); - }); + if (value instanceof RegExp) { + var _valueOfIdentifier = nextIdentifier(); - return { - url: responseUrl, - status: responseStatus, - statusText: responseStatusText, - headers: responseHeaders, - text: text, - json: json, - blob: blob, - arrayBuffer: arrayBuffer, - formData: formData - }; - }); -}); + recipeArray[_valueOfIdentifier] = { + type: "primitive", + value: value + }; + recipe.valueOfIdentifier = _valueOfIdentifier; + return; + } // valueOf, mandatory to uneval new Date(10) for instance. -var canUseBlob = function canUseBlob() { - if (typeof window.FileReader !== "function") return false; - if (typeof window.Blob !== "function") return false; - try { - // eslint-disable-next-line no-new - new Blob(); - return true; - } catch (e) { - return false; - } + recipe.valueOfIdentifier = identifierForValueOf(value); + var prototypeValue = Object.getPrototypeOf(value); + recipe.prototypeIdentifier = prototypeValueToIdentifier(prototypeValue); + } + }); + return { + recipeArray: recipeArray, + mainIdentifier: mainIdentifier, + valueMap: valueMap + }; }; -var hasBlob = canUseBlob(); -var hasFormData = typeof window.FormData === "function"; -var hasArrayBuffer = typeof window.ArrayBuffer === "function"; -var hasSearchParams = typeof window.URLSearchParams === "function"; +var primitiveToRecipe = function primitiveToRecipe(value) { + if (_typeof(value) === "symbol") { + return symbolToRecipe(value); + } -var createRequestError = function createRequestError(error, _ref5) { - var url = _ref5.url; - return new Error("error during xhr request on ".concat(url, ".\n--- error stack ---\n").concat(error.stack)); + return createPimitiveRecipe(value); }; -var createPromiseAndHooks = function createPromiseAndHooks() { - var resolve; - var reject; - var promise = new Promise(function (res, rej) { - resolve = function resolve(value) { - promise.settled = true; - res(value); - }; - - reject = function reject(value) { - promise.settled = true; - rej(value); - }; - }); - promise.resolve = resolve; - promise.reject = reject; - return promise; -}; // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch +var symbolToRecipe = function symbolToRecipe(symbol) { + var globalSymbolKey = Symbol.keyFor(symbol); + if (globalSymbolKey !== undefined) { + return createGlobalSymbolRecipe(globalSymbolKey); + } -var computeWithCredentials = function computeWithCredentials(_ref6) { - var credentials = _ref6.credentials, - url = _ref6.url; + var symbolGlobalPath = getPrimitiveGlobalPath(symbol); - if (credentials === "same-origin") { - return originSameAsGlobalOrigin(url); + if (!symbolGlobalPath) { + throw new Error(createUnknownSymbolMessage({ + symbol: symbol + })); } - return credentials === "include"; + return createGlobalReferenceRecipe(symbolGlobalPath); }; -var originSameAsGlobalOrigin = function originSameAsGlobalOrigin(url) { - // if we cannot read globalOrigin from window.location.origin, let's consider it's ok - if ((typeof window === "undefined" ? "undefined" : _typeof(window)) !== "object") return true; - if (_typeof(window.location) !== "object") return true; - var globalOrigin = window.location.origin; - if (globalOrigin === "null") return true; - return hrefToOrigin(url) === globalOrigin; +var createPimitiveRecipe = function createPimitiveRecipe(value) { + return { + type: "primitive", + value: value + }; }; -var detectBodyType = function detectBodyType(body) { - if (!body) { - return ""; - } - - if (typeof body === "string") { - return "text"; - } +var createGlobalReferenceRecipe = function createGlobalReferenceRecipe(path) { + var recipe = { + type: "global-reference", + path: path + }; + return recipe; +}; - if (hasBlob && Blob.prototype.isPrototypeOf(body)) { - return "blob"; - } +var createGlobalSymbolRecipe = function createGlobalSymbolRecipe(key) { + return { + type: "global-symbol", + key: key + }; +}; - if (hasFormData && FormData.prototype.isPrototypeOf(body)) { - return "formData"; - } +var createCompositeRecipe = function createCompositeRecipe(_ref2) { + var prototypeIdentifier = _ref2.prototypeIdentifier, + valueOfIdentifier = _ref2.valueOfIdentifier, + propertyDescriptionArray = _ref2.propertyDescriptionArray, + symbolDescriptionArray = _ref2.symbolDescriptionArray, + methodDescriptionArray = _ref2.methodDescriptionArray, + extensible = _ref2.extensible; + return { + type: "composite", + prototypeIdentifier: prototypeIdentifier, + valueOfIdentifier: valueOfIdentifier, + propertyDescriptionArray: propertyDescriptionArray, + symbolDescriptionArray: symbolDescriptionArray, + methodDescriptionArray: methodDescriptionArray, + extensible: extensible + }; +}; - if (hasArrayBuffer) { - if (hasBlob && isDataView(body)) { - return "dataView"; - } +var createPromiseAreNotSupportedMessage = function createPromiseAreNotSupportedMessage(_ref3) { + var path = _ref3.path; - if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) { - return "arrayBuffer"; - } + if (path.length === 0) { + return "promise are not supported."; } - if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) { - return "searchParams"; - } + return "promise are not supported.\npromise found at: ".concat(path.join("")); +}; - return ""; -}; // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example +var createWeakSetAreNotSupportedMessage = function createWeakSetAreNotSupportedMessage(_ref4) { + var path = _ref4.path; + if (path.length === 0) { + return "weakSet are not supported."; + } -var getHeadersFromXHR = function getHeadersFromXHR(xhr) { - var headerMap = {}; - var headersString = xhr.getAllResponseHeaders(); - if (headersString === "") return headerMap; - var lines = headersString.trim().split(/[\r\n]+/); - lines.forEach(function (line) { - var parts = line.split(": "); - var name = parts.shift(); - var value = parts.join(": "); - headerMap[name.toLowerCase()] = value; - }); - return headerMap; + return "weakSet are not supported.\nweakSet found at: ".concat(path.join("")); }; -var hrefToOrigin = function hrefToOrigin(href) { - var scheme = hrefToScheme(href); +var createWeakMapAreNotSupportedMessage = function createWeakMapAreNotSupportedMessage(_ref5) { + var path = _ref5.path; - if (scheme === "file") { - return "file://"; + if (path.length === 0) { + return "weakMap are not supported."; } - if (scheme === "http" || scheme === "https") { - var secondProtocolSlashIndex = scheme.length + "://".length; - var pathnameSlashIndex = href.indexOf("/", secondProtocolSlashIndex); - if (pathnameSlashIndex === -1) return href; - return href.slice(0, pathnameSlashIndex); + return "weakMap are not supported.\nweakMap found at: ".concat(path.join("")); +}; + +var createForbiddenFunctionMessage = function createForbiddenFunctionMessage(_ref6) { + var path = _ref6.path; + + if (path.length === 0) { + return "function are not allowed."; } - return href.slice(0, scheme.length + 1); + return "function are not allowed.\nfunction found at: ".concat(path.join("")); }; -var hrefToScheme = function hrefToScheme(href) { - var colonIndex = href.indexOf(":"); - if (colonIndex === -1) return ""; - return href.slice(0, colonIndex); +var createForbiddenPropertyGetterMessage = function createForbiddenPropertyGetterMessage(_ref7) { + var path = _ref7.path, + propertyNameOrSymbol = _ref7.propertyNameOrSymbol; + return "property getter are not allowed.\ngetter found on property: ".concat(String(propertyNameOrSymbol), "\nat: ").concat(path.join("")); }; -var isDataView = function isDataView(obj) { - return obj && DataView.prototype.isPrototypeOf(obj); +var createForbiddenPropertySetterMessage = function createForbiddenPropertySetterMessage(_ref8) { + var path = _ref8.path, + propertyNameOrSymbol = _ref8.propertyNameOrSymbol; + return "property setter are not allowed.\nsetter found on property: ".concat(String(propertyNameOrSymbol), "\nat: ").concat(path.join("")); }; -var isArrayBufferView = ArrayBuffer.isView || function () { - var viewClasses = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"]; - return function (value) { - return value && viewClasses.includes(Object.prototype.toString.call(value)); - }; -}(); - -var textToFormData = function textToFormData(text) { - var form = new FormData(); - text.trim().split("&").forEach(function (bytes) { - if (bytes) { - var split = bytes.split("="); - var name = split.shift().replace(/\+/g, " "); - var value = split.join("=").replace(/\+/g, " "); - form.append(decodeURIComponent(name), decodeURIComponent(value)); - } - }); - return form; +var createUnexpectedValueOfReturnValueMessage = function createUnexpectedValueOfReturnValueMessage() { + return "valueOf() must return a primitive of the object itself."; }; -var blobToArrayBuffer = _async$7(function (blob) { - var reader = new FileReader(); - var promise = fileReaderReady(reader); - reader.readAsArrayBuffer(blob); - return promise; -}); +var createUnknownSymbolMessage = function createUnknownSymbolMessage(_ref9) { + var symbol = _ref9.symbol; + return "symbol must be global, like Symbol.iterator, or created using Symbol.for().\nsymbol: ".concat(symbol.toString()); +}; -var blobToText = function blobToText(blob) { - var reader = new FileReader(); - var promise = fileReaderReady(reader); - reader.readAsText(blob); - return promise; +var createUnknownPrototypeMessage = function createUnknownPrototypeMessage(_ref10) { + var prototypeValue = _ref10.prototypeValue; + return "prototype must be global, like Object.prototype, or somewhere in the value.\nprototype constructor name: ".concat(prototypeValue.constructor.name); }; -var arrayBufferToText = function arrayBufferToText(arrayBuffer) { - var view = new Uint8Array(arrayBuffer); - var chars = new Array(view.length); - var i = 0; +// be carefull because this function is mutating recipe objects inside the recipeArray. +// this is not an issue because each recipe object is not accessible from the outside +// when used internally by uneval +var sortRecipe = function sortRecipe(recipeArray) { + var findInRecipePrototypeChain = function findInRecipePrototypeChain(recipe, callback) { + var currentRecipe = recipe; // eslint-disable-next-line no-constant-condition - while (i < view.length) { - chars[i] = String.fromCharCode(view[i]); - i++; - } + while (true) { + if (currentRecipe.type !== "composite") { + break; + } - return chars.join(""); -}; + var prototypeIdentifier = currentRecipe.prototypeIdentifier; -var fileReaderReady = function fileReaderReady(reader) { - return new Promise(function (resolve, reject) { - reader.onload = function () { - resolve(reader.result); - }; + if (prototypeIdentifier === undefined) { + break; + } - reader.onerror = function () { - reject(reader.error); - }; - }); -}; + currentRecipe = recipeArray[prototypeIdentifier]; -var cloneBuffer = function cloneBuffer(buffer) { - if (buffer.slice) { - return buffer.slice(0); - } + if (callback(currentRecipe, prototypeIdentifier)) { + return prototypeIdentifier; + } + } - var view = new Uint8Array(buffer.byteLength); - view.set(new Uint8Array(buffer)); - return view.buffer; -}; + return undefined; + }; -var _excluded = ["mode"]; + var recipeArrayOrdered = recipeArray.slice(); + recipeArrayOrdered.sort(function (leftRecipe, rightRecipe) { + var leftType = leftRecipe.type; + var rightType = rightRecipe.type; -function _await$6(value, then, direct) { - if (direct) { - return then ? then(value) : value; - } + if (leftType === "composite" && rightType === "composite") { + var rightRecipeIsInLeftRecipePrototypeChain = findInRecipePrototypeChain(leftRecipe, function (recipeCandidate) { + return recipeCandidate === rightRecipe; + }); // if left recipe requires right recipe, left must be after right - if (!value || !value.then) { - value = Promise.resolve(value); - } + if (rightRecipeIsInLeftRecipePrototypeChain) { + return 1; + } - return then ? value.then(then) : value; -} + var leftRecipeIsInRightRecipePrototypeChain = findInRecipePrototypeChain(rightRecipe, function (recipeCandidate) { + return recipeCandidate === leftRecipe; + }); // if right recipe requires left recipe, right must be after left -function _async$6(f) { - return function () { - for (var args = [], i = 0; i < arguments.length; i++) { - args[i] = arguments[i]; + if (leftRecipeIsInRightRecipePrototypeChain) { + return -1; + } } - try { - return Promise.resolve(f.apply(this, args)); - } catch (e) { - return Promise.reject(e); + if (leftType !== rightType) { + // if left is a composite, left must be after right + if (leftType === "composite") { + return 1; + } // if right is a composite, right must be after left + + + if (rightType === "composite") { + return -1; + } } - }; -} -var fetchNative = _async$6(function (url) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var leftIndex = recipeArray.indexOf(leftRecipe); + var rightIndex = recipeArray.indexOf(rightRecipe); // left was before right, don't change that - var _ref$mode = _ref.mode, - mode = _ref$mode === void 0 ? "cors" : _ref$mode, - options = _objectWithoutProperties(_ref, _excluded); + if (leftIndex < rightIndex) { + return -1; + } // right was after left, don't change that - return _await$6(window.fetch(url, _objectSpread2({ - mode: mode - }, options)), function (response) { - return { - url: response.url, - status: response.status, - statusText: "", - headers: responseToHeaders(response), - text: function text() { - return response.text(); - }, - json: function json() { - return response.json(); - }, - blob: function blob() { - return response.blob(); - }, - arrayBuffer: function arrayBuffer() { - return response.arrayBuffer(); - }, - formData: function formData() { - return response.formData(); - } - }; - }); -}); -var responseToHeaders = function responseToHeaders(response) { - var headers = {}; - response.headers.forEach(function (value, name) { - headers[name] = value; + return 1; }); - return headers; + return recipeArrayOrdered; }; -var fetchUrl = typeof window.fetch === "function" && typeof window.AbortController === "function" ? fetchNative : fetchUsingXHR; - -function _await$5(value, then, direct) { - if (direct) { - return then ? then(value) : value; - } - - if (!value || !value.then) { - value = Promise.resolve(value); - } - - return then ? value.then(then) : value; -} +// https://github.com/joliss/js-string-escape/blob/master/index.js +// http://javascript.crockford.com/remedial.html +var escapeString = function escapeString(value) { + var string = String(value); + var i = 0; + var j = string.length; + var escapedString = ""; -function _async$5(f) { - return function () { - for (var args = [], i = 0; i < arguments.length; i++) { - args[i] = arguments[i]; - } + while (i < j) { + var char = string[i]; + var escapedChar = void 0; - try { - return Promise.resolve(f.apply(this, args)); - } catch (e) { - return Promise.reject(e); + if (char === '"' || char === "'" || char === "\\") { + escapedChar = "\\".concat(char); + } else if (char === "\n") { + escapedChar = "\\n"; + } else if (char === "\r") { + escapedChar = "\\r"; + } else if (char === "\u2028") { + escapedChar = "\\u2028"; + } else if (char === "\u2029") { + escapedChar = "\\u2029"; + } else { + escapedChar = char; } - }; -} - -var fetchAndEvalUsingFetch = _async$5(function (url) { - return _await$5(fetchUrl(url), function (response) { - return function () { - if (response.status >= 200 && response.status <= 299) { - return _await$5(response.text(), function (text) { - // eslint-disable-next-line no-eval - window.eval(appendSourceURL(text, url)); - }); - } else { - return _await$5(response.text(), function (text) { - var _createDetailedMessag; - - throw new Error(createDetailedMessage("Unexpected response for script.", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, "script url", url), _defineProperty(_createDetailedMessag, "response body", text), _defineProperty(_createDetailedMessag, "response status", response.status), _createDetailedMessag))); - }); - } - }(); - }); -}); - -var appendSourceURL = function appendSourceURL(code, sourceURL) { - return "".concat(code, "\n", "//#", " sourceURL=").concat(sourceURL); -}; - -// https://developer.mozilla.org/en-US/docs/Glossary/Primitive -var isComposite = function isComposite(value) { - if (value === null) { - return false; - } - - var type = _typeof(value); - - if (type === "object") { - return true; - } - if (type === "function") { - return true; + escapedString += escapedChar; + i++; } - return false; + return escapedString; }; -var compositeWellKnownMap = new WeakMap(); -var primitiveWellKnownMap = new Map(); -var getCompositeGlobalPath = function getCompositeGlobalPath(value) { - return compositeWellKnownMap.get(value); -}; -var getPrimitiveGlobalPath = function getPrimitiveGlobalPath(value) { - return primitiveWellKnownMap.get(value); -}; +var uneval = function uneval(value) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$functionAllowed = _ref.functionAllowed, + functionAllowed = _ref$functionAllowed === void 0 ? false : _ref$functionAllowed, + _ref$prototypeStrict = _ref.prototypeStrict, + prototypeStrict = _ref$prototypeStrict === void 0 ? false : _ref$prototypeStrict, + _ref$ignoreSymbols = _ref.ignoreSymbols, + ignoreSymbols = _ref$ignoreSymbols === void 0 ? false : _ref$ignoreSymbols; -var visitGlobalObject = function visitGlobalObject(value) { - var visitValue = function visitValue(value, path) { - if (isComposite(value)) { - // prevent infinite recursion - if (compositeWellKnownMap.has(value)) { - return; - } + var _decompose = decompose(value, { + functionAllowed: functionAllowed, + prototypeStrict: prototypeStrict, + ignoreSymbols: ignoreSymbols + }), + recipeArray = _decompose.recipeArray, + mainIdentifier = _decompose.mainIdentifier, + valueMap = _decompose.valueMap; - compositeWellKnownMap.set(value, path); + var recipeArraySorted = sortRecipe(recipeArray); + var source = "(function () {\nvar globalObject\ntry {\n globalObject = Function('return this')() || (42, eval)('this');\n} catch(e) {\n globalObject = window;\n}\n\nfunction safeDefineProperty(object, propertyNameOrSymbol, descriptor) {\n var currentDescriptor = Object.getOwnPropertyDescriptor(object, propertyNameOrSymbol);\n if (currentDescriptor && !currentDescriptor.configurable) return\n Object.defineProperty(object, propertyNameOrSymbol, descriptor)\n};\n"; + var variableNameMap = {}; + recipeArray.forEach(function (recipe, index) { + var indexSorted = recipeArraySorted.indexOf(recipe); + variableNameMap[index] = "_".concat(indexSorted); + }); - var visitProperty = function visitProperty(property) { - var descriptor; + var identifierToVariableName = function identifierToVariableName(identifier) { + return variableNameMap[identifier]; + }; - try { - descriptor = Object.getOwnPropertyDescriptor(value, property); - } catch (e) { - if (e.name === "SecurityError") { - return; - } + var recipeToSetupSource = function recipeToSetupSource(recipe) { + if (recipe.type === "primitive") return primitiveRecipeToSetupSource(recipe); + if (recipe.type === "global-symbol") return globalSymbolRecipeToSetupSource(recipe); + if (recipe.type === "global-reference") return globalReferenceRecipeToSetupSource(recipe); + return compositeRecipeToSetupSource(recipe); + }; - throw e; - } + var primitiveRecipeToSetupSource = function primitiveRecipeToSetupSource(_ref2) { + var value = _ref2.value; - if (!descriptor) { - // it's apparently possible to have getOwnPropertyNames returning - // a property that later returns a null descriptor - // for instance window.showModalDialog in webkit 13.0 - return; - } // do not trigger getter/setter + var type = _typeof(value); + if (type === "string") { + return "\"".concat(escapeString(value), "\";"); + } - if ("value" in descriptor) { - var propertyValue = descriptor.value; - visitValue(propertyValue, [].concat(_toConsumableArray(path), [property])); - } - }; + if (type === "bigint") { + return "".concat(value.toString(), "n"); + } - Object.getOwnPropertyNames(value).forEach(function (name) { - return visitProperty(name); - }); - Object.getOwnPropertySymbols(value).forEach(function (symbol) { - return visitProperty(symbol); - }); + if (Object.is(value, -0)) { + return "-0;"; } - primitiveWellKnownMap.set(value, path); - return; + return "".concat(String(value), ";"); }; - visitValue(value, []); -}; + var globalSymbolRecipeToSetupSource = function globalSymbolRecipeToSetupSource(recipe) { + return "Symbol.for(\"".concat(escapeString(recipe.key), "\");"); + }; -if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") visitGlobalObject(window); -if ((typeof global === "undefined" ? "undefined" : _typeof(global)) === "object") visitGlobalObject(global); + var globalReferenceRecipeToSetupSource = function globalReferenceRecipeToSetupSource(recipe) { + var pathSource = recipe.path.map(function (part) { + return "[\"".concat(escapeString(part), "\"]"); + }).join(""); + return "globalObject".concat(pathSource, ";"); + }; -var decompose = function decompose(mainValue, _ref) { - var functionAllowed = _ref.functionAllowed, - prototypeStrict = _ref.prototypeStrict, - ignoreSymbols = _ref.ignoreSymbols; - var valueMap = {}; - var recipeArray = []; + var compositeRecipeToSetupSource = function compositeRecipeToSetupSource(_ref3) { + var prototypeIdentifier = _ref3.prototypeIdentifier, + valueOfIdentifier = _ref3.valueOfIdentifier; - var valueToIdentifier = function valueToIdentifier(value) { - var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + if (prototypeIdentifier === undefined) { + return identifierToVariableName(valueOfIdentifier); + } - if (!isComposite(value)) { - var _existingIdentifier = identifierForPrimitive(value); + var prototypeValue = valueMap[prototypeIdentifier]; - if (_existingIdentifier !== undefined) { - return _existingIdentifier; - } + if (prototypeValue === null) { + return "Object.create(null);"; + } - var _identifier = identifierForNewValue(value); + var prototypeConstructor = prototypeValue.constructor; - recipeArray[_identifier] = primitiveToRecipe(value); - return _identifier; + if (prototypeConstructor === Object) { + return "Object.create(".concat(identifierToVariableName(prototypeIdentifier), ");"); } - if (typeof Promise === "function" && value instanceof Promise) { - throw new Error(createPromiseAreNotSupportedMessage({ - path: path - })); + if (valueOfIdentifier === undefined) { + return "new ".concat(prototypeConstructor.name, "();"); } - if (typeof WeakSet === "function" && value instanceof WeakSet) { - throw new Error(createWeakSetAreNotSupportedMessage({ - path: path - })); + if (prototypeConstructor.name === "BigInt") { + return "Object(".concat(identifierToVariableName(valueOfIdentifier), ")"); } - if (typeof WeakMap === "function" && value instanceof WeakMap) { - throw new Error(createWeakMapAreNotSupportedMessage({ - path: path - })); - } - - if (typeof value === "function" && !functionAllowed) { - throw new Error(createForbiddenFunctionMessage({ - path: path - })); - } + return "new ".concat(prototypeConstructor.name, "(").concat(identifierToVariableName(valueOfIdentifier), ");"); + }; - var existingIdentifier = identifierForComposite(value); + recipeArraySorted.forEach(function (recipe) { + var recipeVariableName = identifierToVariableName(recipeArray.indexOf(recipe)); + source += "var ".concat(recipeVariableName, " = ").concat(recipeToSetupSource(recipe), "\n"); + }); - if (existingIdentifier !== undefined) { - return existingIdentifier; + var recipeToMutateSource = function recipeToMutateSource(recipe, recipeVariableName) { + if (recipe.type === "composite") { + return compositeRecipeToMutateSource(recipe, recipeVariableName); } - var identifier = identifierForNewValue(value); - var compositeGlobalPath = getCompositeGlobalPath(value); - - if (compositeGlobalPath) { - recipeArray[identifier] = createGlobalReferenceRecipe(compositeGlobalPath); - return identifier; - } + return ""; + }; - var propertyDescriptionArray = []; - Object.getOwnPropertyNames(value).forEach(function (propertyName) { - var propertyDescriptor = Object.getOwnPropertyDescriptor(value, propertyName); - var propertyNameIdentifier = valueToIdentifier(propertyName, [].concat(_toConsumableArray(path), [propertyName])); - var propertyDescription = computePropertyDescription(propertyDescriptor, propertyName, path); - propertyDescriptionArray.push({ - propertyNameIdentifier: propertyNameIdentifier, - propertyDescription: propertyDescription - }); + var compositeRecipeToMutateSource = function compositeRecipeToMutateSource(_ref4, recipeVariableName) { + var propertyDescriptionArray = _ref4.propertyDescriptionArray, + symbolDescriptionArray = _ref4.symbolDescriptionArray, + methodDescriptionArray = _ref4.methodDescriptionArray, + extensible = _ref4.extensible; + var mutateSource = ""; + propertyDescriptionArray.forEach(function (_ref5) { + var propertyNameIdentifier = _ref5.propertyNameIdentifier, + propertyDescription = _ref5.propertyDescription; + mutateSource += generateDefinePropertySource(recipeVariableName, propertyNameIdentifier, propertyDescription); }); - var symbolDescriptionArray = []; - - if (!ignoreSymbols) { - Object.getOwnPropertySymbols(value).forEach(function (symbol) { - var propertyDescriptor = Object.getOwnPropertyDescriptor(value, symbol); - var symbolIdentifier = valueToIdentifier(symbol, [].concat(_toConsumableArray(path), ["[".concat(symbol.toString(), "]")])); - var propertyDescription = computePropertyDescription(propertyDescriptor, symbol, path); - symbolDescriptionArray.push({ - symbolIdentifier: symbolIdentifier, - propertyDescription: propertyDescription - }); - }); - } - - var methodDescriptionArray = computeMethodDescriptionArray(value, path); - var extensible = Object.isExtensible(value); - recipeArray[identifier] = createCompositeRecipe({ - propertyDescriptionArray: propertyDescriptionArray, - symbolDescriptionArray: symbolDescriptionArray, - methodDescriptionArray: methodDescriptionArray, - extensible: extensible + symbolDescriptionArray.forEach(function (_ref6) { + var symbolIdentifier = _ref6.symbolIdentifier, + propertyDescription = _ref6.propertyDescription; + mutateSource += generateDefinePropertySource(recipeVariableName, symbolIdentifier, propertyDescription); + }); + methodDescriptionArray.forEach(function (_ref7) { + var methodNameIdentifier = _ref7.methodNameIdentifier, + callArray = _ref7.callArray; + mutateSource += generateMethodCallSource(recipeVariableName, methodNameIdentifier, callArray); }); - return identifier; - }; - - var computePropertyDescription = function computePropertyDescription(propertyDescriptor, propertyNameOrSymbol, path) { - if (propertyDescriptor.set && !functionAllowed) { - throw new Error(createForbiddenPropertySetterMessage({ - path: path, - propertyNameOrSymbol: propertyNameOrSymbol - })); - } - if (propertyDescriptor.get && !functionAllowed) { - throw new Error(createForbiddenPropertyGetterMessage({ - path: path, - propertyNameOrSymbol: propertyNameOrSymbol - })); + if (!extensible) { + mutateSource += generatePreventExtensionSource(recipeVariableName); } - return { - configurable: propertyDescriptor.configurable, - writable: propertyDescriptor.writable, - enumerable: propertyDescriptor.enumerable, - getIdentifier: "get" in propertyDescriptor ? valueToIdentifier(propertyDescriptor.get, [].concat(_toConsumableArray(path), [String(propertyNameOrSymbol), "[[descriptor:get]]"])) : undefined, - setIdentifier: "set" in propertyDescriptor ? valueToIdentifier(propertyDescriptor.set, [].concat(_toConsumableArray(path), [String(propertyNameOrSymbol), "[[descriptor:set]]"])) : undefined, - valueIdentifier: "value" in propertyDescriptor ? valueToIdentifier(propertyDescriptor.value, [].concat(_toConsumableArray(path), [String(propertyNameOrSymbol), "[[descriptor:value]]"])) : undefined - }; + return mutateSource; }; - var computeMethodDescriptionArray = function computeMethodDescriptionArray(value, path) { - var methodDescriptionArray = []; - - if (typeof Set === "function" && value instanceof Set) { - var callArray = []; - value.forEach(function (entryValue, index) { - var entryValueIdentifier = valueToIdentifier(entryValue, [].concat(_toConsumableArray(path), ["[[SetEntryValue]]", index])); - callArray.push([entryValueIdentifier]); - }); - methodDescriptionArray.push({ - methodNameIdentifier: valueToIdentifier("add"), - callArray: callArray - }); - } + var generateDefinePropertySource = function generateDefinePropertySource(recipeVariableName, propertyNameOrSymbolIdentifier, propertyDescription) { + var propertyOrSymbolVariableName = identifierToVariableName(propertyNameOrSymbolIdentifier); + var propertyDescriptorSource = generatePropertyDescriptorSource(propertyDescription); + return "safeDefineProperty(".concat(recipeVariableName, ", ").concat(propertyOrSymbolVariableName, ", ").concat(propertyDescriptorSource, ");"); + }; - if (typeof Map === "function" && value instanceof Map) { - var _callArray = []; - value.forEach(function (entryValue, entryKey) { - var entryKeyIdentifier = valueToIdentifier(entryKey, [].concat(_toConsumableArray(path), ["[[MapEntryKey]]", entryKey])); - var entryValueIdentifier = valueToIdentifier(entryValue, [].concat(_toConsumableArray(path), ["[[MapEntryValue]]", entryValue])); + var generatePropertyDescriptorSource = function generatePropertyDescriptorSource(_ref8) { + var configurable = _ref8.configurable, + writable = _ref8.writable, + enumerable = _ref8.enumerable, + getIdentifier = _ref8.getIdentifier, + setIdentifier = _ref8.setIdentifier, + valueIdentifier = _ref8.valueIdentifier; - _callArray.push([entryKeyIdentifier, entryValueIdentifier]); - }); - methodDescriptionArray.push({ - methodNameIdentifier: valueToIdentifier("set"), - callArray: _callArray - }); + if (valueIdentifier === undefined) { + return "{\n configurable: ".concat(configurable, ",\n enumerable: ").concat(enumerable, ",\n get: ").concat(getIdentifier === undefined ? undefined : identifierToVariableName(getIdentifier), ",\n set: ").concat(setIdentifier === undefined ? undefined : identifierToVariableName(setIdentifier), ",\n}"); } - return methodDescriptionArray; - }; - - var identifierForPrimitive = function identifierForPrimitive(value) { - return Object.keys(valueMap).find(function (existingIdentifier) { - var existingValue = valueMap[existingIdentifier]; - if (Object.is(value, existingValue)) return true; - return value === existingValue; - }); + return "{\n configurable: ".concat(configurable, ",\n writable: ").concat(writable, ",\n enumerable: ").concat(enumerable, ",\n value: ").concat(valueIdentifier === undefined ? undefined : identifierToVariableName(valueIdentifier), "\n}"); }; - var identifierForComposite = function identifierForComposite(value) { - return Object.keys(valueMap).find(function (existingIdentifier) { - var existingValue = valueMap[existingIdentifier]; - return value === existingValue; + var generateMethodCallSource = function generateMethodCallSource(recipeVariableName, methodNameIdentifier, callArray) { + var methodCallSource = ""; + var methodVariableName = identifierToVariableName(methodNameIdentifier); + callArray.forEach(function (argumentIdentifiers) { + var argumentVariableNames = argumentIdentifiers.map(function (argumentIdentifier) { + return identifierToVariableName(argumentIdentifier); + }); + methodCallSource += "".concat(recipeVariableName, "[").concat(methodVariableName, "](").concat(argumentVariableNames.join(","), ");"); }); + return methodCallSource; }; - var identifierForNewValue = function identifierForNewValue(value) { - var identifier = nextIdentifier(); - valueMap[identifier] = value; - return identifier; + var generatePreventExtensionSource = function generatePreventExtensionSource(recipeVariableName) { + return "Object.preventExtensions(".concat(recipeVariableName, ");"); }; - var currentIdentifier = -1; + recipeArraySorted.forEach(function (recipe) { + var recipeVariableName = identifierToVariableName(recipeArray.indexOf(recipe)); + source += "".concat(recipeToMutateSource(recipe, recipeVariableName)); + }); + source += "return ".concat(identifierToVariableName(mainIdentifier), "; })()"); + return source; +}; - var nextIdentifier = function nextIdentifier() { - var identifier = String(parseInt(currentIdentifier) + 1); - currentIdentifier = identifier; - return identifier; - }; +var unevalException = function unevalException(value) { + if (value && value.hasOwnProperty("toString")) { + delete value.toString; + } - var mainIdentifier = valueToIdentifier(mainValue); // prototype, important to keep after the whole structure was visited - // so that we discover if any prototype is part of the value + return uneval(value, { + ignoreSymbols: true + }); +}; - var prototypeValueToIdentifier = function prototypeValueToIdentifier(prototypeValue) { - // prototype is null - if (prototypeValue === null) { - return valueToIdentifier(prototypeValue); - } // prototype found somewhere already +var memoize = function memoize(compute) { + var memoized = false; + var memoizedValue; + var fnWithMemoization = function fnWithMemoization() { + if (memoized) { + return memoizedValue; + } // if compute is recursive wait for it to be fully done before storing the lockValue + // so set locked later - var prototypeExistingIdentifier = identifierForComposite(prototypeValue); - if (prototypeExistingIdentifier !== undefined) { - return prototypeExistingIdentifier; - } // mark prototype as visited + memoizedValue = compute.apply(void 0, arguments); + memoized = true; + return memoizedValue; + }; + fnWithMemoization.forget = function () { + var value = memoizedValue; + memoized = false; + memoizedValue = undefined; + return value; + }; - var prototypeIdentifier = identifierForNewValue(prototypeValue); // prototype is a global reference ? + return fnWithMemoization; +}; - var prototypeGlobalPath = getCompositeGlobalPath(prototypeValue); +var assertImportMap = function assertImportMap(value) { + if (value === null) { + throw new TypeError("an importMap must be an object, got null"); + } - if (prototypeGlobalPath) { - recipeArray[prototypeIdentifier] = createGlobalReferenceRecipe(prototypeGlobalPath); - return prototypeIdentifier; - } // otherwise prototype is unknown + var type = _typeof(value); + if (type !== "object") { + throw new TypeError("an importMap must be an object, received ".concat(value)); + } - if (prototypeStrict) { - throw new Error(createUnknownPrototypeMessage({ - prototypeValue: prototypeValue - })); - } + if (Array.isArray(value)) { + throw new TypeError("an importMap must be an object, received array ".concat(value)); + } +}; - return prototypeValueToIdentifier(Object.getPrototypeOf(prototypeValue)); - }; +var hasScheme = function hasScheme(string) { + return /^[a-zA-Z]{2,}:/.test(string); +}; - var identifierForValueOf = function identifierForValueOf(value) { - var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; - - if (value instanceof Array) { - return valueToIdentifier(value.length, [].concat(_toConsumableArray(path), ["length"])); - } - - if ("valueOf" in value === false) { - return undefined; - } - - if (typeof value.valueOf !== "function") { - return undefined; - } +var urlToScheme = function urlToScheme(urlString) { + var colonIndex = urlString.indexOf(":"); + if (colonIndex === -1) return ""; + return urlString.slice(0, colonIndex); +}; - var valueOfReturnValue = value.valueOf(); +var urlToPathname$1 = function urlToPathname(urlString) { + return ressourceToPathname(urlToRessource(urlString)); +}; - if (!isComposite(valueOfReturnValue)) { - return valueToIdentifier(valueOfReturnValue, [].concat(_toConsumableArray(path), ["valueOf()"])); - } +var urlToRessource = function urlToRessource(urlString) { + var scheme = urlToScheme(urlString); - if (valueOfReturnValue === value) { - return undefined; - } + if (scheme === "file") { + return urlString.slice("file://".length); + } - throw new Error(createUnexpectedValueOfReturnValueMessage()); - }; + if (scheme === "https" || scheme === "http") { + // remove origin + var afterProtocol = urlString.slice(scheme.length + "://".length); + var pathnameSlashIndex = afterProtocol.indexOf("/", "://".length); + return afterProtocol.slice(pathnameSlashIndex); + } - recipeArray.slice().forEach(function (recipe, index) { - if (recipe.type === "composite") { - var value = valueMap[index]; + return urlString.slice(scheme.length + 1); +}; - if (typeof value === "function") { - var valueOfIdentifier = nextIdentifier(); - recipeArray[valueOfIdentifier] = { - type: "primitive", - value: value - }; - recipe.valueOfIdentifier = valueOfIdentifier; - return; - } +var ressourceToPathname = function ressourceToPathname(ressource) { + var searchSeparatorIndex = ressource.indexOf("?"); + return searchSeparatorIndex === -1 ? ressource : ressource.slice(0, searchSeparatorIndex); +}; - if (value instanceof RegExp) { - var _valueOfIdentifier = nextIdentifier(); +var urlToOrigin = function urlToOrigin(urlString) { + var scheme = urlToScheme(urlString); - recipeArray[_valueOfIdentifier] = { - type: "primitive", - value: value - }; - recipe.valueOfIdentifier = _valueOfIdentifier; - return; - } // valueOf, mandatory to uneval new Date(10) for instance. + if (scheme === "file") { + return "file://"; + } + if (scheme === "http" || scheme === "https") { + var secondProtocolSlashIndex = scheme.length + "://".length; + var pathnameSlashIndex = urlString.indexOf("/", secondProtocolSlashIndex); + if (pathnameSlashIndex === -1) return urlString; + return urlString.slice(0, pathnameSlashIndex); + } - recipe.valueOfIdentifier = identifierForValueOf(value); - var prototypeValue = Object.getPrototypeOf(value); - recipe.prototypeIdentifier = prototypeValueToIdentifier(prototypeValue); - } - }); - return { - recipeArray: recipeArray, - mainIdentifier: mainIdentifier, - valueMap: valueMap - }; + return urlString.slice(0, scheme.length + 1); }; -var primitiveToRecipe = function primitiveToRecipe(value) { - if (_typeof(value) === "symbol") { - return symbolToRecipe(value); +var pathnameToParentPathname = function pathnameToParentPathname(pathname) { + var slashLastIndex = pathname.lastIndexOf("/"); + + if (slashLastIndex === -1) { + return "/"; } - return createPimitiveRecipe(value); + return pathname.slice(0, slashLastIndex + 1); }; -var symbolToRecipe = function symbolToRecipe(symbol) { - var globalSymbolKey = Symbol.keyFor(symbol); +// could be useful: https://url.spec.whatwg.org/#url-miscellaneous +var resolveUrl = function resolveUrl(specifier, baseUrl) { + if (baseUrl) { + if (typeof baseUrl !== "string") { + throw new TypeError(writeBaseUrlMustBeAString({ + baseUrl: baseUrl, + specifier: specifier + })); + } - if (globalSymbolKey !== undefined) { - return createGlobalSymbolRecipe(globalSymbolKey); + if (!hasScheme(baseUrl)) { + throw new Error(writeBaseUrlMustBeAbsolute({ + baseUrl: baseUrl, + specifier: specifier + })); + } } - var symbolGlobalPath = getPrimitiveGlobalPath(symbol); + if (hasScheme(specifier)) { + return specifier; + } - if (!symbolGlobalPath) { - throw new Error(createUnknownSymbolMessage({ - symbol: symbol + if (!baseUrl) { + throw new Error(writeBaseUrlRequired({ + baseUrl: baseUrl, + specifier: specifier })); - } + } // scheme relative - return createGlobalReferenceRecipe(symbolGlobalPath); -}; -var createPimitiveRecipe = function createPimitiveRecipe(value) { - return { - type: "primitive", - value: value - }; -}; + if (specifier.slice(0, 2) === "//") { + return "".concat(urlToScheme(baseUrl), ":").concat(specifier); + } // origin relative -var createGlobalReferenceRecipe = function createGlobalReferenceRecipe(path) { - var recipe = { - type: "global-reference", - path: path - }; - return recipe; -}; -var createGlobalSymbolRecipe = function createGlobalSymbolRecipe(key) { - return { - type: "global-symbol", - key: key - }; -}; + if (specifier[0] === "/") { + return "".concat(urlToOrigin(baseUrl)).concat(specifier); + } -var createCompositeRecipe = function createCompositeRecipe(_ref2) { - var prototypeIdentifier = _ref2.prototypeIdentifier, - valueOfIdentifier = _ref2.valueOfIdentifier, - propertyDescriptionArray = _ref2.propertyDescriptionArray, - symbolDescriptionArray = _ref2.symbolDescriptionArray, - methodDescriptionArray = _ref2.methodDescriptionArray, - extensible = _ref2.extensible; - return { - type: "composite", - prototypeIdentifier: prototypeIdentifier, - valueOfIdentifier: valueOfIdentifier, - propertyDescriptionArray: propertyDescriptionArray, - symbolDescriptionArray: symbolDescriptionArray, - methodDescriptionArray: methodDescriptionArray, - extensible: extensible - }; -}; + var baseOrigin = urlToOrigin(baseUrl); + var basePathname = urlToPathname$1(baseUrl); -var createPromiseAreNotSupportedMessage = function createPromiseAreNotSupportedMessage(_ref3) { - var path = _ref3.path; + if (specifier === ".") { + var baseDirectoryPathname = pathnameToParentPathname(basePathname); + return "".concat(baseOrigin).concat(baseDirectoryPathname); + } // pathname relative inside - if (path.length === 0) { - return "promise are not supported."; - } - return "promise are not supported.\npromise found at: ".concat(path.join("")); -}; + if (specifier.slice(0, 2) === "./") { + var _baseDirectoryPathname = pathnameToParentPathname(basePathname); -var createWeakSetAreNotSupportedMessage = function createWeakSetAreNotSupportedMessage(_ref4) { - var path = _ref4.path; + return "".concat(baseOrigin).concat(_baseDirectoryPathname).concat(specifier.slice(2)); + } // pathname relative outside - if (path.length === 0) { - return "weakSet are not supported."; - } - return "weakSet are not supported.\nweakSet found at: ".concat(path.join("")); -}; + if (specifier.slice(0, 3) === "../") { + var unresolvedPathname = specifier; + var importerFolders = basePathname.split("/"); + importerFolders.pop(); -var createWeakMapAreNotSupportedMessage = function createWeakMapAreNotSupportedMessage(_ref5) { - var path = _ref5.path; + while (unresolvedPathname.slice(0, 3) === "../") { + unresolvedPathname = unresolvedPathname.slice(3); // when there is no folder left to resolved + // we just ignore '../' - if (path.length === 0) { - return "weakMap are not supported."; - } + if (importerFolders.length) { + importerFolders.pop(); + } + } - return "weakMap are not supported.\nweakMap found at: ".concat(path.join("")); -}; + var resolvedPathname = "".concat(importerFolders.join("/"), "/").concat(unresolvedPathname); + return "".concat(baseOrigin).concat(resolvedPathname); + } // bare -var createForbiddenFunctionMessage = function createForbiddenFunctionMessage(_ref6) { - var path = _ref6.path; - if (path.length === 0) { - return "function are not allowed."; + if (basePathname === "") { + return "".concat(baseOrigin, "/").concat(specifier); } - return "function are not allowed.\nfunction found at: ".concat(path.join("")); + if (basePathname[basePathname.length] === "/") { + return "".concat(baseOrigin).concat(basePathname).concat(specifier); + } + + return "".concat(baseOrigin).concat(pathnameToParentPathname(basePathname)).concat(specifier); }; -var createForbiddenPropertyGetterMessage = function createForbiddenPropertyGetterMessage(_ref7) { - var path = _ref7.path, - propertyNameOrSymbol = _ref7.propertyNameOrSymbol; - return "property getter are not allowed.\ngetter found on property: ".concat(String(propertyNameOrSymbol), "\nat: ").concat(path.join("")); +var writeBaseUrlMustBeAString = function writeBaseUrlMustBeAString(_ref) { + var baseUrl = _ref.baseUrl, + specifier = _ref.specifier; + return "baseUrl must be a string.\n--- base url ---\n".concat(baseUrl, "\n--- specifier ---\n").concat(specifier); }; -var createForbiddenPropertySetterMessage = function createForbiddenPropertySetterMessage(_ref8) { - var path = _ref8.path, - propertyNameOrSymbol = _ref8.propertyNameOrSymbol; - return "property setter are not allowed.\nsetter found on property: ".concat(String(propertyNameOrSymbol), "\nat: ").concat(path.join("")); +var writeBaseUrlMustBeAbsolute = function writeBaseUrlMustBeAbsolute(_ref2) { + var baseUrl = _ref2.baseUrl, + specifier = _ref2.specifier; + return "baseUrl must be absolute.\n--- base url ---\n".concat(baseUrl, "\n--- specifier ---\n").concat(specifier); }; -var createUnexpectedValueOfReturnValueMessage = function createUnexpectedValueOfReturnValueMessage() { - return "valueOf() must return a primitive of the object itself."; +var writeBaseUrlRequired = function writeBaseUrlRequired(_ref3) { + var baseUrl = _ref3.baseUrl, + specifier = _ref3.specifier; + return "baseUrl required to resolve relative specifier.\n--- base url ---\n".concat(baseUrl, "\n--- specifier ---\n").concat(specifier); }; -var createUnknownSymbolMessage = function createUnknownSymbolMessage(_ref9) { - var symbol = _ref9.symbol; - return "symbol must be global, like Symbol.iterator, or created using Symbol.for().\nsymbol: ".concat(symbol.toString()); +var tryUrlResolution = function tryUrlResolution(string, url) { + var result = resolveUrl(string, url); + return hasScheme(result) ? result : null; }; -var createUnknownPrototypeMessage = function createUnknownPrototypeMessage(_ref10) { - var prototypeValue = _ref10.prototypeValue; - return "prototype must be global, like Object.prototype, or somewhere in the value.\nprototype constructor name: ".concat(prototypeValue.constructor.name); -}; +var resolveSpecifier = function resolveSpecifier(specifier, importer) { + if (specifier === "." || specifier[0] === "/" || specifier.startsWith("./") || specifier.startsWith("../")) { + return resolveUrl(specifier, importer); + } -// be carefull because this function is mutating recipe objects inside the recipeArray. -// this is not an issue because each recipe object is not accessible from the outside -// when used internally by uneval -var sortRecipe = function sortRecipe(recipeArray) { - var findInRecipePrototypeChain = function findInRecipePrototypeChain(recipe, callback) { - var currentRecipe = recipe; // eslint-disable-next-line no-constant-condition + if (hasScheme(specifier)) { + return specifier; + } - while (true) { - if (currentRecipe.type !== "composite") { - break; - } + return null; +}; - var prototypeIdentifier = currentRecipe.prototypeIdentifier; +var sortImports = function sortImports(imports) { + var mappingsSorted = {}; + Object.keys(imports).sort(compareLengthOrLocaleCompare).forEach(function (name) { + mappingsSorted[name] = imports[name]; + }); + return mappingsSorted; +}; +var sortScopes = function sortScopes(scopes) { + var scopesSorted = {}; + Object.keys(scopes).sort(compareLengthOrLocaleCompare).forEach(function (scopeSpecifier) { + scopesSorted[scopeSpecifier] = sortImports(scopes[scopeSpecifier]); + }); + return scopesSorted; +}; - if (prototypeIdentifier === undefined) { - break; - } +var compareLengthOrLocaleCompare = function compareLengthOrLocaleCompare(a, b) { + return b.length - a.length || a.localeCompare(b); +}; - currentRecipe = recipeArray[prototypeIdentifier]; +var normalizeImportMap = function normalizeImportMap(importMap, baseUrl) { + assertImportMap(importMap); - if (callback(currentRecipe, prototypeIdentifier)) { - return prototypeIdentifier; - } - } + if (!isStringOrUrl(baseUrl)) { + throw new TypeError(formulateBaseUrlMustBeStringOrUrl({ + baseUrl: baseUrl + })); + } - return undefined; + var imports = importMap.imports, + scopes = importMap.scopes; + return { + imports: imports ? normalizeMappings(imports, baseUrl) : undefined, + scopes: scopes ? normalizeScopes(scopes, baseUrl) : undefined }; +}; - var recipeArrayOrdered = recipeArray.slice(); - recipeArrayOrdered.sort(function (leftRecipe, rightRecipe) { - var leftType = leftRecipe.type; - var rightType = rightRecipe.type; +var isStringOrUrl = function isStringOrUrl(value) { + if (typeof value === "string") { + return true; + } - if (leftType === "composite" && rightType === "composite") { - var rightRecipeIsInLeftRecipePrototypeChain = findInRecipePrototypeChain(leftRecipe, function (recipeCandidate) { - return recipeCandidate === rightRecipe; - }); // if left recipe requires right recipe, left must be after right + if (typeof URL === "function" && value instanceof URL) { + return true; + } - if (rightRecipeIsInLeftRecipePrototypeChain) { - return 1; - } + return false; +}; - var leftRecipeIsInRightRecipePrototypeChain = findInRecipePrototypeChain(rightRecipe, function (recipeCandidate) { - return recipeCandidate === leftRecipe; - }); // if right recipe requires left recipe, right must be after left +var normalizeMappings = function normalizeMappings(mappings, baseUrl) { + var mappingsNormalized = {}; + Object.keys(mappings).forEach(function (specifier) { + var address = mappings[specifier]; - if (leftRecipeIsInRightRecipePrototypeChain) { - return -1; - } + if (typeof address !== "string") { + console.warn(formulateAddressMustBeAString({ + address: address, + specifier: specifier + })); + return; } - if (leftType !== rightType) { - // if left is a composite, left must be after right - if (leftType === "composite") { - return 1; - } // if right is a composite, right must be after left - + var specifierResolved = resolveSpecifier(specifier, baseUrl) || specifier; + var addressUrl = tryUrlResolution(address, baseUrl); - if (rightType === "composite") { - return -1; - } + if (addressUrl === null) { + console.warn(formulateAdressResolutionFailed({ + address: address, + baseUrl: baseUrl, + specifier: specifier + })); + return; } - var leftIndex = recipeArray.indexOf(leftRecipe); - var rightIndex = recipeArray.indexOf(rightRecipe); // left was before right, don't change that - - if (leftIndex < rightIndex) { - return -1; - } // right was after left, don't change that - + if (specifier.endsWith("/") && !addressUrl.endsWith("/")) { + console.warn(formulateAddressUrlRequiresTrailingSlash({ + addressUrl: addressUrl, + address: address, + specifier: specifier + })); + return; + } - return 1; + mappingsNormalized[specifierResolved] = addressUrl; }); - return recipeArrayOrdered; + return sortImports(mappingsNormalized); }; -// https://github.com/joliss/js-string-escape/blob/master/index.js -// http://javascript.crockford.com/remedial.html -var escapeString = function escapeString(value) { - var string = String(value); - var i = 0; - var j = string.length; - var escapedString = ""; - - while (i < j) { - var char = string[i]; - var escapedChar = void 0; +var normalizeScopes = function normalizeScopes(scopes, baseUrl) { + var scopesNormalized = {}; + Object.keys(scopes).forEach(function (scopeSpecifier) { + var scopeMappings = scopes[scopeSpecifier]; + var scopeUrl = tryUrlResolution(scopeSpecifier, baseUrl); - if (char === '"' || char === "'" || char === "\\") { - escapedChar = "\\".concat(char); - } else if (char === "\n") { - escapedChar = "\\n"; - } else if (char === "\r") { - escapedChar = "\\r"; - } else if (char === "\u2028") { - escapedChar = "\\u2028"; - } else if (char === "\u2029") { - escapedChar = "\\u2029"; - } else { - escapedChar = char; + if (scopeUrl === null) { + console.warn(formulateScopeResolutionFailed({ + scope: scopeSpecifier, + baseUrl: baseUrl + })); + return; } - escapedString += escapedChar; - i++; - } + var scopeValueNormalized = normalizeMappings(scopeMappings, baseUrl); + scopesNormalized[scopeUrl] = scopeValueNormalized; + }); + return sortScopes(scopesNormalized); +}; - return escapedString; +var formulateBaseUrlMustBeStringOrUrl = function formulateBaseUrlMustBeStringOrUrl(_ref) { + var baseUrl = _ref.baseUrl; + return "baseUrl must be a string or an url.\n--- base url ---\n".concat(baseUrl); }; -var uneval = function uneval(value) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$functionAllowed = _ref.functionAllowed, - functionAllowed = _ref$functionAllowed === void 0 ? false : _ref$functionAllowed, - _ref$prototypeStrict = _ref.prototypeStrict, - prototypeStrict = _ref$prototypeStrict === void 0 ? false : _ref$prototypeStrict, - _ref$ignoreSymbols = _ref.ignoreSymbols, - ignoreSymbols = _ref$ignoreSymbols === void 0 ? false : _ref$ignoreSymbols; +var formulateAddressMustBeAString = function formulateAddressMustBeAString(_ref2) { + var specifier = _ref2.specifier, + address = _ref2.address; + return "Address must be a string.\n--- address ---\n".concat(address, "\n--- specifier ---\n").concat(specifier); +}; - var _decompose = decompose(value, { - functionAllowed: functionAllowed, - prototypeStrict: prototypeStrict, - ignoreSymbols: ignoreSymbols - }), - recipeArray = _decompose.recipeArray, - mainIdentifier = _decompose.mainIdentifier, - valueMap = _decompose.valueMap; +var formulateAdressResolutionFailed = function formulateAdressResolutionFailed(_ref3) { + var address = _ref3.address, + baseUrl = _ref3.baseUrl, + specifier = _ref3.specifier; + return "Address url resolution failed.\n--- address ---\n".concat(address, "\n--- base url ---\n").concat(baseUrl, "\n--- specifier ---\n").concat(specifier); +}; - var recipeArraySorted = sortRecipe(recipeArray); - var source = "(function () {\nvar globalObject\ntry {\n globalObject = Function('return this')() || (42, eval)('this');\n} catch(e) {\n globalObject = window;\n}\n\nfunction safeDefineProperty(object, propertyNameOrSymbol, descriptor) {\n var currentDescriptor = Object.getOwnPropertyDescriptor(object, propertyNameOrSymbol);\n if (currentDescriptor && !currentDescriptor.configurable) return\n Object.defineProperty(object, propertyNameOrSymbol, descriptor)\n};\n"; - var variableNameMap = {}; - recipeArray.forEach(function (recipe, index) { - var indexSorted = recipeArraySorted.indexOf(recipe); - variableNameMap[index] = "_".concat(indexSorted); - }); +var formulateAddressUrlRequiresTrailingSlash = function formulateAddressUrlRequiresTrailingSlash(_ref4) { + var addressURL = _ref4.addressURL, + address = _ref4.address, + specifier = _ref4.specifier; + return "Address must end with /.\n--- address url ---\n".concat(addressURL, "\n--- address ---\n").concat(address, "\n--- specifier ---\n").concat(specifier); +}; - var identifierToVariableName = function identifierToVariableName(identifier) { - return variableNameMap[identifier]; - }; +var formulateScopeResolutionFailed = function formulateScopeResolutionFailed(_ref5) { + var scope = _ref5.scope, + baseUrl = _ref5.baseUrl; + return "Scope url resolution failed.\n--- scope ---\n".concat(scope, "\n--- base url ---\n").concat(baseUrl); +}; - var recipeToSetupSource = function recipeToSetupSource(recipe) { - if (recipe.type === "primitive") return primitiveRecipeToSetupSource(recipe); - if (recipe.type === "global-symbol") return globalSymbolRecipeToSetupSource(recipe); - if (recipe.type === "global-reference") return globalReferenceRecipeToSetupSource(recipe); - return compositeRecipeToSetupSource(recipe); - }; +var pathnameToExtension$1 = function pathnameToExtension(pathname) { + var slashLastIndex = pathname.lastIndexOf("/"); - var primitiveRecipeToSetupSource = function primitiveRecipeToSetupSource(_ref2) { - var value = _ref2.value; + if (slashLastIndex !== -1) { + pathname = pathname.slice(slashLastIndex + 1); + } - var type = _typeof(value); + var dotLastIndex = pathname.lastIndexOf("."); + if (dotLastIndex === -1) return ""; // if (dotLastIndex === pathname.length - 1) return "" - if (type === "string") { - return "\"".concat(escapeString(value), "\";"); - } + return pathname.slice(dotLastIndex); +}; - if (type === "bigint") { - return "".concat(value.toString(), "n"); - } +var applyImportMap = function applyImportMap(_ref) { + var importMap = _ref.importMap, + specifier = _ref.specifier, + importer = _ref.importer, + _ref$createBareSpecif = _ref.createBareSpecifierError, + createBareSpecifierError = _ref$createBareSpecif === void 0 ? function (_ref2) { + var specifier = _ref2.specifier, + importer = _ref2.importer; + return new Error(createDetailedMessage("Unmapped bare specifier.", { + specifier: specifier, + importer: importer + })); + } : _ref$createBareSpecif, + _ref$onImportMapping = _ref.onImportMapping, + onImportMapping = _ref$onImportMapping === void 0 ? function () {} : _ref$onImportMapping; + assertImportMap(importMap); - if (Object.is(value, -0)) { - return "-0;"; + if (typeof specifier !== "string") { + throw new TypeError(createDetailedMessage("specifier must be a string.", { + specifier: specifier, + importer: importer + })); + } + + if (importer) { + if (typeof importer !== "string") { + throw new TypeError(createDetailedMessage("importer must be a string.", { + importer: importer, + specifier: specifier + })); } - return "".concat(String(value), ";"); - }; + if (!hasScheme(importer)) { + throw new Error(createDetailedMessage("importer must be an absolute url.", { + importer: importer, + specifier: specifier + })); + } + } - var globalSymbolRecipeToSetupSource = function globalSymbolRecipeToSetupSource(recipe) { - return "Symbol.for(\"".concat(escapeString(recipe.key), "\");"); - }; + var specifierUrl = resolveSpecifier(specifier, importer); + var specifierNormalized = specifierUrl || specifier; + var scopes = importMap.scopes; - var globalReferenceRecipeToSetupSource = function globalReferenceRecipeToSetupSource(recipe) { - var pathSource = recipe.path.map(function (part) { - return "[\"".concat(escapeString(part), "\"]"); - }).join(""); - return "globalObject".concat(pathSource, ";"); - }; + if (scopes && importer) { + var scopeSpecifierMatching = Object.keys(scopes).find(function (scopeSpecifier) { + return scopeSpecifier === importer || specifierIsPrefixOf(scopeSpecifier, importer); + }); - var compositeRecipeToSetupSource = function compositeRecipeToSetupSource(_ref3) { - var prototypeIdentifier = _ref3.prototypeIdentifier, - valueOfIdentifier = _ref3.valueOfIdentifier; + if (scopeSpecifierMatching) { + var scopeMappings = scopes[scopeSpecifierMatching]; + var mappingFromScopes = applyMappings(scopeMappings, specifierNormalized, scopeSpecifierMatching, onImportMapping); - if (prototypeIdentifier === undefined) { - return identifierToVariableName(valueOfIdentifier); + if (mappingFromScopes !== null) { + return mappingFromScopes; + } } + } - var prototypeValue = valueMap[prototypeIdentifier]; + var imports = importMap.imports; - if (prototypeValue === null) { - return "Object.create(null);"; + if (imports) { + var mappingFromImports = applyMappings(imports, specifierNormalized, undefined, onImportMapping); + + if (mappingFromImports !== null) { + return mappingFromImports; } + } - var prototypeConstructor = prototypeValue.constructor; + if (specifierUrl) { + return specifierUrl; + } - if (prototypeConstructor === Object) { - return "Object.create(".concat(identifierToVariableName(prototypeIdentifier), ");"); - } + throw createBareSpecifierError({ + specifier: specifier, + importer: importer + }); +}; - if (valueOfIdentifier === undefined) { - return "new ".concat(prototypeConstructor.name, "();"); - } +var applyMappings = function applyMappings(mappings, specifierNormalized, scope, onImportMapping) { + var specifierCandidates = Object.keys(mappings); + var i = 0; - if (prototypeConstructor.name === "BigInt") { - return "Object(".concat(identifierToVariableName(valueOfIdentifier), ")"); + while (i < specifierCandidates.length) { + var specifierCandidate = specifierCandidates[i]; + i++; + + if (specifierCandidate === specifierNormalized) { + var address = mappings[specifierCandidate]; + onImportMapping({ + scope: scope, + from: specifierCandidate, + to: address, + before: specifierNormalized, + after: address + }); + return address; } - return "new ".concat(prototypeConstructor.name, "(").concat(identifierToVariableName(valueOfIdentifier), ");"); - }; + if (specifierIsPrefixOf(specifierCandidate, specifierNormalized)) { + var _address = mappings[specifierCandidate]; + var afterSpecifier = specifierNormalized.slice(specifierCandidate.length); + var addressFinal = tryUrlResolution(afterSpecifier, _address); + onImportMapping({ + scope: scope, + from: specifierCandidate, + to: _address, + before: specifierNormalized, + after: addressFinal + }); + return addressFinal; + } + } - recipeArraySorted.forEach(function (recipe) { - var recipeVariableName = identifierToVariableName(recipeArray.indexOf(recipe)); - source += "var ".concat(recipeVariableName, " = ").concat(recipeToSetupSource(recipe), "\n"); - }); + return null; +}; - var recipeToMutateSource = function recipeToMutateSource(recipe, recipeVariableName) { - if (recipe.type === "composite") { - return compositeRecipeToMutateSource(recipe, recipeVariableName); - } +var specifierIsPrefixOf = function specifierIsPrefixOf(specifierHref, href) { + return specifierHref[specifierHref.length - 1] === "/" && href.startsWith(specifierHref); +}; - return ""; - }; +var resolveImport = function resolveImport(_ref) { + var specifier = _ref.specifier, + importer = _ref.importer, + importMap = _ref.importMap, + _ref$defaultExtension = _ref.defaultExtension, + defaultExtension = _ref$defaultExtension === void 0 ? false : _ref$defaultExtension, + createBareSpecifierError = _ref.createBareSpecifierError, + _ref$onImportMapping = _ref.onImportMapping, + onImportMapping = _ref$onImportMapping === void 0 ? function () {} : _ref$onImportMapping; + var url; - var compositeRecipeToMutateSource = function compositeRecipeToMutateSource(_ref4, recipeVariableName) { - var propertyDescriptionArray = _ref4.propertyDescriptionArray, - symbolDescriptionArray = _ref4.symbolDescriptionArray, - methodDescriptionArray = _ref4.methodDescriptionArray, - extensible = _ref4.extensible; - var mutateSource = ""; - propertyDescriptionArray.forEach(function (_ref5) { - var propertyNameIdentifier = _ref5.propertyNameIdentifier, - propertyDescription = _ref5.propertyDescription; - mutateSource += generateDefinePropertySource(recipeVariableName, propertyNameIdentifier, propertyDescription); - }); - symbolDescriptionArray.forEach(function (_ref6) { - var symbolIdentifier = _ref6.symbolIdentifier, - propertyDescription = _ref6.propertyDescription; - mutateSource += generateDefinePropertySource(recipeVariableName, symbolIdentifier, propertyDescription); + if (importMap) { + url = applyImportMap({ + importMap: importMap, + specifier: specifier, + importer: importer, + createBareSpecifierError: createBareSpecifierError, + onImportMapping: onImportMapping }); - methodDescriptionArray.forEach(function (_ref7) { - var methodNameIdentifier = _ref7.methodNameIdentifier, - callArray = _ref7.callArray; - mutateSource += generateMethodCallSource(recipeVariableName, methodNameIdentifier, callArray); + } else { + url = resolveUrl(specifier, importer); + } + + if (defaultExtension) { + url = applyDefaultExtension$1({ + url: url, + importer: importer, + defaultExtension: defaultExtension }); + } - if (!extensible) { - mutateSource += generatePreventExtensionSource(recipeVariableName); - } + return url; +}; - return mutateSource; - }; +var applyDefaultExtension$1 = function applyDefaultExtension(_ref2) { + var url = _ref2.url, + importer = _ref2.importer, + defaultExtension = _ref2.defaultExtension; - var generateDefinePropertySource = function generateDefinePropertySource(recipeVariableName, propertyNameOrSymbolIdentifier, propertyDescription) { - var propertyOrSymbolVariableName = identifierToVariableName(propertyNameOrSymbolIdentifier); - var propertyDescriptorSource = generatePropertyDescriptorSource(propertyDescription); - return "safeDefineProperty(".concat(recipeVariableName, ", ").concat(propertyOrSymbolVariableName, ", ").concat(propertyDescriptorSource, ");"); - }; + if (urlToPathname$1(url).endsWith("/")) { + return url; + } - var generatePropertyDescriptorSource = function generatePropertyDescriptorSource(_ref8) { - var configurable = _ref8.configurable, - writable = _ref8.writable, - enumerable = _ref8.enumerable, - getIdentifier = _ref8.getIdentifier, - setIdentifier = _ref8.setIdentifier, - valueIdentifier = _ref8.valueIdentifier; + if (typeof defaultExtension === "string") { + var extension = pathnameToExtension$1(url); - if (valueIdentifier === undefined) { - return "{\n configurable: ".concat(configurable, ",\n enumerable: ").concat(enumerable, ",\n get: ").concat(getIdentifier === undefined ? undefined : identifierToVariableName(getIdentifier), ",\n set: ").concat(setIdentifier === undefined ? undefined : identifierToVariableName(setIdentifier), ",\n}"); + if (extension === "") { + return "".concat(url).concat(defaultExtension); } - return "{\n configurable: ".concat(configurable, ",\n writable: ").concat(writable, ",\n enumerable: ").concat(enumerable, ",\n value: ").concat(valueIdentifier === undefined ? undefined : identifierToVariableName(valueIdentifier), "\n}"); - }; + return url; + } - var generateMethodCallSource = function generateMethodCallSource(recipeVariableName, methodNameIdentifier, callArray) { - var methodCallSource = ""; - var methodVariableName = identifierToVariableName(methodNameIdentifier); - callArray.forEach(function (argumentIdentifiers) { - var argumentVariableNames = argumentIdentifiers.map(function (argumentIdentifier) { - return identifierToVariableName(argumentIdentifier); - }); - methodCallSource += "".concat(recipeVariableName, "[").concat(methodVariableName, "](").concat(argumentVariableNames.join(","), ");"); - }); - return methodCallSource; - }; + if (defaultExtension === true) { + var _extension = pathnameToExtension$1(url); - var generatePreventExtensionSource = function generatePreventExtensionSource(recipeVariableName) { - return "Object.preventExtensions(".concat(recipeVariableName, ");"); - }; + if (_extension === "" && importer) { + var importerPathname = urlToPathname$1(importer); + var importerExtension = pathnameToExtension$1(importerPathname); + return "".concat(url).concat(importerExtension); + } + } - recipeArraySorted.forEach(function (recipe) { - var recipeVariableName = identifierToVariableName(recipeArray.indexOf(recipe)); - source += "".concat(recipeToMutateSource(recipe, recipeVariableName)); - }); - source += "return ".concat(identifierToVariableName(mainIdentifier), "; })()"); - return source; + return url; }; -var unevalException = function unevalException(value) { - if (value && value.hasOwnProperty("toString")) { - delete value.toString; +function _await$8(value, then, direct) { + if (direct) { + return then ? then(value) : value; } - return uneval(value, { - ignoreSymbols: true - }); -}; - -var memoize = function memoize(compute) { - var memoized = false; - var memoizedValue; + if (!value || !value.then) { + value = Promise.resolve(value); + } - var fnWithMemoization = function fnWithMemoization() { - if (memoized) { - return memoizedValue; - } // if compute is recursive wait for it to be fully done before storing the lockValue - // so set locked later + return then ? value.then(then) : value; +} +function _invoke$6(body, then) { + var result = body(); - memoizedValue = compute.apply(void 0, arguments); - memoized = true; - return memoizedValue; - }; + if (result && result.then) { + return result.then(then); + } - fnWithMemoization.forget = function () { - var value = memoizedValue; - memoized = false; - memoizedValue = undefined; - return value; - }; + return then(result); +} - return fnWithMemoization; -}; +function _async$8(f) { + return function () { + for (var args = [], i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; + } -/* eslint-env browser */ -var displayErrorInDocument = function displayErrorInDocument(error) { - var title = "An error occured"; - var theme; - var message; + try { + return Promise.resolve(f.apply(this, args)); + } catch (e) { + return Promise.reject(e); + } + }; +} +var getJavaScriptModuleResponseError = _async$8(function (response, _ref) { + var _exit = false; + var url = _ref.url, + importerUrl = _ref.importerUrl, + compileServerOrigin = _ref.compileServerOrigin, + compileDirectoryRelativeUrl = _ref.compileDirectoryRelativeUrl, + jsonContentTypeAccepted = _ref.jsonContentTypeAccepted; - if (error && error.parsingError) { - theme = "light"; - var parsingError = error.parsingError; - message = errorToHTML(parsingError.messageHTML || escapeHtml(parsingError.message)); - } else { - theme = "dark"; - message = errorToHTML(error); + if (response.status === 404) { + return new Error(createDetailedMessage("JavaScript module file cannot be found", getModuleDetails({ + url: url, + importerUrl: importerUrl, + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, + notFound: true + }))); } - var css = "\n .jsenv-console {\n background: rgba(0, 0, 0, 0.95);\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 1000;\n box-sizing: border-box;\n padding: 1em;\n }\n\n .jsenv-console h1 {\n color: red;\n display: flex;\n align-items: center;\n }\n\n #button-close-jsenv-console {\n margin-left: 10px;\n }\n\n .jsenv-console pre {\n overflow: auto;\n max-width: 70em;\n /* avoid scrollbar to hide the text behind it */\n padding: 20px;\n }\n\n .jsenv-console pre[data-theme=\"dark\"] {\n background: #111;\n border: 1px solid #333;\n color: #eee;\n }\n\n .jsenv-console pre[data-theme=\"light\"] {\n background: #1E1E1E;\n border: 1px solid white;\n color: #EEEEEE;\n }\n\n .jsenv-console pre a {\n color: inherit;\n }\n "; - var html = "\n \n
\n

").concat(title, "

\n
").concat(message, "
\n
\n "); - var removeJsenvConsole = appendHMTLInside(html, document.body); - - document.querySelector("#button-close-jsenv-console").onclick = function () { - removeJsenvConsole(); - }; -}; + var contentType = response.headers["content-type"] || ""; + return _invoke$6(function () { + if (response.status === 500 && contentType === "application/json") { + return _await$8(response.json(), function (bodyAsJson) { + if (bodyAsJson.message && bodyAsJson.filename && "columnNumber" in bodyAsJson) { + var error = new Error(createDetailedMessage("JavaScript module file cannot be parsed", _objectSpread2(_defineProperty({}, "parsing error message", bodyAsJson.message), getModuleDetails({ + url: url, + importerUrl: importerUrl, + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl + })))); + error.parsingError = bodyAsJson; + _exit = true; + return error; + } + }); + } + }, function (_result) { + var _objectSpread3; -var escapeHtml = function escapeHtml(string) { - return string.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); + if (_exit) return _result; + return response.status < 200 || response.status >= 300 ? new Error(createDetailedMessage("JavaScript module file response status is unexpected", _objectSpread2((_objectSpread3 = {}, _defineProperty(_objectSpread3, "status", response.status), _defineProperty(_objectSpread3, "allowed status", "200 to 299"), _defineProperty(_objectSpread3, "statusText", response.statusText), _objectSpread3), getModuleDetails({ + url: url, + importerUrl: importerUrl, + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl + })))) : jsonContentTypeAccepted && (contentType === "application/json" || contentType.endsWith("+json")) ? null : contentType !== "application/javascript" && contentType !== "text/javascript" ? new Error(createDetailedMessage("Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of \"".concat(contentType, "\". Strict MIME type checking is enforced for module scripts per HTML spec."), _objectSpread2(_objectSpread2({}, getModuleDetails({ + url: url, + importerUrl: importerUrl, + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl + })), {}, { + suggestion: "Use import.meta.url or import assertions as documented in https://github.com/jsenv/jsenv-core/blob/master/docs/building/readme.md#How-to-reference-assets" + }))) : null; + }); +}); +var getModuleDetails = function getModuleDetails(_ref2) { + var url = _ref2.url, + importerUrl = _ref2.importerUrl, + compileServerOrigin = _ref2.compileServerOrigin, + compileDirectoryRelativeUrl = _ref2.compileDirectoryRelativeUrl, + _ref2$notFound = _ref2.notFound, + notFound = _ref2$notFound === void 0 ? false : _ref2$notFound; + var relativeUrl = tryToFindProjectRelativeUrl(url, { + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl + }); + var importerRelativeUrl = tryToFindProjectRelativeUrl(importerUrl, { + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl + }); + var details = notFound ? _objectSpread2(_objectSpread2(_objectSpread2({}, importerUrl ? _defineProperty({}, "import declared in", importerRelativeUrl || importerUrl) : {}), relativeUrl ? { + file: relativeUrl + } : {}), {}, _defineProperty({}, "file url", url)) : _objectSpread2(_objectSpread2({}, relativeUrl ? { + file: relativeUrl + } : {}), {}, _defineProperty({}, "file url", url), importerUrl ? _defineProperty({}, "imported by", importerRelativeUrl || importerUrl) : {}); + return details; }; +var tryToFindProjectRelativeUrl = function tryToFindProjectRelativeUrl(url, _ref5) { + var compileServerOrigin = _ref5.compileServerOrigin, + compileDirectoryRelativeUrl = _ref5.compileDirectoryRelativeUrl; -var errorToHTML = function errorToHTML(error) { - var html; + if (!url) { + return null; + } - if (error && error instanceof Error) { - // stackTrace formatted by V8 - if (Error.captureStackTrace) { - html = escapeHtml(error.stack); - } else { - // other stack trace such as firefox do not contain error.message - html = escapeHtml("".concat(error.message, "\n ").concat(error.stack)); - } - } else if (typeof error === "string") { - html = error; - } else if (error === undefined) { - html = "undefined"; - } else { - html = JSON.stringify(error); + if (!url.startsWith("".concat(compileServerOrigin, "/"))) { + return null; } - var htmlWithCorrectLineBreaks = html.replace(/\n/g, "\n"); - var htmlWithLinks = stringToStringWithLink(htmlWithCorrectLineBreaks, { - transform: function transform(url) { - return { - href: url, - text: url - }; - } - }); - return htmlWithLinks; -}; // `Error: yo -// at Object.execute (http://127.0.0.1:57300/build/src/__test__/file-throw.js:9:13) -// at doExec (http://127.0.0.1:3000/src/__test__/file-throw.js:452:38) -// at postOrderExec (http://127.0.0.1:3000/src/__test__/file-throw.js:448:16) -// at http://127.0.0.1:3000/src/__test__/file-throw.js:399:18`.replace(/(?:https?|ftp|file):\/\/(.*+)$/gm, (...args) => { -// debugger -// }) + if (url === compileServerOrigin) { + return null; + } + var afterOrigin = url.slice("".concat(compileServerOrigin, "/").length); -var stringToStringWithLink = function stringToStringWithLink(source) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$transform = _ref.transform, - transform = _ref$transform === void 0 ? function (url) { - return { - href: url, - text: url - }; - } : _ref$transform; + if (!afterOrigin.startsWith(compileDirectoryRelativeUrl)) { + return null; + } - return source.replace(/(?:https?|ftp|file):\/\/\S+/gm, function (match) { - var linkHTML = ""; - var lastChar = match[match.length - 1]; // hotfix because our url regex sucks a bit + var afterCompileDirectory = afterOrigin.slice(compileDirectoryRelativeUrl.length); + return afterCompileDirectory; +}; // const textToBase64 = +// typeof window === "object" +// ? (text) => window.btoa(window.unescape(window.encodeURIComponent(text))) +// : (text) => Buffer.from(text, "utf8").toString("base64") - var endsWithSeparationChar = lastChar === ")" || lastChar === ":"; +var applyDefaultExtension = function applyDefaultExtension(specifier, importer) { + if (!importer) { + return specifier; + } - if (endsWithSeparationChar) { - match = match.slice(0, -1); - } + var importerExtension = urlToExtension(importer); + var fakeUrl = new URL(specifier, importer).href; + var specifierExtension = urlToExtension(fakeUrl); - var lineAndColumnPattern = /:([0-9]+):([0-9]+)$/; - var lineAndColumMatch = match.match(lineAndColumnPattern); + if (specifierExtension !== "") { + return specifier; + } // I guess typescript still expect default extension to be .ts + // in a tsx file. - if (lineAndColumMatch) { - var lineAndColumnString = lineAndColumMatch[0]; - var lineNumber = lineAndColumMatch[1]; - var columnNumber = lineAndColumMatch[2]; - var url = match.slice(0, -lineAndColumnString.length); - var _transform = transform(url), - href = _transform.href, - text = _transform.text; + if (importerExtension === "tsx") { + return "".concat(specifier, ".ts"); + } // extension magic - linkHTML = link({ - href: href, - text: "".concat(text, ":").concat(lineNumber, ":").concat(columnNumber) - }); - } else { - var linePattern = /:([0-9]+)$/; - var lineMatch = match.match(linePattern); - if (lineMatch) { - var lineString = lineMatch[0]; - var _lineNumber = lineMatch[1]; + return "".concat(specifier).concat(importerExtension); +}; - var _url = match.slice(0, -lineString.length); +var urlToExtension = function urlToExtension(url) { + return pathnameToExtension(urlToPathname(url)); +}; - var _transform2 = transform(_url), - _href = _transform2.href, - _text = _transform2.text; - - linkHTML = link({ - href: _href, - text: "".concat(_text, ":").concat(_lineNumber) - }); - } else { - var _url2 = match; - - var _transform3 = transform(_url2), - _href2 = _transform3.href, - _text2 = _transform3.text; - - linkHTML = link({ - href: _href2, - text: _text2 - }); - } - } +var urlToPathname = function urlToPathname(url) { + return new URL(url).pathname; +}; - if (endsWithSeparationChar) { - return "".concat(linkHTML).concat(lastChar); - } +var pathnameToExtension = function pathnameToExtension(pathname) { + var slashLastIndex = pathname.lastIndexOf("/"); - return linkHTML; - }); -}; + if (slashLastIndex !== -1) { + pathname = pathname.slice(slashLastIndex + 1); + } -var link = function link(_ref2) { - var href = _ref2.href, - _ref2$text = _ref2.text, - text = _ref2$text === void 0 ? href : _ref2$text; - return "").concat(text, ""); -}; + var dotLastIndex = pathname.lastIndexOf("."); + if (dotLastIndex === -1) return ""; // if (dotLastIndex === pathname.length - 1) return "" -var appendHMTLInside = function appendHMTLInside(html, parentNode) { - var temoraryParent = document.createElement("div"); - temoraryParent.innerHTML = html; - return transferChildren(temoraryParent, parentNode); + var extension = pathname.slice(dotLastIndex); + return extension; }; -var transferChildren = function transferChildren(fromNode, toNode) { - var childNodes = [].slice.call(fromNode.childNodes, 0); - var i = 0; +function _await$7(value, then, direct) { + if (direct) { + return then ? then(value) : value; + } - while (i < childNodes.length) { - toNode.appendChild(childNodes[i]); - i++; + if (!value || !value.then) { + value = Promise.resolve(value); } - return function () { - var c = 0; + return then ? value.then(then) : value; +} - while (c < childNodes.length) { - fromNode.appendChild(childNodes[c]); - c++; - } - }; -}; +var createImportResolverForImportmap = function createImportResolverForImportmap(_ref) { + var compileServerOrigin = _ref.compileServerOrigin, + compileDirectoryRelativeUrl = _ref.compileDirectoryRelativeUrl, + importMap = _ref.importMap, + importMapUrl = _ref.importMapUrl, + importDefaultExtension = _ref.importDefaultExtension, + _ref$onBareSpecifierE = _ref.onBareSpecifierError, + onBareSpecifierError = _ref$onBareSpecifierE === void 0 ? function () {} : _ref$onBareSpecifierE; -/* eslint-env browser */ -var _window$1 = window, - Notification = _window$1.Notification; + var _resolveImport = function _resolveImport(specifier, importer) { + if (importDefaultExtension) { + specifier = applyDefaultExtension(specifier, importer); + } -var displayErrorNotificationNotAvailable = function displayErrorNotificationNotAvailable() {}; + return resolveImport({ + specifier: specifier, + importer: importer, + importMap: importMap, + createBareSpecifierError: function createBareSpecifierError(_ref2) { + var specifier = _ref2.specifier, + importer = _ref2.importer; -var displayErrorNotificationImplementation = function displayErrorNotificationImplementation(error) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - icon = _ref.icon; + var bareSpecifierError = _createBareSpecifierError({ + specifier: specifier, + importer: tryToFindProjectRelativeUrl(importer, { + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl + }) || importer, + importMapUrl: tryToFindProjectRelativeUrl(importMapUrl, { + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl + }) || importMapUrl, + importMap: importMap + }); - if (Notification.permission === "granted") { - var notification = new Notification("An error occured", { - lang: "en", - body: error ? error.stack : "undefined", - icon: icon + onBareSpecifierError(bareSpecifierError); + return bareSpecifierError; + } }); + }; - notification.onclick = function () { - window.focus(); - }; - } + return _await$7({ + resolveImport: _resolveImport + }); }; -var displayErrorNotification = typeof Notification === "function" ? displayErrorNotificationImplementation : displayErrorNotificationNotAvailable; +var _createBareSpecifierError = function _createBareSpecifierError(_ref3) { + var specifier = _ref3.specifier, + importer = _ref3.importer, + importMapUrl = _ref3.importMapUrl; + var detailedMessage = createDetailedMessage("Unmapped bare specifier.", _objectSpread2({ + specifier: specifier, + importer: importer + }, importMapUrl ? { + "how to fix": "Add a mapping for \"".concat(specifier, "\" into the importmap file at \"").concat(importMapUrl, "\"") + } : { + "how to fix": "Add an importmap with a mapping for \"".concat(specifier, "\""), + "suggestion": "Generate importmap using https://github.com/jsenv/importmap-node-module" + })); + return new Error(detailedMessage); +}; -var assertImportMap = function assertImportMap(value) { - if (value === null) { - throw new TypeError("an importMap must be an object, got null"); +/* +* SJS 6.11.0 +* Minimal SystemJS Build +*/ +(function () { + function errMsg(errCode, msg) { + return (msg || "") + " (SystemJS https://git.io/JvFET#" + errCode + ")"; } - var type = _typeof(value); + var hasSymbol = typeof Symbol !== 'undefined'; + var hasSelf = typeof self !== 'undefined'; + var hasDocument = typeof document !== 'undefined'; + var envGlobal = hasSelf ? self : global; + var baseUrl; - if (type !== "object") { - throw new TypeError("an importMap must be an object, received ".concat(value)); + if (hasDocument) { + var baseEl = document.querySelector('base[href]'); + if (baseEl) baseUrl = baseEl.href; } - if (Array.isArray(value)) { - throw new TypeError("an importMap must be an object, received array ".concat(value)); + if (!baseUrl && typeof location !== 'undefined') { + baseUrl = location.href.split('#')[0].split('?')[0]; + var lastSepIndex = baseUrl.lastIndexOf('/'); + if (lastSepIndex !== -1) baseUrl = baseUrl.slice(0, lastSepIndex + 1); } -}; -var hasScheme = function hasScheme(string) { - return /^[a-zA-Z]{2,}:/.test(string); -}; + var backslashRegEx = /\\/g; -var urlToScheme = function urlToScheme(urlString) { - var colonIndex = urlString.indexOf(":"); - if (colonIndex === -1) return ""; - return urlString.slice(0, colonIndex); -}; + function resolveIfNotPlainOrUrl(relUrl, parentUrl) { + if (relUrl.indexOf('\\') !== -1) relUrl = relUrl.replace(backslashRegEx, '/'); // protocol-relative -var urlToPathname$1 = function urlToPathname(urlString) { - return ressourceToPathname(urlToRessource(urlString)); -}; + if (relUrl[0] === '/' && relUrl[1] === '/') { + return parentUrl.slice(0, parentUrl.indexOf(':') + 1) + relUrl; + } // relative-url + else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) || relUrl.length === 1 && (relUrl += '/')) || relUrl[0] === '/') { + var parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1); // Disabled, but these cases will give inconsistent results for deep backtracking + //if (parentUrl[parentProtocol.length] !== '/') + // throw Error('Cannot resolve'); + // read pathname from parent URL + // pathname taken to be part after leading "/" -var urlToRessource = function urlToRessource(urlString) { - var scheme = urlToScheme(urlString); + var pathname; - if (scheme === "file") { - return urlString.slice("file://".length); - } + if (parentUrl[parentProtocol.length + 1] === '/') { + // resolving to a :// so we need to read out the auth and host + if (parentProtocol !== 'file:') { + pathname = parentUrl.slice(parentProtocol.length + 2); + pathname = pathname.slice(pathname.indexOf('/') + 1); + } else { + pathname = parentUrl.slice(8); + } + } else { + // resolving to :/ so pathname is the /... part + pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === '/')); + } - if (scheme === "https" || scheme === "http") { - // remove origin - var afterProtocol = urlString.slice(scheme.length + "://".length); - var pathnameSlashIndex = afterProtocol.indexOf("/", "://".length); - return afterProtocol.slice(pathnameSlashIndex); - } + if (relUrl[0] === '/') return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl; // join together and split for removal of .. and . segments + // looping the string instead of anything fancy for perf reasons + // '../../../../../z' resolved to 'x/y' is just 'z' - return urlString.slice(scheme.length + 1); -}; + var segmented = pathname.slice(0, pathname.lastIndexOf('/') + 1) + relUrl; + var output = []; + var segmentIndex = -1; -var ressourceToPathname = function ressourceToPathname(ressource) { - var searchSeparatorIndex = ressource.indexOf("?"); - return searchSeparatorIndex === -1 ? ressource : ressource.slice(0, searchSeparatorIndex); -}; + for (var i = 0; i < segmented.length; i++) { + // busy reading a segment - only terminate on '/' + if (segmentIndex !== -1) { + if (segmented[i] === '/') { + output.push(segmented.slice(segmentIndex, i + 1)); + segmentIndex = -1; + } + } // new segment - check if it is relative + else if (segmented[i] === '.') { + // ../ segment + if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) { + output.pop(); + i += 2; + } // ./ segment + else if (segmented[i + 1] === '/' || i + 1 === segmented.length) { + i += 1; + } else { + // the start of a new segment as below + segmentIndex = i; + } + } // it is the start of a new segment + else { + segmentIndex = i; + } + } // finish reading out the last segment -var urlToOrigin = function urlToOrigin(urlString) { - var scheme = urlToScheme(urlString); - if (scheme === "file") { - return "file://"; + if (segmentIndex !== -1) output.push(segmented.slice(segmentIndex)); + return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join(''); + } } + /* + * Import maps implementation + * + * To make lookups fast we pre-resolve the entire import map + * and then match based on backtracked hash lookups + * + */ - if (scheme === "http" || scheme === "https") { - var secondProtocolSlashIndex = scheme.length + "://".length; - var pathnameSlashIndex = urlString.indexOf("/", secondProtocolSlashIndex); - if (pathnameSlashIndex === -1) return urlString; - return urlString.slice(0, pathnameSlashIndex); + + function resolveUrl(relUrl, parentUrl) { + return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (relUrl.indexOf(':') !== -1 ? relUrl : resolveIfNotPlainOrUrl('./' + relUrl, parentUrl)); } - return urlString.slice(0, scheme.length + 1); -}; + function resolveAndComposePackages(packages, outPackages, baseUrl, parentMap, parentUrl) { + for (var p in packages) { + var resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p; + var rhs = packages[p]; // package fallbacks not currently supported -var pathnameToParentPathname = function pathnameToParentPathname(pathname) { - var slashLastIndex = pathname.lastIndexOf("/"); + if (typeof rhs !== 'string') continue; + var mapped = resolveImportMap(parentMap, resolveIfNotPlainOrUrl(rhs, baseUrl) || rhs, parentUrl); - if (slashLastIndex === -1) { - return "/"; + if (!mapped) { + targetWarning('W1', p, rhs); + } else outPackages[resolvedLhs] = mapped; + } } - return pathname.slice(0, slashLastIndex + 1); -}; + function resolveAndComposeImportMap(json, baseUrl, outMap) { + if (json.imports) resolveAndComposePackages(json.imports, outMap.imports, baseUrl, outMap, null); + var u; -// could be useful: https://url.spec.whatwg.org/#url-miscellaneous -var resolveUrl = function resolveUrl(specifier, baseUrl) { - if (baseUrl) { - if (typeof baseUrl !== "string") { - throw new TypeError(writeBaseUrlMustBeAString({ - baseUrl: baseUrl, - specifier: specifier - })); + for (u in json.scopes || {}) { + var resolvedScope = resolveUrl(u, baseUrl); + resolveAndComposePackages(json.scopes[u], outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), baseUrl, outMap, resolvedScope); } - if (!hasScheme(baseUrl)) { - throw new Error(writeBaseUrlMustBeAbsolute({ - baseUrl: baseUrl, - specifier: specifier - })); + for (u in json.depcache || {}) { + outMap.depcache[resolveUrl(u, baseUrl)] = json.depcache[u]; } - } - if (hasScheme(specifier)) { - return specifier; + for (u in json.integrity || {}) { + outMap.integrity[resolveUrl(u, baseUrl)] = json.integrity[u]; + } } - if (!baseUrl) { - throw new Error(writeBaseUrlRequired({ - baseUrl: baseUrl, - specifier: specifier - })); - } // scheme relative + function getMatch(path, matchObj) { + if (matchObj[path]) return path; + var sepIndex = path.length; + do { + var segment = path.slice(0, sepIndex + 1); + if (segment in matchObj) return segment; + } while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1); + } - if (specifier.slice(0, 2) === "//") { - return "".concat(urlToScheme(baseUrl), ":").concat(specifier); - } // origin relative + function applyPackages(id, packages) { + var pkgName = getMatch(id, packages); + if (pkgName) { + var pkg = packages[pkgName]; + if (pkg === null) return; - if (specifier[0] === "/") { - return "".concat(urlToOrigin(baseUrl)).concat(specifier); + if (id.length > pkgName.length && pkg[pkg.length - 1] !== '/') { + targetWarning('W2', pkgName, pkg); + } else return pkg + id.slice(pkgName.length); + } } - var baseOrigin = urlToOrigin(baseUrl); - var basePathname = urlToPathname$1(baseUrl); + function targetWarning(code, match, target, msg) { + console.warn(errMsg(code, [target, match].join(', '))); + } - if (specifier === ".") { - var baseDirectoryPathname = pathnameToParentPathname(basePathname); - return "".concat(baseOrigin).concat(baseDirectoryPathname); - } // pathname relative inside + function resolveImportMap(importMap, resolvedOrPlain, parentUrl) { + var scopes = importMap.scopes; + var scopeUrl = parentUrl && getMatch(parentUrl, scopes); + while (scopeUrl) { + var packageResolution = applyPackages(resolvedOrPlain, scopes[scopeUrl]); + if (packageResolution) return packageResolution; + scopeUrl = getMatch(scopeUrl.slice(0, scopeUrl.lastIndexOf('/')), scopes); + } - if (specifier.slice(0, 2) === "./") { - var _baseDirectoryPathname = pathnameToParentPathname(basePathname); + return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain; + } + /* + * SystemJS Core + * + * Provides + * - System.import + * - System.register support for + * live bindings, function hoisting through circular references, + * reexports, dynamic import, import.meta.url, top-level await + * - System.getRegister to get the registration + * - Symbol.toStringTag support in Module objects + * - Hookable System.createContext to customize import.meta + * - System.onload(err, id, deps) handler for tracing / hot-reloading + * + * Core comes with no System.prototype.resolve or + * System.prototype.instantiate implementations + */ - return "".concat(baseOrigin).concat(_baseDirectoryPathname).concat(specifier.slice(2)); - } // pathname relative outside + var toStringTag = hasSymbol && Symbol.toStringTag; + var REGISTRY = hasSymbol ? Symbol() : '@'; - if (specifier.slice(0, 3) === "../") { - var unresolvedPathname = specifier; - var importerFolders = basePathname.split("/"); - importerFolders.pop(); + function SystemJS() { + this[REGISTRY] = {}; + } - while (unresolvedPathname.slice(0, 3) === "../") { - unresolvedPathname = unresolvedPathname.slice(3); // when there is no folder left to resolved - // we just ignore '../' + var systemJSPrototype = SystemJS.prototype; - if (importerFolders.length) { - importerFolders.pop(); - } - } + systemJSPrototype.import = function (id, parentUrl) { + var loader = this; + return Promise.resolve(loader.prepareImport()).then(function () { + return loader.resolve(String(id), parentUrl); + }).then(function (id) { + var load = getOrCreateLoad(loader, id); + return load.C || topLevelLoad(loader, load); + }); + }; // Hookable createContext function -> allowing eg custom import meta - var resolvedPathname = "".concat(importerFolders.join("/"), "/").concat(unresolvedPathname); - return "".concat(baseOrigin).concat(resolvedPathname); - } // bare + systemJSPrototype.createContext = function (parentId) { + var loader = this; + return { + url: parentId, + resolve: function resolve(id, parentUrl) { + return Promise.resolve(loader.resolve(id, parentUrl || parentId)); + } + }; + }; - if (basePathname === "") { - return "".concat(baseOrigin, "/").concat(specifier); - } + var lastRegister; - if (basePathname[basePathname.length] === "/") { - return "".concat(baseOrigin).concat(basePathname).concat(specifier); - } + systemJSPrototype.register = function (deps, declare) { + lastRegister = [deps, declare]; + }; + /* + * getRegister provides the last anonymous System.register call + */ - return "".concat(baseOrigin).concat(pathnameToParentPathname(basePathname)).concat(specifier); -}; -var writeBaseUrlMustBeAString = function writeBaseUrlMustBeAString(_ref) { - var baseUrl = _ref.baseUrl, - specifier = _ref.specifier; - return "baseUrl must be a string.\n--- base url ---\n".concat(baseUrl, "\n--- specifier ---\n").concat(specifier); -}; + systemJSPrototype.getRegister = function () { + var _lastRegister = lastRegister; + lastRegister = undefined; + return _lastRegister; + }; -var writeBaseUrlMustBeAbsolute = function writeBaseUrlMustBeAbsolute(_ref2) { - var baseUrl = _ref2.baseUrl, - specifier = _ref2.specifier; - return "baseUrl must be absolute.\n--- base url ---\n".concat(baseUrl, "\n--- specifier ---\n").concat(specifier); -}; + function getOrCreateLoad(loader, id, firstParentUrl) { + var load = loader[REGISTRY][id]; + if (load) return load; + var importerSetters = []; + var ns = Object.create(null); + if (toStringTag) Object.defineProperty(ns, toStringTag, { + value: 'Module' + }); + var instantiatePromise = Promise.resolve().then(function () { + return loader.instantiate(id, firstParentUrl); + }).then(function (registration) { + if (!registration) throw Error(errMsg(2, id)); -var writeBaseUrlRequired = function writeBaseUrlRequired(_ref3) { - var baseUrl = _ref3.baseUrl, - specifier = _ref3.specifier; - return "baseUrl required to resolve relative specifier.\n--- base url ---\n".concat(baseUrl, "\n--- specifier ---\n").concat(specifier); -}; + function _export(name, value) { + // note if we have hoisted exports (including reexports) + load.h = true; + var changed = false; -var tryUrlResolution = function tryUrlResolution(string, url) { - var result = resolveUrl(string, url); - return hasScheme(result) ? result : null; -}; + if (typeof name === 'string') { + if (!(name in ns) || ns[name] !== value) { + ns[name] = value; + changed = true; + } + } else { + for (var p in name) { + var value = name[p]; -var resolveSpecifier = function resolveSpecifier(specifier, importer) { - if (specifier === "." || specifier[0] === "/" || specifier.startsWith("./") || specifier.startsWith("../")) { - return resolveUrl(specifier, importer); - } + if (!(p in ns) || ns[p] !== value) { + ns[p] = value; + changed = true; + } + } - if (hasScheme(specifier)) { - return specifier; - } + if (name && name.__esModule) { + ns.__esModule = name.__esModule; + } + } - return null; -}; + if (changed) for (var i = 0; i < importerSetters.length; i++) { + var setter = importerSetters[i]; + if (setter) setter(ns); + } + return value; + } -var sortImports = function sortImports(imports) { - var mappingsSorted = {}; - Object.keys(imports).sort(compareLengthOrLocaleCompare).forEach(function (name) { - mappingsSorted[name] = imports[name]; - }); - return mappingsSorted; -}; -var sortScopes = function sortScopes(scopes) { - var scopesSorted = {}; - Object.keys(scopes).sort(compareLengthOrLocaleCompare).forEach(function (scopeSpecifier) { - scopesSorted[scopeSpecifier] = sortImports(scopes[scopeSpecifier]); - }); - return scopesSorted; -}; + var declared = registration[1](_export, registration[1].length === 2 ? { + import: function _import(importId) { + return loader.import(importId, id); + }, + meta: loader.createContext(id) + } : undefined); -var compareLengthOrLocaleCompare = function compareLengthOrLocaleCompare(a, b) { - return b.length - a.length || a.localeCompare(b); -}; + load.e = declared.execute || function () {}; -var normalizeImportMap = function normalizeImportMap(importMap, baseUrl) { - assertImportMap(importMap); + return [registration[0], declared.setters || []]; + }, function (err) { + load.e = null; + load.er = err; + throw err; + }); + var linkPromise = instantiatePromise.then(function (instantiation) { + return Promise.all(instantiation[0].map(function (dep, i) { + var setter = instantiation[1][i]; + return Promise.resolve(loader.resolve(dep, id)).then(function (depId) { + var depLoad = getOrCreateLoad(loader, depId, id); // depLoad.I may be undefined for already-evaluated - if (!isStringOrUrl(baseUrl)) { - throw new TypeError(formulateBaseUrlMustBeStringOrUrl({ - baseUrl: baseUrl - })); - } + return Promise.resolve(depLoad.I).then(function () { + if (setter) { + depLoad.i.push(setter); // only run early setters when there are hoisted exports of that module + // the timing works here as pending hoisted export calls will trigger through importerSetters - var imports = importMap.imports, - scopes = importMap.scopes; - return { - imports: imports ? normalizeMappings(imports, baseUrl) : undefined, - scopes: scopes ? normalizeScopes(scopes, baseUrl) : undefined - }; -}; + if (depLoad.h || !depLoad.I) setter(depLoad.n); + } -var isStringOrUrl = function isStringOrUrl(value) { - if (typeof value === "string") { - return true; + return depLoad; + }); + }); + })).then(function (depLoads) { + load.d = depLoads; + }); + }); // Capital letter = a promise function + + return load = loader[REGISTRY][id] = { + id: id, + // importerSetters, the setters functions registered to this dependency + // we retain this to add more later + i: importerSetters, + // module namespace object + n: ns, + // instantiate + I: instantiatePromise, + // link + L: linkPromise, + // whether it has hoisted exports + h: false, + // On instantiate completion we have populated: + // dependency load records + d: undefined, + // execution function + e: undefined, + // On execution we have populated: + // the execution error if any + er: undefined, + // in the case of TLA, the execution promise + E: undefined, + // On execution, L, I, E cleared + // Promise for top-level completion + C: undefined, + // parent instantiator / executor + p: undefined + }; } - if (typeof URL === "function" && value instanceof URL) { - return true; + function instantiateAll(loader, load, parent, loaded) { + if (!loaded[load.id]) { + loaded[load.id] = true; // load.L may be undefined for already-instantiated + + return Promise.resolve(load.L).then(function () { + if (!load.p || load.p.e === null) load.p = parent; + return Promise.all(load.d.map(function (dep) { + return instantiateAll(loader, dep, parent, loaded); + })); + }).catch(function (err) { + if (load.er) throw err; + load.e = null; + throw err; + }); + } } - return false; -}; + function topLevelLoad(loader, load) { + return load.C = instantiateAll(loader, load, load, {}).then(function () { + return postOrderExec(loader, load, {}); + }).then(function () { + return load.n; + }); + } // the closest we can get to call(undefined) -var normalizeMappings = function normalizeMappings(mappings, baseUrl) { - var mappingsNormalized = {}; - Object.keys(mappings).forEach(function (specifier) { - var address = mappings[specifier]; - if (typeof address !== "string") { - console.warn(formulateAddressMustBeAString({ - address: address, - specifier: specifier - })); + var nullContext = Object.freeze(Object.create(null)); // returns a promise if and only if a top-level await subgraph + // throws on sync errors + + function postOrderExec(loader, load, seen) { + if (seen[load.id]) return; + seen[load.id] = true; + + if (!load.e) { + if (load.er) throw load.er; + if (load.E) return load.E; return; + } // deps execute first, unless circular + + + var depLoadPromises; + load.d.forEach(function (depLoad) { + try { + var depLoadPromise = postOrderExec(loader, depLoad, seen); + if (depLoadPromise) (depLoadPromises = depLoadPromises || []).push(depLoadPromise); + } catch (err) { + load.e = null; + load.er = err; + throw err; + } + }); + if (depLoadPromises) return Promise.all(depLoadPromises).then(doExec); + return doExec(); + + function doExec() { + try { + var execPromise = load.e.call(nullContext); + + if (execPromise) { + execPromise = execPromise.then(function () { + load.C = load.n; + load.E = null; // indicates completion + + if (!true) ; + }, function (err) { + load.er = err; + load.E = null; + if (!true) ; + throw err; + }); + return load.E = execPromise; + } // (should be a promise, but a minify optimization to leave out Promise.resolve) + + + load.C = load.n; + load.L = load.I = undefined; + } catch (err) { + load.er = err; + throw err; + } finally { + load.e = null; + } } + } - var specifierResolved = resolveSpecifier(specifier, baseUrl) || specifier; - var addressUrl = tryUrlResolution(address, baseUrl); + envGlobal.System = new SystemJS(); + /* + * SystemJS browser attachments for script and import map processing + */ - if (addressUrl === null) { - console.warn(formulateAdressResolutionFailed({ - address: address, - baseUrl: baseUrl, - specifier: specifier - })); - return; + var importMapPromise = Promise.resolve(); + var importMap = { + imports: {}, + scopes: {}, + depcache: {}, + integrity: {} + }; + systemJSPrototype.importMap = importMap; + systemJSPrototype.baseUrl = baseUrl; // Scripts are processed immediately, on the first System.import, and on DOMReady. + // Import map scripts are processed only once (by being marked) and in order for each phase. + // This is to avoid using DOM mutation observers in core, although that would be an alternative. + + var processFirst = hasDocument; + + systemJSPrototype.prepareImport = function (doProcessScripts) { + if (processFirst || doProcessScripts) { + processScripts(); + processFirst = false; } - if (specifier.endsWith("/") && !addressUrl.endsWith("/")) { - console.warn(formulateAddressUrlRequiresTrailingSlash({ - addressUrl: addressUrl, - address: address, - specifier: specifier - })); - return; + return importMapPromise; + }; + + if (hasDocument) { + processScripts(); + window.addEventListener('DOMContentLoaded', processScripts); + } + + function processScripts() { + [].forEach.call(document.querySelectorAll('script'), function (script) { + if (script.sp) // sp marker = systemjs processed + return; // TODO: deprecate systemjs-module in next major now that we have auto import + + if (script.type === 'systemjs-module') { + script.sp = true; + if (!script.src) return; + System.import(script.src.slice(0, 7) === 'import:' ? script.src.slice(7) : resolveUrl(script.src, baseUrl)).catch(function (e) { + // if there is a script load error, dispatch an "error" event + // on the script tag. + if (e.message.indexOf('https://git.io/JvFET#3') > -1) { + var event = document.createEvent('Event'); + event.initEvent('error', false, false); + script.dispatchEvent(event); + } + + return Promise.reject(e); + }); + } else if (script.type === 'systemjs-importmap') { + script.sp = true; + var fetchPromise = script.src ? fetch(script.src, { + integrity: script.integrity + }).then(function (res) { + if (!res.ok) throw Error(res.status); + return res.text(); + }).catch(function (err) { + err.message = errMsg('W4', script.src) + '\n' + err.message; + console.warn(err); + + if (typeof script.onerror === 'function') { + script.onerror(); + } + + return '{}'; + }) : script.innerHTML; + importMapPromise = importMapPromise.then(function () { + return fetchPromise; + }).then(function (text) { + extendImportMap(importMap, text, script.src || baseUrl); + return importMap; + }); + } + }); + } + + function extendImportMap(importMap, newMapText, newMapUrl) { + var newMap = {}; + + try { + newMap = JSON.parse(newMapText); + } catch (err) { + console.warn(Error(errMsg('W5'))); } - mappingsNormalized[specifierResolved] = addressUrl; - }); - return sortImports(mappingsNormalized); -}; + resolveAndComposeImportMap(newMap, newMapUrl, importMap); + } -var normalizeScopes = function normalizeScopes(scopes, baseUrl) { - var scopesNormalized = {}; - Object.keys(scopes).forEach(function (scopeSpecifier) { - var scopeMappings = scopes[scopeSpecifier]; - var scopeUrl = tryUrlResolution(scopeSpecifier, baseUrl); + System.extendImportMap = extendImportMap; + /* + * Script instantiation loading + */ - if (scopeUrl === null) { - console.warn(formulateScopeResolutionFailed({ - scope: scopeSpecifier, - baseUrl: baseUrl - })); - return; + if (hasDocument) { + window.addEventListener('error', function (evt) { + lastWindowErrorUrl = evt.filename; + lastWindowError = evt.error; + }); + var baseOrigin = location.origin; + } + + systemJSPrototype.createScript = function (url) { + var script = document.createElement('script'); + script.async = true; // Only add cross origin for actual cross origin + // this is because Safari triggers for all + // - https://bugs.webkit.org/show_bug.cgi?id=171566 + + if (url.indexOf(baseOrigin + '/')) script.crossOrigin = 'anonymous'; + var integrity = importMap.integrity[url]; + if (integrity) script.integrity = integrity; + script.src = url; + return script; + }; // Auto imports -> script tags can be inlined directly for load phase + + + var lastAutoImportDeps, lastAutoImportTimeout; + var autoImportCandidates = {}; + var systemRegister = systemJSPrototype.register; + var inlineScriptCount = 0; + + systemJSPrototype.register = function (deps, declare, autoUrl) { + if (hasDocument && document.readyState === 'loading' && typeof deps !== 'string') { + var scripts = document.querySelectorAll('script[src]'); + var lastScript = scripts[scripts.length - 1]; + var lastAutoImportUrl; + lastAutoImportDeps = deps; + + if (lastScript && lastScript.src) { + lastAutoImportUrl = lastScript.src; + } else if (autoUrl) { + lastAutoImportUrl = autoUrl; + } else { + inlineScriptCount++; + lastAutoImportUrl = document.location.href + "__inline_script__" + inlineScriptCount; + } // if this is already a System load, then the instantiate has already begun + // so this re-import has no consequence + + + var loader = this; + lastAutoImportTimeout = setTimeout(function () { + autoImportCandidates[lastAutoImportUrl] = [deps, declare]; + loader.import(lastAutoImportUrl); + }); + } else { + lastAutoImportDeps = undefined; } - var scopeValueNormalized = normalizeMappings(scopeMappings, baseUrl); - scopesNormalized[scopeUrl] = scopeValueNormalized; - }); - return sortScopes(scopesNormalized); -}; + return systemRegister.call(this, deps, declare); + }; -var formulateBaseUrlMustBeStringOrUrl = function formulateBaseUrlMustBeStringOrUrl(_ref) { - var baseUrl = _ref.baseUrl; - return "baseUrl must be a string or an url.\n--- base url ---\n".concat(baseUrl); -}; + var lastWindowErrorUrl, lastWindowError; -var formulateAddressMustBeAString = function formulateAddressMustBeAString(_ref2) { - var specifier = _ref2.specifier, - address = _ref2.address; - return "Address must be a string.\n--- address ---\n".concat(address, "\n--- specifier ---\n").concat(specifier); -}; + systemJSPrototype.instantiate = function (url, firstParentUrl) { + var autoImportRegistration = autoImportCandidates[url]; -var formulateAdressResolutionFailed = function formulateAdressResolutionFailed(_ref3) { - var address = _ref3.address, - baseUrl = _ref3.baseUrl, - specifier = _ref3.specifier; - return "Address url resolution failed.\n--- address ---\n".concat(address, "\n--- base url ---\n").concat(baseUrl, "\n--- specifier ---\n").concat(specifier); -}; + if (autoImportRegistration) { + delete autoImportCandidates[url]; + return autoImportRegistration; + } -var formulateAddressUrlRequiresTrailingSlash = function formulateAddressUrlRequiresTrailingSlash(_ref4) { - var addressURL = _ref4.addressURL, - address = _ref4.address, - specifier = _ref4.specifier; - return "Address must end with /.\n--- address url ---\n".concat(addressURL, "\n--- address ---\n").concat(address, "\n--- specifier ---\n").concat(specifier); -}; + var loader = this; + return Promise.resolve(systemJSPrototype.createScript(url)).then(function (script) { + return new Promise(function (resolve, reject) { + script.addEventListener('error', function () { + reject(Error(errMsg(3, [url, firstParentUrl].join(', ')))); + }); + script.addEventListener('load', function () { + document.head.removeChild(script); // Note that if an error occurs that isn't caught by this if statement, + // that getRegister will return null and a "did not instantiate" error will be thrown. -var formulateScopeResolutionFailed = function formulateScopeResolutionFailed(_ref5) { - var scope = _ref5.scope, - baseUrl = _ref5.baseUrl; - return "Scope url resolution failed.\n--- scope ---\n".concat(scope, "\n--- base url ---\n").concat(baseUrl); -}; + if (lastWindowErrorUrl === url) { + reject(lastWindowError); + } else { + var register = loader.getRegister(url); // Clear any auto import registration for dynamic import scripts during load -var pathnameToExtension$1 = function pathnameToExtension(pathname) { - var slashLastIndex = pathname.lastIndexOf("/"); + if (register && register[0] === lastAutoImportDeps) clearTimeout(lastAutoImportTimeout); + resolve(register); + } + }); + document.head.appendChild(script); + }); + }); + }; + /* + * Fetch loader, sets up shouldFetch and fetch hooks + */ - if (slashLastIndex !== -1) { - pathname = pathname.slice(slashLastIndex + 1); - } - var dotLastIndex = pathname.lastIndexOf("."); - if (dotLastIndex === -1) return ""; // if (dotLastIndex === pathname.length - 1) return "" + systemJSPrototype.shouldFetch = function () { + return false; + }; - return pathname.slice(dotLastIndex); -}; + if (typeof fetch !== 'undefined') systemJSPrototype.fetch = fetch; + var instantiate = systemJSPrototype.instantiate; + var jsContentTypeRegEx = /^(text|application)\/(x-)?javascript(;|$)/; -var applyImportMap = function applyImportMap(_ref) { - var importMap = _ref.importMap, - specifier = _ref.specifier, - importer = _ref.importer, - _ref$createBareSpecif = _ref.createBareSpecifierError, - createBareSpecifierError = _ref$createBareSpecif === void 0 ? function (_ref2) { - var specifier = _ref2.specifier, - importer = _ref2.importer; - return new Error(createDetailedMessage("Unmapped bare specifier.", { - specifier: specifier, - importer: importer - })); - } : _ref$createBareSpecif, - _ref$onImportMapping = _ref.onImportMapping, - onImportMapping = _ref$onImportMapping === void 0 ? function () {} : _ref$onImportMapping; - assertImportMap(importMap); + systemJSPrototype.instantiate = function (url, parent) { + var loader = this; + if (!this.shouldFetch(url)) return instantiate.apply(this, arguments); + return this.fetch(url, { + credentials: 'same-origin', + integrity: importMap.integrity[url] + }).then(function (res) { + if (!res.ok) throw Error(errMsg(7, [res.status, res.statusText, url, parent].join(', '))); + var contentType = res.headers.get('content-type'); + if (!contentType || !jsContentTypeRegEx.test(contentType)) throw Error(errMsg(4, contentType)); + return res.text().then(function (source) { + if (source.indexOf('//# sourceURL=') < 0) source += '\n//# sourceURL=' + url; + (0, eval)(source); + return loader.getRegister(url); + }); + }); + }; - if (typeof specifier !== "string") { - throw new TypeError(createDetailedMessage("specifier must be a string.", { - specifier: specifier, - importer: importer - })); + systemJSPrototype.resolve = function (id, parentUrl) { + parentUrl = parentUrl || !true || baseUrl; + return resolveImportMap(importMap, resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl) || throwUnresolved(id, parentUrl); + }; + + function throwUnresolved(id, parentUrl) { + throw Error(errMsg(8, [id, parentUrl].join(', '))); } - if (importer) { - if (typeof importer !== "string") { - throw new TypeError(createDetailedMessage("importer must be a string.", { - importer: importer, - specifier: specifier - })); + var systemInstantiate = systemJSPrototype.instantiate; + + systemJSPrototype.instantiate = function (url, firstParentUrl) { + var preloads = importMap.depcache[url]; + + if (preloads) { + for (var i = 0; i < preloads.length; i++) { + getOrCreateLoad(this, this.resolve(preloads[i], url), url); + } } - if (!hasScheme(importer)) { - throw new Error(createDetailedMessage("importer must be an absolute url.", { - importer: importer, - specifier: specifier - })); - } + return systemInstantiate.call(this, url, firstParentUrl); + }; + /* + * Supports loading System.register in workers + */ + + + if (hasSelf && typeof importScripts === 'function') { + systemJSPrototype.instantiate = function (url) { + var loader = this; + return self.fetch(url, { + credentials: 'same-origin' + }).then(function (response) { + if (!response.ok) { + throw Error(errMsg(7, [response.status, response.statusText, url].join(', '))); + } + + return response.text(); + }).then(function (source) { + if (source.indexOf('//# sourceURL=') < 0) source += '\n//# sourceURL=' + url; + (0, eval)(source); + return loader.getRegister(url); + }); + }; } +})(); - var specifierUrl = resolveSpecifier(specifier, importer); - var specifierNormalized = specifierUrl || specifier; - var scopes = importMap.scopes; +(function () { + var envGlobal = typeof self !== 'undefined' ? self : global; + var System = envGlobal.System; + var registerRegistry = Object.create(null); + var register = System.register; + System.registerRegistry = registerRegistry; - if (scopes && importer) { - var scopeSpecifierMatching = Object.keys(scopes).find(function (scopeSpecifier) { - return scopeSpecifier === importer || specifierIsPrefixOf(scopeSpecifier, importer); + System.register = function (name, deps, declare) { + if (typeof name !== 'string') return register.apply(this, arguments); + var define = [deps, declare]; + return System.prepareImport().then(function () { + var url = System.resolve("./".concat(name)); + registerRegistry[url] = define; + return register.call(System, deps, declare, url); }); + }; - if (scopeSpecifierMatching) { - var scopeMappings = scopes[scopeSpecifierMatching]; - var mappingFromScopes = applyMappings(scopeMappings, specifierNormalized, scopeSpecifierMatching, onImportMapping); - - if (mappingFromScopes !== null) { - return mappingFromScopes; - } - } - } - - var imports = importMap.imports; + var instantiate = System.instantiate; - if (imports) { - var mappingFromImports = applyMappings(imports, specifierNormalized, undefined, onImportMapping); + System.instantiate = function (url, firstParentUrl) { + var result = registerRegistry[url]; - if (mappingFromImports !== null) { - return mappingFromImports; + if (result) { + registerRegistry[url] = null; + return result; + } else { + return instantiate.call(this, url, firstParentUrl); } - } + }; - if (specifierUrl) { - return specifierUrl; - } + var getRegister = System.getRegister; - throw createBareSpecifierError({ - specifier: specifier, - importer: importer - }); -}; + System.getRegister = function (url) { + // Calling getRegister() because other extras need to know it was called so they can perform side effects + var register = getRegister.call(this, url); + var result = registerRegistry[url] || register; + return result; + }; +})(); -var applyMappings = function applyMappings(mappings, specifierNormalized, scope, onImportMapping) { - var specifierCandidates = Object.keys(mappings); - var i = 0; +(function () { + // worker or service worker + if (typeof WorkerGlobalScope === 'function' && self instanceof WorkerGlobalScope) { + var importMapFromParentPromise = new Promise(function (resolve) { + var importmapMessageCallback = function importmapMessageCallback(e) { + if (e.data === "__importmap_init__") { + self.removeEventListener("message", importmapMessageCallback); - while (i < specifierCandidates.length) { - var specifierCandidate = specifierCandidates[i]; - i++; + e.ports[0].onmessage = function (message) { + resolve(message.data); + }; - if (specifierCandidate === specifierNormalized) { - var address = mappings[specifierCandidate]; - onImportMapping({ - scope: scope, - from: specifierCandidate, - to: address, - before: specifierNormalized, - after: address - }); - return address; - } + e.ports[0].postMessage('__importmap_request__'); + } + }; - if (specifierIsPrefixOf(specifierCandidate, specifierNormalized)) { - var _address = mappings[specifierCandidate]; - var afterSpecifier = specifierNormalized.slice(specifierCandidate.length); - var addressFinal = tryUrlResolution(afterSpecifier, _address); - onImportMapping({ - scope: scope, - from: specifierCandidate, - to: _address, - before: specifierNormalized, - after: addressFinal + self.addEventListener("message", importmapMessageCallback); + }); // var prepareImport = System.prepareImport + + System.prepareImport = function () { + return importMapFromParentPromise.then(function (importmap) { + System.extendImportMap(System.importMap, JSON.stringify(importmap), System.baseUrl); }); - return addressFinal; - } - } + }; // auto import first register - return null; -}; -var specifierIsPrefixOf = function specifierIsPrefixOf(specifierHref, href) { - return specifierHref[specifierHref.length - 1] === "/" && href.startsWith(specifierHref); -}; + var messageEvents = []; -var resolveImport = function resolveImport(_ref) { - var specifier = _ref.specifier, - importer = _ref.importer, - importMap = _ref.importMap, - _ref$defaultExtension = _ref.defaultExtension, - defaultExtension = _ref$defaultExtension === void 0 ? false : _ref$defaultExtension, - createBareSpecifierError = _ref.createBareSpecifierError, - _ref$onImportMapping = _ref.onImportMapping, - onImportMapping = _ref$onImportMapping === void 0 ? function () {} : _ref$onImportMapping; - var url; + var messageCallback = function messageCallback(event) { + messageEvents.push(event); + }; - if (importMap) { - url = applyImportMap({ - importMap: importMap, - specifier: specifier, - importer: importer, - createBareSpecifierError: createBareSpecifierError, - onImportMapping: onImportMapping - }); - } else { - url = resolveUrl(specifier, importer); - } + self.addEventListener('message', messageCallback); + var register = System.register; - if (defaultExtension) { - url = applyDefaultExtension$1({ - url: url, - importer: importer, - defaultExtension: defaultExtension - }); - } + System.register = function (deps, declare) { + System.register = register; + System.registerRegistry[self.location.href] = [deps, declare]; + return System.import(self.location.href).then(function (result) { + self.removeEventListener('message', messageCallback); + messageEvents.forEach(function (messageEvent) { + self.dispatchEvent(messageEvent); + }); + messageEvents = null; + return result; + }); + }; + } else if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object') { + var WorkerConstructor = window.Worker; - return url; -}; + if (typeof WorkerConstructor === 'function') { + window.Worker = function (url, options) { + var worker = new WorkerConstructor(url, options); + var importmapChannel = new MessageChannel(); -var applyDefaultExtension$1 = function applyDefaultExtension(_ref2) { - var url = _ref2.url, - importer = _ref2.importer, - defaultExtension = _ref2.defaultExtension; + importmapChannel.port1.onmessage = function (message) { + System.prepareImport().then(function (importmap) { + message.target.postMessage(importmap); + }); + }; - if (urlToPathname$1(url).endsWith("/")) { - return url; - } + worker.postMessage('__importmap_init__', [importmapChannel.port2]); + return worker; + }; + } - if (typeof defaultExtension === "string") { - var extension = pathnameToExtension$1(url); + var serviceWorker = navigator.serviceWorker; - if (extension === "") { - return "".concat(url).concat(defaultExtension); - } + if (serviceWorker) { + var register = serviceWorker.register; - return url; - } + serviceWorker.register = function (url, options) { + var registrationPromise = register.call(this, url, options); + registrationPromise.then(function (registration) { + var installing = registration.installing; + var waiting = registration.waiting; + var active = registration.active; + var worker = installing || waiting || active; + var importmapChannel = new MessageChannel(); - if (defaultExtension === true) { - var _extension = pathnameToExtension$1(url); + importmapChannel.port1.onmessage = function (message) { + System.prepareImport().then(function (importmap) { + message.target.postMessage(importmap); + }); + }; - if (_extension === "" && importer) { - var importerPathname = urlToPathname$1(importer); - var importerExtension = pathnameToExtension$1(importerPathname); - return "".concat(url).concat(importerExtension); + worker.postMessage('__importmap_init__', [importmapChannel.port2]); + }); + return registrationPromise; + }; } } +})(); - return url; -}; - -function _await$4(value, then, direct) { +function _await$6(value, then, direct) { if (direct) { return then ? then(value) : value; } @@ -3286,7 +3187,21 @@ function _await$4(value, then, direct) { return then ? value.then(then) : value; } -function _invoke$3(body, then) { +function _catch$4(body, recover) { + try { + var result = body(); + } catch (e) { + return recover(e); + } + + if (result && result.then) { + return result.then(void 0, recover); + } + + return result; +} + +function _invoke$5(body, then) { var result = body(); if (result && result.then) { @@ -3296,7 +3211,7 @@ function _invoke$3(body, then) { return then(result); } -function _async$4(f) { +function _async$7(f) { return function () { for (var args = [], i = 0; i < arguments.length; i++) { args[i] = arguments[i]; @@ -3309,233 +3224,249 @@ function _async$4(f) { } }; } -var getJavaScriptModuleResponseError = _async$4(function (response, _ref) { - var _exit = false; - var url = _ref.url, - importerUrl = _ref.importerUrl, - compileServerOrigin = _ref.compileServerOrigin, - compileDirectoryRelativeUrl = _ref.compileDirectoryRelativeUrl, - jsonContentTypeAccepted = _ref.jsonContentTypeAccepted; - - if (response.status === 404) { - return new Error(createDetailedMessage("JavaScript module file cannot be found", getModuleDetails({ - url: url, - importerUrl: importerUrl, - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, - notFound: true - }))); - } - - var contentType = response.headers["content-type"] || ""; - return _invoke$3(function () { - if (response.status === 500 && contentType === "application/json") { - return _await$4(response.json(), function (bodyAsJson) { - if (bodyAsJson.message && bodyAsJson.filename && "columnNumber" in bodyAsJson) { - var error = new Error(createDetailedMessage("JavaScript module file cannot be parsed", _objectSpread2(_defineProperty({}, "parsing error message", bodyAsJson.message), getModuleDetails({ - url: url, - importerUrl: importerUrl, - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl - })))); - error.parsingError = bodyAsJson; - _exit = true; - return error; - } - }); - } - }, function (_result) { - var _objectSpread3; - - if (_exit) return _result; - return response.status < 200 || response.status >= 300 ? new Error(createDetailedMessage("JavaScript module file response status is unexpected", _objectSpread2((_objectSpread3 = {}, _defineProperty(_objectSpread3, "status", response.status), _defineProperty(_objectSpread3, "allowed status", "200 to 299"), _defineProperty(_objectSpread3, "statusText", response.statusText), _objectSpread3), getModuleDetails({ - url: url, - importerUrl: importerUrl, - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl - })))) : jsonContentTypeAccepted && (contentType === "application/json" || contentType.endsWith("+json")) ? null : contentType !== "application/javascript" && contentType !== "text/javascript" ? new Error(createDetailedMessage("Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of \"".concat(contentType, "\". Strict MIME type checking is enforced for module scripts per HTML spec."), _objectSpread2(_objectSpread2({}, getModuleDetails({ - url: url, - importerUrl: importerUrl, - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl - })), {}, { - suggestion: "Use import.meta.url or import assertions as documented in https://github.com/jsenv/jsenv-core/blob/master/docs/building/readme.md#How-to-reference-assets" - }))) : null; - }); -}); -var getModuleDetails = function getModuleDetails(_ref2) { - var url = _ref2.url, - importerUrl = _ref2.importerUrl, - compileServerOrigin = _ref2.compileServerOrigin, - compileDirectoryRelativeUrl = _ref2.compileDirectoryRelativeUrl, - _ref2$notFound = _ref2.notFound, - notFound = _ref2$notFound === void 0 ? false : _ref2$notFound; - var relativeUrl = tryToFindProjectRelativeUrl(url, { - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl - }); - var importerRelativeUrl = tryToFindProjectRelativeUrl(importerUrl, { - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl - }); - var details = notFound ? _objectSpread2(_objectSpread2(_objectSpread2({}, importerUrl ? _defineProperty({}, "import declared in", importerRelativeUrl || importerUrl) : {}), relativeUrl ? { - file: relativeUrl - } : {}), {}, _defineProperty({}, "file url", url)) : _objectSpread2(_objectSpread2({}, relativeUrl ? { - file: relativeUrl - } : {}), {}, _defineProperty({}, "file url", url), importerUrl ? _defineProperty({}, "imported by", importerRelativeUrl || importerUrl) : {}); - return details; -}; -var tryToFindProjectRelativeUrl = function tryToFindProjectRelativeUrl(url, _ref5) { - var compileServerOrigin = _ref5.compileServerOrigin, - compileDirectoryRelativeUrl = _ref5.compileDirectoryRelativeUrl; - if (!url) { - return null; - } +function _continue$2(value, then) { + return value && value.then ? value.then(then) : then(value); +} - if (!url.startsWith("".concat(compileServerOrigin, "/"))) { - return null; - } +var createBrowserSystem = function createBrowserSystem(_ref) { + var compileServerOrigin = _ref.compileServerOrigin, + compileDirectoryRelativeUrl = _ref.compileDirectoryRelativeUrl, + importResolver = _ref.importResolver, + fetchSource = _ref.fetchSource; - if (url === compileServerOrigin) { - return null; + if (typeof window.System === "undefined") { + throw new Error("window.System is undefined"); } - var afterOrigin = url.slice("".concat(compileServerOrigin, "/").length); - - if (!afterOrigin.startsWith(compileDirectoryRelativeUrl)) { - return null; - } + var browserSystem = window.System; - var afterCompileDirectory = afterOrigin.slice(compileDirectoryRelativeUrl.length); - return afterCompileDirectory; -}; // const textToBase64 = -// typeof window === "object" -// ? (text) => window.btoa(window.unescape(window.encodeURIComponent(text))) -// : (text) => Buffer.from(text, "utf8").toString("base64") + var _resolve = function resolve(specifier) { + var importer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.location.href; + return importResolver.resolveImport(specifier, importer); + }; -var applyDefaultExtension = function applyDefaultExtension(specifier, importer) { - if (!importer) { - return specifier; - } + browserSystem.resolve = _resolve; + var instantiate = browserSystem.instantiate; + browserSystem.instantiate = _async$7(function (url, importerUrl) { + var _exit = false; - var importerExtension = urlToExtension(importer); - var fakeUrl = new URL(specifier, importer).href; - var specifierExtension = urlToExtension(fakeUrl); + var _this = this; - if (specifierExtension !== "") { - return specifier; - } // I guess typescript still expect default extension to be .ts - // in a tsx file. + var _extractImportTypeFro = extractImportTypeFromUrl(url), + importType = _extractImportTypeFro.importType, + urlWithoutImportType = _extractImportTypeFro.urlWithoutImportType; + return _invoke$5(function () { + if (importType === "json") { + return _await$6(instantiateAsJsonModule(urlWithoutImportType, { + browserSystem: browserSystem, + fetchSource: fetchSource + }), function (jsonModule) { + _exit = true; + return jsonModule; + }); + } + }, function (_result) { + var _exit2 = false; + if (_exit) return _result; + return _invoke$5(function () { + if (importType === "css") { + return _await$6(instantiateAsCssModule(urlWithoutImportType, { + browserSystem: browserSystem, + importerUrl: importerUrl, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, + fetchSource: fetchSource + }), function (cssModule) { + _exit2 = true; + return cssModule; + }); + } + }, function (_result2) { + return _exit2 ? _result2 : _catch$4(function () { + return _await$6(instantiate.call(_this, url, importerUrl), function (registration) { + if (!registration) { + throw new Error("no registration found for JS at ".concat(url, "\n--- importer url ---\n").concat(importerUrl, "\n--- navigator.vendor ---\n").concat(window.navigator.vendor)); + } - if (importerExtension === "tsx") { - return "".concat(specifier, ".ts"); - } // extension magic + return registration; + }); + }, function (e) { + return _await$6(createDetailedInstantiateError({ + instantiateError: e, + url: url, + importerUrl: importerUrl, + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, + fetchSource: fetchSource + }), function (jsenvError) { + throw jsenvError; + }); + }); + }); + }); + }); + browserSystem.createContext = function (importerUrl) { + return { + url: importerUrl, + resolve: function resolve(specifier) { + return _resolve(specifier, importerUrl); + } + }; + }; - return "".concat(specifier).concat(importerExtension); + return browserSystem; }; -var urlToExtension = function urlToExtension(url) { - return pathnameToExtension(urlToPathname(url)); -}; +var extractImportTypeFromUrl = function extractImportTypeFromUrl(url) { + var urlObject = new URL(url); + var search = urlObject.search; + var searchParams = new URLSearchParams(search); + var importType = searchParams.get("import_type"); -var urlToPathname = function urlToPathname(url) { - return new URL(url).pathname; + if (!importType) { + return {}; + } + + searchParams.delete("import_type"); + urlObject.search = String(searchParams); + return { + importType: importType, + urlWithoutImportType: urlObject.href + }; }; -var pathnameToExtension = function pathnameToExtension(pathname) { - var slashLastIndex = pathname.lastIndexOf("/"); +var instantiateAsJsonModule = _async$7(function (url, _ref2) { + var browserSystem = _ref2.browserSystem, + fetchSource = _ref2.fetchSource; + return _await$6(fetchSource(url, { + contentTypeExpected: "application/json" + }), function (response) { + return _await$6(response.json(), function (json) { + browserSystem.register([], function (_export) { + return { + execute: function execute() { + _export("default", json); + } + }; + }); + var registration = browserSystem.getRegister(url); - if (slashLastIndex !== -1) { - pathname = pathname.slice(slashLastIndex + 1); - } + if (!registration) { + throw new Error("no registration found for JSON at ".concat(url, ". Navigator.vendor: ").concat(window.navigator.vendor, ". JSON text: ").concat(json)); + } - var dotLastIndex = pathname.lastIndexOf("."); - if (dotLastIndex === -1) return ""; // if (dotLastIndex === pathname.length - 1) return "" + return registration; + }); + }); +}); - var extension = pathname.slice(dotLastIndex); - return extension; -}; +var instantiateAsCssModule = _async$7(function (url, _ref3) { + var importerUrl = _ref3.importerUrl, + compileDirectoryRelativeUrl = _ref3.compileDirectoryRelativeUrl, + browserSystem = _ref3.browserSystem, + fetchSource = _ref3.fetchSource; + return _await$6(fetchSource(url, { + contentTypeExpected: "text/css" + }), function (response) { + // There is a logic inside "toolbar.eventsource.js" which is reloading + // all link rel="stylesheet" when file ending with ".css" are modified + // But here it would not work because we have to replace the css in + // the adopted stylsheet + all module importing this css module + // should be reinstantiated + // -> store a livereload callback forcing whole page reload + var compileDirectoryServerUrl = "".concat(window.location.origin, "/").concat(compileDirectoryRelativeUrl); + var originalFileRelativeUrl = response.url.slice(compileDirectoryServerUrl.length); -function _await$3(value, then, direct) { - if (direct) { - return then ? then(value) : value; - } + window.__jsenv__.livereloadingCallbacks[originalFileRelativeUrl] = function (_ref4) { + var reloadPage = _ref4.reloadPage; + reloadPage(); + }; - if (!value || !value.then) { - value = Promise.resolve(value); - } + return _await$6(response.text(), function (cssText) { + var cssTextWithBaseUrl = cssWithBaseUrl({ + cssText: cssText, + cssUrl: url, + baseUrl: importerUrl + }); + browserSystem.register([], function (_export) { + return { + execute: function execute() { + var sheet = new CSSStyleSheet(); + sheet.replaceSync(cssTextWithBaseUrl); - return then ? value.then(then) : value; -} + _export("default", sheet); + } + }; + }); + var registration = browserSystem.getRegister(url); -var createImportResolverForImportmap = function createImportResolverForImportmap(_ref) { - var compileServerOrigin = _ref.compileServerOrigin, - compileDirectoryRelativeUrl = _ref.compileDirectoryRelativeUrl, - importMap = _ref.importMap, - importMapUrl = _ref.importMapUrl, - importDefaultExtension = _ref.importDefaultExtension, - _ref$onBareSpecifierE = _ref.onBareSpecifierError, - onBareSpecifierError = _ref$onBareSpecifierE === void 0 ? function () {} : _ref$onBareSpecifierE; + if (!registration) { + throw new Error("no registration found for CSS at ".concat(url, ". Navigator.vendor: ").concat(window.navigator.vendor, ". CSS text: ").concat(cssTextWithBaseUrl)); + } - var _resolveImport = function _resolveImport(specifier, importer) { - if (importDefaultExtension) { - specifier = applyDefaultExtension(specifier, importer); - } + return registration; + }); + }); +}); // CSSStyleSheet accepts a "baseUrl" parameter +// as documented in https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/CSSStyleSheet#parameters +// Unfortunately the polyfill do not seems to implement it +// So we reuse "systemjs" strategy from https://github.com/systemjs/systemjs/blob/98609dbeef01ec62447e4b21449ce47e55f818bd/src/extras/module-types.js#L37 - return resolveImport({ - specifier: specifier, - importer: importer, - importMap: importMap, - createBareSpecifierError: function createBareSpecifierError(_ref2) { - var specifier = _ref2.specifier, - importer = _ref2.importer; - var bareSpecifierError = _createBareSpecifierError({ - specifier: specifier, - importer: tryToFindProjectRelativeUrl(importer, { - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl - }) || importer, - importMapUrl: tryToFindProjectRelativeUrl(importMapUrl, { - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl - }) || importMapUrl, - importMap: importMap - }); +var cssWithBaseUrl = function cssWithBaseUrl(_ref5) { + var cssUrl = _ref5.cssUrl, + cssText = _ref5.cssText, + baseUrl = _ref5.baseUrl; + var cssDirectoryUrl = new URL("./", cssUrl).href; + var baseDirectoryUrl = new URL("./", baseUrl).href; - onBareSpecifierError(bareSpecifierError); - return bareSpecifierError; - } - }); - }; + if (cssDirectoryUrl === baseDirectoryUrl) { + return cssText; + } - return _await$3({ - resolveImport: _resolveImport + var cssTextRelocated = cssText.replace(/url\(\s*(?:(["'])((?:\\.|[^\n\\"'])+)\1|((?:\\.|[^\s,"'()\\])+))\s*\)/g, function (match, quotes, relUrl1, relUrl2) { + var absoluteUrl = new URL(relUrl1 || relUrl2, cssUrl).href; + return "url(".concat(quotes).concat(absoluteUrl).concat(quotes, ")"); }); + return cssTextRelocated; }; -var _createBareSpecifierError = function _createBareSpecifierError(_ref3) { - var specifier = _ref3.specifier, - importer = _ref3.importer, - importMapUrl = _ref3.importMapUrl; - var detailedMessage = createDetailedMessage("Unmapped bare specifier.", _objectSpread2({ - specifier: specifier, - importer: importer - }, importMapUrl ? { - "how to fix": "Add a mapping for \"".concat(specifier, "\" into the importmap file at \"").concat(importMapUrl, "\"") - } : { - "how to fix": "Add an importmap with a mapping for \"".concat(specifier, "\""), - "suggestion": "Generate importmap using https://github.com/jsenv/importmap-node-module" - })); - return new Error(detailedMessage); -}; +var createDetailedInstantiateError = _async$7(function (_ref6) { + var _exit3 = false; + var instantiateError = _ref6.instantiateError, + url = _ref6.url, + importerUrl = _ref6.importerUrl, + compileServerOrigin = _ref6.compileServerOrigin, + compileDirectoryRelativeUrl = _ref6.compileDirectoryRelativeUrl, + fetchSource = _ref6.fetchSource; + var response; + return _continue$2(_catch$4(function () { + return _await$6(fetchSource(url, { + importerUrl: importerUrl, + contentTypeExpected: "application/javascript" + }), function (_fetchSource) { + response = _fetchSource; + }); + }, function (e) { + e.code = "NETWORK_FAILURE"; + _exit3 = true; + return e; + }), function (_result3) { + return _exit3 ? _result3 : _await$6(getJavaScriptModuleResponseError(response, { + url: url, + importerUrl: importerUrl, + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl + }), function (jsModuleResponseError) { + return jsModuleResponseError || instantiateError; + }); + }); +}); -/* eslint-env browser */ -var _window = window, - performance$1 = _window.performance; +var _window$1 = window, + performance$1 = _window$1.performance; function _rethrow(thrown, value) { if (thrown) throw value; @@ -3556,7 +3487,7 @@ function _finallyRethrows(body, finalizer) { return finalizer(false, result); } -function _async$3(f) { +function _async$6(f) { return function () { for (var args = [], i = 0; i < arguments.length; i++) { args[i] = arguments[i]; @@ -3570,857 +3501,1044 @@ function _async$3(f) { }; } -var measureAsyncFnPerf = performance$1 ? _async$3(function (fn, name) { +var measureAsyncFnPerf = performance$1 ? _async$6(function (fn, name) { var perfMarkStartName = "".concat(name, "_start"); performance$1.mark(perfMarkStartName); return _finallyRethrows(fn, function (_wasThrown, _result) { performance$1.measure(name, perfMarkStartName); return _rethrow(_wasThrown, _result); }); -}) : _async$3(function (fn) { +}) : _async$6(function (fn) { return fn(); }); -/* -* SJS 6.11.0 -* Minimal SystemJS Build -*/ -(function () { - function errMsg(errCode, msg) { - return (msg || "") + " (SystemJS https://git.io/JvFET#" + errCode + ")"; - } - - var hasSymbol = typeof Symbol !== 'undefined'; - var hasSelf = typeof self !== 'undefined'; - var hasDocument = typeof document !== 'undefined'; - var envGlobal = hasSelf ? self : global; - var baseUrl; +var makeModuleNamespaceTransferable = function makeModuleNamespaceTransferable(namespace) { + var transferableNamespace = {}; + Object.keys(namespace).forEach(function (key) { + var value = namespace[key]; + transferableNamespace[key] = isTransferable(value) ? value : hideNonTransferableValue(value); + }); + return transferableNamespace; +}; - if (hasDocument) { - var baseEl = document.querySelector('base[href]'); - if (baseEl) baseUrl = baseEl.href; +var hideNonTransferableValue = function hideNonTransferableValue(value) { + if (typeof value === "function") { + return "[[HIDDEN: ".concat(value.name, " function cannot be transfered]]"); } - if (!baseUrl && typeof location !== 'undefined') { - baseUrl = location.href.split('#')[0].split('?')[0]; - var lastSepIndex = baseUrl.lastIndexOf('/'); - if (lastSepIndex !== -1) baseUrl = baseUrl.slice(0, lastSepIndex + 1); + if (_typeof(value) === "symbol") { + return "[[HIDDEN: symbol function cannot be transfered]]"; } - var backslashRegEx = /\\/g; + return "[[HIDDEN: ".concat(value.constructor ? value.constructor.name : "object", " cannot be transfered]]"); +}; // https://stackoverflow.com/a/32673910/2634179 - function resolveIfNotPlainOrUrl(relUrl, parentUrl) { - if (relUrl.indexOf('\\') !== -1) relUrl = relUrl.replace(backslashRegEx, '/'); // protocol-relative - if (relUrl[0] === '/' && relUrl[1] === '/') { - return parentUrl.slice(0, parentUrl.indexOf(':') + 1) + relUrl; - } // relative-url - else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) || relUrl.length === 1 && (relUrl += '/')) || relUrl[0] === '/') { - var parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1); // Disabled, but these cases will give inconsistent results for deep backtracking - //if (parentUrl[parentProtocol.length] !== '/') - // throw Error('Cannot resolve'); - // read pathname from parent URL - // pathname taken to be part after leading "/" +var isTransferable = function isTransferable(value) { + var seenArray = []; - var pathname; + var visit = function visit() { + if (typeof value === "function") return false; + if (_typeof(value) === "symbol") return false; + if (value === null) return false; - if (parentUrl[parentProtocol.length + 1] === '/') { - // resolving to a :// so we need to read out the auth and host - if (parentProtocol !== 'file:') { - pathname = parentUrl.slice(parentProtocol.length + 2); - pathname = pathname.slice(pathname.indexOf('/') + 1); - } else { - pathname = parentUrl.slice(8); - } - } else { - // resolving to :/ so pathname is the /... part - pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === '/')); + if (_typeof(value) === "object") { + var constructorName = value.constructor.namespace; + + if (supportedTypes.includes(constructorName)) { + return true; } - if (relUrl[0] === '/') return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl; // join together and split for removal of .. and . segments - // looping the string instead of anything fancy for perf reasons - // '../../../../../z' resolved to 'x/y' is just 'z' + var maybe = maybeTypes.includes(constructorName); - var segmented = pathname.slice(0, pathname.lastIndexOf('/') + 1) + relUrl; - var output = []; - var segmentIndex = -1; + if (maybe) { + var visited = seenArray.includes(value); - for (var i = 0; i < segmented.length; i++) { - // busy reading a segment - only terminate on '/' - if (segmentIndex !== -1) { - if (segmented[i] === '/') { - output.push(segmented.slice(segmentIndex, i + 1)); - segmentIndex = -1; - } - } // new segment - check if it is relative - else if (segmented[i] === '.') { - // ../ segment - if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) { - output.pop(); - i += 2; - } // ./ segment - else if (segmented[i + 1] === '/' || i + 1 === segmented.length) { - i += 1; - } else { - // the start of a new segment as below - segmentIndex = i; - } - } // it is the start of a new segment - else { - segmentIndex = i; + if (visited) { + // we don't really know until we are done visiting the object + // implementing it properly means waiting for the recursion to be done + // let's just + return true; } - } // finish reading out the last segment + seenArray.push(value); + + if (constructorName === "Array" || constructorName === "Object") { + return Object.keys(value).every(function (key) { + return isTransferable(value[key]); + }); + } + + if (constructorName === "Map") { + return _toConsumableArray(value.keys()).every(isTransferable) && _toConsumableArray(value.values()).every(isTransferable); + } + + if (constructorName === "Set") { + return _toConsumableArray(value.keys()).every(isTransferable); + } + } // Error, DOM Node and others + + + return false; + } + + return true; + }; - if (segmentIndex !== -1) output.push(segmented.slice(segmentIndex)); - return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join(''); - } - } - /* - * Import maps implementation - * - * To make lookups fast we pre-resolve the entire import map - * and then match based on backtracked hash lookups - * - */ + return visit(value); +}; +var supportedTypes = ["Boolean", "Number", "String", "Date", "RegExp", "Blob", "FileList", "ImageData", "ImageBitmap", "ArrayBuffer"]; +var maybeTypes = ["Array", "Object", "Map", "Set"]; - function resolveUrl(relUrl, parentUrl) { - return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (relUrl.indexOf(':') !== -1 ? relUrl : resolveIfNotPlainOrUrl('./' + relUrl, parentUrl)); +function _await$5(value, then, direct) { + if (direct) { + return then ? then(value) : value; } - function resolveAndComposePackages(packages, outPackages, baseUrl, parentMap, parentUrl) { - for (var p in packages) { - var resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p; - var rhs = packages[p]; // package fallbacks not currently supported + if (!value || !value.then) { + value = Promise.resolve(value); + } - if (typeof rhs !== 'string') continue; - var mapped = resolveImportMap(parentMap, resolveIfNotPlainOrUrl(rhs, baseUrl) || rhs, parentUrl); + return then ? value.then(then) : value; +} - if (!mapped) { - targetWarning('W1', p, rhs); - } else outPackages[resolvedLhs] = mapped; - } +var memoizedCreateBrowserSystem = memoize(createBrowserSystem); + +function _invoke$4(body, then) { + var result = body(); + + if (result && result.then) { + return result.then(then); } - function resolveAndComposeImportMap(json, baseUrl, outMap) { - if (json.imports) resolveAndComposePackages(json.imports, outMap.imports, baseUrl, outMap, null); - var u; + return then(result); +} - for (u in json.scopes || {}) { - var resolvedScope = resolveUrl(u, baseUrl); - resolveAndComposePackages(json.scopes[u], outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), baseUrl, outMap, resolvedScope); +function _async$5(f) { + return function () { + for (var args = [], i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; } - for (u in json.depcache || {}) { - outMap.depcache[resolveUrl(u, baseUrl)] = json.depcache[u]; + try { + return Promise.resolve(f.apply(this, args)); + } catch (e) { + return Promise.reject(e); } + }; +} - for (u in json.integrity || {}) { - outMap.integrity[resolveUrl(u, baseUrl)] = json.integrity[u]; - } +function _catch$3(body, recover) { + try { + var result = body(); + } catch (e) { + return recover(e); } - function getMatch(path, matchObj) { - if (matchObj[path]) return path; - var sepIndex = path.length; - - do { - var segment = path.slice(0, sepIndex + 1); - if (segment in matchObj) return segment; - } while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1); + if (result && result.then) { + return result.then(void 0, recover); } - function applyPackages(id, packages) { - var pkgName = getMatch(id, packages); + return result; +} - if (pkgName) { - var pkg = packages[pkgName]; - if (pkg === null) return; +function _continue$1(value, then) { + return value && value.then ? value.then(then) : then(value); +} - if (id.length > pkgName.length && pkg[pkg.length - 1] !== '/') { - targetWarning('W2', pkgName, pkg); - } else return pkg + id.slice(pkgName.length); - } - } +var createBrowserClient = _async$5(function (_ref) { + var compileServerOrigin = _ref.compileServerOrigin, + jsenvDirectoryRelativeUrl = _ref.jsenvDirectoryRelativeUrl, + compileId = _ref.compileId; - function targetWarning(code, match, target, msg) { - console.warn(errMsg(code, [target, match].join(', '))); - } + var fetchSource = function fetchSource(url, _ref2) { + var contentTypeExpected = _ref2.contentTypeExpected; + return fetchUrl(url, { + credentials: "same-origin", + contentTypeExpected: contentTypeExpected + }); + }; - function resolveImportMap(importMap, resolvedOrPlain, parentUrl) { - var scopes = importMap.scopes; - var scopeUrl = parentUrl && getMatch(parentUrl, scopes); + var fetchJson = _async$5(function (url) { + return _await$5(fetchSource(url, { + contentTypeExpected: "application/json" + }), function (response) { + return _await$5(response.json()); + }); + }); - while (scopeUrl) { - var packageResolution = applyPackages(resolvedOrPlain, scopes[scopeUrl]); - if (packageResolution) return packageResolution; - scopeUrl = getMatch(scopeUrl.slice(0, scopeUrl.lastIndexOf('/')), scopes); - } + var compileServerMetaUrl = String(new URL("__jsenv_compile_profile__", "".concat(compileServerOrigin, "/"))); + return _await$5(fetchJson(compileServerMetaUrl), function (_ref3) { + var importDefaultExtension = _ref3.importDefaultExtension; + var compileDirectoryRelativeUrl = "".concat(jsenvDirectoryRelativeUrl).concat(compileId, "/"); // if there is an importmap in the document we use it instead of fetching. + // systemjs style with systemjs-importmap - return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain; - } - /* - * SystemJS Core - * - * Provides - * - System.import - * - System.register support for - * live bindings, function hoisting through circular references, - * reexports, dynamic import, import.meta.url, top-level await - * - System.getRegister to get the registration - * - Symbol.toStringTag support in Module objects - * - Hookable System.createContext to customize import.meta - * - System.onload(err, id, deps) handler for tracing / hot-reloading - * - * Core comes with no System.prototype.resolve or - * System.prototype.instantiate implementations - */ + var importmapScript = document.querySelector("script[type=\"systemjs-importmap\"]"); + var importMap; + var importMapUrl; + return _invoke$4(function () { + if (importmapScript) { + var importmapRaw; + return _invoke$4(function () { + if (importmapScript.src) { + importMapUrl = importmapScript.src; + return _await$5(fetchSource(importMapUrl, { + contentTypeExpected: "application/importmap+json" + }), function (importmapFileResponse) { + var _temp = importmapFileResponse.status === 404; + return _await$5(_temp ? {} : importmapFileResponse.json(), function (_importmapFileRespons) { + importmapRaw = _importmapFileRespons; + }, _temp); + }); + } else { + importMapUrl = document.location.href; + importmapRaw = JSON.parse(importmapScript.textContent) || {}; + } + }, function () { + importMap = normalizeImportMap(importmapRaw, importMapUrl); + }); + } + }, function () { + return _await$5(createImportResolverForImportmap({ + // projectDirectoryUrl, + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, + importMap: importMap, + importMapUrl: importMapUrl, + importDefaultExtension: importDefaultExtension + }), function (importResolver) { + var importFile = _async$5(function (specifier) { + return _await$5(memoizedCreateBrowserSystem({ + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, + fetchSource: fetchSource, + importResolver: importResolver + }), function (browserSystem) { + return browserSystem.import(specifier); + }); + }); - var toStringTag = hasSymbol && Symbol.toStringTag; - var REGISTRY = hasSymbol ? Symbol() : '@'; + var executeFile = _async$5(function (specifier) { + var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref4$transferableNam = _ref4.transferableNamespace, + transferableNamespace = _ref4$transferableNam === void 0 ? false : _ref4$transferableNam, + _ref4$executionExposu = _ref4.executionExposureOnWindow, + executionExposureOnWindow = _ref4$executionExposu === void 0 ? false : _ref4$executionExposu, + _ref4$errorTransform = _ref4.errorTransform, + errorTransform = _ref4$errorTransform === void 0 ? function (error) { + return error; + } : _ref4$errorTransform, + measurePerformance = _ref4.measurePerformance; - function SystemJS() { - this[REGISTRY] = {}; - } + return _await$5(memoizedCreateBrowserSystem({ + compileServerOrigin: compileServerOrigin, + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, + fetchSource: fetchSource, + importResolver: importResolver + }), function (browserSystem) { + var importUsingSystemJs = _async$5(function () { + return _catch$3(function () { + return _await$5(browserSystem.import(specifier), function (namespace) { + if (transferableNamespace) { + namespace = makeModuleNamespaceTransferable(namespace); + } - var systemJSPrototype = SystemJS.prototype; + return { + status: "completed", + namespace: namespace, + coverage: readCoverage$1() + }; + }); + }, function (error) { + var transformedError; + return _continue$1(_catch$3(function () { + return _await$5(errorTransform(error), function (_errorTransform) { + transformedError = _errorTransform; + }); + }, function () { + transformedError = error; + }), function () { + return { + status: "errored", + error: transformedError, + coverage: readCoverage$1() + }; + }); + }); + }); - systemJSPrototype.import = function (id, parentUrl) { - var loader = this; - return Promise.resolve(loader.prepareImport()).then(function () { - return loader.resolve(String(id), parentUrl); - }).then(function (id) { - var load = getOrCreateLoad(loader, id); - return load.C || topLevelLoad(loader, load); + return _await$5(measurePerformance ? measureAsyncFnPerf(importUsingSystemJs, "jsenv_file_import") : importUsingSystemJs(), function (executionResult) { + if (executionExposureOnWindow) { + window.__executionResult__ = executionResult; + } + + return executionResult; + }); + }); + }); + + return { + compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, + importFile: importFile, + executeFile: executeFile + }; + }); }); - }; // Hookable createContext function -> allowing eg custom import meta + }); +}); + +var readCoverage$1 = function readCoverage() { + return window.__coverage__; +}; +/* eslint-env browser, node */ +var DataUrl = { + parse: function parse(string) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$as = _ref.as, + as = _ref$as === void 0 ? "raw" : _ref$as; + + var afterDataProtocol = string.slice("data:".length); + var commaIndex = afterDataProtocol.indexOf(","); + var beforeComma = afterDataProtocol.slice(0, commaIndex); + var mediaType; + var base64Flag; + + if (beforeComma.endsWith(";base64")) { + mediaType = beforeComma.slice(0, -";base64".length); + base64Flag = true; + } else { + mediaType = beforeComma; + base64Flag = false; + } - systemJSPrototype.createContext = function (parentId) { - var loader = this; + var afterComma = afterDataProtocol.slice(commaIndex + 1); return { - url: parentId, - resolve: function resolve(id, parentUrl) { - return Promise.resolve(loader.resolve(id, parentUrl || parentId)); - } + mediaType: mediaType === "" ? "text/plain;charset=US-ASCII" : mediaType, + base64Flag: base64Flag, + data: as === "string" && base64Flag ? base64ToString(afterComma) : afterComma }; - }; + }, + stringify: function stringify(_ref2) { + var mediaType = _ref2.mediaType, + _ref2$base64Flag = _ref2.base64Flag, + base64Flag = _ref2$base64Flag === void 0 ? true : _ref2$base64Flag, + data = _ref2.data; + + if (!mediaType || mediaType === "text/plain;charset=US-ASCII") { + // can be a buffer or a string, hence check on data.length instead of !data or data === '' + if (data.length === 0) { + return "data:,"; + } - var lastRegister; + if (base64Flag) { + return "data:,".concat(data); + } - systemJSPrototype.register = function (deps, declare) { - lastRegister = [deps, declare]; - }; - /* - * getRegister provides the last anonymous System.register call - */ + return "data:,".concat(dataToBase64(data)); + } + if (base64Flag) { + return "data:".concat(mediaType, ";base64,").concat(dataToBase64(data)); + } - systemJSPrototype.getRegister = function () { - var _lastRegister = lastRegister; - lastRegister = undefined; - return _lastRegister; - }; + return "data:".concat(mediaType, ",").concat(data); + } +}; +var dataToBase64 = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" ? window.atob : function (data) { + return Buffer.from(data).toString("base64"); +}; +var base64ToString = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" ? window.btoa : function (base64String) { + return Buffer.from(base64String, "base64").toString("utf8"); +}; - function getOrCreateLoad(loader, id, firstParentUrl) { - var load = loader[REGISTRY][id]; - if (load) return load; - var importerSetters = []; - var ns = Object.create(null); - if (toStringTag) Object.defineProperty(ns, toStringTag, { - value: 'Module' +var getJavaScriptSourceMappingUrl = function getJavaScriptSourceMappingUrl(javaScriptSource) { + var sourceMappingUrl; + replaceSourceMappingUrl(javaScriptSource, javascriptSourceMappingUrlCommentRegexp, function (value) { + sourceMappingUrl = value; + }); + return sourceMappingUrl; +}; +var javascriptSourceMappingUrlCommentRegexp = /\/\/ ?# ?sourceMappingURL=([^\s'"]+)/g; + +var replaceSourceMappingUrl = function replaceSourceMappingUrl(source, regexp, callback) { + var lastSourceMappingUrl; + var matchSourceMappingUrl; + + while (matchSourceMappingUrl = regexp.exec(source)) { + lastSourceMappingUrl = matchSourceMappingUrl; + } + + if (lastSourceMappingUrl) { + var index = lastSourceMappingUrl.index; + var before = source.slice(0, index); + var after = source.slice(index); + var mappedAfter = after.replace(regexp, function (match, firstGroup) { + return callback(firstGroup); }); - var instantiatePromise = Promise.resolve().then(function () { - return loader.instantiate(id, firstParentUrl); - }).then(function (registration) { - if (!registration) throw Error(errMsg(2, id)); + return "".concat(before).concat(mappedAfter); + } - function _export(name, value) { - // note if we have hoisted exports (including reexports) - load.h = true; - var changed = false; + return source; +}; - if (typeof name === 'string') { - if (!(name in ns) || ns[name] !== value) { - ns[name] = value; - changed = true; - } - } else { - for (var p in name) { - var value = name[p]; +var startsWithWindowsDriveLetter = function startsWithWindowsDriveLetter(string) { + var firstChar = string[0]; + if (!/[a-zA-Z]/.test(firstChar)) return false; + var secondChar = string[1]; + if (secondChar !== ":") return false; + return true; +}; +var windowsFilePathToUrl = function windowsFilePathToUrl(windowsFilePath) { + return "file:///".concat(replaceBackSlashesWithSlashes(windowsFilePath)); +}; +var replaceBackSlashesWithSlashes = function replaceBackSlashesWithSlashes(string) { + return string.replace(/\\/g, "/"); +}; - if (!(p in ns) || ns[p] !== value) { - ns[p] = value; - changed = true; - } - } +function _await$4(value, then, direct) { + if (direct) { + return then ? then(value) : value; + } - if (name && name.__esModule) { - ns.__esModule = name.__esModule; - } - } + if (!value || !value.then) { + value = Promise.resolve(value); + } - if (changed) for (var i = 0; i < importerSetters.length; i++) { - var setter = importerSetters[i]; - if (setter) setter(ns); - } - return value; - } + return then ? value.then(then) : value; +} - var declared = registration[1](_export, registration[1].length === 2 ? { - import: function _import(importId) { - return loader.import(importId, id); - }, - meta: loader.createContext(id) - } : undefined); +function _invoke$3(body, then) { + var result = body(); - load.e = declared.execute || function () {}; + if (result && result.then) { + return result.then(then); + } - return [registration[0], declared.setters || []]; - }, function (err) { - load.e = null; - load.er = err; - throw err; - }); - var linkPromise = instantiatePromise.then(function (instantiation) { - return Promise.all(instantiation[0].map(function (dep, i) { - var setter = instantiation[1][i]; - return Promise.resolve(loader.resolve(dep, id)).then(function (depId) { - var depLoad = getOrCreateLoad(loader, depId, id); // depLoad.I may be undefined for already-evaluated + return then(result); +} - return Promise.resolve(depLoad.I).then(function () { - if (setter) { - depLoad.i.push(setter); // only run early setters when there are hoisted exports of that module - // the timing works here as pending hoisted export calls will trigger through importerSetters +function _async$4(f) { + return function () { + for (var args = [], i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; + } - if (depLoad.h || !depLoad.I) setter(depLoad.n); - } + try { + return Promise.resolve(f.apply(this, args)); + } catch (e) { + return Promise.reject(e); + } + }; +} - return depLoad; - }); - }); - })).then(function (depLoads) { - load.d = depLoads; - }); - }); // Capital letter = a promise function +var remapCallSite = _async$4(function (callSite, _ref) { + var _exit = false; + var urlToSourcemapConsumer = _ref.urlToSourcemapConsumer, + resolveFile = _ref.resolveFile, + readErrorStack = _ref.readErrorStack, + onFailure = _ref.onFailure; - return load = loader[REGISTRY][id] = { - id: id, - // importerSetters, the setters functions registered to this dependency - // we retain this to add more later - i: importerSetters, - // module namespace object - n: ns, - // instantiate - I: instantiatePromise, - // link - L: linkPromise, - // whether it has hoisted exports - h: false, - // On instantiate completion we have populated: - // dependency load records - d: undefined, - // execution function - e: undefined, - // On execution we have populated: - // the execution error if any - er: undefined, - // in the case of TLA, the execution promise - E: undefined, - // On execution, L, I, E cleared - // Promise for top-level completion - C: undefined, - // parent instantiator / executor - p: undefined - }; - } + if (callSite.isNative()) { + return callSite; + } // Most call sites will return the source file from getFileName(), but code + // passed to eval() ending in "//# sourceURL=..." will return the source file + // from getScriptNameOrSourceURL() instead - function instantiateAll(loader, load, parent, loaded) { - if (!loaded[load.id]) { - loaded[load.id] = true; // load.L may be undefined for already-instantiated - return Promise.resolve(load.L).then(function () { - if (!load.p || load.p.e === null) load.p = parent; - return Promise.all(load.d.map(function (dep) { - return instantiateAll(loader, dep, parent, loaded); - })); - }).catch(function (err) { - if (load.er) throw err; - load.e = null; - throw err; - }); - } - } + var source = callSite.getFileName() || callSite.getScriptNameOrSourceURL(); + return _invoke$3(function () { + if (source) { + var line = callSite.getLineNumber(); + var column = callSite.getColumnNumber() - 1; + return _await$4(remapSourcePosition({ + source: source, + line: line, + column: column, + resolveFile: resolveFile, + urlToSourcemapConsumer: urlToSourcemapConsumer, + readErrorStack: readErrorStack, + onFailure: onFailure + }), function (originalPosition) { + var callSiteClone = cloneCallSite(callSite); - function topLevelLoad(loader, load) { - return load.C = instantiateAll(loader, load, load, {}).then(function () { - return postOrderExec(loader, load, {}); - }).then(function () { - return load.n; - }); - } // the closest we can get to call(undefined) + callSiteClone.getFunctionName = function () { + return originalPosition.name || callSite.getFunctionName(); + }; + callSiteClone.getFileName = function () { + return originalPosition.source; + }; - var nullContext = Object.freeze(Object.create(null)); // returns a promise if and only if a top-level await subgraph - // throws on sync errors + callSiteClone.getLineNumber = function () { + return originalPosition.line; + }; - function postOrderExec(loader, load, seen) { - if (seen[load.id]) return; - seen[load.id] = true; + callSiteClone.getColumnNumber = function () { + return originalPosition.column + 1; + }; - if (!load.e) { - if (load.er) throw load.er; - if (load.E) return load.E; - return; - } // deps execute first, unless circular + callSiteClone.getScriptNameOrSourceURL = function () { + return originalPosition.source; + }; + _exit = true; + return callSiteClone; + }); + } + }, function (_result) { + var _exit2 = false; + if (_exit) return _result; + // Code called using eval() needs special handling + return _invoke$3(function () { + if (callSite.isEval()) { + var origin = callSite.getEvalOrigin(); + return _invoke$3(function () { + if (origin) { + var callSiteClone = cloneCallSite(callSite); + return _await$4(remapEvalOrigin(origin, { + resolveFile: resolveFile, + urlToSourcemapConsumer: urlToSourcemapConsumer, + readErrorStack: readErrorStack, + onFailure: onFailure + }), function (originalEvalOrigin) { + callSiteClone.getEvalOrigin = function () { + return originalEvalOrigin; + }; - var depLoadPromises; - load.d.forEach(function (depLoad) { - try { - var depLoadPromise = postOrderExec(loader, depLoad, seen); - if (depLoadPromise) (depLoadPromises = depLoadPromises || []).push(depLoadPromise); - } catch (err) { - load.e = null; - load.er = err; - throw err; + _exit2 = true; + return callSiteClone; + }); + } + }, function (_result2) { + if (_exit2) return _result2; + _exit2 = true; + return callSite; + }); } - }); - if (depLoadPromises) return Promise.all(depLoadPromises).then(doExec); - return doExec(); + }, function (_result3) { + return _exit2 ? _result3 : callSite; + }); // If we get here then we were unable to change the source position + }); +}); - function doExec() { - try { - var execPromise = load.e.call(nullContext); +var cloneCallSite = function cloneCallSite(callSite) { + var callSiteClone = {}; + methods.forEach(function (name) { + callSiteClone[name] = function () { + return callSite[name](); + }; + }); - if (execPromise) { - execPromise = execPromise.then(function () { - load.C = load.n; - load.E = null; // indicates completion + callSiteClone.toString = function () { + return callSiteToFunctionCall(callSiteClone); + }; - if (!true) ; - }, function (err) { - load.er = err; - load.E = null; - if (!true) ; - throw err; - }); - return load.E = execPromise; - } // (should be a promise, but a minify optimization to leave out Promise.resolve) + return callSiteClone; +}; +var methods = ["getColumnNumber", "getEvalOrigin", "getFileName", "getFunction", "getFunctionName", "getLineNumber", "getMethodName", "getPosition", "getScriptNameOrSourceURL", "getThis", "getTypeName", "isConstructor", "isEval", "isNative", "isToplevel", "toString"]; - load.C = load.n; - load.L = load.I = undefined; - } catch (err) { - load.er = err; - throw err; - } finally { - load.e = null; - } - } +var callSiteToFunctionCall = function callSiteToFunctionCall(callSite) { + var fileLocation = callSiteToFileLocation(callSite); + var isConstructor = callSite.isConstructor(); + var isMethodCall = !callSite.isToplevel() && !isConstructor; + + if (isMethodCall) { + return "".concat(callSiteToMethodCall(callSite), " (").concat(fileLocation, ")"); } - envGlobal.System = new SystemJS(); - /* - * SystemJS browser attachments for script and import map processing - */ + var functionName = callSite.getFunctionName(); - var importMapPromise = Promise.resolve(); - var importMap = { - imports: {}, - scopes: {}, - depcache: {}, - integrity: {} - }; - systemJSPrototype.importMap = importMap; - systemJSPrototype.baseUrl = baseUrl; // Scripts are processed immediately, on the first System.import, and on DOMReady. - // Import map scripts are processed only once (by being marked) and in order for each phase. - // This is to avoid using DOM mutation observers in core, although that would be an alternative. + if (isConstructor) { + return "new ".concat(functionName || "", " (").concat(fileLocation, ")"); + } - var processFirst = hasDocument; + if (functionName) { + return "".concat(functionName, " (").concat(fileLocation, ")"); + } - systemJSPrototype.prepareImport = function (doProcessScripts) { - if (processFirst || doProcessScripts) { - processScripts(); - processFirst = false; - } + return "".concat(fileLocation); +}; - return importMapPromise; - }; +var callSiteToMethodCall = function callSiteToMethodCall(callSite) { + var functionName = callSite.getFunctionName(); + var typeName = callSiteToType(callSite); - if (hasDocument) { - processScripts(); - window.addEventListener('DOMContentLoaded', processScripts); + if (!functionName) { + return "".concat(typeName, "."); } - function processScripts() { - [].forEach.call(document.querySelectorAll('script'), function (script) { - if (script.sp) // sp marker = systemjs processed - return; // TODO: deprecate systemjs-module in next major now that we have auto import + var methodName = callSite.getMethodName(); + var as = generateAs({ + methodName: methodName, + functionName: functionName + }); - if (script.type === 'systemjs-module') { - script.sp = true; - if (!script.src) return; - System.import(script.src.slice(0, 7) === 'import:' ? script.src.slice(7) : resolveUrl(script.src, baseUrl)).catch(function (e) { - // if there is a script load error, dispatch an "error" event - // on the script tag. - if (e.message.indexOf('https://git.io/JvFET#3') > -1) { - var event = document.createEvent('Event'); - event.initEvent('error', false, false); - script.dispatchEvent(event); - } + if (typeName && !functionName.startsWith(typeName)) { + return "".concat(typeName, ".").concat(functionName).concat(as); + } - return Promise.reject(e); - }); - } else if (script.type === 'systemjs-importmap') { - script.sp = true; - var fetchPromise = script.src ? fetch(script.src, { - integrity: script.integrity - }).then(function (res) { - if (!res.ok) throw Error(res.status); - return res.text(); - }).catch(function (err) { - err.message = errMsg('W4', script.src) + '\n' + err.message; - console.warn(err); + return "".concat(functionName).concat(as); +}; - if (typeof script.onerror === 'function') { - script.onerror(); - } +var generateAs = function generateAs(_ref2) { + var methodName = _ref2.methodName, + functionName = _ref2.functionName; + if (!methodName) return ""; + if (functionName.indexOf(".".concat(methodName)) === functionName.length - methodName.length - 1) return ""; + return " [as ".concat(methodName, "]"); +}; - return '{}'; - }) : script.innerHTML; - importMapPromise = importMapPromise.then(function () { - return fetchPromise; - }).then(function (text) { - extendImportMap(importMap, text, script.src || baseUrl); - return importMap; - }); - } - }); +var callSiteToType = function callSiteToType(callSite) { + var typeName = callSite.getTypeName(); // Fixes shim to be backward compatible with Node v0 to v4 + + if (typeName === "[object Object]") { + return "null"; } - function extendImportMap(importMap, newMapText, newMapUrl) { - var newMap = {}; + return typeName; +}; - try { - newMap = JSON.parse(newMapText); - } catch (err) { - console.warn(Error(errMsg('W5'))); - } +var callSiteToFileLocation = function callSiteToFileLocation(callSite) { + if (callSite.isNative()) return "native"; + var sourceFile = callSiteToSourceFile(callSite); + var lineNumber = callSite.getLineNumber(); - resolveAndComposeImportMap(newMap, newMapUrl, importMap); + if (lineNumber === null) { + return sourceFile; } - System.extendImportMap = extendImportMap; - /* - * Script instantiation loading - */ + var columnNumber = callSite.getColumnNumber(); - if (hasDocument) { - window.addEventListener('error', function (evt) { - lastWindowErrorUrl = evt.filename; - lastWindowError = evt.error; - }); - var baseOrigin = location.origin; + if (!columnNumber) { + return "".concat(sourceFile, ":").concat(lineNumber); } - systemJSPrototype.createScript = function (url) { - var script = document.createElement('script'); - script.async = true; // Only add cross origin for actual cross origin - // this is because Safari triggers for all - // - https://bugs.webkit.org/show_bug.cgi?id=171566 + return "".concat(sourceFile, ":").concat(lineNumber, ":").concat(columnNumber); +}; - if (url.indexOf(baseOrigin + '/')) script.crossOrigin = 'anonymous'; - var integrity = importMap.integrity[url]; - if (integrity) script.integrity = integrity; - script.src = url; - return script; - }; // Auto imports -> script tags can be inlined directly for load phase +var callSiteToSourceFile = function callSiteToSourceFile(callSite) { + var fileName = callSite.getScriptNameOrSourceURL(); + + if (fileName) { + return fileName; + } // Source code does not originate from a file and is not native, but we + // can still get the source position inside the source string, e.g. in + // an eval string. - var lastAutoImportDeps, lastAutoImportTimeout; - var autoImportCandidates = {}; - var systemRegister = systemJSPrototype.register; - var inlineScriptCount = 0; + if (callSite.isEval()) { + return "".concat(callSite.getEvalOrigin(), ", "); + } - systemJSPrototype.register = function (deps, declare, autoUrl) { - if (hasDocument && document.readyState === 'loading' && typeof deps !== 'string') { - var scripts = document.querySelectorAll('script[src]'); - var lastScript = scripts[scripts.length - 1]; - var lastAutoImportUrl; - lastAutoImportDeps = deps; + return ""; +}; // Parses code generated by FormatEvalOrigin(), a function inside V8: +// https://code.google.com/p/v8/source/browse/trunk/src/messages.js - if (lastScript && lastScript.src) { - lastAutoImportUrl = lastScript.src; - } else if (autoUrl) { - lastAutoImportUrl = autoUrl; - } else { - inlineScriptCount++; - lastAutoImportUrl = document.location.href + "__inline_script__" + inlineScriptCount; - } // if this is already a System load, then the instantiate has already begun - // so this re-import has no consequence +var remapEvalOrigin = _async$4(function (origin, _ref3) { + var _exit3 = false; + var resolveFile = _ref3.resolveFile, + urlToSourcemapConsumer = _ref3.urlToSourcemapConsumer, + onFailure = _ref3.onFailure; + // Most eval() calls are in this format + var topLevelEvalMatch = /^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(origin); + return _invoke$3(function () { + if (topLevelEvalMatch) { + var source = topLevelEvalMatch[2]; + var line = Number(topLevelEvalMatch[3]); + var column = topLevelEvalMatch[4] - 1; + return _await$4(remapSourcePosition({ + source: source, + line: line, + column: column, + resolveFile: resolveFile, + urlToSourcemapConsumer: urlToSourcemapConsumer, + onFailure: onFailure + }), function (originalPosition) { + var _temp = "eval at ".concat(topLevelEvalMatch[1], " (").concat(originalPosition.source, ":").concat(originalPosition.line, ":").concat(originalPosition.column + 1, ")"); - var loader = this; - lastAutoImportTimeout = setTimeout(function () { - autoImportCandidates[lastAutoImportUrl] = [deps, declare]; - loader.import(lastAutoImportUrl); + _exit3 = true; + return _temp; }); - } else { - lastAutoImportDeps = undefined; } + }, function (_result4) { + var _exit4 = false; + if (_exit3) return _result4; + // Parse nested eval() calls using recursion + var nestedEvalMatch = /^eval at ([^(]+) \((.+)\)$/.exec(origin); + return _invoke$3(function () { + if (nestedEvalMatch) { + return _await$4(remapEvalOrigin(nestedEvalMatch[2], { + resolveFile: resolveFile, + urlToSourcemapConsumer: urlToSourcemapConsumer, + onFailure: onFailure + }), function (originalEvalOrigin) { + var _temp2 = "eval at ".concat(nestedEvalMatch[1], " (").concat(originalEvalOrigin, ")"); - return systemRegister.call(this, deps, declare); + _exit4 = true; + return _temp2; + }); + } + }, function (_result5) { + return _exit4 ? _result5 : origin; + }); // Make sure we still return useful information if we didn't find anything + }); +}); + +var remapSourcePosition = _async$4(function (_ref4) { + var source = _ref4.source, + line = _ref4.line, + column = _ref4.column, + resolveFile = _ref4.resolveFile, + urlToSourcemapConsumer = _ref4.urlToSourcemapConsumer, + readErrorStack = _ref4.readErrorStack, + onFailure = _ref4.onFailure; + var position = { + source: source, + line: line, + column: column }; + var url = sourceToUrl(source, { + resolveFile: resolveFile + }); + return url ? _await$4(urlToSourcemapConsumer(url), function (sourceMapConsumer) { + if (!sourceMapConsumer) return position; - var lastWindowErrorUrl, lastWindowError; + try { + var originalPosition = sourceMapConsumer.originalPositionFor(position); // Only return the original position if a matching line was found. If no + // matching line is found then we return position instead, which will cause + // the stack trace to print the path and line for the compiled file. It is + // better to give a precise location in the compiled file than a vague + // location in the original file. - systemJSPrototype.instantiate = function (url, firstParentUrl) { - var autoImportRegistration = autoImportCandidates[url]; + var originalSource = originalPosition.source; + if (originalSource === null) return position; + originalPosition.source = resolveFile(originalSource, url, { + type: "file-original" + }); + return originalPosition; + } catch (e) { + var _createDetailedMessag; - if (autoImportRegistration) { - delete autoImportCandidates[url]; - return autoImportRegistration; + onFailure(createDetailedMessage("error while remapping position.", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, "error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag, "source", source), _defineProperty(_createDetailedMessag, "line", line), _defineProperty(_createDetailedMessag, "column", column), _createDetailedMessag))); + return position; } + }) : position; +}); - var loader = this; - return Promise.resolve(systemJSPrototype.createScript(url)).then(function (script) { - return new Promise(function (resolve, reject) { - script.addEventListener('error', function () { - reject(Error(errMsg(3, [url, firstParentUrl].join(', ')))); - }); - script.addEventListener('load', function () { - document.head.removeChild(script); // Note that if an error occurs that isn't caught by this if statement, - // that getRegister will return null and a "did not instantiate" error will be thrown. +var sourceToUrl = function sourceToUrl(source, _ref5) { + var resolveFile = _ref5.resolveFile; - if (lastWindowErrorUrl === url) { - reject(lastWindowError); - } else { - var register = loader.getRegister(url); // Clear any auto import registration for dynamic import scripts during load + if (startsWithScheme(source)) { + return source; + } // linux filesystem path - if (register && register[0] === lastAutoImportDeps) clearTimeout(lastAutoImportTimeout); - resolve(register); - } - }); - document.head.appendChild(script); - }); - }); - }; - /* - * Fetch loader, sets up shouldFetch and fetch hooks - */ + if (source[0] === "/") { + return resolveFile(source); + } // be careful, due to babel or something like that we might receive paths like + // C:/directory/file.js (without backslashes we would expect on windows) + // In that case we consider C: is the signe we are on windows + // And I avoid to rely on process.platform === "win32" because this file might be executed in chrome - systemJSPrototype.shouldFetch = function () { - return false; - }; - if (typeof fetch !== 'undefined') systemJSPrototype.fetch = fetch; - var instantiate = systemJSPrototype.instantiate; - var jsContentTypeRegEx = /^(text|application)\/(x-)?javascript(;|$)/; + if (startsWithWindowsDriveLetter(source)) { + return windowsFilePathToUrl(source); + } // I don't think we will ever encounter relative file in the stack trace + // but if it ever happens we are safe :) - systemJSPrototype.instantiate = function (url, parent) { - var loader = this; - if (!this.shouldFetch(url)) return instantiate.apply(this, arguments); - return this.fetch(url, { - credentials: 'same-origin', - integrity: importMap.integrity[url] - }).then(function (res) { - if (!res.ok) throw Error(errMsg(7, [res.status, res.statusText, url, parent].join(', '))); - var contentType = res.headers.get('content-type'); - if (!contentType || !jsContentTypeRegEx.test(contentType)) throw Error(errMsg(4, contentType)); - return res.text().then(function (source) { - if (source.indexOf('//# sourceURL=') < 0) source += '\n//# sourceURL=' + url; - (0, eval)(source); - return loader.getRegister(url); - }); - }); - }; - systemJSPrototype.resolve = function (id, parentUrl) { - parentUrl = parentUrl || !true || baseUrl; - return resolveImportMap(importMap, resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl) || throwUnresolved(id, parentUrl); - }; + if (source.slice(0, 2) === "./" || source.slice(0, 3) === "../") { + return resolveFile(source); + } // we have received a "bare specifier" for the source + // it happens for internal/process/task_queues.js for instance + // if we do return resolveFile(source) it will be converted to + // file:///C:/project-directory/internal/process/task_queues.js in node + // and + // http://domain.com/internal/process/task_queues.js + // but the file will certainly be a 404 + // and if not it won't be the right file anyway + // for now we assume "bare specifier" in the stack trace + // are internal files that are pointless to try to remap - function throwUnresolved(id, parentUrl) { - throw Error(errMsg(8, [id, parentUrl].join(', '))); + + return null; +}; + +var startsWithScheme = function startsWithScheme(string) { + return /^[a-zA-Z]{2,}:/.test(string); +}; + +function _await$3(value, then, direct) { + if (direct) { + return then ? then(value) : value; } - var systemInstantiate = systemJSPrototype.instantiate; + if (!value || !value.then) { + value = Promise.resolve(value); + } - systemJSPrototype.instantiate = function (url, firstParentUrl) { - var preloads = importMap.depcache[url]; + return then ? value.then(then) : value; +} - if (preloads) { - for (var i = 0; i < preloads.length; i++) { - getOrCreateLoad(this, this.resolve(preloads[i], url), url); - } +function _async$3(f) { + return function () { + for (var args = [], i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; } - return systemInstantiate.call(this, url, firstParentUrl); + try { + return Promise.resolve(f.apply(this, args)); + } catch (e) { + return Promise.reject(e); + } }; - /* - * Supports loading System.register in workers - */ - - - if (hasSelf && typeof importScripts === 'function') { - systemJSPrototype.instantiate = function (url) { - var loader = this; - return self.fetch(url, { - credentials: 'same-origin' - }).then(function (response) { - if (!response.ok) { - throw Error(errMsg(7, [response.status, response.statusText, url].join(', '))); - } +} - return response.text(); - }).then(function (source) { - if (source.indexOf('//# sourceURL=') < 0) source += '\n//# sourceURL=' + url; - (0, eval)(source); - return loader.getRegister(url); - }); - }; +function _catch$2(body, recover) { + try { + var result = body(); + } catch (e) { + return recover(e); + } + + if (result && result.then) { + return result.then(void 0, recover); } -})(); -(function () { - var envGlobal = typeof self !== 'undefined' ? self : global; - var System = envGlobal.System; - var registerRegistry = Object.create(null); - var register = System.register; - System.registerRegistry = registerRegistry; + return result; +} - System.register = function (name, deps, declare) { - if (typeof name !== 'string') return register.apply(this, arguments); - var define = [deps, declare]; - return System.prepareImport().then(function () { - var url = System.resolve("./".concat(name)); - registerRegistry[url] = define; - return register.call(System, deps, declare, url); - }); - }; +function _invoke$2(body, then) { + var result = body(); - var instantiate = System.instantiate; + if (result && result.then) { + return result.then(then); + } - System.instantiate = function (url, firstParentUrl) { - var result = registerRegistry[url]; + return then(result); +} - if (result) { - registerRegistry[url] = null; - return result; - } else { - return instantiate.call(this, url, firstParentUrl); - } - }; +function _continue(value, then) { + return value && value.then ? value.then(then) : then(value); +} - var getRegister = System.getRegister; +var remapStack = _async$3(function (_ref) { + var stack = _ref.stack, + resolveFile = _ref.resolveFile, + fetchFile = _ref.fetchFile, + SourceMapConsumer = _ref.SourceMapConsumer, + readErrorStack = _ref.readErrorStack, + onFailure = _ref.onFailure; + var urlToSourcemapConsumer = memoizeByFirstArgStringValue(_async$3(function (stackTraceFileUrl) { + var _exit = false; + return stackTraceFileUrl.startsWith("node:") ? null : _catch$2(function () { + var text; + return _continue(_catch$2(function () { + return _await$3(fetchFile(stackTraceFileUrl), function (fileResponse) { + var status = fileResponse.status; - System.getRegister = function (url) { - // Calling getRegister() because other extras need to know it was called so they can perform side effects - var register = getRegister.call(this, url); - var result = registerRegistry[url] || register; - return result; - }; -})(); + if (status !== 200) { + if (status === 404) { + onFailure("stack trace file not found at ".concat(stackTraceFileUrl)); + } else { + var _createDetailedMessag; -(function () { - // worker or service worker - if (typeof WorkerGlobalScope === 'function' && self instanceof WorkerGlobalScope) { - var importMapFromParentPromise = new Promise(function (resolve) { - var importmapMessageCallback = function importmapMessageCallback(e) { - if (e.data === "__importmap_init__") { - self.removeEventListener("message", importmapMessageCallback); + onFailure(createDetailedMessage("unexpected response fetching stack trace file.", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, "response status", status), _defineProperty(_createDetailedMessag, "response text", fileResponse.body), _defineProperty(_createDetailedMessag, "stack trace file", stackTraceFileUrl), _createDetailedMessag))); + } - e.ports[0].onmessage = function (message) { - resolve(message.data); - }; + var _temp6 = null; + _exit = true; + return _temp6; + } - e.ports[0].postMessage('__importmap_request__'); - } - }; + return _await$3(fileResponse.text(), function (_fileResponse$text) { + text = _fileResponse$text; + }); + }); + }, function (e) { + var _createDetailedMessag2; - self.addEventListener("message", importmapMessageCallback); - }); // var prepareImport = System.prepareImport + onFailure(createDetailedMessage("error while fetching stack trace file.", (_createDetailedMessag2 = {}, _defineProperty(_createDetailedMessag2, "fetch error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag2, "stack trace file", stackTraceFileUrl), _createDetailedMessag2))); + var _temp2 = null; + _exit = true; + return _temp2; + }), function (_result) { + var _exit2 = false; + if (_exit) return _result; + var jsSourcemapUrl = getJavaScriptSourceMappingUrl(text); - System.prepareImport = function () { - return importMapFromParentPromise.then(function (importmap) { - System.extendImportMap(System.importMap, JSON.stringify(importmap), System.baseUrl); - }); - }; // auto import first register + if (!jsSourcemapUrl) { + return null; + } + var sourcemapUrl; + var sourcemapString; + return _invoke$2(function () { + if (jsSourcemapUrl.startsWith("data:")) { + sourcemapUrl = stackTraceFileUrl; + sourcemapString = DataUrl.parse(jsSourcemapUrl, { + as: "string" + }); + } else { + sourcemapUrl = resolveFile(jsSourcemapUrl, stackTraceFileUrl, { + type: "source-map" + }); + return _catch$2(function () { + return _await$3(fetchFile(sourcemapUrl), function (sourcemapResponse) { + var _exit3 = false; + var status = sourcemapResponse.status; + return _invoke$2(function () { + if (status !== 200) { + return _invoke$2(function () { + if (status === 404) { + onFailure("sourcemap file not found at ".concat(sourcemapUrl)); + } else { + var _temp7 = "unexpected response for sourcemap file."; + return _await$3(sourcemapResponse.text(), function (_sourcemapResponse$te) { + var _createDetailedMessag3; - var messageEvents = []; + onFailure(createDetailedMessage(_temp7, (_createDetailedMessag3 = {}, _defineProperty(_createDetailedMessag3, "response status", status), _defineProperty(_createDetailedMessag3, "response text", _sourcemapResponse$te), _defineProperty(_createDetailedMessag3, "sourcemap url", sourcemapUrl), _createDetailedMessag3))); + }); + } + }, function () { + var _temp3 = null; + _exit2 = true; + return _temp3; + }); + } + }, function (_result3) { + return _exit3 ? _result3 : _await$3(sourcemapResponse.text(), function (_sourcemapResponse$te2) { + sourcemapString = _sourcemapResponse$te2; + }); + }); + }); + }, function (e) { + var _createDetailedMessag4; - var messageCallback = function messageCallback(event) { - messageEvents.push(event); - }; + onFailure(createDetailedMessage("error while fetching sourcemap.", (_createDetailedMessag4 = {}, _defineProperty(_createDetailedMessag4, "fetch error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag4, "sourcemap url", sourcemapUrl), _createDetailedMessag4))); + var _temp4 = null; + _exit2 = true; + return _temp4; + }); + } + }, function (_result4) { + if (_exit2) return _result4; + var sourceMap; - self.addEventListener('message', messageCallback); - var register = System.register; + try { + sourceMap = JSON.parse(sourcemapString); + } catch (e) { + var _createDetailedMessag5; - System.register = function (deps, declare) { - System.register = register; - System.registerRegistry[self.location.href] = [deps, declare]; - return System.import(self.location.href).then(function (result) { - self.removeEventListener('message', messageCallback); - messageEvents.forEach(function (messageEvent) { - self.dispatchEvent(messageEvent); - }); - messageEvents = null; - return result; - }); - }; - } else if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object') { - var WorkerConstructor = window.Worker; + onFailure(createDetailedMessage("error while parsing sourcemap.", (_createDetailedMessag5 = {}, _defineProperty(_createDetailedMessag5, "parse error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag5, "sourcemap url", sourcemapUrl), _createDetailedMessag5))); + return null; + } - if (typeof WorkerConstructor === 'function') { - window.Worker = function (url, options) { - var worker = new WorkerConstructor(url, options); - var importmapChannel = new MessageChannel(); + var _sourceMap = sourceMap, + sourcesContent = _sourceMap.sourcesContent; - importmapChannel.port1.onmessage = function (message) { - System.prepareImport().then(function (importmap) { - message.target.postMessage(importmap); - }); - }; + if (!sourcesContent) { + sourcesContent = []; + sourceMap.sourcesContent = sourcesContent; + } - worker.postMessage('__importmap_init__', [importmapChannel.port2]); - return worker; - }; - } + var firstSourceMapSourceFailure = null; + return _await$3(Promise.all(sourceMap.sources.map(_async$3(function (source, index) { + if (index in sourcesContent) return; + var sourcemapSourceUrl = resolveFile(source, sourcemapUrl, { + type: "source" + }); + return _catch$2(function () { + return _await$3(fetchFile(sourcemapSourceUrl), function (sourceResponse) { + var _exit4 = false; + var status = sourceResponse.status; + return _invoke$2(function () { + if (status !== 200) { + if (firstSourceMapSourceFailure) { + _exit4 = true; + return; + } - var serviceWorker = navigator.serviceWorker; + if (status === 404) { + var _createDetailedMessag6; - if (serviceWorker) { - var register = serviceWorker.register; + firstSourceMapSourceFailure = createDetailedMessage("sourcemap source not found.", (_createDetailedMessag6 = {}, _defineProperty(_createDetailedMessag6, "sourcemap source url", sourcemapSourceUrl), _defineProperty(_createDetailedMessag6, "sourcemap url", sourcemapUrl), _createDetailedMessag6)); + _exit4 = true; + return; + } - serviceWorker.register = function (url, options) { - var registrationPromise = register.call(this, url, options); - registrationPromise.then(function (registration) { - var installing = registration.installing; - var waiting = registration.waiting; - var active = registration.active; - var worker = installing || waiting || active; - var importmapChannel = new MessageChannel(); + var _temp9 = "unexpected response for sourcemap source."; + return _await$3(sourceResponse.text(), function (_sourceResponse$text) { + var _createDetailedMessag7; - importmapChannel.port1.onmessage = function (message) { - System.prepareImport().then(function (importmap) { - message.target.postMessage(importmap); + firstSourceMapSourceFailure = createDetailedMessage(_temp9, (_createDetailedMessag7 = {}, _defineProperty(_createDetailedMessag7, "response status", status), _defineProperty(_createDetailedMessag7, "response text", _sourceResponse$text), _defineProperty(_createDetailedMessag7, "sourcemap source url", sourcemapSourceUrl), _defineProperty(_createDetailedMessag7, "sourcemap url", sourcemapUrl), _createDetailedMessag7)); + _exit4 = true; + }); + } + }, function (_result6) { + return _exit4 ? _result6 : _await$3(sourceResponse.text(), function (sourceString) { + sourcesContent[index] = sourceString; + }); + }); + }); + }, function (e) { + var _createDetailedMessag8; + + if (firstSourceMapSourceFailure) return; + firstSourceMapSourceFailure = createDetailedMessage("error while fetching sourcemap source.", (_createDetailedMessag8 = {}, _defineProperty(_createDetailedMessag8, "fetch error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag8, "sourcemap source url", sourcemapSourceUrl), _defineProperty(_createDetailedMessag8, "sourcemap url", sourcemapUrl), _createDetailedMessag8)); }); - }; + }))), function () { + if (firstSourceMapSourceFailure) { + onFailure(firstSourceMapSourceFailure); + return null; + } + + return new SourceMapConsumer(sourceMap); + }); + }); + }); + }, function (e) { + var _createDetailedMessag9; + + onFailure(createDetailedMessage("error while preparing a sourceMap consumer for a stack trace file.", (_createDetailedMessag9 = {}, _defineProperty(_createDetailedMessag9, "error stack", readErrorStack(e)), _defineProperty(_createDetailedMessag9, "stack trace file", stackTraceFileUrl), _createDetailedMessag9))); + return null; + }); + })); + return Promise.all(stack.map(function (callSite) { + return remapCallSite(callSite, { + resolveFile: resolveFile, + urlToSourcemapConsumer: urlToSourcemapConsumer, + readErrorStack: readErrorStack, + onFailure: onFailure + }); + })); +}); - worker.postMessage('__importmap_init__', [importmapChannel.port2]); - }); - return registrationPromise; - }; - } - } -})(); +var memoizeByFirstArgStringValue = function memoizeByFirstArgStringValue(fn) { + var stringValueCache = {}; + return function (firstArgValue) { + if (firstArgValue in stringValueCache) return stringValueCache[firstArgValue]; + var value = fn(firstArgValue); + stringValueCache[firstArgValue] = value; + return value; + }; +}; -/* eslint-env browser */ +var stringifyStack = function stringifyStack(stack, _ref) { + var error = _ref.error, + indent = _ref.indent; + var name = error.name || "Error"; + var message = error.message || ""; + var stackString = stack.map(function (callSite) { + return "\n".concat(indent, "at ").concat(callSite); + }).join(""); + return "".concat(name, ": ").concat(message).concat(stackString); +}; function _await$2(value, then, direct) { if (direct) { @@ -4434,7 +4552,7 @@ function _await$2(value, then, direct) { return then ? value.then(then) : value; } -function _catch$2(body, recover) { +function _catch$1(body, recover) { try { var result = body(); } catch (e) { @@ -4448,7 +4566,7 @@ function _catch$2(body, recover) { return result; } -function _invoke$2(body, then) { +function _invoke$1(body, then) { var result = body(); if (result && result.then) { @@ -4472,529 +4590,431 @@ function _async$2(f) { }; } -function _continue$1(value, then) { - return value && value.then ? value.then(then) : then(value); -} +var installErrorStackRemapping = function installErrorStackRemapping(_ref) { + var fetchFile = _ref.fetchFile, + resolveFile = _ref.resolveFile, + SourceMapConsumer = _ref.SourceMapConsumer, + _ref$indent = _ref.indent, + indent = _ref$indent === void 0 ? " " : _ref$indent; -var createBrowserSystem = function createBrowserSystem(_ref) { - var compileServerOrigin = _ref.compileServerOrigin, - compileDirectoryRelativeUrl = _ref.compileDirectoryRelativeUrl, - importResolver = _ref.importResolver, - fetchSource = _ref.fetchSource; + if (typeof fetchFile !== "function") { + throw new TypeError("fetchFile must be a function, got ".concat(fetchFile)); + } - if (typeof window.System === "undefined") { - throw new Error("window.System is undefined"); + if (typeof SourceMapConsumer !== "function") { + throw new TypeError("sourceMapConsumer must be a function, got ".concat(SourceMapConsumer)); } - var browserSystem = window.System; + if (typeof indent !== "string") { + throw new TypeError("indent must be a string, got ".concat(indent)); + } - var _resolve = function resolve(specifier) { - var importer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.location.href; - return importResolver.resolveImport(specifier, importer); + var errorRemappingCache = new WeakMap(); + var errorRemapFailureCallbackMap = new WeakMap(); + var installed = false; + var previousPrepareStackTrace = Error.prepareStackTrace; + + var install = function install() { + if (installed) return; + installed = true; + Error.prepareStackTrace = prepareStackTrace; }; - browserSystem.resolve = _resolve; - var instantiate = browserSystem.instantiate; - browserSystem.instantiate = _async$2(function (url, importerUrl) { - var _exit = false; + var uninstall = function uninstall() { + if (!installed) return; + installed = false; + Error.prepareStackTrace = previousPrepareStackTrace; + }; // ensure we do not use prepareStackTrace for thoose error + // otherwise we would recursively remap error stack + // and if the reason causing the failure is still here + // it would create an infinite loop - var _this = this; - var _extractImportTypeFro = extractImportTypeFromUrl(url), - importType = _extractImportTypeFro.importType, - urlWithoutImportType = _extractImportTypeFro.urlWithoutImportType; + var readErrorStack = function readErrorStack(error) { + uninstall(); + var stack = error.stack; + install(); + return stack; + }; - return _invoke$2(function () { - if (importType === "json") { - return _await$2(instantiateAsJsonModule(urlWithoutImportType, { - browserSystem: browserSystem, - fetchSource: fetchSource - }), function (jsonModule) { - _exit = true; - return jsonModule; - }); - } - }, function (_result) { - var _exit2 = false; - if (_exit) return _result; - return _invoke$2(function () { - if (importType === "css") { - return _await$2(instantiateAsCssModule(urlWithoutImportType, { - browserSystem: browserSystem, - importerUrl: importerUrl, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, - fetchSource: fetchSource - }), function (cssModule) { - _exit2 = true; - return cssModule; - }); - } - }, function (_result2) { - return _exit2 ? _result2 : _catch$2(function () { - return _await$2(instantiate.call(_this, url, importerUrl), function (registration) { - if (!registration) { - throw new Error("no registration found for JS at ".concat(url, "\n--- importer url ---\n").concat(importerUrl, "\n--- navigator.vendor ---\n").concat(window.navigator.vendor)); - } + var prepareStackTrace = function prepareStackTrace(error, stack) { + var onFailure = function onFailure(failureData) { + var failureCallbackArray = errorRemapFailureCallbackMap.get(error); - return registration; - }); - }, function (e) { - return _await$2(createDetailedInstantiateError({ - instantiateError: e, - url: url, - importerUrl: importerUrl, - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, - fetchSource: fetchSource - }), function (jsenvError) { - throw jsenvError; - }); + if (failureCallbackArray) { + failureCallbackArray.forEach(function (callback) { + return callback(failureData); }); - }); - }); - }); - - browserSystem.createContext = function (importerUrl) { - return { - url: importerUrl, - resolve: function resolve(specifier) { - return _resolve(specifier, importerUrl); } }; - }; - return browserSystem; -}; - -var extractImportTypeFromUrl = function extractImportTypeFromUrl(url) { - var urlObject = new URL(url); - var search = urlObject.search; - var searchParams = new URLSearchParams(search); - var importType = searchParams.get("import_type"); + var stackRemappingPromise = remapStack({ + stack: stack, + error: error, + resolveFile: resolveFile, + fetchFile: memoizeFetch(fetchFile), + SourceMapConsumer: SourceMapConsumer, + readErrorStack: readErrorStack, + indent: indent, + onFailure: onFailure + }); + errorRemappingCache.set(error, stackRemappingPromise); + return stringifyStack(stack, { + error: error, + indent: indent + }); + }; - if (!importType) { - return {}; - } + var getErrorOriginalStackString = _async$2(function (error) { + var _exit = false; - searchParams.delete("import_type"); - urlObject.search = String(searchParams); - return { - importType: importType, - urlWithoutImportType: urlObject.href - }; -}; + var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref2$onFailure = _ref2.onFailure, + onFailure = _ref2$onFailure === void 0 ? function (message) { + console.warn(message); + } : _ref2$onFailure; -var instantiateAsJsonModule = _async$2(function (url, _ref2) { - var browserSystem = _ref2.browserSystem, - fetchSource = _ref2.fetchSource; - return _await$2(fetchSource(url, { - contentTypeExpected: "application/json" - }), function (response) { - return _await$2(response.json(), function (json) { - browserSystem.register([], function (_export) { - return { - execute: function execute() { - _export("default", json); - } - }; - }); - var registration = browserSystem.getRegister(url); + if (onFailure) { + var remapFailureCallbackArray = errorRemapFailureCallbackMap.get(error); - if (!registration) { - throw new Error("no registration found for JSON at ".concat(url, ". Navigator.vendor: ").concat(window.navigator.vendor, ". JSON text: ").concat(json)); + if (remapFailureCallbackArray) { + errorRemapFailureCallbackMap.set(error, [].concat(_toConsumableArray(remapFailureCallbackArray), [onFailure])); + } else { + errorRemapFailureCallbackMap.set(error, [onFailure]); } + } // ensure Error.prepareStackTrace gets triggered by reading error.stack now - return registration; - }); - }); -}); -var instantiateAsCssModule = _async$2(function (url, _ref3) { - var importerUrl = _ref3.importerUrl, - compileDirectoryRelativeUrl = _ref3.compileDirectoryRelativeUrl, - browserSystem = _ref3.browserSystem, - fetchSource = _ref3.fetchSource; - return _await$2(fetchSource(url, { - contentTypeExpected: "text/css" - }), function (response) { - // There is a logic inside "toolbar.eventsource.js" which is reloading - // all link rel="stylesheet" when file ending with ".css" are modified - // But here it would not work because we have to replace the css in - // the adopted stylsheet + all module importing this css module - // should be reinstantiated - // -> store a livereload callback forcing whole page reload - var compileDirectoryServerUrl = "".concat(window.location.origin, "/").concat(compileDirectoryRelativeUrl); - var originalFileRelativeUrl = response.url.slice(compileDirectoryServerUrl.length); + var stack = error.stack; + var promise = errorRemappingCache.get(error); + return _invoke$1(function () { + if (promise) { + return _catch$1(function () { + return _await$2(promise, function (originalCallsites) { + errorRemapFailureCallbackMap.get(error); + var firstCall = originalCallsites[0]; - window.__jsenv__.livereloadingCallbacks[originalFileRelativeUrl] = function (_ref4) { - var reloadPage = _ref4.reloadPage; - reloadPage(); - }; + if (firstCall) { + Object.assign(error, { + filename: firstCall.getFileName(), + lineno: firstCall.getLineNumber(), + columnno: firstCall.getColumnNumber() + }); + } - return _await$2(response.text(), function (cssText) { - var cssTextWithBaseUrl = cssWithBaseUrl({ - cssText: cssText, - cssUrl: url, - baseUrl: importerUrl - }); - browserSystem.register([], function (_export) { - return { - execute: function execute() { - var sheet = new CSSStyleSheet(); - sheet.replaceSync(cssTextWithBaseUrl); + var _stringifyStack = stringifyStack(originalCallsites, { + error: error, + indent: indent + }); - _export("default", sheet); - } - }; - }); - var registration = browserSystem.getRegister(url); + _exit = true; + return _stringifyStack; + }); + }, function (e) { + var _createDetailedMessag; - if (!registration) { - throw new Error("no registration found for CSS at ".concat(url, ". Navigator.vendor: ").concat(window.navigator.vendor, ". CSS text: ").concat(cssTextWithBaseUrl)); + onFailure(createDetailedMessage("error while computing original stack.", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, "stack from error while computing", readErrorStack(e)), _defineProperty(_createDetailedMessag, "stack from error to remap", stack), _createDetailedMessag))); + _exit = true; + return stack; + }); } - - return registration; + }, function (_result) { + return _exit ? _result : stack; }); }); -}); // CSSStyleSheet accepts a "baseUrl" parameter -// as documented in https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/CSSStyleSheet#parameters -// Unfortunately the polyfill do not seems to implement it -// So we reuse "systemjs" strategy from https://github.com/systemjs/systemjs/blob/98609dbeef01ec62447e4b21449ce47e55f818bd/src/extras/module-types.js#L37 - - -var cssWithBaseUrl = function cssWithBaseUrl(_ref5) { - var cssUrl = _ref5.cssUrl, - cssText = _ref5.cssText, - baseUrl = _ref5.baseUrl; - var cssDirectoryUrl = new URL("./", cssUrl).href; - var baseDirectoryUrl = new URL("./", baseUrl).href; - - if (cssDirectoryUrl === baseDirectoryUrl) { - return cssText; - } - var cssTextRelocated = cssText.replace(/url\(\s*(?:(["'])((?:\\.|[^\n\\"'])+)\1|((?:\\.|[^\s,"'()\\])+))\s*\)/g, function (match, quotes, relUrl1, relUrl2) { - var absoluteUrl = new URL(relUrl1 || relUrl2, cssUrl).href; - return "url(".concat(quotes).concat(absoluteUrl).concat(quotes, ")"); - }); - return cssTextRelocated; + install(); + return { + getErrorOriginalStackString: getErrorOriginalStackString, + uninstall: uninstall + }; }; -var createDetailedInstantiateError = _async$2(function (_ref6) { - var _exit3 = false; - var instantiateError = _ref6.instantiateError, - url = _ref6.url, - importerUrl = _ref6.importerUrl, - compileServerOrigin = _ref6.compileServerOrigin, - compileDirectoryRelativeUrl = _ref6.compileDirectoryRelativeUrl, - fetchSource = _ref6.fetchSource; - var response; - return _continue$1(_catch$2(function () { - return _await$2(fetchSource(url, { - importerUrl: importerUrl, - contentTypeExpected: "application/javascript" - }), function (_fetchSource) { - response = _fetchSource; - }); - }, function (e) { - e.code = "NETWORK_FAILURE"; - _exit3 = true; - return e; - }), function (_result3) { - return _exit3 ? _result3 : _await$2(getJavaScriptModuleResponseError(response, { - url: url, - importerUrl: importerUrl, - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl - }), function (jsModuleResponseError) { - return jsModuleResponseError || instantiateError; - }); - }); -}); +var memoizeFetch = function memoizeFetch(fetchUrl) { + var urlCache = {}; + return _async$2(function (url) { + if (url in urlCache) { + return urlCache[url]; + } -var makeNamespaceTransferable = function makeNamespaceTransferable(namespace) { - var transferableNamespace = {}; - Object.keys(namespace).forEach(function (key) { - var value = namespace[key]; - transferableNamespace[key] = isTransferable(value) ? value : hideNonTransferableValue(value); + var responsePromise = fetchUrl(url); + urlCache[url] = responsePromise; + return responsePromise; }); - return transferableNamespace; }; -var hideNonTransferableValue = function hideNonTransferableValue(value) { - if (typeof value === "function") { - return "[[HIDDEN: ".concat(value.name, " function cannot be transfered]]"); +function _await$1(value, then, direct) { + if (direct) { + return then ? then(value) : value; } - if (_typeof(value) === "symbol") { - return "[[HIDDEN: symbol function cannot be transfered]]"; + if (!value || !value.then) { + value = Promise.resolve(value); } - return "[[HIDDEN: ".concat(value.constructor ? value.constructor.name : "object", " cannot be transfered]]"); -}; // https://stackoverflow.com/a/32673910/2634179 - - -var isTransferable = function isTransferable(value) { - var seenArray = []; - - var visit = function visit() { - if (typeof value === "function") return false; - if (_typeof(value) === "symbol") return false; - if (value === null) return false; + return then ? value.then(then) : value; +} - if (_typeof(value) === "object") { - var constructorName = value.constructor.namespace; +function _async$1(f) { + return function () { + for (var args = [], i = 0; i < arguments.length; i++) { + args[i] = arguments[i]; + } - if (supportedTypes.includes(constructorName)) { - return true; - } + try { + return Promise.resolve(f.apply(this, args)); + } catch (e) { + return Promise.reject(e); + } + }; +} - var maybe = maybeTypes.includes(constructorName); +var installBrowserErrorStackRemapping = function installBrowserErrorStackRemapping() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + return installErrorStackRemapping(_objectSpread2({ + fetchFile: _async$1(function (url) { + // browser having Error.captureStackTrace got window.fetch + // and this executes only when Error.captureStackTrace exists + // so no need for polyfill or whatever here + return _await$1(window.fetch(url, { + // by default a script tag is in "no-cors" + // so we also fetch url with "no-cors" + mode: "no-cors" + }), function (response) { + // we read response test before anything because once memoized fetch + // gets annoying preventing you to read + // body multiple times, even using response.clone() + return _await$1(response.text(), function (_text) { + return { + status: response.status, + url: response.url, + statusText: response.statusText, + headers: responseToHeaders(response), + text: function text() { + return _text; + }, + json: response.json.bind(response), + blob: response.blob.bind(response), + arrayBuffer: response.arrayBuffer.bind(response) + }; + }); + }); + }), + resolveFile: function resolveFile(specifier) { + var importer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.href; + // browsers having Error.captureStrackTrace got window.URL + // and this executes only when Error.captureStackTrace exists + return String(new URL(specifier, importer)); + } + }, options)); +}; - if (maybe) { - var visited = seenArray.includes(value); +var responseToHeaders = function responseToHeaders(response) { + var headers = {}; + response.headers.forEach(function (value, name) { + headers[name] = value; + }); + return headers; +}; - if (visited) { - // we don't really know until we are done visiting the object - // implementing it properly means waiting for the recursion to be done - // let's just - return true; - } +var displayErrorInDocument = function displayErrorInDocument(error) { + var title = "An error occured"; + var theme; + var message; - seenArray.push(value); + if (error && error.parsingError) { + theme = "light"; + var parsingError = error.parsingError; + message = errorToHTML(parsingError.messageHTML || escapeHtml(parsingError.message)); + } else { + theme = "dark"; + message = errorToHTML(error); + } - if (constructorName === "Array" || constructorName === "Object") { - return Object.keys(value).every(function (key) { - return isTransferable(value[key]); - }); - } + var css = "\n .jsenv-console {\n background: rgba(0, 0, 0, 0.95);\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 1000;\n box-sizing: border-box;\n padding: 1em;\n }\n\n .jsenv-console h1 {\n color: red;\n display: flex;\n align-items: center;\n }\n\n #button-close-jsenv-console {\n margin-left: 10px;\n }\n\n .jsenv-console pre {\n overflow: auto;\n max-width: 70em;\n /* avoid scrollbar to hide the text behind it */\n padding: 20px;\n }\n\n .jsenv-console pre[data-theme=\"dark\"] {\n background: #111;\n border: 1px solid #333;\n color: #eee;\n }\n\n .jsenv-console pre[data-theme=\"light\"] {\n background: #1E1E1E;\n border: 1px solid white;\n color: #EEEEEE;\n }\n\n .jsenv-console pre a {\n color: inherit;\n }\n "; + var html = "\n \n
\n

").concat(title, "

\n
").concat(message, "
\n
\n "); + var removeJsenvConsole = appendHMTLInside(html, document.body); - if (constructorName === "Map") { - return _toConsumableArray(value.keys()).every(isTransferable) && _toConsumableArray(value.values()).every(isTransferable); - } + document.querySelector("#button-close-jsenv-console").onclick = function () { + removeJsenvConsole(); + }; +}; - if (constructorName === "Set") { - return _toConsumableArray(value.keys()).every(isTransferable); - } - } // Error, DOM Node and others +var escapeHtml = function escapeHtml(string) { + return string.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); +}; +var errorToHTML = function errorToHTML(error) { + var html; - return false; + if (error && error instanceof Error) { + // stackTrace formatted by V8 + if (Error.captureStackTrace) { + html = escapeHtml(error.stack); + } else { + // other stack trace such as firefox do not contain error.message + html = escapeHtml("".concat(error.message, "\n ").concat(error.stack)); } + } else if (typeof error === "string") { + html = error; + } else if (error === undefined) { + html = "undefined"; + } else { + html = JSON.stringify(error); + } - return true; - }; - - return visit(value); -}; - -var supportedTypes = ["Boolean", "Number", "String", "Date", "RegExp", "Blob", "FileList", "ImageData", "ImageBitmap", "ArrayBuffer"]; -var maybeTypes = ["Array", "Object", "Map", "Set"]; + var htmlWithCorrectLineBreaks = html.replace(/\n/g, "\n"); + var htmlWithLinks = stringToStringWithLink(htmlWithCorrectLineBreaks, { + transform: function transform(url) { + return { + href: url, + text: url + }; + } + }); + return htmlWithLinks; +}; // `Error: yo +// at Object.execute (http://127.0.0.1:57300/build/src/__test__/file-throw.js:9:13) +// at doExec (http://127.0.0.1:3000/src/__test__/file-throw.js:452:38) +// at postOrderExec (http://127.0.0.1:3000/src/__test__/file-throw.js:448:16) +// at http://127.0.0.1:3000/src/__test__/file-throw.js:399:18`.replace(/(?:https?|ftp|file):\/\/(.*+)$/gm, (...args) => { +// debugger +// }) -/* eslint-env browser */ -function _await$1(value, then, direct) { - if (direct) { - return then ? then(value) : value; - } +var stringToStringWithLink = function stringToStringWithLink(source) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$transform = _ref.transform, + transform = _ref$transform === void 0 ? function (url) { + return { + href: url, + text: url + }; + } : _ref$transform; - if (!value || !value.then) { - value = Promise.resolve(value); - } + return source.replace(/(?:https?|ftp|file):\/\/\S+/gm, function (match) { + var linkHTML = ""; + var lastChar = match[match.length - 1]; // hotfix because our url regex sucks a bit - return then ? value.then(then) : value; -} + var endsWithSeparationChar = lastChar === ")" || lastChar === ":"; -var memoizedCreateBrowserSystem = memoize(createBrowserSystem); + if (endsWithSeparationChar) { + match = match.slice(0, -1); + } -function _invoke$1(body, then) { - var result = body(); + var lineAndColumnPattern = /:([0-9]+):([0-9]+)$/; + var lineAndColumMatch = match.match(lineAndColumnPattern); - if (result && result.then) { - return result.then(then); - } + if (lineAndColumMatch) { + var lineAndColumnString = lineAndColumMatch[0]; + var lineNumber = lineAndColumMatch[1]; + var columnNumber = lineAndColumMatch[2]; + var url = match.slice(0, -lineAndColumnString.length); - return then(result); -} + var _transform = transform(url), + href = _transform.href, + text = _transform.text; -function _async$1(f) { - return function () { - for (var args = [], i = 0; i < arguments.length; i++) { - args[i] = arguments[i]; - } + linkHTML = link({ + href: href, + text: "".concat(text, ":").concat(lineNumber, ":").concat(columnNumber) + }); + } else { + var linePattern = /:([0-9]+)$/; + var lineMatch = match.match(linePattern); - try { - return Promise.resolve(f.apply(this, args)); - } catch (e) { - return Promise.reject(e); - } - }; -} + if (lineMatch) { + var lineString = lineMatch[0]; + var _lineNumber = lineMatch[1]; -function _catch$1(body, recover) { - try { - var result = body(); - } catch (e) { - return recover(e); - } + var _url = match.slice(0, -lineString.length); - if (result && result.then) { - return result.then(void 0, recover); - } + var _transform2 = transform(_url), + _href = _transform2.href, + _text = _transform2.text; - return result; -} + linkHTML = link({ + href: _href, + text: "".concat(_text, ":").concat(_lineNumber) + }); + } else { + var _url2 = match; -function _continue(value, then) { - return value && value.then ? value.then(then) : then(value); -} + var _transform3 = transform(_url2), + _href2 = _transform3.href, + _text2 = _transform3.text; -var createBrowserRuntime = _async$1(function (_ref) { - var compileServerOrigin = _ref.compileServerOrigin, - jsenvDirectoryRelativeUrl = _ref.jsenvDirectoryRelativeUrl, - compileId = _ref.compileId; + linkHTML = link({ + href: _href2, + text: _text2 + }); + } + } - var fetchSource = function fetchSource(url, _ref2) { - var contentTypeExpected = _ref2.contentTypeExpected; - return fetchUrl(url, { - credentials: "same-origin", - contentTypeExpected: contentTypeExpected - }); - }; + if (endsWithSeparationChar) { + return "".concat(linkHTML).concat(lastChar); + } - var fetchJson = _async$1(function (url) { - return _await$1(fetchSource(url, { - contentTypeExpected: "application/json" - }), function (response) { - return _await$1(response.json()); - }); + return linkHTML; }); +}; - var compileServerMetaUrl = String(new URL("__jsenv_compile_profile__", "".concat(compileServerOrigin, "/"))); - return _await$1(fetchJson(compileServerMetaUrl), function (_ref3) { - var importDefaultExtension = _ref3.importDefaultExtension; - var compileDirectoryRelativeUrl = "".concat(jsenvDirectoryRelativeUrl).concat(compileId, "/"); // if there is an importmap in the document we use it instead of fetching. - // systemjs style with systemjs-importmap +var link = function link(_ref2) { + var href = _ref2.href, + _ref2$text = _ref2.text, + text = _ref2$text === void 0 ? href : _ref2$text; + return "").concat(text, ""); +}; - var importmapScript = document.querySelector("script[type=\"systemjs-importmap\"]"); - var importMap; - var importMapUrl; - return _invoke$1(function () { - if (importmapScript) { - var importmapRaw; - return _invoke$1(function () { - if (importmapScript.src) { - importMapUrl = importmapScript.src; - return _await$1(fetchSource(importMapUrl, { - contentTypeExpected: "application/importmap+json" - }), function (importmapFileResponse) { - var _temp = importmapFileResponse.status === 404; +var appendHMTLInside = function appendHMTLInside(html, parentNode) { + var temoraryParent = document.createElement("div"); + temoraryParent.innerHTML = html; + return transferChildren(temoraryParent, parentNode); +}; - return _await$1(_temp ? {} : importmapFileResponse.json(), function (_importmapFileRespons) { - importmapRaw = _importmapFileRespons; - }, _temp); - }); - } else { - importMapUrl = document.location.href; - importmapRaw = JSON.parse(importmapScript.textContent) || {}; - } - }, function () { - importMap = normalizeImportMap(importmapRaw, importMapUrl); - }); - } - }, function () { - return _await$1(createImportResolverForImportmap({ - // projectDirectoryUrl, - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, - importMap: importMap, - importMapUrl: importMapUrl, - importDefaultExtension: importDefaultExtension - }), function (importResolver) { - var importFile = _async$1(function (specifier) { - return _await$1(memoizedCreateBrowserSystem({ - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, - fetchSource: fetchSource, - importResolver: importResolver - }), function (browserSystem) { - return browserSystem.import(specifier); - }); - }); +var transferChildren = function transferChildren(fromNode, toNode) { + var childNodes = [].slice.call(fromNode.childNodes, 0); + var i = 0; - var executeFile = _async$1(function (specifier) { - var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref4$transferableNam = _ref4.transferableNamespace, - transferableNamespace = _ref4$transferableNam === void 0 ? false : _ref4$transferableNam, - _ref4$executionExposu = _ref4.executionExposureOnWindow, - executionExposureOnWindow = _ref4$executionExposu === void 0 ? false : _ref4$executionExposu, - _ref4$errorTransform = _ref4.errorTransform, - errorTransform = _ref4$errorTransform === void 0 ? function (error) { - return error; - } : _ref4$errorTransform, - measurePerformance = _ref4.measurePerformance; + while (i < childNodes.length) { + toNode.appendChild(childNodes[i]); + i++; + } - return _await$1(memoizedCreateBrowserSystem({ - compileServerOrigin: compileServerOrigin, - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, - fetchSource: fetchSource, - importResolver: importResolver - }), function (browserSystem) { - var importUsingSystemJs = _async$1(function () { - return _catch$1(function () { - return _await$1(browserSystem.import(specifier), function (namespace) { - if (transferableNamespace) { - namespace = makeNamespaceTransferable(namespace); - } + return function () { + var c = 0; - return { - status: "completed", - namespace: namespace, - coverage: readCoverage$1() - }; - }); - }, function (error) { - var transformedError; - return _continue(_catch$1(function () { - return _await$1(errorTransform(error), function (_errorTransform) { - transformedError = _errorTransform; - }); - }, function () { - transformedError = error; - }), function () { - return { - status: "errored", - error: transformedError, - coverage: readCoverage$1() - }; - }); - }); - }); + while (c < childNodes.length) { + fromNode.appendChild(childNodes[c]); + c++; + } + }; +}; - return _await$1(measurePerformance ? measureAsyncFnPerf(importUsingSystemJs, "jsenv_file_import") : importUsingSystemJs(), function (executionResult) { - if (executionExposureOnWindow) { - window.__executionResult__ = executionResult; - } +var _window = window, + Notification = _window.Notification; - return executionResult; - }); - }); - }); +var displayErrorNotificationNotAvailable = function displayErrorNotificationNotAvailable() {}; - return { - compileDirectoryRelativeUrl: compileDirectoryRelativeUrl, - importFile: importFile, - executeFile: executeFile - }; - }); +var displayErrorNotificationImplementation = function displayErrorNotificationImplementation(error) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + icon = _ref.icon; + + if (Notification.permission === "granted") { + var notification = new Notification("An error occured", { + lang: "en", + body: error ? error.stack : "undefined", + icon: icon }); - }); -}); -var readCoverage$1 = function readCoverage() { - return window.__coverage__; + notification.onclick = function () { + window.focus(); + }; + } }; +var displayErrorNotification = typeof Notification === "function" ? displayErrorNotificationImplementation : displayErrorNotificationNotAvailable; + function _await(value, then, direct) { if (direct) { return then ? then(value) : value; @@ -5239,16 +5259,16 @@ var getBrowserRuntime = memoize(_async(function () { var afterJsenvDirectory = document.location.href.slice(jsenvDirectoryServerUrl.length); var parts = afterJsenvDirectory.split("/"); var compileId = parts[0]; - return _await(createBrowserRuntime({ + return _await(createBrowserClient({ compileServerOrigin: compileServerOrigin, jsenvDirectoryRelativeUrl: jsenvDirectoryRelativeUrl, compileId: compileId - }), function (browserRuntime) { + }), function (browserClient) { return _invoke(function () { if (errorStackRemapping && Error.captureStackTrace) { var sourcemapMainFileRelativeUrl = compileServerMeta.sourcemapMainFileRelativeUrl, sourcemapMappingFileRelativeUrl = compileServerMeta.sourcemapMappingFileRelativeUrl; - return _await(fetchAndEvalUsingFetch("".concat(compileServerOrigin, "/").concat(sourcemapMainFileRelativeUrl)), function () { + return _await(fetchAndEval("".concat(compileServerOrigin, "/").concat(sourcemapMainFileRelativeUrl)), function () { var SourceMapConsumer = window.sourceMap.SourceMapConsumer; SourceMapConsumer.initialize({ "lib/mappings.wasm": "".concat(compileServerOrigin, "/").concat(sourcemapMappingFileRelativeUrl) @@ -5266,9 +5286,9 @@ var getBrowserRuntime = memoize(_async(function () { }); }); - var executeFile = browserRuntime.executeFile; + var executeFile = browserClient.executeFile; - browserRuntime.executeFile = function (file) { + browserClient.executeFile = function (file) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return executeFile(file, _objectSpread2({ errorTransform: errorTransform @@ -5277,7 +5297,7 @@ var getBrowserRuntime = memoize(_async(function () { }); } }, function () { - return browserRuntime; + return browserClient; }); }); }); @@ -5297,4 +5317,4 @@ window.__jsenv__ = { }; })(); -//# sourceMappingURL=browser_runtime_c81cd9af.js.map \ No newline at end of file +//# sourceMappingURL=browser_client_fb33eaa4.js.map \ No newline at end of file diff --git a/dist/browser_client/browser_client_fb33eaa4.js.map b/dist/browser_client/browser_client_fb33eaa4.js.map new file mode 100644 index 0000000000..c67156de07 --- /dev/null +++ b/dist/browser_client/browser_client_fb33eaa4.js.map @@ -0,0 +1,1089 @@ +{ + "version": 3, + "file": "browser_client_fb33eaa4.js", + "sources": [ + "../../helpers/babel/typeof/typeof.js", + "../../helpers/babel/defineProperty/defineProperty.js", + "../../helpers/babel/objectSpread2/objectSpread2.js", + "../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js", + "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js", + "../../src/internal/browser_utils/fetch_using_xhr.js", + "../../src/internal/browser_utils/fetch_browser.js", + "../../node_modules/@jsenv/logger/src/createDetailedMessage.js", + "../../src/internal/browser_utils/fetch_and_eval.js", + "../../helpers/babel/arrayLikeToArray/arrayLikeToArray.js", + "../../helpers/babel/arrayWithoutHoles/arrayWithoutHoles.js", + "../../helpers/babel/iterableToArray/iterableToArray.js", + "../../helpers/babel/unsupportedIterableToArray/unsupportedIterableToArray.js", + "../../helpers/babel/nonIterableSpread/nonIterableSpread.js", + "../../helpers/babel/toConsumableArray/toConsumableArray.js", + "../../node_modules/@jsenv/uneval/src/internal/isComposite.js", + "../../node_modules/@jsenv/uneval/src/internal/global-value-path.js", + "../../node_modules/@jsenv/uneval/src/internal/decompose.js", + "../../node_modules/@jsenv/uneval/src/internal/sortRecipe.js", + "../../node_modules/@jsenv/uneval/src/internal/escapeString.js", + "../../node_modules/@jsenv/uneval/src/uneval.js", + "../../src/internal/runtime_client/uneval_exception.js", + "../../src/internal/memoize.js", + "../../node_modules/@jsenv/importmap/src/internal/assertImportMap.js", + "../../node_modules/@jsenv/importmap/src/internal/hasScheme.js", + "../../node_modules/@jsenv/importmap/src/internal/urlToScheme.js", + "../../node_modules/@jsenv/importmap/src/internal/urlToPathname.js", + "../../node_modules/@jsenv/importmap/src/internal/urlToOrigin.js", + "../../node_modules/@jsenv/importmap/src/internal/pathnameToParentPathname.js", + "../../node_modules/@jsenv/importmap/src/resolveUrl.js", + "../../node_modules/@jsenv/importmap/src/internal/tryUrlResolution.js", + "../../node_modules/@jsenv/importmap/src/resolveSpecifier.js", + "../../node_modules/@jsenv/importmap/src/sortImportMap.js", + "../../node_modules/@jsenv/importmap/src/normalizeImportMap.js", + "../../node_modules/@jsenv/importmap/src/internal/pathnameToExtension.js", + "../../node_modules/@jsenv/importmap/src/applyImportMap.js", + "../../node_modules/@jsenv/importmap/src/resolveImport.js", + "../../src/internal/runtime_client/module_registration.js", + "../../src/internal/import_resolution/default_extension.js", + "../../src/internal/import_resolution/import_resolver_importmap.js", + "../../src/internal/runtime_client/s.js", + "../../src/internal/browser_client/browser_system.js", + "../../src/internal/browser_client/perf_browser.js", + "../../src/internal/browser_client/module_namespace_transfer.js", + "../../src/internal/browser_client/browser_client_factory.js", + "../../src/internal/data_url.js", + "../../src/internal/sourcemap_utils.js", + "../../src/internal/windows_file_path_utils.js", + "../../src/internal/error_stack_remap/remap_call_site.js", + "../../src/internal/error_stack_remap/remap_stack.js", + "../../src/internal/error_stack_remap/stringify_stack.js", + "../../src/internal/error_stack_remap/install_error_stack_remapping.js", + "../../src/internal/browser_client/browser_error_stack_remap.js", + "../../src/internal/browser_client/error_in_document.js", + "../../src/internal/browser_client/error_in_notification.js", + "../../src/internal/browser_client/browser_client.js" + ], + "sourcesContent": [ + "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n", + "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n", + "import defineProperty from \"../defineProperty/defineProperty.js\"\n\n// This function is different to \"Reflect.ownKeys\". The enumerableOnly\n// filters on symbol properties only. Returned string properties are always\n// enumerable. It is good to use in objectSpread.\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}", + "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n", + "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n", + "export const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", + "import { fetchUsingXHR } from \"./fetch_using_xhr.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", + "export const createDetailedMessage = (message, details = {}) => {\n let string = `${message}`\n\n Object.keys(details).forEach((key) => {\n const value = details[key]\n string += `\n--- ${key} ---\n${\n Array.isArray(value)\n ? value.join(`\n`)\n : value\n}`\n })\n\n return string\n}\n", + "import { createDetailedMessage } from \"@jsenv/logger\"\n\nimport { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchAndEval = async (url) => {\n const response = await fetchUrl(url)\n\n if (response.status >= 200 && response.status <= 299) {\n const text = await response.text()\n // eslint-disable-next-line no-eval\n window.eval(appendSourceURL(text, url))\n } else {\n const text = await response.text()\n throw new Error(\n createDetailedMessage(`Unexpected response for script.`, {\n [\"script url\"]: url,\n [\"response body\"]: text,\n [\"response status\"]: response.status,\n }),\n )\n }\n}\n\nconst appendSourceURL = (code, sourceURL) => {\n return `${code}\n${\"//#\"} sourceURL=${sourceURL}`\n}\n", + "/* eslint-disable no-eq-null, eqeqeq */\nexport default function arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length\n var arr2 = new Array(len)\n for (var i = 0; i < len; i++) arr2[i] = arr[i]\n return arr2\n}\n", + "import arrayLikeToArray from \"../arrayLikeToArray/arrayLikeToArray.js\"\n\n// eslint-disable-next-line consistent-return\nexport default (arr) => {\n if (Array.isArray(arr)) return arrayLikeToArray(arr)\n}\n", + "export default function _iterableToArray(iter) {\n if (\n (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null) ||\n iter[\"@@iterator\"] != null\n )\n return Array.from(iter)\n}\n", + "/* eslint-disable consistent-return */\nimport arrayLikeToArray from \"../arrayLikeToArray/arrayLikeToArray.js\"\n\nexport default function unsupportedIterableToArray(o, minLen) {\n if (!o) return\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen)\n var n = Object.prototype.toString.call(o).slice(8, -1)\n if (n === \"Object\" && o.constructor) n = o.constructor.name\n if (n === \"Map\" || n === \"Set\") return Array.from(o)\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return arrayLikeToArray(o, minLen)\n}\n", + "export default () => {\n throw new TypeError(\n \"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\",\n )\n}\n", + "import arrayWithoutHoles from \"../arrayWithoutHoles/arrayWithoutHoles.js\"\nimport iterableToArray from \"../iterableToArray/iterableToArray.js\"\nimport unsupportedIterableToArray from \"../unsupportedIterableToArray/unsupportedIterableToArray.js\"\nimport nonIterableSpread from \"../nonIterableSpread/nonIterableSpread.js\"\n\nexport default (arr) =>\n arrayWithoutHoles(arr) ||\n iterableToArray(arr) ||\n unsupportedIterableToArray(arr) ||\n nonIterableSpread()\n", + "// https://developer.mozilla.org/en-US/docs/Glossary/Primitive\n\nexport const isComposite = (value) => {\n if (value === null) {\n return false\n }\n\n const type = typeof value\n if (type === \"object\") {\n return true\n }\n\n if (type === \"function\") {\n return true\n }\n\n return false\n}\n", + "import { isComposite } from \"./isComposite.js\"\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\nconst compositeWellKnownMap = new WeakMap()\nconst primitiveWellKnownMap = new Map()\n\nexport const getCompositeGlobalPath = (value) => compositeWellKnownMap.get(value)\n\nexport const getPrimitiveGlobalPath = (value) => primitiveWellKnownMap.get(value)\n\nconst visitGlobalObject = (value) => {\n const visitValue = (value, path) => {\n if (isComposite(value)) {\n // prevent infinite recursion\n if (compositeWellKnownMap.has(value)) {\n return\n }\n compositeWellKnownMap.set(value, path)\n\n const visitProperty = (property) => {\n let descriptor\n try {\n descriptor = Object.getOwnPropertyDescriptor(value, property)\n } catch (e) {\n if (e.name === \"SecurityError\") {\n return\n }\n throw e\n }\n\n if (!descriptor) {\n // it's apparently possible to have getOwnPropertyNames returning\n // a property that later returns a null descriptor\n // for instance window.showModalDialog in webkit 13.0\n return\n }\n\n // do not trigger getter/setter\n if (\"value\" in descriptor) {\n const propertyValue = descriptor.value\n visitValue(propertyValue, [...path, property])\n }\n }\n\n Object.getOwnPropertyNames(value).forEach((name) => visitProperty(name))\n Object.getOwnPropertySymbols(value).forEach((symbol) => visitProperty(symbol))\n }\n\n primitiveWellKnownMap.set(value, path)\n return\n }\n\n visitValue(value, [])\n}\n\nif (typeof window === \"object\") visitGlobalObject(window)\n\nif (typeof global === \"object\") visitGlobalObject(global)\n", + "/**\n * transforms a javascript value into an object describing it.\n *\n */\n\nimport { isComposite } from \"./isComposite.js\"\nimport { getCompositeGlobalPath, getPrimitiveGlobalPath } from \"./global-value-path.js\"\n\nexport const decompose = (mainValue, { functionAllowed, prototypeStrict, ignoreSymbols }) => {\n const valueMap = {}\n const recipeArray = []\n\n const valueToIdentifier = (value, path = []) => {\n if (!isComposite(value)) {\n const existingIdentifier = identifierForPrimitive(value)\n if (existingIdentifier !== undefined) {\n return existingIdentifier\n }\n const identifier = identifierForNewValue(value)\n recipeArray[identifier] = primitiveToRecipe(value)\n return identifier\n }\n\n if (typeof Promise === \"function\" && value instanceof Promise) {\n throw new Error(createPromiseAreNotSupportedMessage({ path }))\n }\n if (typeof WeakSet === \"function\" && value instanceof WeakSet) {\n throw new Error(createWeakSetAreNotSupportedMessage({ path }))\n }\n if (typeof WeakMap === \"function\" && value instanceof WeakMap) {\n throw new Error(createWeakMapAreNotSupportedMessage({ path }))\n }\n if (typeof value === \"function\" && !functionAllowed) {\n throw new Error(createForbiddenFunctionMessage({ path }))\n }\n\n const existingIdentifier = identifierForComposite(value)\n if (existingIdentifier !== undefined) {\n return existingIdentifier\n }\n const identifier = identifierForNewValue(value)\n\n const compositeGlobalPath = getCompositeGlobalPath(value)\n if (compositeGlobalPath) {\n recipeArray[identifier] = createGlobalReferenceRecipe(compositeGlobalPath)\n return identifier\n }\n\n const propertyDescriptionArray = []\n Object.getOwnPropertyNames(value).forEach((propertyName) => {\n const propertyDescriptor = Object.getOwnPropertyDescriptor(value, propertyName)\n const propertyNameIdentifier = valueToIdentifier(propertyName, [...path, propertyName])\n const propertyDescription = computePropertyDescription(propertyDescriptor, propertyName, path)\n propertyDescriptionArray.push({ propertyNameIdentifier, propertyDescription })\n })\n\n const symbolDescriptionArray = []\n if (!ignoreSymbols) {\n Object.getOwnPropertySymbols(value).forEach((symbol) => {\n const propertyDescriptor = Object.getOwnPropertyDescriptor(value, symbol)\n const symbolIdentifier = valueToIdentifier(symbol, [...path, `[${symbol.toString()}]`])\n const propertyDescription = computePropertyDescription(propertyDescriptor, symbol, path)\n symbolDescriptionArray.push({ symbolIdentifier, propertyDescription })\n })\n }\n\n const methodDescriptionArray = computeMethodDescriptionArray(value, path)\n\n const extensible = Object.isExtensible(value)\n\n recipeArray[identifier] = createCompositeRecipe({\n propertyDescriptionArray,\n symbolDescriptionArray,\n methodDescriptionArray,\n extensible,\n })\n return identifier\n }\n\n const computePropertyDescription = (propertyDescriptor, propertyNameOrSymbol, path) => {\n if (propertyDescriptor.set && !functionAllowed) {\n throw new Error(createForbiddenPropertySetterMessage({ path, propertyNameOrSymbol }))\n }\n if (propertyDescriptor.get && !functionAllowed) {\n throw new Error(createForbiddenPropertyGetterMessage({ path, propertyNameOrSymbol }))\n }\n\n return {\n configurable: propertyDescriptor.configurable,\n writable: propertyDescriptor.writable,\n enumerable: propertyDescriptor.enumerable,\n getIdentifier:\n \"get\" in propertyDescriptor\n ? valueToIdentifier(propertyDescriptor.get, [\n ...path,\n String(propertyNameOrSymbol),\n \"[[descriptor:get]]\",\n ])\n : undefined,\n setIdentifier:\n \"set\" in propertyDescriptor\n ? valueToIdentifier(propertyDescriptor.set, [\n ...path,\n String(propertyNameOrSymbol),\n \"[[descriptor:set]]\",\n ])\n : undefined,\n valueIdentifier:\n \"value\" in propertyDescriptor\n ? valueToIdentifier(propertyDescriptor.value, [\n ...path,\n String(propertyNameOrSymbol),\n \"[[descriptor:value]]\",\n ])\n : undefined,\n }\n }\n\n const computeMethodDescriptionArray = (value, path) => {\n const methodDescriptionArray = []\n\n if (typeof Set === \"function\" && value instanceof Set) {\n const callArray = []\n value.forEach((entryValue, index) => {\n const entryValueIdentifier = valueToIdentifier(entryValue, [\n ...path,\n `[[SetEntryValue]]`,\n index,\n ])\n callArray.push([entryValueIdentifier])\n })\n methodDescriptionArray.push({ methodNameIdentifier: valueToIdentifier(\"add\"), callArray })\n }\n\n if (typeof Map === \"function\" && value instanceof Map) {\n const callArray = []\n value.forEach((entryValue, entryKey) => {\n const entryKeyIdentifier = valueToIdentifier(entryKey, [\n ...path,\n \"[[MapEntryKey]]\",\n entryKey,\n ])\n const entryValueIdentifier = valueToIdentifier(entryValue, [\n ...path,\n \"[[MapEntryValue]]\",\n entryValue,\n ])\n callArray.push([entryKeyIdentifier, entryValueIdentifier])\n })\n methodDescriptionArray.push({ methodNameIdentifier: valueToIdentifier(\"set\"), callArray })\n }\n\n return methodDescriptionArray\n }\n\n const identifierForPrimitive = (value) => {\n return Object.keys(valueMap).find((existingIdentifier) => {\n const existingValue = valueMap[existingIdentifier]\n if (Object.is(value, existingValue)) return true\n return value === existingValue\n })\n }\n\n const identifierForComposite = (value) => {\n return Object.keys(valueMap).find((existingIdentifier) => {\n const existingValue = valueMap[existingIdentifier]\n return value === existingValue\n })\n }\n\n const identifierForNewValue = (value) => {\n const identifier = nextIdentifier()\n valueMap[identifier] = value\n return identifier\n }\n\n let currentIdentifier = -1\n const nextIdentifier = () => {\n const identifier = String(parseInt(currentIdentifier) + 1)\n currentIdentifier = identifier\n return identifier\n }\n\n const mainIdentifier = valueToIdentifier(mainValue)\n\n // prototype, important to keep after the whole structure was visited\n // so that we discover if any prototype is part of the value\n const prototypeValueToIdentifier = (prototypeValue) => {\n // prototype is null\n if (prototypeValue === null) {\n return valueToIdentifier(prototypeValue)\n }\n\n // prototype found somewhere already\n const prototypeExistingIdentifier = identifierForComposite(prototypeValue)\n if (prototypeExistingIdentifier !== undefined) {\n return prototypeExistingIdentifier\n }\n\n // mark prototype as visited\n const prototypeIdentifier = identifierForNewValue(prototypeValue)\n\n // prototype is a global reference ?\n const prototypeGlobalPath = getCompositeGlobalPath(prototypeValue)\n if (prototypeGlobalPath) {\n recipeArray[prototypeIdentifier] = createGlobalReferenceRecipe(prototypeGlobalPath)\n return prototypeIdentifier\n }\n\n // otherwise prototype is unknown\n if (prototypeStrict) {\n throw new Error(createUnknownPrototypeMessage({ prototypeValue }))\n }\n\n return prototypeValueToIdentifier(Object.getPrototypeOf(prototypeValue), true)\n }\n const identifierForValueOf = (value, path = []) => {\n if (value instanceof Array) {\n return valueToIdentifier(value.length, [...path, \"length\"])\n }\n\n if (\"valueOf\" in value === false) {\n return undefined\n }\n\n if (typeof value.valueOf !== \"function\") {\n return undefined\n }\n\n const valueOfReturnValue = value.valueOf()\n if (!isComposite(valueOfReturnValue)) {\n return valueToIdentifier(valueOfReturnValue, [...path, \"valueOf()\"])\n }\n\n if (valueOfReturnValue === value) {\n return undefined\n }\n\n throw new Error(createUnexpectedValueOfReturnValueMessage())\n }\n\n recipeArray.slice().forEach((recipe, index) => {\n if (recipe.type === \"composite\") {\n const value = valueMap[index]\n\n if (typeof value === \"function\") {\n const valueOfIdentifier = nextIdentifier()\n recipeArray[valueOfIdentifier] = {\n type: \"primitive\",\n value,\n }\n recipe.valueOfIdentifier = valueOfIdentifier\n return\n }\n\n if (value instanceof RegExp) {\n const valueOfIdentifier = nextIdentifier()\n recipeArray[valueOfIdentifier] = {\n type: \"primitive\",\n value,\n }\n recipe.valueOfIdentifier = valueOfIdentifier\n return\n }\n\n // valueOf, mandatory to uneval new Date(10) for instance.\n recipe.valueOfIdentifier = identifierForValueOf(value)\n const prototypeValue = Object.getPrototypeOf(value)\n recipe.prototypeIdentifier = prototypeValueToIdentifier(prototypeValue, true)\n }\n })\n\n return {\n recipeArray,\n mainIdentifier,\n valueMap,\n }\n}\n\nconst primitiveToRecipe = (value) => {\n if (typeof value === \"symbol\") {\n return symbolToRecipe(value)\n }\n\n return createPimitiveRecipe(value)\n}\n\nconst symbolToRecipe = (symbol) => {\n const globalSymbolKey = Symbol.keyFor(symbol)\n if (globalSymbolKey !== undefined) {\n return createGlobalSymbolRecipe(globalSymbolKey)\n }\n\n const symbolGlobalPath = getPrimitiveGlobalPath(symbol)\n if (!symbolGlobalPath) {\n throw new Error(createUnknownSymbolMessage({ symbol }))\n }\n\n return createGlobalReferenceRecipe(symbolGlobalPath)\n}\n\nconst createPimitiveRecipe = (value) => {\n return {\n type: \"primitive\",\n value,\n }\n}\n\nconst createGlobalReferenceRecipe = (path) => {\n const recipe = {\n type: \"global-reference\",\n path,\n }\n return recipe\n}\n\nconst createGlobalSymbolRecipe = (key) => {\n return {\n type: \"global-symbol\",\n key,\n }\n}\n\nconst createCompositeRecipe = ({\n prototypeIdentifier,\n valueOfIdentifier,\n propertyDescriptionArray,\n symbolDescriptionArray,\n methodDescriptionArray,\n extensible,\n}) => {\n return {\n type: \"composite\",\n prototypeIdentifier,\n valueOfIdentifier,\n propertyDescriptionArray,\n symbolDescriptionArray,\n methodDescriptionArray,\n extensible,\n }\n}\n\nconst createPromiseAreNotSupportedMessage = ({ path }) => {\n if (path.length === 0) {\n return `promise are not supported.`\n }\n\n return `promise are not supported.\npromise found at: ${path.join(\"\")}`\n}\n\nconst createWeakSetAreNotSupportedMessage = ({ path }) => {\n if (path.length === 0) {\n return `weakSet are not supported.`\n }\n\n return `weakSet are not supported.\nweakSet found at: ${path.join(\"\")}`\n}\n\nconst createWeakMapAreNotSupportedMessage = ({ path }) => {\n if (path.length === 0) {\n return `weakMap are not supported.`\n }\n\n return `weakMap are not supported.\nweakMap found at: ${path.join(\"\")}`\n}\n\nconst createForbiddenFunctionMessage = ({ path }) => {\n if (path.length === 0) {\n return `function are not allowed.`\n }\n\n return `function are not allowed.\nfunction found at: ${path.join(\"\")}`\n}\n\nconst createForbiddenPropertyGetterMessage = ({\n path,\n propertyNameOrSymbol,\n}) => `property getter are not allowed.\ngetter found on property: ${String(propertyNameOrSymbol)}\nat: ${path.join(\"\")}`\n\nconst createForbiddenPropertySetterMessage = ({\n path,\n propertyNameOrSymbol,\n}) => `property setter are not allowed.\nsetter found on property: ${String(propertyNameOrSymbol)}\nat: ${path.join(\"\")}`\n\nconst createUnexpectedValueOfReturnValueMessage = () =>\n `valueOf() must return a primitive of the object itself.`\n\nconst createUnknownSymbolMessage = ({\n symbol,\n}) => `symbol must be global, like Symbol.iterator, or created using Symbol.for().\nsymbol: ${symbol.toString()}`\n\nconst createUnknownPrototypeMessage = ({ prototypeValue }) =>\n `prototype must be global, like Object.prototype, or somewhere in the value.\nprototype constructor name: ${prototypeValue.constructor.name}`\n", + "// be carefull because this function is mutating recipe objects inside the recipeArray.\n// this is not an issue because each recipe object is not accessible from the outside\n// when used internally by uneval\nexport const sortRecipe = (recipeArray) => {\n const findInRecipePrototypeChain = (recipe, callback) => {\n let currentRecipe = recipe\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (currentRecipe.type !== \"composite\") {\n break\n }\n\n const prototypeIdentifier = currentRecipe.prototypeIdentifier\n if (prototypeIdentifier === undefined) {\n break\n }\n\n currentRecipe = recipeArray[prototypeIdentifier]\n\n if (callback(currentRecipe, prototypeIdentifier)) {\n return prototypeIdentifier\n }\n }\n return undefined\n }\n\n const recipeArrayOrdered = recipeArray.slice()\n recipeArrayOrdered.sort((leftRecipe, rightRecipe) => {\n const leftType = leftRecipe.type\n const rightType = rightRecipe.type\n\n if (leftType === \"composite\" && rightType === \"composite\") {\n const rightRecipeIsInLeftRecipePrototypeChain = findInRecipePrototypeChain(\n leftRecipe,\n (recipeCandidate) => recipeCandidate === rightRecipe,\n )\n // if left recipe requires right recipe, left must be after right\n if (rightRecipeIsInLeftRecipePrototypeChain) {\n return 1\n }\n\n const leftRecipeIsInRightRecipePrototypeChain = findInRecipePrototypeChain(\n rightRecipe,\n (recipeCandidate) => recipeCandidate === leftRecipe,\n )\n // if right recipe requires left recipe, right must be after left\n if (leftRecipeIsInRightRecipePrototypeChain) {\n return -1\n }\n }\n\n if (leftType !== rightType) {\n // if left is a composite, left must be after right\n if (leftType === \"composite\") {\n return 1\n }\n\n // if right is a composite, right must be after left\n if (rightType === \"composite\") {\n return -1\n }\n }\n\n const leftIndex = recipeArray.indexOf(leftRecipe)\n const rightIndex = recipeArray.indexOf(rightRecipe)\n // left was before right, don't change that\n if (leftIndex < rightIndex) {\n return -1\n }\n\n // right was after left, don't change that\n return 1\n })\n\n return recipeArrayOrdered\n}\n", + "// https://github.com/joliss/js-string-escape/blob/master/index.js\n// http://javascript.crockford.com/remedial.html\nexport const escapeString = (value) => {\n const string = String(value)\n let i = 0\n const j = string.length\n var escapedString = \"\"\n while (i < j) {\n const char = string[i]\n let escapedChar\n if (char === '\"' || char === \"'\" || char === \"\\\\\") {\n escapedChar = `\\\\${char}`\n } else if (char === \"\\n\") {\n escapedChar = \"\\\\n\"\n } else if (char === \"\\r\") {\n escapedChar = \"\\\\r\"\n } else if (char === \"\\u2028\") {\n escapedChar = \"\\\\u2028\"\n } else if (char === \"\\u2029\") {\n escapedChar = \"\\\\u2029\"\n } else {\n escapedChar = char\n }\n escapedString += escapedChar\n i++\n }\n return escapedString\n}\n", + "import { decompose } from \"./internal/decompose.js\"\nimport { sortRecipe } from \"./internal/sortRecipe.js\"\nimport { escapeString } from \"./internal/escapeString.js\"\n\nexport const uneval = (\n value,\n { functionAllowed = false, prototypeStrict = false, ignoreSymbols = false } = {},\n) => {\n const { recipeArray, mainIdentifier, valueMap } = decompose(value, {\n functionAllowed,\n prototypeStrict,\n ignoreSymbols,\n })\n const recipeArraySorted = sortRecipe(recipeArray)\n\n let source = `(function () {\nvar globalObject\ntry {\n globalObject = Function('return this')() || (42, eval)('this');\n} catch(e) {\n globalObject = window;\n}\n\nfunction safeDefineProperty(object, propertyNameOrSymbol, descriptor) {\n var currentDescriptor = Object.getOwnPropertyDescriptor(object, propertyNameOrSymbol);\n if (currentDescriptor && !currentDescriptor.configurable) return\n Object.defineProperty(object, propertyNameOrSymbol, descriptor)\n};\n`\n\n const variableNameMap = {}\n recipeArray.forEach((recipe, index) => {\n const indexSorted = recipeArraySorted.indexOf(recipe)\n variableNameMap[index] = `_${indexSorted}`\n })\n\n const identifierToVariableName = (identifier) => variableNameMap[identifier]\n\n const recipeToSetupSource = (recipe) => {\n if (recipe.type === \"primitive\") return primitiveRecipeToSetupSource(recipe)\n if (recipe.type === \"global-symbol\") return globalSymbolRecipeToSetupSource(recipe)\n if (recipe.type === \"global-reference\") return globalReferenceRecipeToSetupSource(recipe)\n return compositeRecipeToSetupSource(recipe)\n }\n\n const primitiveRecipeToSetupSource = ({ value }) => {\n const type = typeof value\n\n if (type === \"string\") {\n return `\"${escapeString(value)}\";`\n }\n\n if (type === \"bigint\") {\n return `${value.toString()}n`\n }\n\n if (Object.is(value, -0)) {\n return \"-0;\"\n }\n\n return `${String(value)};`\n }\n\n const globalSymbolRecipeToSetupSource = (recipe) => {\n return `Symbol.for(\"${escapeString(recipe.key)}\");`\n }\n\n const globalReferenceRecipeToSetupSource = (recipe) => {\n const pathSource = recipe.path.map((part) => `[\"${escapeString(part)}\"]`).join(\"\")\n return `globalObject${pathSource};`\n }\n\n const compositeRecipeToSetupSource = ({ prototypeIdentifier, valueOfIdentifier }) => {\n if (prototypeIdentifier === undefined) {\n return identifierToVariableName(valueOfIdentifier)\n }\n\n const prototypeValue = valueMap[prototypeIdentifier]\n if (prototypeValue === null) {\n return `Object.create(null);`\n }\n\n const prototypeConstructor = prototypeValue.constructor\n if (prototypeConstructor === Object) {\n return `Object.create(${identifierToVariableName(prototypeIdentifier)});`\n }\n\n if (valueOfIdentifier === undefined) {\n return `new ${prototypeConstructor.name}();`\n }\n\n if (prototypeConstructor.name === \"BigInt\") {\n return `Object(${identifierToVariableName(valueOfIdentifier)})`\n }\n\n return `new ${prototypeConstructor.name}(${identifierToVariableName(valueOfIdentifier)});`\n }\n\n recipeArraySorted.forEach((recipe) => {\n const recipeVariableName = identifierToVariableName(recipeArray.indexOf(recipe))\n source += `var ${recipeVariableName} = ${recipeToSetupSource(recipe, recipeVariableName)}\n`\n })\n\n const recipeToMutateSource = (recipe, recipeVariableName) => {\n if (recipe.type === \"composite\") {\n return compositeRecipeToMutateSource(recipe, recipeVariableName)\n }\n return ``\n }\n\n const compositeRecipeToMutateSource = (\n { propertyDescriptionArray, symbolDescriptionArray, methodDescriptionArray, extensible },\n recipeVariableName,\n ) => {\n let mutateSource = ``\n\n propertyDescriptionArray.forEach(({ propertyNameIdentifier, propertyDescription }) => {\n mutateSource += generateDefinePropertySource(\n recipeVariableName,\n propertyNameIdentifier,\n propertyDescription,\n )\n })\n\n symbolDescriptionArray.forEach(({ symbolIdentifier, propertyDescription }) => {\n mutateSource += generateDefinePropertySource(\n recipeVariableName,\n symbolIdentifier,\n propertyDescription,\n )\n })\n\n methodDescriptionArray.forEach(({ methodNameIdentifier, callArray }) => {\n mutateSource += generateMethodCallSource(recipeVariableName, methodNameIdentifier, callArray)\n })\n\n if (!extensible) {\n mutateSource += generatePreventExtensionSource(recipeVariableName)\n }\n\n return mutateSource\n }\n\n const generateDefinePropertySource = (\n recipeVariableName,\n propertyNameOrSymbolIdentifier,\n propertyDescription,\n ) => {\n const propertyOrSymbolVariableName = identifierToVariableName(propertyNameOrSymbolIdentifier)\n\n const propertyDescriptorSource = generatePropertyDescriptorSource(propertyDescription)\n return `safeDefineProperty(${recipeVariableName}, ${propertyOrSymbolVariableName}, ${propertyDescriptorSource});`\n }\n\n const generatePropertyDescriptorSource = ({\n configurable,\n writable,\n enumerable,\n getIdentifier,\n setIdentifier,\n valueIdentifier,\n }) => {\n if (valueIdentifier === undefined) {\n return `{\n configurable: ${configurable},\n enumerable: ${enumerable},\n get: ${getIdentifier === undefined ? undefined : identifierToVariableName(getIdentifier)},\n set: ${setIdentifier === undefined ? undefined : identifierToVariableName(setIdentifier)},\n}`\n }\n\n return `{\n configurable: ${configurable},\n writable: ${writable},\n enumerable: ${enumerable},\n value: ${valueIdentifier === undefined ? undefined : identifierToVariableName(valueIdentifier)}\n}`\n }\n\n const generateMethodCallSource = (recipeVariableName, methodNameIdentifier, callArray) => {\n let methodCallSource = ``\n\n const methodVariableName = identifierToVariableName(methodNameIdentifier)\n callArray.forEach((argumentIdentifiers) => {\n const argumentVariableNames = argumentIdentifiers.map((argumentIdentifier) =>\n identifierToVariableName(argumentIdentifier),\n )\n\n methodCallSource += `${recipeVariableName}[${methodVariableName}](${argumentVariableNames.join(\n \",\",\n )});`\n })\n\n return methodCallSource\n }\n\n const generatePreventExtensionSource = (recipeVariableName) => {\n return `Object.preventExtensions(${recipeVariableName});`\n }\n\n recipeArraySorted.forEach((recipe) => {\n const recipeVariableName = identifierToVariableName(recipeArray.indexOf(recipe))\n source += `${recipeToMutateSource(recipe, recipeVariableName)}`\n })\n\n source += `return ${identifierToVariableName(mainIdentifier)}; })()`\n\n return source\n}\n", + "import { uneval } from \"@jsenv/uneval\"\n\nexport const unevalException = (value) => {\n if (value && value.hasOwnProperty(\"toString\")) {\n delete value.toString\n }\n return uneval(value, { ignoreSymbols: true })\n}\n", + "export const memoize = (compute) => {\n let memoized = false\n let memoizedValue\n\n const fnWithMemoization = (...args) => {\n if (memoized) {\n return memoizedValue\n }\n // if compute is recursive wait for it to be fully done before storing the lockValue\n // so set locked later\n memoizedValue = compute(...args)\n memoized = true\n return memoizedValue\n }\n\n fnWithMemoization.forget = () => {\n const value = memoizedValue\n memoized = false\n memoizedValue = undefined\n return value\n }\n\n return fnWithMemoization\n}\n", + "export const assertImportMap = (value) => {\n if (value === null) {\n throw new TypeError(`an importMap must be an object, got null`)\n }\n\n const type = typeof value\n if (type !== \"object\") {\n throw new TypeError(`an importMap must be an object, received ${value}`)\n }\n\n if (Array.isArray(value)) {\n throw new TypeError(\n `an importMap must be an object, received array ${value}`,\n )\n }\n}\n", + "export const hasScheme = (string) => {\n return /^[a-zA-Z]{2,}:/.test(string)\n}\n", + "export const urlToScheme = (urlString) => {\n const colonIndex = urlString.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return urlString.slice(0, colonIndex)\n}\n", + "import { urlToScheme } from \"./urlToScheme.js\"\n\nexport const urlToPathname = (urlString) => {\n return ressourceToPathname(urlToRessource(urlString))\n}\n\nconst urlToRessource = (urlString) => {\n const scheme = urlToScheme(urlString)\n\n if (scheme === \"file\") {\n return urlString.slice(\"file://\".length)\n }\n\n if (scheme === \"https\" || scheme === \"http\") {\n // remove origin\n const afterProtocol = urlString.slice(scheme.length + \"://\".length)\n const pathnameSlashIndex = afterProtocol.indexOf(\"/\", \"://\".length)\n return afterProtocol.slice(pathnameSlashIndex)\n }\n\n return urlString.slice(scheme.length + 1)\n}\n\nconst ressourceToPathname = (ressource) => {\n const searchSeparatorIndex = ressource.indexOf(\"?\")\n return searchSeparatorIndex === -1\n ? ressource\n : ressource.slice(0, searchSeparatorIndex)\n}\n", + "import { urlToScheme } from \"./urlToScheme.js\"\n\nexport const urlToOrigin = (urlString) => {\n const scheme = urlToScheme(urlString)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = urlString.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return urlString\n return urlString.slice(0, pathnameSlashIndex)\n }\n\n return urlString.slice(0, scheme.length + 1)\n}\n", + "export const pathnameToParentPathname = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex === -1) {\n return \"/\"\n }\n\n return pathname.slice(0, slashLastIndex + 1)\n}\n", + "// could be useful: https://url.spec.whatwg.org/#url-miscellaneous\n\nimport { urlToScheme } from \"./internal/urlToScheme.js\"\nimport { urlToPathname } from \"./internal/urlToPathname.js\"\nimport { urlToOrigin } from \"./internal/urlToOrigin.js\"\nimport { pathnameToParentPathname } from \"./internal/pathnameToParentPathname.js\"\nimport { hasScheme } from \"./internal/hasScheme.js\"\n\nexport const resolveUrl = (specifier, baseUrl) => {\n if (baseUrl) {\n if (typeof baseUrl !== \"string\") {\n throw new TypeError(writeBaseUrlMustBeAString({ baseUrl, specifier }))\n }\n if (!hasScheme(baseUrl)) {\n throw new Error(writeBaseUrlMustBeAbsolute({ baseUrl, specifier }))\n }\n }\n\n if (hasScheme(specifier)) {\n return specifier\n }\n\n if (!baseUrl) {\n throw new Error(writeBaseUrlRequired({ baseUrl, specifier }))\n }\n\n // scheme relative\n if (specifier.slice(0, 2) === \"//\") {\n return `${urlToScheme(baseUrl)}:${specifier}`\n }\n\n // origin relative\n if (specifier[0] === \"/\") {\n return `${urlToOrigin(baseUrl)}${specifier}`\n }\n\n const baseOrigin = urlToOrigin(baseUrl)\n const basePathname = urlToPathname(baseUrl)\n\n if (specifier === \".\") {\n const baseDirectoryPathname = pathnameToParentPathname(basePathname)\n return `${baseOrigin}${baseDirectoryPathname}`\n }\n\n // pathname relative inside\n if (specifier.slice(0, 2) === \"./\") {\n const baseDirectoryPathname = pathnameToParentPathname(basePathname)\n return `${baseOrigin}${baseDirectoryPathname}${specifier.slice(2)}`\n }\n\n // pathname relative outside\n if (specifier.slice(0, 3) === \"../\") {\n let unresolvedPathname = specifier\n const importerFolders = basePathname.split(\"/\")\n importerFolders.pop()\n\n while (unresolvedPathname.slice(0, 3) === \"../\") {\n unresolvedPathname = unresolvedPathname.slice(3)\n // when there is no folder left to resolved\n // we just ignore '../'\n if (importerFolders.length) {\n importerFolders.pop()\n }\n }\n\n const resolvedPathname = `${importerFolders.join(\n \"/\",\n )}/${unresolvedPathname}`\n return `${baseOrigin}${resolvedPathname}`\n }\n\n // bare\n if (basePathname === \"\") {\n return `${baseOrigin}/${specifier}`\n }\n if (basePathname[basePathname.length] === \"/\") {\n return `${baseOrigin}${basePathname}${specifier}`\n }\n return `${baseOrigin}${pathnameToParentPathname(basePathname)}${specifier}`\n}\n\nconst writeBaseUrlMustBeAString = ({\n baseUrl,\n specifier,\n}) => `baseUrl must be a string.\n--- base url ---\n${baseUrl}\n--- specifier ---\n${specifier}`\n\nconst writeBaseUrlMustBeAbsolute = ({\n baseUrl,\n specifier,\n}) => `baseUrl must be absolute.\n--- base url ---\n${baseUrl}\n--- specifier ---\n${specifier}`\n\nconst writeBaseUrlRequired = ({\n baseUrl,\n specifier,\n}) => `baseUrl required to resolve relative specifier.\n--- base url ---\n${baseUrl}\n--- specifier ---\n${specifier}`\n", + "import { hasScheme } from \"./hasScheme.js\"\nimport { resolveUrl } from \"../resolveUrl.js\"\n\nexport const tryUrlResolution = (string, url) => {\n const result = resolveUrl(string, url)\n return hasScheme(result) ? result : null\n}\n", + "import { hasScheme } from \"./internal/hasScheme.js\"\nimport { resolveUrl } from \"./resolveUrl.js\"\n\nexport const resolveSpecifier = (specifier, importer) => {\n if (\n specifier === \".\" ||\n specifier[0] === \"/\" ||\n specifier.startsWith(\"./\") ||\n specifier.startsWith(\"../\")\n ) {\n return resolveUrl(specifier, importer)\n }\n\n if (hasScheme(specifier)) {\n return specifier\n }\n\n return null\n}\n", + "import { assertImportMap } from \"./internal/assertImportMap.js\"\n\nexport const sortImportMap = (importMap) => {\n assertImportMap(importMap)\n\n const { imports, scopes } = importMap\n\n return {\n ...(imports ? { imports: sortImports(imports) } : {}),\n ...(scopes ? { scopes: sortScopes(scopes) } : {}),\n }\n}\n\nexport const sortImports = (imports) => {\n const mappingsSorted = {}\n\n Object.keys(imports)\n .sort(compareLengthOrLocaleCompare)\n .forEach((name) => {\n mappingsSorted[name] = imports[name]\n })\n\n return mappingsSorted\n}\n\nexport const sortScopes = (scopes) => {\n const scopesSorted = {}\n\n Object.keys(scopes)\n .sort(compareLengthOrLocaleCompare)\n .forEach((scopeSpecifier) => {\n scopesSorted[scopeSpecifier] = sortImports(scopes[scopeSpecifier])\n })\n\n return scopesSorted\n}\n\nconst compareLengthOrLocaleCompare = (a, b) => {\n return b.length - a.length || a.localeCompare(b)\n}\n", + "import { assertImportMap } from \"./internal/assertImportMap.js\"\nimport { tryUrlResolution } from \"./internal/tryUrlResolution.js\"\nimport { resolveSpecifier } from \"./resolveSpecifier.js\"\nimport { sortImports, sortScopes } from \"./sortImportMap.js\"\n\nexport const normalizeImportMap = (importMap, baseUrl) => {\n assertImportMap(importMap)\n\n if (!isStringOrUrl(baseUrl)) {\n throw new TypeError(formulateBaseUrlMustBeStringOrUrl({ baseUrl }))\n }\n\n const { imports, scopes } = importMap\n\n return {\n imports: imports ? normalizeMappings(imports, baseUrl) : undefined,\n scopes: scopes ? normalizeScopes(scopes, baseUrl) : undefined,\n }\n}\n\nconst isStringOrUrl = (value) => {\n if (typeof value === \"string\") {\n return true\n }\n\n if (typeof URL === \"function\" && value instanceof URL) {\n return true\n }\n\n return false\n}\n\nconst normalizeMappings = (mappings, baseUrl) => {\n const mappingsNormalized = {}\n\n Object.keys(mappings).forEach((specifier) => {\n const address = mappings[specifier]\n\n if (typeof address !== \"string\") {\n console.warn(\n formulateAddressMustBeAString({\n address,\n specifier,\n }),\n )\n return\n }\n\n const specifierResolved = resolveSpecifier(specifier, baseUrl) || specifier\n\n const addressUrl = tryUrlResolution(address, baseUrl)\n if (addressUrl === null) {\n console.warn(\n formulateAdressResolutionFailed({\n address,\n baseUrl,\n specifier,\n }),\n )\n return\n }\n\n if (specifier.endsWith(\"/\") && !addressUrl.endsWith(\"/\")) {\n console.warn(\n formulateAddressUrlRequiresTrailingSlash({\n addressUrl,\n address,\n specifier,\n }),\n )\n return\n }\n mappingsNormalized[specifierResolved] = addressUrl\n })\n\n return sortImports(mappingsNormalized)\n}\n\nconst normalizeScopes = (scopes, baseUrl) => {\n const scopesNormalized = {}\n\n Object.keys(scopes).forEach((scopeSpecifier) => {\n const scopeMappings = scopes[scopeSpecifier]\n const scopeUrl = tryUrlResolution(scopeSpecifier, baseUrl)\n if (scopeUrl === null) {\n console.warn(\n formulateScopeResolutionFailed({\n scope: scopeSpecifier,\n baseUrl,\n }),\n )\n return\n }\n const scopeValueNormalized = normalizeMappings(scopeMappings, baseUrl)\n scopesNormalized[scopeUrl] = scopeValueNormalized\n })\n\n return sortScopes(scopesNormalized)\n}\n\nconst formulateBaseUrlMustBeStringOrUrl = ({\n baseUrl,\n}) => `baseUrl must be a string or an url.\n--- base url ---\n${baseUrl}`\n\nconst formulateAddressMustBeAString = ({\n specifier,\n address,\n}) => `Address must be a string.\n--- address ---\n${address}\n--- specifier ---\n${specifier}`\n\nconst formulateAdressResolutionFailed = ({\n address,\n baseUrl,\n specifier,\n}) => `Address url resolution failed.\n--- address ---\n${address}\n--- base url ---\n${baseUrl}\n--- specifier ---\n${specifier}`\n\nconst formulateAddressUrlRequiresTrailingSlash = ({\n addressURL,\n address,\n specifier,\n}) => `Address must end with /.\n--- address url ---\n${addressURL}\n--- address ---\n${address}\n--- specifier ---\n${specifier}`\n\nconst formulateScopeResolutionFailed = ({\n scope,\n baseUrl,\n}) => `Scope url resolution failed.\n--- scope ---\n${scope}\n--- base url ---\n${baseUrl}`\n", + "export const pathnameToExtension = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex !== -1) {\n pathname = pathname.slice(slashLastIndex + 1)\n }\n\n const dotLastIndex = pathname.lastIndexOf(\".\")\n if (dotLastIndex === -1) return \"\"\n // if (dotLastIndex === pathname.length - 1) return \"\"\n return pathname.slice(dotLastIndex)\n}\n", + "import { createDetailedMessage } from \"@jsenv/logger\"\nimport { assertImportMap } from \"./internal/assertImportMap.js\"\nimport { hasScheme } from \"./internal/hasScheme.js\"\nimport { tryUrlResolution } from \"./internal/tryUrlResolution.js\"\nimport { resolveSpecifier } from \"./resolveSpecifier.js\"\n\nexport const applyImportMap = ({\n importMap,\n specifier,\n importer,\n createBareSpecifierError = ({ specifier, importer }) => {\n return new Error(\n createDetailedMessage(`Unmapped bare specifier.`, {\n specifier,\n importer,\n }),\n )\n },\n onImportMapping = () => {},\n}) => {\n assertImportMap(importMap)\n if (typeof specifier !== \"string\") {\n throw new TypeError(\n createDetailedMessage(\"specifier must be a string.\", {\n specifier,\n importer,\n }),\n )\n }\n if (importer) {\n if (typeof importer !== \"string\") {\n throw new TypeError(\n createDetailedMessage(\"importer must be a string.\", {\n importer,\n specifier,\n }),\n )\n }\n if (!hasScheme(importer)) {\n throw new Error(\n createDetailedMessage(`importer must be an absolute url.`, {\n importer,\n specifier,\n }),\n )\n }\n }\n\n const specifierUrl = resolveSpecifier(specifier, importer)\n const specifierNormalized = specifierUrl || specifier\n\n const { scopes } = importMap\n if (scopes && importer) {\n const scopeSpecifierMatching = Object.keys(scopes).find(\n (scopeSpecifier) => {\n return (\n scopeSpecifier === importer ||\n specifierIsPrefixOf(scopeSpecifier, importer)\n )\n },\n )\n if (scopeSpecifierMatching) {\n const scopeMappings = scopes[scopeSpecifierMatching]\n const mappingFromScopes = applyMappings(\n scopeMappings,\n specifierNormalized,\n scopeSpecifierMatching,\n onImportMapping,\n )\n if (mappingFromScopes !== null) {\n return mappingFromScopes\n }\n }\n }\n\n const { imports } = importMap\n if (imports) {\n const mappingFromImports = applyMappings(\n imports,\n specifierNormalized,\n undefined,\n onImportMapping,\n )\n if (mappingFromImports !== null) {\n return mappingFromImports\n }\n }\n\n if (specifierUrl) {\n return specifierUrl\n }\n\n throw createBareSpecifierError({ specifier, importer })\n}\n\nconst applyMappings = (\n mappings,\n specifierNormalized,\n scope,\n onImportMapping,\n) => {\n const specifierCandidates = Object.keys(mappings)\n\n let i = 0\n while (i < specifierCandidates.length) {\n const specifierCandidate = specifierCandidates[i]\n i++\n if (specifierCandidate === specifierNormalized) {\n const address = mappings[specifierCandidate]\n onImportMapping({\n scope,\n from: specifierCandidate,\n to: address,\n before: specifierNormalized,\n after: address,\n })\n return address\n }\n if (specifierIsPrefixOf(specifierCandidate, specifierNormalized)) {\n const address = mappings[specifierCandidate]\n const afterSpecifier = specifierNormalized.slice(\n specifierCandidate.length,\n )\n const addressFinal = tryUrlResolution(afterSpecifier, address)\n onImportMapping({\n scope,\n from: specifierCandidate,\n to: address,\n before: specifierNormalized,\n after: addressFinal,\n })\n return addressFinal\n }\n }\n\n return null\n}\n\nconst specifierIsPrefixOf = (specifierHref, href) => {\n return (\n specifierHref[specifierHref.length - 1] === \"/\" &&\n href.startsWith(specifierHref)\n )\n}\n", + "import { urlToPathname } from \"./internal/urlToPathname.js\"\nimport { pathnameToExtension } from \"./internal/pathnameToExtension.js\"\nimport { resolveUrl } from \"./resolveUrl.js\"\nimport { applyImportMap } from \"./applyImportMap.js\"\n\nexport const resolveImport = ({\n specifier,\n importer,\n importMap,\n defaultExtension = false,\n createBareSpecifierError,\n onImportMapping = () => {},\n}) => {\n let url\n if (importMap) {\n url = applyImportMap({\n importMap,\n specifier,\n importer,\n createBareSpecifierError,\n onImportMapping,\n })\n } else {\n url = resolveUrl(specifier, importer)\n }\n\n if (defaultExtension) {\n url = applyDefaultExtension({ url, importer, defaultExtension })\n }\n\n return url\n}\n\nconst applyDefaultExtension = ({ url, importer, defaultExtension }) => {\n if (urlToPathname(url).endsWith(\"/\")) {\n return url\n }\n\n if (typeof defaultExtension === \"string\") {\n const extension = pathnameToExtension(url)\n if (extension === \"\") {\n return `${url}${defaultExtension}`\n }\n return url\n }\n\n if (defaultExtension === true) {\n const extension = pathnameToExtension(url)\n if (extension === \"\" && importer) {\n const importerPathname = urlToPathname(importer)\n const importerExtension = pathnameToExtension(importerPathname)\n return `${url}${importerExtension}`\n }\n }\n\n return url\n}\n", + "import { createDetailedMessage } from \"@jsenv/logger\"\n\nexport const fromFunctionReturningNamespace = (fn, data) => {\n return fromFunctionReturningRegisteredModule(() => {\n // should we compute the namespace here\n // or as it is done below, defer to execute ?\n // I think defer to execute is better\n return [\n [],\n (_export) => {\n return {\n execute: () => {\n const namespace = fn()\n _export(namespace)\n },\n }\n },\n ]\n }, data)\n}\n\nexport const getJavaScriptModuleResponseError = async (\n response,\n {\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n jsonContentTypeAccepted,\n },\n) => {\n if (response.status === 404) {\n return new Error(\n createDetailedMessage(\n `JavaScript module file cannot be found`,\n getModuleDetails({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n notFound: true,\n }),\n ),\n )\n }\n\n const contentType = response.headers[\"content-type\"] || \"\"\n if (response.status === 500 && contentType === \"application/json\") {\n const bodyAsJson = await response.json()\n if (\n bodyAsJson.message &&\n bodyAsJson.filename &&\n \"columnNumber\" in bodyAsJson\n ) {\n const error = new Error(\n createDetailedMessage(`JavaScript module file cannot be parsed`, {\n [\"parsing error message\"]: bodyAsJson.message,\n ...getModuleDetails({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }),\n }),\n )\n error.parsingError = bodyAsJson\n return error\n }\n }\n\n if (response.status < 200 || response.status >= 300) {\n return new Error(\n createDetailedMessage(\n `JavaScript module file response status is unexpected`,\n {\n [\"status\"]: response.status,\n [\"allowed status\"]: \"200 to 299\",\n [\"statusText\"]: response.statusText,\n ...getModuleDetails({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }),\n },\n ),\n )\n }\n\n if (\n jsonContentTypeAccepted &&\n (contentType === \"application/json\" || contentType.endsWith(\"+json\"))\n ) {\n return null\n }\n\n if (\n contentType !== \"application/javascript\" &&\n contentType !== \"text/javascript\"\n ) {\n return new Error(\n createDetailedMessage(\n `Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of \"${contentType}\". Strict MIME type checking is enforced for module scripts per HTML spec.`,\n {\n ...getModuleDetails({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }),\n suggestion: `Use import.meta.url or import assertions as documented in https://github.com/jsenv/jsenv-core/blob/master/docs/building/readme.md#How-to-reference-assets`,\n },\n ),\n )\n }\n\n return null\n}\n\nexport const fromFunctionReturningRegisteredModule = (fn, data) => {\n try {\n return fn()\n } catch (error) {\n if (error.name === \"SyntaxError\") {\n throw new Error(\n createDetailedMessage(`Syntax error in module.`, {\n \"syntax error stack\": error.stack,\n ...getModuleDetails(data),\n }),\n )\n }\n throw new Error(\n createDetailedMessage(`Module instantiation error.`, {\n [\"instantiation error stack\"]: error.stack,\n ...getModuleDetails(data),\n }),\n )\n }\n}\n\nexport const getModuleDetails = ({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n notFound = false,\n}) => {\n const relativeUrl = tryToFindProjectRelativeUrl(url, {\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n })\n\n const importerRelativeUrl = tryToFindProjectRelativeUrl(importerUrl, {\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n })\n\n const details = notFound\n ? {\n ...(importerUrl\n ? { [\"import declared in\"]: importerRelativeUrl || importerUrl }\n : {}),\n ...(relativeUrl ? { file: relativeUrl } : {}),\n [\"file url\"]: url,\n }\n : {\n ...(relativeUrl ? { file: relativeUrl } : {}),\n [\"file url\"]: url,\n ...(importerUrl\n ? { [\"imported by\"]: importerRelativeUrl || importerUrl }\n : {}),\n }\n\n return details\n}\n\nexport const tryToFindProjectRelativeUrl = (\n url,\n { compileServerOrigin, compileDirectoryRelativeUrl },\n) => {\n if (!url) {\n return null\n }\n\n if (!url.startsWith(`${compileServerOrigin}/`)) {\n return null\n }\n\n if (url === compileServerOrigin) {\n return null\n }\n\n const afterOrigin = url.slice(`${compileServerOrigin}/`.length)\n if (!afterOrigin.startsWith(compileDirectoryRelativeUrl)) {\n return null\n }\n\n const afterCompileDirectory = afterOrigin.slice(\n compileDirectoryRelativeUrl.length,\n )\n return afterCompileDirectory\n}\n\n// const textToBase64 =\n// typeof window === \"object\"\n// ? (text) => window.btoa(window.unescape(window.encodeURIComponent(text)))\n// : (text) => Buffer.from(text, \"utf8\").toString(\"base64\")\n", + "export const applyDefaultExtension = (specifier, importer) => {\n if (!importer) {\n return specifier\n }\n\n const importerExtension = urlToExtension(importer)\n const fakeUrl = new URL(specifier, importer).href\n const specifierExtension = urlToExtension(fakeUrl)\n if (specifierExtension !== \"\") {\n return specifier\n }\n\n // I guess typescript still expect default extension to be .ts\n // in a tsx file.\n if (importerExtension === \"tsx\") {\n return `${specifier}.ts`\n }\n\n // extension magic\n return `${specifier}${importerExtension}`\n}\n\nconst urlToExtension = (url) => {\n return pathnameToExtension(urlToPathname(url))\n}\n\nconst urlToPathname = (url) => new URL(url).pathname\n\nconst pathnameToExtension = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex !== -1) {\n pathname = pathname.slice(slashLastIndex + 1)\n }\n\n const dotLastIndex = pathname.lastIndexOf(\".\")\n if (dotLastIndex === -1) return \"\"\n // if (dotLastIndex === pathname.length - 1) return \"\"\n const extension = pathname.slice(dotLastIndex)\n return extension\n}\n", + "import { createDetailedMessage } from \"@jsenv/logger\"\nimport { resolveImport } from \"@jsenv/importmap/src/resolveImport.js\"\n\nimport { tryToFindProjectRelativeUrl } from \"@jsenv/core/src/internal/runtime_client/module_registration.js\"\n\nimport { applyDefaultExtension } from \"./default_extension.js\"\n\nexport const createImportResolverForImportmap = async ({\n // projectDirectoryUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n importMap,\n importMapUrl,\n importDefaultExtension,\n onBareSpecifierError = () => {},\n}) => {\n const _resolveImport = (specifier, importer) => {\n if (importDefaultExtension) {\n specifier = applyDefaultExtension(specifier, importer)\n }\n return resolveImport({\n specifier,\n importer,\n importMap,\n createBareSpecifierError: ({ specifier, importer }) => {\n const bareSpecifierError = createBareSpecifierError({\n specifier,\n importer:\n tryToFindProjectRelativeUrl(importer, {\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }) || importer,\n importMapUrl:\n tryToFindProjectRelativeUrl(importMapUrl, {\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }) || importMapUrl,\n importMap,\n })\n onBareSpecifierError(bareSpecifierError)\n return bareSpecifierError\n },\n })\n }\n\n return { resolveImport: _resolveImport }\n}\n\nconst createBareSpecifierError = ({ specifier, importer, importMapUrl }) => {\n const detailedMessage = createDetailedMessage(\"Unmapped bare specifier.\", {\n specifier,\n importer,\n ...(importMapUrl\n ? {\n \"how to fix\": `Add a mapping for \"${specifier}\" into the importmap file at \"${importMapUrl}\"`,\n }\n : {\n \"how to fix\": `Add an importmap with a mapping for \"${specifier}\"`,\n \"suggestion\": `Generate importmap using https://github.com/jsenv/importmap-node-module`,\n }),\n })\n\n return new Error(detailedMessage)\n}\n", + "/*\n* SJS 6.11.0\n* Minimal SystemJS Build\n*/\n(function () {\n\n function errMsg(errCode, msg) {\n return (msg || \"\") + \" (SystemJS https://git.io/JvFET#\" + errCode + \")\";\n }\n\n var hasSymbol = typeof Symbol !== 'undefined';\n var hasSelf = typeof self !== 'undefined';\n var hasDocument = typeof document !== 'undefined';\n\n var envGlobal = hasSelf ? self : global;\n\n var baseUrl;\n\n if (hasDocument) {\n var baseEl = document.querySelector('base[href]');\n if (baseEl)\n baseUrl = baseEl.href;\n }\n\n if (!baseUrl && typeof location !== 'undefined') {\n baseUrl = location.href.split('#')[0].split('?')[0];\n var lastSepIndex = baseUrl.lastIndexOf('/');\n if (lastSepIndex !== -1)\n baseUrl = baseUrl.slice(0, lastSepIndex + 1);\n }\n\n var backslashRegEx = /\\\\/g;\n function resolveIfNotPlainOrUrl (relUrl, parentUrl) {\n if (relUrl.indexOf('\\\\') !== -1)\n relUrl = relUrl.replace(backslashRegEx, '/');\n // protocol-relative\n if (relUrl[0] === '/' && relUrl[1] === '/') {\n return parentUrl.slice(0, parentUrl.indexOf(':') + 1) + relUrl;\n }\n // relative-url\n else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||\n relUrl.length === 1 && (relUrl += '/')) ||\n relUrl[0] === '/') {\n var parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1);\n // Disabled, but these cases will give inconsistent results for deep backtracking\n //if (parentUrl[parentProtocol.length] !== '/')\n // throw Error('Cannot resolve');\n // read pathname from parent URL\n // pathname taken to be part after leading \"/\"\n var pathname;\n if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.slice(parentProtocol.length + 2);\n pathname = pathname.slice(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.slice(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === '/'));\n }\n\n if (relUrl[0] === '/')\n return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z'\n var segmented = pathname.slice(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.slice(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n }\n\n // new segment - check if it is relative\n else if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n }\n }\n // it is the start of a new segment\n else {\n segmentIndex = i;\n }\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.slice(segmentIndex));\n return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join('');\n }\n }\n\n /*\n * Import maps implementation\n *\n * To make lookups fast we pre-resolve the entire import map\n * and then match based on backtracked hash lookups\n *\n */\n\n function resolveUrl (relUrl, parentUrl) {\n return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (relUrl.indexOf(':') !== -1 ? relUrl : resolveIfNotPlainOrUrl('./' + relUrl, parentUrl));\n }\n\n function resolveAndComposePackages (packages, outPackages, baseUrl, parentMap, parentUrl) {\n for (var p in packages) {\n var resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p;\n var rhs = packages[p];\n // package fallbacks not currently supported\n if (typeof rhs !== 'string')\n continue;\n var mapped = resolveImportMap(parentMap, resolveIfNotPlainOrUrl(rhs, baseUrl) || rhs, parentUrl);\n if (!mapped) {\n targetWarning('W1', p, rhs);\n }\n else\n outPackages[resolvedLhs] = mapped;\n }\n }\n\n function resolveAndComposeImportMap (json, baseUrl, outMap) {\n if (json.imports)\n resolveAndComposePackages(json.imports, outMap.imports, baseUrl, outMap, null);\n\n var u;\n for (u in json.scopes || {}) {\n var resolvedScope = resolveUrl(u, baseUrl);\n resolveAndComposePackages(json.scopes[u], outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), baseUrl, outMap, resolvedScope);\n }\n\n for (u in json.depcache || {})\n outMap.depcache[resolveUrl(u, baseUrl)] = json.depcache[u];\n\n for (u in json.integrity || {})\n outMap.integrity[resolveUrl(u, baseUrl)] = json.integrity[u];\n }\n\n function getMatch (path, matchObj) {\n if (matchObj[path])\n return path;\n var sepIndex = path.length;\n do {\n var segment = path.slice(0, sepIndex + 1);\n if (segment in matchObj)\n return segment;\n } while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1)\n }\n\n function applyPackages (id, packages) {\n var pkgName = getMatch(id, packages);\n if (pkgName) {\n var pkg = packages[pkgName];\n if (pkg === null) return;\n if (id.length > pkgName.length && pkg[pkg.length - 1] !== '/') {\n targetWarning('W2', pkgName, pkg);\n }\n else\n return pkg + id.slice(pkgName.length);\n }\n }\n\n function targetWarning (code, match, target, msg) {\n console.warn(errMsg(code, [target, match].join(', ') ));\n }\n\n function resolveImportMap (importMap, resolvedOrPlain, parentUrl) {\n var scopes = importMap.scopes;\n var scopeUrl = parentUrl && getMatch(parentUrl, scopes);\n while (scopeUrl) {\n var packageResolution = applyPackages(resolvedOrPlain, scopes[scopeUrl]);\n if (packageResolution)\n return packageResolution;\n scopeUrl = getMatch(scopeUrl.slice(0, scopeUrl.lastIndexOf('/')), scopes);\n }\n return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain;\n }\n\n /*\n * SystemJS Core\n *\n * Provides\n * - System.import\n * - System.register support for\n * live bindings, function hoisting through circular references,\n * reexports, dynamic import, import.meta.url, top-level await\n * - System.getRegister to get the registration\n * - Symbol.toStringTag support in Module objects\n * - Hookable System.createContext to customize import.meta\n * - System.onload(err, id, deps) handler for tracing / hot-reloading\n *\n * Core comes with no System.prototype.resolve or\n * System.prototype.instantiate implementations\n */\n\n var toStringTag = hasSymbol && Symbol.toStringTag;\n var REGISTRY = hasSymbol ? Symbol() : '@';\n\n function SystemJS () {\n this[REGISTRY] = {};\n }\n\n var systemJSPrototype = SystemJS.prototype;\n\n systemJSPrototype.import = function (id, parentUrl) {\n var loader = this;\n return Promise.resolve(loader.prepareImport())\n .then(function() {\n return loader.resolve(String(id), parentUrl);\n })\n .then(function (id) {\n var load = getOrCreateLoad(loader, id);\n return load.C || topLevelLoad(loader, load);\n });\n };\n\n // Hookable createContext function -> allowing eg custom import meta\n systemJSPrototype.createContext = function (parentId) {\n var loader = this;\n return {\n url: parentId,\n resolve: function (id, parentUrl) {\n return Promise.resolve(loader.resolve(id, parentUrl || parentId));\n }\n };\n };\n function loadToId (load) {\n return load.id;\n }\n function triggerOnload (loader, load, err, isErrSource) {\n loader.onload(err, load.id, load.d && load.d.map(loadToId), !!isErrSource);\n if (err)\n throw err;\n }\n\n var lastRegister;\n systemJSPrototype.register = function (deps, declare) {\n lastRegister = [deps, declare];\n };\n\n /*\n * getRegister provides the last anonymous System.register call\n */\n systemJSPrototype.getRegister = function () {\n var _lastRegister = lastRegister;\n lastRegister = undefined;\n return _lastRegister;\n };\n\n function getOrCreateLoad (loader, id, firstParentUrl) {\n var load = loader[REGISTRY][id];\n if (load)\n return load;\n\n var importerSetters = [];\n var ns = Object.create(null);\n if (toStringTag)\n Object.defineProperty(ns, toStringTag, { value: 'Module' });\n\n var instantiatePromise = Promise.resolve()\n .then(function () {\n return loader.instantiate(id, firstParentUrl);\n })\n .then(function (registration) {\n if (!registration)\n throw Error(errMsg(2, id ));\n function _export (name, value) {\n // note if we have hoisted exports (including reexports)\n load.h = true;\n var changed = false;\n if (typeof name === 'string') {\n if (!(name in ns) || ns[name] !== value) {\n ns[name] = value;\n changed = true;\n }\n }\n else {\n for (var p in name) {\n var value = name[p];\n if (!(p in ns) || ns[p] !== value) {\n ns[p] = value;\n changed = true;\n }\n }\n\n if (name && name.__esModule) {\n ns.__esModule = name.__esModule;\n }\n }\n if (changed)\n for (var i = 0; i < importerSetters.length; i++) {\n var setter = importerSetters[i];\n if (setter) setter(ns);\n }\n return value;\n }\n var declared = registration[1](_export, registration[1].length === 2 ? {\n import: function (importId) {\n return loader.import(importId, id);\n },\n meta: loader.createContext(id)\n } : undefined);\n load.e = declared.execute || function () {};\n return [registration[0], declared.setters || []];\n }, function (err) {\n load.e = null;\n load.er = err;\n throw err;\n });\n\n var linkPromise = instantiatePromise\n .then(function (instantiation) {\n return Promise.all(instantiation[0].map(function (dep, i) {\n var setter = instantiation[1][i];\n return Promise.resolve(loader.resolve(dep, id))\n .then(function (depId) {\n var depLoad = getOrCreateLoad(loader, depId, id);\n // depLoad.I may be undefined for already-evaluated\n return Promise.resolve(depLoad.I)\n .then(function () {\n if (setter) {\n depLoad.i.push(setter);\n // only run early setters when there are hoisted exports of that module\n // the timing works here as pending hoisted export calls will trigger through importerSetters\n if (depLoad.h || !depLoad.I)\n setter(depLoad.n);\n }\n return depLoad;\n });\n });\n }))\n .then(function (depLoads) {\n load.d = depLoads;\n });\n });\n\n // Capital letter = a promise function\n return load = loader[REGISTRY][id] = {\n id: id,\n // importerSetters, the setters functions registered to this dependency\n // we retain this to add more later\n i: importerSetters,\n // module namespace object\n n: ns,\n\n // instantiate\n I: instantiatePromise,\n // link\n L: linkPromise,\n // whether it has hoisted exports\n h: false,\n\n // On instantiate completion we have populated:\n // dependency load records\n d: undefined,\n // execution function\n e: undefined,\n\n // On execution we have populated:\n // the execution error if any\n er: undefined,\n // in the case of TLA, the execution promise\n E: undefined,\n\n // On execution, L, I, E cleared\n\n // Promise for top-level completion\n C: undefined,\n\n // parent instantiator / executor\n p: undefined\n };\n }\n\n function instantiateAll (loader, load, parent, loaded) {\n if (!loaded[load.id]) {\n loaded[load.id] = true;\n // load.L may be undefined for already-instantiated\n return Promise.resolve(load.L)\n .then(function () {\n if (!load.p || load.p.e === null)\n load.p = parent;\n return Promise.all(load.d.map(function (dep) {\n return instantiateAll(loader, dep, parent, loaded);\n }));\n })\n .catch(function (err) {\n if (load.er)\n throw err;\n load.e = null;\n throw err;\n });\n }\n }\n\n function topLevelLoad (loader, load) {\n return load.C = instantiateAll(loader, load, load, {})\n .then(function () {\n return postOrderExec(loader, load, {});\n })\n .then(function () {\n return load.n;\n });\n }\n\n // the closest we can get to call(undefined)\n var nullContext = Object.freeze(Object.create(null));\n\n // returns a promise if and only if a top-level await subgraph\n // throws on sync errors\n function postOrderExec (loader, load, seen) {\n if (seen[load.id])\n return;\n seen[load.id] = true;\n\n if (!load.e) {\n if (load.er)\n throw load.er;\n if (load.E)\n return load.E;\n return;\n }\n\n // deps execute first, unless circular\n var depLoadPromises;\n load.d.forEach(function (depLoad) {\n try {\n var depLoadPromise = postOrderExec(loader, depLoad, seen);\n if (depLoadPromise)\n (depLoadPromises = depLoadPromises || []).push(depLoadPromise);\n }\n catch (err) {\n load.e = null;\n load.er = err;\n throw err;\n }\n });\n if (depLoadPromises)\n return Promise.all(depLoadPromises).then(doExec);\n\n return doExec();\n\n function doExec () {\n try {\n var execPromise = load.e.call(nullContext);\n if (execPromise) {\n execPromise = execPromise.then(function () {\n load.C = load.n;\n load.E = null; // indicates completion\n if (!true) ;\n }, function (err) {\n load.er = err;\n load.E = null;\n if (!true) ;\n throw err;\n });\n return load.E = execPromise;\n }\n // (should be a promise, but a minify optimization to leave out Promise.resolve)\n load.C = load.n;\n load.L = load.I = undefined;\n }\n catch (err) {\n load.er = err;\n throw err;\n }\n finally {\n load.e = null;\n }\n }\n }\n\n envGlobal.System = new SystemJS();\n\n /*\n * SystemJS browser attachments for script and import map processing\n */\n\n var importMapPromise = Promise.resolve();\n var importMap = { imports: {}, scopes: {}, depcache: {}, integrity: {} };\n systemJSPrototype.importMap = importMap;\n systemJSPrototype.baseUrl = baseUrl;\n\n // Scripts are processed immediately, on the first System.import, and on DOMReady.\n // Import map scripts are processed only once (by being marked) and in order for each phase.\n // This is to avoid using DOM mutation observers in core, although that would be an alternative.\n var processFirst = hasDocument;\n systemJSPrototype.prepareImport = function (doProcessScripts) {\n if (processFirst || doProcessScripts) {\n processScripts();\n processFirst = false;\n }\n return importMapPromise;\n };\n if (hasDocument) {\n processScripts();\n window.addEventListener('DOMContentLoaded', processScripts);\n }\n\n function processScripts () {\n [].forEach.call(document.querySelectorAll('script'), function (script) {\n if (script.sp) // sp marker = systemjs processed\n return;\n // TODO: deprecate systemjs-module in next major now that we have auto import\n if (script.type === 'systemjs-module') {\n script.sp = true;\n if (!script.src)\n return;\n System.import(script.src.slice(0, 7) === 'import:' ? script.src.slice(7) : resolveUrl(script.src, baseUrl)).catch(function (e) {\n // if there is a script load error, dispatch an \"error\" event\n // on the script tag.\n if (e.message.indexOf('https://git.io/JvFET#3') > -1) {\n var event = document.createEvent('Event');\n event.initEvent('error', false, false);\n script.dispatchEvent(event);\n }\n return Promise.reject(e);\n });\n }\n else if (script.type === 'systemjs-importmap') {\n script.sp = true;\n var fetchPromise = script.src ? fetch(script.src, { integrity: script.integrity }).then(function (res) {\n if (!res.ok)\n throw Error( res.status );\n return res.text();\n }).catch(function (err) {\n err.message = errMsg('W4', script.src ) + '\\n' + err.message;\n console.warn(err);\n if (typeof script.onerror === 'function') {\n script.onerror();\n }\n return '{}';\n }) : script.innerHTML;\n importMapPromise = importMapPromise.then(function () {\n return fetchPromise;\n }).then(function (text) {\n extendImportMap(importMap, text, script.src || baseUrl);\n return importMap\n });\n }\n });\n }\n\n function extendImportMap (importMap, newMapText, newMapUrl) {\n var newMap = {};\n try {\n newMap = JSON.parse(newMapText);\n } catch (err) {\n console.warn(Error(( errMsg('W5') )));\n }\n resolveAndComposeImportMap(newMap, newMapUrl, importMap);\n }\n System.extendImportMap = extendImportMap\n\n /*\n * Script instantiation loading\n */\n\n if (hasDocument) {\n window.addEventListener('error', function (evt) {\n lastWindowErrorUrl = evt.filename;\n lastWindowError = evt.error;\n });\n var baseOrigin = location.origin;\n }\n\n systemJSPrototype.createScript = function (url) {\n var script = document.createElement('script');\n script.async = true;\n // Only add cross origin for actual cross origin\n // this is because Safari triggers for all\n // - https://bugs.webkit.org/show_bug.cgi?id=171566\n if (url.indexOf(baseOrigin + '/'))\n script.crossOrigin = 'anonymous';\n var integrity = importMap.integrity[url];\n if (integrity)\n script.integrity = integrity;\n script.src = url;\n return script;\n };\n\n // Auto imports -> script tags can be inlined directly for load phase\n var lastAutoImportDeps, lastAutoImportTimeout;\n var autoImportCandidates = {};\n var systemRegister = systemJSPrototype.register;\n var inlineScriptCount = 0;\n systemJSPrototype.register = function (deps, declare, autoUrl) {\n if (hasDocument && document.readyState === 'loading' && typeof deps !== 'string') {\n var scripts = document.querySelectorAll('script[src]');\n var lastScript = scripts[scripts.length - 1];\n var lastAutoImportUrl\n lastAutoImportDeps = deps;\n if (lastScript && lastScript.src) {\n lastAutoImportUrl = lastScript.src;\n }\n else if (autoUrl) {\n lastAutoImportUrl = autoUrl\n }\n else {\n inlineScriptCount++\n lastAutoImportUrl = document.location.href + \"__inline_script__\" + inlineScriptCount;\n }\n // if this is already a System load, then the instantiate has already begun\n // so this re-import has no consequence\n var loader = this;\n lastAutoImportTimeout = setTimeout(function () {\n autoImportCandidates[lastAutoImportUrl] = [deps, declare];\n loader.import(lastAutoImportUrl);\n });\n }\n else {\n lastAutoImportDeps = undefined;\n }\n return systemRegister.call(this, deps, declare);\n };\n\n var lastWindowErrorUrl, lastWindowError;\n systemJSPrototype.instantiate = function (url, firstParentUrl) {\n var autoImportRegistration = autoImportCandidates[url];\n if (autoImportRegistration) {\n delete autoImportCandidates[url];\n return autoImportRegistration;\n }\n var loader = this;\n return Promise.resolve(systemJSPrototype.createScript(url)).then(function (script) {\n return new Promise(function (resolve, reject) {\n script.addEventListener('error', function () {\n reject(Error(errMsg(3, [url, firstParentUrl].join(', ') )));\n });\n script.addEventListener('load', function () {\n document.head.removeChild(script);\n // Note that if an error occurs that isn't caught by this if statement,\n // that getRegister will return null and a \"did not instantiate\" error will be thrown.\n if (lastWindowErrorUrl === url) {\n reject(lastWindowError);\n }\n else {\n var register = loader.getRegister(url);\n // Clear any auto import registration for dynamic import scripts during load\n if (register && register[0] === lastAutoImportDeps)\n clearTimeout(lastAutoImportTimeout);\n resolve(register);\n }\n });\n document.head.appendChild(script);\n });\n });\n };\n\n /*\n * Fetch loader, sets up shouldFetch and fetch hooks\n */\n systemJSPrototype.shouldFetch = function () {\n return false;\n };\n if (typeof fetch !== 'undefined')\n systemJSPrototype.fetch = fetch;\n\n var instantiate = systemJSPrototype.instantiate;\n var jsContentTypeRegEx = /^(text|application)\\/(x-)?javascript(;|$)/;\n systemJSPrototype.instantiate = function (url, parent) {\n var loader = this;\n if (!this.shouldFetch(url))\n return instantiate.apply(this, arguments);\n return this.fetch(url, {\n credentials: 'same-origin',\n integrity: importMap.integrity[url]\n })\n .then(function (res) {\n if (!res.ok)\n throw Error(errMsg(7, [res.status, res.statusText, url, parent].join(', ') ));\n var contentType = res.headers.get('content-type');\n if (!contentType || !jsContentTypeRegEx.test(contentType))\n throw Error(errMsg(4, contentType ));\n return res.text().then(function (source) {\n if (source.indexOf('//# sourceURL=') < 0)\n source += '\\n//# sourceURL=' + url;\n (0, eval)(source);\n return loader.getRegister(url);\n });\n });\n };\n\n systemJSPrototype.resolve = function (id, parentUrl) {\n parentUrl = parentUrl || !true || baseUrl;\n return resolveImportMap(( importMap), resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl) || throwUnresolved(id, parentUrl);\n };\n\n function throwUnresolved (id, parentUrl) {\n throw Error(errMsg(8, [id, parentUrl].join(', ') ));\n }\n\n var systemInstantiate = systemJSPrototype.instantiate;\n systemJSPrototype.instantiate = function (url, firstParentUrl) {\n var preloads = ( importMap).depcache[url];\n if (preloads) {\n for (var i = 0; i < preloads.length; i++)\n getOrCreateLoad(this, this.resolve(preloads[i], url), url);\n }\n return systemInstantiate.call(this, url, firstParentUrl);\n };\n\n /*\n * Supports loading System.register in workers\n */\n\n if (hasSelf && typeof importScripts === 'function') {\n systemJSPrototype.instantiate = function (url) {\n var loader = this;\n return self.fetch(url, {\n credentials: 'same-origin',\n }).then(function (response) {\n if (!response.ok) {\n throw Error(errMsg(7, [response.status, response.statusText, url].join(', ') ));\n }\n return response.text()\n }).then(function (source) {\n if (source.indexOf('//# sourceURL=') < 0) source += '\\n//# sourceURL=' + url;\n (0, eval)(source);\n return loader.getRegister(url);\n })\n };\n }\n\n}());\n\n(function(){\n var envGlobal = typeof self !== 'undefined' ? self : global;\n var System = envGlobal.System;\n\n var registerRegistry = Object.create(null)\n var register = System.register;\n System.registerRegistry = registerRegistry;\n System.register = function (name, deps, declare) {\n if (typeof name !== 'string') return register.apply(this, arguments);\n var define = [deps, declare];\n return System.prepareImport().then(function () {\n var url = System.resolve(`./${name}`);\n registerRegistry[url] = define;\n return register.call(System, deps, declare, url);\n })\n };\n\n var instantiate = System.instantiate;\n System.instantiate = function (url, firstParentUrl) {\n var result = registerRegistry[url];\n\n if (result) {\n registerRegistry[url] = null;\n return result;\n } else {\n return instantiate.call(this, url, firstParentUrl);\n }\n };\n\n var getRegister = System.getRegister;\n System.getRegister = function (url) {\n // Calling getRegister() because other extras need to know it was called so they can perform side effects\n var register = getRegister.call(this, url);\n var result = registerRegistry[url] || register;\n return result;\n };\n}());\n\n(function () {\n // worker or service worker\n if (typeof WorkerGlobalScope === 'function' && self instanceof WorkerGlobalScope) {\n var importMapFromParentPromise = new Promise((resolve) => {\n var importmapMessageCallback = function (e) {\n if (e.data === \"__importmap_init__\") {\n self.removeEventListener(\"message\", importmapMessageCallback)\n e.ports[0].onmessage = (message) => {\n resolve(message.data)\n }\n e.ports[0].postMessage('__importmap_request__') \n }\n };\n self.addEventListener(\"message\", importmapMessageCallback)\n })\n // var prepareImport = System.prepareImport\n System.prepareImport = function () {\n return importMapFromParentPromise.then(function (importmap) {\n System.extendImportMap(System.importMap, JSON.stringify(importmap), System.baseUrl)\n })\n }\n\n // auto import first register\n var messageEvents = []\n var messageCallback = (event) => {\n messageEvents.push(event)\n }\n self.addEventListener('message', messageCallback)\n var register = System.register;\n System.register = function(deps, declare) {\n System.register = register;\n System.registerRegistry[self.location.href] = [deps, declare];\n return System.import(self.location.href).then((result) => {\n self.removeEventListener('message', messageCallback)\n messageEvents.forEach((messageEvent) => {\n self.dispatchEvent(messageEvent)\n })\n messageEvents = null\n return result\n })\n }\n }\n else if (typeof window === 'object') {\n var WorkerConstructor = window.Worker;\n if (typeof WorkerConstructor === 'function') {\n window.Worker = function (url, options) {\n var worker = new WorkerConstructor(url, options);\n var importmapChannel = new MessageChannel();\n importmapChannel.port1.onmessage = function (message) {\n System.prepareImport().then(function (importmap) {\n message.target.postMessage(importmap);\n });\n }\n worker.postMessage('__importmap_init__', [importmapChannel.port2]);\n return worker\n }\n }\n\n var serviceWorker = navigator.serviceWorker;\n if (serviceWorker) {\n var register = serviceWorker.register;\n serviceWorker.register = function(url, options) {\n var registrationPromise = register.call(this, url, options);\n registrationPromise.then(function(registration) {\n var installing = registration.installing;\n var waiting = registration.waiting;\n var active = registration.active;\n var worker = installing || waiting || active;\n var importmapChannel = new MessageChannel();\n importmapChannel.port1.onmessage = function (message) {\n System.prepareImport().then(function (importmap) {\n message.target.postMessage(importmap)\n });\n }\n worker.postMessage('__importmap_init__', [importmapChannel.port2]);\n })\n return registrationPromise\n }\n }\n }\n}());", + "import { getJavaScriptModuleResponseError } from \"@jsenv/core/src/internal/runtime_client/module_registration.js\"\nimport \"@jsenv/core/src/internal/runtime_client/s.js\"\n\nexport const createBrowserSystem = ({\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n importResolver,\n fetchSource,\n}) => {\n if (typeof window.System === \"undefined\") {\n throw new Error(`window.System is undefined`)\n }\n\n const browserSystem = window.System\n\n const resolve = (specifier, importer = document.location.href) => {\n return importResolver.resolveImport(specifier, importer)\n }\n\n browserSystem.resolve = resolve\n\n const instantiate = browserSystem.instantiate\n browserSystem.instantiate = async function (url, importerUrl) {\n const { importType, urlWithoutImportType } = extractImportTypeFromUrl(url)\n if (importType === \"json\") {\n const jsonModule = await instantiateAsJsonModule(urlWithoutImportType, {\n browserSystem,\n fetchSource,\n })\n return jsonModule\n }\n\n if (importType === \"css\") {\n const cssModule = await instantiateAsCssModule(urlWithoutImportType, {\n browserSystem,\n importerUrl,\n compileDirectoryRelativeUrl,\n fetchSource,\n })\n return cssModule\n }\n\n try {\n const registration = await instantiate.call(this, url, importerUrl)\n if (!registration) {\n throw new Error(\n `no registration found for JS at ${url}\n--- importer url ---\n${importerUrl}\n--- navigator.vendor ---\n${window.navigator.vendor}`,\n )\n }\n return registration\n } catch (e) {\n const jsenvError = await createDetailedInstantiateError({\n instantiateError: e,\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n fetchSource,\n })\n throw jsenvError\n }\n }\n\n browserSystem.createContext = (importerUrl) => {\n return {\n url: importerUrl,\n resolve: (specifier) => resolve(specifier, importerUrl),\n }\n }\n\n return browserSystem\n}\n\nconst extractImportTypeFromUrl = (url) => {\n const urlObject = new URL(url)\n const { search } = urlObject\n const searchParams = new URLSearchParams(search)\n\n const importType = searchParams.get(\"import_type\")\n if (!importType) {\n return {}\n }\n\n searchParams.delete(\"import_type\")\n urlObject.search = String(searchParams)\n return {\n importType,\n urlWithoutImportType: urlObject.href,\n }\n}\n\nconst instantiateAsJsonModule = async (url, { browserSystem, fetchSource }) => {\n const response = await fetchSource(url, {\n contentTypeExpected: \"application/json\",\n })\n const json = await response.json()\n browserSystem.register([], (_export) => {\n return {\n execute: () => {\n _export(\"default\", json)\n },\n }\n })\n const registration = browserSystem.getRegister(url)\n if (!registration) {\n throw new Error(\n `no registration found for JSON at ${url}. Navigator.vendor: ${window.navigator.vendor}. JSON text: ${json}`,\n )\n }\n return registration\n}\n\nconst instantiateAsCssModule = async (\n url,\n { importerUrl, compileDirectoryRelativeUrl, browserSystem, fetchSource },\n) => {\n const response = await fetchSource(url, {\n contentTypeExpected: \"text/css\",\n })\n\n // There is a logic inside \"toolbar.eventsource.js\" which is reloading\n // all link rel=\"stylesheet\" when file ending with \".css\" are modified\n // But here it would not work because we have to replace the css in\n // the adopted stylsheet + all module importing this css module\n // should be reinstantiated\n // -> store a livereload callback forcing whole page reload\n const compileDirectoryServerUrl = `${window.location.origin}/${compileDirectoryRelativeUrl}`\n const originalFileRelativeUrl = response.url.slice(\n compileDirectoryServerUrl.length,\n )\n window.__jsenv__.livereloadingCallbacks[originalFileRelativeUrl] = ({\n reloadPage,\n }) => {\n reloadPage()\n }\n\n const cssText = await response.text()\n const cssTextWithBaseUrl = cssWithBaseUrl({\n cssText,\n cssUrl: url,\n baseUrl: importerUrl,\n })\n\n browserSystem.register([], (_export) => {\n return {\n execute: () => {\n const sheet = new CSSStyleSheet()\n sheet.replaceSync(cssTextWithBaseUrl)\n _export(\"default\", sheet)\n },\n }\n })\n const registration = browserSystem.getRegister(url)\n if (!registration) {\n throw new Error(\n `no registration found for CSS at ${url}. Navigator.vendor: ${window.navigator.vendor}. CSS text: ${cssTextWithBaseUrl}`,\n )\n }\n return registration\n}\n\n// CSSStyleSheet accepts a \"baseUrl\" parameter\n// as documented in https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/CSSStyleSheet#parameters\n// Unfortunately the polyfill do not seems to implement it\n// So we reuse \"systemjs\" strategy from https://github.com/systemjs/systemjs/blob/98609dbeef01ec62447e4b21449ce47e55f818bd/src/extras/module-types.js#L37\nconst cssWithBaseUrl = ({ cssUrl, cssText, baseUrl }) => {\n const cssDirectoryUrl = new URL(\"./\", cssUrl).href\n const baseDirectoryUrl = new URL(\"./\", baseUrl).href\n if (cssDirectoryUrl === baseDirectoryUrl) {\n return cssText\n }\n\n const cssTextRelocated = cssText.replace(\n /url\\(\\s*(?:([\"'])((?:\\\\.|[^\\n\\\\\"'])+)\\1|((?:\\\\.|[^\\s,\"'()\\\\])+))\\s*\\)/g,\n (match, quotes, relUrl1, relUrl2) => {\n const absoluteUrl = new URL(relUrl1 || relUrl2, cssUrl).href\n return `url(${quotes}${absoluteUrl}${quotes})`\n },\n )\n return cssTextRelocated\n}\n\nconst createDetailedInstantiateError = async ({\n instantiateError,\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n fetchSource,\n}) => {\n let response\n try {\n response = await fetchSource(url, {\n importerUrl,\n contentTypeExpected: \"application/javascript\",\n })\n } catch (e) {\n e.code = \"NETWORK_FAILURE\"\n return e\n }\n\n const jsModuleResponseError = await getJavaScriptModuleResponseError(\n response,\n {\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n },\n )\n return jsModuleResponseError || instantiateError\n}\n", + "const { performance } = window\n\nexport const measureAsyncFnPerf = performance\n ? async (fn, name) => {\n const perfMarkStartName = `${name}_start`\n\n performance.mark(perfMarkStartName)\n try {\n const value = await fn()\n return value\n } finally {\n performance.measure(name, perfMarkStartName)\n }\n }\n : async (fn) => {\n return fn()\n }\n", + "export const makeModuleNamespaceTransferable = (namespace) => {\n const transferableNamespace = {}\n Object.keys(namespace).forEach((key) => {\n const value = namespace[key]\n transferableNamespace[key] = isTransferable(value)\n ? value\n : hideNonTransferableValue(value)\n })\n return transferableNamespace\n}\n\nconst hideNonTransferableValue = (value) => {\n if (typeof value === \"function\") {\n return `[[HIDDEN: ${value.name} function cannot be transfered]]`\n }\n\n if (typeof value === \"symbol\") {\n return `[[HIDDEN: symbol function cannot be transfered]]`\n }\n\n return `[[HIDDEN: ${\n value.constructor ? value.constructor.name : \"object\"\n } cannot be transfered]]`\n}\n\n// https://stackoverflow.com/a/32673910/2634179\nconst isTransferable = (value) => {\n const seenArray = []\n const visit = () => {\n if (typeof value === \"function\") return false\n\n if (typeof value === \"symbol\") return false\n\n if (value === null) return false\n\n if (typeof value === \"object\") {\n const constructorName = value.constructor.namespace\n\n if (supportedTypes.includes(constructorName)) {\n return true\n }\n\n const maybe = maybeTypes.includes(constructorName)\n if (maybe) {\n const visited = seenArray.includes(value)\n if (visited) {\n // we don't really know until we are done visiting the object\n // implementing it properly means waiting for the recursion to be done\n // let's just\n return true\n }\n seenArray.push(value)\n\n if (constructorName === \"Array\" || constructorName === \"Object\") {\n return Object.keys(value).every((key) => isTransferable(value[key]))\n }\n if (constructorName === \"Map\") {\n return (\n [...value.keys()].every(isTransferable) &&\n [...value.values()].every(isTransferable)\n )\n }\n if (constructorName === \"Set\") {\n return [...value.keys()].every(isTransferable)\n }\n }\n\n // Error, DOM Node and others\n return false\n }\n return true\n }\n\n return visit(value)\n}\n\nconst supportedTypes = [\n \"Boolean\",\n \"Number\",\n \"String\",\n \"Date\",\n \"RegExp\",\n \"Blob\",\n \"FileList\",\n \"ImageData\",\n \"ImageBitmap\",\n \"ArrayBuffer\",\n]\n\nconst maybeTypes = [\"Array\", \"Object\", \"Map\", \"Set\"]\n", + "import { normalizeImportMap } from \"@jsenv/importmap/src/normalizeImportMap.js\"\n\n// do not use memoize from @jsenv/filesystem to avoid pulling @jsenv/filesystem code into the browser build\nimport { fetchUrl } from \"@jsenv/core/src/internal/browser_utils/fetch_browser.js\"\nimport { createImportResolverForImportmap } from \"@jsenv/core/src/internal/import_resolution/import_resolver_importmap.js\"\nimport { memoize } from \"@jsenv/core/src/internal/memoize.js\"\n\nimport { createBrowserSystem } from \"./browser_system.js\"\nimport { measureAsyncFnPerf } from \"./perf_browser.js\"\nimport { makeModuleNamespaceTransferable } from \"./module_namespace_transfer.js\"\n\nconst memoizedCreateBrowserSystem = memoize(createBrowserSystem)\n\nexport const createBrowserClient = async ({\n compileServerOrigin,\n jsenvDirectoryRelativeUrl,\n compileId,\n}) => {\n const fetchSource = (url, { contentTypeExpected }) => {\n return fetchUrl(url, {\n credentials: \"same-origin\",\n contentTypeExpected,\n })\n }\n\n const fetchJson = async (url) => {\n const response = await fetchSource(url, {\n contentTypeExpected: \"application/json\",\n })\n const json = await response.json()\n return json\n }\n\n const compileServerMetaUrl = String(\n new URL(\"__jsenv_compile_profile__\", `${compileServerOrigin}/`),\n )\n const { importDefaultExtension } = await fetchJson(compileServerMetaUrl)\n const compileDirectoryRelativeUrl = `${jsenvDirectoryRelativeUrl}${compileId}/`\n // if there is an importmap in the document we use it instead of fetching.\n // systemjs style with systemjs-importmap\n const importmapScript = document.querySelector(\n `script[type=\"systemjs-importmap\"]`,\n )\n let importMap\n let importMapUrl\n if (importmapScript) {\n let importmapRaw\n if (importmapScript.src) {\n importMapUrl = importmapScript.src\n const importmapFileResponse = await fetchSource(importMapUrl, {\n contentTypeExpected: \"application/importmap+json\",\n })\n importmapRaw =\n importmapFileResponse.status === 404\n ? {}\n : await importmapFileResponse.json()\n } else {\n importMapUrl = document.location.href\n importmapRaw = JSON.parse(importmapScript.textContent) || {}\n }\n importMap = normalizeImportMap(importmapRaw, importMapUrl)\n }\n\n const importResolver = await createImportResolverForImportmap({\n // projectDirectoryUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n importMap,\n importMapUrl,\n importDefaultExtension,\n })\n\n const importFile = async (specifier) => {\n const browserSystem = await memoizedCreateBrowserSystem({\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n fetchSource,\n importResolver,\n })\n return browserSystem.import(specifier)\n }\n\n const executeFile = async (\n specifier,\n {\n transferableNamespace = false,\n executionExposureOnWindow = false,\n errorTransform = (error) => error,\n measurePerformance,\n } = {},\n ) => {\n const browserSystem = await memoizedCreateBrowserSystem({\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n fetchSource,\n importResolver,\n })\n\n const importUsingSystemJs = async () => {\n try {\n let namespace = await browserSystem.import(specifier)\n\n if (transferableNamespace) {\n namespace = makeModuleNamespaceTransferable(namespace)\n }\n\n return {\n status: \"completed\",\n namespace,\n coverage: readCoverage(),\n }\n } catch (error) {\n let transformedError\n try {\n transformedError = await errorTransform(error)\n } catch (e) {\n transformedError = error\n }\n\n return {\n status: \"errored\",\n error: transformedError,\n coverage: readCoverage(),\n }\n }\n }\n\n const executionResult = await (measurePerformance\n ? measureAsyncFnPerf(importUsingSystemJs, `jsenv_file_import`)\n : importUsingSystemJs())\n if (executionExposureOnWindow) {\n window.__executionResult__ = executionResult\n }\n return executionResult\n }\n\n return {\n compileDirectoryRelativeUrl,\n importFile,\n executeFile,\n }\n}\n\nconst readCoverage = () => window.__coverage__\n", + "/* eslint-env browser, node */\n\nexport const DataUrl = {\n parse: (string, { as = \"raw\" } = {}) => {\n const afterDataProtocol = string.slice(\"data:\".length)\n const commaIndex = afterDataProtocol.indexOf(\",\")\n const beforeComma = afterDataProtocol.slice(0, commaIndex)\n\n let mediaType\n let base64Flag\n if (beforeComma.endsWith(`;base64`)) {\n mediaType = beforeComma.slice(0, -`;base64`.length)\n base64Flag = true\n } else {\n mediaType = beforeComma\n base64Flag = false\n }\n\n const afterComma = afterDataProtocol.slice(commaIndex + 1)\n return {\n mediaType: mediaType === \"\" ? \"text/plain;charset=US-ASCII\" : mediaType,\n base64Flag,\n data:\n as === \"string\" && base64Flag ? base64ToString(afterComma) : afterComma,\n }\n },\n\n stringify: ({ mediaType, base64Flag = true, data }) => {\n if (!mediaType || mediaType === \"text/plain;charset=US-ASCII\") {\n // can be a buffer or a string, hence check on data.length instead of !data or data === ''\n if (data.length === 0) {\n return `data:,`\n }\n if (base64Flag) {\n return `data:,${data}`\n }\n return `data:,${dataToBase64(data)}`\n }\n if (base64Flag) {\n return `data:${mediaType};base64,${dataToBase64(data)}`\n }\n return `data:${mediaType},${data}`\n },\n}\n\nconst dataToBase64 =\n typeof window === \"object\"\n ? window.atob\n : (data) => Buffer.from(data).toString(\"base64\")\n\nconst base64ToString =\n typeof window === \"object\"\n ? window.btoa\n : (base64String) => Buffer.from(base64String, \"base64\").toString(\"utf8\")\n", + "export const generateSourcemapUrl = (url) => {\n // we want to remove eventual search params from url\n const urlString = String(url)\n const urlObject = new URL(url)\n const origin = urlString.startsWith(\"file://\") ? \"file://\" : urlObject.origin\n const pathname = urlObject.pathname\n const sourcemapUrl = `${origin}${pathname}.map`\n return sourcemapUrl\n}\n\nexport const getJavaScriptSourceMappingUrl = (javaScriptSource) => {\n let sourceMappingUrl\n replaceSourceMappingUrl(\n javaScriptSource,\n javascriptSourceMappingUrlCommentRegexp,\n (value) => {\n sourceMappingUrl = value\n },\n )\n return sourceMappingUrl\n}\n\nexport const setJavaScriptSourceMappingUrl = (\n javaScriptSource,\n sourceMappingFileUrl,\n) => {\n let replaced\n const sourceAfterReplace = replaceSourceMappingUrl(\n javaScriptSource,\n javascriptSourceMappingUrlCommentRegexp,\n () => {\n replaced = true\n return sourceMappingFileUrl\n ? writeJavaScriptSourceMappingURL(sourceMappingFileUrl)\n : \"\"\n },\n )\n if (replaced) {\n return sourceAfterReplace\n }\n\n return sourceMappingFileUrl\n ? `${javaScriptSource}\n${writeJavaScriptSourceMappingURL(sourceMappingFileUrl)}`\n : javaScriptSource\n}\n\nexport const getCssSourceMappingUrl = (cssSource) => {\n let sourceMappingUrl\n replaceSourceMappingUrl(\n cssSource,\n cssSourceMappingUrlCommentRegExp,\n (value) => {\n sourceMappingUrl = value\n },\n )\n return sourceMappingUrl\n}\n\nexport const setCssSourceMappingUrl = (cssSource, sourceMappingFileUrl) => {\n let replaced\n const sourceAfterReplace = replaceSourceMappingUrl(\n cssSource,\n cssSourceMappingUrlCommentRegExp,\n () => {\n replaced = true\n return sourceMappingFileUrl\n ? writeCssSourceMappingUrl(sourceMappingFileUrl)\n : \"\"\n },\n )\n if (replaced) {\n return sourceAfterReplace\n }\n return sourceMappingFileUrl\n ? `${cssSource}\n${writeCssSourceMappingUrl(sourceMappingFileUrl)}`\n : cssSource\n}\n\nconst javascriptSourceMappingUrlCommentRegexp =\n /\\/\\/ ?# ?sourceMappingURL=([^\\s'\"]+)/g\nconst cssSourceMappingUrlCommentRegExp =\n /\\/\\*# ?sourceMappingURL=([^\\s'\"]+) \\*\\//g\n\n// ${\"//#\"} is to avoid a parser thinking there is a sourceMappingUrl for this file\nconst writeJavaScriptSourceMappingURL = (value) =>\n `${\"//#\"} sourceMappingURL=${value}`\nconst writeCssSourceMappingUrl = (value) => `/*# sourceMappingURL=${value} */`\n\nexport const sourcemapToBase64Url = (sourcemap) => {\n const asBase64 = Buffer.from(JSON.stringify(sourcemap)).toString(\"base64\")\n return `data:application/json;charset=utf-8;base64,${asBase64}`\n}\n\nconst replaceSourceMappingUrl = (source, regexp, callback) => {\n let lastSourceMappingUrl\n let matchSourceMappingUrl\n while ((matchSourceMappingUrl = regexp.exec(source))) {\n lastSourceMappingUrl = matchSourceMappingUrl\n }\n if (lastSourceMappingUrl) {\n const index = lastSourceMappingUrl.index\n const before = source.slice(0, index)\n const after = source.slice(index)\n const mappedAfter = after.replace(regexp, (match, firstGroup) => {\n return callback(firstGroup)\n })\n return `${before}${mappedAfter}`\n }\n return source\n}\n", + "export const startsWithWindowsDriveLetter = (string) => {\n const firstChar = string[0]\n if (!/[a-zA-Z]/.test(firstChar)) return false\n\n const secondChar = string[1]\n if (secondChar !== \":\") return false\n\n return true\n}\n\nexport const windowsFilePathToUrl = (windowsFilePath) => {\n return `file:///${replaceBackSlashesWithSlashes(windowsFilePath)}`\n}\n\nexport const replaceBackSlashesWithSlashes = (string) =>\n string.replace(/\\\\/g, \"/\")\n", + "import { createDetailedMessage } from \"@jsenv/logger\"\n\nimport {\n startsWithWindowsDriveLetter,\n windowsFilePathToUrl,\n} from \"@jsenv/core/src/internal/windows_file_path_utils.js\"\n\nexport const remapCallSite = async (\n callSite,\n { urlToSourcemapConsumer, resolveFile, readErrorStack, onFailure },\n) => {\n if (callSite.isNative()) {\n return callSite\n }\n\n // Most call sites will return the source file from getFileName(), but code\n // passed to eval() ending in \"//# sourceURL=...\" will return the source file\n // from getScriptNameOrSourceURL() instead\n const source = callSite.getFileName() || callSite.getScriptNameOrSourceURL()\n if (source) {\n const line = callSite.getLineNumber()\n const column = callSite.getColumnNumber() - 1\n const originalPosition = await remapSourcePosition({\n source,\n line,\n column,\n resolveFile,\n urlToSourcemapConsumer,\n readErrorStack,\n onFailure,\n })\n\n const callSiteClone = cloneCallSite(callSite)\n\n callSiteClone.getFunctionName = () =>\n originalPosition.name || callSite.getFunctionName()\n callSiteClone.getFileName = () => originalPosition.source\n callSiteClone.getLineNumber = () => originalPosition.line\n callSiteClone.getColumnNumber = () => originalPosition.column + 1\n callSiteClone.getScriptNameOrSourceURL = () => originalPosition.source\n\n return callSiteClone\n }\n\n // Code called using eval() needs special handling\n if (callSite.isEval()) {\n const origin = callSite.getEvalOrigin()\n if (origin) {\n const callSiteClone = cloneCallSite(callSite)\n const originalEvalOrigin = await remapEvalOrigin(origin, {\n resolveFile,\n urlToSourcemapConsumer,\n readErrorStack,\n onFailure,\n })\n callSiteClone.getEvalOrigin = () => originalEvalOrigin\n return callSiteClone\n }\n return callSite\n }\n\n // If we get here then we were unable to change the source position\n return callSite\n}\n\nconst cloneCallSite = (callSite) => {\n const callSiteClone = {}\n methods.forEach((name) => {\n callSiteClone[name] = () => callSite[name]()\n })\n callSiteClone.toString = () => callSiteToFunctionCall(callSiteClone)\n\n return callSiteClone\n}\n\nconst methods = [\n \"getColumnNumber\",\n \"getEvalOrigin\",\n \"getFileName\",\n \"getFunction\",\n \"getFunctionName\",\n \"getLineNumber\",\n \"getMethodName\",\n \"getPosition\",\n \"getScriptNameOrSourceURL\",\n \"getThis\",\n \"getTypeName\",\n \"isConstructor\",\n \"isEval\",\n \"isNative\",\n \"isToplevel\",\n \"toString\",\n]\n\nconst callSiteToFunctionCall = (callSite) => {\n const fileLocation = callSiteToFileLocation(callSite)\n const isConstructor = callSite.isConstructor()\n const isMethodCall = !callSite.isToplevel() && !isConstructor\n\n if (isMethodCall) {\n return `${callSiteToMethodCall(callSite)} (${fileLocation})`\n }\n\n const functionName = callSite.getFunctionName()\n if (isConstructor) {\n return `new ${functionName || \"\"} (${fileLocation})`\n }\n\n if (functionName) {\n return `${functionName} (${fileLocation})`\n }\n\n return `${fileLocation}`\n}\n\nconst callSiteToMethodCall = (callSite) => {\n const functionName = callSite.getFunctionName()\n const typeName = callSiteToType(callSite)\n\n if (!functionName) {\n return `${typeName}.`\n }\n\n const methodName = callSite.getMethodName()\n const as = generateAs({ methodName, functionName })\n\n if (typeName && !functionName.startsWith(typeName)) {\n return `${typeName}.${functionName}${as}`\n }\n\n return `${functionName}${as}`\n}\n\nconst generateAs = ({ methodName, functionName }) => {\n if (!methodName) return \"\"\n if (\n functionName.indexOf(`.${methodName}`) ===\n functionName.length - methodName.length - 1\n )\n return \"\"\n return ` [as ${methodName}]`\n}\n\nconst callSiteToType = (callSite) => {\n const typeName = callSite.getTypeName()\n // Fixes shim to be backward compatible with Node v0 to v4\n if (typeName === \"[object Object]\") {\n return \"null\"\n }\n return typeName\n}\n\nconst callSiteToFileLocation = (callSite) => {\n if (callSite.isNative()) return \"native\"\n\n const sourceFile = callSiteToSourceFile(callSite)\n const lineNumber = callSite.getLineNumber()\n if (lineNumber === null) {\n return sourceFile\n }\n\n const columnNumber = callSite.getColumnNumber()\n if (!columnNumber) {\n return `${sourceFile}:${lineNumber}`\n }\n\n return `${sourceFile}:${lineNumber}:${columnNumber}`\n}\n\nconst callSiteToSourceFile = (callSite) => {\n const fileName = callSite.getScriptNameOrSourceURL()\n\n if (fileName) {\n return fileName\n }\n\n // Source code does not originate from a file and is not native, but we\n // can still get the source position inside the source string, e.g. in\n // an eval string.\n if (callSite.isEval()) {\n return `${callSite.getEvalOrigin()}, `\n }\n\n return \"\"\n}\n\n// Parses code generated by FormatEvalOrigin(), a function inside V8:\n// https://code.google.com/p/v8/source/browse/trunk/src/messages.js\nconst remapEvalOrigin = async (\n origin,\n { resolveFile, urlToSourcemapConsumer, onFailure },\n) => {\n // Most eval() calls are in this format\n const topLevelEvalMatch = /^eval at ([^(]+) \\((.+):(\\d+):(\\d+)\\)$/.exec(\n origin,\n )\n if (topLevelEvalMatch) {\n const source = topLevelEvalMatch[2]\n const line = Number(topLevelEvalMatch[3])\n const column = topLevelEvalMatch[4] - 1\n const originalPosition = await remapSourcePosition({\n source,\n line,\n column,\n resolveFile,\n urlToSourcemapConsumer,\n onFailure,\n })\n return `eval at ${topLevelEvalMatch[1]} (${originalPosition.source}:${\n originalPosition.line\n }:${originalPosition.column + 1})`\n }\n\n // Parse nested eval() calls using recursion\n const nestedEvalMatch = /^eval at ([^(]+) \\((.+)\\)$/.exec(origin)\n if (nestedEvalMatch) {\n const originalEvalOrigin = await remapEvalOrigin(nestedEvalMatch[2], {\n resolveFile,\n urlToSourcemapConsumer,\n onFailure,\n })\n return `eval at ${nestedEvalMatch[1]} (${originalEvalOrigin})`\n }\n\n // Make sure we still return useful information if we didn't find anything\n return origin\n}\n\nconst remapSourcePosition = async ({\n source,\n line,\n column,\n resolveFile,\n urlToSourcemapConsumer,\n readErrorStack,\n onFailure,\n}) => {\n const position = { source, line, column }\n\n const url = sourceToUrl(source, { resolveFile })\n if (!url) return position\n\n const sourceMapConsumer = await urlToSourcemapConsumer(url)\n\n if (!sourceMapConsumer) return position\n\n try {\n const originalPosition = sourceMapConsumer.originalPositionFor(position)\n\n // Only return the original position if a matching line was found. If no\n // matching line is found then we return position instead, which will cause\n // the stack trace to print the path and line for the compiled file. It is\n // better to give a precise location in the compiled file than a vague\n // location in the original file.\n const originalSource = originalPosition.source\n\n if (originalSource === null) return position\n originalPosition.source = resolveFile(originalSource, url, {\n type: \"file-original\",\n })\n\n return originalPosition\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while remapping position.`, {\n [\"error stack\"]: readErrorStack(e),\n [\"source\"]: source,\n [\"line\"]: line,\n [\"column\"]: column,\n }),\n )\n return position\n }\n}\n\nconst sourceToUrl = (source, { resolveFile }) => {\n if (startsWithScheme(source)) {\n return source\n }\n\n // linux filesystem path\n if (source[0] === \"/\") {\n return resolveFile(source)\n }\n\n // be careful, due to babel or something like that we might receive paths like\n // C:/directory/file.js (without backslashes we would expect on windows)\n // In that case we consider C: is the signe we are on windows\n // And I avoid to rely on process.platform === \"win32\" because this file might be executed in chrome\n if (startsWithWindowsDriveLetter(source)) {\n return windowsFilePathToUrl(source)\n }\n\n // I don't think we will ever encounter relative file in the stack trace\n // but if it ever happens we are safe :)\n if (source.slice(0, 2) === \"./\" || source.slice(0, 3) === \"../\") {\n return resolveFile(source)\n }\n\n // we have received a \"bare specifier\" for the source\n // it happens for internal/process/task_queues.js for instance\n // if we do return resolveFile(source) it will be converted to\n // file:///C:/project-directory/internal/process/task_queues.js in node\n // and\n // http://domain.com/internal/process/task_queues.js\n // but the file will certainly be a 404\n // and if not it won't be the right file anyway\n // for now we assume \"bare specifier\" in the stack trace\n // are internal files that are pointless to try to remap\n return null\n}\n\nconst startsWithScheme = (string) => {\n return /^[a-zA-Z]{2,}:/.test(string)\n}\n", + "import { createDetailedMessage } from \"@jsenv/logger\"\n\nimport { DataUrl } from \"@jsenv/core/src/internal/data_url.js\"\nimport { getJavaScriptSourceMappingUrl } from \"@jsenv/core/src/internal/sourcemap_utils.js\"\n\nimport { remapCallSite } from \"./remap_call_site.js\"\n\nexport const remapStack = async ({\n stack,\n resolveFile,\n fetchFile,\n SourceMapConsumer,\n readErrorStack,\n onFailure,\n}) => {\n const urlToSourcemapConsumer = memoizeByFirstArgStringValue(\n async (stackTraceFileUrl) => {\n if (stackTraceFileUrl.startsWith(\"node:\")) {\n return null\n }\n\n try {\n let text\n try {\n const fileResponse = await fetchFile(stackTraceFileUrl)\n const { status } = fileResponse\n if (status !== 200) {\n if (status === 404) {\n onFailure(`stack trace file not found at ${stackTraceFileUrl}`)\n } else {\n onFailure(\n createDetailedMessage(\n `unexpected response fetching stack trace file.`,\n {\n [\"response status\"]: status,\n [\"response text\"]: fileResponse.body,\n [\"stack trace file\"]: stackTraceFileUrl,\n },\n ),\n )\n }\n return null\n }\n text = await fileResponse.text()\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while fetching stack trace file.`, {\n [\"fetch error stack\"]: readErrorStack(e),\n [\"stack trace file\"]: stackTraceFileUrl,\n }),\n )\n\n return null\n }\n\n const jsSourcemapUrl = getJavaScriptSourceMappingUrl(text)\n if (!jsSourcemapUrl) {\n return null\n }\n\n let sourcemapUrl\n let sourcemapString\n if (jsSourcemapUrl.startsWith(\"data:\")) {\n sourcemapUrl = stackTraceFileUrl\n sourcemapString = DataUrl.parse(jsSourcemapUrl, { as: \"string\" })\n } else {\n sourcemapUrl = resolveFile(jsSourcemapUrl, stackTraceFileUrl, {\n type: \"source-map\",\n })\n\n try {\n const sourcemapResponse = await fetchFile(sourcemapUrl)\n const { status } = sourcemapResponse\n if (status !== 200) {\n if (status === 404) {\n onFailure(`sourcemap file not found at ${sourcemapUrl}`)\n } else {\n onFailure(\n createDetailedMessage(\n `unexpected response for sourcemap file.`,\n {\n [\"response status\"]: status,\n [\"response text\"]: await sourcemapResponse.text(),\n [\"sourcemap url\"]: sourcemapUrl,\n },\n ),\n )\n }\n return null\n }\n sourcemapString = await sourcemapResponse.text()\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while fetching sourcemap.`, {\n [\"fetch error stack\"]: readErrorStack(e),\n [\"sourcemap url\"]: sourcemapUrl,\n }),\n )\n return null\n }\n }\n\n let sourceMap\n try {\n sourceMap = JSON.parse(sourcemapString)\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while parsing sourcemap.`, {\n [\"parse error stack\"]: readErrorStack(e),\n [\"sourcemap url\"]: sourcemapUrl,\n }),\n )\n return null\n }\n\n let { sourcesContent } = sourceMap\n\n if (!sourcesContent) {\n sourcesContent = []\n sourceMap.sourcesContent = sourcesContent\n }\n\n let firstSourceMapSourceFailure = null\n\n await Promise.all(\n sourceMap.sources.map(async (source, index) => {\n if (index in sourcesContent) return\n\n const sourcemapSourceUrl = resolveFile(source, sourcemapUrl, {\n type: \"source\",\n })\n try {\n const sourceResponse = await fetchFile(sourcemapSourceUrl)\n const { status } = sourceResponse\n if (status !== 200) {\n if (firstSourceMapSourceFailure) return\n\n if (status === 404) {\n firstSourceMapSourceFailure = createDetailedMessage(\n `sourcemap source not found.`,\n {\n [\"sourcemap source url\"]: sourcemapSourceUrl,\n [\"sourcemap url\"]: sourcemapUrl,\n },\n )\n return\n }\n firstSourceMapSourceFailure = createDetailedMessage(\n `unexpected response for sourcemap source.`,\n {\n [\"response status\"]: status,\n [\"response text\"]: await sourceResponse.text(),\n [\"sourcemap source url\"]: sourcemapSourceUrl,\n [\"sourcemap url\"]: sourcemapUrl,\n },\n )\n return\n }\n\n const sourceString = await sourceResponse.text()\n sourcesContent[index] = sourceString\n } catch (e) {\n if (firstSourceMapSourceFailure) return\n firstSourceMapSourceFailure = createDetailedMessage(\n `error while fetching sourcemap source.`,\n {\n [\"fetch error stack\"]: readErrorStack(e),\n [\"sourcemap source url\"]: sourcemapSourceUrl,\n [\"sourcemap url\"]: sourcemapUrl,\n },\n )\n }\n }),\n )\n\n if (firstSourceMapSourceFailure) {\n onFailure(firstSourceMapSourceFailure)\n return null\n }\n\n return new SourceMapConsumer(sourceMap)\n } catch (e) {\n onFailure(\n createDetailedMessage(\n `error while preparing a sourceMap consumer for a stack trace file.`,\n {\n [\"error stack\"]: readErrorStack(e),\n [\"stack trace file\"]: stackTraceFileUrl,\n },\n ),\n )\n return null\n }\n },\n )\n const originalCallsites = await Promise.all(\n stack.map((callSite) =>\n remapCallSite(callSite, {\n resolveFile,\n urlToSourcemapConsumer,\n readErrorStack,\n onFailure,\n }),\n ),\n )\n return originalCallsites\n}\n\nconst memoizeByFirstArgStringValue = (fn) => {\n const stringValueCache = {}\n return (firstArgValue) => {\n if (firstArgValue in stringValueCache)\n return stringValueCache[firstArgValue]\n const value = fn(firstArgValue)\n stringValueCache[firstArgValue] = value\n return value\n }\n}\n", + "export const stringifyStack = (stack, { error, indent }) => {\n const name = error.name || \"Error\"\n const message = error.message || \"\"\n const stackString = stack\n .map((callSite) => `\\n${indent}at ${callSite}`)\n .join(\"\")\n\n return `${name}: ${message}${stackString}`\n}\n", + "import { createDetailedMessage } from \"@jsenv/logger\"\n\nimport { remapStack } from \"./remap_stack.js\"\nimport { stringifyStack } from \"./stringify_stack.js\"\n\nexport const installErrorStackRemapping = ({\n fetchFile,\n resolveFile,\n SourceMapConsumer,\n indent = \" \",\n}) => {\n if (typeof fetchFile !== \"function\") {\n throw new TypeError(`fetchFile must be a function, got ${fetchFile}`)\n }\n if (typeof SourceMapConsumer !== \"function\") {\n throw new TypeError(\n `sourceMapConsumer must be a function, got ${SourceMapConsumer}`,\n )\n }\n if (typeof indent !== \"string\") {\n throw new TypeError(`indent must be a string, got ${indent}`)\n }\n\n const errorRemappingCache = new WeakMap()\n const errorRemapFailureCallbackMap = new WeakMap()\n\n let installed = false\n const previousPrepareStackTrace = Error.prepareStackTrace\n const install = () => {\n if (installed) return\n installed = true\n Error.prepareStackTrace = prepareStackTrace\n }\n\n const uninstall = () => {\n if (!installed) return\n installed = false\n Error.prepareStackTrace = previousPrepareStackTrace\n }\n\n // ensure we do not use prepareStackTrace for thoose error\n // otherwise we would recursively remap error stack\n // and if the reason causing the failure is still here\n // it would create an infinite loop\n const readErrorStack = (error) => {\n uninstall()\n const stack = error.stack\n install()\n return stack\n }\n\n const prepareStackTrace = (error, stack) => {\n const onFailure = (failureData) => {\n const failureCallbackArray = errorRemapFailureCallbackMap.get(error)\n if (failureCallbackArray) {\n failureCallbackArray.forEach((callback) => callback(failureData))\n }\n }\n\n const stackRemappingPromise = remapStack({\n stack,\n error,\n resolveFile,\n fetchFile: memoizeFetch(fetchFile),\n SourceMapConsumer,\n readErrorStack,\n indent,\n onFailure,\n })\n errorRemappingCache.set(error, stackRemappingPromise)\n\n return stringifyStack(stack, { error, indent })\n }\n\n const getErrorOriginalStackString = async (\n error,\n {\n onFailure = (message) => {\n console.warn(message)\n },\n } = {},\n ) => {\n if (onFailure) {\n const remapFailureCallbackArray = errorRemapFailureCallbackMap.get(error)\n if (remapFailureCallbackArray) {\n errorRemapFailureCallbackMap.set(error, [\n ...remapFailureCallbackArray,\n onFailure,\n ])\n } else {\n errorRemapFailureCallbackMap.set(error, [onFailure])\n }\n }\n\n // ensure Error.prepareStackTrace gets triggered by reading error.stack now\n const { stack } = error\n const promise = errorRemappingCache.get(error)\n\n if (promise) {\n try {\n const originalCallsites = await promise\n errorRemapFailureCallbackMap.get(error)\n\n const firstCall = originalCallsites[0]\n if (firstCall) {\n Object.assign(error, {\n filename: firstCall.getFileName(),\n lineno: firstCall.getLineNumber(),\n columnno: firstCall.getColumnNumber(),\n })\n }\n return stringifyStack(originalCallsites, { error, indent })\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while computing original stack.`, {\n [\"stack from error while computing\"]: readErrorStack(e),\n [\"stack from error to remap\"]: stack,\n }),\n )\n return stack\n }\n }\n\n return stack\n }\n\n install()\n\n return { getErrorOriginalStackString, uninstall }\n}\n\nconst memoizeFetch = (fetchUrl) => {\n const urlCache = {}\n return async (url) => {\n if (url in urlCache) {\n return urlCache[url]\n }\n const responsePromise = fetchUrl(url)\n urlCache[url] = responsePromise\n return responsePromise\n }\n}\n", + "import { installErrorStackRemapping } from \"@jsenv/core/src/internal/error_stack_remap/install_error_stack_remapping.js\"\n\nexport const installBrowserErrorStackRemapping = (options = {}) =>\n installErrorStackRemapping({\n fetchFile: async (url) => {\n // browser having Error.captureStackTrace got window.fetch\n // and this executes only when Error.captureStackTrace exists\n // so no need for polyfill or whatever here\n const response = await window.fetch(url, {\n // by default a script tag is in \"no-cors\"\n // so we also fetch url with \"no-cors\"\n mode: \"no-cors\",\n })\n // we read response test before anything because once memoized fetch\n // gets annoying preventing you to read\n // body multiple times, even using response.clone()\n const text = await response.text()\n return {\n status: response.status,\n url: response.url,\n statusText: response.statusText,\n headers: responseToHeaders(response),\n text: () => text,\n json: response.json.bind(response),\n blob: response.blob.bind(response),\n arrayBuffer: response.arrayBuffer.bind(response),\n }\n },\n resolveFile: (specifier, importer = window.location.href) => {\n // browsers having Error.captureStrackTrace got window.URL\n // and this executes only when Error.captureStackTrace exists\n return String(new URL(specifier, importer))\n },\n ...options,\n })\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n", + "export const displayErrorInDocument = (error) => {\n const title = \"An error occured\"\n let theme\n let message\n\n if (error && error.parsingError) {\n theme = \"light\"\n const { parsingError } = error\n message = errorToHTML(\n parsingError.messageHTML || escapeHtml(parsingError.message),\n )\n } else {\n theme = \"dark\"\n message = errorToHTML(error)\n }\n\n const css = `\n .jsenv-console {\n background: rgba(0, 0, 0, 0.95);\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 1000;\n box-sizing: border-box;\n padding: 1em;\n }\n\n .jsenv-console h1 {\n color: red;\n display: flex;\n align-items: center;\n }\n\n #button-close-jsenv-console {\n margin-left: 10px;\n }\n\n .jsenv-console pre {\n overflow: auto;\n max-width: 70em;\n /* avoid scrollbar to hide the text behind it */\n padding: 20px;\n }\n\n .jsenv-console pre[data-theme=\"dark\"] {\n background: #111;\n border: 1px solid #333;\n color: #eee;\n }\n\n .jsenv-console pre[data-theme=\"light\"] {\n background: #1E1E1E;\n border: 1px solid white;\n color: #EEEEEE;\n }\n\n .jsenv-console pre a {\n color: inherit;\n }\n `\n const html = `\n \n
\n

${title}

\n
${message}
\n
\n `\n const removeJsenvConsole = appendHMTLInside(html, document.body)\n\n document.querySelector(\"#button-close-jsenv-console\").onclick = () => {\n removeJsenvConsole()\n }\n}\n\nconst escapeHtml = (string) => {\n return string\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\")\n}\n\nconst errorToHTML = (error) => {\n let html\n\n if (error && error instanceof Error) {\n // stackTrace formatted by V8\n if (Error.captureStackTrace) {\n html = escapeHtml(error.stack)\n } else {\n // other stack trace such as firefox do not contain error.message\n html = escapeHtml(`${error.message}\n ${error.stack}`)\n }\n } else if (typeof error === \"string\") {\n html = error\n } else if (error === undefined) {\n html = \"undefined\"\n } else {\n html = JSON.stringify(error)\n }\n\n const htmlWithCorrectLineBreaks = html.replace(/\\n/g, \"\\n\")\n const htmlWithLinks = stringToStringWithLink(htmlWithCorrectLineBreaks, {\n transform: (url) => {\n return { href: url, text: url }\n },\n })\n return htmlWithLinks\n}\n\n// `Error: yo\n// at Object.execute (http://127.0.0.1:57300/build/src/__test__/file-throw.js:9:13)\n// at doExec (http://127.0.0.1:3000/src/__test__/file-throw.js:452:38)\n// at postOrderExec (http://127.0.0.1:3000/src/__test__/file-throw.js:448:16)\n// at http://127.0.0.1:3000/src/__test__/file-throw.js:399:18`.replace(/(?:https?|ftp|file):\\/\\/(.*+)$/gm, (...args) => {\n// debugger\n// })\nconst stringToStringWithLink = (\n source,\n {\n transform = (url) => {\n return {\n href: url,\n text: url,\n }\n },\n } = {},\n) => {\n return source.replace(/(?:https?|ftp|file):\\/\\/\\S+/gm, (match) => {\n let linkHTML = \"\"\n\n const lastChar = match[match.length - 1]\n\n // hotfix because our url regex sucks a bit\n const endsWithSeparationChar = lastChar === \")\" || lastChar === \":\"\n if (endsWithSeparationChar) {\n match = match.slice(0, -1)\n }\n\n const lineAndColumnPattern = /:([0-9]+):([0-9]+)$/\n const lineAndColumMatch = match.match(lineAndColumnPattern)\n if (lineAndColumMatch) {\n const lineAndColumnString = lineAndColumMatch[0]\n const lineNumber = lineAndColumMatch[1]\n const columnNumber = lineAndColumMatch[2]\n const url = match.slice(0, -lineAndColumnString.length)\n const { href, text } = transform(url)\n linkHTML = link({ href, text: `${text}:${lineNumber}:${columnNumber}` })\n } else {\n const linePattern = /:([0-9]+)$/\n const lineMatch = match.match(linePattern)\n if (lineMatch) {\n const lineString = lineMatch[0]\n const lineNumber = lineMatch[1]\n const url = match.slice(0, -lineString.length)\n const { href, text } = transform(url)\n linkHTML = link({\n href,\n text: `${text}:${lineNumber}`,\n })\n } else {\n const url = match\n const { href, text } = transform(url)\n linkHTML = link({ href, text })\n }\n }\n\n if (endsWithSeparationChar) {\n return `${linkHTML}${lastChar}`\n }\n return linkHTML\n })\n}\n\nconst link = ({ href, text = href }) => `${text}`\n\nconst appendHMTLInside = (html, parentNode) => {\n const temoraryParent = document.createElement(\"div\")\n temoraryParent.innerHTML = html\n return transferChildren(temoraryParent, parentNode)\n}\n\nconst transferChildren = (fromNode, toNode) => {\n const childNodes = [].slice.call(fromNode.childNodes, 0)\n let i = 0\n while (i < childNodes.length) {\n toNode.appendChild(childNodes[i])\n i++\n }\n return () => {\n let c = 0\n while (c < childNodes.length) {\n fromNode.appendChild(childNodes[c])\n c++\n }\n }\n}\n", + "const { Notification } = window\n\nconst displayErrorNotificationNotAvailable = () => {}\n\nconst displayErrorNotificationImplementation = (error, { icon } = {}) => {\n if (Notification.permission === \"granted\") {\n const notification = new Notification(\"An error occured\", {\n lang: \"en\",\n body: error ? error.stack : \"undefined\",\n icon,\n })\n notification.onclick = () => {\n window.focus()\n }\n }\n}\n\nexport const displayErrorNotification =\n typeof Notification === \"function\"\n ? displayErrorNotificationImplementation\n : displayErrorNotificationNotAvailable\n", + "import { fetchUrl } from \"@jsenv/core/src/internal/browser_utils/fetch_browser.js\"\nimport { fetchAndEval } from \"@jsenv/core/src/internal/browser_utils/fetch_and_eval.js\"\nimport { unevalException } from \"@jsenv/core/src/internal/runtime_client/uneval_exception.js\"\nimport { memoize } from \"@jsenv/core/src/internal/memoize.js\"\n\nimport { createBrowserClient } from \"./browser_client_factory.js\"\nimport { installBrowserErrorStackRemapping } from \"./browser_error_stack_remap.js\"\nimport { displayErrorInDocument } from \"./error_in_document.js\"\nimport { displayErrorNotification } from \"./error_in_notification.js\"\n\nconst getNavigationStartTime = () => {\n try {\n return window.performance.timing.navigationStart\n } catch (e) {\n return Date.now()\n }\n}\n\nconst navigationStartTime = getNavigationStartTime()\n\nconst readyPromise = new Promise((resolve) => {\n if (document.readyState === \"complete\") {\n resolve()\n } else {\n const loadCallback = () => {\n window.removeEventListener(\"load\", loadCallback)\n resolve()\n }\n window.addEventListener(\"load\", loadCallback)\n }\n})\n\nconst fileExecutionMap = {}\n\nconst executionResultPromise = readyPromise.then(async () => {\n const fileExecutionResultMap = {}\n const fileExecutionResultPromises = []\n let status = \"completed\"\n let exceptionSource = \"\"\n Object.keys(fileExecutionMap).forEach((key) => {\n fileExecutionResultMap[key] = null // to get always same order for Object.keys(executionResult)\n const fileExecutionResultPromise = fileExecutionMap[key]\n fileExecutionResultPromises.push(fileExecutionResultPromise)\n fileExecutionResultPromise.then((fileExecutionResult) => {\n fileExecutionResultMap[key] = fileExecutionResult\n if (fileExecutionResult.status === \"errored\") {\n status = \"errored\"\n exceptionSource = fileExecutionResult.exceptionSource\n }\n })\n })\n await Promise.all(fileExecutionResultPromises)\n\n return {\n status,\n ...(status === \"errored\" ? { exceptionSource } : {}),\n startTime: navigationStartTime,\n endTime: Date.now(),\n fileExecutionResultMap,\n }\n})\n\nconst executeFileUsingDynamicImport = async (\n specifier,\n identifier = specifier,\n) => {\n const { currentScript } = document\n const fileExecutionResultPromise = (async () => {\n try {\n const url = new URL(specifier, document.location.href).href\n performance.mark(`jsenv_file_import_start`)\n const namespace = await import(url)\n performance.measure(`jsenv_file_import`, `jsenv_file_import_start`)\n const executionResult = {\n status: \"completed\",\n namespace,\n coverage: readCoverage(),\n }\n return executionResult\n } catch (e) {\n performance.measure(`jsenv_file_import`, `jsenv_file_import_start`)\n const executionResult = {\n status: \"errored\",\n error: e,\n coverage: readCoverage(),\n }\n onExecutionError(executionResult, { currentScript })\n return executionResult\n }\n })()\n fileExecutionMap[identifier] = fileExecutionResultPromise\n return fileExecutionResultPromise\n}\n\nconst executeFileUsingSystemJs = (specifier) => {\n // si on a déja importer ce fichier ??\n // if (specifier in fileExecutionMap) {\n\n // }\n\n const { currentScript } = document\n\n const fileExecutionResultPromise = (async () => {\n const browserRuntime = await getBrowserRuntime()\n const executionResult = await browserRuntime.executeFile(specifier, {\n measurePerformance: true,\n collectPerformance: true,\n })\n if (executionResult.status === \"errored\") {\n onExecutionError(executionResult, { currentScript })\n }\n return executionResult\n })()\n fileExecutionMap[specifier] = fileExecutionResultPromise\n return fileExecutionResultPromise\n}\n\nconst onExecutionError = (\n executionResult,\n {\n currentScript,\n errorExposureInConsole = true,\n errorExposureInNotification = false,\n errorExposureInDocument = true,\n },\n) => {\n const error = executionResult.error\n if (error && error.code === \"NETWORK_FAILURE\") {\n if (currentScript) {\n const errorEvent = new Event(\"error\")\n currentScript.dispatchEvent(errorEvent)\n }\n } else if (typeof error === \"object\") {\n const { parsingError } = error\n const globalErrorEvent = new Event(\"error\")\n if (parsingError) {\n globalErrorEvent.filename = parsingError.filename\n globalErrorEvent.lineno = parsingError.lineNumber\n globalErrorEvent.message = parsingError.message\n globalErrorEvent.colno = parsingError.columnNumber\n } else {\n globalErrorEvent.filename = error.filename\n globalErrorEvent.lineno = error.lineno\n globalErrorEvent.message = error.message\n globalErrorEvent.colno = error.columnno\n }\n window.dispatchEvent(globalErrorEvent)\n }\n\n if (errorExposureInConsole) {\n console.error(error)\n }\n if (errorExposureInNotification) {\n displayErrorNotification(error)\n }\n if (errorExposureInDocument) {\n displayErrorInDocument(error)\n }\n\n executionResult.exceptionSource = unevalException(error)\n delete executionResult.error\n}\n\nconst getBrowserRuntime = memoize(async () => {\n const compileServerOrigin = document.location.origin\n const compileServerResponse = await fetchUrl(\n `${compileServerOrigin}/__jsenv_compile_profile__`,\n )\n const compileServerMeta = await compileServerResponse.json()\n const { jsenvDirectoryRelativeUrl, errorStackRemapping } = compileServerMeta\n const jsenvDirectoryServerUrl = `${compileServerOrigin}/${jsenvDirectoryRelativeUrl}`\n const afterJsenvDirectory = document.location.href.slice(\n jsenvDirectoryServerUrl.length,\n )\n const parts = afterJsenvDirectory.split(\"/\")\n const compileId = parts[0]\n\n const browserClient = await createBrowserClient({\n compileServerOrigin,\n jsenvDirectoryRelativeUrl,\n compileId,\n })\n\n if (errorStackRemapping && Error.captureStackTrace) {\n const { sourcemapMainFileRelativeUrl, sourcemapMappingFileRelativeUrl } =\n compileServerMeta\n await fetchAndEval(`${compileServerOrigin}/${sourcemapMainFileRelativeUrl}`)\n const { SourceMapConsumer } = window.sourceMap\n SourceMapConsumer.initialize({\n \"lib/mappings.wasm\": `${compileServerOrigin}/${sourcemapMappingFileRelativeUrl}`,\n })\n const { getErrorOriginalStackString } = installBrowserErrorStackRemapping({\n SourceMapConsumer,\n })\n const errorTransform = async (error) => {\n // code can throw something else than an error\n // in that case return it unchanged\n if (!error || !(error instanceof Error)) return error\n const originalStack = await getErrorOriginalStackString(error)\n error.stack = originalStack\n return error\n }\n const executeFile = browserClient.executeFile\n browserClient.executeFile = (file, options = {}) => {\n return executeFile(file, { errorTransform, ...options })\n }\n }\n return browserClient\n})\n\nconst livereloadingCallbacks = {}\n\nconst readCoverage = () => window.__coverage__\n\nwindow.__jsenv__ = {\n livereloadingCallbacks,\n executionResultPromise,\n executeFileUsingDynamicImport,\n executeFileUsingSystemJs,\n}\n" + ], + "names": [ + "nativeTypeOf", + "obj", + "customTypeOf", + "Symbol", + "constructor", + "prototype", + "iterator", + "key", + "value", + "Object", + "defineProperty", + "enumerable", + "configurable", + "writable", + "ownKeys", + "object", + "enumerableOnly", + "keys", + "getOwnPropertySymbols", + "symbols", + "filter", + "sym", + "getOwnPropertyDescriptor", + "push", + "apply", + "_objectSpread2", + "target", + "i", + "arguments", + "length", + "source", + "forEach", + "getOwnPropertyDescriptors", + "defineProperties", + "excluded", + "sourceKeys", + "indexOf", + "objectWithoutPropertiesLoose", + "sourceSymbolKeys", + "propertyIsEnumerable", + "call", + "then", + "direct", + "Promise", + "resolve", + "f", + "args", + "e", + "reject", + "body", + "result", + "fetchUsingXHR", + "url", + "signal", + "method", + "credentials", + "headers", + "headersPromise", + "createPromiseAndHooks", + "bodyPromise", + "xhr", + "XMLHttpRequest", + "failure", + "error", + "settled", + "cleanup", + "ontimeout", + "onerror", + "onload", + "onreadystatechange", + "Error", + "createRequestError", + "addEventListener", + "abort", + "abortError", + "name", + "readyState", + "open", + "setRequestHeader", + "withCredentials", + "computeWithCredentials", + "hasBlob", + "responseType", + "send", + "responseUrl", + "responseURL", + "responseStatus", + "status", + "responseStatusText", + "statusText", + "responseHeaders", + "getHeadersFromXHR", + "readBody", + "response", + "responseText", + "responseBody", + "responseBodyType", + "detectBodyType", + "text", + "blobToText", + "arrayBufferToText", + "buffer", + "String", + "json", + "JSON", + "parse", + "blob", + "Blob", + "cloneBuffer", + "arrayBuffer", + "blobToArrayBuffer", + "formData", + "hasFormData", + "textToFormData", + "canUseBlob", + "window", + "FileReader", + "FormData", + "hasArrayBuffer", + "ArrayBuffer", + "hasSearchParams", + "URLSearchParams", + "stack", + "promise", + "res", + "rej", + "originSameAsGlobalOrigin", + "location", + "globalOrigin", + "origin", + "hrefToOrigin", + "isPrototypeOf", + "isDataView", + "isArrayBufferView", + "headerMap", + "headersString", + "getAllResponseHeaders", + "lines", + "trim", + "split", + "line", + "parts", + "shift", + "join", + "toLowerCase", + "href", + "scheme", + "hrefToScheme", + "secondProtocolSlashIndex", + "pathnameSlashIndex", + "slice", + "colonIndex", + "DataView", + "isView", + "viewClasses", + "includes", + "toString", + "form", + "bytes", + "replace", + "append", + "decodeURIComponent", + "reader", + "fileReaderReady", + "readAsArrayBuffer", + "readAsText", + "view", + "Uint8Array", + "chars", + "Array", + "fromCharCode", + "byteLength", + "set", + "_await", + "_async", + "fetchNative", + "mode", + "options", + "fetch", + "responseToHeaders", + "fetchUrl", + "AbortController", + "createDetailedMessage", + "message", + "details", + "string", + "isArray", + "fetchAndEval", + "eval", + "appendSourceURL", + "code", + "sourceURL", + "arrayLikeToArray", + "arr", + "len", + "arr2", + "_iterableToArray", + "iter", + "from", + "unsupportedIterableToArray", + "o", + "minLen", + "n", + "test", + "TypeError", + "arrayWithoutHoles", + "iterableToArray", + "nonIterableSpread", + "isComposite", + "type", + "compositeWellKnownMap", + "WeakMap", + "primitiveWellKnownMap", + "Map", + "getCompositeGlobalPath", + "get", + "getPrimitiveGlobalPath", + "visitGlobalObject", + "visitValue", + "path", + "has", + "visitProperty", + "property", + "descriptor", + "propertyValue", + "getOwnPropertyNames", + "symbol", + "global", + "decompose", + "mainValue", + "functionAllowed", + "prototypeStrict", + "ignoreSymbols", + "valueMap", + "recipeArray", + "valueToIdentifier", + "existingIdentifier", + "identifierForPrimitive", + "undefined", + "identifier", + "identifierForNewValue", + "primitiveToRecipe", + "createPromiseAreNotSupportedMessage", + "WeakSet", + "createWeakSetAreNotSupportedMessage", + "createWeakMapAreNotSupportedMessage", + "createForbiddenFunctionMessage", + "identifierForComposite", + "compositeGlobalPath", + "createGlobalReferenceRecipe", + "propertyDescriptionArray", + "propertyName", + "propertyDescriptor", + "propertyNameIdentifier", + "propertyDescription", + "computePropertyDescription", + "symbolDescriptionArray", + "symbolIdentifier", + "methodDescriptionArray", + "computeMethodDescriptionArray", + "extensible", + "isExtensible", + "createCompositeRecipe", + "propertyNameOrSymbol", + "createForbiddenPropertySetterMessage", + "createForbiddenPropertyGetterMessage", + "getIdentifier", + "setIdentifier", + "valueIdentifier", + "Set", + "callArray", + "entryValue", + "index", + "entryValueIdentifier", + "methodNameIdentifier", + "entryKey", + "entryKeyIdentifier", + "find", + "existingValue", + "is", + "nextIdentifier", + "currentIdentifier", + "parseInt", + "mainIdentifier", + "prototypeValueToIdentifier", + "prototypeValue", + "prototypeExistingIdentifier", + "prototypeIdentifier", + "prototypeGlobalPath", + "createUnknownPrototypeMessage", + "getPrototypeOf", + "identifierForValueOf", + "valueOf", + "valueOfReturnValue", + "createUnexpectedValueOfReturnValueMessage", + "recipe", + "valueOfIdentifier", + "RegExp", + "symbolToRecipe", + "createPimitiveRecipe", + "globalSymbolKey", + "keyFor", + "createGlobalSymbolRecipe", + "symbolGlobalPath", + "createUnknownSymbolMessage", + "sortRecipe", + "findInRecipePrototypeChain", + "callback", + "currentRecipe", + "recipeArrayOrdered", + "sort", + "leftRecipe", + "rightRecipe", + "leftType", + "rightType", + "rightRecipeIsInLeftRecipePrototypeChain", + "recipeCandidate", + "leftRecipeIsInRightRecipePrototypeChain", + "leftIndex", + "rightIndex", + "escapeString", + "j", + "escapedString", + "char", + "escapedChar", + "uneval", + "recipeArraySorted", + "variableNameMap", + "indexSorted", + "identifierToVariableName", + "recipeToSetupSource", + "primitiveRecipeToSetupSource", + "globalSymbolRecipeToSetupSource", + "globalReferenceRecipeToSetupSource", + "compositeRecipeToSetupSource", + "pathSource", + "map", + "part", + "prototypeConstructor", + "recipeVariableName", + "recipeToMutateSource", + "compositeRecipeToMutateSource", + "mutateSource", + "generateDefinePropertySource", + "generateMethodCallSource", + "generatePreventExtensionSource", + "propertyNameOrSymbolIdentifier", + "propertyOrSymbolVariableName", + "propertyDescriptorSource", + "generatePropertyDescriptorSource", + "methodCallSource", + "methodVariableName", + "argumentIdentifiers", + "argumentVariableNames", + "argumentIdentifier", + "unevalException", + "hasOwnProperty", + "memoize", + "compute", + "memoized", + "memoizedValue", + "fnWithMemoization", + "forget", + "assertImportMap", + "hasScheme", + "urlToScheme", + "urlString", + "urlToPathname", + "ressourceToPathname", + "urlToRessource", + "afterProtocol", + "ressource", + "searchSeparatorIndex", + "urlToOrigin", + "pathnameToParentPathname", + "pathname", + "slashLastIndex", + "lastIndexOf", + "resolveUrl", + "specifier", + "baseUrl", + "writeBaseUrlMustBeAString", + "writeBaseUrlMustBeAbsolute", + "writeBaseUrlRequired", + "baseOrigin", + "basePathname", + "baseDirectoryPathname", + "unresolvedPathname", + "importerFolders", + "pop", + "resolvedPathname", + "tryUrlResolution", + "resolveSpecifier", + "importer", + "startsWith", + "sortImports", + "imports", + "mappingsSorted", + "compareLengthOrLocaleCompare", + "sortScopes", + "scopes", + "scopesSorted", + "scopeSpecifier", + "a", + "b", + "localeCompare", + "normalizeImportMap", + "importMap", + "isStringOrUrl", + "formulateBaseUrlMustBeStringOrUrl", + "normalizeMappings", + "normalizeScopes", + "URL", + "mappings", + "mappingsNormalized", + "address", + "console", + "warn", + "formulateAddressMustBeAString", + "specifierResolved", + "addressUrl", + "formulateAdressResolutionFailed", + "endsWith", + "formulateAddressUrlRequiresTrailingSlash", + "scopesNormalized", + "scopeMappings", + "scopeUrl", + "formulateScopeResolutionFailed", + "scope", + "scopeValueNormalized", + "addressURL", + "pathnameToExtension", + "dotLastIndex", + "applyImportMap", + "createBareSpecifierError", + "onImportMapping", + "specifierUrl", + "specifierNormalized", + "scopeSpecifierMatching", + "specifierIsPrefixOf", + "mappingFromScopes", + "applyMappings", + "mappingFromImports", + "specifierCandidates", + "specifierCandidate", + "to", + "before", + "after", + "afterSpecifier", + "addressFinal", + "specifierHref", + "resolveImport", + "defaultExtension", + "applyDefaultExtension", + "extension", + "importerPathname", + "importerExtension", + "getJavaScriptModuleResponseError", + "importerUrl", + "compileServerOrigin", + "compileDirectoryRelativeUrl", + "jsonContentTypeAccepted", + "getModuleDetails", + "notFound", + "contentType", + "bodyAsJson", + "filename", + "parsingError", + "suggestion", + "relativeUrl", + "tryToFindProjectRelativeUrl", + "importerRelativeUrl", + "file", + "afterOrigin", + "afterCompileDirectory", + "urlToExtension", + "fakeUrl", + "specifierExtension", + "createImportResolverForImportmap", + "importMapUrl", + "importDefaultExtension", + "onBareSpecifierError", + "_resolveImport", + "bareSpecifierError", + "detailedMessage", + "errMsg", + "errCode", + "msg", + "hasSymbol", + "hasSelf", + "self", + "hasDocument", + "document", + "envGlobal", + "baseEl", + "querySelector", + "lastSepIndex", + "backslashRegEx", + "resolveIfNotPlainOrUrl", + "relUrl", + "parentUrl", + "parentProtocol", + "segmented", + "output", + "segmentIndex", + "resolveAndComposePackages", + "packages", + "outPackages", + "parentMap", + "p", + "resolvedLhs", + "rhs", + "mapped", + "resolveImportMap", + "targetWarning", + "resolveAndComposeImportMap", + "outMap", + "u", + "resolvedScope", + "depcache", + "integrity", + "getMatch", + "matchObj", + "sepIndex", + "segment", + "applyPackages", + "id", + "pkgName", + "pkg", + "match", + "resolvedOrPlain", + "packageResolution", + "toStringTag", + "REGISTRY", + "SystemJS", + "systemJSPrototype", + "import", + "loader", + "prepareImport", + "load", + "getOrCreateLoad", + "C", + "topLevelLoad", + "createContext", + "parentId", + "lastRegister", + "register", + "deps", + "declare", + "getRegister", + "_lastRegister", + "firstParentUrl", + "importerSetters", + "ns", + "create", + "instantiatePromise", + "instantiate", + "registration", + "_export", + "h", + "changed", + "__esModule", + "setter", + "declared", + "importId", + "meta", + "execute", + "setters", + "err", + "er", + "linkPromise", + "instantiation", + "all", + "dep", + "depId", + "depLoad", + "I", + "depLoads", + "d", + "L", + "E", + "instantiateAll", + "parent", + "loaded", + "catch", + "postOrderExec", + "nullContext", + "freeze", + "seen", + "depLoadPromises", + "depLoadPromise", + "doExec", + "execPromise", + "System", + "importMapPromise", + "processFirst", + "doProcessScripts", + "processScripts", + "querySelectorAll", + "script", + "sp", + "src", + "event", + "createEvent", + "initEvent", + "dispatchEvent", + "fetchPromise", + "ok", + "innerHTML", + "extendImportMap", + "newMapText", + "newMapUrl", + "newMap", + "evt", + "lastWindowErrorUrl", + "lastWindowError", + "createScript", + "createElement", + "async", + "crossOrigin", + "lastAutoImportDeps", + "lastAutoImportTimeout", + "autoImportCandidates", + "systemRegister", + "inlineScriptCount", + "autoUrl", + "scripts", + "lastScript", + "lastAutoImportUrl", + "setTimeout", + "autoImportRegistration", + "head", + "removeChild", + "clearTimeout", + "appendChild", + "shouldFetch", + "jsContentTypeRegEx", + "throwUnresolved", + "systemInstantiate", + "preloads", + "importScripts", + "registerRegistry", + "define", + "WorkerGlobalScope", + "importMapFromParentPromise", + "importmapMessageCallback", + "data", + "removeEventListener", + "ports", + "onmessage", + "postMessage", + "importmap", + "stringify", + "messageEvents", + "messageCallback", + "messageEvent", + "WorkerConstructor", + "Worker", + "worker", + "importmapChannel", + "MessageChannel", + "port1", + "port2", + "serviceWorker", + "navigator", + "registrationPromise", + "installing", + "waiting", + "active", + "recover", + "createBrowserSystem", + "importResolver", + "fetchSource", + "browserSystem", + "extractImportTypeFromUrl", + "importType", + "urlWithoutImportType", + "instantiateAsJsonModule", + "jsonModule", + "instantiateAsCssModule", + "cssModule", + "vendor", + "createDetailedInstantiateError", + "instantiateError", + "jsenvError", + "urlObject", + "search", + "searchParams", + "delete", + "contentTypeExpected", + "compileDirectoryServerUrl", + "originalFileRelativeUrl", + "__jsenv__", + "livereloadingCallbacks", + "reloadPage", + "cssText", + "cssTextWithBaseUrl", + "cssWithBaseUrl", + "cssUrl", + "sheet", + "CSSStyleSheet", + "replaceSync", + "cssDirectoryUrl", + "baseDirectoryUrl", + "cssTextRelocated", + "quotes", + "relUrl1", + "relUrl2", + "absoluteUrl", + "jsModuleResponseError", + "performance", + "thrown", + "finalizer", + "bind", + "measureAsyncFnPerf", + "fn", + "perfMarkStartName", + "mark", + "measure", + "makeModuleNamespaceTransferable", + "namespace", + "transferableNamespace", + "isTransferable", + "hideNonTransferableValue", + "seenArray", + "visit", + "constructorName", + "supportedTypes", + "maybe", + "maybeTypes", + "visited", + "every", + "values", + "memoizedCreateBrowserSystem", + "createBrowserClient", + "jsenvDirectoryRelativeUrl", + "compileId", + "fetchJson", + "compileServerMetaUrl", + "importmapScript", + "importmapRaw", + "importmapFileResponse", + "textContent", + "importFile", + "executeFile", + "executionExposureOnWindow", + "errorTransform", + "measurePerformance", + "importUsingSystemJs", + "coverage", + "readCoverage", + "transformedError", + "executionResult", + "__executionResult__", + "__coverage__", + "DataUrl", + "as", + "afterDataProtocol", + "commaIndex", + "beforeComma", + "mediaType", + "base64Flag", + "afterComma", + "base64ToString", + "dataToBase64", + "atob", + "Buffer", + "btoa", + "base64String", + "getJavaScriptSourceMappingUrl", + "javaScriptSource", + "sourceMappingUrl", + "replaceSourceMappingUrl", + "javascriptSourceMappingUrlCommentRegexp", + "regexp", + "lastSourceMappingUrl", + "matchSourceMappingUrl", + "exec", + "mappedAfter", + "firstGroup", + "startsWithWindowsDriveLetter", + "firstChar", + "secondChar", + "windowsFilePathToUrl", + "windowsFilePath", + "replaceBackSlashesWithSlashes", + "remapCallSite", + "callSite", + "urlToSourcemapConsumer", + "resolveFile", + "readErrorStack", + "onFailure", + "isNative", + "getFileName", + "getScriptNameOrSourceURL", + "getLineNumber", + "column", + "getColumnNumber", + "remapSourcePosition", + "originalPosition", + "callSiteClone", + "cloneCallSite", + "getFunctionName", + "isEval", + "getEvalOrigin", + "remapEvalOrigin", + "originalEvalOrigin", + "methods", + "callSiteToFunctionCall", + "fileLocation", + "callSiteToFileLocation", + "isConstructor", + "isMethodCall", + "isToplevel", + "callSiteToMethodCall", + "functionName", + "typeName", + "callSiteToType", + "methodName", + "getMethodName", + "generateAs", + "getTypeName", + "sourceFile", + "callSiteToSourceFile", + "lineNumber", + "columnNumber", + "fileName", + "topLevelEvalMatch", + "Number", + "nestedEvalMatch", + "position", + "sourceToUrl", + "sourceMapConsumer", + "originalPositionFor", + "originalSource", + "startsWithScheme", + "remapStack", + "fetchFile", + "SourceMapConsumer", + "memoizeByFirstArgStringValue", + "stackTraceFileUrl", + "fileResponse", + "jsSourcemapUrl", + "sourcemapUrl", + "sourcemapString", + "sourcemapResponse", + "sourceMap", + "sourcesContent", + "firstSourceMapSourceFailure", + "sources", + "sourcemapSourceUrl", + "sourceResponse", + "sourceString", + "stringValueCache", + "firstArgValue", + "stringifyStack", + "indent", + "stackString", + "installErrorStackRemapping", + "errorRemappingCache", + "errorRemapFailureCallbackMap", + "installed", + "previousPrepareStackTrace", + "prepareStackTrace", + "install", + "uninstall", + "failureData", + "failureCallbackArray", + "stackRemappingPromise", + "memoizeFetch", + "getErrorOriginalStackString", + "remapFailureCallbackArray", + "originalCallsites", + "firstCall", + "assign", + "lineno", + "columnno", + "urlCache", + "responsePromise", + "installBrowserErrorStackRemapping", + "displayErrorInDocument", + "title", + "theme", + "errorToHTML", + "messageHTML", + "escapeHtml", + "css", + "html", + "removeJsenvConsole", + "appendHMTLInside", + "onclick", + "captureStackTrace", + "htmlWithCorrectLineBreaks", + "htmlWithLinks", + "stringToStringWithLink", + "transform", + "linkHTML", + "lastChar", + "endsWithSeparationChar", + "lineAndColumnPattern", + "lineAndColumMatch", + "lineAndColumnString", + "link", + "linePattern", + "lineMatch", + "lineString", + "parentNode", + "temoraryParent", + "transferChildren", + "fromNode", + "toNode", + "childNodes", + "c", + "Notification", + "displayErrorNotificationNotAvailable", + "displayErrorNotificationImplementation", + "icon", + "permission", + "notification", + "lang", + "focus", + "displayErrorNotification", + "getNavigationStartTime", + "timing", + "navigationStart", + "Date", + "now", + "navigationStartTime", + "_catch", + "readyPromise", + "loadCallback", + "_call", + "fileExecutionMap", + "_invoke", + "executionResultPromise", + "fileExecutionResultMap", + "fileExecutionResultPromises", + "exceptionSource", + "fileExecutionResultPromise", + "fileExecutionResult", + "startTime", + "endTime", + "executeFileUsingDynamicImport", + "currentScript", + "onExecutionError", + "executeFileUsingSystemJs", + "getBrowserRuntime", + "browserRuntime", + "collectPerformance", + "errorExposureInConsole", + "errorExposureInNotification", + "errorExposureInDocument", + "errorEvent", + "Event", + "globalErrorEvent", + "colno", + "compileServerResponse", + "compileServerMeta", + "errorStackRemapping", + "jsenvDirectoryServerUrl", + "afterJsenvDirectory", + "browserClient", + "sourcemapMainFileRelativeUrl", + "sourcemapMappingFileRelativeUrl", + "initialize", + "originalStack" + ], + "mappings": "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" +} \ No newline at end of file diff --git a/dist/browser_runtime/asset-manifest.json b/dist/browser_runtime/asset-manifest.json deleted file mode 100644 index c0da0599a4..0000000000 --- a/dist/browser_runtime/asset-manifest.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "browser_runtime.js": "browser_runtime_c81cd9af.js", - "browser_runtime.js.map": "browser_runtime_c81cd9af.js.map" -} \ No newline at end of file diff --git a/dist/browser_runtime/browser_runtime_c81cd9af.js.map b/dist/browser_runtime/browser_runtime_c81cd9af.js.map deleted file mode 100644 index dbcc46d9f3..0000000000 --- a/dist/browser_runtime/browser_runtime_c81cd9af.js.map +++ /dev/null @@ -1,1089 +0,0 @@ -{ - "version": 3, - "file": "browser_runtime_c81cd9af.js", - "sources": [ - "../../helpers/babel/typeof/typeof.js", - "../../helpers/babel/defineProperty/defineProperty.js", - "../../helpers/babel/objectSpread2/objectSpread2.js", - "../../helpers/babel/arrayLikeToArray/arrayLikeToArray.js", - "../../helpers/babel/arrayWithoutHoles/arrayWithoutHoles.js", - "../../helpers/babel/iterableToArray/iterableToArray.js", - "../../helpers/babel/unsupportedIterableToArray/unsupportedIterableToArray.js", - "../../helpers/babel/nonIterableSpread/nonIterableSpread.js", - "../../helpers/babel/toConsumableArray/toConsumableArray.js", - "../../node_modules/@jsenv/logger/src/createDetailedMessage.js", - "../../src/internal/error-stack-remapping/stackToString.js", - "../../src/internal/dataUrl.utils.js", - "../../src/internal/sourceMappingURLUtils.js", - "../../src/internal/filePathUtils.js", - "../../src/internal/error-stack-remapping/remapCallSite.js", - "../../src/internal/error-stack-remapping/getOriginalCallsites.js", - "../../src/internal/error-stack-remapping/installErrorStackRemapping.js", - "../../src/internal/error-stack-remapping/installBrowserErrorStackRemapping.js", - "../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js", - "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js", - "../../src/internal/browser_utils/fetchUsingXHR.js", - "../../src/internal/browser_utils/fetch_browser.js", - "../../src/internal/browser_utils/fetchAndEvalUsingFetch.js", - "../../node_modules/@jsenv/uneval/src/internal/isComposite.js", - "../../node_modules/@jsenv/uneval/src/internal/global-value-path.js", - "../../node_modules/@jsenv/uneval/src/internal/decompose.js", - "../../node_modules/@jsenv/uneval/src/internal/sortRecipe.js", - "../../node_modules/@jsenv/uneval/src/internal/escapeString.js", - "../../node_modules/@jsenv/uneval/src/uneval.js", - "../../src/internal/unevalException.js", - "../../src/internal/memoize.js", - "../../src/internal/browser_runtime/displayErrorInDocument.js", - "../../src/internal/browser_runtime/displayErrorNotification.js", - "../../node_modules/@jsenv/importmap/src/internal/assertImportMap.js", - "../../node_modules/@jsenv/importmap/src/internal/hasScheme.js", - "../../node_modules/@jsenv/importmap/src/internal/urlToScheme.js", - "../../node_modules/@jsenv/importmap/src/internal/urlToPathname.js", - "../../node_modules/@jsenv/importmap/src/internal/urlToOrigin.js", - "../../node_modules/@jsenv/importmap/src/internal/pathnameToParentPathname.js", - "../../node_modules/@jsenv/importmap/src/resolveUrl.js", - "../../node_modules/@jsenv/importmap/src/internal/tryUrlResolution.js", - "../../node_modules/@jsenv/importmap/src/resolveSpecifier.js", - "../../node_modules/@jsenv/importmap/src/sortImportMap.js", - "../../node_modules/@jsenv/importmap/src/normalizeImportMap.js", - "../../node_modules/@jsenv/importmap/src/internal/pathnameToExtension.js", - "../../node_modules/@jsenv/importmap/src/applyImportMap.js", - "../../node_modules/@jsenv/importmap/src/resolveImport.js", - "../../src/internal/runtime/module-registration.js", - "../../src/internal/import-resolution/default-extension.js", - "../../src/internal/import-resolution/import-resolver-importmap.js", - "../../src/internal/perf_browser.js", - "../../src/internal/runtime/s.js", - "../../src/internal/browser_runtime/browser_system.js", - "../../src/internal/browser_runtime/makeNamespaceTransferable.js", - "../../src/internal/browser_runtime/createBrowserRuntime.js", - "../../src/internal/browser_runtime/browser_runtime.js" - ], - "sourcesContent": [ - "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n", - "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n", - "import defineProperty from \"../defineProperty/defineProperty.js\"\n\n// This function is different to \"Reflect.ownKeys\". The enumerableOnly\n// filters on symbol properties only. Returned string properties are always\n// enumerable. It is good to use in objectSpread.\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}", - "/* eslint-disable no-eq-null, eqeqeq */\nexport default function arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length\n var arr2 = new Array(len)\n for (var i = 0; i < len; i++) arr2[i] = arr[i]\n return arr2\n}\n", - "import arrayLikeToArray from \"../arrayLikeToArray/arrayLikeToArray.js\"\n\n// eslint-disable-next-line consistent-return\nexport default (arr) => {\n if (Array.isArray(arr)) return arrayLikeToArray(arr)\n}\n", - "export default function _iterableToArray(iter) {\n if (\n (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null) ||\n iter[\"@@iterator\"] != null\n )\n return Array.from(iter)\n}\n", - "/* eslint-disable consistent-return */\nimport arrayLikeToArray from \"../arrayLikeToArray/arrayLikeToArray.js\"\n\nexport default function unsupportedIterableToArray(o, minLen) {\n if (!o) return\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen)\n var n = Object.prototype.toString.call(o).slice(8, -1)\n if (n === \"Object\" && o.constructor) n = o.constructor.name\n if (n === \"Map\" || n === \"Set\") return Array.from(o)\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return arrayLikeToArray(o, minLen)\n}\n", - "export default () => {\n throw new TypeError(\n \"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\",\n )\n}\n", - "import arrayWithoutHoles from \"../arrayWithoutHoles/arrayWithoutHoles.js\"\nimport iterableToArray from \"../iterableToArray/iterableToArray.js\"\nimport unsupportedIterableToArray from \"../unsupportedIterableToArray/unsupportedIterableToArray.js\"\nimport nonIterableSpread from \"../nonIterableSpread/nonIterableSpread.js\"\n\nexport default (arr) =>\n arrayWithoutHoles(arr) ||\n iterableToArray(arr) ||\n unsupportedIterableToArray(arr) ||\n nonIterableSpread()\n", - "export const createDetailedMessage = (message, details = {}) => {\n let string = `${message}`\n\n Object.keys(details).forEach((key) => {\n const value = details[key]\n string += `\n--- ${key} ---\n${\n Array.isArray(value)\n ? value.join(`\n`)\n : value\n}`\n })\n\n return string\n}\n", - "export const stackToString = (stack, { error, indent }) => {\n const name = error.name || \"Error\"\n const message = error.message || \"\"\n const stackString = stack\n .map((callSite) => `\\n${indent}at ${callSite}`)\n .join(\"\")\n\n return `${name}: ${message}${stackString}`\n}\n", - "/* eslint-env browser, node */\n\nexport const parseDataUrl = (dataUrl) => {\n const afterDataProtocol = dataUrl.slice(\"data:\".length)\n const commaIndex = afterDataProtocol.indexOf(\",\")\n const beforeComma = afterDataProtocol.slice(0, commaIndex)\n\n let mediaType\n let base64Flag\n if (beforeComma.endsWith(`;base64`)) {\n mediaType = beforeComma.slice(0, -`;base64`.length)\n base64Flag = true\n } else {\n mediaType = beforeComma\n base64Flag = false\n }\n\n const afterComma = afterDataProtocol.slice(commaIndex + 1)\n return {\n mediaType: mediaType === \"\" ? \"text/plain;charset=US-ASCII\" : mediaType,\n base64Flag,\n data: afterComma,\n }\n}\n\nexport const stringifyDataUrl = ({ mediaType, base64Flag = true, data }) => {\n if (!mediaType || mediaType === \"text/plain;charset=US-ASCII\") {\n // can be a buffer or a string, hence check on data.length instead of !data or data === ''\n if (data.length === 0) {\n return `data:,`\n }\n if (base64Flag) {\n return `data:,${data}`\n }\n return `data:,${dataToBase64(data)}`\n }\n if (base64Flag) {\n return `data:${mediaType};base64,${dataToBase64(data)}`\n }\n return `data:${mediaType},${data}`\n}\n\nexport const dataUrlToRawData = ({ base64Flag, data }) => {\n return base64Flag ? base64ToString(data) : data\n}\n\nexport const dataToBase64 =\n typeof window === \"object\"\n ? window.atob\n : (data) => Buffer.from(data).toString(\"base64\")\n\nexport const base64ToString =\n typeof window === \"object\"\n ? window.btoa\n : (base64String) => Buffer.from(base64String, \"base64\").toString(\"utf8\")\n", - "export const generateSourcemapUrl = (url) => {\n // we want to remove eventual search params from url\n const urlString = String(url)\n const urlObject = new URL(url)\n const origin = urlString.startsWith(\"file://\") ? \"file://\" : urlObject.origin\n const pathname = urlObject.pathname\n const sourcemapUrl = `${origin}${pathname}.map`\n return sourcemapUrl\n}\n\nexport const getJavaScriptSourceMappingUrl = (javaScriptSource) => {\n let sourceMappingUrl\n replaceSourceMappingUrl(\n javaScriptSource,\n javascriptSourceMappingUrlCommentRegexp,\n (value) => {\n sourceMappingUrl = value\n },\n )\n return sourceMappingUrl\n}\n\nexport const setJavaScriptSourceMappingUrl = (\n javaScriptSource,\n sourceMappingFileUrl,\n) => {\n let replaced\n const sourceAfterReplace = replaceSourceMappingUrl(\n javaScriptSource,\n javascriptSourceMappingUrlCommentRegexp,\n () => {\n replaced = true\n return sourceMappingFileUrl\n ? writeJavaScriptSourceMappingURL(sourceMappingFileUrl)\n : \"\"\n },\n )\n if (replaced) {\n return sourceAfterReplace\n }\n\n return sourceMappingFileUrl\n ? `${javaScriptSource}\n${writeJavaScriptSourceMappingURL(sourceMappingFileUrl)}`\n : javaScriptSource\n}\n\nexport const getCssSourceMappingUrl = (cssSource) => {\n let sourceMappingUrl\n replaceSourceMappingUrl(\n cssSource,\n cssSourceMappingUrlCommentRegExp,\n (value) => {\n sourceMappingUrl = value\n },\n )\n return sourceMappingUrl\n}\n\nexport const setCssSourceMappingUrl = (cssSource, sourceMappingFileUrl) => {\n let replaced\n const sourceAfterReplace = replaceSourceMappingUrl(\n cssSource,\n cssSourceMappingUrlCommentRegExp,\n () => {\n replaced = true\n return sourceMappingFileUrl\n ? writeCssSourceMappingUrl(sourceMappingFileUrl)\n : \"\"\n },\n )\n if (replaced) {\n return sourceAfterReplace\n }\n return sourceMappingFileUrl\n ? `${cssSource}\n${writeCssSourceMappingUrl(sourceMappingFileUrl)}`\n : cssSource\n}\n\nconst javascriptSourceMappingUrlCommentRegexp =\n /\\/\\/ ?# ?sourceMappingURL=([^\\s'\"]+)/g\nconst cssSourceMappingUrlCommentRegExp =\n /\\/\\*# ?sourceMappingURL=([^\\s'\"]+) \\*\\//g\n\n// ${\"//#\"} is to avoid a parser thinking there is a sourceMappingUrl for this file\nconst writeJavaScriptSourceMappingURL = (value) =>\n `${\"//#\"} sourceMappingURL=${value}`\nconst writeCssSourceMappingUrl = (value) => `/*# sourceMappingURL=${value} */`\n\nexport const sourcemapToBase64Url = (sourcemap) => {\n const asBase64 = Buffer.from(JSON.stringify(sourcemap)).toString(\"base64\")\n return `data:application/json;charset=utf-8;base64,${asBase64}`\n}\n\nconst replaceSourceMappingUrl = (source, regexp, callback) => {\n let lastSourceMappingUrl\n let matchSourceMappingUrl\n while ((matchSourceMappingUrl = regexp.exec(source))) {\n lastSourceMappingUrl = matchSourceMappingUrl\n }\n if (lastSourceMappingUrl) {\n const index = lastSourceMappingUrl.index\n const before = source.slice(0, index)\n const after = source.slice(index)\n const mappedAfter = after.replace(regexp, (match, firstGroup) => {\n return callback(firstGroup)\n })\n return `${before}${mappedAfter}`\n }\n return source\n}\n", - "export const isWindowsFilePath = (path) =>\n startsWithWindowsDriveLetter(path) && path[2] === \"\\\\\"\n\nexport const startsWithWindowsDriveLetter = (string) => {\n const firstChar = string[0]\n if (!/[a-zA-Z]/.test(firstChar)) return false\n\n const secondChar = string[1]\n if (secondChar !== \":\") return false\n\n return true\n}\n\nexport const windowsFilePathToUrl = (windowsFilePath) => {\n return `file:///${replaceBackSlashesWithSlashes(windowsFilePath)}`\n}\n\nexport const replaceBackSlashesWithSlashes = (string) =>\n string.replace(/\\\\/g, \"/\")\n", - "import { createDetailedMessage } from \"@jsenv/logger\"\nimport {\n startsWithWindowsDriveLetter,\n windowsFilePathToUrl,\n} from \"../filePathUtils.js\"\n\nexport const remapCallSite = async (\n callSite,\n { urlToSourcemapConsumer, resolveFile, readErrorStack, onFailure },\n) => {\n if (callSite.isNative()) {\n return callSite\n }\n\n // Most call sites will return the source file from getFileName(), but code\n // passed to eval() ending in \"//# sourceURL=...\" will return the source file\n // from getScriptNameOrSourceURL() instead\n const source = callSite.getFileName() || callSite.getScriptNameOrSourceURL()\n if (source) {\n const line = callSite.getLineNumber()\n const column = callSite.getColumnNumber() - 1\n const originalPosition = await remapSourcePosition({\n source,\n line,\n column,\n resolveFile,\n urlToSourcemapConsumer,\n readErrorStack,\n onFailure,\n })\n\n const callSiteClone = cloneCallSite(callSite)\n\n callSiteClone.getFunctionName = () =>\n originalPosition.name || callSite.getFunctionName()\n callSiteClone.getFileName = () => originalPosition.source\n callSiteClone.getLineNumber = () => originalPosition.line\n callSiteClone.getColumnNumber = () => originalPosition.column + 1\n callSiteClone.getScriptNameOrSourceURL = () => originalPosition.source\n\n return callSiteClone\n }\n\n // Code called using eval() needs special handling\n if (callSite.isEval()) {\n const origin = callSite.getEvalOrigin()\n if (origin) {\n const callSiteClone = cloneCallSite(callSite)\n const originalEvalOrigin = await remapEvalOrigin(origin, {\n resolveFile,\n urlToSourcemapConsumer,\n readErrorStack,\n onFailure,\n })\n callSiteClone.getEvalOrigin = () => originalEvalOrigin\n return callSiteClone\n }\n return callSite\n }\n\n // If we get here then we were unable to change the source position\n return callSite\n}\n\nconst cloneCallSite = (callSite) => {\n const callSiteClone = {}\n methods.forEach((name) => {\n callSiteClone[name] = () => callSite[name]()\n })\n callSiteClone.toString = () => callSiteToFunctionCall(callSiteClone)\n\n return callSiteClone\n}\n\nconst methods = [\n \"getColumnNumber\",\n \"getEvalOrigin\",\n \"getFileName\",\n \"getFunction\",\n \"getFunctionName\",\n \"getLineNumber\",\n \"getMethodName\",\n \"getPosition\",\n \"getScriptNameOrSourceURL\",\n \"getThis\",\n \"getTypeName\",\n \"isConstructor\",\n \"isEval\",\n \"isNative\",\n \"isToplevel\",\n \"toString\",\n]\n\nconst callSiteToFunctionCall = (callSite) => {\n const fileLocation = callSiteToFileLocation(callSite)\n const isConstructor = callSite.isConstructor()\n const isMethodCall = !callSite.isToplevel() && !isConstructor\n\n if (isMethodCall) {\n return `${callSiteToMethodCall(callSite)} (${fileLocation})`\n }\n\n const functionName = callSite.getFunctionName()\n if (isConstructor) {\n return `new ${functionName || \"\"} (${fileLocation})`\n }\n\n if (functionName) {\n return `${functionName} (${fileLocation})`\n }\n\n return `${fileLocation}`\n}\n\nconst callSiteToMethodCall = (callSite) => {\n const functionName = callSite.getFunctionName()\n const typeName = callSiteToType(callSite)\n\n if (!functionName) {\n return `${typeName}.`\n }\n\n const methodName = callSite.getMethodName()\n const as = generateAs({ methodName, functionName })\n\n if (typeName && !functionName.startsWith(typeName)) {\n return `${typeName}.${functionName}${as}`\n }\n\n return `${functionName}${as}`\n}\n\nconst generateAs = ({ methodName, functionName }) => {\n if (!methodName) return \"\"\n if (\n functionName.indexOf(`.${methodName}`) ===\n functionName.length - methodName.length - 1\n )\n return \"\"\n return ` [as ${methodName}]`\n}\n\nconst callSiteToType = (callSite) => {\n const typeName = callSite.getTypeName()\n // Fixes shim to be backward compatible with Node v0 to v4\n if (typeName === \"[object Object]\") {\n return \"null\"\n }\n return typeName\n}\n\nconst callSiteToFileLocation = (callSite) => {\n if (callSite.isNative()) return \"native\"\n\n const sourceFile = callSiteToSourceFile(callSite)\n const lineNumber = callSite.getLineNumber()\n if (lineNumber === null) {\n return sourceFile\n }\n\n const columnNumber = callSite.getColumnNumber()\n if (!columnNumber) {\n return `${sourceFile}:${lineNumber}`\n }\n\n return `${sourceFile}:${lineNumber}:${columnNumber}`\n}\n\nconst callSiteToSourceFile = (callSite) => {\n const fileName = callSite.getScriptNameOrSourceURL()\n\n if (fileName) {\n return fileName\n }\n\n // Source code does not originate from a file and is not native, but we\n // can still get the source position inside the source string, e.g. in\n // an eval string.\n if (callSite.isEval()) {\n return `${callSite.getEvalOrigin()}, `\n }\n\n return \"\"\n}\n\n// Parses code generated by FormatEvalOrigin(), a function inside V8:\n// https://code.google.com/p/v8/source/browse/trunk/src/messages.js\nconst remapEvalOrigin = async (\n origin,\n { resolveFile, urlToSourcemapConsumer, onFailure },\n) => {\n // Most eval() calls are in this format\n const topLevelEvalMatch = /^eval at ([^(]+) \\((.+):(\\d+):(\\d+)\\)$/.exec(\n origin,\n )\n if (topLevelEvalMatch) {\n const source = topLevelEvalMatch[2]\n const line = Number(topLevelEvalMatch[3])\n const column = topLevelEvalMatch[4] - 1\n const originalPosition = await remapSourcePosition({\n source,\n line,\n column,\n resolveFile,\n urlToSourcemapConsumer,\n onFailure,\n })\n return `eval at ${topLevelEvalMatch[1]} (${originalPosition.source}:${\n originalPosition.line\n }:${originalPosition.column + 1})`\n }\n\n // Parse nested eval() calls using recursion\n const nestedEvalMatch = /^eval at ([^(]+) \\((.+)\\)$/.exec(origin)\n if (nestedEvalMatch) {\n const originalEvalOrigin = await remapEvalOrigin(nestedEvalMatch[2], {\n resolveFile,\n urlToSourcemapConsumer,\n onFailure,\n })\n return `eval at ${nestedEvalMatch[1]} (${originalEvalOrigin})`\n }\n\n // Make sure we still return useful information if we didn't find anything\n return origin\n}\n\nconst remapSourcePosition = async ({\n source,\n line,\n column,\n resolveFile,\n urlToSourcemapConsumer,\n readErrorStack,\n onFailure,\n}) => {\n const position = { source, line, column }\n\n const url = sourceToUrl(source, { resolveFile })\n if (!url) return position\n\n const sourceMapConsumer = await urlToSourcemapConsumer(url)\n\n if (!sourceMapConsumer) return position\n\n try {\n const originalPosition = sourceMapConsumer.originalPositionFor(position)\n\n // Only return the original position if a matching line was found. If no\n // matching line is found then we return position instead, which will cause\n // the stack trace to print the path and line for the compiled file. It is\n // better to give a precise location in the compiled file than a vague\n // location in the original file.\n const originalSource = originalPosition.source\n\n if (originalSource === null) return position\n originalPosition.source = resolveFile(originalSource, url, {\n type: \"file-original\",\n })\n\n return originalPosition\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while remapping position.`, {\n [\"error stack\"]: readErrorStack(e),\n [\"source\"]: source,\n [\"line\"]: line,\n [\"column\"]: column,\n }),\n )\n return position\n }\n}\n\nconst sourceToUrl = (source, { resolveFile }) => {\n if (startsWithScheme(source)) {\n return source\n }\n\n // linux filesystem path\n if (source[0] === \"/\") {\n return resolveFile(source)\n }\n\n // be careful, due to babel or something like that we might receive paths like\n // C:/directory/file.js (without backslashes we would expect on windows)\n // In that case we consider C: is the signe we are on windows\n // And I avoid to rely on process.platform === \"win32\" because this file might be executed in chrome\n if (startsWithWindowsDriveLetter(source)) {\n return windowsFilePathToUrl(source)\n }\n\n // I don't think we will ever encounter relative file in the stack trace\n // but if it ever happens we are safe :)\n if (source.slice(0, 2) === \"./\" || source.slice(0, 3) === \"../\") {\n return resolveFile(source)\n }\n\n // we have received a \"bare specifier\" for the source\n // it happens for internal/process/task_queues.js for instance\n // if we do return resolveFile(source) it will be converted to\n // file:///C:/project-directory/internal/process/task_queues.js in node\n // and\n // http://domain.com/internal/process/task_queues.js\n // but the file will certainly be a 404\n // and if not it won't be the right file anyway\n // for now we assume \"bare specifier\" in the stack trace\n // are internal files that are pointless to try to remap\n return null\n}\n\nconst startsWithScheme = (string) => {\n return /^[a-zA-Z]{2,}:/.test(string)\n}\n", - "import { createDetailedMessage } from \"@jsenv/logger\"\nimport { parseDataUrl, dataUrlToRawData } from \"../dataUrl.utils.js\"\nimport { getJavaScriptSourceMappingUrl } from \"../sourceMappingURLUtils.js\"\nimport { remapCallSite } from \"./remapCallSite.js\"\n\nexport const getOriginalCallsites = async ({\n stack,\n resolveFile,\n fetchFile,\n SourceMapConsumer,\n readErrorStack,\n onFailure,\n}) => {\n const urlToSourcemapConsumer = memoizeByFirstArgStringValue(\n async (stackTraceFileUrl) => {\n if (stackTraceFileUrl.startsWith(\"node:\")) {\n return null\n }\n\n try {\n let text\n try {\n const fileResponse = await fetchFile(stackTraceFileUrl)\n const { status } = fileResponse\n if (status !== 200) {\n if (status === 404) {\n onFailure(`stack trace file not found at ${stackTraceFileUrl}`)\n } else {\n onFailure(\n createDetailedMessage(\n `unexpected response fetching stack trace file.`,\n {\n [\"response status\"]: status,\n [\"response text\"]: fileResponse.body,\n [\"stack trace file\"]: stackTraceFileUrl,\n },\n ),\n )\n }\n return null\n }\n text = await fileResponse.text()\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while fetching stack trace file.`, {\n [\"fetch error stack\"]: readErrorStack(e),\n [\"stack trace file\"]: stackTraceFileUrl,\n }),\n )\n\n return null\n }\n\n const jsSourcemapUrl = getJavaScriptSourceMappingUrl(text)\n if (!jsSourcemapUrl) {\n return null\n }\n\n let sourcemapUrl\n let sourcemapString\n if (jsSourcemapUrl.startsWith(\"data:\")) {\n sourcemapUrl = stackTraceFileUrl\n sourcemapString = dataUrlToRawData(parseDataUrl(jsSourcemapUrl))\n } else {\n sourcemapUrl = resolveFile(jsSourcemapUrl, stackTraceFileUrl, {\n type: \"source-map\",\n })\n\n try {\n const sourcemapResponse = await fetchFile(sourcemapUrl)\n const { status } = sourcemapResponse\n if (status !== 200) {\n if (status === 404) {\n onFailure(`sourcemap file not found at ${sourcemapUrl}`)\n } else {\n onFailure(\n createDetailedMessage(\n `unexpected response for sourcemap file.`,\n {\n [\"response status\"]: status,\n [\"response text\"]: await sourcemapResponse.text(),\n [\"sourcemap url\"]: sourcemapUrl,\n },\n ),\n )\n }\n return null\n }\n sourcemapString = await sourcemapResponse.text()\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while fetching sourcemap.`, {\n [\"fetch error stack\"]: readErrorStack(e),\n [\"sourcemap url\"]: sourcemapUrl,\n }),\n )\n return null\n }\n }\n\n let sourceMap\n try {\n sourceMap = JSON.parse(sourcemapString)\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while parsing sourcemap.`, {\n [\"parse error stack\"]: readErrorStack(e),\n [\"sourcemap url\"]: sourcemapUrl,\n }),\n )\n return null\n }\n\n let { sourcesContent } = sourceMap\n\n if (!sourcesContent) {\n sourcesContent = []\n sourceMap.sourcesContent = sourcesContent\n }\n\n let firstSourceMapSourceFailure = null\n\n await Promise.all(\n sourceMap.sources.map(async (source, index) => {\n if (index in sourcesContent) return\n\n const sourcemapSourceUrl = resolveFile(source, sourcemapUrl, {\n type: \"source\",\n })\n try {\n const sourceResponse = await fetchFile(sourcemapSourceUrl)\n const { status } = sourceResponse\n if (status !== 200) {\n if (firstSourceMapSourceFailure) return\n\n if (status === 404) {\n firstSourceMapSourceFailure = createDetailedMessage(\n `sourcemap source not found.`,\n {\n [\"sourcemap source url\"]: sourcemapSourceUrl,\n [\"sourcemap url\"]: sourcemapUrl,\n },\n )\n return\n }\n firstSourceMapSourceFailure = createDetailedMessage(\n `unexpected response for sourcemap source.`,\n {\n [\"response status\"]: status,\n [\"response text\"]: await sourceResponse.text(),\n [\"sourcemap source url\"]: sourcemapSourceUrl,\n [\"sourcemap url\"]: sourcemapUrl,\n },\n )\n return\n }\n\n const sourceString = await sourceResponse.text()\n sourcesContent[index] = sourceString\n } catch (e) {\n if (firstSourceMapSourceFailure) return\n firstSourceMapSourceFailure = createDetailedMessage(\n `error while fetching sourcemap source.`,\n {\n [\"fetch error stack\"]: readErrorStack(e),\n [\"sourcemap source url\"]: sourcemapSourceUrl,\n [\"sourcemap url\"]: sourcemapUrl,\n },\n )\n }\n }),\n )\n\n if (firstSourceMapSourceFailure) {\n onFailure(firstSourceMapSourceFailure)\n return null\n }\n\n return new SourceMapConsumer(sourceMap)\n } catch (e) {\n onFailure(\n createDetailedMessage(\n `error while preparing a sourceMap consumer for a stack trace file.`,\n {\n [\"error stack\"]: readErrorStack(e),\n [\"stack trace file\"]: stackTraceFileUrl,\n },\n ),\n )\n return null\n }\n },\n )\n\n const originalCallsites = await Promise.all(\n stack.map((callSite) =>\n remapCallSite(callSite, {\n resolveFile,\n urlToSourcemapConsumer,\n readErrorStack,\n onFailure,\n }),\n ),\n )\n return originalCallsites\n}\n\nconst memoizeByFirstArgStringValue = (fn) => {\n const stringValueCache = {}\n return (firstArgValue) => {\n if (firstArgValue in stringValueCache)\n return stringValueCache[firstArgValue]\n const value = fn(firstArgValue)\n stringValueCache[firstArgValue] = value\n return value\n }\n}\n", - "import { createDetailedMessage } from \"@jsenv/logger\"\nimport { stackToString } from \"./stackToString.js\"\nimport { getOriginalCallsites } from \"./getOriginalCallsites.js\"\n\nexport const installErrorStackRemapping = ({\n fetchFile,\n resolveFile,\n SourceMapConsumer,\n indent = \" \",\n}) => {\n if (typeof fetchFile !== \"function\") {\n throw new TypeError(`fetchFile must be a function, got ${fetchFile}`)\n }\n if (typeof SourceMapConsumer !== \"function\") {\n throw new TypeError(\n `sourceMapConsumer must be a function, got ${SourceMapConsumer}`,\n )\n }\n if (typeof indent !== \"string\") {\n throw new TypeError(`indent must be a string, got ${indent}`)\n }\n\n const errorRemappingCache = new WeakMap()\n const errorRemapFailureCallbackMap = new WeakMap()\n\n let installed = false\n const previousPrepareStackTrace = Error.prepareStackTrace\n const install = () => {\n if (installed) return\n installed = true\n Error.prepareStackTrace = prepareStackTrace\n }\n\n const uninstall = () => {\n if (!installed) return\n installed = false\n Error.prepareStackTrace = previousPrepareStackTrace\n }\n\n // ensure we do not use prepareStackTrace for thoose error\n // otherwise we would recursively remap error stack\n // and if the reason causing the failure is still here\n // it would create an infinite loop\n const readErrorStack = (error) => {\n uninstall()\n const stack = error.stack\n install()\n return stack\n }\n\n const prepareStackTrace = (error, stack) => {\n const onFailure = (failureData) => {\n const failureCallbackArray = errorRemapFailureCallbackMap.get(error)\n if (failureCallbackArray) {\n failureCallbackArray.forEach((callback) => callback(failureData))\n }\n }\n\n const stackRemappingPromise = getOriginalCallsites({\n stack,\n error,\n resolveFile,\n fetchFile: memoizeFetch(fetchFile),\n SourceMapConsumer,\n readErrorStack,\n indent,\n onFailure,\n })\n errorRemappingCache.set(error, stackRemappingPromise)\n\n return stackToString(stack, { error, indent })\n }\n\n const getErrorOriginalStackString = async (\n error,\n {\n onFailure = (message) => {\n console.warn(message)\n },\n } = {},\n ) => {\n if (onFailure) {\n const remapFailureCallbackArray = errorRemapFailureCallbackMap.get(error)\n if (remapFailureCallbackArray) {\n errorRemapFailureCallbackMap.set(error, [\n ...remapFailureCallbackArray,\n onFailure,\n ])\n } else {\n errorRemapFailureCallbackMap.set(error, [onFailure])\n }\n }\n\n // ensure Error.prepareStackTrace gets triggered by reading error.stack now\n const { stack } = error\n const promise = errorRemappingCache.get(error)\n\n if (promise) {\n try {\n const originalCallsites = await promise\n errorRemapFailureCallbackMap.get(error)\n\n const firstCall = originalCallsites[0]\n if (firstCall) {\n Object.assign(error, {\n filename: firstCall.getFileName(),\n lineno: firstCall.getLineNumber(),\n columnno: firstCall.getColumnNumber(),\n })\n }\n return stackToString(originalCallsites, { error, indent })\n } catch (e) {\n onFailure(\n createDetailedMessage(`error while computing original stack.`, {\n [\"stack from error while computing\"]: readErrorStack(e),\n [\"stack from error to remap\"]: stack,\n }),\n )\n return stack\n }\n }\n\n return stack\n }\n\n install()\n\n return { getErrorOriginalStackString, uninstall }\n}\n\nconst memoizeFetch = (fetchUrl) => {\n const urlCache = {}\n return async (url) => {\n if (url in urlCache) {\n return urlCache[url]\n }\n const responsePromise = fetchUrl(url)\n urlCache[url] = responsePromise\n return responsePromise\n }\n}\n", - "/* eslint-env browser */\n\nimport { installErrorStackRemapping } from \"./installErrorStackRemapping.js\"\n\nexport const installBrowserErrorStackRemapping = (options = {}) =>\n installErrorStackRemapping({\n fetchFile: async (url) => {\n // browser having Error.captureStackTrace got window.fetch\n // and this executes only when Error.captureStackTrace exists\n // so no need for polyfill or whatever here\n const response = await window.fetch(url, {\n // by default a script tag is in \"no-cors\"\n // so we also fetch url with \"no-cors\"\n mode: \"no-cors\",\n })\n // we read response test before anything because once memoized fetch\n // gets annoying preventing you to read\n // body multiple times, even using response.clone()\n const text = await response.text()\n return {\n status: response.status,\n url: response.url,\n statusText: response.statusText,\n headers: responseToHeaders(response),\n text: () => text,\n json: response.json.bind(response),\n blob: response.blob.bind(response),\n arrayBuffer: response.arrayBuffer.bind(response),\n }\n },\n resolveFile: (specifier, importer = window.location.href) => {\n // browsers having Error.captureStrackTrace got window.URL\n // and this executes only when Error.captureStackTrace exists\n return String(new URL(specifier, importer))\n },\n ...options,\n })\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n", - "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n", - "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n", - "/* eslint-env browser */\n\nexport const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", - "import { fetchUsingXHR } from \"./fetchUsingXHR.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", - "/* eslint-env browser */\n\nimport { createDetailedMessage } from \"@jsenv/logger\"\n\nimport { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchAndEvalUsingFetch = async (url) => {\n const response = await fetchUrl(url)\n\n if (response.status >= 200 && response.status <= 299) {\n const text = await response.text()\n // eslint-disable-next-line no-eval\n window.eval(appendSourceURL(text, url))\n } else {\n const text = await response.text()\n throw new Error(\n createDetailedMessage(`Unexpected response for script.`, {\n [\"script url\"]: url,\n [\"response body\"]: text,\n [\"response status\"]: response.status,\n }),\n )\n }\n}\n\nconst appendSourceURL = (code, sourceURL) => {\n return `${code}\n${\"//#\"} sourceURL=${sourceURL}`\n}\n", - "// https://developer.mozilla.org/en-US/docs/Glossary/Primitive\n\nexport const isComposite = (value) => {\n if (value === null) {\n return false\n }\n\n const type = typeof value\n if (type === \"object\") {\n return true\n }\n\n if (type === \"function\") {\n return true\n }\n\n return false\n}\n", - "import { isComposite } from \"./isComposite.js\"\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\nconst compositeWellKnownMap = new WeakMap()\nconst primitiveWellKnownMap = new Map()\n\nexport const getCompositeGlobalPath = (value) => compositeWellKnownMap.get(value)\n\nexport const getPrimitiveGlobalPath = (value) => primitiveWellKnownMap.get(value)\n\nconst visitGlobalObject = (value) => {\n const visitValue = (value, path) => {\n if (isComposite(value)) {\n // prevent infinite recursion\n if (compositeWellKnownMap.has(value)) {\n return\n }\n compositeWellKnownMap.set(value, path)\n\n const visitProperty = (property) => {\n let descriptor\n try {\n descriptor = Object.getOwnPropertyDescriptor(value, property)\n } catch (e) {\n if (e.name === \"SecurityError\") {\n return\n }\n throw e\n }\n\n if (!descriptor) {\n // it's apparently possible to have getOwnPropertyNames returning\n // a property that later returns a null descriptor\n // for instance window.showModalDialog in webkit 13.0\n return\n }\n\n // do not trigger getter/setter\n if (\"value\" in descriptor) {\n const propertyValue = descriptor.value\n visitValue(propertyValue, [...path, property])\n }\n }\n\n Object.getOwnPropertyNames(value).forEach((name) => visitProperty(name))\n Object.getOwnPropertySymbols(value).forEach((symbol) => visitProperty(symbol))\n }\n\n primitiveWellKnownMap.set(value, path)\n return\n }\n\n visitValue(value, [])\n}\n\nif (typeof window === \"object\") visitGlobalObject(window)\n\nif (typeof global === \"object\") visitGlobalObject(global)\n", - "/**\n * transforms a javascript value into an object describing it.\n *\n */\n\nimport { isComposite } from \"./isComposite.js\"\nimport { getCompositeGlobalPath, getPrimitiveGlobalPath } from \"./global-value-path.js\"\n\nexport const decompose = (mainValue, { functionAllowed, prototypeStrict, ignoreSymbols }) => {\n const valueMap = {}\n const recipeArray = []\n\n const valueToIdentifier = (value, path = []) => {\n if (!isComposite(value)) {\n const existingIdentifier = identifierForPrimitive(value)\n if (existingIdentifier !== undefined) {\n return existingIdentifier\n }\n const identifier = identifierForNewValue(value)\n recipeArray[identifier] = primitiveToRecipe(value)\n return identifier\n }\n\n if (typeof Promise === \"function\" && value instanceof Promise) {\n throw new Error(createPromiseAreNotSupportedMessage({ path }))\n }\n if (typeof WeakSet === \"function\" && value instanceof WeakSet) {\n throw new Error(createWeakSetAreNotSupportedMessage({ path }))\n }\n if (typeof WeakMap === \"function\" && value instanceof WeakMap) {\n throw new Error(createWeakMapAreNotSupportedMessage({ path }))\n }\n if (typeof value === \"function\" && !functionAllowed) {\n throw new Error(createForbiddenFunctionMessage({ path }))\n }\n\n const existingIdentifier = identifierForComposite(value)\n if (existingIdentifier !== undefined) {\n return existingIdentifier\n }\n const identifier = identifierForNewValue(value)\n\n const compositeGlobalPath = getCompositeGlobalPath(value)\n if (compositeGlobalPath) {\n recipeArray[identifier] = createGlobalReferenceRecipe(compositeGlobalPath)\n return identifier\n }\n\n const propertyDescriptionArray = []\n Object.getOwnPropertyNames(value).forEach((propertyName) => {\n const propertyDescriptor = Object.getOwnPropertyDescriptor(value, propertyName)\n const propertyNameIdentifier = valueToIdentifier(propertyName, [...path, propertyName])\n const propertyDescription = computePropertyDescription(propertyDescriptor, propertyName, path)\n propertyDescriptionArray.push({ propertyNameIdentifier, propertyDescription })\n })\n\n const symbolDescriptionArray = []\n if (!ignoreSymbols) {\n Object.getOwnPropertySymbols(value).forEach((symbol) => {\n const propertyDescriptor = Object.getOwnPropertyDescriptor(value, symbol)\n const symbolIdentifier = valueToIdentifier(symbol, [...path, `[${symbol.toString()}]`])\n const propertyDescription = computePropertyDescription(propertyDescriptor, symbol, path)\n symbolDescriptionArray.push({ symbolIdentifier, propertyDescription })\n })\n }\n\n const methodDescriptionArray = computeMethodDescriptionArray(value, path)\n\n const extensible = Object.isExtensible(value)\n\n recipeArray[identifier] = createCompositeRecipe({\n propertyDescriptionArray,\n symbolDescriptionArray,\n methodDescriptionArray,\n extensible,\n })\n return identifier\n }\n\n const computePropertyDescription = (propertyDescriptor, propertyNameOrSymbol, path) => {\n if (propertyDescriptor.set && !functionAllowed) {\n throw new Error(createForbiddenPropertySetterMessage({ path, propertyNameOrSymbol }))\n }\n if (propertyDescriptor.get && !functionAllowed) {\n throw new Error(createForbiddenPropertyGetterMessage({ path, propertyNameOrSymbol }))\n }\n\n return {\n configurable: propertyDescriptor.configurable,\n writable: propertyDescriptor.writable,\n enumerable: propertyDescriptor.enumerable,\n getIdentifier:\n \"get\" in propertyDescriptor\n ? valueToIdentifier(propertyDescriptor.get, [\n ...path,\n String(propertyNameOrSymbol),\n \"[[descriptor:get]]\",\n ])\n : undefined,\n setIdentifier:\n \"set\" in propertyDescriptor\n ? valueToIdentifier(propertyDescriptor.set, [\n ...path,\n String(propertyNameOrSymbol),\n \"[[descriptor:set]]\",\n ])\n : undefined,\n valueIdentifier:\n \"value\" in propertyDescriptor\n ? valueToIdentifier(propertyDescriptor.value, [\n ...path,\n String(propertyNameOrSymbol),\n \"[[descriptor:value]]\",\n ])\n : undefined,\n }\n }\n\n const computeMethodDescriptionArray = (value, path) => {\n const methodDescriptionArray = []\n\n if (typeof Set === \"function\" && value instanceof Set) {\n const callArray = []\n value.forEach((entryValue, index) => {\n const entryValueIdentifier = valueToIdentifier(entryValue, [\n ...path,\n `[[SetEntryValue]]`,\n index,\n ])\n callArray.push([entryValueIdentifier])\n })\n methodDescriptionArray.push({ methodNameIdentifier: valueToIdentifier(\"add\"), callArray })\n }\n\n if (typeof Map === \"function\" && value instanceof Map) {\n const callArray = []\n value.forEach((entryValue, entryKey) => {\n const entryKeyIdentifier = valueToIdentifier(entryKey, [\n ...path,\n \"[[MapEntryKey]]\",\n entryKey,\n ])\n const entryValueIdentifier = valueToIdentifier(entryValue, [\n ...path,\n \"[[MapEntryValue]]\",\n entryValue,\n ])\n callArray.push([entryKeyIdentifier, entryValueIdentifier])\n })\n methodDescriptionArray.push({ methodNameIdentifier: valueToIdentifier(\"set\"), callArray })\n }\n\n return methodDescriptionArray\n }\n\n const identifierForPrimitive = (value) => {\n return Object.keys(valueMap).find((existingIdentifier) => {\n const existingValue = valueMap[existingIdentifier]\n if (Object.is(value, existingValue)) return true\n return value === existingValue\n })\n }\n\n const identifierForComposite = (value) => {\n return Object.keys(valueMap).find((existingIdentifier) => {\n const existingValue = valueMap[existingIdentifier]\n return value === existingValue\n })\n }\n\n const identifierForNewValue = (value) => {\n const identifier = nextIdentifier()\n valueMap[identifier] = value\n return identifier\n }\n\n let currentIdentifier = -1\n const nextIdentifier = () => {\n const identifier = String(parseInt(currentIdentifier) + 1)\n currentIdentifier = identifier\n return identifier\n }\n\n const mainIdentifier = valueToIdentifier(mainValue)\n\n // prototype, important to keep after the whole structure was visited\n // so that we discover if any prototype is part of the value\n const prototypeValueToIdentifier = (prototypeValue) => {\n // prototype is null\n if (prototypeValue === null) {\n return valueToIdentifier(prototypeValue)\n }\n\n // prototype found somewhere already\n const prototypeExistingIdentifier = identifierForComposite(prototypeValue)\n if (prototypeExistingIdentifier !== undefined) {\n return prototypeExistingIdentifier\n }\n\n // mark prototype as visited\n const prototypeIdentifier = identifierForNewValue(prototypeValue)\n\n // prototype is a global reference ?\n const prototypeGlobalPath = getCompositeGlobalPath(prototypeValue)\n if (prototypeGlobalPath) {\n recipeArray[prototypeIdentifier] = createGlobalReferenceRecipe(prototypeGlobalPath)\n return prototypeIdentifier\n }\n\n // otherwise prototype is unknown\n if (prototypeStrict) {\n throw new Error(createUnknownPrototypeMessage({ prototypeValue }))\n }\n\n return prototypeValueToIdentifier(Object.getPrototypeOf(prototypeValue), true)\n }\n const identifierForValueOf = (value, path = []) => {\n if (value instanceof Array) {\n return valueToIdentifier(value.length, [...path, \"length\"])\n }\n\n if (\"valueOf\" in value === false) {\n return undefined\n }\n\n if (typeof value.valueOf !== \"function\") {\n return undefined\n }\n\n const valueOfReturnValue = value.valueOf()\n if (!isComposite(valueOfReturnValue)) {\n return valueToIdentifier(valueOfReturnValue, [...path, \"valueOf()\"])\n }\n\n if (valueOfReturnValue === value) {\n return undefined\n }\n\n throw new Error(createUnexpectedValueOfReturnValueMessage())\n }\n\n recipeArray.slice().forEach((recipe, index) => {\n if (recipe.type === \"composite\") {\n const value = valueMap[index]\n\n if (typeof value === \"function\") {\n const valueOfIdentifier = nextIdentifier()\n recipeArray[valueOfIdentifier] = {\n type: \"primitive\",\n value,\n }\n recipe.valueOfIdentifier = valueOfIdentifier\n return\n }\n\n if (value instanceof RegExp) {\n const valueOfIdentifier = nextIdentifier()\n recipeArray[valueOfIdentifier] = {\n type: \"primitive\",\n value,\n }\n recipe.valueOfIdentifier = valueOfIdentifier\n return\n }\n\n // valueOf, mandatory to uneval new Date(10) for instance.\n recipe.valueOfIdentifier = identifierForValueOf(value)\n const prototypeValue = Object.getPrototypeOf(value)\n recipe.prototypeIdentifier = prototypeValueToIdentifier(prototypeValue, true)\n }\n })\n\n return {\n recipeArray,\n mainIdentifier,\n valueMap,\n }\n}\n\nconst primitiveToRecipe = (value) => {\n if (typeof value === \"symbol\") {\n return symbolToRecipe(value)\n }\n\n return createPimitiveRecipe(value)\n}\n\nconst symbolToRecipe = (symbol) => {\n const globalSymbolKey = Symbol.keyFor(symbol)\n if (globalSymbolKey !== undefined) {\n return createGlobalSymbolRecipe(globalSymbolKey)\n }\n\n const symbolGlobalPath = getPrimitiveGlobalPath(symbol)\n if (!symbolGlobalPath) {\n throw new Error(createUnknownSymbolMessage({ symbol }))\n }\n\n return createGlobalReferenceRecipe(symbolGlobalPath)\n}\n\nconst createPimitiveRecipe = (value) => {\n return {\n type: \"primitive\",\n value,\n }\n}\n\nconst createGlobalReferenceRecipe = (path) => {\n const recipe = {\n type: \"global-reference\",\n path,\n }\n return recipe\n}\n\nconst createGlobalSymbolRecipe = (key) => {\n return {\n type: \"global-symbol\",\n key,\n }\n}\n\nconst createCompositeRecipe = ({\n prototypeIdentifier,\n valueOfIdentifier,\n propertyDescriptionArray,\n symbolDescriptionArray,\n methodDescriptionArray,\n extensible,\n}) => {\n return {\n type: \"composite\",\n prototypeIdentifier,\n valueOfIdentifier,\n propertyDescriptionArray,\n symbolDescriptionArray,\n methodDescriptionArray,\n extensible,\n }\n}\n\nconst createPromiseAreNotSupportedMessage = ({ path }) => {\n if (path.length === 0) {\n return `promise are not supported.`\n }\n\n return `promise are not supported.\npromise found at: ${path.join(\"\")}`\n}\n\nconst createWeakSetAreNotSupportedMessage = ({ path }) => {\n if (path.length === 0) {\n return `weakSet are not supported.`\n }\n\n return `weakSet are not supported.\nweakSet found at: ${path.join(\"\")}`\n}\n\nconst createWeakMapAreNotSupportedMessage = ({ path }) => {\n if (path.length === 0) {\n return `weakMap are not supported.`\n }\n\n return `weakMap are not supported.\nweakMap found at: ${path.join(\"\")}`\n}\n\nconst createForbiddenFunctionMessage = ({ path }) => {\n if (path.length === 0) {\n return `function are not allowed.`\n }\n\n return `function are not allowed.\nfunction found at: ${path.join(\"\")}`\n}\n\nconst createForbiddenPropertyGetterMessage = ({\n path,\n propertyNameOrSymbol,\n}) => `property getter are not allowed.\ngetter found on property: ${String(propertyNameOrSymbol)}\nat: ${path.join(\"\")}`\n\nconst createForbiddenPropertySetterMessage = ({\n path,\n propertyNameOrSymbol,\n}) => `property setter are not allowed.\nsetter found on property: ${String(propertyNameOrSymbol)}\nat: ${path.join(\"\")}`\n\nconst createUnexpectedValueOfReturnValueMessage = () =>\n `valueOf() must return a primitive of the object itself.`\n\nconst createUnknownSymbolMessage = ({\n symbol,\n}) => `symbol must be global, like Symbol.iterator, or created using Symbol.for().\nsymbol: ${symbol.toString()}`\n\nconst createUnknownPrototypeMessage = ({ prototypeValue }) =>\n `prototype must be global, like Object.prototype, or somewhere in the value.\nprototype constructor name: ${prototypeValue.constructor.name}`\n", - "// be carefull because this function is mutating recipe objects inside the recipeArray.\n// this is not an issue because each recipe object is not accessible from the outside\n// when used internally by uneval\nexport const sortRecipe = (recipeArray) => {\n const findInRecipePrototypeChain = (recipe, callback) => {\n let currentRecipe = recipe\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (currentRecipe.type !== \"composite\") {\n break\n }\n\n const prototypeIdentifier = currentRecipe.prototypeIdentifier\n if (prototypeIdentifier === undefined) {\n break\n }\n\n currentRecipe = recipeArray[prototypeIdentifier]\n\n if (callback(currentRecipe, prototypeIdentifier)) {\n return prototypeIdentifier\n }\n }\n return undefined\n }\n\n const recipeArrayOrdered = recipeArray.slice()\n recipeArrayOrdered.sort((leftRecipe, rightRecipe) => {\n const leftType = leftRecipe.type\n const rightType = rightRecipe.type\n\n if (leftType === \"composite\" && rightType === \"composite\") {\n const rightRecipeIsInLeftRecipePrototypeChain = findInRecipePrototypeChain(\n leftRecipe,\n (recipeCandidate) => recipeCandidate === rightRecipe,\n )\n // if left recipe requires right recipe, left must be after right\n if (rightRecipeIsInLeftRecipePrototypeChain) {\n return 1\n }\n\n const leftRecipeIsInRightRecipePrototypeChain = findInRecipePrototypeChain(\n rightRecipe,\n (recipeCandidate) => recipeCandidate === leftRecipe,\n )\n // if right recipe requires left recipe, right must be after left\n if (leftRecipeIsInRightRecipePrototypeChain) {\n return -1\n }\n }\n\n if (leftType !== rightType) {\n // if left is a composite, left must be after right\n if (leftType === \"composite\") {\n return 1\n }\n\n // if right is a composite, right must be after left\n if (rightType === \"composite\") {\n return -1\n }\n }\n\n const leftIndex = recipeArray.indexOf(leftRecipe)\n const rightIndex = recipeArray.indexOf(rightRecipe)\n // left was before right, don't change that\n if (leftIndex < rightIndex) {\n return -1\n }\n\n // right was after left, don't change that\n return 1\n })\n\n return recipeArrayOrdered\n}\n", - "// https://github.com/joliss/js-string-escape/blob/master/index.js\n// http://javascript.crockford.com/remedial.html\nexport const escapeString = (value) => {\n const string = String(value)\n let i = 0\n const j = string.length\n var escapedString = \"\"\n while (i < j) {\n const char = string[i]\n let escapedChar\n if (char === '\"' || char === \"'\" || char === \"\\\\\") {\n escapedChar = `\\\\${char}`\n } else if (char === \"\\n\") {\n escapedChar = \"\\\\n\"\n } else if (char === \"\\r\") {\n escapedChar = \"\\\\r\"\n } else if (char === \"\\u2028\") {\n escapedChar = \"\\\\u2028\"\n } else if (char === \"\\u2029\") {\n escapedChar = \"\\\\u2029\"\n } else {\n escapedChar = char\n }\n escapedString += escapedChar\n i++\n }\n return escapedString\n}\n", - "import { decompose } from \"./internal/decompose.js\"\nimport { sortRecipe } from \"./internal/sortRecipe.js\"\nimport { escapeString } from \"./internal/escapeString.js\"\n\nexport const uneval = (\n value,\n { functionAllowed = false, prototypeStrict = false, ignoreSymbols = false } = {},\n) => {\n const { recipeArray, mainIdentifier, valueMap } = decompose(value, {\n functionAllowed,\n prototypeStrict,\n ignoreSymbols,\n })\n const recipeArraySorted = sortRecipe(recipeArray)\n\n let source = `(function () {\nvar globalObject\ntry {\n globalObject = Function('return this')() || (42, eval)('this');\n} catch(e) {\n globalObject = window;\n}\n\nfunction safeDefineProperty(object, propertyNameOrSymbol, descriptor) {\n var currentDescriptor = Object.getOwnPropertyDescriptor(object, propertyNameOrSymbol);\n if (currentDescriptor && !currentDescriptor.configurable) return\n Object.defineProperty(object, propertyNameOrSymbol, descriptor)\n};\n`\n\n const variableNameMap = {}\n recipeArray.forEach((recipe, index) => {\n const indexSorted = recipeArraySorted.indexOf(recipe)\n variableNameMap[index] = `_${indexSorted}`\n })\n\n const identifierToVariableName = (identifier) => variableNameMap[identifier]\n\n const recipeToSetupSource = (recipe) => {\n if (recipe.type === \"primitive\") return primitiveRecipeToSetupSource(recipe)\n if (recipe.type === \"global-symbol\") return globalSymbolRecipeToSetupSource(recipe)\n if (recipe.type === \"global-reference\") return globalReferenceRecipeToSetupSource(recipe)\n return compositeRecipeToSetupSource(recipe)\n }\n\n const primitiveRecipeToSetupSource = ({ value }) => {\n const type = typeof value\n\n if (type === \"string\") {\n return `\"${escapeString(value)}\";`\n }\n\n if (type === \"bigint\") {\n return `${value.toString()}n`\n }\n\n if (Object.is(value, -0)) {\n return \"-0;\"\n }\n\n return `${String(value)};`\n }\n\n const globalSymbolRecipeToSetupSource = (recipe) => {\n return `Symbol.for(\"${escapeString(recipe.key)}\");`\n }\n\n const globalReferenceRecipeToSetupSource = (recipe) => {\n const pathSource = recipe.path.map((part) => `[\"${escapeString(part)}\"]`).join(\"\")\n return `globalObject${pathSource};`\n }\n\n const compositeRecipeToSetupSource = ({ prototypeIdentifier, valueOfIdentifier }) => {\n if (prototypeIdentifier === undefined) {\n return identifierToVariableName(valueOfIdentifier)\n }\n\n const prototypeValue = valueMap[prototypeIdentifier]\n if (prototypeValue === null) {\n return `Object.create(null);`\n }\n\n const prototypeConstructor = prototypeValue.constructor\n if (prototypeConstructor === Object) {\n return `Object.create(${identifierToVariableName(prototypeIdentifier)});`\n }\n\n if (valueOfIdentifier === undefined) {\n return `new ${prototypeConstructor.name}();`\n }\n\n if (prototypeConstructor.name === \"BigInt\") {\n return `Object(${identifierToVariableName(valueOfIdentifier)})`\n }\n\n return `new ${prototypeConstructor.name}(${identifierToVariableName(valueOfIdentifier)});`\n }\n\n recipeArraySorted.forEach((recipe) => {\n const recipeVariableName = identifierToVariableName(recipeArray.indexOf(recipe))\n source += `var ${recipeVariableName} = ${recipeToSetupSource(recipe, recipeVariableName)}\n`\n })\n\n const recipeToMutateSource = (recipe, recipeVariableName) => {\n if (recipe.type === \"composite\") {\n return compositeRecipeToMutateSource(recipe, recipeVariableName)\n }\n return ``\n }\n\n const compositeRecipeToMutateSource = (\n { propertyDescriptionArray, symbolDescriptionArray, methodDescriptionArray, extensible },\n recipeVariableName,\n ) => {\n let mutateSource = ``\n\n propertyDescriptionArray.forEach(({ propertyNameIdentifier, propertyDescription }) => {\n mutateSource += generateDefinePropertySource(\n recipeVariableName,\n propertyNameIdentifier,\n propertyDescription,\n )\n })\n\n symbolDescriptionArray.forEach(({ symbolIdentifier, propertyDescription }) => {\n mutateSource += generateDefinePropertySource(\n recipeVariableName,\n symbolIdentifier,\n propertyDescription,\n )\n })\n\n methodDescriptionArray.forEach(({ methodNameIdentifier, callArray }) => {\n mutateSource += generateMethodCallSource(recipeVariableName, methodNameIdentifier, callArray)\n })\n\n if (!extensible) {\n mutateSource += generatePreventExtensionSource(recipeVariableName)\n }\n\n return mutateSource\n }\n\n const generateDefinePropertySource = (\n recipeVariableName,\n propertyNameOrSymbolIdentifier,\n propertyDescription,\n ) => {\n const propertyOrSymbolVariableName = identifierToVariableName(propertyNameOrSymbolIdentifier)\n\n const propertyDescriptorSource = generatePropertyDescriptorSource(propertyDescription)\n return `safeDefineProperty(${recipeVariableName}, ${propertyOrSymbolVariableName}, ${propertyDescriptorSource});`\n }\n\n const generatePropertyDescriptorSource = ({\n configurable,\n writable,\n enumerable,\n getIdentifier,\n setIdentifier,\n valueIdentifier,\n }) => {\n if (valueIdentifier === undefined) {\n return `{\n configurable: ${configurable},\n enumerable: ${enumerable},\n get: ${getIdentifier === undefined ? undefined : identifierToVariableName(getIdentifier)},\n set: ${setIdentifier === undefined ? undefined : identifierToVariableName(setIdentifier)},\n}`\n }\n\n return `{\n configurable: ${configurable},\n writable: ${writable},\n enumerable: ${enumerable},\n value: ${valueIdentifier === undefined ? undefined : identifierToVariableName(valueIdentifier)}\n}`\n }\n\n const generateMethodCallSource = (recipeVariableName, methodNameIdentifier, callArray) => {\n let methodCallSource = ``\n\n const methodVariableName = identifierToVariableName(methodNameIdentifier)\n callArray.forEach((argumentIdentifiers) => {\n const argumentVariableNames = argumentIdentifiers.map((argumentIdentifier) =>\n identifierToVariableName(argumentIdentifier),\n )\n\n methodCallSource += `${recipeVariableName}[${methodVariableName}](${argumentVariableNames.join(\n \",\",\n )});`\n })\n\n return methodCallSource\n }\n\n const generatePreventExtensionSource = (recipeVariableName) => {\n return `Object.preventExtensions(${recipeVariableName});`\n }\n\n recipeArraySorted.forEach((recipe) => {\n const recipeVariableName = identifierToVariableName(recipeArray.indexOf(recipe))\n source += `${recipeToMutateSource(recipe, recipeVariableName)}`\n })\n\n source += `return ${identifierToVariableName(mainIdentifier)}; })()`\n\n return source\n}\n", - "import { uneval } from \"@jsenv/uneval\"\n\nexport const unevalException = (value) => {\n if (value && value.hasOwnProperty(\"toString\")) {\n delete value.toString\n }\n return uneval(value, { ignoreSymbols: true })\n}\n", - "export const memoize = (compute) => {\n let memoized = false\n let memoizedValue\n\n const fnWithMemoization = (...args) => {\n if (memoized) {\n return memoizedValue\n }\n // if compute is recursive wait for it to be fully done before storing the lockValue\n // so set locked later\n memoizedValue = compute(...args)\n memoized = true\n return memoizedValue\n }\n\n fnWithMemoization.forget = () => {\n const value = memoizedValue\n memoized = false\n memoizedValue = undefined\n return value\n }\n\n return fnWithMemoization\n}\n", - "/* eslint-env browser */\n\nexport const displayErrorInDocument = (error) => {\n const title = \"An error occured\"\n let theme\n let message\n\n if (error && error.parsingError) {\n theme = \"light\"\n const { parsingError } = error\n message = errorToHTML(\n parsingError.messageHTML || escapeHtml(parsingError.message),\n )\n } else {\n theme = \"dark\"\n message = errorToHTML(error)\n }\n\n const css = `\n .jsenv-console {\n background: rgba(0, 0, 0, 0.95);\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n z-index: 1000;\n box-sizing: border-box;\n padding: 1em;\n }\n\n .jsenv-console h1 {\n color: red;\n display: flex;\n align-items: center;\n }\n\n #button-close-jsenv-console {\n margin-left: 10px;\n }\n\n .jsenv-console pre {\n overflow: auto;\n max-width: 70em;\n /* avoid scrollbar to hide the text behind it */\n padding: 20px;\n }\n\n .jsenv-console pre[data-theme=\"dark\"] {\n background: #111;\n border: 1px solid #333;\n color: #eee;\n }\n\n .jsenv-console pre[data-theme=\"light\"] {\n background: #1E1E1E;\n border: 1px solid white;\n color: #EEEEEE;\n }\n\n .jsenv-console pre a {\n color: inherit;\n }\n `\n const html = `\n \n
\n

${title}

\n
${message}
\n
\n `\n const removeJsenvConsole = appendHMTLInside(html, document.body)\n\n document.querySelector(\"#button-close-jsenv-console\").onclick = () => {\n removeJsenvConsole()\n }\n}\n\nconst escapeHtml = (string) => {\n return string\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\")\n}\n\nconst errorToHTML = (error) => {\n let html\n\n if (error && error instanceof Error) {\n // stackTrace formatted by V8\n if (Error.captureStackTrace) {\n html = escapeHtml(error.stack)\n } else {\n // other stack trace such as firefox do not contain error.message\n html = escapeHtml(`${error.message}\n ${error.stack}`)\n }\n } else if (typeof error === \"string\") {\n html = error\n } else if (error === undefined) {\n html = \"undefined\"\n } else {\n html = JSON.stringify(error)\n }\n\n const htmlWithCorrectLineBreaks = html.replace(/\\n/g, \"\\n\")\n const htmlWithLinks = stringToStringWithLink(htmlWithCorrectLineBreaks, {\n transform: (url) => {\n return { href: url, text: url }\n },\n })\n return htmlWithLinks\n}\n\n// `Error: yo\n// at Object.execute (http://127.0.0.1:57300/build/src/__test__/file-throw.js:9:13)\n// at doExec (http://127.0.0.1:3000/src/__test__/file-throw.js:452:38)\n// at postOrderExec (http://127.0.0.1:3000/src/__test__/file-throw.js:448:16)\n// at http://127.0.0.1:3000/src/__test__/file-throw.js:399:18`.replace(/(?:https?|ftp|file):\\/\\/(.*+)$/gm, (...args) => {\n// debugger\n// })\nconst stringToStringWithLink = (\n source,\n {\n transform = (url) => {\n return {\n href: url,\n text: url,\n }\n },\n } = {},\n) => {\n return source.replace(/(?:https?|ftp|file):\\/\\/\\S+/gm, (match) => {\n let linkHTML = \"\"\n\n const lastChar = match[match.length - 1]\n\n // hotfix because our url regex sucks a bit\n const endsWithSeparationChar = lastChar === \")\" || lastChar === \":\"\n if (endsWithSeparationChar) {\n match = match.slice(0, -1)\n }\n\n const lineAndColumnPattern = /:([0-9]+):([0-9]+)$/\n const lineAndColumMatch = match.match(lineAndColumnPattern)\n if (lineAndColumMatch) {\n const lineAndColumnString = lineAndColumMatch[0]\n const lineNumber = lineAndColumMatch[1]\n const columnNumber = lineAndColumMatch[2]\n const url = match.slice(0, -lineAndColumnString.length)\n const { href, text } = transform(url)\n linkHTML = link({ href, text: `${text}:${lineNumber}:${columnNumber}` })\n } else {\n const linePattern = /:([0-9]+)$/\n const lineMatch = match.match(linePattern)\n if (lineMatch) {\n const lineString = lineMatch[0]\n const lineNumber = lineMatch[1]\n const url = match.slice(0, -lineString.length)\n const { href, text } = transform(url)\n linkHTML = link({\n href,\n text: `${text}:${lineNumber}`,\n })\n } else {\n const url = match\n const { href, text } = transform(url)\n linkHTML = link({ href, text })\n }\n }\n\n if (endsWithSeparationChar) {\n return `${linkHTML}${lastChar}`\n }\n return linkHTML\n })\n}\n\nconst link = ({ href, text = href }) => `${text}`\n\nconst appendHMTLInside = (html, parentNode) => {\n const temoraryParent = document.createElement(\"div\")\n temoraryParent.innerHTML = html\n return transferChildren(temoraryParent, parentNode)\n}\n\nconst transferChildren = (fromNode, toNode) => {\n const childNodes = [].slice.call(fromNode.childNodes, 0)\n let i = 0\n while (i < childNodes.length) {\n toNode.appendChild(childNodes[i])\n i++\n }\n return () => {\n let c = 0\n while (c < childNodes.length) {\n fromNode.appendChild(childNodes[c])\n c++\n }\n }\n}\n", - "/* eslint-env browser */\nconst { Notification } = window\n\nconst displayErrorNotificationNotAvailable = () => {}\n\nconst displayErrorNotificationImplementation = (error, { icon } = {}) => {\n if (Notification.permission === \"granted\") {\n const notification = new Notification(\"An error occured\", {\n lang: \"en\",\n body: error ? error.stack : \"undefined\",\n icon,\n })\n notification.onclick = () => {\n window.focus()\n }\n }\n}\n\nexport const displayErrorNotification =\n typeof Notification === \"function\"\n ? displayErrorNotificationImplementation\n : displayErrorNotificationNotAvailable\n", - "export const assertImportMap = (value) => {\n if (value === null) {\n throw new TypeError(`an importMap must be an object, got null`)\n }\n\n const type = typeof value\n if (type !== \"object\") {\n throw new TypeError(`an importMap must be an object, received ${value}`)\n }\n\n if (Array.isArray(value)) {\n throw new TypeError(\n `an importMap must be an object, received array ${value}`,\n )\n }\n}\n", - "export const hasScheme = (string) => {\n return /^[a-zA-Z]{2,}:/.test(string)\n}\n", - "export const urlToScheme = (urlString) => {\n const colonIndex = urlString.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return urlString.slice(0, colonIndex)\n}\n", - "import { urlToScheme } from \"./urlToScheme.js\"\n\nexport const urlToPathname = (urlString) => {\n return ressourceToPathname(urlToRessource(urlString))\n}\n\nconst urlToRessource = (urlString) => {\n const scheme = urlToScheme(urlString)\n\n if (scheme === \"file\") {\n return urlString.slice(\"file://\".length)\n }\n\n if (scheme === \"https\" || scheme === \"http\") {\n // remove origin\n const afterProtocol = urlString.slice(scheme.length + \"://\".length)\n const pathnameSlashIndex = afterProtocol.indexOf(\"/\", \"://\".length)\n return afterProtocol.slice(pathnameSlashIndex)\n }\n\n return urlString.slice(scheme.length + 1)\n}\n\nconst ressourceToPathname = (ressource) => {\n const searchSeparatorIndex = ressource.indexOf(\"?\")\n return searchSeparatorIndex === -1\n ? ressource\n : ressource.slice(0, searchSeparatorIndex)\n}\n", - "import { urlToScheme } from \"./urlToScheme.js\"\n\nexport const urlToOrigin = (urlString) => {\n const scheme = urlToScheme(urlString)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = urlString.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return urlString\n return urlString.slice(0, pathnameSlashIndex)\n }\n\n return urlString.slice(0, scheme.length + 1)\n}\n", - "export const pathnameToParentPathname = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex === -1) {\n return \"/\"\n }\n\n return pathname.slice(0, slashLastIndex + 1)\n}\n", - "// could be useful: https://url.spec.whatwg.org/#url-miscellaneous\n\nimport { urlToScheme } from \"./internal/urlToScheme.js\"\nimport { urlToPathname } from \"./internal/urlToPathname.js\"\nimport { urlToOrigin } from \"./internal/urlToOrigin.js\"\nimport { pathnameToParentPathname } from \"./internal/pathnameToParentPathname.js\"\nimport { hasScheme } from \"./internal/hasScheme.js\"\n\nexport const resolveUrl = (specifier, baseUrl) => {\n if (baseUrl) {\n if (typeof baseUrl !== \"string\") {\n throw new TypeError(writeBaseUrlMustBeAString({ baseUrl, specifier }))\n }\n if (!hasScheme(baseUrl)) {\n throw new Error(writeBaseUrlMustBeAbsolute({ baseUrl, specifier }))\n }\n }\n\n if (hasScheme(specifier)) {\n return specifier\n }\n\n if (!baseUrl) {\n throw new Error(writeBaseUrlRequired({ baseUrl, specifier }))\n }\n\n // scheme relative\n if (specifier.slice(0, 2) === \"//\") {\n return `${urlToScheme(baseUrl)}:${specifier}`\n }\n\n // origin relative\n if (specifier[0] === \"/\") {\n return `${urlToOrigin(baseUrl)}${specifier}`\n }\n\n const baseOrigin = urlToOrigin(baseUrl)\n const basePathname = urlToPathname(baseUrl)\n\n if (specifier === \".\") {\n const baseDirectoryPathname = pathnameToParentPathname(basePathname)\n return `${baseOrigin}${baseDirectoryPathname}`\n }\n\n // pathname relative inside\n if (specifier.slice(0, 2) === \"./\") {\n const baseDirectoryPathname = pathnameToParentPathname(basePathname)\n return `${baseOrigin}${baseDirectoryPathname}${specifier.slice(2)}`\n }\n\n // pathname relative outside\n if (specifier.slice(0, 3) === \"../\") {\n let unresolvedPathname = specifier\n const importerFolders = basePathname.split(\"/\")\n importerFolders.pop()\n\n while (unresolvedPathname.slice(0, 3) === \"../\") {\n unresolvedPathname = unresolvedPathname.slice(3)\n // when there is no folder left to resolved\n // we just ignore '../'\n if (importerFolders.length) {\n importerFolders.pop()\n }\n }\n\n const resolvedPathname = `${importerFolders.join(\n \"/\",\n )}/${unresolvedPathname}`\n return `${baseOrigin}${resolvedPathname}`\n }\n\n // bare\n if (basePathname === \"\") {\n return `${baseOrigin}/${specifier}`\n }\n if (basePathname[basePathname.length] === \"/\") {\n return `${baseOrigin}${basePathname}${specifier}`\n }\n return `${baseOrigin}${pathnameToParentPathname(basePathname)}${specifier}`\n}\n\nconst writeBaseUrlMustBeAString = ({\n baseUrl,\n specifier,\n}) => `baseUrl must be a string.\n--- base url ---\n${baseUrl}\n--- specifier ---\n${specifier}`\n\nconst writeBaseUrlMustBeAbsolute = ({\n baseUrl,\n specifier,\n}) => `baseUrl must be absolute.\n--- base url ---\n${baseUrl}\n--- specifier ---\n${specifier}`\n\nconst writeBaseUrlRequired = ({\n baseUrl,\n specifier,\n}) => `baseUrl required to resolve relative specifier.\n--- base url ---\n${baseUrl}\n--- specifier ---\n${specifier}`\n", - "import { hasScheme } from \"./hasScheme.js\"\nimport { resolveUrl } from \"../resolveUrl.js\"\n\nexport const tryUrlResolution = (string, url) => {\n const result = resolveUrl(string, url)\n return hasScheme(result) ? result : null\n}\n", - "import { hasScheme } from \"./internal/hasScheme.js\"\nimport { resolveUrl } from \"./resolveUrl.js\"\n\nexport const resolveSpecifier = (specifier, importer) => {\n if (\n specifier === \".\" ||\n specifier[0] === \"/\" ||\n specifier.startsWith(\"./\") ||\n specifier.startsWith(\"../\")\n ) {\n return resolveUrl(specifier, importer)\n }\n\n if (hasScheme(specifier)) {\n return specifier\n }\n\n return null\n}\n", - "import { assertImportMap } from \"./internal/assertImportMap.js\"\n\nexport const sortImportMap = (importMap) => {\n assertImportMap(importMap)\n\n const { imports, scopes } = importMap\n\n return {\n ...(imports ? { imports: sortImports(imports) } : {}),\n ...(scopes ? { scopes: sortScopes(scopes) } : {}),\n }\n}\n\nexport const sortImports = (imports) => {\n const mappingsSorted = {}\n\n Object.keys(imports)\n .sort(compareLengthOrLocaleCompare)\n .forEach((name) => {\n mappingsSorted[name] = imports[name]\n })\n\n return mappingsSorted\n}\n\nexport const sortScopes = (scopes) => {\n const scopesSorted = {}\n\n Object.keys(scopes)\n .sort(compareLengthOrLocaleCompare)\n .forEach((scopeSpecifier) => {\n scopesSorted[scopeSpecifier] = sortImports(scopes[scopeSpecifier])\n })\n\n return scopesSorted\n}\n\nconst compareLengthOrLocaleCompare = (a, b) => {\n return b.length - a.length || a.localeCompare(b)\n}\n", - "import { assertImportMap } from \"./internal/assertImportMap.js\"\nimport { tryUrlResolution } from \"./internal/tryUrlResolution.js\"\nimport { resolveSpecifier } from \"./resolveSpecifier.js\"\nimport { sortImports, sortScopes } from \"./sortImportMap.js\"\n\nexport const normalizeImportMap = (importMap, baseUrl) => {\n assertImportMap(importMap)\n\n if (!isStringOrUrl(baseUrl)) {\n throw new TypeError(formulateBaseUrlMustBeStringOrUrl({ baseUrl }))\n }\n\n const { imports, scopes } = importMap\n\n return {\n imports: imports ? normalizeMappings(imports, baseUrl) : undefined,\n scopes: scopes ? normalizeScopes(scopes, baseUrl) : undefined,\n }\n}\n\nconst isStringOrUrl = (value) => {\n if (typeof value === \"string\") {\n return true\n }\n\n if (typeof URL === \"function\" && value instanceof URL) {\n return true\n }\n\n return false\n}\n\nconst normalizeMappings = (mappings, baseUrl) => {\n const mappingsNormalized = {}\n\n Object.keys(mappings).forEach((specifier) => {\n const address = mappings[specifier]\n\n if (typeof address !== \"string\") {\n console.warn(\n formulateAddressMustBeAString({\n address,\n specifier,\n }),\n )\n return\n }\n\n const specifierResolved = resolveSpecifier(specifier, baseUrl) || specifier\n\n const addressUrl = tryUrlResolution(address, baseUrl)\n if (addressUrl === null) {\n console.warn(\n formulateAdressResolutionFailed({\n address,\n baseUrl,\n specifier,\n }),\n )\n return\n }\n\n if (specifier.endsWith(\"/\") && !addressUrl.endsWith(\"/\")) {\n console.warn(\n formulateAddressUrlRequiresTrailingSlash({\n addressUrl,\n address,\n specifier,\n }),\n )\n return\n }\n mappingsNormalized[specifierResolved] = addressUrl\n })\n\n return sortImports(mappingsNormalized)\n}\n\nconst normalizeScopes = (scopes, baseUrl) => {\n const scopesNormalized = {}\n\n Object.keys(scopes).forEach((scopeSpecifier) => {\n const scopeMappings = scopes[scopeSpecifier]\n const scopeUrl = tryUrlResolution(scopeSpecifier, baseUrl)\n if (scopeUrl === null) {\n console.warn(\n formulateScopeResolutionFailed({\n scope: scopeSpecifier,\n baseUrl,\n }),\n )\n return\n }\n const scopeValueNormalized = normalizeMappings(scopeMappings, baseUrl)\n scopesNormalized[scopeUrl] = scopeValueNormalized\n })\n\n return sortScopes(scopesNormalized)\n}\n\nconst formulateBaseUrlMustBeStringOrUrl = ({\n baseUrl,\n}) => `baseUrl must be a string or an url.\n--- base url ---\n${baseUrl}`\n\nconst formulateAddressMustBeAString = ({\n specifier,\n address,\n}) => `Address must be a string.\n--- address ---\n${address}\n--- specifier ---\n${specifier}`\n\nconst formulateAdressResolutionFailed = ({\n address,\n baseUrl,\n specifier,\n}) => `Address url resolution failed.\n--- address ---\n${address}\n--- base url ---\n${baseUrl}\n--- specifier ---\n${specifier}`\n\nconst formulateAddressUrlRequiresTrailingSlash = ({\n addressURL,\n address,\n specifier,\n}) => `Address must end with /.\n--- address url ---\n${addressURL}\n--- address ---\n${address}\n--- specifier ---\n${specifier}`\n\nconst formulateScopeResolutionFailed = ({\n scope,\n baseUrl,\n}) => `Scope url resolution failed.\n--- scope ---\n${scope}\n--- base url ---\n${baseUrl}`\n", - "export const pathnameToExtension = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex !== -1) {\n pathname = pathname.slice(slashLastIndex + 1)\n }\n\n const dotLastIndex = pathname.lastIndexOf(\".\")\n if (dotLastIndex === -1) return \"\"\n // if (dotLastIndex === pathname.length - 1) return \"\"\n return pathname.slice(dotLastIndex)\n}\n", - "import { createDetailedMessage } from \"@jsenv/logger\"\nimport { assertImportMap } from \"./internal/assertImportMap.js\"\nimport { hasScheme } from \"./internal/hasScheme.js\"\nimport { tryUrlResolution } from \"./internal/tryUrlResolution.js\"\nimport { resolveSpecifier } from \"./resolveSpecifier.js\"\n\nexport const applyImportMap = ({\n importMap,\n specifier,\n importer,\n createBareSpecifierError = ({ specifier, importer }) => {\n return new Error(\n createDetailedMessage(`Unmapped bare specifier.`, {\n specifier,\n importer,\n }),\n )\n },\n onImportMapping = () => {},\n}) => {\n assertImportMap(importMap)\n if (typeof specifier !== \"string\") {\n throw new TypeError(\n createDetailedMessage(\"specifier must be a string.\", {\n specifier,\n importer,\n }),\n )\n }\n if (importer) {\n if (typeof importer !== \"string\") {\n throw new TypeError(\n createDetailedMessage(\"importer must be a string.\", {\n importer,\n specifier,\n }),\n )\n }\n if (!hasScheme(importer)) {\n throw new Error(\n createDetailedMessage(`importer must be an absolute url.`, {\n importer,\n specifier,\n }),\n )\n }\n }\n\n const specifierUrl = resolveSpecifier(specifier, importer)\n const specifierNormalized = specifierUrl || specifier\n\n const { scopes } = importMap\n if (scopes && importer) {\n const scopeSpecifierMatching = Object.keys(scopes).find(\n (scopeSpecifier) => {\n return (\n scopeSpecifier === importer ||\n specifierIsPrefixOf(scopeSpecifier, importer)\n )\n },\n )\n if (scopeSpecifierMatching) {\n const scopeMappings = scopes[scopeSpecifierMatching]\n const mappingFromScopes = applyMappings(\n scopeMappings,\n specifierNormalized,\n scopeSpecifierMatching,\n onImportMapping,\n )\n if (mappingFromScopes !== null) {\n return mappingFromScopes\n }\n }\n }\n\n const { imports } = importMap\n if (imports) {\n const mappingFromImports = applyMappings(\n imports,\n specifierNormalized,\n undefined,\n onImportMapping,\n )\n if (mappingFromImports !== null) {\n return mappingFromImports\n }\n }\n\n if (specifierUrl) {\n return specifierUrl\n }\n\n throw createBareSpecifierError({ specifier, importer })\n}\n\nconst applyMappings = (\n mappings,\n specifierNormalized,\n scope,\n onImportMapping,\n) => {\n const specifierCandidates = Object.keys(mappings)\n\n let i = 0\n while (i < specifierCandidates.length) {\n const specifierCandidate = specifierCandidates[i]\n i++\n if (specifierCandidate === specifierNormalized) {\n const address = mappings[specifierCandidate]\n onImportMapping({\n scope,\n from: specifierCandidate,\n to: address,\n before: specifierNormalized,\n after: address,\n })\n return address\n }\n if (specifierIsPrefixOf(specifierCandidate, specifierNormalized)) {\n const address = mappings[specifierCandidate]\n const afterSpecifier = specifierNormalized.slice(\n specifierCandidate.length,\n )\n const addressFinal = tryUrlResolution(afterSpecifier, address)\n onImportMapping({\n scope,\n from: specifierCandidate,\n to: address,\n before: specifierNormalized,\n after: addressFinal,\n })\n return addressFinal\n }\n }\n\n return null\n}\n\nconst specifierIsPrefixOf = (specifierHref, href) => {\n return (\n specifierHref[specifierHref.length - 1] === \"/\" &&\n href.startsWith(specifierHref)\n )\n}\n", - "import { urlToPathname } from \"./internal/urlToPathname.js\"\nimport { pathnameToExtension } from \"./internal/pathnameToExtension.js\"\nimport { resolveUrl } from \"./resolveUrl.js\"\nimport { applyImportMap } from \"./applyImportMap.js\"\n\nexport const resolveImport = ({\n specifier,\n importer,\n importMap,\n defaultExtension = false,\n createBareSpecifierError,\n onImportMapping = () => {},\n}) => {\n let url\n if (importMap) {\n url = applyImportMap({\n importMap,\n specifier,\n importer,\n createBareSpecifierError,\n onImportMapping,\n })\n } else {\n url = resolveUrl(specifier, importer)\n }\n\n if (defaultExtension) {\n url = applyDefaultExtension({ url, importer, defaultExtension })\n }\n\n return url\n}\n\nconst applyDefaultExtension = ({ url, importer, defaultExtension }) => {\n if (urlToPathname(url).endsWith(\"/\")) {\n return url\n }\n\n if (typeof defaultExtension === \"string\") {\n const extension = pathnameToExtension(url)\n if (extension === \"\") {\n return `${url}${defaultExtension}`\n }\n return url\n }\n\n if (defaultExtension === true) {\n const extension = pathnameToExtension(url)\n if (extension === \"\" && importer) {\n const importerPathname = urlToPathname(importer)\n const importerExtension = pathnameToExtension(importerPathname)\n return `${url}${importerExtension}`\n }\n }\n\n return url\n}\n", - "import { createDetailedMessage } from \"@jsenv/logger\"\n\nexport const fromFunctionReturningNamespace = (fn, data) => {\n return fromFunctionReturningRegisteredModule(() => {\n // should we compute the namespace here\n // or as it is done below, defer to execute ?\n // I think defer to execute is better\n return [\n [],\n (_export) => {\n return {\n execute: () => {\n const namespace = fn()\n _export(namespace)\n },\n }\n },\n ]\n }, data)\n}\n\nexport const getJavaScriptModuleResponseError = async (\n response,\n {\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n jsonContentTypeAccepted,\n },\n) => {\n if (response.status === 404) {\n return new Error(\n createDetailedMessage(\n `JavaScript module file cannot be found`,\n getModuleDetails({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n notFound: true,\n }),\n ),\n )\n }\n\n const contentType = response.headers[\"content-type\"] || \"\"\n if (response.status === 500 && contentType === \"application/json\") {\n const bodyAsJson = await response.json()\n if (\n bodyAsJson.message &&\n bodyAsJson.filename &&\n \"columnNumber\" in bodyAsJson\n ) {\n const error = new Error(\n createDetailedMessage(`JavaScript module file cannot be parsed`, {\n [\"parsing error message\"]: bodyAsJson.message,\n ...getModuleDetails({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }),\n }),\n )\n error.parsingError = bodyAsJson\n return error\n }\n }\n\n if (response.status < 200 || response.status >= 300) {\n return new Error(\n createDetailedMessage(\n `JavaScript module file response status is unexpected`,\n {\n [\"status\"]: response.status,\n [\"allowed status\"]: \"200 to 299\",\n [\"statusText\"]: response.statusText,\n ...getModuleDetails({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }),\n },\n ),\n )\n }\n\n if (\n jsonContentTypeAccepted &&\n (contentType === \"application/json\" || contentType.endsWith(\"+json\"))\n ) {\n return null\n }\n\n if (\n contentType !== \"application/javascript\" &&\n contentType !== \"text/javascript\"\n ) {\n return new Error(\n createDetailedMessage(\n `Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of \"${contentType}\". Strict MIME type checking is enforced for module scripts per HTML spec.`,\n {\n ...getModuleDetails({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }),\n suggestion: `Use import.meta.url or import assertions as documented in https://github.com/jsenv/jsenv-core/blob/master/docs/building/readme.md#How-to-reference-assets`,\n },\n ),\n )\n }\n\n return null\n}\n\nexport const fromFunctionReturningRegisteredModule = (fn, data) => {\n try {\n return fn()\n } catch (error) {\n if (error.name === \"SyntaxError\") {\n throw new Error(\n createDetailedMessage(`Syntax error in module.`, {\n \"syntax error stack\": error.stack,\n ...getModuleDetails(data),\n }),\n )\n }\n throw new Error(\n createDetailedMessage(`Module instantiation error.`, {\n [\"instantiation error stack\"]: error.stack,\n ...getModuleDetails(data),\n }),\n )\n }\n}\n\nexport const getModuleDetails = ({\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n notFound = false,\n}) => {\n const relativeUrl = tryToFindProjectRelativeUrl(url, {\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n })\n\n const importerRelativeUrl = tryToFindProjectRelativeUrl(importerUrl, {\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n })\n\n const details = notFound\n ? {\n ...(importerUrl\n ? { [\"import declared in\"]: importerRelativeUrl || importerUrl }\n : {}),\n ...(relativeUrl ? { file: relativeUrl } : {}),\n [\"file url\"]: url,\n }\n : {\n ...(relativeUrl ? { file: relativeUrl } : {}),\n [\"file url\"]: url,\n ...(importerUrl\n ? { [\"imported by\"]: importerRelativeUrl || importerUrl }\n : {}),\n }\n\n return details\n}\n\nexport const tryToFindProjectRelativeUrl = (\n url,\n { compileServerOrigin, compileDirectoryRelativeUrl },\n) => {\n if (!url) {\n return null\n }\n\n if (!url.startsWith(`${compileServerOrigin}/`)) {\n return null\n }\n\n if (url === compileServerOrigin) {\n return null\n }\n\n const afterOrigin = url.slice(`${compileServerOrigin}/`.length)\n if (!afterOrigin.startsWith(compileDirectoryRelativeUrl)) {\n return null\n }\n\n const afterCompileDirectory = afterOrigin.slice(\n compileDirectoryRelativeUrl.length,\n )\n return afterCompileDirectory\n}\n\n// const textToBase64 =\n// typeof window === \"object\"\n// ? (text) => window.btoa(window.unescape(window.encodeURIComponent(text)))\n// : (text) => Buffer.from(text, \"utf8\").toString(\"base64\")\n", - "export const applyDefaultExtension = (specifier, importer) => {\n if (!importer) {\n return specifier\n }\n\n const importerExtension = urlToExtension(importer)\n const fakeUrl = new URL(specifier, importer).href\n const specifierExtension = urlToExtension(fakeUrl)\n if (specifierExtension !== \"\") {\n return specifier\n }\n\n // I guess typescript still expect default extension to be .ts\n // in a tsx file.\n if (importerExtension === \"tsx\") {\n return `${specifier}.ts`\n }\n\n // extension magic\n return `${specifier}${importerExtension}`\n}\n\nconst urlToExtension = (url) => {\n return pathnameToExtension(urlToPathname(url))\n}\n\nconst urlToPathname = (url) => new URL(url).pathname\n\nconst pathnameToExtension = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex !== -1) {\n pathname = pathname.slice(slashLastIndex + 1)\n }\n\n const dotLastIndex = pathname.lastIndexOf(\".\")\n if (dotLastIndex === -1) return \"\"\n // if (dotLastIndex === pathname.length - 1) return \"\"\n const extension = pathname.slice(dotLastIndex)\n return extension\n}\n", - "import { createDetailedMessage } from \"@jsenv/logger\"\nimport { resolveImport } from \"@jsenv/importmap/src/resolveImport.js\"\n\nimport { tryToFindProjectRelativeUrl } from \"@jsenv/core/src/internal/runtime/module-registration.js\"\n\nimport { applyDefaultExtension } from \"./default-extension.js\"\n\nexport const createImportResolverForImportmap = async ({\n // projectDirectoryUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n importMap,\n importMapUrl,\n importDefaultExtension,\n onBareSpecifierError = () => {},\n}) => {\n const _resolveImport = (specifier, importer) => {\n if (importDefaultExtension) {\n specifier = applyDefaultExtension(specifier, importer)\n }\n return resolveImport({\n specifier,\n importer,\n importMap,\n createBareSpecifierError: ({ specifier, importer }) => {\n const bareSpecifierError = createBareSpecifierError({\n specifier,\n importer:\n tryToFindProjectRelativeUrl(importer, {\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }) || importer,\n importMapUrl:\n tryToFindProjectRelativeUrl(importMapUrl, {\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n }) || importMapUrl,\n importMap,\n })\n onBareSpecifierError(bareSpecifierError)\n return bareSpecifierError\n },\n })\n }\n\n return { resolveImport: _resolveImport }\n}\n\nconst createBareSpecifierError = ({ specifier, importer, importMapUrl }) => {\n const detailedMessage = createDetailedMessage(\"Unmapped bare specifier.\", {\n specifier,\n importer,\n ...(importMapUrl\n ? {\n \"how to fix\": `Add a mapping for \"${specifier}\" into the importmap file at \"${importMapUrl}\"`,\n }\n : {\n \"how to fix\": `Add an importmap with a mapping for \"${specifier}\"`,\n \"suggestion\": `Generate importmap using https://github.com/jsenv/importmap-node-module`,\n }),\n })\n\n return new Error(detailedMessage)\n}\n", - "/* eslint-env browser */\n\nconst { performance } = window\n\nexport const measureAsyncFnPerf = performance\n ? async (fn, name) => {\n const perfMarkStartName = `${name}_start`\n\n performance.mark(perfMarkStartName)\n try {\n const value = await fn()\n return value\n } finally {\n performance.measure(name, perfMarkStartName)\n }\n }\n : async (fn) => {\n return fn()\n }\n", - "/*\n* SJS 6.11.0\n* Minimal SystemJS Build\n*/\n(function () {\n\n function errMsg(errCode, msg) {\n return (msg || \"\") + \" (SystemJS https://git.io/JvFET#\" + errCode + \")\";\n }\n\n var hasSymbol = typeof Symbol !== 'undefined';\n var hasSelf = typeof self !== 'undefined';\n var hasDocument = typeof document !== 'undefined';\n\n var envGlobal = hasSelf ? self : global;\n\n var baseUrl;\n\n if (hasDocument) {\n var baseEl = document.querySelector('base[href]');\n if (baseEl)\n baseUrl = baseEl.href;\n }\n\n if (!baseUrl && typeof location !== 'undefined') {\n baseUrl = location.href.split('#')[0].split('?')[0];\n var lastSepIndex = baseUrl.lastIndexOf('/');\n if (lastSepIndex !== -1)\n baseUrl = baseUrl.slice(0, lastSepIndex + 1);\n }\n\n var backslashRegEx = /\\\\/g;\n function resolveIfNotPlainOrUrl (relUrl, parentUrl) {\n if (relUrl.indexOf('\\\\') !== -1)\n relUrl = relUrl.replace(backslashRegEx, '/');\n // protocol-relative\n if (relUrl[0] === '/' && relUrl[1] === '/') {\n return parentUrl.slice(0, parentUrl.indexOf(':') + 1) + relUrl;\n }\n // relative-url\n else if (relUrl[0] === '.' && (relUrl[1] === '/' || relUrl[1] === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||\n relUrl.length === 1 && (relUrl += '/')) ||\n relUrl[0] === '/') {\n var parentProtocol = parentUrl.slice(0, parentUrl.indexOf(':') + 1);\n // Disabled, but these cases will give inconsistent results for deep backtracking\n //if (parentUrl[parentProtocol.length] !== '/')\n // throw Error('Cannot resolve');\n // read pathname from parent URL\n // pathname taken to be part after leading \"/\"\n var pathname;\n if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.slice(parentProtocol.length + 2);\n pathname = pathname.slice(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.slice(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.slice(parentProtocol.length + (parentUrl[parentProtocol.length] === '/'));\n }\n\n if (relUrl[0] === '/')\n return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl;\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z'\n var segmented = pathname.slice(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.slice(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n }\n\n // new segment - check if it is relative\n else if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n }\n }\n // it is the start of a new segment\n else {\n segmentIndex = i;\n }\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.slice(segmentIndex));\n return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join('');\n }\n }\n\n /*\n * Import maps implementation\n *\n * To make lookups fast we pre-resolve the entire import map\n * and then match based on backtracked hash lookups\n *\n */\n\n function resolveUrl (relUrl, parentUrl) {\n return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (relUrl.indexOf(':') !== -1 ? relUrl : resolveIfNotPlainOrUrl('./' + relUrl, parentUrl));\n }\n\n function resolveAndComposePackages (packages, outPackages, baseUrl, parentMap, parentUrl) {\n for (var p in packages) {\n var resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl) || p;\n var rhs = packages[p];\n // package fallbacks not currently supported\n if (typeof rhs !== 'string')\n continue;\n var mapped = resolveImportMap(parentMap, resolveIfNotPlainOrUrl(rhs, baseUrl) || rhs, parentUrl);\n if (!mapped) {\n targetWarning('W1', p, rhs);\n }\n else\n outPackages[resolvedLhs] = mapped;\n }\n }\n\n function resolveAndComposeImportMap (json, baseUrl, outMap) {\n if (json.imports)\n resolveAndComposePackages(json.imports, outMap.imports, baseUrl, outMap, null);\n\n var u;\n for (u in json.scopes || {}) {\n var resolvedScope = resolveUrl(u, baseUrl);\n resolveAndComposePackages(json.scopes[u], outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), baseUrl, outMap, resolvedScope);\n }\n\n for (u in json.depcache || {})\n outMap.depcache[resolveUrl(u, baseUrl)] = json.depcache[u];\n\n for (u in json.integrity || {})\n outMap.integrity[resolveUrl(u, baseUrl)] = json.integrity[u];\n }\n\n function getMatch (path, matchObj) {\n if (matchObj[path])\n return path;\n var sepIndex = path.length;\n do {\n var segment = path.slice(0, sepIndex + 1);\n if (segment in matchObj)\n return segment;\n } while ((sepIndex = path.lastIndexOf('/', sepIndex - 1)) !== -1)\n }\n\n function applyPackages (id, packages) {\n var pkgName = getMatch(id, packages);\n if (pkgName) {\n var pkg = packages[pkgName];\n if (pkg === null) return;\n if (id.length > pkgName.length && pkg[pkg.length - 1] !== '/') {\n targetWarning('W2', pkgName, pkg);\n }\n else\n return pkg + id.slice(pkgName.length);\n }\n }\n\n function targetWarning (code, match, target, msg) {\n console.warn(errMsg(code, [target, match].join(', ') ));\n }\n\n function resolveImportMap (importMap, resolvedOrPlain, parentUrl) {\n var scopes = importMap.scopes;\n var scopeUrl = parentUrl && getMatch(parentUrl, scopes);\n while (scopeUrl) {\n var packageResolution = applyPackages(resolvedOrPlain, scopes[scopeUrl]);\n if (packageResolution)\n return packageResolution;\n scopeUrl = getMatch(scopeUrl.slice(0, scopeUrl.lastIndexOf('/')), scopes);\n }\n return applyPackages(resolvedOrPlain, importMap.imports) || resolvedOrPlain.indexOf(':') !== -1 && resolvedOrPlain;\n }\n\n /*\n * SystemJS Core\n *\n * Provides\n * - System.import\n * - System.register support for\n * live bindings, function hoisting through circular references,\n * reexports, dynamic import, import.meta.url, top-level await\n * - System.getRegister to get the registration\n * - Symbol.toStringTag support in Module objects\n * - Hookable System.createContext to customize import.meta\n * - System.onload(err, id, deps) handler for tracing / hot-reloading\n *\n * Core comes with no System.prototype.resolve or\n * System.prototype.instantiate implementations\n */\n\n var toStringTag = hasSymbol && Symbol.toStringTag;\n var REGISTRY = hasSymbol ? Symbol() : '@';\n\n function SystemJS () {\n this[REGISTRY] = {};\n }\n\n var systemJSPrototype = SystemJS.prototype;\n\n systemJSPrototype.import = function (id, parentUrl) {\n var loader = this;\n return Promise.resolve(loader.prepareImport())\n .then(function() {\n return loader.resolve(String(id), parentUrl);\n })\n .then(function (id) {\n var load = getOrCreateLoad(loader, id);\n return load.C || topLevelLoad(loader, load);\n });\n };\n\n // Hookable createContext function -> allowing eg custom import meta\n systemJSPrototype.createContext = function (parentId) {\n var loader = this;\n return {\n url: parentId,\n resolve: function (id, parentUrl) {\n return Promise.resolve(loader.resolve(id, parentUrl || parentId));\n }\n };\n };\n function loadToId (load) {\n return load.id;\n }\n function triggerOnload (loader, load, err, isErrSource) {\n loader.onload(err, load.id, load.d && load.d.map(loadToId), !!isErrSource);\n if (err)\n throw err;\n }\n\n var lastRegister;\n systemJSPrototype.register = function (deps, declare) {\n lastRegister = [deps, declare];\n };\n\n /*\n * getRegister provides the last anonymous System.register call\n */\n systemJSPrototype.getRegister = function () {\n var _lastRegister = lastRegister;\n lastRegister = undefined;\n return _lastRegister;\n };\n\n function getOrCreateLoad (loader, id, firstParentUrl) {\n var load = loader[REGISTRY][id];\n if (load)\n return load;\n\n var importerSetters = [];\n var ns = Object.create(null);\n if (toStringTag)\n Object.defineProperty(ns, toStringTag, { value: 'Module' });\n\n var instantiatePromise = Promise.resolve()\n .then(function () {\n return loader.instantiate(id, firstParentUrl);\n })\n .then(function (registration) {\n if (!registration)\n throw Error(errMsg(2, id ));\n function _export (name, value) {\n // note if we have hoisted exports (including reexports)\n load.h = true;\n var changed = false;\n if (typeof name === 'string') {\n if (!(name in ns) || ns[name] !== value) {\n ns[name] = value;\n changed = true;\n }\n }\n else {\n for (var p in name) {\n var value = name[p];\n if (!(p in ns) || ns[p] !== value) {\n ns[p] = value;\n changed = true;\n }\n }\n\n if (name && name.__esModule) {\n ns.__esModule = name.__esModule;\n }\n }\n if (changed)\n for (var i = 0; i < importerSetters.length; i++) {\n var setter = importerSetters[i];\n if (setter) setter(ns);\n }\n return value;\n }\n var declared = registration[1](_export, registration[1].length === 2 ? {\n import: function (importId) {\n return loader.import(importId, id);\n },\n meta: loader.createContext(id)\n } : undefined);\n load.e = declared.execute || function () {};\n return [registration[0], declared.setters || []];\n }, function (err) {\n load.e = null;\n load.er = err;\n throw err;\n });\n\n var linkPromise = instantiatePromise\n .then(function (instantiation) {\n return Promise.all(instantiation[0].map(function (dep, i) {\n var setter = instantiation[1][i];\n return Promise.resolve(loader.resolve(dep, id))\n .then(function (depId) {\n var depLoad = getOrCreateLoad(loader, depId, id);\n // depLoad.I may be undefined for already-evaluated\n return Promise.resolve(depLoad.I)\n .then(function () {\n if (setter) {\n depLoad.i.push(setter);\n // only run early setters when there are hoisted exports of that module\n // the timing works here as pending hoisted export calls will trigger through importerSetters\n if (depLoad.h || !depLoad.I)\n setter(depLoad.n);\n }\n return depLoad;\n });\n });\n }))\n .then(function (depLoads) {\n load.d = depLoads;\n });\n });\n\n // Capital letter = a promise function\n return load = loader[REGISTRY][id] = {\n id: id,\n // importerSetters, the setters functions registered to this dependency\n // we retain this to add more later\n i: importerSetters,\n // module namespace object\n n: ns,\n\n // instantiate\n I: instantiatePromise,\n // link\n L: linkPromise,\n // whether it has hoisted exports\n h: false,\n\n // On instantiate completion we have populated:\n // dependency load records\n d: undefined,\n // execution function\n e: undefined,\n\n // On execution we have populated:\n // the execution error if any\n er: undefined,\n // in the case of TLA, the execution promise\n E: undefined,\n\n // On execution, L, I, E cleared\n\n // Promise for top-level completion\n C: undefined,\n\n // parent instantiator / executor\n p: undefined\n };\n }\n\n function instantiateAll (loader, load, parent, loaded) {\n if (!loaded[load.id]) {\n loaded[load.id] = true;\n // load.L may be undefined for already-instantiated\n return Promise.resolve(load.L)\n .then(function () {\n if (!load.p || load.p.e === null)\n load.p = parent;\n return Promise.all(load.d.map(function (dep) {\n return instantiateAll(loader, dep, parent, loaded);\n }));\n })\n .catch(function (err) {\n if (load.er)\n throw err;\n load.e = null;\n throw err;\n });\n }\n }\n\n function topLevelLoad (loader, load) {\n return load.C = instantiateAll(loader, load, load, {})\n .then(function () {\n return postOrderExec(loader, load, {});\n })\n .then(function () {\n return load.n;\n });\n }\n\n // the closest we can get to call(undefined)\n var nullContext = Object.freeze(Object.create(null));\n\n // returns a promise if and only if a top-level await subgraph\n // throws on sync errors\n function postOrderExec (loader, load, seen) {\n if (seen[load.id])\n return;\n seen[load.id] = true;\n\n if (!load.e) {\n if (load.er)\n throw load.er;\n if (load.E)\n return load.E;\n return;\n }\n\n // deps execute first, unless circular\n var depLoadPromises;\n load.d.forEach(function (depLoad) {\n try {\n var depLoadPromise = postOrderExec(loader, depLoad, seen);\n if (depLoadPromise)\n (depLoadPromises = depLoadPromises || []).push(depLoadPromise);\n }\n catch (err) {\n load.e = null;\n load.er = err;\n throw err;\n }\n });\n if (depLoadPromises)\n return Promise.all(depLoadPromises).then(doExec);\n\n return doExec();\n\n function doExec () {\n try {\n var execPromise = load.e.call(nullContext);\n if (execPromise) {\n execPromise = execPromise.then(function () {\n load.C = load.n;\n load.E = null; // indicates completion\n if (!true) ;\n }, function (err) {\n load.er = err;\n load.E = null;\n if (!true) ;\n throw err;\n });\n return load.E = execPromise;\n }\n // (should be a promise, but a minify optimization to leave out Promise.resolve)\n load.C = load.n;\n load.L = load.I = undefined;\n }\n catch (err) {\n load.er = err;\n throw err;\n }\n finally {\n load.e = null;\n }\n }\n }\n\n envGlobal.System = new SystemJS();\n\n /*\n * SystemJS browser attachments for script and import map processing\n */\n\n var importMapPromise = Promise.resolve();\n var importMap = { imports: {}, scopes: {}, depcache: {}, integrity: {} };\n systemJSPrototype.importMap = importMap;\n systemJSPrototype.baseUrl = baseUrl;\n\n // Scripts are processed immediately, on the first System.import, and on DOMReady.\n // Import map scripts are processed only once (by being marked) and in order for each phase.\n // This is to avoid using DOM mutation observers in core, although that would be an alternative.\n var processFirst = hasDocument;\n systemJSPrototype.prepareImport = function (doProcessScripts) {\n if (processFirst || doProcessScripts) {\n processScripts();\n processFirst = false;\n }\n return importMapPromise;\n };\n if (hasDocument) {\n processScripts();\n window.addEventListener('DOMContentLoaded', processScripts);\n }\n\n function processScripts () {\n [].forEach.call(document.querySelectorAll('script'), function (script) {\n if (script.sp) // sp marker = systemjs processed\n return;\n // TODO: deprecate systemjs-module in next major now that we have auto import\n if (script.type === 'systemjs-module') {\n script.sp = true;\n if (!script.src)\n return;\n System.import(script.src.slice(0, 7) === 'import:' ? script.src.slice(7) : resolveUrl(script.src, baseUrl)).catch(function (e) {\n // if there is a script load error, dispatch an \"error\" event\n // on the script tag.\n if (e.message.indexOf('https://git.io/JvFET#3') > -1) {\n var event = document.createEvent('Event');\n event.initEvent('error', false, false);\n script.dispatchEvent(event);\n }\n return Promise.reject(e);\n });\n }\n else if (script.type === 'systemjs-importmap') {\n script.sp = true;\n var fetchPromise = script.src ? fetch(script.src, { integrity: script.integrity }).then(function (res) {\n if (!res.ok)\n throw Error( res.status );\n return res.text();\n }).catch(function (err) {\n err.message = errMsg('W4', script.src ) + '\\n' + err.message;\n console.warn(err);\n if (typeof script.onerror === 'function') {\n script.onerror();\n }\n return '{}';\n }) : script.innerHTML;\n importMapPromise = importMapPromise.then(function () {\n return fetchPromise;\n }).then(function (text) {\n extendImportMap(importMap, text, script.src || baseUrl);\n return importMap\n });\n }\n });\n }\n\n function extendImportMap (importMap, newMapText, newMapUrl) {\n var newMap = {};\n try {\n newMap = JSON.parse(newMapText);\n } catch (err) {\n console.warn(Error(( errMsg('W5') )));\n }\n resolveAndComposeImportMap(newMap, newMapUrl, importMap);\n }\n System.extendImportMap = extendImportMap\n\n /*\n * Script instantiation loading\n */\n\n if (hasDocument) {\n window.addEventListener('error', function (evt) {\n lastWindowErrorUrl = evt.filename;\n lastWindowError = evt.error;\n });\n var baseOrigin = location.origin;\n }\n\n systemJSPrototype.createScript = function (url) {\n var script = document.createElement('script');\n script.async = true;\n // Only add cross origin for actual cross origin\n // this is because Safari triggers for all\n // - https://bugs.webkit.org/show_bug.cgi?id=171566\n if (url.indexOf(baseOrigin + '/'))\n script.crossOrigin = 'anonymous';\n var integrity = importMap.integrity[url];\n if (integrity)\n script.integrity = integrity;\n script.src = url;\n return script;\n };\n\n // Auto imports -> script tags can be inlined directly for load phase\n var lastAutoImportDeps, lastAutoImportTimeout;\n var autoImportCandidates = {};\n var systemRegister = systemJSPrototype.register;\n var inlineScriptCount = 0;\n systemJSPrototype.register = function (deps, declare, autoUrl) {\n if (hasDocument && document.readyState === 'loading' && typeof deps !== 'string') {\n var scripts = document.querySelectorAll('script[src]');\n var lastScript = scripts[scripts.length - 1];\n var lastAutoImportUrl\n lastAutoImportDeps = deps;\n if (lastScript && lastScript.src) {\n lastAutoImportUrl = lastScript.src;\n }\n else if (autoUrl) {\n lastAutoImportUrl = autoUrl\n }\n else {\n inlineScriptCount++\n lastAutoImportUrl = document.location.href + \"__inline_script__\" + inlineScriptCount;\n }\n // if this is already a System load, then the instantiate has already begun\n // so this re-import has no consequence\n var loader = this;\n lastAutoImportTimeout = setTimeout(function () {\n autoImportCandidates[lastAutoImportUrl] = [deps, declare];\n loader.import(lastAutoImportUrl);\n });\n }\n else {\n lastAutoImportDeps = undefined;\n }\n return systemRegister.call(this, deps, declare);\n };\n\n var lastWindowErrorUrl, lastWindowError;\n systemJSPrototype.instantiate = function (url, firstParentUrl) {\n var autoImportRegistration = autoImportCandidates[url];\n if (autoImportRegistration) {\n delete autoImportCandidates[url];\n return autoImportRegistration;\n }\n var loader = this;\n return Promise.resolve(systemJSPrototype.createScript(url)).then(function (script) {\n return new Promise(function (resolve, reject) {\n script.addEventListener('error', function () {\n reject(Error(errMsg(3, [url, firstParentUrl].join(', ') )));\n });\n script.addEventListener('load', function () {\n document.head.removeChild(script);\n // Note that if an error occurs that isn't caught by this if statement,\n // that getRegister will return null and a \"did not instantiate\" error will be thrown.\n if (lastWindowErrorUrl === url) {\n reject(lastWindowError);\n }\n else {\n var register = loader.getRegister(url);\n // Clear any auto import registration for dynamic import scripts during load\n if (register && register[0] === lastAutoImportDeps)\n clearTimeout(lastAutoImportTimeout);\n resolve(register);\n }\n });\n document.head.appendChild(script);\n });\n });\n };\n\n /*\n * Fetch loader, sets up shouldFetch and fetch hooks\n */\n systemJSPrototype.shouldFetch = function () {\n return false;\n };\n if (typeof fetch !== 'undefined')\n systemJSPrototype.fetch = fetch;\n\n var instantiate = systemJSPrototype.instantiate;\n var jsContentTypeRegEx = /^(text|application)\\/(x-)?javascript(;|$)/;\n systemJSPrototype.instantiate = function (url, parent) {\n var loader = this;\n if (!this.shouldFetch(url))\n return instantiate.apply(this, arguments);\n return this.fetch(url, {\n credentials: 'same-origin',\n integrity: importMap.integrity[url]\n })\n .then(function (res) {\n if (!res.ok)\n throw Error(errMsg(7, [res.status, res.statusText, url, parent].join(', ') ));\n var contentType = res.headers.get('content-type');\n if (!contentType || !jsContentTypeRegEx.test(contentType))\n throw Error(errMsg(4, contentType ));\n return res.text().then(function (source) {\n if (source.indexOf('//# sourceURL=') < 0)\n source += '\\n//# sourceURL=' + url;\n (0, eval)(source);\n return loader.getRegister(url);\n });\n });\n };\n\n systemJSPrototype.resolve = function (id, parentUrl) {\n parentUrl = parentUrl || !true || baseUrl;\n return resolveImportMap(( importMap), resolveIfNotPlainOrUrl(id, parentUrl) || id, parentUrl) || throwUnresolved(id, parentUrl);\n };\n\n function throwUnresolved (id, parentUrl) {\n throw Error(errMsg(8, [id, parentUrl].join(', ') ));\n }\n\n var systemInstantiate = systemJSPrototype.instantiate;\n systemJSPrototype.instantiate = function (url, firstParentUrl) {\n var preloads = ( importMap).depcache[url];\n if (preloads) {\n for (var i = 0; i < preloads.length; i++)\n getOrCreateLoad(this, this.resolve(preloads[i], url), url);\n }\n return systemInstantiate.call(this, url, firstParentUrl);\n };\n\n /*\n * Supports loading System.register in workers\n */\n\n if (hasSelf && typeof importScripts === 'function') {\n systemJSPrototype.instantiate = function (url) {\n var loader = this;\n return self.fetch(url, {\n credentials: 'same-origin',\n }).then(function (response) {\n if (!response.ok) {\n throw Error(errMsg(7, [response.status, response.statusText, url].join(', ') ));\n }\n return response.text()\n }).then(function (source) {\n if (source.indexOf('//# sourceURL=') < 0) source += '\\n//# sourceURL=' + url;\n (0, eval)(source);\n return loader.getRegister(url);\n })\n };\n }\n\n}());\n\n(function(){\n var envGlobal = typeof self !== 'undefined' ? self : global;\n var System = envGlobal.System;\n\n var registerRegistry = Object.create(null)\n var register = System.register;\n System.registerRegistry = registerRegistry;\n System.register = function (name, deps, declare) {\n if (typeof name !== 'string') return register.apply(this, arguments);\n var define = [deps, declare];\n return System.prepareImport().then(function () {\n var url = System.resolve(`./${name}`);\n registerRegistry[url] = define;\n return register.call(System, deps, declare, url);\n })\n };\n\n var instantiate = System.instantiate;\n System.instantiate = function (url, firstParentUrl) {\n var result = registerRegistry[url];\n\n if (result) {\n registerRegistry[url] = null;\n return result;\n } else {\n return instantiate.call(this, url, firstParentUrl);\n }\n };\n\n var getRegister = System.getRegister;\n System.getRegister = function (url) {\n // Calling getRegister() because other extras need to know it was called so they can perform side effects\n var register = getRegister.call(this, url);\n var result = registerRegistry[url] || register;\n return result;\n };\n}());\n\n(function () {\n // worker or service worker\n if (typeof WorkerGlobalScope === 'function' && self instanceof WorkerGlobalScope) {\n var importMapFromParentPromise = new Promise((resolve) => {\n var importmapMessageCallback = function (e) {\n if (e.data === \"__importmap_init__\") {\n self.removeEventListener(\"message\", importmapMessageCallback)\n e.ports[0].onmessage = (message) => {\n resolve(message.data)\n }\n e.ports[0].postMessage('__importmap_request__') \n }\n };\n self.addEventListener(\"message\", importmapMessageCallback)\n })\n // var prepareImport = System.prepareImport\n System.prepareImport = function () {\n return importMapFromParentPromise.then(function (importmap) {\n System.extendImportMap(System.importMap, JSON.stringify(importmap), System.baseUrl)\n })\n }\n\n // auto import first register\n var messageEvents = []\n var messageCallback = (event) => {\n messageEvents.push(event)\n }\n self.addEventListener('message', messageCallback)\n var register = System.register;\n System.register = function(deps, declare) {\n System.register = register;\n System.registerRegistry[self.location.href] = [deps, declare];\n return System.import(self.location.href).then((result) => {\n self.removeEventListener('message', messageCallback)\n messageEvents.forEach((messageEvent) => {\n self.dispatchEvent(messageEvent)\n })\n messageEvents = null\n return result\n })\n }\n }\n else if (typeof window === 'object') {\n var WorkerConstructor = window.Worker;\n if (typeof WorkerConstructor === 'function') {\n window.Worker = function (url, options) {\n var worker = new WorkerConstructor(url, options);\n var importmapChannel = new MessageChannel();\n importmapChannel.port1.onmessage = function (message) {\n System.prepareImport().then(function (importmap) {\n message.target.postMessage(importmap);\n });\n }\n worker.postMessage('__importmap_init__', [importmapChannel.port2]);\n return worker\n }\n }\n\n var serviceWorker = navigator.serviceWorker;\n if (serviceWorker) {\n var register = serviceWorker.register;\n serviceWorker.register = function(url, options) {\n var registrationPromise = register.call(this, url, options);\n registrationPromise.then(function(registration) {\n var installing = registration.installing;\n var waiting = registration.waiting;\n var active = registration.active;\n var worker = installing || waiting || active;\n var importmapChannel = new MessageChannel();\n importmapChannel.port1.onmessage = function (message) {\n System.prepareImport().then(function (importmap) {\n message.target.postMessage(importmap)\n });\n }\n worker.postMessage('__importmap_init__', [importmapChannel.port2]);\n })\n return registrationPromise\n }\n }\n }\n}());", - "/* eslint-env browser */\n\nimport { getJavaScriptModuleResponseError } from \"../runtime/module-registration.js\"\nimport \"../runtime/s.js\"\n\nexport const createBrowserSystem = ({\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n importResolver,\n fetchSource,\n}) => {\n if (typeof window.System === \"undefined\") {\n throw new Error(`window.System is undefined`)\n }\n\n const browserSystem = window.System\n\n const resolve = (specifier, importer = document.location.href) => {\n return importResolver.resolveImport(specifier, importer)\n }\n\n browserSystem.resolve = resolve\n\n const instantiate = browserSystem.instantiate\n browserSystem.instantiate = async function (url, importerUrl) {\n const { importType, urlWithoutImportType } = extractImportTypeFromUrl(url)\n if (importType === \"json\") {\n const jsonModule = await instantiateAsJsonModule(urlWithoutImportType, {\n browserSystem,\n fetchSource,\n })\n return jsonModule\n }\n\n if (importType === \"css\") {\n const cssModule = await instantiateAsCssModule(urlWithoutImportType, {\n browserSystem,\n importerUrl,\n compileDirectoryRelativeUrl,\n fetchSource,\n })\n return cssModule\n }\n\n try {\n const registration = await instantiate.call(this, url, importerUrl)\n if (!registration) {\n throw new Error(\n `no registration found for JS at ${url}\n--- importer url ---\n${importerUrl}\n--- navigator.vendor ---\n${window.navigator.vendor}`,\n )\n }\n return registration\n } catch (e) {\n const jsenvError = await createDetailedInstantiateError({\n instantiateError: e,\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n fetchSource,\n })\n throw jsenvError\n }\n }\n\n browserSystem.createContext = (importerUrl) => {\n return {\n url: importerUrl,\n resolve: (specifier) => resolve(specifier, importerUrl),\n }\n }\n\n return browserSystem\n}\n\nconst extractImportTypeFromUrl = (url) => {\n const urlObject = new URL(url)\n const { search } = urlObject\n const searchParams = new URLSearchParams(search)\n\n const importType = searchParams.get(\"import_type\")\n if (!importType) {\n return {}\n }\n\n searchParams.delete(\"import_type\")\n urlObject.search = String(searchParams)\n return {\n importType,\n urlWithoutImportType: urlObject.href,\n }\n}\n\nconst instantiateAsJsonModule = async (url, { browserSystem, fetchSource }) => {\n const response = await fetchSource(url, {\n contentTypeExpected: \"application/json\",\n })\n const json = await response.json()\n browserSystem.register([], (_export) => {\n return {\n execute: () => {\n _export(\"default\", json)\n },\n }\n })\n const registration = browserSystem.getRegister(url)\n if (!registration) {\n throw new Error(\n `no registration found for JSON at ${url}. Navigator.vendor: ${window.navigator.vendor}. JSON text: ${json}`,\n )\n }\n return registration\n}\n\nconst instantiateAsCssModule = async (\n url,\n { importerUrl, compileDirectoryRelativeUrl, browserSystem, fetchSource },\n) => {\n const response = await fetchSource(url, {\n contentTypeExpected: \"text/css\",\n })\n\n // There is a logic inside \"toolbar.eventsource.js\" which is reloading\n // all link rel=\"stylesheet\" when file ending with \".css\" are modified\n // But here it would not work because we have to replace the css in\n // the adopted stylsheet + all module importing this css module\n // should be reinstantiated\n // -> store a livereload callback forcing whole page reload\n const compileDirectoryServerUrl = `${window.location.origin}/${compileDirectoryRelativeUrl}`\n const originalFileRelativeUrl = response.url.slice(\n compileDirectoryServerUrl.length,\n )\n window.__jsenv__.livereloadingCallbacks[originalFileRelativeUrl] = ({\n reloadPage,\n }) => {\n reloadPage()\n }\n\n const cssText = await response.text()\n const cssTextWithBaseUrl = cssWithBaseUrl({\n cssText,\n cssUrl: url,\n baseUrl: importerUrl,\n })\n\n browserSystem.register([], (_export) => {\n return {\n execute: () => {\n const sheet = new CSSStyleSheet()\n sheet.replaceSync(cssTextWithBaseUrl)\n _export(\"default\", sheet)\n },\n }\n })\n const registration = browserSystem.getRegister(url)\n if (!registration) {\n throw new Error(\n `no registration found for CSS at ${url}. Navigator.vendor: ${window.navigator.vendor}. CSS text: ${cssTextWithBaseUrl}`,\n )\n }\n return registration\n}\n\n// CSSStyleSheet accepts a \"baseUrl\" parameter\n// as documented in https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/CSSStyleSheet#parameters\n// Unfortunately the polyfill do not seems to implement it\n// So we reuse \"systemjs\" strategy from https://github.com/systemjs/systemjs/blob/98609dbeef01ec62447e4b21449ce47e55f818bd/src/extras/module-types.js#L37\nconst cssWithBaseUrl = ({ cssUrl, cssText, baseUrl }) => {\n const cssDirectoryUrl = new URL(\"./\", cssUrl).href\n const baseDirectoryUrl = new URL(\"./\", baseUrl).href\n if (cssDirectoryUrl === baseDirectoryUrl) {\n return cssText\n }\n\n const cssTextRelocated = cssText.replace(\n /url\\(\\s*(?:([\"'])((?:\\\\.|[^\\n\\\\\"'])+)\\1|((?:\\\\.|[^\\s,\"'()\\\\])+))\\s*\\)/g,\n (match, quotes, relUrl1, relUrl2) => {\n const absoluteUrl = new URL(relUrl1 || relUrl2, cssUrl).href\n return `url(${quotes}${absoluteUrl}${quotes})`\n },\n )\n return cssTextRelocated\n}\n\nconst createDetailedInstantiateError = async ({\n instantiateError,\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n fetchSource,\n}) => {\n let response\n try {\n response = await fetchSource(url, {\n importerUrl,\n contentTypeExpected: \"application/javascript\",\n })\n } catch (e) {\n e.code = \"NETWORK_FAILURE\"\n return e\n }\n\n const jsModuleResponseError = await getJavaScriptModuleResponseError(\n response,\n {\n url,\n importerUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n },\n )\n return jsModuleResponseError || instantiateError\n}\n", - "export const makeNamespaceTransferable = (namespace) => {\n const transferableNamespace = {}\n Object.keys(namespace).forEach((key) => {\n const value = namespace[key]\n transferableNamespace[key] = isTransferable(value)\n ? value\n : hideNonTransferableValue(value)\n })\n return transferableNamespace\n}\n\nconst hideNonTransferableValue = (value) => {\n if (typeof value === \"function\") {\n return `[[HIDDEN: ${value.name} function cannot be transfered]]`\n }\n\n if (typeof value === \"symbol\") {\n return `[[HIDDEN: symbol function cannot be transfered]]`\n }\n\n return `[[HIDDEN: ${\n value.constructor ? value.constructor.name : \"object\"\n } cannot be transfered]]`\n}\n\n// https://stackoverflow.com/a/32673910/2634179\nconst isTransferable = (value) => {\n const seenArray = []\n const visit = () => {\n if (typeof value === \"function\") return false\n\n if (typeof value === \"symbol\") return false\n\n if (value === null) return false\n\n if (typeof value === \"object\") {\n const constructorName = value.constructor.namespace\n\n if (supportedTypes.includes(constructorName)) {\n return true\n }\n\n const maybe = maybeTypes.includes(constructorName)\n if (maybe) {\n const visited = seenArray.includes(value)\n if (visited) {\n // we don't really know until we are done visiting the object\n // implementing it properly means waiting for the recursion to be done\n // let's just\n return true\n }\n seenArray.push(value)\n\n if (constructorName === \"Array\" || constructorName === \"Object\") {\n return Object.keys(value).every((key) => isTransferable(value[key]))\n }\n if (constructorName === \"Map\") {\n return (\n [...value.keys()].every(isTransferable) &&\n [...value.values()].every(isTransferable)\n )\n }\n if (constructorName === \"Set\") {\n return [...value.keys()].every(isTransferable)\n }\n }\n\n // Error, DOM Node and others\n return false\n }\n return true\n }\n\n return visit(value)\n}\n\nconst supportedTypes = [\n \"Boolean\",\n \"Number\",\n \"String\",\n \"Date\",\n \"RegExp\",\n \"Blob\",\n \"FileList\",\n \"ImageData\",\n \"ImageBitmap\",\n \"ArrayBuffer\",\n]\n\nconst maybeTypes = [\"Array\", \"Object\", \"Map\", \"Set\"]\n", - "/* eslint-env browser */\n\nimport { normalizeImportMap } from \"@jsenv/importmap/src/normalizeImportMap.js\"\n\n// do not use memoize from @jsenv/filesystem to avoid pulling @jsenv/filesystem code into the browser build\nimport { fetchUrl } from \"../browser_utils/fetch_browser.js\"\nimport { createImportResolverForImportmap } from \"../import-resolution/import-resolver-importmap.js\"\nimport { memoize } from \"../memoize.js\"\nimport { measureAsyncFnPerf } from \"../perf_browser.js\"\n\nimport { createBrowserSystem } from \"./browser_system.js\"\nimport { makeNamespaceTransferable } from \"./makeNamespaceTransferable.js\"\n\nconst memoizedCreateBrowserSystem = memoize(createBrowserSystem)\n\nexport const createBrowserRuntime = async ({\n compileServerOrigin,\n jsenvDirectoryRelativeUrl,\n compileId,\n}) => {\n const fetchSource = (url, { contentTypeExpected }) => {\n return fetchUrl(url, {\n credentials: \"same-origin\",\n contentTypeExpected,\n })\n }\n\n const fetchJson = async (url) => {\n const response = await fetchSource(url, {\n contentTypeExpected: \"application/json\",\n })\n const json = await response.json()\n return json\n }\n\n const compileServerMetaUrl = String(\n new URL(\"__jsenv_compile_profile__\", `${compileServerOrigin}/`),\n )\n const { importDefaultExtension } = await fetchJson(compileServerMetaUrl)\n const compileDirectoryRelativeUrl = `${jsenvDirectoryRelativeUrl}${compileId}/`\n // if there is an importmap in the document we use it instead of fetching.\n // systemjs style with systemjs-importmap\n const importmapScript = document.querySelector(\n `script[type=\"systemjs-importmap\"]`,\n )\n let importMap\n let importMapUrl\n if (importmapScript) {\n let importmapRaw\n if (importmapScript.src) {\n importMapUrl = importmapScript.src\n const importmapFileResponse = await fetchSource(importMapUrl, {\n contentTypeExpected: \"application/importmap+json\",\n })\n importmapRaw =\n importmapFileResponse.status === 404\n ? {}\n : await importmapFileResponse.json()\n } else {\n importMapUrl = document.location.href\n importmapRaw = JSON.parse(importmapScript.textContent) || {}\n }\n importMap = normalizeImportMap(importmapRaw, importMapUrl)\n }\n\n const importResolver = await createImportResolverForImportmap({\n // projectDirectoryUrl,\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n importMap,\n importMapUrl,\n importDefaultExtension,\n })\n\n const importFile = async (specifier) => {\n const browserSystem = await memoizedCreateBrowserSystem({\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n fetchSource,\n importResolver,\n })\n return browserSystem.import(specifier)\n }\n\n const executeFile = async (\n specifier,\n {\n transferableNamespace = false,\n executionExposureOnWindow = false,\n errorTransform = (error) => error,\n measurePerformance,\n } = {},\n ) => {\n const browserSystem = await memoizedCreateBrowserSystem({\n compileServerOrigin,\n compileDirectoryRelativeUrl,\n fetchSource,\n importResolver,\n })\n\n const importUsingSystemJs = async () => {\n try {\n let namespace = await browserSystem.import(specifier)\n\n if (transferableNamespace) {\n namespace = makeNamespaceTransferable(namespace)\n }\n\n return {\n status: \"completed\",\n namespace,\n coverage: readCoverage(),\n }\n } catch (error) {\n let transformedError\n try {\n transformedError = await errorTransform(error)\n } catch (e) {\n transformedError = error\n }\n\n return {\n status: \"errored\",\n error: transformedError,\n coverage: readCoverage(),\n }\n }\n }\n\n const executionResult = await (measurePerformance\n ? measureAsyncFnPerf(importUsingSystemJs, `jsenv_file_import`)\n : importUsingSystemJs())\n if (executionExposureOnWindow) {\n window.__executionResult__ = executionResult\n }\n return executionResult\n }\n\n return {\n compileDirectoryRelativeUrl,\n importFile,\n executeFile,\n }\n}\n\nconst readCoverage = () => window.__coverage__\n", - "/* eslint-env browser */\n\nimport { installBrowserErrorStackRemapping } from \"../error-stack-remapping/installBrowserErrorStackRemapping.js\"\nimport { fetchUrl } from \"../browser_utils/fetch_browser.js\"\nimport { fetchAndEvalUsingFetch } from \"../browser_utils/fetchAndEvalUsingFetch.js\"\nimport { unevalException } from \"../unevalException.js\"\nimport { memoize } from \"../memoize.js\"\n\nimport { displayErrorInDocument } from \"./displayErrorInDocument.js\"\nimport { displayErrorNotification } from \"./displayErrorNotification.js\"\nimport { createBrowserRuntime } from \"./createBrowserRuntime.js\"\n\nconst getNavigationStartTime = () => {\n try {\n return window.performance.timing.navigationStart\n } catch (e) {\n return Date.now()\n }\n}\n\nconst navigationStartTime = getNavigationStartTime()\n\nconst readyPromise = new Promise((resolve) => {\n if (document.readyState === \"complete\") {\n resolve()\n } else {\n const loadCallback = () => {\n window.removeEventListener(\"load\", loadCallback)\n resolve()\n }\n window.addEventListener(\"load\", loadCallback)\n }\n})\n\nconst fileExecutionMap = {}\n\nconst executionResultPromise = readyPromise.then(async () => {\n const fileExecutionResultMap = {}\n const fileExecutionResultPromises = []\n let status = \"completed\"\n let exceptionSource = \"\"\n Object.keys(fileExecutionMap).forEach((key) => {\n fileExecutionResultMap[key] = null // to get always same order for Object.keys(executionResult)\n const fileExecutionResultPromise = fileExecutionMap[key]\n fileExecutionResultPromises.push(fileExecutionResultPromise)\n fileExecutionResultPromise.then((fileExecutionResult) => {\n fileExecutionResultMap[key] = fileExecutionResult\n if (fileExecutionResult.status === \"errored\") {\n status = \"errored\"\n exceptionSource = fileExecutionResult.exceptionSource\n }\n })\n })\n await Promise.all(fileExecutionResultPromises)\n\n return {\n status,\n ...(status === \"errored\" ? { exceptionSource } : {}),\n startTime: navigationStartTime,\n endTime: Date.now(),\n fileExecutionResultMap,\n }\n})\n\nconst executeFileUsingDynamicImport = async (\n specifier,\n identifier = specifier,\n) => {\n const { currentScript } = document\n const fileExecutionResultPromise = (async () => {\n try {\n const url = new URL(specifier, document.location.href).href\n performance.mark(`jsenv_file_import_start`)\n const namespace = await import(url)\n performance.measure(`jsenv_file_import`, `jsenv_file_import_start`)\n const executionResult = {\n status: \"completed\",\n namespace,\n coverage: readCoverage(),\n }\n return executionResult\n } catch (e) {\n performance.measure(`jsenv_file_import`, `jsenv_file_import_start`)\n const executionResult = {\n status: \"errored\",\n error: e,\n coverage: readCoverage(),\n }\n onExecutionError(executionResult, { currentScript })\n return executionResult\n }\n })()\n fileExecutionMap[identifier] = fileExecutionResultPromise\n return fileExecutionResultPromise\n}\n\nconst executeFileUsingSystemJs = (specifier) => {\n // si on a déja importer ce fichier ??\n // if (specifier in fileExecutionMap) {\n\n // }\n\n const { currentScript } = document\n\n const fileExecutionResultPromise = (async () => {\n const browserRuntime = await getBrowserRuntime()\n const executionResult = await browserRuntime.executeFile(specifier, {\n measurePerformance: true,\n collectPerformance: true,\n })\n if (executionResult.status === \"errored\") {\n onExecutionError(executionResult, { currentScript })\n }\n return executionResult\n })()\n fileExecutionMap[specifier] = fileExecutionResultPromise\n return fileExecutionResultPromise\n}\n\nconst onExecutionError = (\n executionResult,\n {\n currentScript,\n errorExposureInConsole = true,\n errorExposureInNotification = false,\n errorExposureInDocument = true,\n },\n) => {\n const error = executionResult.error\n if (error && error.code === \"NETWORK_FAILURE\") {\n if (currentScript) {\n const errorEvent = new Event(\"error\")\n currentScript.dispatchEvent(errorEvent)\n }\n } else if (typeof error === \"object\") {\n const { parsingError } = error\n const globalErrorEvent = new Event(\"error\")\n if (parsingError) {\n globalErrorEvent.filename = parsingError.filename\n globalErrorEvent.lineno = parsingError.lineNumber\n globalErrorEvent.message = parsingError.message\n globalErrorEvent.colno = parsingError.columnNumber\n } else {\n globalErrorEvent.filename = error.filename\n globalErrorEvent.lineno = error.lineno\n globalErrorEvent.message = error.message\n globalErrorEvent.colno = error.columnno\n }\n window.dispatchEvent(globalErrorEvent)\n }\n\n if (errorExposureInConsole) {\n console.error(error)\n }\n if (errorExposureInNotification) {\n displayErrorNotification(error)\n }\n if (errorExposureInDocument) {\n displayErrorInDocument(error)\n }\n\n executionResult.exceptionSource = unevalException(error)\n delete executionResult.error\n}\n\nconst getBrowserRuntime = memoize(async () => {\n const compileServerOrigin = document.location.origin\n const compileServerResponse = await fetchUrl(\n `${compileServerOrigin}/__jsenv_compile_profile__`,\n )\n const compileServerMeta = await compileServerResponse.json()\n const { jsenvDirectoryRelativeUrl, errorStackRemapping } = compileServerMeta\n const jsenvDirectoryServerUrl = `${compileServerOrigin}/${jsenvDirectoryRelativeUrl}`\n const afterJsenvDirectory = document.location.href.slice(\n jsenvDirectoryServerUrl.length,\n )\n const parts = afterJsenvDirectory.split(\"/\")\n const compileId = parts[0]\n\n const browserRuntime = await createBrowserRuntime({\n compileServerOrigin,\n jsenvDirectoryRelativeUrl,\n compileId,\n })\n\n if (errorStackRemapping && Error.captureStackTrace) {\n const { sourcemapMainFileRelativeUrl, sourcemapMappingFileRelativeUrl } =\n compileServerMeta\n await fetchAndEvalUsingFetch(\n `${compileServerOrigin}/${sourcemapMainFileRelativeUrl}`,\n )\n const { SourceMapConsumer } = window.sourceMap\n SourceMapConsumer.initialize({\n \"lib/mappings.wasm\": `${compileServerOrigin}/${sourcemapMappingFileRelativeUrl}`,\n })\n const { getErrorOriginalStackString } = installBrowserErrorStackRemapping({\n SourceMapConsumer,\n })\n const errorTransform = async (error) => {\n // code can throw something else than an error\n // in that case return it unchanged\n if (!error || !(error instanceof Error)) return error\n const originalStack = await getErrorOriginalStackString(error)\n error.stack = originalStack\n return error\n }\n const executeFile = browserRuntime.executeFile\n browserRuntime.executeFile = (file, options = {}) => {\n return executeFile(file, { errorTransform, ...options })\n }\n }\n return browserRuntime\n})\n\nconst livereloadingCallbacks = {}\n\nconst readCoverage = () => window.__coverage__\n\nwindow.__jsenv__ = {\n livereloadingCallbacks,\n executionResultPromise,\n executeFileUsingDynamicImport,\n executeFileUsingSystemJs,\n}\n" - ], - "names": [ - "nativeTypeOf", - "obj", - "customTypeOf", - "Symbol", - "constructor", - "prototype", - "iterator", - "key", - "value", - "Object", - "defineProperty", - "enumerable", - "configurable", - "writable", - "ownKeys", - "object", - "enumerableOnly", - "keys", - "getOwnPropertySymbols", - "symbols", - "filter", - "sym", - "getOwnPropertyDescriptor", - "push", - "apply", - "_objectSpread2", - "target", - "i", - "arguments", - "length", - "source", - "forEach", - "getOwnPropertyDescriptors", - "defineProperties", - "arrayLikeToArray", - "arr", - "len", - "arr2", - "Array", - "isArray", - "_iterableToArray", - "iter", - "from", - "unsupportedIterableToArray", - "o", - "minLen", - "n", - "toString", - "call", - "slice", - "name", - "test", - "TypeError", - "arrayWithoutHoles", - "iterableToArray", - "nonIterableSpread", - "createDetailedMessage", - "message", - "details", - "string", - "join", - "stackToString", - "stack", - "error", - "indent", - "stackString", - "map", - "callSite", - "parseDataUrl", - "dataUrl", - "afterDataProtocol", - "commaIndex", - "indexOf", - "beforeComma", - "mediaType", - "base64Flag", - "endsWith", - "afterComma", - "data", - "dataUrlToRawData", - "base64ToString", - "window", - "atob", - "Buffer", - "btoa", - "base64String", - "getJavaScriptSourceMappingUrl", - "javaScriptSource", - "sourceMappingUrl", - "replaceSourceMappingUrl", - "javascriptSourceMappingUrlCommentRegexp", - "regexp", - "callback", - "lastSourceMappingUrl", - "matchSourceMappingUrl", - "exec", - "index", - "before", - "after", - "mappedAfter", - "replace", - "match", - "firstGroup", - "startsWithWindowsDriveLetter", - "firstChar", - "secondChar", - "windowsFilePathToUrl", - "windowsFilePath", - "replaceBackSlashesWithSlashes", - "then", - "direct", - "Promise", - "resolve", - "body", - "result", - "f", - "args", - "e", - "reject", - "remapCallSite", - "urlToSourcemapConsumer", - "resolveFile", - "readErrorStack", - "onFailure", - "isNative", - "getFileName", - "getScriptNameOrSourceURL", - "line", - "getLineNumber", - "column", - "getColumnNumber", - "remapSourcePosition", - "originalPosition", - "callSiteClone", - "cloneCallSite", - "getFunctionName", - "isEval", - "origin", - "getEvalOrigin", - "remapEvalOrigin", - "originalEvalOrigin", - "methods", - "callSiteToFunctionCall", - "fileLocation", - "callSiteToFileLocation", - "isConstructor", - "isMethodCall", - "isToplevel", - "callSiteToMethodCall", - "functionName", - "typeName", - "callSiteToType", - "methodName", - "getMethodName", - "as", - "generateAs", - "startsWith", - "getTypeName", - "sourceFile", - "callSiteToSourceFile", - "lineNumber", - "columnNumber", - "fileName", - "topLevelEvalMatch", - "Number", - "nestedEvalMatch", - "position", - "url", - "sourceToUrl", - "sourceMapConsumer", - "originalPositionFor", - "originalSource", - "type", - "startsWithScheme", - "recover", - "getOriginalCallsites", - "fetchFile", - "SourceMapConsumer", - "memoizeByFirstArgStringValue", - "stackTraceFileUrl", - "text", - "fileResponse", - "status", - "jsSourcemapUrl", - "sourcemapUrl", - "sourcemapString", - "sourcemapResponse", - "sourceMap", - "JSON", - "parse", - "sourcesContent", - "firstSourceMapSourceFailure", - "all", - "sources", - "sourcemapSourceUrl", - "sourceResponse", - "sourceString", - "fn", - "stringValueCache", - "firstArgValue", - "installErrorStackRemapping", - "errorRemappingCache", - "WeakMap", - "errorRemapFailureCallbackMap", - "installed", - "previousPrepareStackTrace", - "Error", - "prepareStackTrace", - "install", - "uninstall", - "failureData", - "failureCallbackArray", - "get", - "stackRemappingPromise", - "memoizeFetch", - "set", - "getErrorOriginalStackString", - "console", - "warn", - "remapFailureCallbackArray", - "promise", - "originalCallsites", - "firstCall", - "assign", - "filename", - "lineno", - "columnno", - "fetchUrl", - "urlCache", - "responsePromise", - "installBrowserErrorStackRemapping", - "options", - "fetch", - "mode", - "response", - "statusText", - "headers", - "responseToHeaders", - "json", - "bind", - "blob", - "arrayBuffer", - "specifier", - "importer", - "location", - "href", - "String", - "URL", - "excluded", - "sourceKeys", - "objectWithoutPropertiesLoose", - "sourceSymbolKeys", - "propertyIsEnumerable", - "fetchUsingXHR", - "signal", - "method", - "credentials", - "headersPromise", - "createPromiseAndHooks", - "bodyPromise", - "xhr", - "XMLHttpRequest", - "failure", - "settled", - "cleanup", - "ontimeout", - "onerror", - "onload", - "onreadystatechange", - "createRequestError", - "addEventListener", - "abort", - "abortError", - "readyState", - "open", - "setRequestHeader", - "withCredentials", - "computeWithCredentials", - "hasBlob", - "responseType", - "send", - "responseUrl", - "responseURL", - "responseStatus", - "responseStatusText", - "responseHeaders", - "getHeadersFromXHR", - "readBody", - "responseText", - "responseBody", - "responseBodyType", - "detectBodyType", - "blobToText", - "arrayBufferToText", - "buffer", - "Blob", - "cloneBuffer", - "blobToArrayBuffer", - "formData", - "hasFormData", - "textToFormData", - "canUseBlob", - "FileReader", - "FormData", - "hasArrayBuffer", - "ArrayBuffer", - "hasSearchParams", - "URLSearchParams", - "res", - "rej", - "originSameAsGlobalOrigin", - "globalOrigin", - "hrefToOrigin", - "isPrototypeOf", - "isDataView", - "isArrayBufferView", - "headerMap", - "headersString", - "getAllResponseHeaders", - "lines", - "trim", - "split", - "parts", - "shift", - "toLowerCase", - "scheme", - "hrefToScheme", - "secondProtocolSlashIndex", - "pathnameSlashIndex", - "colonIndex", - "DataView", - "isView", - "viewClasses", - "includes", - "form", - "bytes", - "append", - "decodeURIComponent", - "reader", - "fileReaderReady", - "readAsArrayBuffer", - "readAsText", - "view", - "Uint8Array", - "chars", - "fromCharCode", - "byteLength", - "_await", - "_async", - "fetchNative", - "AbortController", - "fetchAndEvalUsingFetch", - "eval", - "appendSourceURL", - "code", - "sourceURL", - "isComposite", - "compositeWellKnownMap", - "primitiveWellKnownMap", - "Map", - "getCompositeGlobalPath", - "getPrimitiveGlobalPath", - "visitGlobalObject", - "visitValue", - "path", - "has", - "visitProperty", - "property", - "descriptor", - "propertyValue", - "getOwnPropertyNames", - "symbol", - "global", - "decompose", - "mainValue", - "functionAllowed", - "prototypeStrict", - "ignoreSymbols", - "valueMap", - "recipeArray", - "valueToIdentifier", - "existingIdentifier", - "identifierForPrimitive", - "undefined", - "identifier", - "identifierForNewValue", - "primitiveToRecipe", - "createPromiseAreNotSupportedMessage", - "WeakSet", - "createWeakSetAreNotSupportedMessage", - "createWeakMapAreNotSupportedMessage", - "createForbiddenFunctionMessage", - "identifierForComposite", - "compositeGlobalPath", - "createGlobalReferenceRecipe", - "propertyDescriptionArray", - "propertyName", - "propertyDescriptor", - "propertyNameIdentifier", - "propertyDescription", - "computePropertyDescription", - "symbolDescriptionArray", - "symbolIdentifier", - "methodDescriptionArray", - "computeMethodDescriptionArray", - "extensible", - "isExtensible", - "createCompositeRecipe", - "propertyNameOrSymbol", - "createForbiddenPropertySetterMessage", - "createForbiddenPropertyGetterMessage", - "getIdentifier", - "setIdentifier", - "valueIdentifier", - "Set", - "callArray", - "entryValue", - "entryValueIdentifier", - "methodNameIdentifier", - "entryKey", - "entryKeyIdentifier", - "find", - "existingValue", - "is", - "nextIdentifier", - "currentIdentifier", - "parseInt", - "mainIdentifier", - "prototypeValueToIdentifier", - "prototypeValue", - "prototypeExistingIdentifier", - "prototypeIdentifier", - "prototypeGlobalPath", - "createUnknownPrototypeMessage", - "getPrototypeOf", - "identifierForValueOf", - "valueOf", - "valueOfReturnValue", - "createUnexpectedValueOfReturnValueMessage", - "recipe", - "valueOfIdentifier", - "RegExp", - "symbolToRecipe", - "createPimitiveRecipe", - "globalSymbolKey", - "keyFor", - "createGlobalSymbolRecipe", - "symbolGlobalPath", - "createUnknownSymbolMessage", - "sortRecipe", - "findInRecipePrototypeChain", - "currentRecipe", - "recipeArrayOrdered", - "sort", - "leftRecipe", - "rightRecipe", - "leftType", - "rightType", - "rightRecipeIsInLeftRecipePrototypeChain", - "recipeCandidate", - "leftRecipeIsInRightRecipePrototypeChain", - "leftIndex", - "rightIndex", - "escapeString", - "j", - "escapedString", - "char", - "escapedChar", - "uneval", - "recipeArraySorted", - "variableNameMap", - "indexSorted", - "identifierToVariableName", - "recipeToSetupSource", - "primitiveRecipeToSetupSource", - "globalSymbolRecipeToSetupSource", - "globalReferenceRecipeToSetupSource", - "compositeRecipeToSetupSource", - "pathSource", - "part", - "prototypeConstructor", - "recipeVariableName", - "recipeToMutateSource", - "compositeRecipeToMutateSource", - "mutateSource", - "generateDefinePropertySource", - "generateMethodCallSource", - "generatePreventExtensionSource", - "propertyNameOrSymbolIdentifier", - "propertyOrSymbolVariableName", - "propertyDescriptorSource", - "generatePropertyDescriptorSource", - "methodCallSource", - "methodVariableName", - "argumentIdentifiers", - "argumentVariableNames", - "argumentIdentifier", - "unevalException", - "hasOwnProperty", - "memoize", - "compute", - "memoized", - "memoizedValue", - "fnWithMemoization", - "forget", - "displayErrorInDocument", - "title", - "theme", - "parsingError", - "errorToHTML", - "messageHTML", - "escapeHtml", - "css", - "html", - "removeJsenvConsole", - "appendHMTLInside", - "document", - "querySelector", - "onclick", - "captureStackTrace", - "stringify", - "htmlWithCorrectLineBreaks", - "htmlWithLinks", - "stringToStringWithLink", - "transform", - "linkHTML", - "lastChar", - "endsWithSeparationChar", - "lineAndColumnPattern", - "lineAndColumMatch", - "lineAndColumnString", - "link", - "linePattern", - "lineMatch", - "lineString", - "parentNode", - "temoraryParent", - "createElement", - "innerHTML", - "transferChildren", - "fromNode", - "toNode", - "childNodes", - "appendChild", - "c", - "Notification", - "displayErrorNotificationNotAvailable", - "displayErrorNotificationImplementation", - "icon", - "permission", - "notification", - "lang", - "focus", - "displayErrorNotification", - "assertImportMap", - "hasScheme", - "urlToScheme", - "urlString", - "urlToPathname", - "ressourceToPathname", - "urlToRessource", - "afterProtocol", - "ressource", - "searchSeparatorIndex", - "urlToOrigin", - "pathnameToParentPathname", - "pathname", - "slashLastIndex", - "lastIndexOf", - "resolveUrl", - "baseUrl", - "writeBaseUrlMustBeAString", - "writeBaseUrlMustBeAbsolute", - "writeBaseUrlRequired", - "baseOrigin", - "basePathname", - "baseDirectoryPathname", - "unresolvedPathname", - "importerFolders", - "pop", - "resolvedPathname", - "tryUrlResolution", - "resolveSpecifier", - "sortImports", - "imports", - "mappingsSorted", - "compareLengthOrLocaleCompare", - "sortScopes", - "scopes", - "scopesSorted", - "scopeSpecifier", - "a", - "b", - "localeCompare", - "normalizeImportMap", - "importMap", - "isStringOrUrl", - "formulateBaseUrlMustBeStringOrUrl", - "normalizeMappings", - "normalizeScopes", - "mappings", - "mappingsNormalized", - "address", - "formulateAddressMustBeAString", - "specifierResolved", - "addressUrl", - "formulateAdressResolutionFailed", - "formulateAddressUrlRequiresTrailingSlash", - "scopesNormalized", - "scopeMappings", - "scopeUrl", - "formulateScopeResolutionFailed", - "scope", - "scopeValueNormalized", - "addressURL", - "pathnameToExtension", - "dotLastIndex", - "applyImportMap", - "createBareSpecifierError", - "onImportMapping", - "specifierUrl", - "specifierNormalized", - "scopeSpecifierMatching", - "specifierIsPrefixOf", - "mappingFromScopes", - "applyMappings", - "mappingFromImports", - "specifierCandidates", - "specifierCandidate", - "to", - "afterSpecifier", - "addressFinal", - "specifierHref", - "resolveImport", - "defaultExtension", - "applyDefaultExtension", - "extension", - "importerPathname", - "importerExtension", - "getJavaScriptModuleResponseError", - "importerUrl", - "compileServerOrigin", - "compileDirectoryRelativeUrl", - "jsonContentTypeAccepted", - "getModuleDetails", - "notFound", - "contentType", - "bodyAsJson", - "suggestion", - "relativeUrl", - "tryToFindProjectRelativeUrl", - "importerRelativeUrl", - "file", - "afterOrigin", - "afterCompileDirectory", - "urlToExtension", - "fakeUrl", - "specifierExtension", - "createImportResolverForImportmap", - "importMapUrl", - "importDefaultExtension", - "onBareSpecifierError", - "_resolveImport", - "bareSpecifierError", - "detailedMessage", - "performance", - "thrown", - "finalizer", - "measureAsyncFnPerf", - "perfMarkStartName", - "mark", - "measure", - "errMsg", - "errCode", - "msg", - "hasSymbol", - "hasSelf", - "self", - "hasDocument", - "envGlobal", - "baseEl", - "lastSepIndex", - "backslashRegEx", - "resolveIfNotPlainOrUrl", - "relUrl", - "parentUrl", - "parentProtocol", - "segmented", - "output", - "segmentIndex", - "resolveAndComposePackages", - "packages", - "outPackages", - "parentMap", - "p", - "resolvedLhs", - "rhs", - "mapped", - "resolveImportMap", - "targetWarning", - "resolveAndComposeImportMap", - "outMap", - "u", - "resolvedScope", - "depcache", - "integrity", - "getMatch", - "matchObj", - "sepIndex", - "segment", - "applyPackages", - "id", - "pkgName", - "pkg", - "resolvedOrPlain", - "packageResolution", - "toStringTag", - "REGISTRY", - "SystemJS", - "systemJSPrototype", - "import", - "loader", - "prepareImport", - "load", - "getOrCreateLoad", - "C", - "topLevelLoad", - "createContext", - "parentId", - "lastRegister", - "register", - "deps", - "declare", - "getRegister", - "_lastRegister", - "firstParentUrl", - "importerSetters", - "ns", - "create", - "instantiatePromise", - "instantiate", - "registration", - "_export", - "h", - "changed", - "__esModule", - "setter", - "declared", - "importId", - "meta", - "execute", - "setters", - "err", - "er", - "linkPromise", - "instantiation", - "dep", - "depId", - "depLoad", - "I", - "depLoads", - "d", - "L", - "E", - "instantiateAll", - "parent", - "loaded", - "catch", - "postOrderExec", - "nullContext", - "freeze", - "seen", - "depLoadPromises", - "depLoadPromise", - "doExec", - "execPromise", - "System", - "importMapPromise", - "processFirst", - "doProcessScripts", - "processScripts", - "querySelectorAll", - "script", - "sp", - "src", - "event", - "createEvent", - "initEvent", - "dispatchEvent", - "fetchPromise", - "ok", - "extendImportMap", - "newMapText", - "newMapUrl", - "newMap", - "evt", - "lastWindowErrorUrl", - "lastWindowError", - "createScript", - "async", - "crossOrigin", - "lastAutoImportDeps", - "lastAutoImportTimeout", - "autoImportCandidates", - "systemRegister", - "inlineScriptCount", - "autoUrl", - "scripts", - "lastScript", - "lastAutoImportUrl", - "setTimeout", - "autoImportRegistration", - "head", - "removeChild", - "clearTimeout", - "shouldFetch", - "jsContentTypeRegEx", - "throwUnresolved", - "systemInstantiate", - "preloads", - "importScripts", - "registerRegistry", - "define", - "WorkerGlobalScope", - "importMapFromParentPromise", - "importmapMessageCallback", - "removeEventListener", - "ports", - "onmessage", - "postMessage", - "importmap", - "messageEvents", - "messageCallback", - "messageEvent", - "WorkerConstructor", - "Worker", - "worker", - "importmapChannel", - "MessageChannel", - "port1", - "port2", - "serviceWorker", - "navigator", - "registrationPromise", - "installing", - "waiting", - "active", - "createBrowserSystem", - "importResolver", - "fetchSource", - "browserSystem", - "extractImportTypeFromUrl", - "importType", - "urlWithoutImportType", - "instantiateAsJsonModule", - "jsonModule", - "instantiateAsCssModule", - "cssModule", - "vendor", - "createDetailedInstantiateError", - "instantiateError", - "jsenvError", - "urlObject", - "search", - "searchParams", - "delete", - "contentTypeExpected", - "compileDirectoryServerUrl", - "originalFileRelativeUrl", - "__jsenv__", - "livereloadingCallbacks", - "reloadPage", - "cssText", - "cssTextWithBaseUrl", - "cssWithBaseUrl", - "cssUrl", - "sheet", - "CSSStyleSheet", - "replaceSync", - "cssDirectoryUrl", - "baseDirectoryUrl", - "cssTextRelocated", - "quotes", - "relUrl1", - "relUrl2", - "absoluteUrl", - "jsModuleResponseError", - "makeNamespaceTransferable", - "namespace", - "transferableNamespace", - "isTransferable", - "hideNonTransferableValue", - "seenArray", - "visit", - "constructorName", - "supportedTypes", - "maybe", - "maybeTypes", - "visited", - "every", - "values", - "memoizedCreateBrowserSystem", - "createBrowserRuntime", - "jsenvDirectoryRelativeUrl", - "compileId", - "fetchJson", - "compileServerMetaUrl", - "importmapScript", - "importmapRaw", - "importmapFileResponse", - "textContent", - "importFile", - "executeFile", - "executionExposureOnWindow", - "errorTransform", - "measurePerformance", - "importUsingSystemJs", - "coverage", - "readCoverage", - "transformedError", - "executionResult", - "__executionResult__", - "__coverage__", - "getNavigationStartTime", - "timing", - "navigationStart", - "Date", - "now", - "navigationStartTime", - "_catch", - "readyPromise", - "loadCallback", - "_call", - "fileExecutionMap", - "_invoke", - "executionResultPromise", - "fileExecutionResultMap", - "fileExecutionResultPromises", - "exceptionSource", - "fileExecutionResultPromise", - "fileExecutionResult", - "startTime", - "endTime", - "executeFileUsingDynamicImport", - "currentScript", - "onExecutionError", - "executeFileUsingSystemJs", - "getBrowserRuntime", - "browserRuntime", - "collectPerformance", - "errorExposureInConsole", - "errorExposureInNotification", - "errorExposureInDocument", - "errorEvent", - "Event", - "globalErrorEvent", - "colno", - "compileServerResponse", - "compileServerMeta", - "errorStackRemapping", - "jsenvDirectoryServerUrl", - "afterJsenvDirectory", - "sourcemapMainFileRelativeUrl", - "sourcemapMappingFileRelativeUrl", - "initialize", - "originalStack" - ], - "mappings": "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" -} \ No newline at end of file diff --git a/dist/build_manifest.js b/dist/build_manifest.js index 8b8b7f6786..2d36de0bd9 100644 --- a/dist/build_manifest.js +++ b/dist/build_manifest.js @@ -1,12 +1,12 @@ -export const REDIRECTOR_BUILD_URL = new URL("redirector/redirector_ddc79416.html", import.meta.url).href +export const REDIRECTOR_BUILD_URL = new URL("redirector/redirector_8117ec92.html", import.meta.url).href -export const BROWSER_RUNTIME_BUILD_URL = new URL("browser_runtime/browser_runtime_c81cd9af.js", import.meta.url).href +export const BROWSER_CLIENT_BUILD_URL = new URL("browser_client/browser_client_fb33eaa4.js", import.meta.url).href -export const COMPILE_PROXY_BUILD_URL = new URL("compile_proxy/compile_proxy_93ec4247.html", import.meta.url).href +export const COMPILE_PROXY_BUILD_URL = new URL("compile_proxy/compile_proxy_62f952c4.html", import.meta.url).href export const EVENT_SOURCE_CLIENT_BUILD_URL = new URL("event_source_client/event_source_client_69f48287.js", import.meta.url).href -export const TOOLBAR_BUILD_URL = new URL("toolbar/toolbar_d6045dd0.html", import.meta.url).href +export const TOOLBAR_BUILD_URL = new URL("toolbar/toolbar_b0c9100c.html", import.meta.url).href -export const TOOLBAR_INJECTOR_BUILD_URL = new URL("toolbar_injector/toolbar_injector_c8c214dd.js", import.meta.url).href +export const TOOLBAR_INJECTOR_BUILD_URL = new URL("toolbar_injector/toolbar_injector_65b501eb.js", import.meta.url).href diff --git a/dist/compile_proxy/asset-manifest.json b/dist/compile_proxy/asset-manifest.json index fe683e8415..c48983c4d0 100644 --- a/dist/compile_proxy/asset-manifest.json +++ b/dist/compile_proxy/asset-manifest.json @@ -1,4 +1,4 @@ { - "compile_proxy.html": "compile_proxy_93ec4247.html", - "compile_proxy.html__inline__20.js.map": "compile_proxy.html__inline__20_c05fdc30.js.map" + "compile_proxy.html": "compile_proxy_62f952c4.html", + "compile_proxy.html__inline__20.js.map": "compile_proxy.html__inline__20_651d1e7b.js.map" } \ No newline at end of file diff --git a/dist/compile_proxy/compile_proxy.html__inline__20_651d1e7b.js.map b/dist/compile_proxy/compile_proxy.html__inline__20_651d1e7b.js.map new file mode 100644 index 0000000000..3a47069363 --- /dev/null +++ b/dist/compile_proxy/compile_proxy.html__inline__20_651d1e7b.js.map @@ -0,0 +1,343 @@ +{ + "version": 3, + "file": "compile_proxy.html__inline__20.js", + "sources": [ + "../../helpers/babel/defineProperty/defineProperty.js", + "../../helpers/babel/objectSpread2/objectSpread2.js", + "../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js", + "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js", + "../../helpers/babel/typeof/typeof.js", + "../../src/internal/browser_utils/fetch_using_xhr.js", + "../../src/internal/browser_utils/fetch_browser.js", + "../../src/internal/browser_utils/fetch_json.js", + "../../src/internal/browser_detection/user_agent_data.js", + "../../src/internal/browser_detection/util.js", + "../../src/internal/browser_detection/detect_android.js", + "../../src/internal/browser_detection/detect_internet_explorer.js", + "../../src/internal/browser_detection/detect_opera.js", + "../../src/internal/browser_detection/detect_edge.js", + "../../src/internal/browser_detection/detect_firefox.js", + "../../src/internal/browser_detection/detect_chrome.js", + "../../src/internal/browser_detection/detect_safari.js", + "../../src/internal/browser_detection/detect_electron.js", + "../../src/internal/browser_detection/detect_ios.js", + "../../src/internal/browser_detection/browser_detection.js", + "../../src/internal/features/browser_feature_detection/execute_with_script_module.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_importmap.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_dynamic_import.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_top_level_await.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_json.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_css.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_new_stylesheet.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detection.js", + "../../src/internal/features/browser_feature_detection/compile_proxy.html__inline__20.js" + ], + "sourcesContent": [ + "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n", + "import defineProperty from \"../defineProperty/defineProperty.js\"\n\n// This function is different to \"Reflect.ownKeys\". The enumerableOnly\n// filters on symbol properties only. Returned string properties are always\n// enumerable. It is good to use in objectSpread.\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}", + "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n", + "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n", + "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n", + "export const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", + "import { fetchUsingXHR } from \"./fetch_using_xhr.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", + "import { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n", + "/*\n * Prefer window.navigator.userAgentData before resorting to\n * window.navigator.userAgent because of\n * https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html\n */\n\nexport const detectFromUserAgentData = () => {\n const { userAgentData } = window.navigator\n if (!userAgentData) {\n return null\n }\n const { brands } = userAgentData\n let i = 0\n while (i < brands.length) {\n const { brand, version } = brands[i]\n i++\n if (brand === \"chromium\" || brand === \"Google Chrome\") {\n return {\n name: \"chrome\",\n version,\n }\n }\n }\n return null\n}\n", + "export const firstMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 0 ? match[1] || undefined : undefined\n}\n\nexport const secondMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 1 ? match[2] || undefined : undefined\n}\n\nexport const userAgentToVersion = (userAgent) => {\n return firstMatch(/version\\/(\\d+(\\.?_?\\d+)+)/i, userAgent) || undefined\n}\n", + "import { firstMatch } from \"./util.js\"\n\nexport const detectAndroid = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/(android)/i.test(userAgent)) {\n return {\n name: \"android\",\n version: firstMatch(/Android (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", + "import { firstMatch } from \"./util.js\"\n\nexport const detectInternetExplorer = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/msie|trident/i.test(userAgent)) {\n return {\n name: \"ie\",\n version: firstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n", + "import { firstMatch, userAgentToVersion } from \"./util.js\"\n\nexport const detectOpera = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n // opera below 13\n if (/opera/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n userAgentToVersion(userAgent) ||\n firstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n\n // opera above 13\n if (/opr\\/|opios/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n firstMatch(/(?:opr|opios)[\\s/](\\S+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n return null\n}\n", + "import { secondMatch } from \"./util.js\"\n\nexport const detectEdge = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/edg([ea]|ios)/i.test(userAgent)) {\n return {\n name: \"edge\",\n version: secondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n", + "import { firstMatch } from \"./util.js\"\n\nexport const detectFirefox = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/firefox|iceweasel|fxios/i.test(userAgent)) {\n return {\n name: \"firefox\",\n version: firstMatch(\n /(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n return null\n}\n", + "import { userAgentToVersion, firstMatch } from \"./util.js\"\n\nexport const detectChrome = () => {\n return userAgentToBrowser(window.navigator.userAgent)\n}\n\nconst userAgentToBrowser = (userAgent) => {\n if (/chromium/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version:\n firstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n if (/chrome|crios|crmo/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version: firstMatch(\n /(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n\n return null\n}\n", + "import { userAgentToVersion } from \"./util.js\"\n\nexport const detectSafari = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/safari|applewebkit/i.test(userAgent)) {\n return {\n name: \"safari\",\n version: userAgentToVersion(userAgent),\n }\n }\n return null\n}\n", + "export const detectElectron = () => null // TODO\n", + "import { firstMatch } from \"./util.js\"\n\nexport const detectIOS = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/iPhone;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n if (/iPad;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", + "// https://github.com/Ahmdrza/detect-browser/blob/26254f85cf92795655a983bfd759d85f3de850c6/detect-browser.js#L1\n// https://github.com/lancedikson/bowser/blob/master/src/parser-browsers.js#L1\n\nimport { detectFromUserAgentData } from \"./user_agent_data.js\"\nimport { detectAndroid } from \"./detect_android.js\"\nimport { detectInternetExplorer } from \"./detect_internet_explorer.js\"\nimport { detectOpera } from \"./detect_opera.js\"\nimport { detectEdge } from \"./detect_edge.js\"\nimport { detectFirefox } from \"./detect_firefox.js\"\nimport { detectChrome } from \"./detect_chrome.js\"\nimport { detectSafari } from \"./detect_safari.js\"\nimport { detectElectron } from \"./detect_electron.js\"\nimport { detectIOS } from \"./detect_ios.js\"\n\nconst detectorCompose = (detectors) => () => {\n let i = 0\n while (i < detectors.length) {\n const detector = detectors[i]\n i++\n const result = detector()\n if (result) {\n return result\n }\n }\n return null\n}\n\nconst detector = detectorCompose([\n detectFromUserAgentData, // keep this first\n detectOpera,\n detectInternetExplorer,\n detectEdge,\n detectFirefox,\n detectChrome,\n detectSafari,\n detectElectron,\n detectIOS,\n detectAndroid,\n])\n\nexport const detectBrowser = () => {\n const { name = \"other\", version = \"unknown\" } = detector() || {}\n return {\n name: normalizeName(name),\n version: normalizeVersion(version),\n }\n}\n\nconst normalizeName = (name) => {\n return name.toLowerCase()\n}\n\nconst normalizeVersion = (version) => {\n if (version.indexOf(\".\") > -1) {\n const parts = version.split(\".\")\n // remove extraneous .\n return parts.slice(0, 3).join(\".\")\n }\n if (version.indexOf(\"_\") > -1) {\n const parts = version.split(\"_\")\n // remove extraneous _\n return parts.slice(0, 3).join(\"_\")\n }\n return version\n}\n", + "export const executeWithScriptModuleInjection = (code) => {\n const scriptModule = document.createElement(\"script\")\n scriptModule.type = \"module\"\n\n const loadPromise = new Promise((resolve, reject) => {\n scriptModule.onload = () => {\n document.body.removeChild(scriptModule)\n resolve()\n }\n scriptModule.onerror = () => {\n document.body.removeChild(scriptModule)\n reject()\n }\n document.body.appendChild(scriptModule)\n })\n\n scriptModule.src = asBase64Url(code)\n\n return loadPromise\n}\n\nexport const asBase64Url = (text, mimeType = \"application/javascript\") => {\n return `data:${mimeType};base64,${window.btoa(text)}`\n}\n", + "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsImportmap = async ({ remote = true } = {}) => {\n const specifier = asBase64Url(`export default false`)\n const importMap = {\n imports: {\n [specifier]: asBase64Url(`export default true`),\n },\n }\n const importmapScript = document.createElement(\"script\")\n const importmapString = JSON.stringify(importMap, null, \" \")\n importmapScript.type = \"importmap\"\n if (remote) {\n importmapScript.src = `data:application/json;base64,${window.btoa(\n importmapString,\n )}`\n } else {\n importmapScript.textContent = importmapString\n }\n document.body.appendChild(importmapScript)\n\n try {\n await executeWithScriptModuleInjection(\n `import supported from \"${specifier}\"; window.__jsenv_runtime_test_importmap__ = supported`,\n )\n document.body.removeChild(importmapScript)\n const supported = window.__jsenv_runtime_test_importmap__\n delete window.__jsenv_runtime_test_importmap__\n return supported\n } catch (e) {\n document.body.removeChild(importmapScript)\n return false\n }\n}\n", + "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsDynamicImport = async () => {\n const moduleSource = asBase64Url(`export default 42`)\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_dynamic_import__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_dynamic_import__\n delete window.__jsenv_runtime_test_dynamic_import__\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n", + "import { executeWithScriptModuleInjection } from \"./execute_with_script_module.js\"\n\nexport const supportsTopLevelAwait = async () => {\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_top_level_await__ = await Promise.resolve(42)`,\n )\n const supported = window.__jsenv_runtime_test_top_level_await__ === 42\n delete window.__jsenv_runtime_test_top_level_await__\n return supported\n } catch (e) {\n return false\n }\n}\n", + "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsJsonImportAssertions = async () => {\n const jsonBase64Url = asBase64Url(\"42\", \"application/json\")\n const moduleSource = asBase64Url(\n `import data from \"${jsonBase64Url}\" assert { type: \"json\" }\n export default data`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_json_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_json_import_assertion__\n const supported = namespace.default === 42\n delete window.__jsenv_runtime_test_json_import_assertion__\n return supported\n } catch (e) {\n return false\n }\n}\n", + "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsCssImportAssertions = async () => {\n const cssBase64Url = asBase64Url(\"p { color: red; }\", \"text/css\")\n const moduleSource = asBase64Url(\n `import css from \"${cssBase64Url}\" assert { type: \"css\" }\n export default css`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_css_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_css_import_assertion__\n return namespace.default instanceof CSSStyleSheet\n } catch (e) {\n return false\n }\n}\n", + "export const supportsNewStylesheet = () => {\n try {\n // eslint-disable-next-line no-new\n new CSSStyleSheet()\n return true\n } catch (e) {\n return false\n }\n}\n", + "import { fetchJson } from \"../../browser_utils/fetch_json.js\"\nimport { detectBrowser } from \"../../browser_detection/browser_detection.js\"\n\nimport { supportsImportmap } from \"./browser_feature_detect_importmap.js\"\nimport { supportsDynamicImport } from \"./browser_feature_detect_dynamic_import.js\"\nimport { supportsTopLevelAwait } from \"./browser_feature_detect_top_level_await.js\"\nimport { supportsJsonImportAssertions } from \"./browser_feature_detect_import_assertions_json.js\"\nimport { supportsCssImportAssertions } from \"./browser_feature_detect_import_assertions_css.js\"\nimport { supportsNewStylesheet } from \"./browser_feature_detect_new_stylesheet.js\"\n\nexport const scanBrowserRuntimeFeatures = async ({\n coverageHandledFromOutside = false,\n forceCompilation = false,\n forceSource = false,\n} = {}) => {\n const jsenvCompileProfileUrl = \"/__jsenv_compile_profile__\"\n const {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n } = await fetchJson(jsenvCompileProfileUrl)\n const { name, version } = detectBrowser()\n const featuresReport = await detectSupportedFeatures({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n })\n const runtimeReport = {\n env: { browser: true },\n name,\n version,\n featuresReport,\n forceSource,\n forceCompilation,\n }\n const { compileProfile, compileId } = await fetchJson(\n jsenvCompileProfileUrl,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(runtimeReport),\n },\n )\n return {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n runtimeReport,\n compileProfile,\n compileId,\n }\n}\n\nconst detectSupportedFeatures = async ({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n}) => {\n const featuresReport = {}\n featuresReport[\"import_http\"] = true\n featuresReport[\"coverage_js\"] = coverageHandledFromOutside\n // new CSSStyleSheet\n featuresReport[\"new_stylesheet\"] = supportsNewStylesheet()\n // importmap\n // start testing importmap support first and not in paralell\n // so that there is not module script loaded beore importmap is injected\n // it would log an error in chrome console and return undefined\n featuresReport.importmap = await supportsImportmap({\n // chrome supports inline but not remote importmap\n // https://github.com/WICG/import-maps/issues/235\n // at this stage we won't know if the html file will use\n // an importmap or not and if that importmap is inline or specified with an src\n // so we should test if browser support local and remote importmap.\n // But there exploring server can inline importmap by transforming html\n // and in that case we can test only the local importmap support\n // so we test importmap support and the remote one\n remote: !inlineImportMapIntoHTML,\n })\n // dynamic import\n featuresReport[\"import_dynamic\"] = await supportsDynamicImport()\n // top level await\n featuresReport[\"top_level_await\"] = await supportsTopLevelAwait()\n // import assertions\n featuresReport[\"import_assertion_type_json\"] =\n await supportsJsonImportAssertions()\n featuresReport[\"import_assertion_type_css\"] =\n await supportsCssImportAssertions()\n return featuresReport\n}\n", + "\n import { scanBrowserRuntimeFeatures } from \"./browser_feature_detection.js\"\n\n window.scanBrowserRuntimeFeatures = scanBrowserRuntimeFeatures\n window.resolveReadyPromise()\n " + ], + "names": [ + "obj", + "key", + "value", + "Object", + "defineProperty", + "enumerable", + "configurable", + "writable", + "ownKeys", + "object", + "enumerableOnly", + "keys", + "getOwnPropertySymbols", + "symbols", + "filter", + "sym", + "getOwnPropertyDescriptor", + "push", + "apply", + "_objectSpread2", + "target", + "i", + "arguments", + "length", + "source", + "forEach", + "getOwnPropertyDescriptors", + "defineProperties", + "excluded", + "sourceKeys", + "indexOf", + "objectWithoutPropertiesLoose", + "sourceSymbolKeys", + "prototype", + "propertyIsEnumerable", + "call", + "nativeTypeOf", + "customTypeOf", + "Symbol", + "constructor", + "iterator", + "then", + "direct", + "Promise", + "resolve", + "f", + "args", + "e", + "reject", + "body", + "result", + "fetchUsingXHR", + "url", + "signal", + "method", + "credentials", + "headers", + "headersPromise", + "createPromiseAndHooks", + "bodyPromise", + "xhr", + "XMLHttpRequest", + "failure", + "error", + "settled", + "cleanup", + "ontimeout", + "onerror", + "onload", + "onreadystatechange", + "Error", + "createRequestError", + "addEventListener", + "abort", + "abortError", + "name", + "readyState", + "open", + "setRequestHeader", + "withCredentials", + "computeWithCredentials", + "hasBlob", + "responseType", + "send", + "responseUrl", + "responseURL", + "responseStatus", + "status", + "responseStatusText", + "statusText", + "responseHeaders", + "getHeadersFromXHR", + "readBody", + "response", + "responseText", + "responseBody", + "responseBodyType", + "detectBodyType", + "text", + "blobToText", + "arrayBufferToText", + "buffer", + "String", + "json", + "JSON", + "parse", + "blob", + "Blob", + "cloneBuffer", + "arrayBuffer", + "blobToArrayBuffer", + "formData", + "hasFormData", + "textToFormData", + "canUseBlob", + "window", + "FileReader", + "FormData", + "hasArrayBuffer", + "ArrayBuffer", + "hasSearchParams", + "URLSearchParams", + "stack", + "promise", + "res", + "rej", + "originSameAsGlobalOrigin", + "_typeof", + "location", + "globalOrigin", + "origin", + "hrefToOrigin", + "isPrototypeOf", + "isDataView", + "isArrayBufferView", + "headerMap", + "headersString", + "getAllResponseHeaders", + "lines", + "trim", + "split", + "line", + "parts", + "shift", + "join", + "toLowerCase", + "href", + "scheme", + "hrefToScheme", + "secondProtocolSlashIndex", + "pathnameSlashIndex", + "slice", + "colonIndex", + "DataView", + "isView", + "viewClasses", + "includes", + "toString", + "form", + "bytes", + "replace", + "append", + "decodeURIComponent", + "reader", + "fileReaderReady", + "readAsArrayBuffer", + "readAsText", + "view", + "Uint8Array", + "chars", + "Array", + "fromCharCode", + "byteLength", + "set", + "_await", + "_async", + "fetchNative", + "mode", + "options", + "fetch", + "responseToHeaders", + "fetchUrl", + "AbortController", + "fetchJson", + "detectFromUserAgentData", + "userAgentData", + "navigator", + "brands", + "brand", + "version", + "firstMatch", + "regexp", + "string", + "match", + "undefined", + "secondMatch", + "userAgentToVersion", + "userAgent", + "detectAndroid", + "navigatorToBrowser", + "appVersion", + "test", + "detectInternetExplorer", + "userAgentToBrowser", + "detectOpera", + "detectEdge", + "detectFirefox", + "detectChrome", + "detectSafari", + "detectElectron", + "detectIOS", + "detectorCompose", + "detectors", + "detector", + "detectBrowser", + "normalizeName", + "normalizeVersion", + "executeWithScriptModuleInjection", + "code", + "scriptModule", + "document", + "createElement", + "type", + "loadPromise", + "removeChild", + "appendChild", + "src", + "asBase64Url", + "mimeType", + "btoa", + "recover", + "supportsImportmap", + "remote", + "specifier", + "importMap", + "imports", + "importmapScript", + "importmapString", + "stringify", + "textContent", + "supported", + "__jsenv_runtime_test_importmap__", + "supportsDynamicImport", + "moduleSource", + "__jsenv_runtime_test_dynamic_import__", + "namespace", + "default", + "supportsTopLevelAwait", + "__jsenv_runtime_test_top_level_await__", + "supportsJsonImportAssertions", + "jsonBase64Url", + "__jsenv_runtime_test_json_import_assertion__", + "supportsCssImportAssertions", + "cssBase64Url", + "__jsenv_runtime_test_css_import_assertion__", + "CSSStyleSheet", + "supportsNewStylesheet", + "scanBrowserRuntimeFeatures", + "coverageHandledFromOutside", + "forceCompilation", + "forceSource", + "jsenvCompileProfileUrl", + "jsenvDirectoryRelativeUrl", + "inlineImportMapIntoHTML", + "availableCompileIds", + "detectSupportedFeatures", + "featuresReport", + "runtimeReport", + "env", + "browser", + "compileProfile", + "compileId", + "importmap", + "resolveReadyPromise" + ], + "mappings": "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" +} \ No newline at end of file diff --git a/dist/compile_proxy/compile_proxy.html__inline__20_c05fdc30.js.map b/dist/compile_proxy/compile_proxy.html__inline__20_c05fdc30.js.map deleted file mode 100644 index 0db71872cc..0000000000 --- a/dist/compile_proxy/compile_proxy.html__inline__20_c05fdc30.js.map +++ /dev/null @@ -1,343 +0,0 @@ -{ - "version": 3, - "file": "compile_proxy.html__inline__20.js", - "sources": [ - "../../helpers/babel/defineProperty/defineProperty.js", - "../../helpers/babel/objectSpread2/objectSpread2.js", - "../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js", - "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js", - "../../helpers/babel/typeof/typeof.js", - "../../src/internal/browser_utils/fetchUsingXHR.js", - "../../src/internal/browser_utils/fetch_browser.js", - "../../src/internal/browser_utils/fetchJson.js", - "../../src/internal/browser_detection/user_agent_data.js", - "../../src/internal/browser_detection/util.js", - "../../src/internal/browser_detection/detectAndroid.js", - "../../src/internal/browser_detection/detectInternetExplorer.js", - "../../src/internal/browser_detection/detectOpera.js", - "../../src/internal/browser_detection/detectEdge.js", - "../../src/internal/browser_detection/detectFirefox.js", - "../../src/internal/browser_detection/detectChrome.js", - "../../src/internal/browser_detection/detectSafari.js", - "../../src/internal/browser_detection/detectElectron.js", - "../../src/internal/browser_detection/detectIOS.js", - "../../src/internal/browser_detection/browser_detection.js", - "../../src/internal/features/browser_feature_detection/execute_with_script_module.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_importmap.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_dynamic_import.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_top_level_await.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_json.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_css.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_new_stylesheet.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detection.js", - "../../src/internal/features/browser_feature_detection/compile_proxy.html__inline__20.js" - ], - "sourcesContent": [ - "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n", - "import defineProperty from \"../defineProperty/defineProperty.js\"\n\n// This function is different to \"Reflect.ownKeys\". The enumerableOnly\n// filters on symbol properties only. Returned string properties are always\n// enumerable. It is good to use in objectSpread.\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}", - "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n", - "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n", - "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n", - "/* eslint-env browser */\n\nexport const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", - "import { fetchUsingXHR } from \"./fetchUsingXHR.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", - "import { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n", - "/*\n * Prefer window.navigator.userAgentData before resorting to\n * window.navigator.userAgent because of\n * https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html\n */\n\nexport const detectFromUserAgentData = () => {\n const { userAgentData } = window.navigator\n if (!userAgentData) {\n return null\n }\n\n const { brands } = userAgentData\n let i = 0\n while (i < brands.length) {\n const { brand, version } = brands[i]\n i++\n if (brand === \"chromium\" || brand === \"Google Chrome\") {\n return {\n name: \"chrome\",\n version,\n }\n }\n }\n return null\n}\n", - "export const firstMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 0 ? match[1] || undefined : undefined\n}\n\nexport const secondMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 1 ? match[2] || undefined : undefined\n}\n\nexport const userAgentToVersion = (userAgent) => {\n return firstMatch(/version\\/(\\d+(\\.?_?\\d+)+)/i, userAgent) || undefined\n}\n", - "import { firstMatch } from \"./util.js\"\n\nexport const detectAndroid = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/(android)/i.test(userAgent)) {\n return {\n name: \"android\",\n version: firstMatch(/Android (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", - "import { firstMatch } from \"./util.js\"\n\nexport const detectInternetExplorer = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/msie|trident/i.test(userAgent)) {\n return {\n name: \"ie\",\n version: firstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n", - "import { firstMatch, userAgentToVersion } from \"./util.js\"\n\nexport const detectOpera = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n // opera below 13\n if (/opera/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n userAgentToVersion(userAgent) ||\n firstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n\n // opera above 13\n if (/opr\\/|opios/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n firstMatch(/(?:opr|opios)[\\s/](\\S+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n return null\n}\n", - "import { secondMatch } from \"./util.js\"\n\nexport const detectEdge = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/edg([ea]|ios)/i.test(userAgent)) {\n return {\n name: \"edge\",\n version: secondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n", - "import { firstMatch } from \"./util.js\"\n\nexport const detectFirefox = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/firefox|iceweasel|fxios/i.test(userAgent)) {\n return {\n name: \"firefox\",\n version: firstMatch(\n /(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n return null\n}\n", - "import { userAgentToVersion, firstMatch } from \"./util.js\"\n\nexport const detectChrome = () => {\n return userAgentToBrowser(window.navigator.userAgent)\n}\n\nconst userAgentToBrowser = (userAgent) => {\n if (/chromium/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version:\n firstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n if (/chrome|crios|crmo/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version: firstMatch(\n /(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n\n return null\n}\n", - "import { userAgentToVersion } from \"./util.js\"\n\nexport const detectSafari = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/safari|applewebkit/i.test(userAgent)) {\n return {\n name: \"safari\",\n version: userAgentToVersion(userAgent),\n }\n }\n return null\n}\n", - "export const detectElectron = () => null // TODO\n", - "import { firstMatch } from \"./util.js\"\n\nexport const detectIOS = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/iPhone;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n if (/iPad;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", - "// https://github.com/Ahmdrza/detect-browser/blob/26254f85cf92795655a983bfd759d85f3de850c6/detect-browser.js#L1\n// https://github.com/lancedikson/bowser/blob/master/src/parser-browsers.js#L1\n\nimport { detectFromUserAgentData } from \"./user_agent_data.js\"\nimport { detectAndroid } from \"./detectAndroid.js\"\nimport { detectInternetExplorer } from \"./detectInternetExplorer.js\"\nimport { detectOpera } from \"./detectOpera.js\"\nimport { detectEdge } from \"./detectEdge.js\"\nimport { detectFirefox } from \"./detectFirefox.js\"\nimport { detectChrome } from \"./detectChrome.js\"\nimport { detectSafari } from \"./detectSafari.js\"\nimport { detectElectron } from \"./detectElectron.js\"\nimport { detectIOS } from \"./detectIOS.js\"\n\nconst detectorCompose = (detectors) => () => {\n let i = 0\n while (i < detectors.length) {\n const detector = detectors[i]\n i++\n const result = detector()\n if (result) {\n return result\n }\n }\n return null\n}\n\nconst detector = detectorCompose([\n detectFromUserAgentData, // keep this first\n detectOpera,\n detectInternetExplorer,\n detectEdge,\n detectFirefox,\n detectChrome,\n detectSafari,\n detectElectron,\n detectIOS,\n detectAndroid,\n])\n\nexport const detectBrowser = () => {\n const { name = \"other\", version = \"unknown\" } = detector() || {}\n\n return {\n name: normalizeName(name),\n version: normalizeVersion(version),\n }\n}\n\nconst normalizeName = (name) => {\n return name.toLowerCase()\n}\n\nconst normalizeVersion = (version) => {\n if (version.indexOf(\".\") > -1) {\n const parts = version.split(\".\")\n // remove extraneous .\n return parts.slice(0, 3).join(\".\")\n }\n\n if (version.indexOf(\"_\") > -1) {\n const parts = version.split(\"_\")\n // remove extraneous _\n return parts.slice(0, 3).join(\"_\")\n }\n\n return version\n}\n", - "export const executeWithScriptModuleInjection = (code) => {\n const scriptModule = document.createElement(\"script\")\n scriptModule.type = \"module\"\n\n const loadPromise = new Promise((resolve, reject) => {\n scriptModule.onload = () => {\n document.body.removeChild(scriptModule)\n resolve()\n }\n scriptModule.onerror = () => {\n document.body.removeChild(scriptModule)\n reject()\n }\n document.body.appendChild(scriptModule)\n })\n\n scriptModule.src = asBase64Url(code)\n\n return loadPromise\n}\n\nexport const asBase64Url = (text, mimeType = \"application/javascript\") => {\n return `data:${mimeType};base64,${window.btoa(text)}`\n}\n", - "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsImportmap = async ({ remote = true } = {}) => {\n const specifier = asBase64Url(`export default false`)\n const importMap = {\n imports: {\n [specifier]: asBase64Url(`export default true`),\n },\n }\n const importmapScript = document.createElement(\"script\")\n const importmapString = JSON.stringify(importMap, null, \" \")\n importmapScript.type = \"importmap\"\n if (remote) {\n importmapScript.src = `data:application/json;base64,${window.btoa(\n importmapString,\n )}`\n } else {\n importmapScript.textContent = importmapString\n }\n document.body.appendChild(importmapScript)\n\n try {\n await executeWithScriptModuleInjection(\n `import supported from \"${specifier}\"; window.__jsenv_runtime_test_importmap__ = supported`,\n )\n document.body.removeChild(importmapScript)\n const supported = window.__jsenv_runtime_test_importmap__\n delete window.__jsenv_runtime_test_importmap__\n return supported\n } catch (e) {\n document.body.removeChild(importmapScript)\n return false\n }\n}\n", - "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsDynamicImport = async () => {\n const moduleSource = asBase64Url(`export default 42`)\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_dynamic_import__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_dynamic_import__\n delete window.__jsenv_runtime_test_dynamic_import__\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n", - "import { executeWithScriptModuleInjection } from \"./execute_with_script_module.js\"\n\nexport const supportsTopLevelAwait = async () => {\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_top_level_await__ = await Promise.resolve(42)`,\n )\n const supported = window.__jsenv_runtime_test_top_level_await__ === 42\n delete window.__jsenv_runtime_test_top_level_await__\n return supported\n } catch (e) {\n return false\n }\n}\n", - "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsJsonImportAssertions = async () => {\n const jsonBase64Url = asBase64Url(\"42\", \"application/json\")\n const moduleSource = asBase64Url(\n `import data from \"${jsonBase64Url}\" assert { type: \"json\" }\n export default data`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_json_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_json_import_assertion__\n const supported = namespace.default === 42\n delete window.__jsenv_runtime_test_json_import_assertion__\n return supported\n } catch (e) {\n return false\n }\n}\n", - "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsCssImportAssertions = async () => {\n const cssBase64Url = asBase64Url(\"p { color: red; }\", \"text/css\")\n const moduleSource = asBase64Url(\n `import css from \"${cssBase64Url}\" assert { type: \"css\" }\n export default css`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_css_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_css_import_assertion__\n return namespace.default instanceof CSSStyleSheet\n } catch (e) {\n return false\n }\n}\n", - "export const supportsNewStylesheet = () => {\n try {\n // eslint-disable-next-line no-new\n new CSSStyleSheet()\n return true\n } catch (e) {\n return false\n }\n}\n", - "import { fetchJson } from \"../../browser_utils/fetchJson.js\"\nimport { detectBrowser } from \"../../browser_detection/browser_detection.js\"\n\nimport { supportsImportmap } from \"./browser_feature_detect_importmap.js\"\nimport { supportsDynamicImport } from \"./browser_feature_detect_dynamic_import.js\"\nimport { supportsTopLevelAwait } from \"./browser_feature_detect_top_level_await.js\"\nimport { supportsJsonImportAssertions } from \"./browser_feature_detect_import_assertions_json.js\"\nimport { supportsCssImportAssertions } from \"./browser_feature_detect_import_assertions_css.js\"\nimport { supportsNewStylesheet } from \"./browser_feature_detect_new_stylesheet.js\"\n\nexport const scanBrowserRuntimeFeatures = async ({\n coverageHandledFromOutside = false,\n forceCompilation = false,\n forceSource = false,\n} = {}) => {\n const jsenvCompileProfileUrl = \"/__jsenv_compile_profile__\"\n const {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n } = await fetchJson(jsenvCompileProfileUrl)\n const { name, version } = detectBrowser()\n const featuresReport = await detectSupportedFeatures({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n })\n const runtimeReport = {\n env: { browser: true },\n name,\n version,\n featuresReport,\n forceSource,\n forceCompilation,\n }\n const { compileProfile, compileId } = await fetchJson(\n jsenvCompileProfileUrl,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(runtimeReport),\n },\n )\n return {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n runtimeReport,\n compileProfile,\n compileId,\n }\n}\n\nconst detectSupportedFeatures = async ({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n}) => {\n const featuresReport = {}\n featuresReport[\"import_http\"] = true\n featuresReport[\"coverage_js\"] = coverageHandledFromOutside\n // new CSSStyleSheet\n featuresReport[\"new_stylesheet\"] = supportsNewStylesheet()\n // importmap\n // start testing importmap support first and not in paralell\n // so that there is not module script loaded beore importmap is injected\n // it would log an error in chrome console and return undefined\n featuresReport.importmap = await supportsImportmap({\n // chrome supports inline but not remote importmap\n // https://github.com/WICG/import-maps/issues/235\n // at this stage we won't know if the html file will use\n // an importmap or not and if that importmap is inline or specified with an src\n // so we should test if browser support local and remote importmap.\n // But there exploring server can inline importmap by transforming html\n // and in that case we can test only the local importmap support\n // so we test importmap support and the remote one\n remote: !inlineImportMapIntoHTML,\n })\n // dynamic import\n featuresReport[\"import_dynamic\"] = await supportsDynamicImport()\n // top level await\n featuresReport[\"top_level_await\"] = await supportsTopLevelAwait()\n // import assertions\n featuresReport[\"import_assertion_type_json\"] =\n await supportsJsonImportAssertions()\n featuresReport[\"import_assertion_type_css\"] =\n await supportsCssImportAssertions()\n return featuresReport\n}\n", - "\n import { scanBrowserRuntimeFeatures } from \"./browser_feature_detection.js\"\n\n window.scanBrowserRuntimeFeatures = scanBrowserRuntimeFeatures\n window.resolveReadyPromise()\n " - ], - "names": [ - "obj", - "key", - "value", - "Object", - "defineProperty", - "enumerable", - "configurable", - "writable", - "ownKeys", - "object", - "enumerableOnly", - "keys", - "getOwnPropertySymbols", - "symbols", - "filter", - "sym", - "getOwnPropertyDescriptor", - "push", - "apply", - "_objectSpread2", - "target", - "i", - "arguments", - "length", - "source", - "forEach", - "getOwnPropertyDescriptors", - "defineProperties", - "excluded", - "sourceKeys", - "indexOf", - "objectWithoutPropertiesLoose", - "sourceSymbolKeys", - "prototype", - "propertyIsEnumerable", - "call", - "nativeTypeOf", - "customTypeOf", - "Symbol", - "constructor", - "iterator", - "then", - "direct", - "Promise", - "resolve", - "f", - "args", - "e", - "reject", - "body", - "result", - "fetchUsingXHR", - "url", - "signal", - "method", - "credentials", - "headers", - "headersPromise", - "createPromiseAndHooks", - "bodyPromise", - "xhr", - "XMLHttpRequest", - "failure", - "error", - "settled", - "cleanup", - "ontimeout", - "onerror", - "onload", - "onreadystatechange", - "Error", - "createRequestError", - "addEventListener", - "abort", - "abortError", - "name", - "readyState", - "open", - "setRequestHeader", - "withCredentials", - "computeWithCredentials", - "hasBlob", - "responseType", - "send", - "responseUrl", - "responseURL", - "responseStatus", - "status", - "responseStatusText", - "statusText", - "responseHeaders", - "getHeadersFromXHR", - "readBody", - "response", - "responseText", - "responseBody", - "responseBodyType", - "detectBodyType", - "text", - "blobToText", - "arrayBufferToText", - "buffer", - "String", - "json", - "JSON", - "parse", - "blob", - "Blob", - "cloneBuffer", - "arrayBuffer", - "blobToArrayBuffer", - "formData", - "hasFormData", - "textToFormData", - "canUseBlob", - "window", - "FileReader", - "FormData", - "hasArrayBuffer", - "ArrayBuffer", - "hasSearchParams", - "URLSearchParams", - "stack", - "promise", - "res", - "rej", - "originSameAsGlobalOrigin", - "_typeof", - "location", - "globalOrigin", - "origin", - "hrefToOrigin", - "isPrototypeOf", - "isDataView", - "isArrayBufferView", - "headerMap", - "headersString", - "getAllResponseHeaders", - "lines", - "trim", - "split", - "line", - "parts", - "shift", - "join", - "toLowerCase", - "href", - "scheme", - "hrefToScheme", - "secondProtocolSlashIndex", - "pathnameSlashIndex", - "slice", - "colonIndex", - "DataView", - "isView", - "viewClasses", - "includes", - "toString", - "form", - "bytes", - "replace", - "append", - "decodeURIComponent", - "reader", - "fileReaderReady", - "readAsArrayBuffer", - "readAsText", - "view", - "Uint8Array", - "chars", - "Array", - "fromCharCode", - "byteLength", - "set", - "_await", - "_async", - "fetchNative", - "mode", - "options", - "fetch", - "responseToHeaders", - "fetchUrl", - "AbortController", - "fetchJson", - "detectFromUserAgentData", - "userAgentData", - "navigator", - "brands", - "brand", - "version", - "firstMatch", - "regexp", - "string", - "match", - "undefined", - "secondMatch", - "userAgentToVersion", - "userAgent", - "detectAndroid", - "navigatorToBrowser", - "appVersion", - "test", - "detectInternetExplorer", - "userAgentToBrowser", - "detectOpera", - "detectEdge", - "detectFirefox", - "detectChrome", - "detectSafari", - "detectElectron", - "detectIOS", - "detectorCompose", - "detectors", - "detector", - "detectBrowser", - "normalizeName", - "normalizeVersion", - "executeWithScriptModuleInjection", - "code", - "scriptModule", - "document", - "createElement", - "type", - "loadPromise", - "removeChild", - "appendChild", - "src", - "asBase64Url", - "mimeType", - "btoa", - "recover", - "supportsImportmap", - "remote", - "specifier", - "importMap", - "imports", - "importmapScript", - "importmapString", - "stringify", - "textContent", - "supported", - "__jsenv_runtime_test_importmap__", - "supportsDynamicImport", - "moduleSource", - "__jsenv_runtime_test_dynamic_import__", - "namespace", - "default", - "supportsTopLevelAwait", - "__jsenv_runtime_test_top_level_await__", - "supportsJsonImportAssertions", - "jsonBase64Url", - "__jsenv_runtime_test_json_import_assertion__", - "supportsCssImportAssertions", - "cssBase64Url", - "__jsenv_runtime_test_css_import_assertion__", - "CSSStyleSheet", - "supportsNewStylesheet", - "scanBrowserRuntimeFeatures", - "coverageHandledFromOutside", - "forceCompilation", - "forceSource", - "jsenvCompileProfileUrl", - "jsenvDirectoryRelativeUrl", - "inlineImportMapIntoHTML", - "availableCompileIds", - "detectSupportedFeatures", - "featuresReport", - "runtimeReport", - "env", - "browser", - "compileProfile", - "compileId", - "importmap", - "resolveReadyPromise" - ], - "mappings": "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" -} \ No newline at end of file diff --git a/dist/compile_proxy/compile_proxy_93ec4247.html b/dist/compile_proxy/compile_proxy_62f952c4.html similarity index 99% rename from dist/compile_proxy/compile_proxy_93ec4247.html rename to dist/compile_proxy/compile_proxy_62f952c4.html index bd77d74da4..cf4d1b068d 100644 --- a/dist/compile_proxy/compile_proxy_93ec4247.html +++ b/dist/compile_proxy/compile_proxy_62f952c4.html @@ -988,8 +988,6 @@ }; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? nativeTypeOf : customTypeOf; - /* eslint-env browser */ - function _await$8(value, then, direct) { if (direct) { @@ -2241,7 +2239,7 @@ }; }); -//# sourceMappingURL=compile_proxy.html__inline__20_c05fdc30.js.map +//# sourceMappingURL=compile_proxy.html__inline__20_651d1e7b.js.map \ No newline at end of file diff --git a/dist/redirector/asset-manifest.json b/dist/redirector/asset-manifest.json index 7f25e89130..0c69fe1f29 100644 --- a/dist/redirector/asset-manifest.json +++ b/dist/redirector/asset-manifest.json @@ -1,4 +1,4 @@ { - "redirector.html": "redirector_ddc79416.html", - "redirector.html__inline__12.js.map": "redirector.html__inline__12_20421b23.js.map" + "redirector.html": "redirector_8117ec92.html", + "redirector.html__inline__12.js.map": "redirector.html__inline__12_171e07b4.js.map" } \ No newline at end of file diff --git a/dist/redirector/redirector.html__inline__12_171e07b4.js.map b/dist/redirector/redirector.html__inline__12_171e07b4.js.map new file mode 100644 index 0000000000..64d6068bb3 --- /dev/null +++ b/dist/redirector/redirector.html__inline__12_171e07b4.js.map @@ -0,0 +1,349 @@ +{ + "version": 3, + "file": "redirector.html__inline__12.js", + "sources": [ + "../../helpers/babel/defineProperty/defineProperty.js", + "../../helpers/babel/objectSpread2/objectSpread2.js", + "../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js", + "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js", + "../../helpers/babel/typeof/typeof.js", + "../../src/internal/browser_utils/fetch_using_xhr.js", + "../../src/internal/browser_utils/fetch_browser.js", + "../../src/internal/browser_utils/fetch_json.js", + "../../src/internal/browser_detection/user_agent_data.js", + "../../src/internal/browser_detection/util.js", + "../../src/internal/browser_detection/detect_android.js", + "../../src/internal/browser_detection/detect_internet_explorer.js", + "../../src/internal/browser_detection/detect_opera.js", + "../../src/internal/browser_detection/detect_edge.js", + "../../src/internal/browser_detection/detect_firefox.js", + "../../src/internal/browser_detection/detect_chrome.js", + "../../src/internal/browser_detection/detect_safari.js", + "../../src/internal/browser_detection/detect_electron.js", + "../../src/internal/browser_detection/detect_ios.js", + "../../src/internal/browser_detection/browser_detection.js", + "../../src/internal/features/browser_feature_detection/execute_with_script_module.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_importmap.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_dynamic_import.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_top_level_await.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_json.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_css.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detect_new_stylesheet.js", + "../../src/internal/features/browser_feature_detection/browser_feature_detection.js", + "../../src/internal/redirector/redirector.html__inline__12.js" + ], + "sourcesContent": [ + "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n", + "import defineProperty from \"../defineProperty/defineProperty.js\"\n\n// This function is different to \"Reflect.ownKeys\". The enumerableOnly\n// filters on symbol properties only. Returned string properties are always\n// enumerable. It is good to use in objectSpread.\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}", + "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n", + "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n", + "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n", + "export const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", + "import { fetchUsingXHR } from \"./fetch_using_xhr.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", + "import { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n", + "/*\n * Prefer window.navigator.userAgentData before resorting to\n * window.navigator.userAgent because of\n * https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html\n */\n\nexport const detectFromUserAgentData = () => {\n const { userAgentData } = window.navigator\n if (!userAgentData) {\n return null\n }\n const { brands } = userAgentData\n let i = 0\n while (i < brands.length) {\n const { brand, version } = brands[i]\n i++\n if (brand === \"chromium\" || brand === \"Google Chrome\") {\n return {\n name: \"chrome\",\n version,\n }\n }\n }\n return null\n}\n", + "export const firstMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 0 ? match[1] || undefined : undefined\n}\n\nexport const secondMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 1 ? match[2] || undefined : undefined\n}\n\nexport const userAgentToVersion = (userAgent) => {\n return firstMatch(/version\\/(\\d+(\\.?_?\\d+)+)/i, userAgent) || undefined\n}\n", + "import { firstMatch } from \"./util.js\"\n\nexport const detectAndroid = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/(android)/i.test(userAgent)) {\n return {\n name: \"android\",\n version: firstMatch(/Android (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", + "import { firstMatch } from \"./util.js\"\n\nexport const detectInternetExplorer = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/msie|trident/i.test(userAgent)) {\n return {\n name: \"ie\",\n version: firstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n", + "import { firstMatch, userAgentToVersion } from \"./util.js\"\n\nexport const detectOpera = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n // opera below 13\n if (/opera/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n userAgentToVersion(userAgent) ||\n firstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n\n // opera above 13\n if (/opr\\/|opios/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n firstMatch(/(?:opr|opios)[\\s/](\\S+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n return null\n}\n", + "import { secondMatch } from \"./util.js\"\n\nexport const detectEdge = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/edg([ea]|ios)/i.test(userAgent)) {\n return {\n name: \"edge\",\n version: secondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n", + "import { firstMatch } from \"./util.js\"\n\nexport const detectFirefox = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/firefox|iceweasel|fxios/i.test(userAgent)) {\n return {\n name: \"firefox\",\n version: firstMatch(\n /(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n return null\n}\n", + "import { userAgentToVersion, firstMatch } from \"./util.js\"\n\nexport const detectChrome = () => {\n return userAgentToBrowser(window.navigator.userAgent)\n}\n\nconst userAgentToBrowser = (userAgent) => {\n if (/chromium/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version:\n firstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n if (/chrome|crios|crmo/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version: firstMatch(\n /(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n\n return null\n}\n", + "import { userAgentToVersion } from \"./util.js\"\n\nexport const detectSafari = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/safari|applewebkit/i.test(userAgent)) {\n return {\n name: \"safari\",\n version: userAgentToVersion(userAgent),\n }\n }\n return null\n}\n", + "export const detectElectron = () => null // TODO\n", + "import { firstMatch } from \"./util.js\"\n\nexport const detectIOS = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/iPhone;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n if (/iPad;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", + "// https://github.com/Ahmdrza/detect-browser/blob/26254f85cf92795655a983bfd759d85f3de850c6/detect-browser.js#L1\n// https://github.com/lancedikson/bowser/blob/master/src/parser-browsers.js#L1\n\nimport { detectFromUserAgentData } from \"./user_agent_data.js\"\nimport { detectAndroid } from \"./detect_android.js\"\nimport { detectInternetExplorer } from \"./detect_internet_explorer.js\"\nimport { detectOpera } from \"./detect_opera.js\"\nimport { detectEdge } from \"./detect_edge.js\"\nimport { detectFirefox } from \"./detect_firefox.js\"\nimport { detectChrome } from \"./detect_chrome.js\"\nimport { detectSafari } from \"./detect_safari.js\"\nimport { detectElectron } from \"./detect_electron.js\"\nimport { detectIOS } from \"./detect_ios.js\"\n\nconst detectorCompose = (detectors) => () => {\n let i = 0\n while (i < detectors.length) {\n const detector = detectors[i]\n i++\n const result = detector()\n if (result) {\n return result\n }\n }\n return null\n}\n\nconst detector = detectorCompose([\n detectFromUserAgentData, // keep this first\n detectOpera,\n detectInternetExplorer,\n detectEdge,\n detectFirefox,\n detectChrome,\n detectSafari,\n detectElectron,\n detectIOS,\n detectAndroid,\n])\n\nexport const detectBrowser = () => {\n const { name = \"other\", version = \"unknown\" } = detector() || {}\n return {\n name: normalizeName(name),\n version: normalizeVersion(version),\n }\n}\n\nconst normalizeName = (name) => {\n return name.toLowerCase()\n}\n\nconst normalizeVersion = (version) => {\n if (version.indexOf(\".\") > -1) {\n const parts = version.split(\".\")\n // remove extraneous .\n return parts.slice(0, 3).join(\".\")\n }\n if (version.indexOf(\"_\") > -1) {\n const parts = version.split(\"_\")\n // remove extraneous _\n return parts.slice(0, 3).join(\"_\")\n }\n return version\n}\n", + "export const executeWithScriptModuleInjection = (code) => {\n const scriptModule = document.createElement(\"script\")\n scriptModule.type = \"module\"\n\n const loadPromise = new Promise((resolve, reject) => {\n scriptModule.onload = () => {\n document.body.removeChild(scriptModule)\n resolve()\n }\n scriptModule.onerror = () => {\n document.body.removeChild(scriptModule)\n reject()\n }\n document.body.appendChild(scriptModule)\n })\n\n scriptModule.src = asBase64Url(code)\n\n return loadPromise\n}\n\nexport const asBase64Url = (text, mimeType = \"application/javascript\") => {\n return `data:${mimeType};base64,${window.btoa(text)}`\n}\n", + "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsImportmap = async ({ remote = true } = {}) => {\n const specifier = asBase64Url(`export default false`)\n const importMap = {\n imports: {\n [specifier]: asBase64Url(`export default true`),\n },\n }\n const importmapScript = document.createElement(\"script\")\n const importmapString = JSON.stringify(importMap, null, \" \")\n importmapScript.type = \"importmap\"\n if (remote) {\n importmapScript.src = `data:application/json;base64,${window.btoa(\n importmapString,\n )}`\n } else {\n importmapScript.textContent = importmapString\n }\n document.body.appendChild(importmapScript)\n\n try {\n await executeWithScriptModuleInjection(\n `import supported from \"${specifier}\"; window.__jsenv_runtime_test_importmap__ = supported`,\n )\n document.body.removeChild(importmapScript)\n const supported = window.__jsenv_runtime_test_importmap__\n delete window.__jsenv_runtime_test_importmap__\n return supported\n } catch (e) {\n document.body.removeChild(importmapScript)\n return false\n }\n}\n", + "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsDynamicImport = async () => {\n const moduleSource = asBase64Url(`export default 42`)\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_dynamic_import__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_dynamic_import__\n delete window.__jsenv_runtime_test_dynamic_import__\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n", + "import { executeWithScriptModuleInjection } from \"./execute_with_script_module.js\"\n\nexport const supportsTopLevelAwait = async () => {\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_top_level_await__ = await Promise.resolve(42)`,\n )\n const supported = window.__jsenv_runtime_test_top_level_await__ === 42\n delete window.__jsenv_runtime_test_top_level_await__\n return supported\n } catch (e) {\n return false\n }\n}\n", + "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsJsonImportAssertions = async () => {\n const jsonBase64Url = asBase64Url(\"42\", \"application/json\")\n const moduleSource = asBase64Url(\n `import data from \"${jsonBase64Url}\" assert { type: \"json\" }\n export default data`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_json_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_json_import_assertion__\n const supported = namespace.default === 42\n delete window.__jsenv_runtime_test_json_import_assertion__\n return supported\n } catch (e) {\n return false\n }\n}\n", + "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsCssImportAssertions = async () => {\n const cssBase64Url = asBase64Url(\"p { color: red; }\", \"text/css\")\n const moduleSource = asBase64Url(\n `import css from \"${cssBase64Url}\" assert { type: \"css\" }\n export default css`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_css_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_css_import_assertion__\n return namespace.default instanceof CSSStyleSheet\n } catch (e) {\n return false\n }\n}\n", + "export const supportsNewStylesheet = () => {\n try {\n // eslint-disable-next-line no-new\n new CSSStyleSheet()\n return true\n } catch (e) {\n return false\n }\n}\n", + "import { fetchJson } from \"../../browser_utils/fetch_json.js\"\nimport { detectBrowser } from \"../../browser_detection/browser_detection.js\"\n\nimport { supportsImportmap } from \"./browser_feature_detect_importmap.js\"\nimport { supportsDynamicImport } from \"./browser_feature_detect_dynamic_import.js\"\nimport { supportsTopLevelAwait } from \"./browser_feature_detect_top_level_await.js\"\nimport { supportsJsonImportAssertions } from \"./browser_feature_detect_import_assertions_json.js\"\nimport { supportsCssImportAssertions } from \"./browser_feature_detect_import_assertions_css.js\"\nimport { supportsNewStylesheet } from \"./browser_feature_detect_new_stylesheet.js\"\n\nexport const scanBrowserRuntimeFeatures = async ({\n coverageHandledFromOutside = false,\n forceCompilation = false,\n forceSource = false,\n} = {}) => {\n const jsenvCompileProfileUrl = \"/__jsenv_compile_profile__\"\n const {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n } = await fetchJson(jsenvCompileProfileUrl)\n const { name, version } = detectBrowser()\n const featuresReport = await detectSupportedFeatures({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n })\n const runtimeReport = {\n env: { browser: true },\n name,\n version,\n featuresReport,\n forceSource,\n forceCompilation,\n }\n const { compileProfile, compileId } = await fetchJson(\n jsenvCompileProfileUrl,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(runtimeReport),\n },\n )\n return {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n runtimeReport,\n compileProfile,\n compileId,\n }\n}\n\nconst detectSupportedFeatures = async ({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n}) => {\n const featuresReport = {}\n featuresReport[\"import_http\"] = true\n featuresReport[\"coverage_js\"] = coverageHandledFromOutside\n // new CSSStyleSheet\n featuresReport[\"new_stylesheet\"] = supportsNewStylesheet()\n // importmap\n // start testing importmap support first and not in paralell\n // so that there is not module script loaded beore importmap is injected\n // it would log an error in chrome console and return undefined\n featuresReport.importmap = await supportsImportmap({\n // chrome supports inline but not remote importmap\n // https://github.com/WICG/import-maps/issues/235\n // at this stage we won't know if the html file will use\n // an importmap or not and if that importmap is inline or specified with an src\n // so we should test if browser support local and remote importmap.\n // But there exploring server can inline importmap by transforming html\n // and in that case we can test only the local importmap support\n // so we test importmap support and the remote one\n remote: !inlineImportMapIntoHTML,\n })\n // dynamic import\n featuresReport[\"import_dynamic\"] = await supportsDynamicImport()\n // top level await\n featuresReport[\"top_level_await\"] = await supportsTopLevelAwait()\n // import assertions\n featuresReport[\"import_assertion_type_json\"] =\n await supportsJsonImportAssertions()\n featuresReport[\"import_assertion_type_css\"] =\n await supportsCssImportAssertions()\n return featuresReport\n}\n", + "\n import { scanBrowserRuntimeFeatures } from \"../features/browser_feature_detection/browser_feature_detection.js\"\n\n const redirect = async () => {\n const searchParams = new URLSearchParams(window.location.search)\n const redirectTarget = searchParams.get(\"redirect\")\n const forceCompilation = searchParams.get(\"force_compilation\")\n const browserRuntimeProfile = await scanBrowserRuntimeFeatures({\n forceCompilation: forceCompilation === \"1\",\n })\n const href = `${getDirectoryUrl(\n browserRuntimeProfile,\n )}${redirectTarget}`\n // It's IMPORTANT to use location.replace and NOT location.href = url\n // otherwise it would break the back button\n window.location.replace(href)\n }\n\n const getDirectoryUrl = ({ jsenvDirectoryRelativeUrl, compileId }) => {\n if (compileId) {\n return `/${jsenvDirectoryRelativeUrl}${compileId}/`\n }\n return `/`\n }\n\n redirect()\n " + ], + "names": [ + "obj", + "key", + "value", + "Object", + "defineProperty", + "enumerable", + "configurable", + "writable", + "ownKeys", + "object", + "enumerableOnly", + "keys", + "getOwnPropertySymbols", + "symbols", + "filter", + "sym", + "getOwnPropertyDescriptor", + "push", + "apply", + "_objectSpread2", + "target", + "i", + "arguments", + "length", + "source", + "forEach", + "getOwnPropertyDescriptors", + "defineProperties", + "excluded", + "sourceKeys", + "indexOf", + "objectWithoutPropertiesLoose", + "sourceSymbolKeys", + "prototype", + "propertyIsEnumerable", + "call", + "nativeTypeOf", + "customTypeOf", + "Symbol", + "constructor", + "iterator", + "then", + "direct", + "Promise", + "resolve", + "f", + "args", + "e", + "reject", + "body", + "result", + "fetchUsingXHR", + "url", + "signal", + "method", + "credentials", + "headers", + "headersPromise", + "createPromiseAndHooks", + "bodyPromise", + "xhr", + "XMLHttpRequest", + "failure", + "error", + "settled", + "cleanup", + "ontimeout", + "onerror", + "onload", + "onreadystatechange", + "Error", + "createRequestError", + "addEventListener", + "abort", + "abortError", + "name", + "readyState", + "open", + "setRequestHeader", + "withCredentials", + "computeWithCredentials", + "hasBlob", + "responseType", + "send", + "responseUrl", + "responseURL", + "responseStatus", + "status", + "responseStatusText", + "statusText", + "responseHeaders", + "getHeadersFromXHR", + "readBody", + "response", + "responseText", + "responseBody", + "responseBodyType", + "detectBodyType", + "text", + "blobToText", + "arrayBufferToText", + "buffer", + "String", + "json", + "JSON", + "parse", + "blob", + "Blob", + "cloneBuffer", + "arrayBuffer", + "blobToArrayBuffer", + "formData", + "hasFormData", + "textToFormData", + "canUseBlob", + "window", + "FileReader", + "FormData", + "hasArrayBuffer", + "ArrayBuffer", + "hasSearchParams", + "URLSearchParams", + "stack", + "promise", + "res", + "rej", + "originSameAsGlobalOrigin", + "_typeof", + "location", + "globalOrigin", + "origin", + "hrefToOrigin", + "isPrototypeOf", + "isDataView", + "isArrayBufferView", + "headerMap", + "headersString", + "getAllResponseHeaders", + "lines", + "trim", + "split", + "line", + "parts", + "shift", + "join", + "toLowerCase", + "href", + "scheme", + "hrefToScheme", + "secondProtocolSlashIndex", + "pathnameSlashIndex", + "slice", + "colonIndex", + "DataView", + "isView", + "viewClasses", + "includes", + "toString", + "form", + "bytes", + "replace", + "append", + "decodeURIComponent", + "reader", + "fileReaderReady", + "readAsArrayBuffer", + "readAsText", + "view", + "Uint8Array", + "chars", + "Array", + "fromCharCode", + "byteLength", + "set", + "_await", + "_async", + "fetchNative", + "mode", + "options", + "fetch", + "responseToHeaders", + "fetchUrl", + "AbortController", + "fetchJson", + "detectFromUserAgentData", + "userAgentData", + "navigator", + "brands", + "brand", + "version", + "firstMatch", + "regexp", + "string", + "match", + "undefined", + "secondMatch", + "userAgentToVersion", + "userAgent", + "detectAndroid", + "navigatorToBrowser", + "appVersion", + "test", + "detectInternetExplorer", + "userAgentToBrowser", + "detectOpera", + "detectEdge", + "detectFirefox", + "detectChrome", + "detectSafari", + "detectElectron", + "detectIOS", + "detectorCompose", + "detectors", + "detector", + "detectBrowser", + "normalizeName", + "normalizeVersion", + "executeWithScriptModuleInjection", + "code", + "scriptModule", + "document", + "createElement", + "type", + "loadPromise", + "removeChild", + "appendChild", + "src", + "asBase64Url", + "mimeType", + "btoa", + "recover", + "supportsImportmap", + "remote", + "specifier", + "importMap", + "imports", + "importmapScript", + "importmapString", + "stringify", + "textContent", + "supported", + "__jsenv_runtime_test_importmap__", + "supportsDynamicImport", + "moduleSource", + "__jsenv_runtime_test_dynamic_import__", + "namespace", + "default", + "supportsTopLevelAwait", + "__jsenv_runtime_test_top_level_await__", + "supportsJsonImportAssertions", + "jsonBase64Url", + "__jsenv_runtime_test_json_import_assertion__", + "supportsCssImportAssertions", + "cssBase64Url", + "__jsenv_runtime_test_css_import_assertion__", + "CSSStyleSheet", + "supportsNewStylesheet", + "scanBrowserRuntimeFeatures", + "coverageHandledFromOutside", + "forceCompilation", + "forceSource", + "jsenvCompileProfileUrl", + "jsenvDirectoryRelativeUrl", + "inlineImportMapIntoHTML", + "availableCompileIds", + "detectSupportedFeatures", + "featuresReport", + "runtimeReport", + "env", + "browser", + "compileProfile", + "compileId", + "importmap", + "redirect", + "searchParams", + "search", + "redirectTarget", + "get", + "browserRuntimeProfile", + "getDirectoryUrl" + ], + "mappings": "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" +} \ No newline at end of file diff --git a/dist/redirector/redirector.html__inline__12_20421b23.js.map b/dist/redirector/redirector.html__inline__12_20421b23.js.map deleted file mode 100644 index 18305ac58c..0000000000 --- a/dist/redirector/redirector.html__inline__12_20421b23.js.map +++ /dev/null @@ -1,349 +0,0 @@ -{ - "version": 3, - "file": "redirector.html__inline__12.js", - "sources": [ - "../../helpers/babel/defineProperty/defineProperty.js", - "../../helpers/babel/objectSpread2/objectSpread2.js", - "../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js", - "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js", - "../../helpers/babel/typeof/typeof.js", - "../../src/internal/browser_utils/fetchUsingXHR.js", - "../../src/internal/browser_utils/fetch_browser.js", - "../../src/internal/browser_utils/fetchJson.js", - "../../src/internal/browser_detection/user_agent_data.js", - "../../src/internal/browser_detection/util.js", - "../../src/internal/browser_detection/detectAndroid.js", - "../../src/internal/browser_detection/detectInternetExplorer.js", - "../../src/internal/browser_detection/detectOpera.js", - "../../src/internal/browser_detection/detectEdge.js", - "../../src/internal/browser_detection/detectFirefox.js", - "../../src/internal/browser_detection/detectChrome.js", - "../../src/internal/browser_detection/detectSafari.js", - "../../src/internal/browser_detection/detectElectron.js", - "../../src/internal/browser_detection/detectIOS.js", - "../../src/internal/browser_detection/browser_detection.js", - "../../src/internal/features/browser_feature_detection/execute_with_script_module.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_importmap.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_dynamic_import.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_top_level_await.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_json.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_css.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detect_new_stylesheet.js", - "../../src/internal/features/browser_feature_detection/browser_feature_detection.js", - "../../src/internal/redirector/redirector.html__inline__12.js" - ], - "sourcesContent": [ - "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n", - "import defineProperty from \"../defineProperty/defineProperty.js\"\n\n// This function is different to \"Reflect.ownKeys\". The enumerableOnly\n// filters on symbol properties only. Returned string properties are always\n// enumerable. It is good to use in objectSpread.\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}", - "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n", - "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n", - "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n", - "/* eslint-env browser */\n\nexport const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", - "import { fetchUsingXHR } from \"./fetchUsingXHR.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", - "import { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n", - "/*\n * Prefer window.navigator.userAgentData before resorting to\n * window.navigator.userAgent because of\n * https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html\n */\n\nexport const detectFromUserAgentData = () => {\n const { userAgentData } = window.navigator\n if (!userAgentData) {\n return null\n }\n\n const { brands } = userAgentData\n let i = 0\n while (i < brands.length) {\n const { brand, version } = brands[i]\n i++\n if (brand === \"chromium\" || brand === \"Google Chrome\") {\n return {\n name: \"chrome\",\n version,\n }\n }\n }\n return null\n}\n", - "export const firstMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 0 ? match[1] || undefined : undefined\n}\n\nexport const secondMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 1 ? match[2] || undefined : undefined\n}\n\nexport const userAgentToVersion = (userAgent) => {\n return firstMatch(/version\\/(\\d+(\\.?_?\\d+)+)/i, userAgent) || undefined\n}\n", - "import { firstMatch } from \"./util.js\"\n\nexport const detectAndroid = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/(android)/i.test(userAgent)) {\n return {\n name: \"android\",\n version: firstMatch(/Android (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", - "import { firstMatch } from \"./util.js\"\n\nexport const detectInternetExplorer = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/msie|trident/i.test(userAgent)) {\n return {\n name: \"ie\",\n version: firstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n", - "import { firstMatch, userAgentToVersion } from \"./util.js\"\n\nexport const detectOpera = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n // opera below 13\n if (/opera/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n userAgentToVersion(userAgent) ||\n firstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n\n // opera above 13\n if (/opr\\/|opios/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n firstMatch(/(?:opr|opios)[\\s/](\\S+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n return null\n}\n", - "import { secondMatch } from \"./util.js\"\n\nexport const detectEdge = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/edg([ea]|ios)/i.test(userAgent)) {\n return {\n name: \"edge\",\n version: secondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n", - "import { firstMatch } from \"./util.js\"\n\nexport const detectFirefox = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/firefox|iceweasel|fxios/i.test(userAgent)) {\n return {\n name: \"firefox\",\n version: firstMatch(\n /(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n return null\n}\n", - "import { userAgentToVersion, firstMatch } from \"./util.js\"\n\nexport const detectChrome = () => {\n return userAgentToBrowser(window.navigator.userAgent)\n}\n\nconst userAgentToBrowser = (userAgent) => {\n if (/chromium/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version:\n firstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n if (/chrome|crios|crmo/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version: firstMatch(\n /(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n\n return null\n}\n", - "import { userAgentToVersion } from \"./util.js\"\n\nexport const detectSafari = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/safari|applewebkit/i.test(userAgent)) {\n return {\n name: \"safari\",\n version: userAgentToVersion(userAgent),\n }\n }\n return null\n}\n", - "export const detectElectron = () => null // TODO\n", - "import { firstMatch } from \"./util.js\"\n\nexport const detectIOS = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/iPhone;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n if (/iPad;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", - "// https://github.com/Ahmdrza/detect-browser/blob/26254f85cf92795655a983bfd759d85f3de850c6/detect-browser.js#L1\n// https://github.com/lancedikson/bowser/blob/master/src/parser-browsers.js#L1\n\nimport { detectFromUserAgentData } from \"./user_agent_data.js\"\nimport { detectAndroid } from \"./detectAndroid.js\"\nimport { detectInternetExplorer } from \"./detectInternetExplorer.js\"\nimport { detectOpera } from \"./detectOpera.js\"\nimport { detectEdge } from \"./detectEdge.js\"\nimport { detectFirefox } from \"./detectFirefox.js\"\nimport { detectChrome } from \"./detectChrome.js\"\nimport { detectSafari } from \"./detectSafari.js\"\nimport { detectElectron } from \"./detectElectron.js\"\nimport { detectIOS } from \"./detectIOS.js\"\n\nconst detectorCompose = (detectors) => () => {\n let i = 0\n while (i < detectors.length) {\n const detector = detectors[i]\n i++\n const result = detector()\n if (result) {\n return result\n }\n }\n return null\n}\n\nconst detector = detectorCompose([\n detectFromUserAgentData, // keep this first\n detectOpera,\n detectInternetExplorer,\n detectEdge,\n detectFirefox,\n detectChrome,\n detectSafari,\n detectElectron,\n detectIOS,\n detectAndroid,\n])\n\nexport const detectBrowser = () => {\n const { name = \"other\", version = \"unknown\" } = detector() || {}\n\n return {\n name: normalizeName(name),\n version: normalizeVersion(version),\n }\n}\n\nconst normalizeName = (name) => {\n return name.toLowerCase()\n}\n\nconst normalizeVersion = (version) => {\n if (version.indexOf(\".\") > -1) {\n const parts = version.split(\".\")\n // remove extraneous .\n return parts.slice(0, 3).join(\".\")\n }\n\n if (version.indexOf(\"_\") > -1) {\n const parts = version.split(\"_\")\n // remove extraneous _\n return parts.slice(0, 3).join(\"_\")\n }\n\n return version\n}\n", - "export const executeWithScriptModuleInjection = (code) => {\n const scriptModule = document.createElement(\"script\")\n scriptModule.type = \"module\"\n\n const loadPromise = new Promise((resolve, reject) => {\n scriptModule.onload = () => {\n document.body.removeChild(scriptModule)\n resolve()\n }\n scriptModule.onerror = () => {\n document.body.removeChild(scriptModule)\n reject()\n }\n document.body.appendChild(scriptModule)\n })\n\n scriptModule.src = asBase64Url(code)\n\n return loadPromise\n}\n\nexport const asBase64Url = (text, mimeType = \"application/javascript\") => {\n return `data:${mimeType};base64,${window.btoa(text)}`\n}\n", - "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsImportmap = async ({ remote = true } = {}) => {\n const specifier = asBase64Url(`export default false`)\n const importMap = {\n imports: {\n [specifier]: asBase64Url(`export default true`),\n },\n }\n const importmapScript = document.createElement(\"script\")\n const importmapString = JSON.stringify(importMap, null, \" \")\n importmapScript.type = \"importmap\"\n if (remote) {\n importmapScript.src = `data:application/json;base64,${window.btoa(\n importmapString,\n )}`\n } else {\n importmapScript.textContent = importmapString\n }\n document.body.appendChild(importmapScript)\n\n try {\n await executeWithScriptModuleInjection(\n `import supported from \"${specifier}\"; window.__jsenv_runtime_test_importmap__ = supported`,\n )\n document.body.removeChild(importmapScript)\n const supported = window.__jsenv_runtime_test_importmap__\n delete window.__jsenv_runtime_test_importmap__\n return supported\n } catch (e) {\n document.body.removeChild(importmapScript)\n return false\n }\n}\n", - "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsDynamicImport = async () => {\n const moduleSource = asBase64Url(`export default 42`)\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_dynamic_import__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_dynamic_import__\n delete window.__jsenv_runtime_test_dynamic_import__\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n", - "import { executeWithScriptModuleInjection } from \"./execute_with_script_module.js\"\n\nexport const supportsTopLevelAwait = async () => {\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_top_level_await__ = await Promise.resolve(42)`,\n )\n const supported = window.__jsenv_runtime_test_top_level_await__ === 42\n delete window.__jsenv_runtime_test_top_level_await__\n return supported\n } catch (e) {\n return false\n }\n}\n", - "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsJsonImportAssertions = async () => {\n const jsonBase64Url = asBase64Url(\"42\", \"application/json\")\n const moduleSource = asBase64Url(\n `import data from \"${jsonBase64Url}\" assert { type: \"json\" }\n export default data`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_json_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_json_import_assertion__\n const supported = namespace.default === 42\n delete window.__jsenv_runtime_test_json_import_assertion__\n return supported\n } catch (e) {\n return false\n }\n}\n", - "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsCssImportAssertions = async () => {\n const cssBase64Url = asBase64Url(\"p { color: red; }\", \"text/css\")\n const moduleSource = asBase64Url(\n `import css from \"${cssBase64Url}\" assert { type: \"css\" }\n export default css`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_css_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_css_import_assertion__\n return namespace.default instanceof CSSStyleSheet\n } catch (e) {\n return false\n }\n}\n", - "export const supportsNewStylesheet = () => {\n try {\n // eslint-disable-next-line no-new\n new CSSStyleSheet()\n return true\n } catch (e) {\n return false\n }\n}\n", - "import { fetchJson } from \"../../browser_utils/fetchJson.js\"\nimport { detectBrowser } from \"../../browser_detection/browser_detection.js\"\n\nimport { supportsImportmap } from \"./browser_feature_detect_importmap.js\"\nimport { supportsDynamicImport } from \"./browser_feature_detect_dynamic_import.js\"\nimport { supportsTopLevelAwait } from \"./browser_feature_detect_top_level_await.js\"\nimport { supportsJsonImportAssertions } from \"./browser_feature_detect_import_assertions_json.js\"\nimport { supportsCssImportAssertions } from \"./browser_feature_detect_import_assertions_css.js\"\nimport { supportsNewStylesheet } from \"./browser_feature_detect_new_stylesheet.js\"\n\nexport const scanBrowserRuntimeFeatures = async ({\n coverageHandledFromOutside = false,\n forceCompilation = false,\n forceSource = false,\n} = {}) => {\n const jsenvCompileProfileUrl = \"/__jsenv_compile_profile__\"\n const {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n } = await fetchJson(jsenvCompileProfileUrl)\n const { name, version } = detectBrowser()\n const featuresReport = await detectSupportedFeatures({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n })\n const runtimeReport = {\n env: { browser: true },\n name,\n version,\n featuresReport,\n forceSource,\n forceCompilation,\n }\n const { compileProfile, compileId } = await fetchJson(\n jsenvCompileProfileUrl,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(runtimeReport),\n },\n )\n return {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n runtimeReport,\n compileProfile,\n compileId,\n }\n}\n\nconst detectSupportedFeatures = async ({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n}) => {\n const featuresReport = {}\n featuresReport[\"import_http\"] = true\n featuresReport[\"coverage_js\"] = coverageHandledFromOutside\n // new CSSStyleSheet\n featuresReport[\"new_stylesheet\"] = supportsNewStylesheet()\n // importmap\n // start testing importmap support first and not in paralell\n // so that there is not module script loaded beore importmap is injected\n // it would log an error in chrome console and return undefined\n featuresReport.importmap = await supportsImportmap({\n // chrome supports inline but not remote importmap\n // https://github.com/WICG/import-maps/issues/235\n // at this stage we won't know if the html file will use\n // an importmap or not and if that importmap is inline or specified with an src\n // so we should test if browser support local and remote importmap.\n // But there exploring server can inline importmap by transforming html\n // and in that case we can test only the local importmap support\n // so we test importmap support and the remote one\n remote: !inlineImportMapIntoHTML,\n })\n // dynamic import\n featuresReport[\"import_dynamic\"] = await supportsDynamicImport()\n // top level await\n featuresReport[\"top_level_await\"] = await supportsTopLevelAwait()\n // import assertions\n featuresReport[\"import_assertion_type_json\"] =\n await supportsJsonImportAssertions()\n featuresReport[\"import_assertion_type_css\"] =\n await supportsCssImportAssertions()\n return featuresReport\n}\n", - "\n import { scanBrowserRuntimeFeatures } from \"../features/browser_feature_detection/browser_feature_detection.js\"\n\n const redirect = async () => {\n const searchParams = new URLSearchParams(window.location.search)\n const redirectTarget = searchParams.get(\"redirect\")\n const forceCompilation = searchParams.get(\"force_compilation\")\n const browserRuntimeProfile = await scanBrowserRuntimeFeatures({\n forceCompilation: forceCompilation === \"1\",\n })\n const href = `${getDirectoryUrl(\n browserRuntimeProfile,\n )}${redirectTarget}`\n // It's IMPORTANT to use location.replace and NOT location.href = url\n // otherwise it would break the back button\n window.location.replace(href)\n }\n\n const getDirectoryUrl = ({ jsenvDirectoryRelativeUrl, compileId }) => {\n if (compileId) {\n return `/${jsenvDirectoryRelativeUrl}${compileId}/`\n }\n return `/`\n }\n\n redirect()\n " - ], - "names": [ - "obj", - "key", - "value", - "Object", - "defineProperty", - "enumerable", - "configurable", - "writable", - "ownKeys", - "object", - "enumerableOnly", - "keys", - "getOwnPropertySymbols", - "symbols", - "filter", - "sym", - "getOwnPropertyDescriptor", - "push", - "apply", - "_objectSpread2", - "target", - "i", - "arguments", - "length", - "source", - "forEach", - "getOwnPropertyDescriptors", - "defineProperties", - "excluded", - "sourceKeys", - "indexOf", - "objectWithoutPropertiesLoose", - "sourceSymbolKeys", - "prototype", - "propertyIsEnumerable", - "call", - "nativeTypeOf", - "customTypeOf", - "Symbol", - "constructor", - "iterator", - "then", - "direct", - "Promise", - "resolve", - "f", - "args", - "e", - "reject", - "body", - "result", - "fetchUsingXHR", - "url", - "signal", - "method", - "credentials", - "headers", - "headersPromise", - "createPromiseAndHooks", - "bodyPromise", - "xhr", - "XMLHttpRequest", - "failure", - "error", - "settled", - "cleanup", - "ontimeout", - "onerror", - "onload", - "onreadystatechange", - "Error", - "createRequestError", - "addEventListener", - "abort", - "abortError", - "name", - "readyState", - "open", - "setRequestHeader", - "withCredentials", - "computeWithCredentials", - "hasBlob", - "responseType", - "send", - "responseUrl", - "responseURL", - "responseStatus", - "status", - "responseStatusText", - "statusText", - "responseHeaders", - "getHeadersFromXHR", - "readBody", - "response", - "responseText", - "responseBody", - "responseBodyType", - "detectBodyType", - "text", - "blobToText", - "arrayBufferToText", - "buffer", - "String", - "json", - "JSON", - "parse", - "blob", - "Blob", - "cloneBuffer", - "arrayBuffer", - "blobToArrayBuffer", - "formData", - "hasFormData", - "textToFormData", - "canUseBlob", - "window", - "FileReader", - "FormData", - "hasArrayBuffer", - "ArrayBuffer", - "hasSearchParams", - "URLSearchParams", - "stack", - "promise", - "res", - "rej", - "originSameAsGlobalOrigin", - "_typeof", - "location", - "globalOrigin", - "origin", - "hrefToOrigin", - "isPrototypeOf", - "isDataView", - "isArrayBufferView", - "headerMap", - "headersString", - "getAllResponseHeaders", - "lines", - "trim", - "split", - "line", - "parts", - "shift", - "join", - "toLowerCase", - "href", - "scheme", - "hrefToScheme", - "secondProtocolSlashIndex", - "pathnameSlashIndex", - "slice", - "colonIndex", - "DataView", - "isView", - "viewClasses", - "includes", - "toString", - "form", - "bytes", - "replace", - "append", - "decodeURIComponent", - "reader", - "fileReaderReady", - "readAsArrayBuffer", - "readAsText", - "view", - "Uint8Array", - "chars", - "Array", - "fromCharCode", - "byteLength", - "set", - "_await", - "_async", - "fetchNative", - "mode", - "options", - "fetch", - "responseToHeaders", - "fetchUrl", - "AbortController", - "fetchJson", - "detectFromUserAgentData", - "userAgentData", - "navigator", - "brands", - "brand", - "version", - "firstMatch", - "regexp", - "string", - "match", - "undefined", - "secondMatch", - "userAgentToVersion", - "userAgent", - "detectAndroid", - "navigatorToBrowser", - "appVersion", - "test", - "detectInternetExplorer", - "userAgentToBrowser", - "detectOpera", - "detectEdge", - "detectFirefox", - "detectChrome", - "detectSafari", - "detectElectron", - "detectIOS", - "detectorCompose", - "detectors", - "detector", - "detectBrowser", - "normalizeName", - "normalizeVersion", - "executeWithScriptModuleInjection", - "code", - "scriptModule", - "document", - "createElement", - "type", - "loadPromise", - "removeChild", - "appendChild", - "src", - "asBase64Url", - "mimeType", - "btoa", - "recover", - "supportsImportmap", - "remote", - "specifier", - "importMap", - "imports", - "importmapScript", - "importmapString", - "stringify", - "textContent", - "supported", - "__jsenv_runtime_test_importmap__", - "supportsDynamicImport", - "moduleSource", - "__jsenv_runtime_test_dynamic_import__", - "namespace", - "default", - "supportsTopLevelAwait", - "__jsenv_runtime_test_top_level_await__", - "supportsJsonImportAssertions", - "jsonBase64Url", - "__jsenv_runtime_test_json_import_assertion__", - "supportsCssImportAssertions", - "cssBase64Url", - "__jsenv_runtime_test_css_import_assertion__", - "CSSStyleSheet", - "supportsNewStylesheet", - "scanBrowserRuntimeFeatures", - "coverageHandledFromOutside", - "forceCompilation", - "forceSource", - "jsenvCompileProfileUrl", - "jsenvDirectoryRelativeUrl", - "inlineImportMapIntoHTML", - "availableCompileIds", - "detectSupportedFeatures", - "featuresReport", - "runtimeReport", - "env", - "browser", - "compileProfile", - "compileId", - "importmap", - "redirect", - "searchParams", - "search", - "redirectTarget", - "get", - "browserRuntimeProfile", - "getDirectoryUrl" - ], - "mappings": "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" -} \ No newline at end of file diff --git a/dist/redirector/redirector_ddc79416.html b/dist/redirector/redirector_8117ec92.html similarity index 99% rename from dist/redirector/redirector_ddc79416.html rename to dist/redirector/redirector_8117ec92.html index aea606a1fa..ea06abd877 100644 --- a/dist/redirector/redirector_ddc79416.html +++ b/dist/redirector/redirector_8117ec92.html @@ -983,8 +983,6 @@ }; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? nativeTypeOf : customTypeOf; - /* eslint-env browser */ - function _await$9(value, then, direct) { if (direct) { @@ -2286,7 +2284,7 @@ }; }); -//# sourceMappingURL=redirector.html__inline__12_20421b23.js.map +//# sourceMappingURL=redirector.html__inline__12_171e07b4.js.map \ No newline at end of file diff --git a/dist/toolbar/asset-manifest.json b/dist/toolbar/asset-manifest.json index 8c5be39c05..25d966f67e 100644 --- a/dist/toolbar/asset-manifest.json +++ b/dist/toolbar/asset-manifest.json @@ -3,11 +3,11 @@ "assets/eventsource.css.map": "assets/eventsource.css_c0c71e7b.map", "assets/execution.css.map": "assets/execution.css_f3377c10.map", "assets/focus.css.map": "assets/focus.css_896f3e45.map", - "assets/light-theme.css.map": "assets/light-theme.css_72a60fa3.map", - "assets/overflow-menu.css.map": "assets/overflow-menu.css_2859d519.map", + "assets/light_theme.css.map": "assets/light_theme.css_5bff0336.map", + "assets/overflow_menu.css.map": "assets/overflow_menu.css_9a0fc3d8.map", "assets/settings.css.map": "assets/settings.css_942b5a9e.map", - "assets/toolbar.main.css.map": "assets/toolbar.main.css_b7d8bec1.map", + "assets/toolbar_main.css.map": "assets/toolbar_main.css_b1c67dd7.map", "assets/tooltip.css.map": "assets/tooltip.css_a94a8bdd.map", - "toolbar.html": "toolbar_d6045dd0.html", - "toolbar.main.js.map": "toolbar.main_7d7783d3.js.map" + "toolbar.html": "toolbar_b0c9100c.html", + "toolbar_main.js.map": "toolbar_main_f54c1bb0.js.map" } \ No newline at end of file diff --git a/dist/toolbar/assets/light-theme.css_72a60fa3.map b/dist/toolbar/assets/light_theme.css_5bff0336.map similarity index 97% rename from dist/toolbar/assets/light-theme.css_72a60fa3.map rename to dist/toolbar/assets/light_theme.css_5bff0336.map index 6d27119ee1..a38ce9c63c 100644 --- a/dist/toolbar/assets/light-theme.css_72a60fa3.map +++ b/dist/toolbar/assets/light_theme.css_5bff0336.map @@ -1,11 +1,11 @@ { "version": 3, "sources": [ - "../../../src/internal/dev_server/toolbar/theme/light-theme.css" + "../../../src/internal/dev_server/toolbar/theme/light_theme.css" ], "names": [], "mappings": "AAAA,YAAY;AACZ;EACE,mBAAmB;AACrB;AAEA,UAAU;AACV;EACE,aAAa;AACf;AACA;EACE,wBAAwB;AAC1B;AAEA,YAAY;AACZ;EACE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;AACf;AACA;EACE,iCAAiC;AACnC;AAEA,aAAa;AACb;;EAEE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;;EAEE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;;EAEE,sBAAsB;AACxB;AACA;;EAEE,yBAAyB;AAC3B;AAEA,eAAe;AACf;EACE,qCAAqC;AACvC;AACA;EACE,cAAc;AAChB;AAEA,aAAa;AACb;EACE,oCAAoC;EACpC,WAAW;AACb;AACA;EACE,kBAAkB;AACpB;AACA;EACE,oEAAoE;AACtE;AAEA,kBAAkB;AAClB;EACE,mBAAmB;AACrB;AACA;;;EAGE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AAEA,oBAAoB;AACpB;;EAEE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;;EAEE,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,mBAAmB;AACrB;AACA;;EAEE,mBAAmB;AACrB;AACA;EACE,mBAAmB;EACnB,cAAc;AAChB", - "file": "light-theme_d5a8adb2.css", + "file": "light_theme_115d9706.css", "sourcesContent": [ "/* general */\nhtml[data-theme=\"light\"] #toolbar {\n background: #e8eff3;\n}\n\n/* icons */\nhtml[data-theme=\"light\"] .iconToolbar {\n fill: #404040;\n}\nhtml[data-theme=\"light\"] .iconToolbar:hover {\n fill: #757575 !important;\n}\n\n/* loaders */\nhtml[data-theme=\"light\"] #loader-icon {\n color: #404040;\n}\nhtml[data-theme=\"light\"] .livereload-circle[data-variant=\"off\"] {\n fill: #757575;\n}\nhtml[data-theme=\"light\"] .livereload-circle[data-variant=\"connecting\"] {\n fill: #717171;\n}\nhtml[data-theme=\"light\"] .livereload-ring {\n stroke: rgba(138, 136, 136, 0.46);\n}\n\n/* settings */\nhtml[data-theme=\"light\"] #settings-box,\nhtml[data-theme=\"light\"] #settings[data-active] button {\n background: #87acd3;\n}\nhtml[data-theme=\"light\"] .settings-box-item {\n background: #97b9da;\n}\nhtml[data-theme=\"light\"] #settings-box-header .settings-icon {\n stroke: #076570;\n}\nhtml[data-theme=\"light\"] #button-close-settings {\n fill: #076570;\n}\nhtml[data-theme=\"light\"] #settings-box h3,\nhtml[data-theme=\"light\"] #settings-box .category-title {\n color: #076570;\n}\nhtml[data-theme=\"light\"] #settings-box .category-title svg {\n fill: #076570;\n}\nhtml[data-theme=\"light\"] #settings-box .category-subtitle {\n color: #5d5d5d;\n}\nhtml[data-theme=\"light\"] label {\n color: #002e33;\n}\nhtml[data-theme=\"light\"] .switch input + * .slider,\nhtml[data-theme=\"light\"] .switch input + * .square {\n background-color: grey;\n}\nhtml[data-theme=\"light\"] .switch input:checked + * .slider,\nhtml[data-theme=\"light\"] .switch input:checked + * .square {\n background-color: #076570;\n}\n\n/* file input */\nhtml[data-theme=\"light\"] #file[data-active] {\n background: rgba(129, 177, 214, 0.34);\n}\nhtml[data-theme=\"light\"] #file-input {\n color: #076570;\n}\n\n/* tooltips */\nhtml[data-theme=\"light\"] .tooltip {\n background-color: rgb(138, 145, 154);\n color: #fff;\n}\nhtml[data-theme=\"light\"] .tooltipAction {\n border-color: #fff;\n}\nhtml[data-theme=\"light\"] .tooltip::after {\n border-color: rgb(138, 145, 154) transparent transparent transparent;\n}\n\n/* overflow menu */\nhtml[data-theme=\"light\"] #overflow-menu-button {\n background: #e8eff3;\n}\nhtml[data-theme=\"light\"]\n #toolbar[data-overflow-menu-visible]\n #overflow-menu-button {\n background: #a5a9ad;\n}\nhtml[data-theme=\"light\"] #overflow-menu {\n background: #dfe4e7;\n}\n\n/* page file list */\nhtml[data-theme=\"light\"] h2,\nhtml[data-theme=\"light\"] h4 {\n color: #076570;\n}\nhtml[data-theme=\"light\"] #fileIconSvgConfig {\n fill: #076570;\n}\nhtml[data-theme=\"light\"] #explorables h2 span {\n color: #ff8d00;\n}\nhtml[data-theme=\"light\"] article[data-page=\"file-list\"],\nhtml[data-theme=\"light\"] #file-list-link[data-active] a {\n background: #bbd5ea;\n}\nhtml[data-theme=\"light\"] #explorables fieldset input:checked + * {\n color: #ff8d00;\n background: #bbd5ea;\n}\nhtml[data-theme=\"light\"] #explorables #explorables-header,\nhtml[data-theme=\"light\"] #explorables fieldset label input + * {\n background: #ddf0ff;\n}\nhtml[data-theme=\"light\"] .execution-link {\n background: #ddf0ff;\n color: #076570;\n}\n" ] diff --git a/dist/toolbar/assets/overflow-menu.css_2859d519.map b/dist/toolbar/assets/overflow_menu.css_9a0fc3d8.map similarity index 97% rename from dist/toolbar/assets/overflow-menu.css_2859d519.map rename to dist/toolbar/assets/overflow_menu.css_9a0fc3d8.map index 3e89fd2145..609d345e2b 100644 --- a/dist/toolbar/assets/overflow-menu.css_2859d519.map +++ b/dist/toolbar/assets/overflow_menu.css_9a0fc3d8.map @@ -1,11 +1,11 @@ { "version": 3, "sources": [ - "../../../src/internal/dev_server/toolbar/responsive/overflow-menu.css" + "../../../src/internal/dev_server/toolbar/responsive/overflow_menu.css" ], "names": [], "mappings": "AAAA;EACE,aAAa;EACb,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,WAAW;EACX,mBAAmB;AACrB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,kBAAkB,EAAE,gCAAgC;EACpD,aAAa;EACb,kBAAkB;EAClB,UAAU;EACV,MAAM;EACN,SAAS;EACT,WAAW;EACX,YAAY;EACZ,mBAAmB;EACnB,UAAU;AACZ;;AAEA;EACE,kCAAkC;EAClC,yBAAyB;AAC3B;;AAEA;EACE,mBAAmB;EACnB,sBAAsB;EACtB,kBAAkB;AACpB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;;EAEE,kBAAkB,EAAE,gCAAgC;AACtD;;AAEA;EACE,mBAAmB,EAAE,gCAAgC;EACrD,cAAc;EACd,UAAU;EACV,OAAO;EACP,kBAAkB;AACpB;;AAEA;EACE,YAAY;AACd", - "file": "overflow-menu_35eb1889.css", + "file": "overflow_menu_4ef906c4.css", "sourcesContent": [ "#overflow-menu-button {\n display: none;\n position: absolute;\n top: 0;\n right: 0;\n width: 40px;\n background: #404040;\n}\n\n#dotsIconSvg {\n width: 25px;\n}\n\n#overflow-menu {\n visibility: hidden; /* disable keyboard navigation */\n display: none;\n position: absolute;\n left: 100%;\n top: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n background: #404040;\n opacity: 0;\n}\n\n#overflow-menu[data-animate] {\n transition-property: left, opacity;\n transition-duration: 0.3s;\n}\n\n#overflow-menu > * {\n display: table-cell;\n vertical-align: middle;\n text-align: center;\n}\n\n#toolbar[data-overflow-menu-enabled] #overflow-menu-button {\n display: block;\n}\n\n#toolbar[data-overflow-menu-visible] #overflow-menu-button {\n background: #030713;\n}\n\n#toolbar[data-overflow-menu-enabled][data-overflow-menu-visible]\n #toolbar-wrapper {\n visibility: hidden; /* disable keyboard navigation */\n}\n\n#toolbar[data-overflow-menu-visible] #overflow-menu {\n visibility: visible; /* restore keyboard navigation */\n display: block;\n opacity: 1;\n left: 0;\n margin-left: -40px;\n}\n\n#toolbar[data-overflow-menu-enabled] #settings-box {\n right: -40px;\n}\n" ] diff --git a/dist/toolbar/assets/toolbar.main.css_b7d8bec1.map b/dist/toolbar/assets/toolbar_main.css_b1c67dd7.map similarity index 98% rename from dist/toolbar/assets/toolbar.main.css_b7d8bec1.map rename to dist/toolbar/assets/toolbar_main.css_b1c67dd7.map index 97073ad39d..84b313172f 100644 --- a/dist/toolbar/assets/toolbar.main.css_b7d8bec1.map +++ b/dist/toolbar/assets/toolbar_main.css_b1c67dd7.map @@ -5,24 +5,24 @@ "../../../src/internal/dev_server/toolbar/compilation/compilation.css", "../../../src/internal/dev_server/toolbar/focus/focus.css", "../../../src/internal/dev_server/toolbar/eventsource/eventsource.css", - "../../../src/internal/dev_server/toolbar/responsive/overflow-menu.css", + "../../../src/internal/dev_server/toolbar/responsive/overflow_menu.css", "../../../src/internal/dev_server/toolbar/settings/settings.css", - "../../../src/internal/dev_server/toolbar/theme/light-theme.css", + "../../../src/internal/dev_server/toolbar/theme/light_theme.css", "../../../src/internal/dev_server/toolbar/tooltip/tooltip.css", - "../../../src/internal/dev_server/toolbar/toolbar.main.css" + "../../../src/internal/dev_server/toolbar/toolbar_main.css" ], "names": [], "mappings": "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CE,4BAA4B;EAC5B,yBAAyB;AAC3B;AAEA;EACE,uCAAuC;EACvC,eAAe;AACjB;AAEA;;;EAGE,YAAY;AACd;AAEA;EACE,6BAA6B;AAC/B;AAEA;EACE,6BAA6B;AAC/B;AAEA;EACE,eAAe;AACjB;ACnNA,YAAY;AACZ;EACE,mBAAmB;AACrB;AACA,UAAU;AACV;EACE,aAAa;AACf;AACA;EACE,wBAAwB;AAC1B;AACA,YAAY;AACZ;EACE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,aAAa;AACf;AACA;EACE,iCAAiC;AACnC;AACA,aAAa;AACb;;EAEE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;;EAEE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;;EAEE,sBAAsB;AACxB;AACA;;EAEE,yBAAyB;AAC3B;AACA,eAAe;AACf;EACE,qCAAqC;AACvC;AACA;EACE,cAAc;AAChB;AACA,aAAa;AACb;EACE,oCAAoC;EACpC,WAAW;AACb;AACA;EACE,kBAAkB;AACpB;AACA;EACE,oEAAoE;AACtE;AACA,kBAAkB;AAClB;EACE,mBAAmB;AACrB;AACA;;;EAGE,mBAAmB;AACrB;AACA;EACE,mBAAmB;AACrB;AACA,oBAAoB;AACpB;;EAEE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;;EAEE,mBAAmB;AACrB;AACA;EACE,cAAc;EACd,mBAAmB;AACrB;AACA;;EAEE,mBAAmB;AACrB;AACA;EACE,mBAAmB;EACnB,cAAc;AAChB;ACnHA;EACE,aAAa;EACb,iCAAiC;EACjC,WAAW;EACX,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,YAAY;EACZ,aAAa;EACb,eAAe;EACf,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;AACjB;AAEA;EACE,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,iBAAiB;EACjB,iBAAiB;EACjB,mBAAmB;EACnB,iEAAiE;AACnE;AAEA;;EAEE,cAAc;EACd,2BAA2B;AAC7B;AAEA;EACE;IACE,UAAU;EACZ;EACA;IACE,UAAU;EACZ;AACF;AAEA;EACE,qBAAqB;EACrB,yBAAyB;EACzB,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;AACjB;AAEA;EACE,sBAAsB;EACtB,YAAY;EACZ,qBAAqB;AACvB;AAEA;EACE,WAAW;EACX,WAAW;EACX,YAAY;EACZ,sBAAsB;AACxB;ACnDA;EACE,2BAA2B;EAC3B,iCAAiC;EACjC,8BAA8B;AAChC;AAEA;EACE,wBAAwB;AAC1B;AAEA;EACE,sBAAsB;AACxB;AAEA;;EAEE,SAAS;EACT,UAAU;AACZ;AAEA;EACE,wBAAwB;AAC1B;AAEA,iBAAiB;AACjB;EACE,wBAAwB;AAC1B;AAEA;EACE,eAAe;EACf,OAAO;EACP,MAAM;EACN,WAAW;EACX,YAAY;EACZ,yBAAyB;EACzB,oCAAoC;AACtC;AAEA;EACE,eAAe;EACf,SAAS;EACT,YAAY;EACZ,WAAW;EACX,mBAAmB;AACrB;AAEA;EACE,cAAc;EACd,WAAW;EACX,YAAY;AACd;AAEA;EACE,mBAAmB;EACnB,sBAAsB;AACxB;AAEA;EACE,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,UAAU;AACZ;AAEA;EACE,eAAe;AACjB;AAEA;EACE,eAAe;AACjB;AAEA,iCAAiC;AACjC;EACE,cAAc;EACd,gBAAgB;AAClB;AAEA;EACE,WAAW;EACX,YAAY;EACZ,sBAAsB;EACtB,eAAe;EACf,cAAc;EACd,uBAAuB;EACvB,mBAAmB;EACnB,qBAAqB;EACrB,gBAAgB;EAChB,uBAAuB;AACzB;AAEA;EACE,6BAA6B;AAC/B;AAEA,4BAA4B;AAC5B;;EAEE,WAAW;AACb;AAEA;EACE,YAAY;EACZ,aAAa;EACb,cAAc;AAChB;AAEA;EACE,wBAAwB;AAC1B;AAEA;EACE,YAAY;EACZ,kBAAkB;EAClB,WAAW;EACX,qBAAqB;AACvB;AAEA;EACE,mBAAmB;AACrB;AAEA;EACE,kCAAkC;AACpC;AAEA;EACE,mBAAmB;AACrB;AAEA,eAAe;AACf;EACE,WAAW;AACb;AAEA,4BAA4B;AAC5B;EACE,cAAc;EACd,gBAAgB;EAChB,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,YAAY;EACZ,WAAW;EACX,UAAU;EACV,0BAA0B;EAC1B,qCAAqC;EACrC,mBAAmB;EACnB,+CAA+C;EAC/C,uBAAuB;AACzB;AAEA;EACE,iBAAiB;AACnB;AAEA;EACE,WAAW;EACX,YAAY;EACZ,UAAU;EACV,iBAAiB;AACnB;AAEA;EACE,aAAa;AACf;AAEA;EACE,eAAe;AACjB;AAEA;EACE,SAAS;AACX;AAEA;EACE,UAAU;AACZ;AAEA;;GAEG;AAEH;EACE,cAAc;AAChB", - "file": "toolbar.main_3d05f494.css", + "file": "toolbar_main_30f9c001.css", "sourcesContent": [ "/* Loader icon */\n#loader-icon {\n width: 20px;\n height: 20px;\n margin: 10px;\n transform: scaleX(-1);\n color: #cecece;\n}\n#loader-icon[data-animate] {\n opacity: 0;\n transform-origin: center;\n animation: rotateLoader 1s linear infinite !important;\n}\n@keyframes rotateLoader {\n 0% {\n transform: scaleX(-1) rotate(360deg);\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n transform: scaleX(-1) rotate(0deg);\n opacity: 1;\n }\n}\n/* Check icon */\n#check-icon {\n width: 25px;\n height: 25px;\n margin: 7px;\n opacity: 0;\n stroke-width: 5;\n}\n#check-icon[data-animate] {\n opacity: 1;\n}\n#check-icon[data-animate] path {\n transform-origin: 50% 50%;\n stroke-dasharray: 48;\n stroke-dashoffset: 48;\n animation: stroke 0.5s cubic-bezier(0.65, 0, 0.45, 1) forwards;\n stroke: green;\n}\n@keyframes stroke {\n 100% {\n stroke-dashoffset: 0;\n }\n}\n/* Cross icon */\n#cross-icon {\n width: 20px;\n height: 20px;\n margin: 10px;\n opacity: 0;\n stroke-width: 5;\n}\n#cross-icon rect {\n width: 33px;\n height: 0;\n fill: #d74640;\n}\n#cross-icon[data-animate] {\n opacity: 1;\n}\n#cross-icon[data-animate] #cross_p1 {\n animation: draw 0.5s cubic-bezier(0.65, 0, 0.45, 1) forwards;\n}\n#cross-icon[data-animate] #cross_p2 {\n animation: draw 0.5s cubic-bezier(0.65, 0, 0.45, 1) forwards 0.2s;\n}\n@keyframes draw {\n 100% {\n height: 376.964px;\n width: 45px;\n }\n}\n\n/*# sourceMappingURL=execution.css_f3377c10.map */", "#file_info_svg {\n width: 20px;\n height: 20px;\n margin: 10px;\n color: #cecece;\n}\n\n#file_info ul {\n margin: 0;\n margin-bottom: 0.7em;\n padding-left: 1em;\n}\n\n#file_info ul li {\n text-align: left;\n}\n\n.browser_support_text[data-warning],\n.files_compilation_text[data-warning] {\n color: #cb5909;\n margin-bottom: 5px;\n display: block;\n}\n\n/*# sourceMappingURL=compilation.css_7421bd55.map */", "button:focus,\na:focus,\ninput:focus,\n*[data-contains-hidden-input] input:focus + * {\n outline-style: none;\n outline-offset: -2px;\n}\n\n*[data-contains-hidden-input] input:focus + * {\n outline-width: 4px;\n outline-offset: -2px;\n}\n\nhtml[data-last-interaction=\"keyboard\"] button:focus,\nhtml[data-last-interaction=\"keyboard\"] a:focus,\nhtml[data-last-interaction=\"keyboard\"] input:focus,\nhtml[data-last-interaction=\"keyboard\"]\n *[data-contains-hidden-input]\n input:focus\n + * {\n outline-style: auto;\n}\n\nhtml[data-last-interaction=\"keyboard\"]\n *[data-contains-hidden-input]\n input:focus\n + * {\n outline-color: rgb(0, 150, 255);\n}\n\n/*\nDon't try to replace @-moz-document url-prefix() this by\n\n-moz-outline or -moz-outline-color\nBecause firefox would take into account outline instead of -moz-outline\n\n:moz-focus-ring\nBecause for some element we set the focus outline on a div which would not match :focusring\n*/\n\n@-moz-document url-prefix() {\n html[data-last-interaction=\"keyboard\"] button:focus,\n html[data-last-interaction=\"keyboard\"] a:focus,\n html[data-last-interaction=\"keyboard\"] input:focus,\n html[data-last-interaction=\"keyboard\"]\n *[data-input-customized]\n input:focus\n + * {\n outline-width: 2px;\n outline-offset: 0;\n outline-style: solid;\n /*\n force a blue color for firefox otherwise\n it uses outline-color: inherit\n making it unpredictible and sometimes hard to see\n */\n outline-color: rgb(0, 150, 255);\n }\n}\n\n::-moz-focus-inner {\n border: 0;\n}\n\n/*# sourceMappingURL=focus.css_896f3e45.map */", "#eventsource-indicator button {\n position: relative;\n}\n\n#eventsource-indicator button svg {\n width: 40px;\n height: 40px;\n}\n\n#eventsource-indicator .event-source-livereload {\n position: absolute;\n width: 32px;\n height: 32px;\n margin: 4px;\n left: 0;\n top: 0;\n}\n\n.event-source-livereload[data-variant=\"enabled\"] {\n color: green;\n}\n\n#eventsource-indicator .event-source-icon {\n width: 40px;\n height: 40px;\n}\n\n.eventsource-circle {\n stroke: black;\n stroke-width: 0;\n}\n\n.eventsource-circle[data-variant=\"off\"] {\n fill: #cecece;\n}\n\n.eventsource-circle[data-variant=\"connecting\"] {\n fill: #cecece;\n animation: wink 1.2s ease-out infinite;\n transform-origin: center;\n}\n\n@keyframes wink {\n 0% {\n opacity: 0;\n }\n 80% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n\n.eventsource-ring {\n stroke: rgba(206, 206, 206, 0.46);\n stroke-width: 4;\n fill: transparent;\n animation: pulse 1.2s ease-out infinite;\n transform-origin: center;\n}\n\n@keyframes pulse {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n transform: scale(1);\n opacity: 0;\n }\n}\n\n.eventsource-circle[data-variant=\"connected\"] {\n fill: green;\n}\n\n.eventsource-circle[data-variant=\"failed\"] {\n fill: #cc0000;\n}\n\n/*# sourceMappingURL=eventsource.css_c0c71e7b.map */", - "#overflow-menu-button {\n display: none;\n position: absolute;\n top: 0;\n right: 0;\n width: 40px;\n background: #404040;\n}\n\n#dotsIconSvg {\n width: 25px;\n}\n\n#overflow-menu {\n visibility: hidden; /* disable keyboard navigation */\n display: none;\n position: absolute;\n left: 100%;\n top: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n background: #404040;\n opacity: 0;\n}\n\n#overflow-menu[data-animate] {\n transition-property: left, opacity;\n transition-duration: 0.3s;\n}\n\n#overflow-menu > * {\n display: table-cell;\n vertical-align: middle;\n text-align: center;\n}\n\n#toolbar[data-overflow-menu-enabled] #overflow-menu-button {\n display: block;\n}\n\n#toolbar[data-overflow-menu-visible] #overflow-menu-button {\n background: #030713;\n}\n\n#toolbar[data-overflow-menu-enabled][data-overflow-menu-visible]\n #toolbar-wrapper {\n visibility: hidden; /* disable keyboard navigation */\n}\n\n#toolbar[data-overflow-menu-visible] #overflow-menu {\n visibility: visible; /* restore keyboard navigation */\n display: block;\n opacity: 1;\n left: 0;\n margin-left: -40px;\n}\n\n#toolbar[data-overflow-menu-enabled] #settings-box {\n right: -40px;\n}\n\n/*# sourceMappingURL=overflow-menu.css_2859d519.map */", + "#overflow-menu-button {\n display: none;\n position: absolute;\n top: 0;\n right: 0;\n width: 40px;\n background: #404040;\n}\n\n#dotsIconSvg {\n width: 25px;\n}\n\n#overflow-menu {\n visibility: hidden; /* disable keyboard navigation */\n display: none;\n position: absolute;\n left: 100%;\n top: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n background: #404040;\n opacity: 0;\n}\n\n#overflow-menu[data-animate] {\n transition-property: left, opacity;\n transition-duration: 0.3s;\n}\n\n#overflow-menu > * {\n display: table-cell;\n vertical-align: middle;\n text-align: center;\n}\n\n#toolbar[data-overflow-menu-enabled] #overflow-menu-button {\n display: block;\n}\n\n#toolbar[data-overflow-menu-visible] #overflow-menu-button {\n background: #030713;\n}\n\n#toolbar[data-overflow-menu-enabled][data-overflow-menu-visible]\n #toolbar-wrapper {\n visibility: hidden; /* disable keyboard navigation */\n}\n\n#toolbar[data-overflow-menu-visible] #overflow-menu {\n visibility: visible; /* restore keyboard navigation */\n display: block;\n opacity: 1;\n left: 0;\n margin-left: -40px;\n}\n\n#toolbar[data-overflow-menu-enabled] #settings-box {\n right: -40px;\n}\n\n/*# sourceMappingURL=overflow_menu.css_9a0fc3d8.map */", "#settings-button {\n position: relative;\n}\n\n#settings-button[data-warning] svg {\n fill: #cb5909;\n}\n\n#settings-button[data-warning] svg:hover {\n fill: darkorange !important;\n}\n\n#settings-box {\n display: none;\n position: absolute;\n bottom: 40px;\n right: 0;\n text-align: center;\n padding: 17px;\n font-size: 14px;\n color: #fff;\n background-color: #030713;\n border-radius: 5px 5px 0 0;\n min-width: 250px;\n min-height: 150px;\n z-index: -1;\n}\n\n[data-active] #settings-box {\n display: block;\n animation: comeUp ease 0.3s;\n}\n\n@keyframes comeUp {\n 0% {\n opacity: 0;\n transform: translate(0, 90px);\n }\n 100% {\n opacity: 1;\n transform: translate(0, 0);\n }\n}\n\n#settings-box-body {\n text-align: left;\n padding: 18px 0;\n max-height: 80vh;\n overflow: auto;\n width: 100vw;\n display: flex;\n justify-content: center;\n}\n\n.settings-box-items-wrapper {\n max-width: 700px;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n}\n\n.settings-box-item {\n padding: 15px;\n background: #0c111b;\n width: 250px;\n margin: 9px 18px;\n}\n\n#settings-box-header .settings-icon {\n fill: none;\n stroke: #24b1b0;\n stroke-width: 2;\n margin-right: 10px;\n width: 22px;\n height: 22px;\n position: relative;\n top: 4px;\n}\n\n#settings-box h3 {\n display: inline-block;\n font-size: 20px;\n margin: 10px 0;\n color: #24b1b0;\n}\n\n#button-close-settings {\n float: right;\n fill: #24b1b0;\n}\n\n#button-close-settings:hover {\n opacity: 0.6;\n}\n\nlabel {\n color: #a9a8a8;\n font-size: 14px;\n padding-bottom: 3px;\n display: block;\n}\n\n#settings-box .category-title {\n color: #24b1b0;\n font-size: 16px;\n display: inline-block;\n margin-bottom: 15px;\n margin-top: 4px;\n}\n\n#settings-box .category-title svg {\n fill: currentColor;\n vertical-align: top;\n margin-right: 5px;\n width: 18px;\n height: 18px;\n}\n\n#settings-box .category-subtitle {\n color: #a9a8a8;\n font-size: 14px;\n max-width: 220px;\n}\n\n/* checkbox switch */\n\n.switch {\n position: relative;\n float: right;\n width: 3.5em;\n height: 2em;\n padding: 0;\n cursor: pointer;\n}\n\n.switch input {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n.switch .slider {\n position: absolute;\n vertical-align: middle;\n height: 0.3em;\n left: 0.5em;\n right: 0.5em;\n top: 50%;\n margin-top: -0.15em;\n background-color: #4c4c4c;\n transition: 0.4s;\n border-radius: 0.15em;\n}\n\n.switch .square {\n position: absolute;\n content: \"\";\n height: 1em;\n width: 1em;\n left: 0.5em;\n top: 50%;\n margin-top: -0.5em;\n background-color: #4c4c4c;\n color: #030713;\n transition: 0.4s;\n border-radius: 0.15em;\n}\n\n.switch input + * {\n position: relative;\n width: 100%;\n height: 100%;\n\n /* It's important to have a border (event transparent)\nTo be able to apply an outline to this element later*/\n border-width: 1px;\n border-color: transparent;\n border-style: solid;\n}\n\n.switch input:checked + * .slider {\n background-color: #24b1b0;\n}\n\n.switch input:checked + * .square {\n transform: translateX(1.6em);\n background-color: #24b1b0;\n}\n\n.settings-box-item[data-disabled] {\n background-color: rgba(12, 17, 27, 0.4);\n cursor: default;\n}\n\n.settings-box-item[data-disabled] .category-title,\n.settings-box-item[data-disabled] .switch,\n.settings-box-item[data-disabled] .category-subtitle {\n opacity: 0.4;\n}\n\n.settings-box-item[data-disabled] .category-title span {\n text-decoration: line-through;\n}\n\n.settings-box-item[data-disabled] .category-subtitle {\n text-decoration: line-through;\n}\n\n.settings-box-item[data-disabled] .switch {\n cursor: default;\n}\n\n/*# sourceMappingURL=settings.css_942b5a9e.map */", - "/* general */\nhtml[data-theme=\"light\"] #toolbar {\n background: #e8eff3;\n}\n/* icons */\nhtml[data-theme=\"light\"] .iconToolbar {\n fill: #404040;\n}\nhtml[data-theme=\"light\"] .iconToolbar:hover {\n fill: #757575 !important;\n}\n/* loaders */\nhtml[data-theme=\"light\"] #loader-icon {\n color: #404040;\n}\nhtml[data-theme=\"light\"] .livereload-circle[data-variant=\"off\"] {\n fill: #757575;\n}\nhtml[data-theme=\"light\"] .livereload-circle[data-variant=\"connecting\"] {\n fill: #717171;\n}\nhtml[data-theme=\"light\"] .livereload-ring {\n stroke: rgba(138, 136, 136, 0.46);\n}\n/* settings */\nhtml[data-theme=\"light\"] #settings-box,\nhtml[data-theme=\"light\"] #settings[data-active] button {\n background: #87acd3;\n}\nhtml[data-theme=\"light\"] .settings-box-item {\n background: #97b9da;\n}\nhtml[data-theme=\"light\"] #settings-box-header .settings-icon {\n stroke: #076570;\n}\nhtml[data-theme=\"light\"] #button-close-settings {\n fill: #076570;\n}\nhtml[data-theme=\"light\"] #settings-box h3,\nhtml[data-theme=\"light\"] #settings-box .category-title {\n color: #076570;\n}\nhtml[data-theme=\"light\"] #settings-box .category-title svg {\n fill: #076570;\n}\nhtml[data-theme=\"light\"] #settings-box .category-subtitle {\n color: #5d5d5d;\n}\nhtml[data-theme=\"light\"] label {\n color: #002e33;\n}\nhtml[data-theme=\"light\"] .switch input + * .slider,\nhtml[data-theme=\"light\"] .switch input + * .square {\n background-color: grey;\n}\nhtml[data-theme=\"light\"] .switch input:checked + * .slider,\nhtml[data-theme=\"light\"] .switch input:checked + * .square {\n background-color: #076570;\n}\n/* file input */\nhtml[data-theme=\"light\"] #file[data-active] {\n background: rgba(129, 177, 214, 0.34);\n}\nhtml[data-theme=\"light\"] #file-input {\n color: #076570;\n}\n/* tooltips */\nhtml[data-theme=\"light\"] .tooltip {\n background-color: rgb(138, 145, 154);\n color: #fff;\n}\nhtml[data-theme=\"light\"] .tooltipAction {\n border-color: #fff;\n}\nhtml[data-theme=\"light\"] .tooltip::after {\n border-color: rgb(138, 145, 154) transparent transparent transparent;\n}\n/* overflow menu */\nhtml[data-theme=\"light\"] #overflow-menu-button {\n background: #e8eff3;\n}\nhtml[data-theme=\"light\"]\n #toolbar[data-overflow-menu-visible]\n #overflow-menu-button {\n background: #a5a9ad;\n}\nhtml[data-theme=\"light\"] #overflow-menu {\n background: #dfe4e7;\n}\n/* page file list */\nhtml[data-theme=\"light\"] h2,\nhtml[data-theme=\"light\"] h4 {\n color: #076570;\n}\nhtml[data-theme=\"light\"] #fileIconSvgConfig {\n fill: #076570;\n}\nhtml[data-theme=\"light\"] #explorables h2 span {\n color: #ff8d00;\n}\nhtml[data-theme=\"light\"] article[data-page=\"file-list\"],\nhtml[data-theme=\"light\"] #file-list-link[data-active] a {\n background: #bbd5ea;\n}\nhtml[data-theme=\"light\"] #explorables fieldset input:checked + * {\n color: #ff8d00;\n background: #bbd5ea;\n}\nhtml[data-theme=\"light\"] #explorables #explorables-header,\nhtml[data-theme=\"light\"] #explorables fieldset label input + * {\n background: #ddf0ff;\n}\nhtml[data-theme=\"light\"] .execution-link {\n background: #ddf0ff;\n color: #076570;\n}\n\n/*# sourceMappingURL=light-theme.css_72a60fa3.map */", + "/* general */\nhtml[data-theme=\"light\"] #toolbar {\n background: #e8eff3;\n}\n/* icons */\nhtml[data-theme=\"light\"] .iconToolbar {\n fill: #404040;\n}\nhtml[data-theme=\"light\"] .iconToolbar:hover {\n fill: #757575 !important;\n}\n/* loaders */\nhtml[data-theme=\"light\"] #loader-icon {\n color: #404040;\n}\nhtml[data-theme=\"light\"] .livereload-circle[data-variant=\"off\"] {\n fill: #757575;\n}\nhtml[data-theme=\"light\"] .livereload-circle[data-variant=\"connecting\"] {\n fill: #717171;\n}\nhtml[data-theme=\"light\"] .livereload-ring {\n stroke: rgba(138, 136, 136, 0.46);\n}\n/* settings */\nhtml[data-theme=\"light\"] #settings-box,\nhtml[data-theme=\"light\"] #settings[data-active] button {\n background: #87acd3;\n}\nhtml[data-theme=\"light\"] .settings-box-item {\n background: #97b9da;\n}\nhtml[data-theme=\"light\"] #settings-box-header .settings-icon {\n stroke: #076570;\n}\nhtml[data-theme=\"light\"] #button-close-settings {\n fill: #076570;\n}\nhtml[data-theme=\"light\"] #settings-box h3,\nhtml[data-theme=\"light\"] #settings-box .category-title {\n color: #076570;\n}\nhtml[data-theme=\"light\"] #settings-box .category-title svg {\n fill: #076570;\n}\nhtml[data-theme=\"light\"] #settings-box .category-subtitle {\n color: #5d5d5d;\n}\nhtml[data-theme=\"light\"] label {\n color: #002e33;\n}\nhtml[data-theme=\"light\"] .switch input + * .slider,\nhtml[data-theme=\"light\"] .switch input + * .square {\n background-color: grey;\n}\nhtml[data-theme=\"light\"] .switch input:checked + * .slider,\nhtml[data-theme=\"light\"] .switch input:checked + * .square {\n background-color: #076570;\n}\n/* file input */\nhtml[data-theme=\"light\"] #file[data-active] {\n background: rgba(129, 177, 214, 0.34);\n}\nhtml[data-theme=\"light\"] #file-input {\n color: #076570;\n}\n/* tooltips */\nhtml[data-theme=\"light\"] .tooltip {\n background-color: rgb(138, 145, 154);\n color: #fff;\n}\nhtml[data-theme=\"light\"] .tooltipAction {\n border-color: #fff;\n}\nhtml[data-theme=\"light\"] .tooltip::after {\n border-color: rgb(138, 145, 154) transparent transparent transparent;\n}\n/* overflow menu */\nhtml[data-theme=\"light\"] #overflow-menu-button {\n background: #e8eff3;\n}\nhtml[data-theme=\"light\"]\n #toolbar[data-overflow-menu-visible]\n #overflow-menu-button {\n background: #a5a9ad;\n}\nhtml[data-theme=\"light\"] #overflow-menu {\n background: #dfe4e7;\n}\n/* page file list */\nhtml[data-theme=\"light\"] h2,\nhtml[data-theme=\"light\"] h4 {\n color: #076570;\n}\nhtml[data-theme=\"light\"] #fileIconSvgConfig {\n fill: #076570;\n}\nhtml[data-theme=\"light\"] #explorables h2 span {\n color: #ff8d00;\n}\nhtml[data-theme=\"light\"] article[data-page=\"file-list\"],\nhtml[data-theme=\"light\"] #file-list-link[data-active] a {\n background: #bbd5ea;\n}\nhtml[data-theme=\"light\"] #explorables fieldset input:checked + * {\n color: #ff8d00;\n background: #bbd5ea;\n}\nhtml[data-theme=\"light\"] #explorables #explorables-header,\nhtml[data-theme=\"light\"] #explorables fieldset label input + * {\n background: #ddf0ff;\n}\nhtml[data-theme=\"light\"] .execution-link {\n background: #ddf0ff;\n color: #076570;\n}\n\n/*# sourceMappingURL=light_theme.css_5bff0336.map */", ".tooltip {\n display: none;\n background-color: rgb(94, 94, 94);\n color: #fff;\n text-align: center;\n border-radius: 6px;\n position: absolute;\n bottom: 120%;\n padding: 10px;\n font-size: 14px;\n margin-left: -40px;\n max-width: 160px;\n cursor: default;\n}\n\n.tooltip::after {\n content: \"\";\n position: absolute;\n top: 100%;\n left: 60px;\n margin-left: -5px;\n border-width: 5px;\n border-style: solid;\n border-color: rgb(94, 94, 94) transparent transparent transparent;\n}\n\n[data-tooltip-visible] .tooltip,\n[data-tooltip-auto-visible] .tooltip {\n display: block;\n animation: fadeIn ease 0.4s;\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.tooltipAction {\n display: inline-block;\n border: 1px solid #a0a0a0;\n border-radius: 3px;\n padding: 3px 7px;\n margin-top: 6px;\n}\n\n.tooltipAction a {\n vertical-align: middle;\n color: white;\n text-decoration: none;\n}\n\n.tooltipIcon {\n fill: white;\n width: 20px;\n height: 20px;\n vertical-align: middle;\n}\n\n/*# sourceMappingURL=tooltip.css_a94a8bdd.map */", - "@import \"./execution/execution.css\";\n@import \"./compilation/compilation.css\";\n@import \"./focus/focus.css\";\n@import \"./eventsource/eventsource.css\";\n@import \"./responsive/overflow-menu.css\";\n@import \"./settings/settings.css\";\n@import \"./theme/light-theme.css\";\n@import \"./tooltip/tooltip.css\";\n\nhtml[data-animation-disabled] * {\n transition: none !important;\n animation-duration: 0s !important;\n animation-delay: 0s !important;\n}\n\n[data-when] {\n display: none !important;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n}\n\nhtml {\n font-family: arial, sans;\n}\n\n/* global utils */\n[data-force-hide] {\n display: none !important;\n}\n\n#toolbar-overlay {\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n filter: url(#better-blur);\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n#toolbar {\n position: fixed;\n bottom: 0;\n height: 40px;\n width: 100%;\n background: #404040;\n}\n\n#toolbar-wrapper {\n display: table;\n width: 100%;\n height: 100%;\n}\n\n#toolbar-wrapper > * {\n display: table-cell;\n vertical-align: middle;\n}\n\n#toolbar button {\n background: none;\n border: none;\n height: 100%;\n padding: 0;\n}\n\n#toolbar button:hover {\n cursor: pointer;\n}\n\n#toolbar a:hover {\n cursor: pointer;\n}\n\n/* file name input & indicators */\n#file {\n max-width: 40%;\n padding: 0 1.2em;\n}\n\n#file-input {\n width: 100%;\n padding: 0px;\n font-family: monospace;\n font-size: 15px;\n color: #cecece;\n background: transparent;\n border: transparent;\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n#file-input:focus {\n border-bottom: 1px solid grey;\n}\n\n/* file and settings icons */\n#fileIconSvg,\n.settings-icon {\n width: 20px;\n}\n\n.iconToolbar {\n height: 40px;\n fill: #cecece;\n color: #cecece;\n}\n\n.iconToolbar:hover {\n fill: #909090 !important;\n}\n\n.toolbar-icon-wrapper {\n height: 100%;\n text-align: center;\n width: 40px;\n display: inline-block;\n}\n\n#file-list-link[data-active] a {\n background: #1f262c;\n}\n\n#file[data-active] {\n background: rgba(31, 38, 44, 0.72);\n}\n\n#settings[data-active] button {\n background: #030713;\n}\n\n/* close icon */\n#crossIconSvg {\n width: 18px;\n}\n\n/* re-open toolbar-trigger */\n#toolbar-trigger {\n display: block;\n overflow: hidden;\n position: absolute;\n bottom: -32px;\n right: 20px;\n height: 40px;\n width: 40px;\n padding: 0;\n border-radius: 5px 5px 0 0;\n border: 1px solid rgba(0, 0, 0, 0.33);\n border-bottom: none;\n box-shadow: 0px 0px 6px 2px rgba(0, 0, 0, 0.46);\n background: transparent;\n}\n\n#toolbar-trigger[data-animate] {\n transition: 600ms;\n}\n\n#toolbar-trigger #jsenvLogoSvg {\n width: 35px;\n height: 35px;\n opacity: 0;\n transition: 600ms;\n}\n\nhtml[data-toolbar-visible] #toolbar-trigger {\n display: none;\n}\n\n#toolbar-trigger:hover {\n cursor: pointer;\n}\n\n#toolbar-trigger[data-expanded] {\n bottom: 0;\n}\n\n#toolbar-trigger[data-expanded] #jsenvLogoSvg {\n opacity: 1;\n}\n\n/* #jsenvLogo {\n transition: 600ms;\n} */\n\n#toolbar a {\n color: inherit;\n}\n" + "@import \"./execution/execution.css\";\n@import \"./compilation/compilation.css\";\n@import \"./focus/focus.css\";\n@import \"./eventsource/eventsource.css\";\n@import \"./responsive/overflow_menu.css\";\n@import \"./settings/settings.css\";\n@import \"./theme/light_theme.css\";\n@import \"./tooltip/tooltip.css\";\n\nhtml[data-animation-disabled] * {\n transition: none !important;\n animation-duration: 0s !important;\n animation-delay: 0s !important;\n}\n\n[data-when] {\n display: none !important;\n}\n\n* {\n box-sizing: border-box;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n}\n\nhtml {\n font-family: arial, sans;\n}\n\n/* global utils */\n[data-force-hide] {\n display: none !important;\n}\n\n#toolbar-overlay {\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n filter: url(#better-blur);\n background-color: rgba(0, 0, 0, 0.2);\n}\n\n#toolbar {\n position: fixed;\n bottom: 0;\n height: 40px;\n width: 100%;\n background: #404040;\n}\n\n#toolbar-wrapper {\n display: table;\n width: 100%;\n height: 100%;\n}\n\n#toolbar-wrapper > * {\n display: table-cell;\n vertical-align: middle;\n}\n\n#toolbar button {\n background: none;\n border: none;\n height: 100%;\n padding: 0;\n}\n\n#toolbar button:hover {\n cursor: pointer;\n}\n\n#toolbar a:hover {\n cursor: pointer;\n}\n\n/* file name input & indicators */\n#file {\n max-width: 40%;\n padding: 0 1.2em;\n}\n\n#file-input {\n width: 100%;\n padding: 0px;\n font-family: monospace;\n font-size: 15px;\n color: #cecece;\n background: transparent;\n border: transparent;\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n#file-input:focus {\n border-bottom: 1px solid grey;\n}\n\n/* file and settings icons */\n#fileIconSvg,\n.settings-icon {\n width: 20px;\n}\n\n.iconToolbar {\n height: 40px;\n fill: #cecece;\n color: #cecece;\n}\n\n.iconToolbar:hover {\n fill: #909090 !important;\n}\n\n.toolbar-icon-wrapper {\n height: 100%;\n text-align: center;\n width: 40px;\n display: inline-block;\n}\n\n#file-list-link[data-active] a {\n background: #1f262c;\n}\n\n#file[data-active] {\n background: rgba(31, 38, 44, 0.72);\n}\n\n#settings[data-active] button {\n background: #030713;\n}\n\n/* close icon */\n#crossIconSvg {\n width: 18px;\n}\n\n/* re-open toolbar-trigger */\n#toolbar-trigger {\n display: block;\n overflow: hidden;\n position: absolute;\n bottom: -32px;\n right: 20px;\n height: 40px;\n width: 40px;\n padding: 0;\n border-radius: 5px 5px 0 0;\n border: 1px solid rgba(0, 0, 0, 0.33);\n border-bottom: none;\n box-shadow: 0px 0px 6px 2px rgba(0, 0, 0, 0.46);\n background: transparent;\n}\n\n#toolbar-trigger[data-animate] {\n transition: 600ms;\n}\n\n#toolbar-trigger #jsenvLogoSvg {\n width: 35px;\n height: 35px;\n opacity: 0;\n transition: 600ms;\n}\n\nhtml[data-toolbar-visible] #toolbar-trigger {\n display: none;\n}\n\n#toolbar-trigger:hover {\n cursor: pointer;\n}\n\n#toolbar-trigger[data-expanded] {\n bottom: 0;\n}\n\n#toolbar-trigger[data-expanded] #jsenvLogoSvg {\n opacity: 1;\n}\n\n/* #jsenvLogo {\n transition: 600ms;\n} */\n\n#toolbar a {\n color: inherit;\n}\n" ] } \ No newline at end of file diff --git a/dist/toolbar/toolbar_d6045dd0.html b/dist/toolbar/toolbar_b0c9100c.html similarity index 99% rename from dist/toolbar/toolbar_d6045dd0.html rename to dist/toolbar/toolbar_b0c9100c.html index 4030b62140..b7a5a3e1ae 100644 --- a/dist/toolbar/toolbar_d6045dd0.html +++ b/dist/toolbar/toolbar_b0c9100c.html @@ -790,7 +790,7 @@ color: inherit; } -/*# sourceMappingURL=assets/toolbar.main.css_b7d8bec1.map */ +/*# sourceMappingURL=assets/toolbar_main.css_b1c67dd7.map */ +//# sourceMappingURL=toolbar_main_f54c1bb0.js.map \ No newline at end of file diff --git a/dist/toolbar/toolbar.main_7d7783d3.js.map b/dist/toolbar/toolbar_main_f54c1bb0.js.map similarity index 62% rename from dist/toolbar/toolbar.main_7d7783d3.js.map rename to dist/toolbar/toolbar_main_f54c1bb0.js.map index c1a6ca89ff..b74fa4aa49 100644 --- a/dist/toolbar/toolbar.main_7d7783d3.js.map +++ b/dist/toolbar/toolbar_main_f54c1bb0.js.map @@ -1,6 +1,6 @@ { "version": 3, - "file": "toolbar.main.js", + "file": "toolbar_main.js", "sources": [ "../../helpers/babel/arrayLikeToArray/arrayLikeToArray.js", "../../helpers/babel/arrayWithoutHoles/arrayWithoutHoles.js", @@ -17,33 +17,33 @@ "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js", "../../src/internal/dev_server/toolbar/util/dom.js", "../../src/internal/dev_server/toolbar/util/animation.js", - "../../src/internal/dev_server/toolbar/focus/toolbar.focus.js", + "../../src/internal/dev_server/toolbar/focus/toolbar_focus.js", "../../src/internal/dev_server/toolbar/util/iframe_to_parent_href.js", "../../src/internal/dev_server/toolbar/util/preferences.js", "../../src/internal/dev_server/toolbar/tooltip/tooltip.js", "../../src/internal/dev_server/toolbar/variant/variant.js", - "../../src/internal/dev_server/toolbar/settings/toolbar.settings.js", + "../../src/internal/dev_server/toolbar/settings/toolbar_settings.js", "../../helpers/babel/defineProperty/defineProperty.js", "../../helpers/babel/objectSpread2/objectSpread2.js", - "../../src/internal/dev_server/toolbar/notification/toolbar.notification.js", - "../../src/internal/dev_server/toolbar/theme/toolbar.theme.js", - "../../src/internal/dev_server/toolbar/animation/toolbar.animation.js", + "../../src/internal/dev_server/toolbar/notification/toolbar_notification.js", + "../../src/internal/dev_server/toolbar/theme/toolbar_theme.js", + "../../src/internal/dev_server/toolbar/animation/toolbar_animation.js", "../../src/internal/dev_server/toolbar/util/responsive.js", - "../../src/internal/dev_server/toolbar/execution/toolbar.execution.js", - "../../src/internal/browser_utils/fetchUsingXHR.js", + "../../src/internal/dev_server/toolbar/execution/toolbar_execution.js", + "../../src/internal/browser_utils/fetch_using_xhr.js", "../../src/internal/browser_utils/fetch_browser.js", - "../../src/internal/browser_utils/fetchJson.js", + "../../src/internal/browser_utils/fetch_json.js", "../../src/internal/browser_detection/user_agent_data.js", "../../src/internal/browser_detection/util.js", - "../../src/internal/browser_detection/detectAndroid.js", - "../../src/internal/browser_detection/detectInternetExplorer.js", - "../../src/internal/browser_detection/detectOpera.js", - "../../src/internal/browser_detection/detectEdge.js", - "../../src/internal/browser_detection/detectFirefox.js", - "../../src/internal/browser_detection/detectChrome.js", - "../../src/internal/browser_detection/detectSafari.js", - "../../src/internal/browser_detection/detectElectron.js", - "../../src/internal/browser_detection/detectIOS.js", + "../../src/internal/browser_detection/detect_android.js", + "../../src/internal/browser_detection/detect_internet_explorer.js", + "../../src/internal/browser_detection/detect_opera.js", + "../../src/internal/browser_detection/detect_edge.js", + "../../src/internal/browser_detection/detect_firefox.js", + "../../src/internal/browser_detection/detect_chrome.js", + "../../src/internal/browser_detection/detect_safari.js", + "../../src/internal/browser_detection/detect_electron.js", + "../../src/internal/browser_detection/detect_ios.js", "../../src/internal/browser_detection/browser_detection.js", "../../src/internal/features/browser_feature_detection/execute_with_script_module.js", "../../src/internal/features/browser_feature_detection/browser_feature_detect_importmap.js", @@ -53,10 +53,10 @@ "../../src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_css.js", "../../src/internal/features/browser_feature_detection/browser_feature_detect_new_stylesheet.js", "../../src/internal/features/browser_feature_detection/browser_feature_detection.js", - "../../src/internal/dev_server/toolbar/compilation/toolbar.compilation.js", - "../../src/internal/dev_server/toolbar/eventsource/toolbar.eventsource.js", - "../../src/internal/dev_server/toolbar/responsive/toolbar.responsive.js", - "../../src/internal/dev_server/toolbar/toolbar.main.js" + "../../src/internal/dev_server/toolbar/compilation/toolbar_compilation.js", + "../../src/internal/dev_server/toolbar/eventsource/toolbar_eventsource.js", + "../../src/internal/dev_server/toolbar/responsive/toolbar_responsive.js", + "../../src/internal/dev_server/toolbar/toolbar_main.js" ], "sourcesContent": [ "/* eslint-disable no-eq-null, eqeqeq */\nexport default function arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length\n var arr2 = new Array(len)\n for (var i = 0; i < len; i++) arr2[i] = arr[i]\n return arr2\n}\n", @@ -86,11 +86,11 @@ "import { createPreference } from \"../util/preferences.js\"\n\nconst DARK_THEME = \"dark\"\nconst LIGHT_THEME = \"light\"\nconst themePreference = createPreference(\"theme\")\n\nexport const renderToolbarTheme = () => {\n const theme = getThemePreference()\n const checkbox = document.querySelector(\"#checkbox-dark-theme\")\n checkbox.checked = theme === DARK_THEME\n setTheme(theme)\n checkbox.onchange = () => {\n if (checkbox.checked) {\n setThemePreference(DARK_THEME)\n setTheme(DARK_THEME)\n } else {\n setThemePreference(LIGHT_THEME)\n setTheme(LIGHT_THEME)\n }\n }\n}\n\nconst getThemePreference = () => {\n return themePreference.has() ? themePreference.get() : DARK_THEME\n}\n\nconst setThemePreference = (value) => {\n themePreference.set(value)\n setTheme(value)\n}\n\nconst setTheme = (theme) => {\n document.querySelector(\"html\").setAttribute(\"data-theme\", theme)\n}\n", "import { createPreference } from \"../util/preferences.js\"\n\nconst animationPreference = createPreference(\"animation\")\n\nexport const renderToolbarAnimation = () => {\n const animCheckbox = document.querySelector(\"#toggle-anims\")\n animCheckbox.checked = getAnimationPreference()\n animCheckbox.onchange = () => {\n setAnimationPreference(animCheckbox.checked)\n onPreferenceChange(animCheckbox.checked)\n }\n onPreferenceChange()\n\n // enable toolbar transition only after first render\n setTimeout(() => {\n document.querySelector(\"#toolbar\").setAttribute(\"data-animate\", \"\")\n })\n}\n\nconst onPreferenceChange = (value = getAnimationPreference()) => {\n if (value) {\n enableAnimation()\n } else {\n disableAnimation()\n }\n}\n\nconst getAnimationPreference = () =>\n animationPreference.has() ? animationPreference.get() : true\n\nconst setAnimationPreference = (value) => animationPreference.set(value)\n\nconst enableAnimation = () => {\n document.documentElement.removeAttribute(\"data-animation-disabled\")\n}\n\nconst disableAnimation = () => {\n document.documentElement.setAttribute(\"data-animation-disabled\", \"\")\n}\n", "export const createHorizontalBreakpoint = (breakpointValue) => {\n return createBreakpoint(windowWidthMeasure, breakpointValue)\n}\n\nconst createMeasure = ({ compute, register }) => {\n let currentValue = compute()\n\n const get = () => compute()\n\n const changed = createSignal()\n\n let unregister = () => {}\n if (register) {\n unregister = register(() => {\n const value = compute()\n if (value !== currentValue) {\n const previousValue = value\n currentValue = value\n changed.notify(value, previousValue)\n }\n })\n }\n\n return { get, changed, unregister }\n}\n\nconst createSignal = () => {\n const callbackArray = []\n\n const listen = (callback) => {\n callbackArray.push(callback)\n return () => {\n const index = callbackArray.indexOf(callback)\n if (index > -1) {\n callbackArray.splice(index, 1)\n }\n }\n }\n\n const notify = (...args) => {\n callbackArray.slice().forEach((callback) => {\n callback(...args)\n })\n }\n\n return { listen, notify }\n}\n\nconst windowWidthMeasure = createMeasure({\n name: \"window-width\",\n compute: () => window.innerWidth,\n register: (onchange) => {\n window.addEventListener(\"resize\", onchange)\n window.addEventListener(\"orientationchange\", onchange)\n return () => {\n window.removeEventListener(\"resize\", onchange)\n window.removeEventListener(\"orientationchange\", onchange)\n }\n },\n})\n\nconst createBreakpoint = (measure, breakpointValue) => {\n const getBreakpointState = () => {\n const value = measure.get()\n\n if (value < breakpointValue) {\n return \"below\"\n }\n if (value > breakpointValue) {\n return \"above\"\n }\n return \"equals\"\n }\n\n let currentBreakpointState = getBreakpointState()\n\n const isAbove = () => {\n return measure.get() > breakpointValue\n }\n\n const isBelow = () => {\n return measure.get() < breakpointValue\n }\n\n const breakpointChanged = createSignal()\n\n measure.changed.listen(() => {\n const breakpointState = getBreakpointState()\n if (breakpointState !== currentBreakpointState) {\n const breakpointStatePrevious = currentBreakpointState\n currentBreakpointState = breakpointState\n breakpointChanged.notify(breakpointState, breakpointStatePrevious)\n }\n })\n\n return {\n isAbove,\n isBelow,\n changed: breakpointChanged,\n }\n}\n\n// const windowScrollTop = createMeasure({\n// name: \"window-scroll-top\",\n// compute: () => window.scrollTop,\n// register: (onchange) => {\n// window.addEventListener(\"scroll\", onchange)\n// return () => {\n// window.removeEventListener(\"scroll\", onchange)\n// }\n// },\n// })\n", - "import { removeForceHideElement, activateToolbarSection } from \"../util/dom.js\"\nimport { enableVariant } from \"../variant/variant.js\"\nimport { createHorizontalBreakpoint } from \"../util/responsive.js\"\nimport { toggleTooltip } from \"../tooltip/tooltip.js\"\nimport { notifyExecutionResult } from \"../notification/toolbar.notification.js\"\n\nconst WINDOW_MEDIUM_WIDTH = 570\n\nexport const renderExecutionInToolbar = ({ executedFileRelativeUrl }) => {\n // reset file execution indicator ui\n applyExecutionIndicator()\n removeForceHideElement(document.querySelector(\"#execution-indicator\"))\n\n // apply responsive design on fileInput if needed + add listener on resize screen\n const input = document.querySelector(\"#file-input\")\n const fileWidthBreakpoint = createHorizontalBreakpoint(WINDOW_MEDIUM_WIDTH)\n const handleFileWidthBreakpoint = () => {\n resizeInput(input, fileWidthBreakpoint)\n }\n handleFileWidthBreakpoint()\n fileWidthBreakpoint.changed.listen(handleFileWidthBreakpoint)\n input.value = executedFileRelativeUrl\n resizeInput(input, fileWidthBreakpoint)\n\n activateToolbarSection(document.querySelector(\"#file\"))\n removeForceHideElement(document.querySelector(\"#file\"))\n\n window.parent.__jsenv__.executionResultPromise.then(\n ({ status, startTime, endTime }) => {\n const execution = { status, startTime, endTime }\n applyExecutionIndicator(execution)\n\n const executionStorageKey = executedFileRelativeUrl\n const previousExecution = sessionStorage.hasOwnProperty(\n executionStorageKey,\n )\n ? JSON.parse(sessionStorage.getItem(executionStorageKey))\n : undefined\n notifyExecutionResult(\n executedFileRelativeUrl,\n execution,\n previousExecution,\n )\n\n sessionStorage.setItem(executedFileRelativeUrl, JSON.stringify(execution))\n },\n )\n}\n\nconst applyExecutionIndicator = ({\n status = \"running\",\n startTime,\n endTime,\n} = {}) => {\n const executionIndicator = document.querySelector(\"#execution-indicator\")\n enableVariant(executionIndicator, { execution: status })\n const variantNode = executionIndicator.querySelector(\"[data-when-active]\")\n\n variantNode.querySelector(\"button\").onclick = () =>\n toggleTooltip(executionIndicator)\n variantNode.querySelector(\".tooltip\").textContent = computeText({\n status,\n startTime,\n endTime,\n })\n}\n\nconst computeText = ({ status, startTime, endTime }) => {\n if (status === \"completed\") {\n return `Execution completed in ${endTime - startTime}ms`\n }\n\n if (status === \"errored\") {\n return `Execution failed in ${endTime - startTime}ms`\n }\n\n if (status === \"running\") {\n return \"Executing...\"\n }\n\n return \"\"\n}\n\nconst resizeInput = (input, fileWidthBreakpoint) => {\n const size = fileWidthBreakpoint.isBelow() ? 20 : 40\n if (input.value.length > size) {\n input.style.width = `${size}ch`\n } else {\n input.style.width = `${input.value.length}ch`\n }\n}\n", - "/* eslint-env browser */\n\nexport const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", - "import { fetchUsingXHR } from \"./fetchUsingXHR.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", + "import { removeForceHideElement, activateToolbarSection } from \"../util/dom.js\"\nimport { enableVariant } from \"../variant/variant.js\"\nimport { createHorizontalBreakpoint } from \"../util/responsive.js\"\nimport { toggleTooltip } from \"../tooltip/tooltip.js\"\nimport { notifyExecutionResult } from \"../notification/toolbar_notification.js\"\n\nconst WINDOW_MEDIUM_WIDTH = 570\n\nexport const renderExecutionInToolbar = ({ executedFileRelativeUrl }) => {\n // reset file execution indicator ui\n applyExecutionIndicator()\n removeForceHideElement(document.querySelector(\"#execution-indicator\"))\n\n // apply responsive design on fileInput if needed + add listener on resize screen\n const input = document.querySelector(\"#file-input\")\n const fileWidthBreakpoint = createHorizontalBreakpoint(WINDOW_MEDIUM_WIDTH)\n const handleFileWidthBreakpoint = () => {\n resizeInput(input, fileWidthBreakpoint)\n }\n handleFileWidthBreakpoint()\n fileWidthBreakpoint.changed.listen(handleFileWidthBreakpoint)\n input.value = executedFileRelativeUrl\n resizeInput(input, fileWidthBreakpoint)\n\n activateToolbarSection(document.querySelector(\"#file\"))\n removeForceHideElement(document.querySelector(\"#file\"))\n\n window.parent.__jsenv__.executionResultPromise.then(\n ({ status, startTime, endTime }) => {\n const execution = { status, startTime, endTime }\n applyExecutionIndicator(execution)\n\n const executionStorageKey = executedFileRelativeUrl\n const previousExecution = sessionStorage.hasOwnProperty(\n executionStorageKey,\n )\n ? JSON.parse(sessionStorage.getItem(executionStorageKey))\n : undefined\n notifyExecutionResult(\n executedFileRelativeUrl,\n execution,\n previousExecution,\n )\n\n sessionStorage.setItem(executedFileRelativeUrl, JSON.stringify(execution))\n },\n )\n}\n\nconst applyExecutionIndicator = ({\n status = \"running\",\n startTime,\n endTime,\n} = {}) => {\n const executionIndicator = document.querySelector(\"#execution-indicator\")\n enableVariant(executionIndicator, { execution: status })\n const variantNode = executionIndicator.querySelector(\"[data-when-active]\")\n\n variantNode.querySelector(\"button\").onclick = () =>\n toggleTooltip(executionIndicator)\n variantNode.querySelector(\".tooltip\").textContent = computeText({\n status,\n startTime,\n endTime,\n })\n}\n\nconst computeText = ({ status, startTime, endTime }) => {\n if (status === \"completed\") {\n return `Execution completed in ${endTime - startTime}ms`\n }\n\n if (status === \"errored\") {\n return `Execution failed in ${endTime - startTime}ms`\n }\n\n if (status === \"running\") {\n return \"Executing...\"\n }\n\n return \"\"\n}\n\nconst resizeInput = (input, fileWidthBreakpoint) => {\n const size = fileWidthBreakpoint.isBelow() ? 20 : 40\n if (input.value.length > size) {\n input.style.width = `${size}ch`\n } else {\n input.style.width = `${input.value.length}ch`\n }\n}\n", + "export const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", + "import { fetchUsingXHR } from \"./fetch_using_xhr.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", "import { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n", - "/*\n * Prefer window.navigator.userAgentData before resorting to\n * window.navigator.userAgent because of\n * https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html\n */\n\nexport const detectFromUserAgentData = () => {\n const { userAgentData } = window.navigator\n if (!userAgentData) {\n return null\n }\n\n const { brands } = userAgentData\n let i = 0\n while (i < brands.length) {\n const { brand, version } = brands[i]\n i++\n if (brand === \"chromium\" || brand === \"Google Chrome\") {\n return {\n name: \"chrome\",\n version,\n }\n }\n }\n return null\n}\n", + "/*\n * Prefer window.navigator.userAgentData before resorting to\n * window.navigator.userAgent because of\n * https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html\n */\n\nexport const detectFromUserAgentData = () => {\n const { userAgentData } = window.navigator\n if (!userAgentData) {\n return null\n }\n const { brands } = userAgentData\n let i = 0\n while (i < brands.length) {\n const { brand, version } = brands[i]\n i++\n if (brand === \"chromium\" || brand === \"Google Chrome\") {\n return {\n name: \"chrome\",\n version,\n }\n }\n }\n return null\n}\n", "export const firstMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 0 ? match[1] || undefined : undefined\n}\n\nexport const secondMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 1 ? match[2] || undefined : undefined\n}\n\nexport const userAgentToVersion = (userAgent) => {\n return firstMatch(/version\\/(\\d+(\\.?_?\\d+)+)/i, userAgent) || undefined\n}\n", "import { firstMatch } from \"./util.js\"\n\nexport const detectAndroid = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/(android)/i.test(userAgent)) {\n return {\n name: \"android\",\n version: firstMatch(/Android (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", "import { firstMatch } from \"./util.js\"\n\nexport const detectInternetExplorer = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/msie|trident/i.test(userAgent)) {\n return {\n name: \"ie\",\n version: firstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n", @@ -101,7 +101,7 @@ "import { userAgentToVersion } from \"./util.js\"\n\nexport const detectSafari = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/safari|applewebkit/i.test(userAgent)) {\n return {\n name: \"safari\",\n version: userAgentToVersion(userAgent),\n }\n }\n return null\n}\n", "export const detectElectron = () => null // TODO\n", "import { firstMatch } from \"./util.js\"\n\nexport const detectIOS = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/iPhone;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n if (/iPad;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n", - "// https://github.com/Ahmdrza/detect-browser/blob/26254f85cf92795655a983bfd759d85f3de850c6/detect-browser.js#L1\n// https://github.com/lancedikson/bowser/blob/master/src/parser-browsers.js#L1\n\nimport { detectFromUserAgentData } from \"./user_agent_data.js\"\nimport { detectAndroid } from \"./detectAndroid.js\"\nimport { detectInternetExplorer } from \"./detectInternetExplorer.js\"\nimport { detectOpera } from \"./detectOpera.js\"\nimport { detectEdge } from \"./detectEdge.js\"\nimport { detectFirefox } from \"./detectFirefox.js\"\nimport { detectChrome } from \"./detectChrome.js\"\nimport { detectSafari } from \"./detectSafari.js\"\nimport { detectElectron } from \"./detectElectron.js\"\nimport { detectIOS } from \"./detectIOS.js\"\n\nconst detectorCompose = (detectors) => () => {\n let i = 0\n while (i < detectors.length) {\n const detector = detectors[i]\n i++\n const result = detector()\n if (result) {\n return result\n }\n }\n return null\n}\n\nconst detector = detectorCompose([\n detectFromUserAgentData, // keep this first\n detectOpera,\n detectInternetExplorer,\n detectEdge,\n detectFirefox,\n detectChrome,\n detectSafari,\n detectElectron,\n detectIOS,\n detectAndroid,\n])\n\nexport const detectBrowser = () => {\n const { name = \"other\", version = \"unknown\" } = detector() || {}\n\n return {\n name: normalizeName(name),\n version: normalizeVersion(version),\n }\n}\n\nconst normalizeName = (name) => {\n return name.toLowerCase()\n}\n\nconst normalizeVersion = (version) => {\n if (version.indexOf(\".\") > -1) {\n const parts = version.split(\".\")\n // remove extraneous .\n return parts.slice(0, 3).join(\".\")\n }\n\n if (version.indexOf(\"_\") > -1) {\n const parts = version.split(\"_\")\n // remove extraneous _\n return parts.slice(0, 3).join(\"_\")\n }\n\n return version\n}\n", + "// https://github.com/Ahmdrza/detect-browser/blob/26254f85cf92795655a983bfd759d85f3de850c6/detect-browser.js#L1\n// https://github.com/lancedikson/bowser/blob/master/src/parser-browsers.js#L1\n\nimport { detectFromUserAgentData } from \"./user_agent_data.js\"\nimport { detectAndroid } from \"./detect_android.js\"\nimport { detectInternetExplorer } from \"./detect_internet_explorer.js\"\nimport { detectOpera } from \"./detect_opera.js\"\nimport { detectEdge } from \"./detect_edge.js\"\nimport { detectFirefox } from \"./detect_firefox.js\"\nimport { detectChrome } from \"./detect_chrome.js\"\nimport { detectSafari } from \"./detect_safari.js\"\nimport { detectElectron } from \"./detect_electron.js\"\nimport { detectIOS } from \"./detect_ios.js\"\n\nconst detectorCompose = (detectors) => () => {\n let i = 0\n while (i < detectors.length) {\n const detector = detectors[i]\n i++\n const result = detector()\n if (result) {\n return result\n }\n }\n return null\n}\n\nconst detector = detectorCompose([\n detectFromUserAgentData, // keep this first\n detectOpera,\n detectInternetExplorer,\n detectEdge,\n detectFirefox,\n detectChrome,\n detectSafari,\n detectElectron,\n detectIOS,\n detectAndroid,\n])\n\nexport const detectBrowser = () => {\n const { name = \"other\", version = \"unknown\" } = detector() || {}\n return {\n name: normalizeName(name),\n version: normalizeVersion(version),\n }\n}\n\nconst normalizeName = (name) => {\n return name.toLowerCase()\n}\n\nconst normalizeVersion = (version) => {\n if (version.indexOf(\".\") > -1) {\n const parts = version.split(\".\")\n // remove extraneous .\n return parts.slice(0, 3).join(\".\")\n }\n if (version.indexOf(\"_\") > -1) {\n const parts = version.split(\"_\")\n // remove extraneous _\n return parts.slice(0, 3).join(\"_\")\n }\n return version\n}\n", "export const executeWithScriptModuleInjection = (code) => {\n const scriptModule = document.createElement(\"script\")\n scriptModule.type = \"module\"\n\n const loadPromise = new Promise((resolve, reject) => {\n scriptModule.onload = () => {\n document.body.removeChild(scriptModule)\n resolve()\n }\n scriptModule.onerror = () => {\n document.body.removeChild(scriptModule)\n reject()\n }\n document.body.appendChild(scriptModule)\n })\n\n scriptModule.src = asBase64Url(code)\n\n return loadPromise\n}\n\nexport const asBase64Url = (text, mimeType = \"application/javascript\") => {\n return `data:${mimeType};base64,${window.btoa(text)}`\n}\n", "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsImportmap = async ({ remote = true } = {}) => {\n const specifier = asBase64Url(`export default false`)\n const importMap = {\n imports: {\n [specifier]: asBase64Url(`export default true`),\n },\n }\n const importmapScript = document.createElement(\"script\")\n const importmapString = JSON.stringify(importMap, null, \" \")\n importmapScript.type = \"importmap\"\n if (remote) {\n importmapScript.src = `data:application/json;base64,${window.btoa(\n importmapString,\n )}`\n } else {\n importmapScript.textContent = importmapString\n }\n document.body.appendChild(importmapScript)\n\n try {\n await executeWithScriptModuleInjection(\n `import supported from \"${specifier}\"; window.__jsenv_runtime_test_importmap__ = supported`,\n )\n document.body.removeChild(importmapScript)\n const supported = window.__jsenv_runtime_test_importmap__\n delete window.__jsenv_runtime_test_importmap__\n return supported\n } catch (e) {\n document.body.removeChild(importmapScript)\n return false\n }\n}\n", "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsDynamicImport = async () => {\n const moduleSource = asBase64Url(`export default 42`)\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_dynamic_import__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_dynamic_import__\n delete window.__jsenv_runtime_test_dynamic_import__\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n", @@ -109,11 +109,11 @@ "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsJsonImportAssertions = async () => {\n const jsonBase64Url = asBase64Url(\"42\", \"application/json\")\n const moduleSource = asBase64Url(\n `import data from \"${jsonBase64Url}\" assert { type: \"json\" }\n export default data`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_json_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_json_import_assertion__\n const supported = namespace.default === 42\n delete window.__jsenv_runtime_test_json_import_assertion__\n return supported\n } catch (e) {\n return false\n }\n}\n", "import {\n asBase64Url,\n executeWithScriptModuleInjection,\n} from \"./execute_with_script_module.js\"\n\nexport const supportsCssImportAssertions = async () => {\n const cssBase64Url = asBase64Url(\"p { color: red; }\", \"text/css\")\n const moduleSource = asBase64Url(\n `import css from \"${cssBase64Url}\" assert { type: \"css\" }\n export default css`,\n )\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_css_import_assertion__ = import(${JSON.stringify(\n moduleSource,\n )})`,\n )\n const namespace = await window.__jsenv_runtime_test_css_import_assertion__\n return namespace.default instanceof CSSStyleSheet\n } catch (e) {\n return false\n }\n}\n", "export const supportsNewStylesheet = () => {\n try {\n // eslint-disable-next-line no-new\n new CSSStyleSheet()\n return true\n } catch (e) {\n return false\n }\n}\n", - "import { fetchJson } from \"../../browser_utils/fetchJson.js\"\nimport { detectBrowser } from \"../../browser_detection/browser_detection.js\"\n\nimport { supportsImportmap } from \"./browser_feature_detect_importmap.js\"\nimport { supportsDynamicImport } from \"./browser_feature_detect_dynamic_import.js\"\nimport { supportsTopLevelAwait } from \"./browser_feature_detect_top_level_await.js\"\nimport { supportsJsonImportAssertions } from \"./browser_feature_detect_import_assertions_json.js\"\nimport { supportsCssImportAssertions } from \"./browser_feature_detect_import_assertions_css.js\"\nimport { supportsNewStylesheet } from \"./browser_feature_detect_new_stylesheet.js\"\n\nexport const scanBrowserRuntimeFeatures = async ({\n coverageHandledFromOutside = false,\n forceCompilation = false,\n forceSource = false,\n} = {}) => {\n const jsenvCompileProfileUrl = \"/__jsenv_compile_profile__\"\n const {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n } = await fetchJson(jsenvCompileProfileUrl)\n const { name, version } = detectBrowser()\n const featuresReport = await detectSupportedFeatures({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n })\n const runtimeReport = {\n env: { browser: true },\n name,\n version,\n featuresReport,\n forceSource,\n forceCompilation,\n }\n const { compileProfile, compileId } = await fetchJson(\n jsenvCompileProfileUrl,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(runtimeReport),\n },\n )\n return {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n runtimeReport,\n compileProfile,\n compileId,\n }\n}\n\nconst detectSupportedFeatures = async ({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n}) => {\n const featuresReport = {}\n featuresReport[\"import_http\"] = true\n featuresReport[\"coverage_js\"] = coverageHandledFromOutside\n // new CSSStyleSheet\n featuresReport[\"new_stylesheet\"] = supportsNewStylesheet()\n // importmap\n // start testing importmap support first and not in paralell\n // so that there is not module script loaded beore importmap is injected\n // it would log an error in chrome console and return undefined\n featuresReport.importmap = await supportsImportmap({\n // chrome supports inline but not remote importmap\n // https://github.com/WICG/import-maps/issues/235\n // at this stage we won't know if the html file will use\n // an importmap or not and if that importmap is inline or specified with an src\n // so we should test if browser support local and remote importmap.\n // But there exploring server can inline importmap by transforming html\n // and in that case we can test only the local importmap support\n // so we test importmap support and the remote one\n remote: !inlineImportMapIntoHTML,\n })\n // dynamic import\n featuresReport[\"import_dynamic\"] = await supportsDynamicImport()\n // top level await\n featuresReport[\"top_level_await\"] = await supportsTopLevelAwait()\n // import assertions\n featuresReport[\"import_assertion_type_json\"] =\n await supportsJsonImportAssertions()\n featuresReport[\"import_assertion_type_css\"] =\n await supportsCssImportAssertions()\n return featuresReport\n}\n", - "import { scanBrowserRuntimeFeatures } from \"../../../features/browser_feature_detection/browser_feature_detection.js\"\nimport { setLinkHrefForParentWindow } from \"../util/iframe_to_parent_href.js\"\nimport { removeForceHideElement } from \"../util/dom.js\"\nimport { enableVariant } from \"../variant/variant.js\"\nimport {\n enableWarningStyle,\n disableWarningStyle,\n} from \"../settings/toolbar.settings.js\"\n\nexport const renderCompilationInToolbar = ({ compileGroup }) => {\n const browserSupportRootNode = document.querySelector(\"#browser_support\")\n const filesCompilationRootNode = document.querySelector(\"#files_compilation\")\n\n removeForceHideElement(browserSupportRootNode)\n removeForceHideElement(filesCompilationRootNode)\n\n scanBrowserRuntimeFeatures().then(\n ({\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n compileProfile,\n compileId,\n runtimeReport,\n }) => {\n const browserSupport = compileId\n ? \"no\"\n : inlineImportMapIntoHTML\n ? \"partial\"\n : \"full\"\n enableVariant(browserSupportRootNode, {\n browserSupport,\n })\n if (browserSupport === \"no\") {\n browserSupportRootNode.querySelector(\n `a.browser_support_read_more_link`,\n ).onclick = () => {\n // eslint-disable-next-line no-alert\n window.alert(\n `Source files needs to be compiled to be executable in this browser because: ${listWhatIsMissing(\n {\n compileProfile,\n },\n )}`,\n )\n }\n } else if (browserSupport === \"partial\") {\n browserSupportRootNode.querySelector(\n `a.browser_support_read_more_link`,\n ).onclick = () => {\n // eslint-disable-next-line no-alert\n window.alert(\n `Source files (except html) can be executed directly in this browser because: ${listWhatIsSupported(\n {\n inlineImportMapIntoHTML,\n },\n )}`,\n )\n }\n } else if (browserSupport === \"full\") {\n browserSupportRootNode.querySelector(\n `a.browser_support_read_more_link`,\n ).onclick = () => {\n // eslint-disable-next-line no-alert\n window.alert(\n `Source files can be executed directly in this browser because: ${listWhatIsSupported(\n {\n inlineImportMapIntoHTML,\n },\n )}`,\n )\n }\n }\n\n const actualCompileId = compileGroup.compileId\n const expectedCompiledId = compileId\n const shouldSwitchCompileId =\n expectedCompiledId &&\n actualCompileId &&\n actualCompileId !== expectedCompiledId\n const shouldCompile = !actualCompileId && browserSupport === \"no\"\n const filesCompilation = shouldSwitchCompileId\n ? \"mismatch\"\n : actualCompileId\n ? \"yes\"\n : inlineImportMapIntoHTML\n ? \"html_only\"\n : \"no\"\n const hasWarning = shouldCompile || shouldSwitchCompileId\n\n enableVariant(filesCompilationRootNode, {\n filesCompilation,\n compilation_link: shouldSwitchCompileId\n ? \"mismatch\"\n : actualCompileId\n ? \"source\"\n : expectedCompiledId\n ? \"compiled\"\n : \"force\",\n })\n if (filesCompilation === \"yes\") {\n document.querySelector(\n \".files_compilation_text\",\n ).innerHTML = `Files shown are compiled for ${runtimeReport.name}@${runtimeReport.version}`\n }\n setLinkHrefForParentWindow(\n filesCompilationRootNode.querySelector(\"a.link_to_source_files\"),\n `/${compileGroup.fileRelativeUrl}`,\n )\n setLinkHrefForParentWindow(\n filesCompilationRootNode.querySelector(\"a.link_to_compiled_files\"),\n `/${jsenvDirectoryRelativeUrl}${expectedCompiledId}/${compileGroup.fileRelativeUrl}`,\n )\n setLinkHrefForParentWindow(\n filesCompilationRootNode.querySelector(\n \"a.link_to_compilation_forced_files\",\n ),\n `/${jsenvDirectoryRelativeUrl}force/${compileGroup.fileRelativeUrl}`,\n )\n setLinkHrefForParentWindow(\n filesCompilationRootNode.querySelector(\"a.link_to_appropriate_files\"),\n `/${jsenvDirectoryRelativeUrl}${expectedCompiledId}/${compileGroup.fileRelativeUrl}`,\n )\n\n if (hasWarning) {\n enableWarningStyle()\n document\n .querySelector(\".files_compilation_text\")\n .setAttribute(\"data-warning\", \"\")\n document\n .querySelector(\".browser_support_text\")\n .setAttribute(\"data-warning\", \"\")\n document\n .querySelector(\"#settings-button\")\n .setAttribute(\"data-warning\", \"\")\n } else {\n disableWarningStyle()\n document\n .querySelector(\".files_compilation_text\")\n .removeAttribute(\"data-warning\")\n document\n .querySelector(\".browser_support_text\")\n .removeAttribute(\"data-warning\")\n document\n .querySelector(\"#settings-button\")\n .removeAttribute(\"data-warning\")\n }\n },\n )\n}\n\nconst listWhatIsSupported = ({ inlineImportMapIntoHTML }) => {\n const parts = []\n if (inlineImportMapIntoHTML) {\n parts.push(`importmaps are supported (only when inlined in html files)`)\n } else {\n parts.push(`importmaps are supported`)\n }\n parts.push(`dynamic imports are supported`)\n parts.push(`top level await is supported`)\n parts.push(`all features are natively supported`)\n return `\n- ${parts.join(`\n- `)}`\n}\n\nconst listWhatIsMissing = ({ compileProfile }) => {\n const parts = []\n const { missingFeatures } = compileProfile\n if (missingFeatures.importmap) {\n parts.push(`importmaps are not supported`)\n }\n if (missingFeatures.dynamicImport) {\n parts.push(`dynamic imports are not supported`)\n }\n if (missingFeatures.topLevelAwait) {\n parts.push(`top level await is not supported`)\n }\n const missingFeatureNames = Object.keys(missingFeatures).filter((name) => {\n return (\n name !== \"importmap\" &&\n name !== \"dynamicImport\" &&\n name !== \"topLevelAwait\" &&\n name !== \"custom_compiler_patterns\"\n )\n })\n const missingFeatureCount = missingFeatureNames.length\n if (missingFeatureCount > 0) {\n parts.push(\n `${missingFeatureCount} features are missing: ${missingFeatureNames}`,\n )\n }\n const { custom_compiler_patterns } = missingFeatures\n if (custom_compiler_patterns) {\n parts.push(\n `${custom_compiler_patterns.length} custom compilers enabled: ${custom_compiler_patterns}`,\n )\n }\n return `\n- ${parts.join(`\n- `)}`\n}\n", + "import { fetchJson } from \"../../browser_utils/fetch_json.js\"\nimport { detectBrowser } from \"../../browser_detection/browser_detection.js\"\n\nimport { supportsImportmap } from \"./browser_feature_detect_importmap.js\"\nimport { supportsDynamicImport } from \"./browser_feature_detect_dynamic_import.js\"\nimport { supportsTopLevelAwait } from \"./browser_feature_detect_top_level_await.js\"\nimport { supportsJsonImportAssertions } from \"./browser_feature_detect_import_assertions_json.js\"\nimport { supportsCssImportAssertions } from \"./browser_feature_detect_import_assertions_css.js\"\nimport { supportsNewStylesheet } from \"./browser_feature_detect_new_stylesheet.js\"\n\nexport const scanBrowserRuntimeFeatures = async ({\n coverageHandledFromOutside = false,\n forceCompilation = false,\n forceSource = false,\n} = {}) => {\n const jsenvCompileProfileUrl = \"/__jsenv_compile_profile__\"\n const {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n } = await fetchJson(jsenvCompileProfileUrl)\n const { name, version } = detectBrowser()\n const featuresReport = await detectSupportedFeatures({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n })\n const runtimeReport = {\n env: { browser: true },\n name,\n version,\n featuresReport,\n forceSource,\n forceCompilation,\n }\n const { compileProfile, compileId } = await fetchJson(\n jsenvCompileProfileUrl,\n {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n },\n body: JSON.stringify(runtimeReport),\n },\n )\n return {\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n availableCompileIds,\n runtimeReport,\n compileProfile,\n compileId,\n }\n}\n\nconst detectSupportedFeatures = async ({\n coverageHandledFromOutside,\n inlineImportMapIntoHTML,\n}) => {\n const featuresReport = {}\n featuresReport[\"import_http\"] = true\n featuresReport[\"coverage_js\"] = coverageHandledFromOutside\n // new CSSStyleSheet\n featuresReport[\"new_stylesheet\"] = supportsNewStylesheet()\n // importmap\n // start testing importmap support first and not in paralell\n // so that there is not module script loaded beore importmap is injected\n // it would log an error in chrome console and return undefined\n featuresReport.importmap = await supportsImportmap({\n // chrome supports inline but not remote importmap\n // https://github.com/WICG/import-maps/issues/235\n // at this stage we won't know if the html file will use\n // an importmap or not and if that importmap is inline or specified with an src\n // so we should test if browser support local and remote importmap.\n // But there exploring server can inline importmap by transforming html\n // and in that case we can test only the local importmap support\n // so we test importmap support and the remote one\n remote: !inlineImportMapIntoHTML,\n })\n // dynamic import\n featuresReport[\"import_dynamic\"] = await supportsDynamicImport()\n // top level await\n featuresReport[\"top_level_await\"] = await supportsTopLevelAwait()\n // import assertions\n featuresReport[\"import_assertion_type_json\"] =\n await supportsJsonImportAssertions()\n featuresReport[\"import_assertion_type_css\"] =\n await supportsCssImportAssertions()\n return featuresReport\n}\n", + "import { scanBrowserRuntimeFeatures } from \"@jsenv/core/src/internal/features/browser_feature_detection/browser_feature_detection.js\"\n\nimport { setLinkHrefForParentWindow } from \"../util/iframe_to_parent_href.js\"\nimport { removeForceHideElement } from \"../util/dom.js\"\nimport { enableVariant } from \"../variant/variant.js\"\nimport {\n enableWarningStyle,\n disableWarningStyle,\n} from \"../settings/toolbar_settings.js\"\n\nexport const renderCompilationInToolbar = ({ compileGroup }) => {\n const browserSupportRootNode = document.querySelector(\"#browser_support\")\n const filesCompilationRootNode = document.querySelector(\"#files_compilation\")\n\n removeForceHideElement(browserSupportRootNode)\n removeForceHideElement(filesCompilationRootNode)\n\n scanBrowserRuntimeFeatures().then(\n ({\n jsenvDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n compileProfile,\n compileId,\n runtimeReport,\n }) => {\n const browserSupport = compileId\n ? \"no\"\n : inlineImportMapIntoHTML\n ? \"partial\"\n : \"full\"\n enableVariant(browserSupportRootNode, {\n browserSupport,\n })\n if (browserSupport === \"no\") {\n browserSupportRootNode.querySelector(\n `a.browser_support_read_more_link`,\n ).onclick = () => {\n // eslint-disable-next-line no-alert\n window.alert(\n `Source files needs to be compiled to be executable in this browser because: ${listWhatIsMissing(\n {\n compileProfile,\n },\n )}`,\n )\n }\n } else if (browserSupport === \"partial\") {\n browserSupportRootNode.querySelector(\n `a.browser_support_read_more_link`,\n ).onclick = () => {\n // eslint-disable-next-line no-alert\n window.alert(\n `Source files (except html) can be executed directly in this browser because: ${listWhatIsSupported(\n {\n inlineImportMapIntoHTML,\n },\n )}`,\n )\n }\n } else if (browserSupport === \"full\") {\n browserSupportRootNode.querySelector(\n `a.browser_support_read_more_link`,\n ).onclick = () => {\n // eslint-disable-next-line no-alert\n window.alert(\n `Source files can be executed directly in this browser because: ${listWhatIsSupported(\n {\n inlineImportMapIntoHTML,\n },\n )}`,\n )\n }\n }\n\n const actualCompileId = compileGroup.compileId\n const expectedCompiledId = compileId\n const shouldSwitchCompileId =\n expectedCompiledId &&\n actualCompileId &&\n actualCompileId !== expectedCompiledId\n const shouldCompile = !actualCompileId && browserSupport === \"no\"\n const filesCompilation = shouldSwitchCompileId\n ? \"mismatch\"\n : actualCompileId\n ? \"yes\"\n : inlineImportMapIntoHTML\n ? \"html_only\"\n : \"no\"\n const hasWarning = shouldCompile || shouldSwitchCompileId\n\n enableVariant(filesCompilationRootNode, {\n filesCompilation,\n compilation_link: shouldSwitchCompileId\n ? \"mismatch\"\n : actualCompileId\n ? \"source\"\n : expectedCompiledId\n ? \"compiled\"\n : \"force\",\n })\n if (filesCompilation === \"yes\") {\n document.querySelector(\n \".files_compilation_text\",\n ).innerHTML = `Files shown are compiled for ${runtimeReport.name}@${runtimeReport.version}`\n }\n setLinkHrefForParentWindow(\n filesCompilationRootNode.querySelector(\"a.link_to_source_files\"),\n `/${compileGroup.fileRelativeUrl}`,\n )\n setLinkHrefForParentWindow(\n filesCompilationRootNode.querySelector(\"a.link_to_compiled_files\"),\n `/${jsenvDirectoryRelativeUrl}${expectedCompiledId}/${compileGroup.fileRelativeUrl}`,\n )\n setLinkHrefForParentWindow(\n filesCompilationRootNode.querySelector(\n \"a.link_to_compilation_forced_files\",\n ),\n `/${jsenvDirectoryRelativeUrl}force/${compileGroup.fileRelativeUrl}`,\n )\n setLinkHrefForParentWindow(\n filesCompilationRootNode.querySelector(\"a.link_to_appropriate_files\"),\n `/${jsenvDirectoryRelativeUrl}${expectedCompiledId}/${compileGroup.fileRelativeUrl}`,\n )\n\n if (hasWarning) {\n enableWarningStyle()\n document\n .querySelector(\".files_compilation_text\")\n .setAttribute(\"data-warning\", \"\")\n document\n .querySelector(\".browser_support_text\")\n .setAttribute(\"data-warning\", \"\")\n document\n .querySelector(\"#settings-button\")\n .setAttribute(\"data-warning\", \"\")\n } else {\n disableWarningStyle()\n document\n .querySelector(\".files_compilation_text\")\n .removeAttribute(\"data-warning\")\n document\n .querySelector(\".browser_support_text\")\n .removeAttribute(\"data-warning\")\n document\n .querySelector(\"#settings-button\")\n .removeAttribute(\"data-warning\")\n }\n },\n )\n}\n\nconst listWhatIsSupported = ({ inlineImportMapIntoHTML }) => {\n const parts = []\n if (inlineImportMapIntoHTML) {\n parts.push(`importmaps are supported (only when inlined in html files)`)\n } else {\n parts.push(`importmaps are supported`)\n }\n parts.push(`dynamic imports are supported`)\n parts.push(`top level await is supported`)\n parts.push(`all features are natively supported`)\n return `\n- ${parts.join(`\n- `)}`\n}\n\nconst listWhatIsMissing = ({ compileProfile }) => {\n const parts = []\n const { missingFeatures } = compileProfile\n if (missingFeatures.importmap) {\n parts.push(`importmaps are not supported`)\n }\n if (missingFeatures.dynamicImport) {\n parts.push(`dynamic imports are not supported`)\n }\n if (missingFeatures.topLevelAwait) {\n parts.push(`top level await is not supported`)\n }\n const missingFeatureNames = Object.keys(missingFeatures).filter((name) => {\n return (\n name !== \"importmap\" &&\n name !== \"dynamicImport\" &&\n name !== \"topLevelAwait\" &&\n name !== \"custom_compiler_patterns\"\n )\n })\n const missingFeatureCount = missingFeatureNames.length\n if (missingFeatureCount > 0) {\n parts.push(\n `${missingFeatureCount} features are missing: ${missingFeatureNames}`,\n )\n }\n const { custom_compiler_patterns } = missingFeatures\n if (custom_compiler_patterns) {\n parts.push(\n `${custom_compiler_patterns.length} custom compilers enabled: ${custom_compiler_patterns}`,\n )\n }\n return `\n- ${parts.join(`\n- `)}`\n}\n", "import { removeForceHideElement } from \"../util/dom.js\"\nimport { enableVariant } from \"../variant/variant.js\"\nimport {\n toggleTooltip,\n removeAutoShowTooltip,\n autoShowTooltip,\n} from \"../tooltip/tooltip.js\"\n\nlet livereloadingAvailableOnServer = false\nconst parentEventSourceClient = window.parent.__jsenv_event_source_client__\n\nexport const initToolbarEventSource = ({ livereloading }) => {\n removeForceHideElement(document.querySelector(\"#eventsource-indicator\"))\n livereloadingAvailableOnServer = livereloading\n if (!livereloadingAvailableOnServer) {\n disableLivereloadSetting()\n }\n parentEventSourceClient.setConnectionStatusChangeCallback(() => {\n updateEventSourceIndicator()\n })\n const livereloadCheckbox = document.querySelector(\"#toggle-livereload\")\n livereloadCheckbox.checked = parentEventSourceClient.isLivereloadEnabled()\n livereloadCheckbox.onchange = () => {\n parentEventSourceClient.setLivereloadPreference(livereloadCheckbox.checked)\n updateEventSourceIndicator()\n }\n updateEventSourceIndicator()\n}\n\nconst updateEventSourceIndicator = () => {\n const eventSourceIndicator = document.querySelector(\"#eventsource-indicator\")\n const fileChanges = parentEventSourceClient.getFileChanges()\n const changeCount = Object.keys(fileChanges).length\n const eventSourceConnectionState =\n parentEventSourceClient.getConnectionStatus()\n enableVariant(eventSourceIndicator, {\n eventsource: eventSourceConnectionState,\n livereload: parentEventSourceClient.isLivereloadEnabled() ? \"on\" : \"off\",\n changes: changeCount > 0 ? \"yes\" : \"no\",\n })\n\n const variantNode = document.querySelector(\n \"#eventsource-indicator > [data-when-active]\",\n )\n variantNode.querySelector(\"button\").onclick = () => {\n toggleTooltip(eventSourceIndicator)\n }\n\n if (eventSourceConnectionState === \"connecting\") {\n variantNode.querySelector(\"a\").onclick = () => {\n parentEventSourceClient.disconnect()\n }\n } else if (eventSourceConnectionState === \"connected\") {\n removeAutoShowTooltip(eventSourceIndicator)\n if (changeCount) {\n const changeLink = variantNode.querySelector(\".eventsource-changes-link\")\n changeLink.innerHTML = changeCount\n changeLink.onclick = () => {\n console.log(JSON.stringify(fileChanges, null, \" \"), fileChanges)\n // eslint-disable-next-line no-alert\n window.parent.alert(JSON.stringify(fileChanges, null, \" \"))\n }\n variantNode.querySelector(\".eventsource-reload-link\").onclick = () => {\n parentEventSourceClient.reloadIfNeeded()\n }\n }\n } else if (eventSourceConnectionState === \"disconnected\") {\n autoShowTooltip(eventSourceIndicator)\n variantNode.querySelector(\"a\").onclick = () => {\n parentEventSourceClient.connect()\n }\n }\n}\n\nconst disableLivereloadSetting = () => {\n document\n .querySelector(\".settings-livereload\")\n .setAttribute(\"data-disabled\", \"true\")\n document\n .querySelector(\".settings-livereload\")\n .setAttribute(\"title\", `Livereload not available: disabled by server`)\n document.querySelector(\"#toggle-livereload\").disabled = true\n}\n", "import {\n forceHideElement,\n removeForceHideElement,\n deactivateToolbarSection,\n} from \"../util/dom.js\"\nimport { createHorizontalBreakpoint } from \"../util/responsive.js\"\nimport { hideTooltip } from \"../tooltip/tooltip.js\"\n\nconst WINDOW_SMALL_WIDTH = 420\n\nexport const makeToolbarResponsive = () => {\n // apply responsive design on toolbar icons if needed + add listener on resize screen\n // ideally we should listen breakpoint once, for now restore toolbar\n const overflowMenuBreakpoint = createHorizontalBreakpoint(WINDOW_SMALL_WIDTH)\n const handleOverflowMenuBreakpoint = () => {\n responsiveToolbar(overflowMenuBreakpoint)\n }\n handleOverflowMenuBreakpoint()\n overflowMenuBreakpoint.changed.listen(handleOverflowMenuBreakpoint)\n\n // overflow menu\n document.querySelector(\"#overflow-menu-button\").onclick = () =>\n toggleOverflowMenu()\n}\n\nconst responsiveToolbar = (overflowMenuBreakpoint) => {\n // close all tooltips in case opened\n hideTooltip(document.querySelector(\"#eventsource-indicator\"))\n hideTooltip(document.querySelector(\"#execution-indicator\"))\n // close settings box in case opened\n deactivateToolbarSection(document.querySelector(\"#settings\"))\n\n if (overflowMenuBreakpoint.isBelow()) {\n enableOverflow()\n } else {\n disableOverflow()\n }\n}\n\nlet moves = []\n\nconst enableOverflow = () => {\n // move elements from toolbar to overflow menu\n const responsiveToolbarElements = document.querySelectorAll(\n \"[data-responsive-toolbar-element]\",\n )\n const overflowMenu = document.querySelector(\"#overflow-menu\")\n\n // keep a placeholder element to know where to move them back\n moves = Array.from(responsiveToolbarElements).map((element) => {\n const placeholder = document.createElement(\"div\")\n placeholder.style.display = \"none\"\n placeholder.setAttribute(\"data-placeholder\", \"\")\n element.parentNode.replaceChild(placeholder, element)\n overflowMenu.appendChild(element)\n return { element, placeholder }\n })\n\n document\n .querySelector(\"#toolbar\")\n .setAttribute(\"data-overflow-menu-enabled\", \"\")\n removeForceHideElement(document.querySelector(\"#overflow-menu-button\"))\n}\n\nconst disableOverflow = () => {\n // close overflow menu in case it's open & unselect toggleOverflowMenu button in case it's selected\n hideOverflowMenu()\n deactivateToolbarSection(document.querySelector(\"#overflow-menu\"))\n moves.forEach(({ element, placeholder }) => {\n placeholder.parentNode.replaceChild(element, placeholder)\n })\n moves = []\n\n document\n .querySelector(\"#toolbar\")\n .removeAttribute(\"data-overflow-menu-enabled\")\n forceHideElement(document.querySelector(\"#overflow-menu-button\"))\n}\n\nconst toggleOverflowMenu = () => {\n if (overflowMenuIsVisible()) {\n hideOverflowMenu()\n } else {\n showOverflowMenu()\n }\n}\n\nconst overflowMenuIsVisible = () => {\n const toolbar = document.querySelector(\"#toolbar\")\n return toolbar.hasAttribute(\"data-overflow-menu-visible\")\n}\n\nconst showOverflowMenu = () => {\n const toolbar = document.querySelector(\"#toolbar\")\n document.querySelector(\"#overflow-menu\").setAttribute(\"data-animate\", \"\")\n toolbar.setAttribute(\"data-overflow-menu-visible\", \"\")\n}\n\nconst hideOverflowMenu = () => {\n const toolbar = document.querySelector(\"#toolbar\")\n toolbar.removeAttribute(\"data-overflow-menu-visible\")\n document.querySelector(\"#overflow-menu\").removeAttribute(\"data-animate\")\n}\n", - "import { urlIsInsideOf } from \"@jsenv/filesystem/src/urlIsInsideOf.js\"\nimport { urlToRelativeUrl } from \"@jsenv/filesystem/src/urlToRelativeUrl.js\"\n\nimport { startJavaScriptAnimation } from \"../toolbar/util/animation.js\"\nimport \"./focus/toolbar.focus.js\"\nimport { setLinkHrefForParentWindow } from \"./util/iframe_to_parent_href.js\"\nimport {\n getToolbarIframe,\n deactivateToolbarSection,\n setStyles,\n} from \"./util/dom.js\"\nimport { createPreference } from \"./util/preferences.js\"\nimport { hideTooltip, hideAllTooltip } from \"./tooltip/tooltip.js\"\nimport {\n renderToolbarSettings,\n hideSettings,\n} from \"./settings/toolbar.settings.js\"\nimport { renderToolbarNotification } from \"./notification/toolbar.notification.js\"\nimport { renderToolbarTheme } from \"./theme/toolbar.theme.js\"\nimport { renderToolbarAnimation } from \"./animation/toolbar.animation.js\"\nimport { renderExecutionInToolbar } from \"./execution/toolbar.execution.js\"\nimport { renderCompilationInToolbar } from \"./compilation/toolbar.compilation.js\"\nimport { initToolbarEventSource } from \"./eventsource/toolbar.eventsource.js\"\nimport { makeToolbarResponsive } from \"./responsive/toolbar.responsive.js\"\n\nconst toolbarVisibilityPreference = createPreference(\"toolbar\")\n\nconst renderToolbar = async ({ exploringJSON }) => {\n const executedFileCompiledUrl = window.parent.location.href\n const compileServerOrigin = window.parent.location.origin\n // this should not block the whole toolbar rendering + interactivity\n const { jsenvDirectoryRelativeUrl, livereloading } = exploringJSON\n const compileGroup = getCompileGroup({\n executedFileCompiledUrl,\n jsenvDirectoryRelativeUrl,\n compileServerOrigin,\n })\n const executedFileRelativeUrl = compileGroup.fileRelativeUrl\n\n const toolbarOverlay = document.querySelector(\"#toolbar-overlay\")\n toolbarOverlay.onclick = () => {\n hideAllTooltip()\n hideSettings()\n }\n\n const toolbarVisible = toolbarVisibilityPreference.has()\n ? toolbarVisibilityPreference.get()\n : true\n\n if (toolbarVisible) {\n showToolbar({ animate: false })\n } else {\n hideToolbar({ animate: false })\n }\n\n setLinkHrefForParentWindow(\n document.querySelector(\".toolbar-icon-wrapper\"),\n \"/\",\n )\n\n renderToolbarNotification()\n makeToolbarResponsive()\n renderToolbarSettings()\n renderToolbarAnimation()\n renderToolbarTheme()\n renderExecutionInToolbar({ executedFileRelativeUrl })\n renderCompilationInToolbar({ compileGroup })\n // this might become active but we need to detect this somehow\n deactivateToolbarSection(document.querySelector(\"#file-list-link\"))\n initToolbarEventSource({\n executedFileRelativeUrl,\n livereloading,\n })\n\n // if user click enter or space quickly while closing toolbar\n // it will cancel the closing\n // that's why I used toggleToolbar and not hideToolbar\n document.querySelector(\"#button-close-toolbar\").onclick = () =>\n toogleToolbar()\n}\n\nconst toogleToolbar = () => {\n if (toolbarIsVisible()) {\n hideToolbar()\n } else {\n showToolbar()\n }\n}\n\nconst toolbarIsVisible = () =>\n document.documentElement.hasAttribute(\"data-toolbar-visible\")\n\nlet hideToolbar = () => {\n // toolbar hidden by default, nothing to do to hide it by default\n sendEventToParent(\"toolbar-visibility-change\", false)\n}\n\n// (by the way it might be cool to have the toolbar auto show when)\n// it has something to say (being disconnected from livereload server)\nconst showToolbar = ({ animate = true } = {}) => {\n toolbarVisibilityPreference.set(true)\n if (animate) {\n document.documentElement.setAttribute(\"data-toolbar-animation\", \"\")\n } else {\n document.documentElement.removeAttribute(\"data-toolbar-animation\")\n }\n document.documentElement.setAttribute(\"data-toolbar-visible\", \"\")\n\n sendEventToParent(\"toolbar-visibility-change\", true)\n\n const toolbarIframe = getToolbarIframe()\n const toolbarIframeParent = toolbarIframe.parentNode\n const parentWindow = window.parent\n const parentDocumentElement =\n parentWindow.document.compatMode === \"CSS1Compat\"\n ? parentWindow.document.documentElement\n : parentWindow.document.body\n\n const scrollYMax =\n parentDocumentElement.scrollHeight - parentWindow.innerHeight\n const scrollY = parentDocumentElement.scrollTop\n const scrollYRemaining = scrollYMax - scrollY\n\n setStyles(toolbarIframeParent, {\n \"transition-property\": \"padding-bottom\",\n \"transition-duration\": \"300ms\",\n })\n // maybe we should use js animation here because we would not conflict with css\n const restoreToolbarIframeParentStyles = setStyles(toolbarIframeParent, {\n \"scroll-padding-bottom\": \"40px\", // same here we should add 40px\n \"padding-bottom\": \"40px\", // if there is already one we should add 40px\n })\n const restoreToolbarIframeStyles = setStyles(toolbarIframe, {\n height: \"40px\",\n visibility: \"visible\",\n })\n\n if (scrollYRemaining < 40 && scrollYMax > 0) {\n const scrollEnd = scrollY + 40\n startJavaScriptAnimation({\n duration: 300,\n onProgress: ({ progress }) => {\n const value = scrollY + (scrollEnd - scrollY) * progress\n parentDocumentElement.scrollTop = value\n },\n })\n }\n\n hideToolbar = () => {\n restoreToolbarIframeParentStyles()\n restoreToolbarIframeStyles()\n\n hideTooltip(document.querySelector(\"#eventsource-indicator\"))\n hideTooltip(document.querySelector(\"#execution-indicator\"))\n toolbarVisibilityPreference.set(false)\n if (animate) {\n document.documentElement.setAttribute(\"data-toolbar-animation\", \"\")\n } else {\n document.documentElement.removeAttribute(\"data-toolbar-animation\")\n }\n document.documentElement.removeAttribute(\"data-toolbar-visible\")\n sendEventToParent(\"toolbar-visibility-change\", false)\n }\n}\n\nconst getCompileGroup = ({\n executedFileCompiledUrl,\n jsenvDirectoryRelativeUrl,\n compileServerOrigin,\n}) => {\n const jsenvDirectoryServerUrl = new URL(\n jsenvDirectoryRelativeUrl,\n compileServerOrigin,\n ).href\n if (urlIsInsideOf(executedFileCompiledUrl, jsenvDirectoryServerUrl)) {\n const afterCompileDirectory = urlToRelativeUrl(\n executedFileCompiledUrl,\n jsenvDirectoryServerUrl,\n )\n const slashIndex = afterCompileDirectory.indexOf(\"/\")\n const fileRelativeUrl = afterCompileDirectory.slice(slashIndex + 1)\n return {\n fileRelativeUrl,\n compileId: afterCompileDirectory.slice(0, slashIndex),\n }\n }\n return {\n fileRelativeUrl: new URL(executedFileCompiledUrl).pathname.slice(1),\n compileId: null,\n }\n}\n\nconst addExternalCommandCallback = (command, callback) => {\n const messageEventCallback = (messageEvent) => {\n const { data } = messageEvent\n if (typeof data !== \"object\") {\n return\n }\n const { __jsenv__ } = data\n if (!__jsenv__) {\n return\n }\n\n if (__jsenv__.command !== command) {\n return\n }\n\n callback(...__jsenv__.args)\n }\n\n window.addEventListener(\"message\", messageEventCallback)\n return () => {\n window.removeEventListener(\"message\", messageEventCallback)\n }\n}\n\nconst sendEventToParent = (name, data) => {\n window.parent.postMessage(\n {\n __jsenv__: {\n event: name,\n data,\n },\n },\n \"*\",\n )\n}\n\nwindow.toolbar = {\n show: showToolbar,\n hide: () => hideToolbar(),\n}\n\naddExternalCommandCallback(\"renderToolbar\", (data) => {\n renderToolbar(data)\n})\naddExternalCommandCallback(\"showToolbar\", () => {\n showToolbar()\n})\naddExternalCommandCallback(\"hideToolbar\", () => {\n hideToolbar()\n})\nsendEventToParent(\"toolbar_ready\")\n" + "import { urlIsInsideOf } from \"@jsenv/filesystem/src/urlIsInsideOf.js\"\nimport { urlToRelativeUrl } from \"@jsenv/filesystem/src/urlToRelativeUrl.js\"\n\nimport { startJavaScriptAnimation } from \"../toolbar/util/animation.js\"\nimport \"./focus/toolbar_focus.js\"\nimport { setLinkHrefForParentWindow } from \"./util/iframe_to_parent_href.js\"\nimport {\n getToolbarIframe,\n deactivateToolbarSection,\n setStyles,\n} from \"./util/dom.js\"\nimport { createPreference } from \"./util/preferences.js\"\nimport { hideTooltip, hideAllTooltip } from \"./tooltip/tooltip.js\"\nimport {\n renderToolbarSettings,\n hideSettings,\n} from \"./settings/toolbar_settings.js\"\nimport { renderToolbarNotification } from \"./notification/toolbar_notification.js\"\nimport { renderToolbarTheme } from \"./theme/toolbar_theme.js\"\nimport { renderToolbarAnimation } from \"./animation/toolbar_animation.js\"\nimport { renderExecutionInToolbar } from \"./execution/toolbar_execution.js\"\nimport { renderCompilationInToolbar } from \"./compilation/toolbar_compilation.js\"\nimport { initToolbarEventSource } from \"./eventsource/toolbar_eventsource.js\"\nimport { makeToolbarResponsive } from \"./responsive/toolbar_responsive.js\"\n\nconst toolbarVisibilityPreference = createPreference(\"toolbar\")\n\nconst renderToolbar = async ({ exploringJSON }) => {\n const executedFileCompiledUrl = window.parent.location.href\n const compileServerOrigin = window.parent.location.origin\n // this should not block the whole toolbar rendering + interactivity\n const { jsenvDirectoryRelativeUrl, livereloading } = exploringJSON\n const compileGroup = getCompileGroup({\n executedFileCompiledUrl,\n jsenvDirectoryRelativeUrl,\n compileServerOrigin,\n })\n const executedFileRelativeUrl = compileGroup.fileRelativeUrl\n\n const toolbarOverlay = document.querySelector(\"#toolbar-overlay\")\n toolbarOverlay.onclick = () => {\n hideAllTooltip()\n hideSettings()\n }\n\n const toolbarVisible = toolbarVisibilityPreference.has()\n ? toolbarVisibilityPreference.get()\n : true\n\n if (toolbarVisible) {\n showToolbar({ animate: false })\n } else {\n hideToolbar({ animate: false })\n }\n\n setLinkHrefForParentWindow(\n document.querySelector(\".toolbar-icon-wrapper\"),\n \"/\",\n )\n\n renderToolbarNotification()\n makeToolbarResponsive()\n renderToolbarSettings()\n renderToolbarAnimation()\n renderToolbarTheme()\n renderExecutionInToolbar({ executedFileRelativeUrl })\n renderCompilationInToolbar({ compileGroup })\n // this might become active but we need to detect this somehow\n deactivateToolbarSection(document.querySelector(\"#file-list-link\"))\n initToolbarEventSource({\n executedFileRelativeUrl,\n livereloading,\n })\n\n // if user click enter or space quickly while closing toolbar\n // it will cancel the closing\n // that's why I used toggleToolbar and not hideToolbar\n document.querySelector(\"#button-close-toolbar\").onclick = () =>\n toogleToolbar()\n}\n\nconst toogleToolbar = () => {\n if (toolbarIsVisible()) {\n hideToolbar()\n } else {\n showToolbar()\n }\n}\n\nconst toolbarIsVisible = () =>\n document.documentElement.hasAttribute(\"data-toolbar-visible\")\n\nlet hideToolbar = () => {\n // toolbar hidden by default, nothing to do to hide it by default\n sendEventToParent(\"toolbar-visibility-change\", false)\n}\n\n// (by the way it might be cool to have the toolbar auto show when)\n// it has something to say (being disconnected from livereload server)\nconst showToolbar = ({ animate = true } = {}) => {\n toolbarVisibilityPreference.set(true)\n if (animate) {\n document.documentElement.setAttribute(\"data-toolbar-animation\", \"\")\n } else {\n document.documentElement.removeAttribute(\"data-toolbar-animation\")\n }\n document.documentElement.setAttribute(\"data-toolbar-visible\", \"\")\n\n sendEventToParent(\"toolbar-visibility-change\", true)\n\n const toolbarIframe = getToolbarIframe()\n const toolbarIframeParent = toolbarIframe.parentNode\n const parentWindow = window.parent\n const parentDocumentElement =\n parentWindow.document.compatMode === \"CSS1Compat\"\n ? parentWindow.document.documentElement\n : parentWindow.document.body\n\n const scrollYMax =\n parentDocumentElement.scrollHeight - parentWindow.innerHeight\n const scrollY = parentDocumentElement.scrollTop\n const scrollYRemaining = scrollYMax - scrollY\n\n setStyles(toolbarIframeParent, {\n \"transition-property\": \"padding-bottom\",\n \"transition-duration\": \"300ms\",\n })\n // maybe we should use js animation here because we would not conflict with css\n const restoreToolbarIframeParentStyles = setStyles(toolbarIframeParent, {\n \"scroll-padding-bottom\": \"40px\", // same here we should add 40px\n \"padding-bottom\": \"40px\", // if there is already one we should add 40px\n })\n const restoreToolbarIframeStyles = setStyles(toolbarIframe, {\n height: \"40px\",\n visibility: \"visible\",\n })\n\n if (scrollYRemaining < 40 && scrollYMax > 0) {\n const scrollEnd = scrollY + 40\n startJavaScriptAnimation({\n duration: 300,\n onProgress: ({ progress }) => {\n const value = scrollY + (scrollEnd - scrollY) * progress\n parentDocumentElement.scrollTop = value\n },\n })\n }\n\n hideToolbar = () => {\n restoreToolbarIframeParentStyles()\n restoreToolbarIframeStyles()\n\n hideTooltip(document.querySelector(\"#eventsource-indicator\"))\n hideTooltip(document.querySelector(\"#execution-indicator\"))\n toolbarVisibilityPreference.set(false)\n if (animate) {\n document.documentElement.setAttribute(\"data-toolbar-animation\", \"\")\n } else {\n document.documentElement.removeAttribute(\"data-toolbar-animation\")\n }\n document.documentElement.removeAttribute(\"data-toolbar-visible\")\n sendEventToParent(\"toolbar-visibility-change\", false)\n }\n}\n\nconst getCompileGroup = ({\n executedFileCompiledUrl,\n jsenvDirectoryRelativeUrl,\n compileServerOrigin,\n}) => {\n const jsenvDirectoryServerUrl = new URL(\n jsenvDirectoryRelativeUrl,\n compileServerOrigin,\n ).href\n if (urlIsInsideOf(executedFileCompiledUrl, jsenvDirectoryServerUrl)) {\n const afterCompileDirectory = urlToRelativeUrl(\n executedFileCompiledUrl,\n jsenvDirectoryServerUrl,\n )\n const slashIndex = afterCompileDirectory.indexOf(\"/\")\n const fileRelativeUrl = afterCompileDirectory.slice(slashIndex + 1)\n return {\n fileRelativeUrl,\n compileId: afterCompileDirectory.slice(0, slashIndex),\n }\n }\n return {\n fileRelativeUrl: new URL(executedFileCompiledUrl).pathname.slice(1),\n compileId: null,\n }\n}\n\nconst addExternalCommandCallback = (command, callback) => {\n const messageEventCallback = (messageEvent) => {\n const { data } = messageEvent\n if (typeof data !== \"object\") {\n return\n }\n const { __jsenv__ } = data\n if (!__jsenv__) {\n return\n }\n\n if (__jsenv__.command !== command) {\n return\n }\n\n callback(...__jsenv__.args)\n }\n\n window.addEventListener(\"message\", messageEventCallback)\n return () => {\n window.removeEventListener(\"message\", messageEventCallback)\n }\n}\n\nconst sendEventToParent = (name, data) => {\n window.parent.postMessage(\n {\n __jsenv__: {\n event: name,\n data,\n },\n },\n \"*\",\n )\n}\n\nwindow.toolbar = {\n show: showToolbar,\n hide: () => hideToolbar(),\n}\n\naddExternalCommandCallback(\"renderToolbar\", (data) => {\n renderToolbar(data)\n})\naddExternalCommandCallback(\"showToolbar\", () => {\n showToolbar()\n})\naddExternalCommandCallback(\"hideToolbar\", () => {\n hideToolbar()\n})\nsendEventToParent(\"toolbar_ready\")\n" ], "names": [ "arrayLikeToArray", @@ -772,5 +772,5 @@ "show", "hide" ], - "mappings": "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" + "mappings": "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" } \ No newline at end of file diff --git a/dist/toolbar_injector/asset-manifest.json b/dist/toolbar_injector/asset-manifest.json index ca1068da5d..a3b9f48ae5 100644 --- a/dist/toolbar_injector/asset-manifest.json +++ b/dist/toolbar_injector/asset-manifest.json @@ -1,5 +1,5 @@ { - "assets/jsenv-logo.svg": "assets/jsenv-logo_188b9ca6.svg", - "toolbar_injector.js": "toolbar_injector_c8c214dd.js", - "toolbar_injector.js.map": "toolbar_injector_c8c214dd.js.map" + "assets/jsenv_logo.svg": "assets/jsenv_logo_192011c2.svg", + "toolbar_injector.js": "toolbar_injector_65b501eb.js", + "toolbar_injector.js.map": "toolbar_injector_65b501eb.js.map" } \ No newline at end of file diff --git a/dist/toolbar_injector/assets/jsenv-logo_188b9ca6.svg b/dist/toolbar_injector/assets/jsenv_logo_192011c2.svg similarity index 99% rename from dist/toolbar_injector/assets/jsenv-logo_188b9ca6.svg rename to dist/toolbar_injector/assets/jsenv_logo_192011c2.svg index f48316c272..c73beec258 100644 --- a/dist/toolbar_injector/assets/jsenv-logo_188b9ca6.svg +++ b/dist/toolbar_injector/assets/jsenv_logo_192011c2.svg @@ -1,4 +1,4 @@ -
\n \n \n \n \n
"); var toolbarTrigger = div.firstElementChild; iframe.parentNode.appendChild(toolbarTrigger); var timer; @@ -974,4 +973,4 @@ if (document.readyState === "complete") { } })(); -//# sourceMappingURL=toolbar_injector_c8c214dd.js.map \ No newline at end of file +//# sourceMappingURL=toolbar_injector_65b501eb.js.map \ No newline at end of file diff --git a/dist/toolbar_injector/toolbar_injector_65b501eb.js.map b/dist/toolbar_injector/toolbar_injector_65b501eb.js.map new file mode 100644 index 0000000000..d597fca694 --- /dev/null +++ b/dist/toolbar_injector/toolbar_injector_65b501eb.js.map @@ -0,0 +1,294 @@ +{ + "version": 3, + "file": "toolbar_injector_65b501eb.js", + "sources": [ + "../../helpers/babel/typeof/typeof.js", + "../../helpers/babel/defineProperty/defineProperty.js", + "../../helpers/babel/objectSpread2/objectSpread2.js", + "../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js", + "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js", + "../../src/internal/browser_utils/fetch_using_xhr.js", + "../../src/internal/browser_utils/fetch_browser.js", + "../../src/internal/browser_utils/fetch_json.js", + "../../src/internal/dev_server/exploring/fetch_exploring_json.js", + "../../src/internal/dev_server/toolbar/util/dom.js", + "../../src/internal/dev_server/toolbar/toolbar_injector.js" + ], + "sourcesContent": [ + "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n", + "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n", + "import defineProperty from \"../defineProperty/defineProperty.js\"\n\n// This function is different to \"Reflect.ownKeys\". The enumerableOnly\n// filters on symbol properties only. Returned string properties are always\n// enumerable. It is good to use in objectSpread.\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}", + "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n", + "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n", + "export const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", + "import { fetchUsingXHR } from \"./fetch_using_xhr.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", + "import { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n", + "import { fetchJson } from \"../../browser_utils/fetch_json.js\"\n\nexport const fetchExploringJson = async ({ signal } = {}) => {\n try {\n const exploringInfo = await fetchJson(\"/.jsenv/exploring.json\", {\n signal,\n })\n return exploringInfo\n } catch (e) {\n if (signal && signal.aborted && e.name === \"AbortError\") {\n throw e\n }\n throw new Error(\n `Cannot communicate with exploring server due to a network error\n--- error stack ---\n${e.stack}`,\n )\n }\n}\n", + "export const updateIframeOverflowOnParentWindow = () => {\n if (!window.parent) {\n // can happen while parent iframe reloads\n return\n }\n\n const aTooltipIsOpened =\n document.querySelector(\"[data-tooltip-visible]\") ||\n document.querySelector(\"[data-tooltip-auto-visible]\")\n const settingsAreOpened = document.querySelector(\"#settings[data-active]\")\n\n if (aTooltipIsOpened || settingsAreOpened) {\n enableIframeOverflowOnParentWindow()\n } else {\n disableIframeOverflowOnParentWindow()\n }\n}\n\nlet iframeOverflowEnabled = false\nconst enableIframeOverflowOnParentWindow = () => {\n if (iframeOverflowEnabled) return\n iframeOverflowEnabled = true\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"100%\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nconst disableIframeOverflowOnParentWindow = () => {\n if (!iframeOverflowEnabled) return\n iframeOverflowEnabled = false\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"40px\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nexport const getToolbarIframe = () => {\n const iframes = Array.from(window.parent.document.querySelectorAll(\"iframe\"))\n return iframes.find((iframe) => iframe.contentWindow === window)\n}\n\nexport const forceHideElement = (element) => {\n element.setAttribute(\"data-force-hide\", \"\")\n}\n\nexport const removeForceHideElement = (element) => {\n element.removeAttribute(\"data-force-hide\")\n}\n\nexport const setStyles = (element, styles) => {\n const elementStyle = element.style\n const restoreStyles = Object.keys(styles).map((styleName) => {\n let restore\n if (styleName in elementStyle) {\n const currentStyle = elementStyle[styleName]\n restore = () => {\n elementStyle[styleName] = currentStyle\n }\n } else {\n restore = () => {\n delete elementStyle[styleName]\n }\n }\n\n elementStyle[styleName] = styles[styleName]\n\n return restore\n })\n return () => {\n restoreStyles.forEach((restore) => restore())\n }\n}\n\nexport const setAttributes = (element, attributes) => {\n Object.keys(attributes).forEach((name) => {\n element.setAttribute(name, attributes[name])\n })\n}\n\nexport const getDocumentScroll = () => {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop,\n }\n}\n\nexport const toolbarSectionIsActive = (element) => {\n return element.hasAttribute(\"data-active\")\n}\n\nexport const activateToolbarSection = (element) => {\n element.setAttribute(\"data-active\", \"\")\n}\n\nexport const deactivateToolbarSection = (element) => {\n element.removeAttribute(\"data-active\")\n}\n", + "import { fetchExploringJson } from \"@jsenv/core/src/internal/dev_server/exploring/fetch_exploring_json.js\"\n\nimport { setAttributes, setStyles } from \"./util/dom.js\"\n\n// eslint-disable-next-line no-undef\nconst TOOLBAR_BUILD_RELATIVE_URL = \"dist/toolbar/toolbar_b0c9100c.html\"\nconst jsenvLogoSvgUrl = new URL(\"./jsenv_logo.svg\", import.meta.url)\n\nconst injectToolbar = async () => {\n await new Promise((resolve) => {\n if (window.requestIdleCallback) {\n window.requestIdleCallback(resolve, { timeout: 400 })\n } else {\n window.requestAnimationFrame(resolve)\n }\n })\n const exploringJSON = await fetchExploringJson()\n const placeholder = getToolbarPlaceholder()\n\n const iframe = document.createElement(\"iframe\")\n setAttributes(iframe, {\n tabindex: -1,\n // sandbox: \"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation\",\n // allow: \"accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr\",\n allowtransparency: true,\n })\n setStyles(iframe, {\n \"position\": \"fixed\",\n \"zIndex\": 1000,\n \"bottom\": 0,\n \"left\": 0,\n \"width\": \"100%\",\n \"height\": 0,\n /* ensure toolbar children are not focusable when hidden */\n \"visibility\": \"hidden\",\n \"transition-duration\": \"300ms\",\n \"transition-property\": \"height, visibility\",\n \"border\": \"none\",\n })\n const iframeLoadedPromise = iframeToLoadedPromise(iframe)\n const jsenvCoreDirectoryServerUrl = new URL(\n exploringJSON.jsenvCoreDirectoryRelativeUrl,\n document.location.origin,\n ).href\n const jsenvToolbarHtmlServerUrl = new URL(\n TOOLBAR_BUILD_RELATIVE_URL,\n jsenvCoreDirectoryServerUrl,\n )\n // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)\n iframe.setAttribute(\"src\", jsenvToolbarHtmlServerUrl)\n placeholder.parentNode.replaceChild(iframe, placeholder)\n\n addToolbarEventCallback(iframe, \"toolbar_ready\", () => {\n sendCommandToToolbar(iframe, \"renderToolbar\", { exploringJSON })\n })\n\n await iframeLoadedPromise\n iframe.removeAttribute(\"tabindex\")\n\n const div = document.createElement(\"div\")\n div.innerHTML = `\n
\n \n \n \n \n
`\n const toolbarTrigger = div.firstElementChild\n iframe.parentNode.appendChild(toolbarTrigger)\n\n let timer\n toolbarTrigger.onmouseenter = () => {\n toolbarTrigger.setAttribute(\"data-animate\", \"\")\n timer = setTimeout(expandToolbarTrigger, 500)\n }\n toolbarTrigger.onmouseleave = () => {\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onfocus = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n expandToolbarTrigger()\n }\n toolbarTrigger.onblur = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onclick = () => {\n sendCommandToToolbar(iframe, \"showToolbar\")\n }\n\n const showToolbarTrigger = () => {\n toolbarTrigger.style.display = \"block\"\n }\n\n const hideToolbarTrigger = () => {\n toolbarTrigger.style.display = \"none\"\n }\n\n const expandToolbarTrigger = () => {\n toolbarTrigger.setAttribute(\"data-expanded\", \"\")\n }\n\n const collapseToolbarTrigger = () => {\n toolbarTrigger.removeAttribute(\"data-expanded\", \"\")\n }\n\n hideToolbarTrigger()\n addToolbarEventCallback(iframe, \"toolbar-visibility-change\", (visible) => {\n if (visible) {\n hideToolbarTrigger()\n } else {\n showToolbarTrigger()\n }\n })\n\n return iframe\n}\n\nconst addToolbarEventCallback = (iframe, eventName, callback) => {\n const messageEventCallback = (messageEvent) => {\n const { data } = messageEvent\n if (typeof data !== \"object\") {\n return\n }\n const { __jsenv__ } = data\n if (!__jsenv__) {\n return\n }\n if (__jsenv__.event !== eventName) {\n return\n }\n callback(__jsenv__.data)\n }\n\n window.addEventListener(\"message\", messageEventCallback, false)\n return () => {\n window.removeEventListener(\"message\", messageEventCallback, false)\n }\n}\n\nconst sendCommandToToolbar = (iframe, command, ...args) => {\n iframe.contentWindow.postMessage(\n {\n __jsenv__: {\n command,\n args,\n },\n },\n window.origin,\n )\n}\n\nconst getToolbarPlaceholder = () => {\n const placeholder = queryPlaceholder()\n if (placeholder) {\n if (document.body.contains(placeholder)) {\n return placeholder\n }\n // otherwise iframe would not be visible because in \n console.warn(\n \"element with [data-jsenv-toolbar-placeholder] must be inside document.body\",\n )\n return createTooolbarPlaceholder()\n }\n return createTooolbarPlaceholder()\n}\n\nconst queryPlaceholder = () => {\n return document.querySelector(\"[data-jsenv-toolbar-placeholder]\")\n}\n\nconst createTooolbarPlaceholder = () => {\n const placeholder = document.createElement(\"span\")\n document.body.appendChild(placeholder)\n return placeholder\n}\n\nconst iframeToLoadedPromise = (iframe) => {\n return new Promise((resolve) => {\n const onload = () => {\n iframe.removeEventListener(\"load\", onload, true)\n resolve()\n }\n iframe.addEventListener(\"load\", onload, true)\n })\n}\n\nif (document.readyState === \"complete\") {\n injectToolbar()\n} else {\n window.addEventListener(\"load\", injectToolbar)\n // document.addEventListener(\"readystatechange\", () => {\n // if (document.readyState === \"complete\") {\n // injectToolbar()\n // }\n // })\n}\n" + ], + "names": [ + "nativeTypeOf", + "obj", + "customTypeOf", + "Symbol", + "constructor", + "prototype", + "iterator", + "key", + "value", + "Object", + "defineProperty", + "enumerable", + "configurable", + "writable", + "ownKeys", + "object", + "enumerableOnly", + "keys", + "getOwnPropertySymbols", + "symbols", + "filter", + "sym", + "getOwnPropertyDescriptor", + "push", + "apply", + "_objectSpread2", + "target", + "i", + "arguments", + "length", + "source", + "forEach", + "getOwnPropertyDescriptors", + "defineProperties", + "excluded", + "sourceKeys", + "indexOf", + "objectWithoutPropertiesLoose", + "sourceSymbolKeys", + "propertyIsEnumerable", + "call", + "then", + "direct", + "Promise", + "resolve", + "f", + "args", + "e", + "reject", + "body", + "result", + "fetchUsingXHR", + "url", + "signal", + "method", + "credentials", + "headers", + "headersPromise", + "createPromiseAndHooks", + "bodyPromise", + "xhr", + "XMLHttpRequest", + "failure", + "error", + "settled", + "cleanup", + "ontimeout", + "onerror", + "onload", + "onreadystatechange", + "Error", + "createRequestError", + "addEventListener", + "abort", + "abortError", + "name", + "readyState", + "open", + "setRequestHeader", + "withCredentials", + "computeWithCredentials", + "hasBlob", + "responseType", + "send", + "responseUrl", + "responseURL", + "responseStatus", + "status", + "responseStatusText", + "statusText", + "responseHeaders", + "getHeadersFromXHR", + "readBody", + "response", + "responseText", + "responseBody", + "responseBodyType", + "detectBodyType", + "text", + "blobToText", + "arrayBufferToText", + "buffer", + "String", + "json", + "JSON", + "parse", + "blob", + "Blob", + "cloneBuffer", + "arrayBuffer", + "blobToArrayBuffer", + "formData", + "hasFormData", + "textToFormData", + "canUseBlob", + "window", + "FileReader", + "FormData", + "hasArrayBuffer", + "ArrayBuffer", + "hasSearchParams", + "URLSearchParams", + "stack", + "promise", + "res", + "rej", + "originSameAsGlobalOrigin", + "location", + "globalOrigin", + "origin", + "hrefToOrigin", + "isPrototypeOf", + "isDataView", + "isArrayBufferView", + "headerMap", + "headersString", + "getAllResponseHeaders", + "lines", + "trim", + "split", + "line", + "parts", + "shift", + "join", + "toLowerCase", + "href", + "scheme", + "hrefToScheme", + "secondProtocolSlashIndex", + "pathnameSlashIndex", + "slice", + "colonIndex", + "DataView", + "isView", + "viewClasses", + "includes", + "toString", + "form", + "bytes", + "replace", + "append", + "decodeURIComponent", + "reader", + "fileReaderReady", + "readAsArrayBuffer", + "readAsText", + "view", + "Uint8Array", + "chars", + "Array", + "fromCharCode", + "byteLength", + "set", + "_await", + "_async", + "fetchNative", + "mode", + "options", + "fetch", + "responseToHeaders", + "fetchUrl", + "AbortController", + "fetchJson", + "recover", + "fetchExploringJson", + "aborted", + "setStyles", + "element", + "styles", + "elementStyle", + "style", + "restoreStyles", + "map", + "styleName", + "restore", + "currentStyle", + "setAttributes", + "attributes", + "setAttribute", + "TOOLBAR_BUILD_RELATIVE_URL", + "_call", + "jsenvLogoSvgUrl", + "injectToolbar", + "requestIdleCallback", + "timeout", + "requestAnimationFrame", + "exploringJSON", + "placeholder", + "getToolbarPlaceholder", + "iframe", + "document", + "createElement", + "tabindex", + "allowtransparency", + "iframeLoadedPromise", + "iframeToLoadedPromise", + "jsenvCoreDirectoryServerUrl", + "URL", + "jsenvCoreDirectoryRelativeUrl", + "jsenvToolbarHtmlServerUrl", + "parentNode", + "replaceChild", + "addToolbarEventCallback", + "sendCommandToToolbar", + "removeAttribute", + "div", + "innerHTML", + "toolbarTrigger", + "firstElementChild", + "appendChild", + "timer", + "onmouseenter", + "setTimeout", + "expandToolbarTrigger", + "onmouseleave", + "clearTimeout", + "collapseToolbarTrigger", + "onfocus", + "onblur", + "onclick", + "showToolbarTrigger", + "display", + "hideToolbarTrigger", + "visible", + "eventName", + "callback", + "messageEventCallback", + "messageEvent", + "data", + "__jsenv__", + "event", + "removeEventListener", + "command", + "contentWindow", + "postMessage", + "queryPlaceholder", + "contains", + "console", + "warn", + "createTooolbarPlaceholder", + "querySelector" + ], + "mappings": ";;AAAA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD;AAAA,SAAS,OAAOA,GAAhB;AAAA,CAArB;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACD,GAAD,EAAS;AAC5B,SAAOA,GAAG,IACR,OAAOE,MAAP,KAAkB,UADb,IAELF,GAAG,CAACG,WAAJ,KAAoBD,MAFf,IAGLF,GAAG,KAAKE,MAAM,CAACE,SAHV,GAIH,QAJG,GAKH,OAAOJ,GALX;AAMD,CAPD;;AASA,cAAe,OAAOE,MAAP,KAAkB,UAAlB,IAAgC,OAAOA,MAAM,CAACG,QAAd,KAA2B,QAA3D,GACXN,YADW,GAEXE,YAFJ;;ACXA,sBAAe,UAACD,GAAD,EAAMM,GAAN,EAAWC,KAAX,EAAqB;AAClC;AACA;AACA;AACA;AACA;AACA,MAAID,GAAG,IAAIN,GAAX,EAAgB;AACdQ,IAAAA,MAAM,CAACC,cAAP,CAAsBT,GAAtB,EAA2BM,GAA3B,EAAgC;AAC9BC,MAAAA,KAAK,EAALA,KAD8B;AAE9BG,MAAAA,UAAU,EAAE,IAFkB;AAG9BC,MAAAA,YAAY,EAAE,IAHgB;AAI9BC,MAAAA,QAAQ,EAAE;AAJoB,KAAhC;AAMD,GAPD,MAOO;AACLZ,IAAAA,GAAG,CAACM,GAAD,CAAH,GAAWC,KAAX;AACD;;AACD,SAAOP,GAAP;AACD,CAjBD;;ACGA;AACA;;AAEA,SAASa,OAAT,CAAiBC,MAAjB,EAAyBC,cAAzB,EAAyC;AACvC,MAAIC,IAAI,GAAGR,MAAM,CAACQ,IAAP,CAAYF,MAAZ,CAAX;;AACA,MAAIN,MAAM,CAACS,qBAAX,EAAkC;AAChC,QAAIC,OAAO,GAAGV,MAAM,CAACS,qBAAP,CAA6BH,MAA7B,CAAd;;AACA,QAAIC,cAAJ,EAAoB;AAClBG,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,UAAUC,GAAV,EAAe;AACtC,eAAOZ,MAAM,CAACa,wBAAP,CAAgCP,MAAhC,EAAwCM,GAAxC,EAA6CV,UAApD;AACD,OAFS,CAAV;AAGD;;AACDM,IAAAA,IAAI,CAACM,IAAL,CAAUC,KAAV,CAAgBP,IAAhB,EAAsBE,OAAtB;AACD;;AACD,SAAOF,IAAP;AACD;;AAEc,SAASQ,cAAT,CAAwBC,MAAxB,EAAgC;AAC7C,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGC,SAAS,CAACC,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;AACzC,QAAIG,MAAM,GAAGF,SAAS,CAACD,CAAD,CAAT,IAAgB,IAAhB,GAAuBC,SAAS,CAACD,CAAD,CAAhC,GAAsC,EAAnD;;AACA,QAAIA,CAAC,GAAG,CAAR,EAAW;AACTb,MAAAA,OAAO,CAACL,MAAM,CAACqB,MAAD,CAAP,EAAiB,IAAjB,CAAP,CAA8BC,OAA9B,CAAsC,UAAUxB,GAAV,EAAe;AACnDG,QAAAA,cAAc,CAACgB,MAAD,EAASnB,GAAT,EAAcuB,MAAM,CAACvB,GAAD,CAApB,CAAd;AACD,OAFD;AAGD,KAJD,MAIO,IAAIE,MAAM,CAACuB,yBAAX,EAAsC;AAC3CvB,MAAAA,MAAM,CAACwB,gBAAP,CAAwBP,MAAxB,EAAgCjB,MAAM,CAACuB,yBAAP,CAAiCF,MAAjC,CAAhC;AACD,KAFM,MAEA;AACLhB,MAAAA,OAAO,CAACL,MAAM,CAACqB,MAAD,CAAP,CAAP,CAAwBC,OAAxB,CAAgC,UAAUxB,GAAV,EAAe;AAC7CE,QAAAA,MAAM,CAACC,cAAP,CACEgB,MADF,EAEEnB,GAFF,EAGEE,MAAM,CAACa,wBAAP,CAAgCQ,MAAhC,EAAwCvB,GAAxC,CAHF;AAKD,OAND;AAOD;AACF;;AACD,SAAOmB,MAAP;AACD;;ACxCD,oCAAe,UAACI,MAAD,EAASI,QAAT,EAAsB;AACnC,MAAIJ,MAAM,KAAK,IAAf,EAAqB,OAAO,EAAP;AACrB,MAAIJ,MAAM,GAAG,EAAb;AACA,MAAIS,UAAU,GAAG1B,MAAM,CAACQ,IAAP,CAAYa,MAAZ,CAAjB;AACA,MAAIvB,GAAJ;AACA,MAAIoB,CAAJ;;AACA,OAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGQ,UAAU,CAACN,MAA3B,EAAmCF,CAAC,EAApC,EAAwC;AACtCpB,IAAAA,GAAG,GAAG4B,UAAU,CAACR,CAAD,CAAhB;AACA,QAAIO,QAAQ,CAACE,OAAT,CAAiB7B,GAAjB,KAAyB,CAA7B,EAAgC;AAChCmB,IAAAA,MAAM,CAACnB,GAAD,CAAN,GAAcuB,MAAM,CAACvB,GAAD,CAApB;AACD;;AACD,SAAOmB,MAAP;AACD,CAZD;;ACEA,gCAAe,UAACI,MAAD,EAASI,QAAT,EAAsB;AACnC,MAAIJ,MAAM,KAAK,IAAf,EAAqB,OAAO,EAAP;AAErB,MAAIJ,MAAM,GAAGW,4BAA4B,CAACP,MAAD,EAASI,QAAT,CAAzC;AACA,MAAI3B,GAAJ;AACA,MAAIoB,CAAJ;;AACA,MAAIlB,MAAM,CAACS,qBAAX,EAAkC;AAChC,QAAIoB,gBAAgB,GAAG7B,MAAM,CAACS,qBAAP,CAA6BY,MAA7B,CAAvB;;AACA,SAAKH,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGW,gBAAgB,CAACT,MAAjC,EAAyCF,CAAC,EAA1C,EAA8C;AAC5CpB,MAAAA,GAAG,GAAG+B,gBAAgB,CAACX,CAAD,CAAtB;AACA,UAAIO,QAAQ,CAACE,OAAT,CAAiB7B,GAAjB,KAAyB,CAA7B,EAAgC;AAChC,UAAI,CAACE,MAAM,CAACJ,SAAP,CAAiBkC,oBAAjB,CAAsCC,IAAtC,CAA2CV,MAA3C,EAAmDvB,GAAnD,CAAL,EAA8D;AAC9DmB,MAAAA,MAAM,CAACnB,GAAD,CAAN,GAAcuB,MAAM,CAACvB,GAAD,CAApB;AACD;AACF;;AACD,SAAOmB,MAAP;AACD,CAhBD;;ACkFO,kBAAgBlB,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;AAC3C,MAAIA,MAAJ,EAAY;AACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;AACA;;AACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;AAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;AACA;;AACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;AACA;;AAtBM,kBAAgBqC,CAAhB,EAAmB;AACzB,SAAO,YAAW;AACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;AACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;AACA;;AACD,QAAI;AACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;AACA,KAFD,CAEE,OAAMC,CAAN,EAAS;AACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;AACA;AACD,GATD;AAUA;;AA8bM,iBAAeE,IAAf,EAAqBR,IAArB,EAA2BC,MAA3B,EAAmC;AACzC,MAAIA,MAAJ,EAAY;AACX,WAAOD,IAAI,GAAGA,IAAI,CAACQ,IAAI,EAAL,CAAP,GAAkBA,IAAI,EAAjC;AACA;;AACD,MAAI;AACH,QAAIC,MAAM,GAAGP,OAAO,CAACC,OAAR,CAAgBK,IAAI,EAApB,CAAb;AACA,WAAOR,IAAI,GAAGS,MAAM,CAACT,IAAP,CAAYA,IAAZ,CAAH,GAAuBS,MAAlC;AACA,GAHD,CAGE,OAAOH,CAAP,EAAU;AACX,WAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;AACA;AACD;;AAzhBM,IAAMI,aAAa,sBACxBC,GADwB,EASrB;AAAA,iFADC,EACD;AAAA,MANDC,MAMC,QANDA,MAMC;AAAA,yBALDC,MAKC;AAAA,MALDA,MAKC,4BALQ,KAKR;AAAA,8BAJDC,WAIC;AAAA,MAJDA,WAIC,iCAJa,aAIb;AAAA,0BAHDC,OAGC;AAAA,MAHDA,OAGC,6BAHS,EAGT;AAAA,uBAFDP,IAEC;AAAA,MAFDA,IAEC,0BAFM,IAEN;;AACH,MAAMQ,cAAc,GAAGC,qBAAqB,EAA5C;AACA,MAAMC,WAAW,GAAGD,qBAAqB,EAAzC;AAEA,MAAME,GAAG,GAAG,IAAIC,cAAJ,EAAZ;;AAEA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD,EAAW;AACzB;AACA,QAAIN,cAAc,CAACO,OAAnB,EAA4B;AAC1BL,MAAAA,WAAW,CAACX,MAAZ,CAAmBe,KAAnB;AACD,KAFD,MAEO;AACLN,MAAAA,cAAc,CAACT,MAAf,CAAsBe,KAAtB;AACD;AACF,GAPD;;AASA,MAAME,OAAO,GAAG,SAAVA,OAAU,GAAM;AACpBL,IAAAA,GAAG,CAACM,SAAJ,GAAgB,IAAhB;AACAN,IAAAA,GAAG,CAACO,OAAJ,GAAc,IAAd;AACAP,IAAAA,GAAG,CAACQ,MAAJ,GAAa,IAAb;AACAR,IAAAA,GAAG,CAACS,kBAAJ,GAAyB,IAAzB;AACD,GALD;;AAOAT,EAAAA,GAAG,CAACM,SAAJ,GAAgB,YAAM;AACpBD,IAAAA,OAAO;AACPH,IAAAA,OAAO,CAAC,IAAIQ,KAAJ,kCAAoClB,GAApC,OAAD,CAAP;AACD,GAHD;;AAKAQ,EAAAA,GAAG,CAACO,OAAJ,GAAc,UAACJ,KAAD,EAAW;AACvBE,IAAAA,OAAO,GADgB;AAGvB;;AACAH,IAAAA,OAAO,CAACS,kBAAkB,CAACR,KAAD,EAAQ;AAAEX,MAAAA,GAAG,EAAHA;AAAF,KAAR,CAAnB,CAAP;AACD,GALD;;AAOAQ,EAAAA,GAAG,CAACQ,MAAJ,GAAa,YAAM;AACjBH,IAAAA,OAAO;AACPN,IAAAA,WAAW,CAACf,OAAZ;AACD,GAHD;;AAKAS,EAAAA,MAAM,CAACmB,gBAAP,CAAwB,OAAxB,EAAiC,YAAM;AACrCZ,IAAAA,GAAG,CAACa,KAAJ;AACA,QAAMC,UAAU,GAAG,IAAIJ,KAAJ,CAAU,SAAV,CAAnB;AACAI,IAAAA,UAAU,CAACC,IAAX,GAAkB,YAAlB;AACAb,IAAAA,OAAO,CAACY,UAAD,CAAP;AACD,GALD;;AAOAd,EAAAA,GAAG,CAACS,kBAAJ,GAAyB,YAAM;AAC7B;AACA,QAAQO,UAAR,GAAuBhB,GAAvB,CAAQgB,UAAR;;AAEA,QAAIA,UAAU,KAAK,CAAnB,EAAsB;AACpBnB,MAAAA,cAAc,CAACb,OAAf;AACD,KAFD,MAEO,IAAIgC,UAAU,KAAK,CAAnB,EAAsB;AAC3BX,MAAAA,OAAO;AACPN,MAAAA,WAAW,CAACf,OAAZ;AACD;AACF,GAVD;;AAYAgB,EAAAA,GAAG,CAACiB,IAAJ,CAASvB,MAAT,EAAiBF,GAAjB,EAAsB,IAAtB;AACA3C,EAAAA,MAAM,CAACQ,IAAP,CAAYuC,OAAZ,EAAqBzB,OAArB,CAA6B,UAACxB,GAAD,EAAS;AACpCqD,IAAAA,GAAG,CAACkB,gBAAJ,CAAqBvE,GAArB,EAA0BiD,OAAO,CAACjD,GAAD,CAAjC;AACD,GAFD;AAGAqD,EAAAA,GAAG,CAACmB,eAAJ,GAAsBC,sBAAsB,CAAC;AAAEzB,IAAAA,WAAW,EAAXA,WAAF;AAAeH,IAAAA,GAAG,EAAHA;AAAf,GAAD,CAA5C;;AACA,MAAI,kBAAkBQ,GAAlB,IAAyBqB,OAA7B,EAAsC;AACpCrB,IAAAA,GAAG,CAACsB,YAAJ,GAAmB,MAAnB;AACD;;AACDtB,EAAAA,GAAG,CAACuB,IAAJ,CAASlC,IAAT;AAlEG,kBAoEGQ,cApEH;AAsEH;AACA,QAAM2B,WAAW,GACf,iBAAiBxB,GAAjB,GAAuBA,GAAG,CAACyB,WAA3B,GAAyC7B,OAAO,CAAC,eAAD,CADlD;AAEA,QAAI8B,cAAc,GAAG1B,GAAG,CAAC2B,MAAzB;AACA,QAAMC,kBAAkB,GAAG5B,GAAG,CAAC6B,UAA/B;AACA,QAAMC,eAAe,GAAGC,iBAAiB,CAAC/B,GAAD,CAAzC;;AAEA,QAAMgC,QAAQ,YAARA,QAAQ,GAAe;AAAA,sBACrBjC,WADqB;AAG3B,YAAQ4B,MAAR,GAAmB3B,GAAnB,CAAQ2B,MAAR,CAH2B;;AAK3B,YAAIA,MAAM,KAAK,CAAf,EAAkB;AAChBD,UAAAA,cAAc,GAAG,GAAjB;AACD;;AAED,YAAMrC,IAAI,GAAG,cAAcW,GAAd,GAAoBA,GAAG,CAACiC,QAAxB,GAAmCjC,GAAG,CAACkC,YAApD;AAEA,eAAO;AACLC,UAAAA,YAAY,EAAE9C,IADT;AAEL+C,UAAAA,gBAAgB,EAAEC,cAAc,CAAChD,IAAD;AAF3B,SAAP;AAX2B;AAe5B,KAfD;;AAiBA,QAAMiD,IAAI,YAAJA,IAAI,GAAe;AAAA,qBAC0BN,QAD1B;AAAA,YACfG,YADe,SACfA,YADe;AAAA,YACDC,gBADC,SACDA,gBADC;;AAGvB,YAAIA,gBAAgB,KAAK,MAAzB,EAAiC;AAC/B,iBAAOG,UAAU,CAACJ,YAAD,CAAjB;AACD;;AACD,YAAIC,gBAAgB,KAAK,UAAzB,EAAqC;AACnC,gBAAM,IAAI1B,KAAJ,CAAU,sCAAV,CAAN;AACD;;AARsB,eASnB0B,gBAAgB,KAAK,UATF,GAUdI,iBAAiB,CAACL,YAAY,CAACM,MAAd,CAVH,GAYnBL,gBAAgB,KAAK,aAZF,GAadI,iBAAiB,CAACL,YAAD,CAbH,GAkBhBO,MAAM,CAACP,YAAD,CAlBU;AAAA;AAmBxB,KAnBD;;AAqBA,QAAMQ,IAAI,YAAJA,IAAI,GAAe;AAAA,qBACIL,IADJ,EAEhBM,IAAI,CAACC,KAFW;AAGxB,KAHD;;AAKA,QAAMC,IAAI,wBAAe;AACvB,UAAI,CAACzB,OAAL,EAAc;AACZ,cAAM,IAAIX,KAAJ,sBAAN;AACD;;AAHsB,qBAK0BsB,QAL1B;AAAA,YAKfG,YALe,SAKfA,YALe;AAAA,YAKDC,gBALC,SAKDA,gBALC;;AAOvB,YAAIA,gBAAgB,KAAK,MAAzB,EAAiC;AAC/B,iBAAOD,YAAP;AACD;;AACD,YAAIC,gBAAgB,KAAK,UAAzB,EAAqC;AACnC,iBAAO,IAAIW,IAAJ,CAAS,CAACC,WAAW,CAACb,YAAY,CAACM,MAAd,CAAZ,CAAT,CAAP;AACD;;AACD,YAAIL,gBAAgB,KAAK,aAAzB,EAAwC;AACtC,iBAAO,IAAIW,IAAJ,CAAS,CAACC,WAAW,CAACb,YAAD,CAAZ,CAAT,CAAP;AACD;;AACD,YAAIC,gBAAgB,KAAK,UAAzB,EAAqC;AACnC,gBAAM,IAAI1B,KAAJ,CAAU,sCAAV,CAAN;AACD;;AACD,eAAO,IAAIqC,IAAJ,CAAS,CAACL,MAAM,CAACP,YAAD,CAAP,CAAT,CAAP;AAnBuB;AAoBxB,KApBS,CAAV;;AAsBA,QAAMc,WAAW,YAAXA,WAAW,GAAe;AAAA,qBACmBjB,QADnB;AAAA,YACtBG,YADsB,SACtBA,YADsB;AAAA,YACRC,gBADQ,SACRA,gBADQ;AAAA,eAG1BA,gBAAgB,KAAK,aAHK,GAIrBY,WAAW,CAACb,YAAD,CAJU,WAMHW,IANG,EAOvBI,iBAPuB;AAAA;AAQ/B,KARD;;AAUA,QAAMC,QAAQ,wBAAe;AAC3B,UAAI,CAACC,WAAL,EAAkB;AAChB,cAAM,IAAI1C,KAAJ,0BAAN;AACD;;AAH0B,qBAIA4B,IAJA,EAKpBe,cALoB;AAM5B,KANa,CAAd;;AAQA,WAAO;AACL7D,MAAAA,GAAG,EAAEgC,WADA;AAELG,MAAAA,MAAM,EAAED,cAFH;AAGLG,MAAAA,UAAU,EAAED,kBAHP;AAILhC,MAAAA,OAAO,EAAEkC,eAJJ;AAKLQ,MAAAA,IAAI,EAAJA,IALK;AAMLK,MAAAA,IAAI,EAAJA,IANK;AAOLG,MAAAA,IAAI,EAAJA,IAPK;AAQLG,MAAAA,WAAW,EAAXA,WARK;AASLE,MAAAA,QAAQ,EAARA;AATK,KAAP;AAhKG;AA2KJ,CApLyB,CAAnB;;AAsLP,IAAMG,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvB,MAAI,OAAOC,MAAM,CAACC,UAAd,KAA6B,UAAjC,EAA6C,OAAO,KAAP;AAE7C,MAAI,OAAOD,MAAM,CAACR,IAAd,KAAuB,UAA3B,EAAuC,OAAO,KAAP;;AAEvC,MAAI;AACF;AACA,QAAIA,IAAJ;AACA,WAAO,IAAP;AACD,GAJD,CAIE,OAAO5D,CAAP,EAAU;AACV,WAAO,KAAP;AACD;AACF,CAZD;;AAcA,IAAMkC,OAAO,GAAGiC,UAAU,EAA1B;AAEA,IAAMF,WAAW,GAAG,OAAOG,MAAM,CAACE,QAAd,KAA2B,UAA/C;AAEA,IAAMC,cAAc,GAAG,OAAOH,MAAM,CAACI,WAAd,KAA8B,UAArD;AAEA,IAAMC,eAAe,GAAG,OAAOL,MAAM,CAACM,eAAd,KAAkC,UAA1D;;AAEA,IAAMlD,kBAAkB,GAAG,SAArBA,kBAAqB,CAACR,KAAD,SAAoB;AAAA,MAAVX,GAAU,SAAVA,GAAU;AAC7C,SAAO,IAAIkB,KAAJ,uCAC0BlB,GAD1B,qCAGPW,KAAK,CAAC2D,KAHC,EAAP;AAKD,CAND;;AAQA,IAAMhE,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AAClC,MAAId,OAAJ;AACA,MAAII,MAAJ;AACA,MAAM2E,OAAO,GAAG,IAAIhF,OAAJ,CAAY,UAACiF,GAAD,EAAMC,GAAN,EAAc;AACxCjF,IAAAA,OAAO,GAAG,iBAACpC,KAAD,EAAW;AACnBmH,MAAAA,OAAO,CAAC3D,OAAR,GAAkB,IAAlB;AACA4D,MAAAA,GAAG,CAACpH,KAAD,CAAH;AACD,KAHD;;AAIAwC,IAAAA,MAAM,GAAG,gBAACxC,KAAD,EAAW;AAClBmH,MAAAA,OAAO,CAAC3D,OAAR,GAAkB,IAAlB;AACA6D,MAAAA,GAAG,CAACrH,KAAD,CAAH;AACD,KAHD;AAID,GATe,CAAhB;AAUAmH,EAAAA,OAAO,CAAC/E,OAAR,GAAkBA,OAAlB;AACA+E,EAAAA,OAAO,CAAC3E,MAAR,GAAiBA,MAAjB;AACA,SAAO2E,OAAP;AACD,CAhBD;;;AAmBA,IAAM3C,sBAAsB,GAAG,SAAzBA,sBAAyB,QAA0B;AAAA,MAAvBzB,WAAuB,SAAvBA,WAAuB;AAAA,MAAVH,GAAU,SAAVA,GAAU;;AACvD,MAAIG,WAAW,KAAK,aAApB,EAAmC;AACjC,WAAOuE,wBAAwB,CAAC1E,GAAD,CAA/B;AACD;;AACD,SAAOG,WAAW,KAAK,SAAvB;AACD,CALD;;AAOA,IAAMuE,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAC1E,GAAD,EAAS;AACxC;AACA,MAAI,QAAO+D,MAAP,yCAAOA,MAAP,OAAkB,QAAtB,EAAgC,OAAO,IAAP;AAChC,MAAI,QAAOA,MAAM,CAACY,QAAd,MAA2B,QAA/B,EAAyC,OAAO,IAAP;AACzC,MAAMC,YAAY,GAAGb,MAAM,CAACY,QAAP,CAAgBE,MAArC;AACA,MAAID,YAAY,KAAK,MAArB,EAA6B,OAAO,IAAP;AAC7B,SAAOE,YAAY,CAAC9E,GAAD,CAAZ,KAAsB4E,YAA7B;AACD,CAPD;;AASA,IAAM/B,cAAc,GAAG,SAAjBA,cAAiB,CAAChD,IAAD,EAAU;AAC/B,MAAI,CAACA,IAAL,EAAW;AACT,WAAO,EAAP;AACD;;AACD,MAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC5B,WAAO,MAAP;AACD;;AACD,MAAIgC,OAAO,IAAI0B,IAAI,CAACtG,SAAL,CAAe8H,aAAf,CAA6BlF,IAA7B,CAAf,EAAmD;AACjD,WAAO,MAAP;AACD;;AACD,MAAI+D,WAAW,IAAIK,QAAQ,CAAChH,SAAT,CAAmB8H,aAAnB,CAAiClF,IAAjC,CAAnB,EAA2D;AACzD,WAAO,UAAP;AACD;;AACD,MAAIqE,cAAJ,EAAoB;AAClB,QAAIrC,OAAO,IAAImD,UAAU,CAACnF,IAAD,CAAzB,EAAiC;AAC/B;AACD;;AACD,QAAIsE,WAAW,CAAClH,SAAZ,CAAsB8H,aAAtB,CAAoClF,IAApC,KAA6CoF,iBAAiB,CAACpF,IAAD,CAAlE,EAA0E;AACxE;AACD;AACF;;AACD,MAAIuE,eAAe,IAAIC,eAAe,CAACpH,SAAhB,CAA0B8H,aAA1B,CAAwClF,IAAxC,CAAvB,EAAsE;AACpE,WAAO,cAAP;AACD;;AACD,SAAO,EAAP;AACD,CAzBD;;;AA4BA,IAAM0C,iBAAiB,GAAG,SAApBA,iBAAoB,CAAC/B,GAAD,EAAS;AACjC,MAAM0E,SAAS,GAAG,EAAlB;AAEA,MAAMC,aAAa,GAAG3E,GAAG,CAAC4E,qBAAJ,EAAtB;AACA,MAAID,aAAa,KAAK,EAAtB,EAA0B,OAAOD,SAAP;AAE1B,MAAMG,KAAK,GAAGF,aAAa,CAACG,IAAd,GAAqBC,KAArB,CAA2B,SAA3B,CAAd;AACAF,EAAAA,KAAK,CAAC1G,OAAN,CAAc,UAAC6G,IAAD,EAAU;AACtB,QAAMC,KAAK,GAAGD,IAAI,CAACD,KAAL,CAAW,IAAX,CAAd;AACA,QAAMhE,IAAI,GAAGkE,KAAK,CAACC,KAAN,EAAb;AACA,QAAMtI,KAAK,GAAGqI,KAAK,CAACE,IAAN,CAAW,IAAX,CAAd;AACAT,IAAAA,SAAS,CAAC3D,IAAI,CAACqE,WAAL,EAAD,CAAT,GAAgCxI,KAAhC;AACD,GALD;AAOA,SAAO8H,SAAP;AACD,CAfD;;AAiBA,IAAMJ,YAAY,GAAG,SAAfA,YAAe,CAACe,IAAD,EAAU;AAC7B,MAAMC,MAAM,GAAGC,YAAY,CAACF,IAAD,CAA3B;;AAEA,MAAIC,MAAM,KAAK,MAAf,EAAuB;AACrB,WAAO,SAAP;AACD;;AAED,MAAIA,MAAM,KAAK,MAAX,IAAqBA,MAAM,KAAK,OAApC,EAA6C;AAC3C,QAAME,wBAAwB,GAAGF,MAAM,CAACrH,MAAP,GAAgB,MAAMA,MAAvD;AACA,QAAMwH,kBAAkB,GAAGJ,IAAI,CAAC7G,OAAL,CAAa,GAAb,EAAkBgH,wBAAlB,CAA3B;AAEA,QAAIC,kBAAkB,KAAK,CAAC,CAA5B,EAA+B,OAAOJ,IAAP;AAC/B,WAAOA,IAAI,CAACK,KAAL,CAAW,CAAX,EAAcD,kBAAd,CAAP;AACD;;AAED,SAAOJ,IAAI,CAACK,KAAL,CAAW,CAAX,EAAcJ,MAAM,CAACrH,MAAP,GAAgB,CAA9B,CAAP;AACD,CAhBD;;AAkBA,IAAMsH,YAAY,GAAG,SAAfA,YAAe,CAACF,IAAD,EAAU;AAC7B,MAAMM,UAAU,GAAGN,IAAI,CAAC7G,OAAL,CAAa,GAAb,CAAnB;AACA,MAAImH,UAAU,KAAK,CAAC,CAApB,EAAuB,OAAO,EAAP;AACvB,SAAON,IAAI,CAACK,KAAL,CAAW,CAAX,EAAcC,UAAd,CAAP;AACD,CAJD;;AAMA,IAAMnB,UAAU,GAAG,SAAbA,UAAa,CAACnI,GAAD,EAAS;AAC1B,SAAOA,GAAG,IAAIuJ,QAAQ,CAACnJ,SAAT,CAAmB8H,aAAnB,CAAiClI,GAAjC,CAAd;AACD,CAFD;;AAIA,IAAMoI,iBAAiB,GACrBd,WAAW,CAACkC,MAAZ,IACC,YAAM;AACL,MAAMC,WAAW,GAAG,CAClB,oBADkB,EAElB,qBAFkB,EAGlB,4BAHkB,EAIlB,qBAJkB,EAKlB,sBALkB,EAMlB,qBANkB,EAOlB,sBAPkB,EAQlB,uBARkB,EASlB,uBATkB,CAApB;AAYA,SAAO,UAAClJ,KAAD,EAAW;AAChB,WACEA,KAAK,IAAIkJ,WAAW,CAACC,QAAZ,CAAqBlJ,MAAM,CAACJ,SAAP,CAAiBuJ,QAAjB,CAA0BpH,IAA1B,CAA+BhC,KAA/B,CAArB,CADX;AAGD,GAJD;AAKD,CAlBD,EAFF;;AAsBA,IAAMyG,cAAc,GAAG,SAAjBA,cAAiB,CAACf,IAAD,EAAU;AAC/B,MAAM2D,IAAI,GAAG,IAAIxC,QAAJ,EAAb;AACAnB,EAAAA,IAAI,CACDwC,IADH,GAEGC,KAFH,CAES,GAFT,EAGG5G,OAHH,CAGW,UAAU+H,KAAV,EAAiB;AACxB,QAAIA,KAAJ,EAAW;AACT,UAAMnB,KAAK,GAAGmB,KAAK,CAACnB,KAAN,CAAY,GAAZ,CAAd;AACA,UAAMhE,IAAI,GAAGgE,KAAK,CAACG,KAAN,GAAciB,OAAd,CAAsB,KAAtB,EAA6B,GAA7B,CAAb;AACA,UAAMvJ,KAAK,GAAGmI,KAAK,CAACI,IAAN,CAAW,GAAX,EAAgBgB,OAAhB,CAAwB,KAAxB,EAA+B,GAA/B,CAAd;AACAF,MAAAA,IAAI,CAACG,MAAL,CAAYC,kBAAkB,CAACtF,IAAD,CAA9B,EAAsCsF,kBAAkB,CAACzJ,KAAD,CAAxD;AACD;AACF,GAVH;AAWA,SAAOqJ,IAAP;AACD,CAdD;;AAgBA,IAAM/C,iBAAiB,sBAAUJ,IAAV,EAAmB;AACxC,MAAMwD,MAAM,GAAG,IAAI9C,UAAJ,EAAf;AACA,MAAMO,OAAO,GAAGwC,eAAe,CAACD,MAAD,CAA/B;AACAA,EAAAA,MAAM,CAACE,iBAAP,CAAyB1D,IAAzB;AACA,SAAOiB,OAAP;AACD,CALsB,CAAvB;;AAOA,IAAMxB,UAAU,GAAG,SAAbA,UAAa,CAACO,IAAD,EAAU;AAC3B,MAAMwD,MAAM,GAAG,IAAI9C,UAAJ,EAAf;AACA,MAAMO,OAAO,GAAGwC,eAAe,CAACD,MAAD,CAA/B;AACAA,EAAAA,MAAM,CAACG,UAAP,CAAkB3D,IAAlB;AACA,SAAOiB,OAAP;AACD,CALD;;AAOA,IAAMvB,iBAAiB,GAAG,SAApBA,iBAAoB,CAACS,WAAD,EAAiB;AACzC,MAAMyD,IAAI,GAAG,IAAIC,UAAJ,CAAe1D,WAAf,CAAb;AACA,MAAM2D,KAAK,GAAG,IAAIC,KAAJ,CAAUH,IAAI,CAACzI,MAAf,CAAd;AACA,MAAIF,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAG2I,IAAI,CAACzI,MAAhB,EAAwB;AACtB2I,IAAAA,KAAK,CAAC7I,CAAD,CAAL,GAAW2E,MAAM,CAACoE,YAAP,CAAoBJ,IAAI,CAAC3I,CAAD,CAAxB,CAAX;AAEAA,IAAAA,CAAC;AACF;;AACD,SAAO6I,KAAK,CAACzB,IAAN,CAAW,EAAX,CAAP;AACD,CAVD;;AAYA,IAAMoB,eAAe,GAAG,SAAlBA,eAAkB,CAACD,MAAD,EAAY;AAClC,SAAO,IAAIvH,OAAJ,CAAY,UAAUC,OAAV,EAAmBI,MAAnB,EAA2B;AAC5CkH,IAAAA,MAAM,CAAC9F,MAAP,GAAgB,YAAY;AAC1BxB,MAAAA,OAAO,CAACsH,MAAM,CAAChH,MAAR,CAAP;AACD,KAFD;;AAGAgH,IAAAA,MAAM,CAAC/F,OAAP,GAAiB,YAAY;AAC3BnB,MAAAA,MAAM,CAACkH,MAAM,CAACnG,KAAR,CAAN;AACD,KAFD;AAGD,GAPM,CAAP;AAQD,CATD;;AAWA,IAAM6C,WAAW,GAAG,SAAdA,WAAc,CAACP,MAAD,EAAY;AAC9B,MAAIA,MAAM,CAACiD,KAAX,EAAkB;AAChB,WAAOjD,MAAM,CAACiD,KAAP,CAAa,CAAb,CAAP;AACD;;AACD,MAAMgB,IAAI,GAAG,IAAIC,UAAJ,CAAelE,MAAM,CAACsE,UAAtB,CAAb;AACAL,EAAAA,IAAI,CAACM,GAAL,CAAS,IAAIL,UAAJ,CAAelE,MAAf,CAAT;AACA,SAAOiE,IAAI,CAACjE,MAAZ;AACD,CAPD;;;;ACvTO,SAASwE,QAAT,CAAgBrK,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;AAC3C,MAAIA,MAAJ,EAAY;AACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;AACA;;AACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;AAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;AACA;;AACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;AACA;;AAtBM,SAASsK,QAAT,CAAgBjI,CAAhB,EAAmB;AACzB,SAAO,YAAW;AACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;AACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;AACA;;AACD,QAAI;AACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;AACA,KAFD,CAEE,OAAMC,CAAN,EAAS;AACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;AACA;AACD,GATD;AAUA;;AA/ED,IAAMgI,WAAW,sBAAU3H,GAAV,EAAsD;AAAA,iFAAP,EAAO;;AAAA,uBAArC4H,IAAqC;AAAA,MAArCA,IAAqC,0BAA9B,MAA8B;AAAA,MAAnBC,OAAmB;;AAAA,kBAC9C9D,MAAM,CAAC+D,KAAP,CAAa9H,GAAb;AACrB4H,IAAAA,IAAI,EAAJA;AADqB,KAElBC,OAFkB,EAD8C,YAC/DpF,QAD+D;AAMrE,WAAO;AACLzC,MAAAA,GAAG,EAAEyC,QAAQ,CAACzC,GADT;AAELmC,MAAAA,MAAM,EAAEM,QAAQ,CAACN,MAFZ;AAGLE,MAAAA,UAAU,EAAE,EAHP;AAILjC,MAAAA,OAAO,EAAE2H,iBAAiB,CAACtF,QAAD,CAJrB;AAKLK,MAAAA,IAAI,EAAE;AAAA,eAAML,QAAQ,CAACK,IAAT,EAAN;AAAA,OALD;AAMLK,MAAAA,IAAI,EAAE;AAAA,eAAMV,QAAQ,CAACU,IAAT,EAAN;AAAA,OAND;AAOLG,MAAAA,IAAI,EAAE;AAAA,eAAMb,QAAQ,CAACa,IAAT,EAAN;AAAA,OAPD;AAQLG,MAAAA,WAAW,EAAE;AAAA,eAAMhB,QAAQ,CAACgB,WAAT,EAAN;AAAA,OARR;AASLE,MAAAA,QAAQ,EAAE;AAAA,eAAMlB,QAAQ,CAACkB,QAAT,EAAN;AAAA;AATL,KAAP;AANqE;AAiBtE,CAjBgB,CAAjB;;AAmBA,IAAMoE,iBAAiB,GAAG,SAApBA,iBAAoB,CAACtF,QAAD,EAAc;AACtC,MAAMrC,OAAO,GAAG,EAAhB;AACAqC,EAAAA,QAAQ,CAACrC,OAAT,CAAiBzB,OAAjB,CAAyB,UAACvB,KAAD,EAAQmE,IAAR,EAAiB;AACxCnB,IAAAA,OAAO,CAACmB,IAAD,CAAP,GAAgBnE,KAAhB;AACD,GAFD;AAGA,SAAOgD,OAAP;AACD,CAND;;AAQO,IAAM4H,QAAQ,GACnB,OAAOjE,MAAM,CAAC+D,KAAd,KAAwB,UAAxB,IACA,OAAO/D,MAAM,CAACkE,eAAd,KAAkC,UADlC,GAEIN,WAFJ,GAGI5H,aAJC;;ACuDA,kBAAgB3C,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;AAC3C,MAAIA,MAAJ,EAAY;AACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;AACA;;AACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;AAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;AACA;;AACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;AACA;;AAtBM,kBAAgBqC,CAAhB,EAAmB;AACzB,SAAO,YAAW;AACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;AACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;AACA;;AACD,QAAI;AACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;AACA,KAFD,CAEE,OAAMC,CAAN,EAAS;AACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;AACA;AACD,GATD;AAUA;;AA/EM,IAAMuI,SAAS,sBAAUlI,GAAV,EAAgC;AAAA,MAAjB6H,OAAiB,uEAAP,EAAO;AAAA,kBAC7BG,QAAQ,CAAChI,GAAD,EAAM6H,OAAN,CADqB,YAC9CpF,QAD8C;AAAA,oBAE/BA,QAAQ,CAACU,IAAT,EAF+B;AAAA;AAIrD,CAJqB,CAAf;;ACkFA,kBAAgB/F,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;AAC3C,MAAIA,MAAJ,EAAY;AACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;AACA;;AACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;AAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;AACA;;AACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;AACA;;AAsdM,gBAAgByC,IAAhB,EAAsBsI,OAAtB,EAA+B;AACrC,MAAI;AACH,QAAIrI,MAAM,GAAGD,IAAI,EAAjB;AACA,GAFD,CAEE,OAAMF,CAAN,EAAS;AACV,WAAOwI,OAAO,CAACxI,CAAD,CAAd;AACA;;AACD,MAAIG,MAAM,IAAIA,MAAM,CAACT,IAArB,EAA2B;AAC1B,WAAOS,MAAM,CAACT,IAAP,CAAY,KAAK,CAAjB,EAAoB8I,OAApB,CAAP;AACA;;AACD,SAAOrI,MAAP;AACA;;AAtfM,kBAAgBL,CAAhB,EAAmB;AACzB,SAAO,YAAW;AACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;AACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;AACA;;AACD,QAAI;AACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;AACA,KAFD,CAEE,OAAMC,CAAN,EAAS;AACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;AACA;AACD,GATD;AAUA;;AA/EM,IAAMyI,kBAAkB,wBAA8B;AAAA,iFAAP,EAAO;AAAA,MAAlBnI,MAAkB,QAAlBA,MAAkB;;AAAA,4BACvD;AAAA,oBAC0BiI,SAAS,CAAC,wBAAD,EAA2B;AAC9DjI,MAAAA,MAAM,EAANA;AAD8D,KAA3B,CADnC;AAKH,GAN0D,YAMlDN,CANkD,EAM/C;AACV,QAAIM,MAAM,IAAIA,MAAM,CAACoI,OAAjB,IAA4B1I,CAAC,CAAC4B,IAAF,KAAW,YAA3C,EAAyD;AACvD,YAAM5B,CAAN;AACD;;AACD,UAAM,IAAIuB,KAAJ,iGAGRvB,CAAC,CAAC2E,KAHM,EAAN;AAKD,GAf0D;AAgB5D,CAhB8B,CAAxB;;AC0DA,IAAMgE,SAAS,GAAG,SAAZA,SAAY,CAACC,OAAD,EAAUC,MAAV,EAAqB;AAC5C,MAAMC,YAAY,GAAGF,OAAO,CAACG,KAA7B;AACA,MAAMC,aAAa,GAAGtL,MAAM,CAACQ,IAAP,CAAY2K,MAAZ,EAAoBI,GAApB,CAAwB,UAACC,SAAD,EAAe;AAC3D,QAAIC,OAAJ;;AACA,QAAID,SAAS,IAAIJ,YAAjB,EAA+B;AAC7B,UAAMM,YAAY,GAAGN,YAAY,CAACI,SAAD,CAAjC;;AACAC,MAAAA,OAAO,GAAG,mBAAM;AACdL,QAAAA,YAAY,CAACI,SAAD,CAAZ,GAA0BE,YAA1B;AACD,OAFD;AAGD,KALD,MAKO;AACLD,MAAAA,OAAO,GAAG,mBAAM;AACd,eAAOL,YAAY,CAACI,SAAD,CAAnB;AACD,OAFD;AAGD;;AAEDJ,IAAAA,YAAY,CAACI,SAAD,CAAZ,GAA0BL,MAAM,CAACK,SAAD,CAAhC;AAEA,WAAOC,OAAP;AACD,GAhBqB,CAAtB;AAiBA,SAAO,YAAM;AACXH,IAAAA,aAAa,CAAChK,OAAd,CAAsB,UAACmK,OAAD;AAAA,aAAaA,OAAO,EAApB;AAAA,KAAtB;AACD,GAFD;AAGD,CAtBM;AAwBA,IAAME,aAAa,GAAG,SAAhBA,aAAgB,CAACT,OAAD,EAAUU,UAAV,EAAyB;AACpD5L,EAAAA,MAAM,CAACQ,IAAP,CAAYoL,UAAZ,EAAwBtK,OAAxB,CAAgC,UAAC4C,IAAD,EAAU;AACxCgH,IAAAA,OAAO,CAACW,YAAR,CAAqB3H,IAArB,EAA2B0H,UAAU,CAAC1H,IAAD,CAArC;AACD,GAFD;AAGD,CAJM;;ACAA,SAASkG,MAAT,CAAgBrK,KAAhB,EAAuBiC,IAAvB,EAA6BC,MAA7B,EAAqC;AAC3C,MAAIA,MAAJ,EAAY;AACX,WAAOD,IAAI,GAAGA,IAAI,CAACjC,KAAD,CAAP,GAAiBA,KAA5B;AACA;;AACD,MAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiC,IAArB,EAA2B;AAC1BjC,IAAAA,KAAK,GAAGmC,OAAO,CAACC,OAAR,CAAgBpC,KAAhB,CAAR;AACA;;AACD,SAAOiC,IAAI,GAAGjC,KAAK,CAACiC,IAAN,CAAWA,IAAX,CAAH,GAAsBjC,KAAjC;AACA;;AAvFD,IAAM+L,0BAA0B,GAAG,oCAAnC;;AA0gBO,SAASC,KAAT,CAAevJ,IAAf,EAAqBR,IAArB,EAA2BC,MAA3B,EAAmC;AACzC,MAAIA,MAAJ,EAAY;AACX,WAAOD,IAAI,GAAGA,IAAI,CAACQ,IAAI,EAAL,CAAP,GAAkBA,IAAI,EAAjC;AACA;;AACD,MAAI;AACH,QAAIC,MAAM,GAAGP,OAAO,CAACC,OAAR,CAAgBK,IAAI,EAApB,CAAb;AACA,WAAOR,IAAI,GAAGS,MAAM,CAACT,IAAP,CAAYA,IAAZ,CAAH,GAAuBS,MAAlC;AACA,GAHD,CAGE,OAAOH,CAAP,EAAU;AACX,WAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;AACA;AACD;;AAnhBD,IAAM0J,eAAe,GAAG,mHAAxB;;AAgEO,SAAS3B,MAAT,CAAgBjI,CAAhB,EAAmB;AACzB,SAAO,YAAW;AACjB,SAAK,IAAIC,IAAI,GAAG,EAAX,EAAenB,CAAC,GAAG,CAAxB,EAA2BA,CAAC,GAAGC,SAAS,CAACC,MAAzC,EAAiDF,CAAC,EAAlD,EAAsD;AACrDmB,MAAAA,IAAI,CAACnB,CAAD,CAAJ,GAAUC,SAAS,CAACD,CAAD,CAAnB;AACA;;AACD,QAAI;AACH,aAAOgB,OAAO,CAACC,OAAR,CAAgBC,CAAC,CAACrB,KAAF,CAAQ,IAAR,EAAcsB,IAAd,CAAhB,CAAP;AACA,KAFD,CAEE,OAAMC,CAAN,EAAS;AACV,aAAOJ,OAAO,CAACK,MAAR,CAAeD,CAAf,CAAP;AACA;AACD,GATD;AAUA;;AAzED,IAAM2J,aAAa,sBAAe;AAAA,gBAC1B,IAAI/J,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC7B,QAAIuE,MAAM,CAACwF,mBAAX,EAAgC;AAC9BxF,MAAAA,MAAM,CAACwF,mBAAP,CAA2B/J,OAA3B,EAAoC;AAAEgK,QAAAA,OAAO,EAAE;AAAX,OAApC;AACD,KAFD,MAEO;AACLzF,MAAAA,MAAM,CAAC0F,qBAAP,CAA6BjK,OAA7B;AACD;AACF,GANK,CAD0B;AAAA,iBAQJ4I,kBARI,YAQ1BsB,aAR0B;AAShC,UAAMC,WAAW,GAAGC,qBAAqB,EAAzC;AAEA,UAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAf;AACAf,MAAAA,aAAa,CAACa,MAAD,EAAS;AACpBG,QAAAA,QAAQ,EAAE,CAAC,CADS;AAEpB;AACA;AACAC,QAAAA,iBAAiB,EAAE;AAJC,OAAT,CAAb;AAMA3B,MAAAA,SAAS,CAACuB,MAAD,EAAS;AAChB,oBAAY,OADI;AAEhB,kBAAU,IAFM;AAGhB,kBAAU,CAHM;AAIhB,gBAAQ,CAJQ;AAKhB,iBAAS,MALO;AAMhB,kBAAU,CANM;;AAOhB;AACA,sBAAc,QARE;AAShB,+BAAuB,OATP;AAUhB,+BAAuB,oBAVP;AAWhB,kBAAU;AAXM,OAAT,CAAT;AAaA,UAAMK,mBAAmB,GAAGC,qBAAqB,CAACN,MAAD,CAAjD;AACA,UAAMO,2BAA2B,GAAG,IAAIC,GAAJ,CAClCX,aAAa,CAACY,6BADoB,EAElCR,QAAQ,CAACnF,QAAT,CAAkBE,MAFgB,EAGlCgB,IAHF;AAIA,UAAM0E,yBAAyB,GAAG,IAAIF,GAAJ,CAChClB,0BADgC,EAEhCiB,2BAFgC,CAAlC,CApCgC;;AAyChCP,MAAAA,MAAM,CAACX,YAAP,CAAoB,KAApB,EAA2BqB,yBAA3B;AACAZ,MAAAA,WAAW,CAACa,UAAZ,CAAuBC,YAAvB,CAAoCZ,MAApC,EAA4CF,WAA5C;AAEAe,MAAAA,uBAAuB,CAACb,MAAD,EAAS,eAAT,EAA0B,YAAM;AACrDc,QAAAA,oBAAoB,CAACd,MAAD,EAAS,eAAT,EAA0B;AAAEH,UAAAA,aAAa,EAAbA;AAAF,SAA1B,CAApB;AACD,OAFsB,CAAvB;AA5CgC,oBAgD1BQ,mBAhD0B;AAiDhCL,QAAAA,MAAM,CAACe,eAAP,CAAuB,UAAvB;AAEA,YAAMC,GAAG,GAAGf,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAZ;AACAc,QAAAA,GAAG,CAACC,SAAJ,oHAGqBzB,eAHrB;AA8CA,YAAM0B,cAAc,GAAGF,GAAG,CAACG,iBAA3B;AACAnB,QAAAA,MAAM,CAACW,UAAP,CAAkBS,WAAlB,CAA8BF,cAA9B;AAEA,YAAIG,KAAJ;;AACAH,QAAAA,cAAc,CAACI,YAAf,GAA8B,YAAM;AAClCJ,UAAAA,cAAc,CAAC7B,YAAf,CAA4B,cAA5B,EAA4C,EAA5C;AACAgC,UAAAA,KAAK,GAAGE,UAAU,CAACC,oBAAD,EAAuB,GAAvB,CAAlB;AACD,SAHD;;AAIAN,QAAAA,cAAc,CAACO,YAAf,GAA8B,YAAM;AAClCC,UAAAA,YAAY,CAACL,KAAD,CAAZ;AACAM,UAAAA,sBAAsB;AACvB,SAHD;;AAIAT,QAAAA,cAAc,CAACU,OAAf,GAAyB,YAAM;AAC7BV,UAAAA,cAAc,CAACH,eAAf,CAA+B,cAA/B;AACAS,UAAAA,oBAAoB;AACrB,SAHD;;AAIAN,QAAAA,cAAc,CAACW,MAAf,GAAwB,YAAM;AAC5BX,UAAAA,cAAc,CAACH,eAAf,CAA+B,cAA/B;AACAW,UAAAA,YAAY,CAACL,KAAD,CAAZ;AACAM,UAAAA,sBAAsB;AACvB,SAJD;;AAKAT,QAAAA,cAAc,CAACY,OAAf,GAAyB,YAAM;AAC7BhB,UAAAA,oBAAoB,CAACd,MAAD,EAAS,aAAT,CAApB;AACD,SAFD;;AAIA,YAAM+B,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/Bb,UAAAA,cAAc,CAACrC,KAAf,CAAqBmD,OAArB,GAA+B,OAA/B;AACD,SAFD;;AAIA,YAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/Bf,UAAAA,cAAc,CAACrC,KAAf,CAAqBmD,OAArB,GAA+B,MAA/B;AACD,SAFD;;AAIA,YAAMR,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACjCN,UAAAA,cAAc,CAAC7B,YAAf,CAA4B,eAA5B,EAA6C,EAA7C;AACD,SAFD;;AAIA,YAAMsC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACnCT,UAAAA,cAAc,CAACH,eAAf,CAA+B,eAA/B,EAAgD,EAAhD;AACD,SAFD;;AAIAkB,QAAAA,kBAAkB;AAClBpB,QAAAA,uBAAuB,CAACb,MAAD,EAAS,2BAAT,EAAsC,UAACkC,OAAD,EAAa;AACxE,cAAIA,OAAJ,EAAa;AACXD,YAAAA,kBAAkB;AACnB,WAFD,MAEO;AACLF,YAAAA,kBAAkB;AACnB;AACF,SANsB,CAAvB;AAQA,eAAO/B,MAAP;AApJgC;AAAA;AAAA;AAqJjC,CArJkB,CAAnB;;AAuJA,IAAMa,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACb,MAAD,EAASmC,SAAT,EAAoBC,QAApB,EAAiC;AAC/D,MAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,YAAD,EAAkB;AAC7C,QAAQC,IAAR,GAAiBD,YAAjB,CAAQC,IAAR;;AACA,QAAI,QAAOA,IAAP,MAAgB,QAApB,EAA8B;AAC5B;AACD;;AACD,QAAQC,SAAR,GAAsBD,IAAtB,CAAQC,SAAR;;AACA,QAAI,CAACA,SAAL,EAAgB;AACd;AACD;;AACD,QAAIA,SAAS,CAACC,KAAV,KAAoBN,SAAxB,EAAmC;AACjC;AACD;;AACDC,IAAAA,QAAQ,CAACI,SAAS,CAACD,IAAX,CAAR;AACD,GAbD;;AAeArI,EAAAA,MAAM,CAAC3C,gBAAP,CAAwB,SAAxB,EAAmC8K,oBAAnC,EAAyD,KAAzD;AACA,SAAO,YAAM;AACXnI,IAAAA,MAAM,CAACwI,mBAAP,CAA2B,SAA3B,EAAsCL,oBAAtC,EAA4D,KAA5D;AACD,GAFD;AAGD,CApBD;;AAsBA,IAAMvB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACd,MAAD,EAAS2C,OAAT,EAA8B;AAAA,oCAAT9M,IAAS;AAATA,IAAAA,IAAS;AAAA;;AACzDmK,EAAAA,MAAM,CAAC4C,aAAP,CAAqBC,WAArB,CACE;AACEL,IAAAA,SAAS,EAAE;AACTG,MAAAA,OAAO,EAAPA,OADS;AAET9M,MAAAA,IAAI,EAAJA;AAFS;AADb,GADF,EAOEqE,MAAM,CAACc,MAPT;AASD,CAVD;;AAYA,IAAM+E,qBAAqB,GAAG,SAAxBA,qBAAwB,GAAM;AAClC,MAAMD,WAAW,GAAGgD,gBAAgB,EAApC;;AACA,MAAIhD,WAAJ,EAAiB;AACf,QAAIG,QAAQ,CAACjK,IAAT,CAAc+M,QAAd,CAAuBjD,WAAvB,CAAJ,EAAyC;AACvC,aAAOA,WAAP;AACD,KAHc;;;AAKfkD,IAAAA,OAAO,CAACC,IAAR,CACE,4EADF;AAGA,WAAOC,yBAAyB,EAAhC;AACD;;AACD,SAAOA,yBAAyB,EAAhC;AACD,CAbD;;AAeA,IAAMJ,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7B,SAAO7C,QAAQ,CAACkD,aAAT,CAAuB,kCAAvB,CAAP;AACD,CAFD;;AAIA,IAAMD,yBAAyB,GAAG,SAA5BA,yBAA4B,GAAM;AACtC,MAAMpD,WAAW,GAAGG,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAApB;AACAD,EAAAA,QAAQ,CAACjK,IAAT,CAAcoL,WAAd,CAA0BtB,WAA1B;AACA,SAAOA,WAAP;AACD,CAJD;;AAMA,IAAMQ,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACN,MAAD,EAAY;AACxC,SAAO,IAAItK,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAMwB,MAAM,GAAG,SAATA,MAAS,GAAM;AACnB6I,MAAAA,MAAM,CAAC0C,mBAAP,CAA2B,MAA3B,EAAmCvL,MAAnC,EAA2C,IAA3C;AACAxB,MAAAA,OAAO;AACR,KAHD;;AAIAqK,IAAAA,MAAM,CAACzI,gBAAP,CAAwB,MAAxB,EAAgCJ,MAAhC,EAAwC,IAAxC;AACD,GANM,CAAP;AAOD,CARD;;AAUA,IAAI8I,QAAQ,CAACtI,UAAT,KAAwB,UAA5B,EAAwC;AACtC8H,EAAAA,aAAa;AACd,CAFD,MAEO;AACLvF,EAAAA,MAAM,CAAC3C,gBAAP,CAAwB,MAAxB,EAAgCkI,aAAhC,EADK;AAGL;AACA;AACA;AACA;AACD" +} \ No newline at end of file diff --git a/dist/toolbar_injector/toolbar_injector_c8c214dd.js.map b/dist/toolbar_injector/toolbar_injector_c8c214dd.js.map deleted file mode 100644 index 2385df3b8f..0000000000 --- a/dist/toolbar_injector/toolbar_injector_c8c214dd.js.map +++ /dev/null @@ -1,294 +0,0 @@ -{ - "version": 3, - "file": "toolbar_injector_c8c214dd.js", - "sources": [ - "../../helpers/babel/typeof/typeof.js", - "../../helpers/babel/defineProperty/defineProperty.js", - "../../helpers/babel/objectSpread2/objectSpread2.js", - "../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js", - "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js", - "../../src/internal/browser_utils/fetchUsingXHR.js", - "../../src/internal/browser_utils/fetch_browser.js", - "../../src/internal/browser_utils/fetchJson.js", - "../../src/internal/dev_server/exploring/fetchExploringJson.js", - "../../src/internal/dev_server/toolbar/util/dom.js", - "../../src/internal/dev_server/toolbar/toolbar.injector.js" - ], - "sourcesContent": [ - "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n", - "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n", - "import defineProperty from \"../defineProperty/defineProperty.js\"\n\n// This function is different to \"Reflect.ownKeys\". The enumerableOnly\n// filters on symbol properties only. Returned string properties are always\n// enumerable. It is good to use in objectSpread.\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n}", - "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n", - "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n", - "/* eslint-env browser */\n\nexport const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n", - "import { fetchUsingXHR } from \"./fetchUsingXHR.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n", - "import { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n", - "import { fetchJson } from \"../../browser_utils/fetchJson.js\"\n\nexport const fetchExploringJson = async ({ signal } = {}) => {\n try {\n const exploringInfo = await fetchJson(\"/.jsenv/exploring.json\", {\n signal,\n })\n return exploringInfo\n } catch (e) {\n if (signal && signal.aborted && e.name === \"AbortError\") {\n throw e\n }\n throw new Error(\n `Cannot communicate with exploring server due to a network error\n--- error stack ---\n${e.stack}`,\n )\n }\n}\n", - "export const updateIframeOverflowOnParentWindow = () => {\n if (!window.parent) {\n // can happen while parent iframe reloads\n return\n }\n\n const aTooltipIsOpened =\n document.querySelector(\"[data-tooltip-visible]\") ||\n document.querySelector(\"[data-tooltip-auto-visible]\")\n const settingsAreOpened = document.querySelector(\"#settings[data-active]\")\n\n if (aTooltipIsOpened || settingsAreOpened) {\n enableIframeOverflowOnParentWindow()\n } else {\n disableIframeOverflowOnParentWindow()\n }\n}\n\nlet iframeOverflowEnabled = false\nconst enableIframeOverflowOnParentWindow = () => {\n if (iframeOverflowEnabled) return\n iframeOverflowEnabled = true\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"100%\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nconst disableIframeOverflowOnParentWindow = () => {\n if (!iframeOverflowEnabled) return\n iframeOverflowEnabled = false\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"40px\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nexport const getToolbarIframe = () => {\n const iframes = Array.from(window.parent.document.querySelectorAll(\"iframe\"))\n return iframes.find((iframe) => iframe.contentWindow === window)\n}\n\nexport const forceHideElement = (element) => {\n element.setAttribute(\"data-force-hide\", \"\")\n}\n\nexport const removeForceHideElement = (element) => {\n element.removeAttribute(\"data-force-hide\")\n}\n\nexport const setStyles = (element, styles) => {\n const elementStyle = element.style\n const restoreStyles = Object.keys(styles).map((styleName) => {\n let restore\n if (styleName in elementStyle) {\n const currentStyle = elementStyle[styleName]\n restore = () => {\n elementStyle[styleName] = currentStyle\n }\n } else {\n restore = () => {\n delete elementStyle[styleName]\n }\n }\n\n elementStyle[styleName] = styles[styleName]\n\n return restore\n })\n return () => {\n restoreStyles.forEach((restore) => restore())\n }\n}\n\nexport const setAttributes = (element, attributes) => {\n Object.keys(attributes).forEach((name) => {\n element.setAttribute(name, attributes[name])\n })\n}\n\nexport const getDocumentScroll = () => {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop,\n }\n}\n\nexport const toolbarSectionIsActive = (element) => {\n return element.hasAttribute(\"data-active\")\n}\n\nexport const activateToolbarSection = (element) => {\n element.setAttribute(\"data-active\", \"\")\n}\n\nexport const deactivateToolbarSection = (element) => {\n element.removeAttribute(\"data-active\")\n}\n", - "import { fetchExploringJson } from \"@jsenv/core/src/internal/dev_server/exploring/fetchExploringJson.js\"\nimport { setAttributes, setStyles } from \"./util/dom.js\"\n\n// eslint-disable-next-line no-undef\nconst TOOLBAR_BUILD_RELATIVE_URL = \"dist/toolbar/toolbar_d6045dd0.html\"\nconst jsenvLogoSvgUrl = new URL(\"./jsenv-logo.svg\", import.meta.url)\n\nconst injectToolbar = async () => {\n await new Promise((resolve) => {\n if (window.requestIdleCallback) {\n window.requestIdleCallback(resolve, { timeout: 400 })\n } else {\n window.requestAnimationFrame(resolve)\n }\n })\n const exploringJSON = await fetchExploringJson()\n const placeholder = getToolbarPlaceholder()\n\n const iframe = document.createElement(\"iframe\")\n setAttributes(iframe, {\n tabindex: -1,\n // sandbox: \"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation\",\n // allow: \"accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr\",\n allowtransparency: true,\n })\n setStyles(iframe, {\n \"position\": \"fixed\",\n \"zIndex\": 1000,\n \"bottom\": 0,\n \"left\": 0,\n \"width\": \"100%\",\n \"height\": 0,\n /* ensure toolbar children are not focusable when hidden */\n \"visibility\": \"hidden\",\n \"transition-duration\": \"300ms\",\n \"transition-property\": \"height, visibility\",\n \"border\": \"none\",\n })\n const iframeLoadedPromise = iframeToLoadedPromise(iframe)\n const jsenvCoreDirectoryServerUrl = new URL(\n exploringJSON.jsenvCoreDirectoryRelativeUrl,\n document.location.origin,\n ).href\n const jsenvToolbarHtmlServerUrl = new URL(\n TOOLBAR_BUILD_RELATIVE_URL,\n jsenvCoreDirectoryServerUrl,\n )\n // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)\n iframe.setAttribute(\"src\", jsenvToolbarHtmlServerUrl)\n placeholder.parentNode.replaceChild(iframe, placeholder)\n\n addToolbarEventCallback(iframe, \"toolbar_ready\", () => {\n sendCommandToToolbar(iframe, \"renderToolbar\", { exploringJSON })\n })\n\n await iframeLoadedPromise\n iframe.removeAttribute(\"tabindex\")\n\n const div = document.createElement(\"div\")\n div.innerHTML = `\n
\n \n \n \n \n
`\n const toolbarTrigger = div.firstElementChild\n iframe.parentNode.appendChild(toolbarTrigger)\n\n let timer\n toolbarTrigger.onmouseenter = () => {\n toolbarTrigger.setAttribute(\"data-animate\", \"\")\n timer = setTimeout(expandToolbarTrigger, 500)\n }\n toolbarTrigger.onmouseleave = () => {\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onfocus = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n expandToolbarTrigger()\n }\n toolbarTrigger.onblur = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onclick = () => {\n sendCommandToToolbar(iframe, \"showToolbar\")\n }\n\n const showToolbarTrigger = () => {\n toolbarTrigger.style.display = \"block\"\n }\n\n const hideToolbarTrigger = () => {\n toolbarTrigger.style.display = \"none\"\n }\n\n const expandToolbarTrigger = () => {\n toolbarTrigger.setAttribute(\"data-expanded\", \"\")\n }\n\n const collapseToolbarTrigger = () => {\n toolbarTrigger.removeAttribute(\"data-expanded\", \"\")\n }\n\n hideToolbarTrigger()\n addToolbarEventCallback(iframe, \"toolbar-visibility-change\", (visible) => {\n if (visible) {\n hideToolbarTrigger()\n } else {\n showToolbarTrigger()\n }\n })\n\n return iframe\n}\n\nconst addToolbarEventCallback = (iframe, eventName, callback) => {\n const messageEventCallback = (messageEvent) => {\n const { data } = messageEvent\n if (typeof data !== \"object\") {\n return\n }\n const { __jsenv__ } = data\n if (!__jsenv__) {\n return\n }\n if (__jsenv__.event !== eventName) {\n return\n }\n callback(__jsenv__.data)\n }\n\n window.addEventListener(\"message\", messageEventCallback, false)\n return () => {\n window.removeEventListener(\"message\", messageEventCallback, false)\n }\n}\n\nconst sendCommandToToolbar = (iframe, command, ...args) => {\n iframe.contentWindow.postMessage(\n {\n __jsenv__: {\n command,\n args,\n },\n },\n window.origin,\n )\n}\n\nconst getToolbarPlaceholder = () => {\n const placeholder = queryPlaceholder()\n if (placeholder) {\n if (document.body.contains(placeholder)) {\n return placeholder\n }\n // otherwise iframe would not be visible because in \n console.warn(\n \"element with [data-jsenv-toolbar-placeholder] must be inside document.body\",\n )\n return createTooolbarPlaceholder()\n }\n return createTooolbarPlaceholder()\n}\n\nconst queryPlaceholder = () => {\n return document.querySelector(\"[data-jsenv-toolbar-placeholder]\")\n}\n\nconst createTooolbarPlaceholder = () => {\n const placeholder = document.createElement(\"span\")\n document.body.appendChild(placeholder)\n return placeholder\n}\n\nconst iframeToLoadedPromise = (iframe) => {\n return new Promise((resolve) => {\n const onload = () => {\n iframe.removeEventListener(\"load\", onload, true)\n resolve()\n }\n iframe.addEventListener(\"load\", onload, true)\n })\n}\n\nif (document.readyState === \"complete\") {\n injectToolbar()\n} else {\n window.addEventListener(\"load\", injectToolbar)\n // document.addEventListener(\"readystatechange\", () => {\n // if (document.readyState === \"complete\") {\n // injectToolbar()\n // }\n // })\n}\n" - ], - "names": [ - "nativeTypeOf", - "obj", - "customTypeOf", - "Symbol", - "constructor", - "prototype", - "iterator", - "key", - "value", - "Object", - "defineProperty", - "enumerable", - "configurable", - "writable", - "ownKeys", - "object", - "enumerableOnly", - "keys", - "getOwnPropertySymbols", - "symbols", - "filter", - "sym", - "getOwnPropertyDescriptor", - "push", - "apply", - "_objectSpread2", - "target", - "i", - "arguments", - "length", - "source", - "forEach", - "getOwnPropertyDescriptors", - "defineProperties", - "excluded", - "sourceKeys", - "indexOf", - "objectWithoutPropertiesLoose", - "sourceSymbolKeys", - "propertyIsEnumerable", - "call", - "then", - "direct", - "Promise", - "resolve", - "f", - "args", - "e", - "reject", - "body", - "result", - "fetchUsingXHR", - "url", - "signal", - "method", - "credentials", - "headers", - "headersPromise", - "createPromiseAndHooks", - "bodyPromise", - "xhr", - "XMLHttpRequest", - "failure", - "error", - "settled", - "cleanup", - "ontimeout", - "onerror", - "onload", - "onreadystatechange", - "Error", - "createRequestError", - "addEventListener", - "abort", - "abortError", - "name", - "readyState", - "open", - "setRequestHeader", - "withCredentials", - "computeWithCredentials", - "hasBlob", - "responseType", - "send", - "responseUrl", - "responseURL", - "responseStatus", - "status", - "responseStatusText", - "statusText", - "responseHeaders", - "getHeadersFromXHR", - "readBody", - "response", - "responseText", - "responseBody", - "responseBodyType", - "detectBodyType", - "text", - "blobToText", - "arrayBufferToText", - "buffer", - "String", - "json", - "JSON", - "parse", - "blob", - "Blob", - "cloneBuffer", - "arrayBuffer", - "blobToArrayBuffer", - "formData", - "hasFormData", - "textToFormData", - "canUseBlob", - "window", - "FileReader", - "FormData", - "hasArrayBuffer", - "ArrayBuffer", - "hasSearchParams", - "URLSearchParams", - "stack", - "promise", - "res", - "rej", - "originSameAsGlobalOrigin", - "location", - "globalOrigin", - "origin", - "hrefToOrigin", - "isPrototypeOf", - "isDataView", - "isArrayBufferView", - "headerMap", - "headersString", - "getAllResponseHeaders", - "lines", - "trim", - "split", - "line", - "parts", - "shift", - "join", - "toLowerCase", - "href", - "scheme", - "hrefToScheme", - "secondProtocolSlashIndex", - "pathnameSlashIndex", - "slice", - "colonIndex", - "DataView", - "isView", - "viewClasses", - "includes", - "toString", - "form", - "bytes", - "replace", - "append", - "decodeURIComponent", - "reader", - "fileReaderReady", - "readAsArrayBuffer", - "readAsText", - "view", - "Uint8Array", - "chars", - "Array", - "fromCharCode", - "byteLength", - "set", - "_await", - "_async", - "fetchNative", - "mode", - "options", - "fetch", - "responseToHeaders", - "fetchUrl", - "AbortController", - "fetchJson", - "recover", - "fetchExploringJson", - "aborted", - "setStyles", - "element", - "styles", - "elementStyle", - "style", - "restoreStyles", - "map", - "styleName", - "restore", - "currentStyle", - "setAttributes", - "attributes", - "setAttribute", - "TOOLBAR_BUILD_RELATIVE_URL", - "_call", - "jsenvLogoSvgUrl", - "injectToolbar", - "requestIdleCallback", - "timeout", - "requestAnimationFrame", - "exploringJSON", - "placeholder", - "getToolbarPlaceholder", - "iframe", - "document", - "createElement", - "tabindex", - "allowtransparency", - "iframeLoadedPromise", - "iframeToLoadedPromise", - "jsenvCoreDirectoryServerUrl", - "URL", - "jsenvCoreDirectoryRelativeUrl", - "jsenvToolbarHtmlServerUrl", - "parentNode", - "replaceChild", - "addToolbarEventCallback", - "sendCommandToToolbar", - "removeAttribute", - "div", - "innerHTML", - "toolbarTrigger", - "firstElementChild", - "appendChild", - "timer", - "onmouseenter", - "setTimeout", - "expandToolbarTrigger", - "onmouseleave", - "clearTimeout", - "collapseToolbarTrigger", - "onfocus", - "onblur", - "onclick", - "showToolbarTrigger", - "display", - "hideToolbarTrigger", - "visible", - "eventName", - "callback", - "messageEventCallback", - "messageEvent", - "data", - "__jsenv__", - "event", - "removeEventListener", - "command", - "contentWindow", - "postMessage", - "queryPlaceholder", - "contains", - "console", - "warn", - "createTooolbarPlaceholder", - "querySelector" - ], - "mappings": "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" -} \ No newline at end of file diff --git a/docs/assets/readme.md b/docs/assets/readme.md index 12eb62e014..abfdee1d8d 100644 --- a/docs/assets/readme.md +++ b/docs/assets/readme.md @@ -75,4 +75,4 @@ console.log(text) ``` However this cannot run directly in the browser. It needs to be transformed to be executable by a browser. -This can be achieved by associating `"**/*.txt"` with `textToJavaScriptModule` in [customCompilers](https://github.com/jsenv/jsenv-core/blob/master/docs/shared-parameters.md#customcompilers). --> +This can be achieved by associating `"**/*.txt"` with `textToJsModule` in [customCompilers](https://github.com/jsenv/jsenv-core/blob/master/docs/shared-parameters.md#customcompilers). --> diff --git a/docs/building/readme.md b/docs/building/readme.md index 2538062623..9e8caea7be 100644 --- a/docs/building/readme.md +++ b/docs/building/readme.md @@ -308,11 +308,11 @@ The value above can be translated into the following sentence where build direct _main.html_ can be found at _dist/main.html_, _src/main.css_ at _dist/assets/main-2e7e167b.css_ and _src/main.js_ at _dist/main-a340d0ae.js_" ```js -import { textToJavaScriptModule } from "@jsenv/core" +import { textToJsModule } from "@jsenv/core" export const customCompilers = { // Dynamically convert text files to javascript modules - "**/*.txt": textToJavaScriptModule, + "**/*.txt": textToJsModule, } ``` diff --git a/docs/dev_server/readme.md b/docs/dev_server/readme.md index 2ffd9cb949..3f5f3726ba 100644 --- a/docs/dev_server/readme.md +++ b/docs/dev_server/readme.md @@ -41,9 +41,9 @@ startDevServer({ ## explorableConfig -`explorableConfig` parameter is an object used to configure what files are explorable in your project. This is an optional parameter with a default value configured to match list a subset of html files. The exact value can be found in [src/jsenvExplorableConfig.js](../../src/jsenvExplorableConfig.js). +`explorableConfig` parameter is an object used to configure what files are explorable in your project. This is an optional parameter with a default value configured to match list a subset of html files. The exact value can be found in [src/dev_server.js](../../src/dev_server.js#L42). -This parameter must be an object composed of other objects where keys are relative or absolute urls. These urls are allowed to contain `*` and `**` that will be used for pattern matching as documented in https://github.com/jsenv/jsenv-url-meta#pattern. +This parameter must be an object composed of other objects where keys are relative or absolute urls. These urls are allowed to contain `*` and `**` that will be used for pattern matching as documented in https://github.com/jsenv/url-meta#common-pattern-example. Each group declared in `explorableConfig` are turned into tabs in jsenv exploring index page. These tabs are here to regroup files that goes together. For instance you might want to have a tab for source files and one for test files. diff --git a/docs/npm_package/readme.md b/docs/npm_package/readme.md index 58e80dd59b..4fce073f2b 100644 --- a/docs/npm_package/readme.md +++ b/docs/npm_package/readme.md @@ -75,10 +75,10 @@ According to module format deduced at step 1, do one of the following: In _jsenv.config.mjs_: ```js - import { commonJsToJavaScriptModule } from "@jsenv/core" + import { commonJsToJsModule } from "@jsenv/core" export const customCompilers = { - "./node_modules/amazing-package/**/*.js": commonJsToJavaScriptModule, + "./node_modules/amazing-package/**/*.js": commonJsToJsModule, } ``` diff --git a/docs/react/readme.md b/docs/react/readme.md index 85bc59d6e5..97c6516109 100644 --- a/docs/react/readme.md +++ b/docs/react/readme.md @@ -41,15 +41,15 @@ As documented in [2. Remap package with importmap](./npm_package.md#2-remap-pack As documented in [3. Adapt to the module format](./npm_package.md#3-adapt-to-module-format), convert "react" and "react-dom" to import/export. ```js -import { commonJsToJavaScriptModule } from "@jsenv/core" +import { commonJsToJsModule } from "@jsenv/core" // "react" and "react-dom" are written in commonJs, they // must be converted to javascript modules // see https://github.com/jsenv/jsenv-core/blob/master/docs/shared-parameters.md#customCompilers export const customCompilers = { - "./node_modules/react/index.js": commonJsToJavaScriptModule, + "./node_modules/react/index.js": commonJsToJsModule, "./node_modules/react-dom/index.js": (options) => { - return commonJsToJavaScriptModule({ ...options, external: ["react"] }) + return commonJsToJsModule({ ...options, external: ["react"] }) }, } ``` diff --git a/docs/shared-parameters.md b/docs/shared-parameters.md index 6a7ad73b95..76153236f2 100644 --- a/docs/shared-parameters.md +++ b/docs/shared-parameters.md @@ -60,10 +60,10 @@ This parameter only adds an extension on extensionless import, it cannot try dif But if your code or some of your dependencies use an other format you need to convert it using this parameter. For instance, the following code makes jsenv compatible with `react`. ```js -import { commonJsToJavaScriptModule } from "@jsenv/core" +import { commonJsToJsModule } from "@jsenv/core" const customCompilers = { - "./node_modules/react/index.js": commonJsToJavaScriptModule, + "./node_modules/react/index.js": commonJsToJsModule, } ``` diff --git a/docs/testing/demo/abbreviation/demo_abbreviation.mjs b/docs/testing/demo/abbreviation/demo_abbreviation.mjs index fd697fbee8..d4fde6546e 100644 --- a/docs/testing/demo/abbreviation/demo_abbreviation.mjs +++ b/docs/testing/demo/abbreviation/demo_abbreviation.mjs @@ -1,7 +1,7 @@ import { resolveUrl, urlToRelativeUrl } from "@jsenv/filesystem" import { executeTestPlan, nodeRuntime } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" const testDirectoryUrl = resolveUrl("./", import.meta.url) const testDirectoryRelativeUrl = urlToRelativeUrl( diff --git a/docs/testing/demo/abbreviation/demo_abbreviation_and_merge.mjs b/docs/testing/demo/abbreviation/demo_abbreviation_and_merge.mjs index d6ee0fe0fa..ef30f4b0e9 100644 --- a/docs/testing/demo/abbreviation/demo_abbreviation_and_merge.mjs +++ b/docs/testing/demo/abbreviation/demo_abbreviation_and_merge.mjs @@ -1,7 +1,7 @@ import { resolveUrl, urlToRelativeUrl } from "@jsenv/filesystem" import { executeTestPlan, nodeRuntime } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" const testDirectoryUrl = resolveUrl("./", import.meta.url) const testDirectoryRelativeUrl = urlToRelativeUrl( diff --git a/docs/testing/demo/abbreviation/demo_abbreviation_without.mjs b/docs/testing/demo/abbreviation/demo_abbreviation_without.mjs index 20cfa1b6fa..09d1dda825 100644 --- a/docs/testing/demo/abbreviation/demo_abbreviation_without.mjs +++ b/docs/testing/demo/abbreviation/demo_abbreviation_without.mjs @@ -1,7 +1,7 @@ import { resolveUrl, urlToRelativeUrl } from "@jsenv/filesystem" import { executeTestPlan, nodeRuntime } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" const testDirectoryUrl = resolveUrl("./", import.meta.url) const testDirectoryRelativeUrl = urlToRelativeUrl( diff --git a/docs/testing/demo/mixed/demo.mjs b/docs/testing/demo/mixed/demo.mjs index 20cfa1b6fa..09d1dda825 100644 --- a/docs/testing/demo/mixed/demo.mjs +++ b/docs/testing/demo/mixed/demo.mjs @@ -1,7 +1,7 @@ import { resolveUrl, urlToRelativeUrl } from "@jsenv/filesystem" import { executeTestPlan, nodeRuntime } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" const testDirectoryUrl = resolveUrl("./", import.meta.url) const testDirectoryRelativeUrl = urlToRelativeUrl( diff --git a/docs/testing/readme.md b/docs/testing/readme.md index ba8c8c9c3f..9b827467ac 100644 --- a/docs/testing/readme.md +++ b/docs/testing/readme.md @@ -189,7 +189,7 @@ const testPlan = { ### pattern -_pattern_ is documented in [https://github.com/jsenv/jsenv-url-meta#pattern](https://github.com/jsenv/jsenv-url-meta#pattern). +_pattern_ is documented in [https://github.com/jsenv/jsenv-url-meta](https://github.com/jsenv/url-meta#common-pattern-example). ### executionName @@ -350,7 +350,7 @@ _coverage_ parameter is a boolean used to enable coverage or not while executing ### coverageConfig -_coverageConfig_ parameter is an object used to configure which files must be covered. This parameter is optional with a default value exported by [src/jsenvCoverageConfig.js](../../src/jsenvCoverageConfig.js). Keys are patterns as documented in [https://github.com/jsenv/jsenv-url-meta#pattern](https://github.com/jsenv/jsenv-url-meta#pattern). +_coverageConfig_ parameter is an object used to configure which files must be covered. This parameter is optional with a default value exported by [src/execute_test_plan.js](../../src/execute_test_plan.js#L73). Keys are patterns as documented in [https://github.com/jsenv/jsenv-url-meta](https://github.com/jsenv/url-meta#common-pattern-example). ### coverageIncludeMissing diff --git a/experimental/build_in_custom_compiler/build_in_custom_compiler.test.js b/experimental/build_in_custom_compiler/build_in_custom_compiler.test.js index 2348d19188..f742b1dda1 100644 --- a/experimental/build_in_custom_compiler/build_in_custom_compiler.test.js +++ b/experimental/build_in_custom_compiler/build_in_custom_compiler.test.js @@ -3,8 +3,8 @@ import { urlToRelativeUrl, resolveUrl } from "@jsenv/filesystem" import { fetchUrl } from "@jsenv/server" import { buildProject } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" -import { startCompileServer } from "@jsenv/core/src/internal/compiling/startCompileServer.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" +import { startCompileServer } from "@jsenv/core/src/internal/compile_server/compile_server.js" import { COMPILE_SERVER_TEST_PARAMS } from "@jsenv/core/test/__internal__/compile_server/TEST_PARAMS_COMPILE_SERVER.js" const testDirectoryUrl = resolveUrl("./", import.meta.url) diff --git a/experimental/commonjs_with_babel/convertCommonJsWithBabel.js b/experimental/commonjs_with_babel/convertCommonJsWithBabel.js index cc5ea6cc53..e2ed5add33 100644 --- a/experimental/commonjs_with_babel/convertCommonJsWithBabel.js +++ b/experimental/commonjs_with_babel/convertCommonJsWithBabel.js @@ -1,7 +1,7 @@ import { require } from "@jsenv/core/src/internal/require.js" -import { transformJs } from "@jsenv/core/src/internal/compiling/js-compilation-service/transformJs.js" -import { babelPluginReplaceExpressions } from "@jsenv/core/src/internal/babel_plugin_replace_expressions.js" -import { transformResultToCompilationResult } from "@jsenv/core/src/internal/compiling/transformResultToCompilationResult.js" +import { transformJs } from "@jsenv/core/src/internal/compile_server/js/js_transformer.js" +import { babelPluginReplaceExpressions } from "@jsenv/core/src/internal/compile_server/js/babel_plugin_replace_expressions.js" +import { asCompilationResult } from "@jsenv/core/src/internal/compile_server/jsenv_directory/compilation_result.js" export const convertCommonJsWithBabel = async ({ code, @@ -51,7 +51,7 @@ export const convertCommonJsWithBabel = async ({ }, }) - return transformResultToCompilationResult( + return asCompilationResult( { contentType: "application/javascript", code: transformResult.code, diff --git a/experimental/commonjs_with_recast/commonjs_with_recast.js b/experimental/commonjs_with_recast/commonjs_with_recast.js index d5a376e92a..b86c8ee970 100644 --- a/experimental/commonjs_with_recast/commonjs_with_recast.js +++ b/experimental/commonjs_with_recast/commonjs_with_recast.js @@ -1,7 +1,7 @@ // eslint-disable-next-line import/no-unresolved import { applyTransform } from "jscodeshift/dist/testUtils.js" import { createRequire } from "node:module" -import { transformResultToCompilationResult } from "@jsenv/core/src/internal/compiling/transformResultToCompilationResult.js" +import { asCompilationResult } from "@jsenv/core/src/internal/compile_server/jsenv_directory/compilation_result.js" const require = createRequire(import.meta.url) @@ -18,7 +18,7 @@ export const convertCommonJsWithRecast = ({ const output = applyTransform(cjsToEsModule, {}, { source: code }) - return transformResultToCompilationResult( + return asCompilationResult( { contentType: "application/javascript", code: output, diff --git a/experimental/compile_group/minRuntimeVersionsToScore.js b/experimental/compile_group/minRuntimeVersionsToScore.js index 43af5402b7..a9b40e839a 100644 --- a/experimental/compile_group/minRuntimeVersionsToScore.js +++ b/experimental/compile_group/minRuntimeVersionsToScore.js @@ -1,7 +1,5 @@ -import { - versionCompare, - findHighestVersion, -} from "@jsenv/core/src/internal/semantic_versioning/index.js" +import { compareTwoVersions } from "@jsenv/core/src/internal/semantic_versioning/compare_versions.js" +import { findHighestVersion } from "@jsenv/core/src/internal/semantic_versioning/highest_version.js" export const minRuntimeVersionsToScore = ( minRuntimeVersions, @@ -28,7 +26,7 @@ const scoreFromRuntime = ({ runtimeName, runtimeVersion, runtimeScoreMap }) => { return runtimeScoreMap.other || 0 } - const versionArrayAscending = versionArray.sort(versionCompare) + const versionArrayAscending = versionArray.sort(compareTwoVersions) const highestVersion = versionArrayAscending[versionArray.length - 1] if (findHighestVersion(runtimeVersion, highestVersion) === runtimeVersion) { diff --git a/experimental/continuous-testing/relativeUrlToExecutionSteps.js b/experimental/continuous-testing/relativeUrlToExecutionSteps.js index 744f380833..c4fb9a445a 100644 --- a/experimental/continuous-testing/relativeUrlToExecutionSteps.js +++ b/experimental/continuous-testing/relativeUrlToExecutionSteps.js @@ -1,8 +1,15 @@ -import { resolveUrl, normalizeStructuredMetaMap, urlToMeta } from "@jsenv/filesystem" +import { + resolveUrl, + normalizeStructuredMetaMap, + urlToMeta, +} from "@jsenv/filesystem" -import { generateFileExecutionSteps } from "@jsenv/core/src/internal/executing/generateFileExecutionSteps.js" +import { generateFileExecutionSteps } from "@jsenv/core/src/internal/executing/execution_steps.js" -export const relativeUrlToExecutionSteps = (relativeUrl, { projectDirectoryUrl, plan }) => { +export const relativeUrlToExecutionSteps = ( + relativeUrl, + { projectDirectoryUrl, plan }, +) => { const structuredMetaMapForExecution = normalizeStructuredMetaMap( { filePlan: plan, diff --git a/experimental/continuous-testing/showContinuousTestingNotification.js b/experimental/continuous-testing/showContinuousTestingNotification.js index 573babcda7..aa2eefc677 100644 --- a/experimental/continuous-testing/showContinuousTestingNotification.js +++ b/experimental/continuous-testing/showContinuousTestingNotification.js @@ -1,7 +1,6 @@ import { basename } from "path" import { require } from "@jsenv/core/src/internal/require.js" -import { executionIsPassed } from "@jsenv/core/src/internal/executing/executionIsPassed.js" import { createBrokenNotificationMessage, createStillFailingNotificationMessage, @@ -21,12 +20,18 @@ export const showContinuousTestingNotification = ({ if (previousTestingPassed && !testingPassed) { notifier.notify({ title: `${projectName} broken`, - message: createBrokenNotificationMessage({ previousTestingResult, testingResult }), + message: createBrokenNotificationMessage({ + previousTestingResult, + testingResult, + }), }) } else if (!previousTestingPassed && testingPassed) { notifier.notify({ title: `${projectName} fixed`, - message: createFixedNotificationMessage({ previousTestingResult, testingResult }), + message: createFixedNotificationMessage({ + previousTestingResult, + testingResult, + }), }) } else if (!previousTestingPassed && !testingPassed) { notifier.notify({ @@ -38,3 +43,5 @@ export const showContinuousTestingNotification = ({ }) } } + +const executionIsPassed = () => true diff --git a/experimental/continuous-testing/startContinuousTesting.js b/experimental/continuous-testing/startContinuousTesting.js index 1de9721f9d..6d24d43564 100644 --- a/experimental/continuous-testing/startContinuousTesting.js +++ b/experimental/continuous-testing/startContinuousTesting.js @@ -10,10 +10,10 @@ import { import { assertProjectDirectoryUrl, assertProjectDirectoryExists, -} from "@jsenv/core/src/internal/argUtils.js" -import { generateExecutionSteps } from "@jsenv/core/src/internal/executing/generateExecutionSteps.js" -import { executePlan } from "@jsenv/core/src/internal/executing/executePlan.js" -import { startCompileServer } from "@jsenv/core/src/internal/compiling/startCompileServer.js" +} from "@jsenv/core/src/internal/jsenv_params_assertions.js" +import { generateExecutionSteps } from "@jsenv/core/src/internal/executing/execution_steps.js" +import { executePlan } from "@jsenv/core/src/internal/executing/execute_plan.js" +import { startCompileServer } from "@jsenv/core/src/internal/compile_server/compile_server.js" import { relativeUrlToExecutionSteps } from "./relativeUrlToExecutionSteps.js" import { showContinuousTestingNotification } from "./showContinuousTestingNotification.js" diff --git a/experimental/continuous-testing/test_continuous_testing/TEST_PARAMS.js b/experimental/continuous-testing/test_continuous_testing/TEST_PARAMS.js index d823419041..9c4739b58f 100644 --- a/experimental/continuous-testing/test_continuous_testing/TEST_PARAMS.js +++ b/experimental/continuous-testing/test_continuous_testing/TEST_PARAMS.js @@ -1,4 +1,4 @@ -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" export const CONTINUOUS_TESTING_TEST_PARAM = { projectDirectory: jsenvCoreDirectoryUrl, diff --git a/experimental/continuous-testing/test_continuous_testing/basic/basic.manual-test.js b/experimental/continuous-testing/test_continuous_testing/basic/basic.manual-test.js index 50c5487630..d1bd2431dc 100644 --- a/experimental/continuous-testing/test_continuous_testing/basic/basic.manual-test.js +++ b/experimental/continuous-testing/test_continuous_testing/basic/basic.manual-test.js @@ -2,7 +2,7 @@ import { resolveDirectoryUrl, urlToRelativeUrl } from "@jsenv/filesystem" import { nodeRuntime, chromiumRuntime } from "@jsenv/core" import { startContinuousTesting } from "@jsenv/core/experimental/continuous-testing/startContinuousTesting.js" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" import { CONTINUOUS_TESTING_TEST_PARAM } from "../TEST_PARAMS.js" const testDirectoryUrl = resolveDirectoryUrl("./", import.meta.url) diff --git a/experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import-meta-resolve-build-commonjs.js b/experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import_meta_resolve_build_commonjs.js similarity index 100% rename from experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import-meta-resolve-build-commonjs.js rename to experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import_meta_resolve_build_commonjs.js diff --git a/experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import-meta-resolve-build-commonjs.test.js b/experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import_meta_resolve_build_commonjs.test.js similarity index 95% rename from experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import-meta-resolve-build-commonjs.test.js rename to experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import_meta_resolve_build_commonjs.test.js index a668bf53a7..3626e6dd1b 100644 --- a/experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import-meta-resolve-build-commonjs.test.js +++ b/experimental/import_meta_resolve/import_meta_resolve_build_commonjs/import_meta_resolve_build_commonjs.test.js @@ -6,7 +6,7 @@ import { } from "@jsenv/filesystem" import { buildProject } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" import { GENERATE_COMMONJS_BUILD_TEST_PARAMS } from "@jsenv/core/test/TEST_PARAMS_BUILD_COMMONJS.js" const testDirectoryUrl = resolveDirectoryUrl("./", import.meta.url) diff --git a/experimental/import_meta_resolve/import_meta_resolve_build_global/import-meta-resolve-build-global.test.js b/experimental/import_meta_resolve/import_meta_resolve_build_global/import-meta-resolve-build-global.test.js index e6da2f702f..504114c41b 100644 --- a/experimental/import_meta_resolve/import_meta_resolve_build_global/import-meta-resolve-build-global.test.js +++ b/experimental/import_meta_resolve/import_meta_resolve_build_global/import-meta-resolve-build-global.test.js @@ -6,7 +6,7 @@ import { } from "@jsenv/filesystem" import { buildProject } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" import { GENERATE_GLOBAL_BUILD_TEST_PARAMS } from "@jsenv/core/test/TEST_PARAMS_BUILD_GLOBAL.js" const testDirectoryUrl = resolveDirectoryUrl("./", import.meta.url) diff --git a/experimental/import_meta_resolve/import_meta_resolve_build_systemjs/import-meta-resolve-build-systemjs.xtest.js b/experimental/import_meta_resolve/import_meta_resolve_build_systemjs/import-meta-resolve-build-systemjs.xtest.js index cacc7c9803..a925982091 100644 --- a/experimental/import_meta_resolve/import_meta_resolve_build_systemjs/import-meta-resolve-build-systemjs.xtest.js +++ b/experimental/import_meta_resolve/import_meta_resolve_build_systemjs/import-meta-resolve-build-systemjs.xtest.js @@ -6,7 +6,7 @@ import { } from "@jsenv/filesystem" import { buildProject } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" import { GENERATE_SYSTEMJS_BUILD_TEST_PARAMS } from "@jsenv/core/test/TEST_PARAMS_BUILD_SYSTEMJS.js" import { executeInBrowser } from "@jsenv/core/test/execute_in_browser.js" diff --git a/experimental/import_meta_resolve/import_meta_resolve_launch_node/import-meta-resolve-launch-node.xtest.js b/experimental/import_meta_resolve/import_meta_resolve_launch_node/import-meta-resolve-launch-node.xtest.js index e92b6716fb..fac6c71042 100644 --- a/experimental/import_meta_resolve/import_meta_resolve_launch_node/import-meta-resolve-launch-node.xtest.js +++ b/experimental/import_meta_resolve/import_meta_resolve_launch_node/import-meta-resolve-launch-node.xtest.js @@ -2,7 +2,7 @@ import { assert } from "@jsenv/assert" import { resolveDirectoryUrl, urlToRelativeUrl } from "@jsenv/filesystem" import { execute, nodeRuntime } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" import { EXECUTE_TEST_PARAMS, LAUNCH_TEST_PARAMS, diff --git a/script/run-node/run-node.js b/experimental/run-node/run-node.js similarity index 100% rename from script/run-node/run-node.js rename to experimental/run-node/run-node.js diff --git a/main.js b/main.js index 76a384ab3b..296edf27f6 100644 --- a/main.js +++ b/main.js @@ -1,13 +1,6 @@ -export { buildProject } from "./src/buildProject.js" -export { commonJsToJavaScriptModule } from "./src/commonJsToJavaScriptModule.js" -export { jsonToJavaScriptModule } from "./src/jsonToJavaScriptModule.js" -export { textToJavaScriptModule } from "./src/textToJavaScriptModule.js" -export { execute } from "./src/execute.js" -export { executeTestPlan } from "./src/executeTestPlan.js" -export { importUsingChildProcess } from "./src/importUsingChildProcess.js" -export { jsenvCoverageConfig } from "./src/jsenvCoverageConfig.js" -export { jsenvExplorableConfig } from "./src/jsenvExplorableConfig.js" -export { jsenvServiceWorkerFinalizer } from "./src/jsenvServiceWorkerFinalizer.js" +// dev +export { startDevServer } from "./src/dev_server.js" +// test export { chromiumRuntime, chromiumTabRuntime, @@ -15,7 +8,19 @@ export { firefoxTabRuntime, webkitRuntime, webkitTabRuntime, -} from "./src/launchBrowser.js" -export { nodeRuntime } from "./src/launchNode.js" -export { requireUsingChildProcess } from "./src/requireUsingChildProcess.js" -export { startDevServer } from "./src/dev_server.js" +} from "./src/browser_runtimes.js" +export { nodeRuntime } from "./src/node_runtime.js" +export { executeTestPlan } from "./src/execute_test_plan.js" +// build +export { buildProject } from "./src/build_project.js" + +// when project goes further than standard HTML/CSS/JS +export { commonJsToJsModule } from "./src/commonjs_to_js_module.js" +export { textToJsModule } from "./src/text_to_js_module.js" +export { jsonToJsModule } from "./src/json_to_js_module.js" +export { jsenvServiceWorkerFinalizer } from "./src/jsenv_service_worker_finalizer.js" + +// not documented +export { execute } from "./src/execute.js" +export { importUsingChildProcess } from "./src/import_using_child_process.js" +export { requireUsingChildProcess } from "./src/require_using_child_process.js" diff --git a/package.json b/package.json index f96ae999a1..948a99aca1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@jsenv/core", - "version": "25.6.2", + "version": "26.0.0", "description": "Tool to develop, test and build js projects", "license": "MIT", "repository": { @@ -31,14 +31,14 @@ "./packages/*" ], "scripts": { - "eslint": "node ./node_modules/eslint/bin/eslint.js . --ext=.js,.mjs,.cjs,.html", - "importmap": "node ./script/importmap/importmap.js", - "build": "node ./script/build/build.js", - "test": "node --experimental-import-meta-resolve ./script/test/test.js", + "eslint": "npx eslint . --ext=.js,.mjs,.cjs,.html", + "importmap": "node ./script/importmap/importmap.mjs", + "build": "node ./script/build/build.mjs", + "test": "node --experimental-import-meta-resolve ./script/test/test.mjs", "test-with-coverage": "npm run test -- --coverage", - "dev": "node ./script/dev/start_dev_server.js", - "start_file_server": "node ./script/dev/start_file_server.js", - "performances": "node --expose-gc ./script/performance/generate_performance_report.js --log --once", + "dev": "node ./script/dev/start_dev_server.mjs", + "start_file_server": "node ./script/dev/start_file_server.mjs", + "performances": "node --expose-gc ./script/performance/generate_performance_report.mjs --log --once", "file-size": "node ./script/file_size/file_size.mjs --log", "prettier": "prettier --write .", "playwright-install": "npx playwright install-deps && npx playwright install", diff --git a/script/build/build.js b/script/build/build.mjs similarity index 84% rename from script/build/build.js rename to script/build/build.mjs index fd966f8dfe..fc935f88df 100644 --- a/script/build/build.js +++ b/script/build/build.mjs @@ -1,7 +1,7 @@ import { writeFile } from "@jsenv/filesystem" import { buildProject } from "@jsenv/core" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" let buildManifestCode = "" let buildManifest @@ -42,19 +42,19 @@ addExport( await buildInternalFile({ format: "global", - buildDirectoryRelativeUrl: "./dist/browser_runtime/", + buildDirectoryRelativeUrl: "./dist/browser_client/", importMapFileRelativeUrl: "./node_resolution.importmap", entryPoints: { - "./src/internal/browser_runtime/browser_runtime.js": - "browser_runtime_[hash].js", + "./src/internal/browser_client/browser_client.js": + "browser_client_[hash].js", }, preservedDynamicImports: { - "./src/internal/browser_runtime/browser_runtime.js": true, + "./src/internal/browser_client/browser_client.js": true, }, }) addExport( - "BROWSER_RUNTIME_BUILD_URL", - `browser_runtime/${buildManifest["browser_runtime.js"]}`, + "BROWSER_CLIENT_BUILD_URL", + `browser_client/${buildManifest["browser_client.js"]}`, ) await buildInternalFile({ @@ -98,11 +98,11 @@ await buildInternalFile({ buildDirectoryRelativeUrl: "./dist/toolbar_injector/", importMapFileRelativeUrl: "./node_resolution.importmap", entryPoints: { - "./src/internal/dev_server/toolbar/toolbar.injector.js": + "./src/internal/dev_server/toolbar/toolbar_injector.js": "toolbar_injector_[hash].js", }, customCompilers: { - "./src/internal/dev_server/toolbar/toolbar.injector.js": ({ code }) => { + "./src/internal/dev_server/toolbar/toolbar_injector.js": ({ code }) => { const compiledSource = code.replace( "__TOOLBAR_BUILD_RELATIVE_URL_", JSON.stringify(`dist/toolbar/${buildManifest["toolbar.html"]}`), diff --git a/script/dev/start_dev_server.js b/script/dev/start_dev_server.mjs similarity index 100% rename from script/dev/start_dev_server.js rename to script/dev/start_dev_server.mjs diff --git a/script/dev/start_file_server.js b/script/dev/start_file_server.mjs similarity index 100% rename from script/dev/start_file_server.js rename to script/dev/start_file_server.mjs diff --git a/script/importmap/importmap.js b/script/importmap/importmap.mjs similarity index 100% rename from script/importmap/importmap.js rename to script/importmap/importmap.mjs diff --git a/script/performance/dev_server/measure_dev_server.js b/script/performance/dev_server/measure_dev_server.mjs similarity index 100% rename from script/performance/dev_server/measure_dev_server.js rename to script/performance/dev_server/measure_dev_server.mjs diff --git a/script/performance/dev_server/profile_dev_server.js b/script/performance/dev_server/profile_dev_server.mjs similarity index 100% rename from script/performance/dev_server/profile_dev_server.js rename to script/performance/dev_server/profile_dev_server.mjs diff --git a/script/performance/dev_server/profile_dev_server_2.js b/script/performance/dev_server/profile_dev_server_2.mjs similarity index 100% rename from script/performance/dev_server/profile_dev_server_2.js rename to script/performance/dev_server/profile_dev_server_2.mjs diff --git a/script/performance/dev_server/profile_dev_server_cluster.js b/script/performance/dev_server/profile_dev_server_cluster.mjs similarity index 100% rename from script/performance/dev_server/profile_dev_server_cluster.js rename to script/performance/dev_server/profile_dev_server_cluster.mjs diff --git a/script/performance/generate_performance_report.js b/script/performance/generate_performance_report.mjs similarity index 83% rename from script/performance/generate_performance_report.js rename to script/performance/generate_performance_report.mjs index 12f9f3dcd7..b8ac17eccd 100644 --- a/script/performance/generate_performance_report.js +++ b/script/performance/generate_performance_report.mjs @@ -23,21 +23,21 @@ const { directoryUrl: new URL("./", import.meta.url), metricsDescriptions: { packageTarballMetrics: { - file: "./measure_npm_tarball/measure_package_tarball.js#packageTarballmetrics", + file: "./measure_npm_tarball/measure_package_tarball.mjs#packageTarballmetrics", iterations: 1, }, devServerMetrics: { - file: "./dev_server/measure_dev_server.js#devServerMetrics", + file: "./dev_server/measure_dev_server.mjs#devServerMetrics", iterations: process.argv.includes("--once") ? 1 : 3, msToWaitBetweenEachIteration: 500, }, buildMetrics: { - file: "./measure_build/measure_build.js#buildMetrics", + file: "./measure_build/measure_build.mjs#buildMetrics", iterations: process.argv.includes("--once") ? 1 : 7, msToWaitBetweenEachIteration: 500, }, testPlanMetrics: { - file: "./measure_test_plan/measure_test_plan.js#testPlanMetrics", + file: "./measure_test_plan/measure_test_plan.mjs#testPlanMetrics", iterations: process.argv.includes("--once") ? 1 : 3, msToWaitBetweenEachIteration: 500, }, diff --git a/script/performance/measure_build/measure_build.js b/script/performance/measure_build/measure_build.mjs similarity index 100% rename from script/performance/measure_build/measure_build.js rename to script/performance/measure_build/measure_build.mjs diff --git a/script/performance/measure_npm_tarball/measure_package_tarball.js b/script/performance/measure_npm_tarball/measure_package_tarball.mjs similarity index 100% rename from script/performance/measure_npm_tarball/measure_package_tarball.js rename to script/performance/measure_npm_tarball/measure_package_tarball.mjs diff --git a/script/performance/measure_test_plan/measure_test_plan.js b/script/performance/measure_test_plan/measure_test_plan.mjs similarity index 100% rename from script/performance/measure_test_plan/measure_test_plan.js rename to script/performance/measure_test_plan/measure_test_plan.mjs diff --git a/script/test/test.js b/script/test/test.mjs similarity index 100% rename from script/test/test.js rename to script/test/test.mjs diff --git a/src/launchBrowser.js b/src/browser_runtimes.js similarity index 80% rename from src/launchBrowser.js rename to src/browser_runtimes.js index ba96b4dd8a..ab73ff1a29 100644 --- a/src/launchBrowser.js +++ b/src/browser_runtimes.js @@ -1,26 +1,21 @@ import { createRuntimeFromPlaywright } from "@jsenv/core/src/internal/browser_launcher/from_playwright.js" -import { - PLAYWRIGHT_CHROMIUM_VERSION, - PLAYWRIGHT_FIREFOX_VERSION, - PLAYWRIGHT_WEBKIT_VERSION, -} from "./playwright_browser_versions.js" export const chromiumRuntime = createRuntimeFromPlaywright({ browserName: "chromium", - browserVersion: PLAYWRIGHT_CHROMIUM_VERSION, + browserVersion: "97.0.4666.0", coveragePlaywrightAPIAvailable: true, }) export const chromiumTabRuntime = chromiumRuntime.tab export const firefoxRuntime = createRuntimeFromPlaywright({ browserName: "firefox", - browserVersion: PLAYWRIGHT_FIREFOX_VERSION, + browserVersion: "93.0", }) export const firefoxTabRuntime = firefoxRuntime.tab export const webkitRuntime = createRuntimeFromPlaywright({ browserName: "webkit", - browserVersion: PLAYWRIGHT_WEBKIT_VERSION, + browserVersion: "15.4", ignoreErrorHook: (error) => { // we catch error during execution but safari throw unhandled rejection // in a non-deterministic way. diff --git a/src/buildProject.js b/src/build_project.js similarity index 98% rename from src/buildProject.js rename to src/build_project.js index 7966b504cf..2c1e8b1da4 100644 --- a/src/buildProject.js +++ b/src/build_project.js @@ -5,9 +5,9 @@ import { Abort, raceProcessTeardownEvents } from "@jsenv/abort" import { assertProjectDirectoryUrl, assertProjectDirectoryExists, -} from "@jsenv/core/src/internal/argUtils.js" -import { startCompileServer } from "@jsenv/core/src/internal/compiling/startCompileServer.js" -import { buildUsingRollup } from "@jsenv/core/src/internal/building/buildUsingRollup.js" +} from "@jsenv/core/src/internal/jsenv_params_assertions.js" +import { startCompileServer } from "@jsenv/core/src/internal/compile_server/compile_server.js" +import { buildUsingRollup } from "@jsenv/core/src/internal/building/build_using_rollup.js" import { jsenvBrowserRuntimeSupport, jsenvNodeRuntimeSupport, diff --git a/src/commonJsToJavaScriptModule.js b/src/commonjs_to_js_module.js similarity index 94% rename from src/commonJsToJavaScriptModule.js rename to src/commonjs_to_js_module.js index 70023d4962..5a7a9c928f 100644 --- a/src/commonJsToJavaScriptModule.js +++ b/src/commonjs_to_js_module.js @@ -1,10 +1,10 @@ import { urlToFileSystemPath, resolveUrl } from "@jsenv/filesystem" -import { generateSourcemapUrl } from "@jsenv/core/src/internal/sourceMappingURLUtils.js" -import { transformResultToCompilationResult } from "@jsenv/core/src/internal/compiling/transformResultToCompilationResult.js" -import { rollupPluginCommonJsNamedExports } from "@jsenv/core/src/internal/compiling/rollup_plugin_commonjs_named_exports.js" +import { generateSourcemapUrl } from "@jsenv/core/src/internal/sourcemap_utils.js" +import { asCompilationResult } from "@jsenv/core/src/internal/compile_server/jsenv_directory/compilation_result.js" +import { rollupPluginCommonJsNamedExports } from "@jsenv/core/src/internal/compile_server/commonjs/rollup_plugin_commonjs_named_exports.js" -export const commonJsToJavaScriptModule = async ({ +export const commonJsToJsModule = async ({ logger, projectDirectoryUrl, jsenvRemoteDirectory, @@ -157,7 +157,7 @@ export const commonJsToJavaScriptModule = async ({ const { output } = await rollupBuild.generate(generateOptions) const { code, map } = output[0] - return transformResultToCompilationResult( + return asCompilationResult( { contentType: "application/javascript", code, diff --git a/src/dev_server.js b/src/dev_server.js index e4874f87a4..8856a9e9f8 100644 --- a/src/dev_server.js +++ b/src/dev_server.js @@ -7,20 +7,19 @@ import { import { REDIRECTOR_BUILD_URL } from "@jsenv/core/dist/build_manifest.js" import { setUrlSearchParamsDescriptor } from "@jsenv/core/src/internal/url_utils.js" -import { jsenvCoreDirectoryUrl } from "./internal/jsenvCoreDirectoryUrl.js" import { assertProjectDirectoryUrl, assertProjectDirectoryExists, -} from "./internal/argUtils.js" +} from "@jsenv/core/src/internal/jsenv_params_assertions.js" import { startCompileServer, assertAndNormalizeJsenvDirectoryRelativeUrl, -} from "./internal/compiling/startCompileServer.js" +} from "./internal/compile_server/compile_server.js" import { + jsenvCoreDirectoryUrl, sourcemapMainFileInfo, sourcemapMappingFileInfo, -} from "./internal/jsenvInternalFiles.js" -import { jsenvExplorableConfig } from "./jsenvExplorableConfig.js" +} from "./jsenv_file_urls.js" const EXPLORING_HTML_URL = new URL( "./src/internal/dev_server/exploring/exploring.html", @@ -40,7 +39,15 @@ export const startDevServer = async ({ customServices, projectDirectoryUrl, - explorableConfig = jsenvExplorableConfig, + explorableConfig = { + source: { + "./*.html": true, + "./src/**/*.html": true, + }, + test: { + "./test/**/*.html": true, + }, + }, mainFileRelativeUrl, jsenvDirectoryRelativeUrl, jsenvToolbar = true, diff --git a/src/execute.js b/src/execute.js index 5304df8fb1..f68ea33333 100644 --- a/src/execute.js +++ b/src/execute.js @@ -4,9 +4,9 @@ import { normalizeRuntimeSupport } from "@jsenv/core/src/internal/runtime_suppor import { assertProjectDirectoryUrl, assertProjectDirectoryExists, -} from "./internal/argUtils.js" -import { startCompileServer } from "./internal/compiling/startCompileServer.js" -import { launchAndExecute } from "./internal/executing/launchAndExecute.js" +} from "@jsenv/core/src/internal/jsenv_params_assertions.js" +import { startCompileServer } from "./internal/compile_server/compile_server.js" +import { launchAndExecute } from "./internal/executing/launch_and_execute.js" export const execute = async ({ signal = new AbortController().signal, diff --git a/src/executeTestPlan.js b/src/execute_test_plan.js similarity index 92% rename from src/executeTestPlan.js rename to src/execute_test_plan.js index d708142576..9984254eca 100644 --- a/src/executeTestPlan.js +++ b/src/execute_test_plan.js @@ -11,13 +11,11 @@ import { createLogger, createDetailedMessage } from "@jsenv/logger" import { assertProjectDirectoryUrl, assertProjectDirectoryExists, -} from "./internal/argUtils.js" -import { executePlan } from "./internal/executing/executePlan.js" -import { executionIsPassed } from "./internal/executing/executionIsPassed.js" -import { generateCoverageJsonFile } from "./internal/executing/coverage_reporter/coverage_reporter_json_file.js" -import { generateCoverageHtmlDirectory } from "./internal/executing/coverage_reporter/coverage_reporter_html_directory.js" -import { generateCoverageTextLog } from "./internal/executing/coverage_reporter/coverage_reporter_text_log.js" -import { jsenvCoverageConfig } from "./jsenvCoverageConfig.js" +} from "@jsenv/core/src/internal/jsenv_params_assertions.js" +import { executePlan } from "./internal/executing/execute_plan.js" +import { generateCoverageJsonFile } from "./internal/coverage/coverage_reporter_json_file.js" +import { generateCoverageHtmlDirectory } from "./internal/coverage/coverage_reporter_html_directory.js" +import { generateCoverageTextLog } from "./internal/coverage/coverage_reporter_text_log.js" /** * Execute a list of files and log how it goes @@ -72,7 +70,13 @@ export const executeTestPlan = async ({ coverage = process.argv.includes("--cover") || process.argv.includes("--coverage"), coverageTempDirectoryRelativeUrl = "./coverage/tmp/", - coverageConfig = jsenvCoverageConfig, + coverageConfig = { + "./index.js": true, + "./main.js": true, + "./src/**/*.js": true, + "./**/*.test.*": false, // contains .test. -> nope + "./**/test/": false, // inside a test folder -> nope, + }, coverageIncludeMissing = true, coverageAndExecutionAllowed = false, coverageForceIstanbul = false, @@ -206,7 +210,10 @@ export const executeTestPlan = async ({ importMapInWebWorkers, customCompilers, }) - if (updateProcessExitCode && !executionIsPassed(result)) { + if ( + updateProcessExitCode && + result.planSummary.executionCount !== result.planSummary.completedCount + ) { process.exitCode = 1 } const planCoverage = result.planCoverage diff --git a/src/importUsingChildProcess.js b/src/import_using_child_process.js similarity index 92% rename from src/importUsingChildProcess.js rename to src/import_using_child_process.js index 34e8415206..7281abfc6b 100644 --- a/src/importUsingChildProcess.js +++ b/src/import_using_child_process.js @@ -1,5 +1,5 @@ -import { launchAndExecute } from "./internal/executing/launchAndExecute.js" -import { createControllableNodeProcess } from "./internal/node_launcher/createControllableNodeProcess.js" +import { launchAndExecute } from "./internal/executing/launch_and_execute.js" +import { createControllableNodeProcess } from "./internal/node_launcher/node_controllable_process.js" export const importUsingChildProcess = async ( fileUrl, diff --git a/src/internal/browser_runtime/browser_runtime.js b/src/internal/browser_client/browser_client.js similarity index 87% rename from src/internal/browser_runtime/browser_runtime.js rename to src/internal/browser_client/browser_client.js index 22cc537865..fec1edc254 100644 --- a/src/internal/browser_runtime/browser_runtime.js +++ b/src/internal/browser_client/browser_client.js @@ -1,14 +1,12 @@ -/* eslint-env browser */ +import { fetchUrl } from "@jsenv/core/src/internal/browser_utils/fetch_browser.js" +import { fetchAndEval } from "@jsenv/core/src/internal/browser_utils/fetch_and_eval.js" +import { unevalException } from "@jsenv/core/src/internal/runtime_client/uneval_exception.js" +import { memoize } from "@jsenv/core/src/internal/memoize.js" -import { installBrowserErrorStackRemapping } from "../error-stack-remapping/installBrowserErrorStackRemapping.js" -import { fetchUrl } from "../browser_utils/fetch_browser.js" -import { fetchAndEvalUsingFetch } from "../browser_utils/fetchAndEvalUsingFetch.js" -import { unevalException } from "../unevalException.js" -import { memoize } from "../memoize.js" - -import { displayErrorInDocument } from "./displayErrorInDocument.js" -import { displayErrorNotification } from "./displayErrorNotification.js" -import { createBrowserRuntime } from "./createBrowserRuntime.js" +import { createBrowserClient } from "./browser_client_factory.js" +import { installBrowserErrorStackRemapping } from "./browser_error_stack_remap.js" +import { displayErrorInDocument } from "./error_in_document.js" +import { displayErrorNotification } from "./error_in_notification.js" const getNavigationStartTime = () => { try { @@ -177,7 +175,7 @@ const getBrowserRuntime = memoize(async () => { const parts = afterJsenvDirectory.split("/") const compileId = parts[0] - const browserRuntime = await createBrowserRuntime({ + const browserClient = await createBrowserClient({ compileServerOrigin, jsenvDirectoryRelativeUrl, compileId, @@ -186,9 +184,7 @@ const getBrowserRuntime = memoize(async () => { if (errorStackRemapping && Error.captureStackTrace) { const { sourcemapMainFileRelativeUrl, sourcemapMappingFileRelativeUrl } = compileServerMeta - await fetchAndEvalUsingFetch( - `${compileServerOrigin}/${sourcemapMainFileRelativeUrl}`, - ) + await fetchAndEval(`${compileServerOrigin}/${sourcemapMainFileRelativeUrl}`) const { SourceMapConsumer } = window.sourceMap SourceMapConsumer.initialize({ "lib/mappings.wasm": `${compileServerOrigin}/${sourcemapMappingFileRelativeUrl}`, @@ -204,12 +200,12 @@ const getBrowserRuntime = memoize(async () => { error.stack = originalStack return error } - const executeFile = browserRuntime.executeFile - browserRuntime.executeFile = (file, options = {}) => { + const executeFile = browserClient.executeFile + browserClient.executeFile = (file, options = {}) => { return executeFile(file, { errorTransform, ...options }) } } - return browserRuntime + return browserClient }) const livereloadingCallbacks = {} diff --git a/src/internal/browser_runtime/createBrowserRuntime.js b/src/internal/browser_client/browser_client_factory.js similarity index 87% rename from src/internal/browser_runtime/createBrowserRuntime.js rename to src/internal/browser_client/browser_client_factory.js index cf932eb62c..0c095a17da 100644 --- a/src/internal/browser_runtime/createBrowserRuntime.js +++ b/src/internal/browser_client/browser_client_factory.js @@ -1,19 +1,17 @@ -/* eslint-env browser */ - import { normalizeImportMap } from "@jsenv/importmap/src/normalizeImportMap.js" // do not use memoize from @jsenv/filesystem to avoid pulling @jsenv/filesystem code into the browser build -import { fetchUrl } from "../browser_utils/fetch_browser.js" -import { createImportResolverForImportmap } from "../import-resolution/import-resolver-importmap.js" -import { memoize } from "../memoize.js" -import { measureAsyncFnPerf } from "../perf_browser.js" +import { fetchUrl } from "@jsenv/core/src/internal/browser_utils/fetch_browser.js" +import { createImportResolverForImportmap } from "@jsenv/core/src/internal/import_resolution/import_resolver_importmap.js" +import { memoize } from "@jsenv/core/src/internal/memoize.js" import { createBrowserSystem } from "./browser_system.js" -import { makeNamespaceTransferable } from "./makeNamespaceTransferable.js" +import { measureAsyncFnPerf } from "./perf_browser.js" +import { makeModuleNamespaceTransferable } from "./module_namespace_transfer.js" const memoizedCreateBrowserSystem = memoize(createBrowserSystem) -export const createBrowserRuntime = async ({ +export const createBrowserClient = async ({ compileServerOrigin, jsenvDirectoryRelativeUrl, compileId, @@ -103,7 +101,7 @@ export const createBrowserRuntime = async ({ let namespace = await browserSystem.import(specifier) if (transferableNamespace) { - namespace = makeNamespaceTransferable(namespace) + namespace = makeModuleNamespaceTransferable(namespace) } return { diff --git a/src/internal/error-stack-remapping/installBrowserErrorStackRemapping.js b/src/internal/browser_client/browser_error_stack_remap.js similarity index 92% rename from src/internal/error-stack-remapping/installBrowserErrorStackRemapping.js rename to src/internal/browser_client/browser_error_stack_remap.js index 4ce2ff2fd5..0439e4932d 100644 --- a/src/internal/error-stack-remapping/installBrowserErrorStackRemapping.js +++ b/src/internal/browser_client/browser_error_stack_remap.js @@ -1,6 +1,4 @@ -/* eslint-env browser */ - -import { installErrorStackRemapping } from "./installErrorStackRemapping.js" +import { installErrorStackRemapping } from "@jsenv/core/src/internal/error_stack_remap/install_error_stack_remapping.js" export const installBrowserErrorStackRemapping = (options = {}) => installErrorStackRemapping({ diff --git a/src/internal/browser_runtime/browser_system.js b/src/internal/browser_client/browser_system.js similarity index 97% rename from src/internal/browser_runtime/browser_system.js rename to src/internal/browser_client/browser_system.js index 6bda520ebf..f23752eeee 100644 --- a/src/internal/browser_runtime/browser_system.js +++ b/src/internal/browser_client/browser_system.js @@ -1,7 +1,5 @@ -/* eslint-env browser */ - -import { getJavaScriptModuleResponseError } from "../runtime/module-registration.js" -import "../runtime/s.js" +import { getJavaScriptModuleResponseError } from "@jsenv/core/src/internal/runtime_client/module_registration.js" +import "@jsenv/core/src/internal/runtime_client/s.js" export const createBrowserSystem = ({ compileServerOrigin, diff --git a/src/internal/browser_runtime/displayErrorInDocument.js b/src/internal/browser_client/error_in_document.js similarity index 99% rename from src/internal/browser_runtime/displayErrorInDocument.js rename to src/internal/browser_client/error_in_document.js index 1930435579..c9435b9cd2 100644 --- a/src/internal/browser_runtime/displayErrorInDocument.js +++ b/src/internal/browser_client/error_in_document.js @@ -1,5 +1,3 @@ -/* eslint-env browser */ - export const displayErrorInDocument = (error) => { const title = "An error occured" let theme diff --git a/src/internal/browser_runtime/displayErrorNotification.js b/src/internal/browser_client/error_in_notification.js similarity index 95% rename from src/internal/browser_runtime/displayErrorNotification.js rename to src/internal/browser_client/error_in_notification.js index eb40c1f585..d539b14a75 100644 --- a/src/internal/browser_runtime/displayErrorNotification.js +++ b/src/internal/browser_client/error_in_notification.js @@ -1,4 +1,3 @@ -/* eslint-env browser */ const { Notification } = window const displayErrorNotificationNotAvailable = () => {} diff --git a/src/internal/browser_runtime/makeNamespaceTransferable.js b/src/internal/browser_client/module_namespace_transfer.js similarity index 97% rename from src/internal/browser_runtime/makeNamespaceTransferable.js rename to src/internal/browser_client/module_namespace_transfer.js index a5cd175f0a..a3f52e17fb 100644 --- a/src/internal/browser_runtime/makeNamespaceTransferable.js +++ b/src/internal/browser_client/module_namespace_transfer.js @@ -1,4 +1,4 @@ -export const makeNamespaceTransferable = (namespace) => { +export const makeModuleNamespaceTransferable = (namespace) => { const transferableNamespace = {} Object.keys(namespace).forEach((key) => { const value = namespace[key] diff --git a/src/internal/perf_browser.js b/src/internal/browser_client/perf_browser.js similarity index 93% rename from src/internal/perf_browser.js rename to src/internal/browser_client/perf_browser.js index 79426e25c7..8c8be56f1d 100644 --- a/src/internal/perf_browser.js +++ b/src/internal/browser_client/perf_browser.js @@ -1,5 +1,3 @@ -/* eslint-env browser */ - const { performance } = window export const measureAsyncFnPerf = performance diff --git a/src/internal/browser_detection/browser_detection.js b/src/internal/browser_detection/browser_detection.js index ff997fefee..c2b9159187 100644 --- a/src/internal/browser_detection/browser_detection.js +++ b/src/internal/browser_detection/browser_detection.js @@ -2,15 +2,15 @@ // https://github.com/lancedikson/bowser/blob/master/src/parser-browsers.js#L1 import { detectFromUserAgentData } from "./user_agent_data.js" -import { detectAndroid } from "./detectAndroid.js" -import { detectInternetExplorer } from "./detectInternetExplorer.js" -import { detectOpera } from "./detectOpera.js" -import { detectEdge } from "./detectEdge.js" -import { detectFirefox } from "./detectFirefox.js" -import { detectChrome } from "./detectChrome.js" -import { detectSafari } from "./detectSafari.js" -import { detectElectron } from "./detectElectron.js" -import { detectIOS } from "./detectIOS.js" +import { detectAndroid } from "./detect_android.js" +import { detectInternetExplorer } from "./detect_internet_explorer.js" +import { detectOpera } from "./detect_opera.js" +import { detectEdge } from "./detect_edge.js" +import { detectFirefox } from "./detect_firefox.js" +import { detectChrome } from "./detect_chrome.js" +import { detectSafari } from "./detect_safari.js" +import { detectElectron } from "./detect_electron.js" +import { detectIOS } from "./detect_ios.js" const detectorCompose = (detectors) => () => { let i = 0 @@ -40,7 +40,6 @@ const detector = detectorCompose([ export const detectBrowser = () => { const { name = "other", version = "unknown" } = detector() || {} - return { name: normalizeName(name), version: normalizeVersion(version), @@ -57,12 +56,10 @@ const normalizeVersion = (version) => { // remove extraneous . return parts.slice(0, 3).join(".") } - if (version.indexOf("_") > -1) { const parts = version.split("_") // remove extraneous _ return parts.slice(0, 3).join("_") } - return version } diff --git a/src/internal/browser_detection/detectAndroid.js b/src/internal/browser_detection/detect_android.js similarity index 100% rename from src/internal/browser_detection/detectAndroid.js rename to src/internal/browser_detection/detect_android.js diff --git a/src/internal/browser_detection/detectChrome.js b/src/internal/browser_detection/detect_chrome.js similarity index 100% rename from src/internal/browser_detection/detectChrome.js rename to src/internal/browser_detection/detect_chrome.js diff --git a/src/internal/browser_detection/detectEdge.js b/src/internal/browser_detection/detect_edge.js similarity index 100% rename from src/internal/browser_detection/detectEdge.js rename to src/internal/browser_detection/detect_edge.js diff --git a/src/internal/browser_detection/detectElectron.js b/src/internal/browser_detection/detect_electron.js similarity index 100% rename from src/internal/browser_detection/detectElectron.js rename to src/internal/browser_detection/detect_electron.js diff --git a/src/internal/browser_detection/detectFirefox.js b/src/internal/browser_detection/detect_firefox.js similarity index 100% rename from src/internal/browser_detection/detectFirefox.js rename to src/internal/browser_detection/detect_firefox.js diff --git a/src/internal/browser_detection/detectInternetExplorer.js b/src/internal/browser_detection/detect_internet_explorer.js similarity index 100% rename from src/internal/browser_detection/detectInternetExplorer.js rename to src/internal/browser_detection/detect_internet_explorer.js diff --git a/src/internal/browser_detection/detectIOS.js b/src/internal/browser_detection/detect_ios.js similarity index 100% rename from src/internal/browser_detection/detectIOS.js rename to src/internal/browser_detection/detect_ios.js diff --git a/src/internal/browser_detection/detectOpera.js b/src/internal/browser_detection/detect_opera.js similarity index 100% rename from src/internal/browser_detection/detectOpera.js rename to src/internal/browser_detection/detect_opera.js diff --git a/src/internal/browser_detection/detectSafari.js b/src/internal/browser_detection/detect_safari.js similarity index 100% rename from src/internal/browser_detection/detectSafari.js rename to src/internal/browser_detection/detect_safari.js diff --git a/src/internal/browser_detection/user_agent_data.js b/src/internal/browser_detection/user_agent_data.js index 8568c19880..d10e5afd52 100644 --- a/src/internal/browser_detection/user_agent_data.js +++ b/src/internal/browser_detection/user_agent_data.js @@ -9,7 +9,6 @@ export const detectFromUserAgentData = () => { if (!userAgentData) { return null } - const { brands } = userAgentData let i = 0 while (i < brands.length) { diff --git a/src/internal/browser_launcher/executeHtmlFile.js b/src/internal/browser_launcher/execute_html_file.js similarity index 96% rename from src/internal/browser_launcher/executeHtmlFile.js rename to src/internal/browser_launcher/execute_html_file.js index dc881c1808..c4e988c812 100644 --- a/src/internal/browser_launcher/executeHtmlFile.js +++ b/src/internal/browser_launcher/execute_html_file.js @@ -6,10 +6,11 @@ import { } from "@jsenv/filesystem" import { COMPILE_PROXY_BUILD_URL } from "@jsenv/core/dist/build_manifest.js" -import { filterV8Coverage } from "@jsenv/core/src/internal/executing/coverage_utils/v8_coverage_from_directory.js" -import { composeTwoFileByFileIstanbulCoverages } from "@jsenv/core/src/internal/executing/coverage_utils/istanbul_coverage_composition.js" -import { evalSource } from "../node_runtime/evalSource.js" -import { escapeRegexpSpecialCharacters } from "../escapeRegexpSpecialCharacters.js" +import { filterV8Coverage } from "@jsenv/core/src/internal/coverage/v8_coverage_from_directory.js" +import { composeTwoFileByFileIstanbulCoverages } from "@jsenv/core/src/internal/coverage/istanbul_coverage_composition.js" +import { evalSource } from "@jsenv/core/src/internal/node_launcher/eval_source.js" +import { escapeRegexpSpecialCharacters } from "@jsenv/core/src/internal/regexp_escape.js" + import { getBrowserRuntimeProfile } from "./browser_runtime_profile.js" export const executeHtmlFile = async ( diff --git a/src/internal/browser_launcher/from_playwright.js b/src/internal/browser_launcher/from_playwright.js index 09f4714415..645fa0c256 100644 --- a/src/internal/browser_launcher/from_playwright.js +++ b/src/internal/browser_launcher/from_playwright.js @@ -9,8 +9,8 @@ import { } from "@jsenv/abort" import { memoize } from "@jsenv/filesystem" -import { trackPageToNotify } from "./trackPageToNotify.js" -import { executeHtmlFile } from "./executeHtmlFile.js" +import { trackPageErrorsAndLogs } from "./page_errors_and_logs.js" +import { executeHtmlFile } from "./execute_html_file.js" export const createRuntimeFromPlaywright = ({ browserName, @@ -113,7 +113,7 @@ export const createRuntimeFromPlaywright = ({ throw e } }) - const stopTrackingToNotify = trackPageToNotify(page, { + const stopTrackingToNotify = trackPageErrorsAndLogs(page, { onError: (error) => { error = transformErrorHook(error) if (!ignoreErrorHook(error)) { diff --git a/src/internal/browser_launcher/trackPageToNotify.js b/src/internal/browser_launcher/page_errors_and_logs.js similarity index 96% rename from src/internal/browser_launcher/trackPageToNotify.js rename to src/internal/browser_launcher/page_errors_and_logs.js index 4c2b4f116f..433c61c0d3 100644 --- a/src/internal/browser_launcher/trackPageToNotify.js +++ b/src/internal/browser_launcher/page_errors_and_logs.js @@ -1,4 +1,4 @@ -export const trackPageToNotify = (page, { onError, onConsole }) => { +export const trackPageErrorsAndLogs = (page, { onError, onConsole }) => { // https://github.com/GoogleChrome/puppeteer/blob/v1.4.0/docs/api.md#event-error const removeErrorListener = registerEvent({ object: page, diff --git a/src/internal/browser_runtime/evalSource.js b/src/internal/browser_runtime/evalSource.js deleted file mode 100644 index 5f893a31f0..0000000000 --- a/src/internal/browser_runtime/evalSource.js +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-env browser */ - -export const evalSource = (code, href) => { - // eslint-disable-next-line no-eval - return window.eval(appendSourceURL(code, href)) -} - -const appendSourceURL = (code, sourceURL) => { - return `${code} -${"//#"} sourceURL=${sourceURL}` -} diff --git a/src/internal/browser_utils/fetchAndEvalUsingFetch.js b/src/internal/browser_utils/fetch_and_eval.js similarity index 89% rename from src/internal/browser_utils/fetchAndEvalUsingFetch.js rename to src/internal/browser_utils/fetch_and_eval.js index 0ef4f7d9af..a1b7c08ffd 100644 --- a/src/internal/browser_utils/fetchAndEvalUsingFetch.js +++ b/src/internal/browser_utils/fetch_and_eval.js @@ -1,10 +1,8 @@ -/* eslint-env browser */ - import { createDetailedMessage } from "@jsenv/logger" import { fetchUrl } from "./fetch_browser.js" -export const fetchAndEvalUsingFetch = async (url) => { +export const fetchAndEval = async (url) => { const response = await fetchUrl(url) if (response.status >= 200 && response.status <= 299) { diff --git a/src/internal/browser_utils/fetchAndEvalUsingScript.js b/src/internal/browser_utils/fetch_and_eval_using_script.js similarity index 97% rename from src/internal/browser_utils/fetchAndEvalUsingScript.js rename to src/internal/browser_utils/fetch_and_eval_using_script.js index c20d06b3b6..6bbf16156b 100644 --- a/src/internal/browser_utils/fetchAndEvalUsingScript.js +++ b/src/internal/browser_utils/fetch_and_eval_using_script.js @@ -1,5 +1,3 @@ -/* eslint-env browser */ - export const fetchAndEvalUsingScript = async (src) => { return new Promise((resolve, reject) => { const script = document.createElement("script") diff --git a/src/internal/browser_utils/fetch_browser.js b/src/internal/browser_utils/fetch_browser.js index 0ae35afc3c..7bbafde50d 100644 --- a/src/internal/browser_utils/fetch_browser.js +++ b/src/internal/browser_utils/fetch_browser.js @@ -1,4 +1,4 @@ -import { fetchUsingXHR } from "./fetchUsingXHR.js" +import { fetchUsingXHR } from "./fetch_using_xhr.js" const fetchNative = async (url, { mode = "cors", ...options } = {}) => { const response = await window.fetch(url, { diff --git a/src/internal/browser_utils/fetchJson.js b/src/internal/browser_utils/fetch_json.js similarity index 100% rename from src/internal/browser_utils/fetchJson.js rename to src/internal/browser_utils/fetch_json.js diff --git a/src/internal/browser_utils/fetchUsingXHR.js b/src/internal/browser_utils/fetch_using_xhr.js similarity index 99% rename from src/internal/browser_utils/fetchUsingXHR.js rename to src/internal/browser_utils/fetch_using_xhr.js index 568706fa81..b7fd5b93f5 100644 --- a/src/internal/browser_utils/fetchUsingXHR.js +++ b/src/internal/browser_utils/fetch_using_xhr.js @@ -1,5 +1,3 @@ -/* eslint-env browser */ - export const fetchUsingXHR = async ( url, { diff --git a/src/internal/building/build_logs.js b/src/internal/building/build_logs.js index 7e50f6d2b8..4806f99ef9 100644 --- a/src/internal/building/build_logs.js +++ b/src/internal/building/build_logs.js @@ -1,8 +1,9 @@ import { ANSI, UNICODE } from "@jsenv/log" -import { getHtmlNodeLocation } from "@jsenv/core/src/internal/compiling/compileHtml.js" -import { byteAsFileSize } from "../logs/byteAsFileSize.js" -import { msAsDuration } from "../logs/msAsDuration.js" +import { getHtmlNodeLocation } from "@jsenv/core/src/internal/compile_server/html/html_ast.js" + +import { byteAsFileSize } from "../logs/byte_as_file_size.js" +import { msAsDuration } from "../logs/ms_as_duration.js" import { stringifyUrlSite } from "./url_trace.js" export const formatBuildStartLog = ({ entryPoints }) => { diff --git a/src/internal/building/build_url_generator.js b/src/internal/building/build_url_generator.js index 94f08cd26f..39ae53cdfb 100644 --- a/src/internal/building/build_url_generator.js +++ b/src/internal/building/build_url_generator.js @@ -1,6 +1,6 @@ import { urlToBasename, urlToExtension } from "@jsenv/filesystem" -import { generateContentHash } from "./url_versioning.js" +import { generateContentHash } from "./url_versioning/url_versioning.js" export const createBuildUrlGenerator = ({ entryPointUrls, diff --git a/src/internal/building/buildUsingRollup.js b/src/internal/building/build_using_rollup.js similarity index 99% rename from src/internal/building/buildUsingRollup.js rename to src/internal/building/build_using_rollup.js index 21a6140fcd..2f5989b9da 100644 --- a/src/internal/building/buildUsingRollup.js +++ b/src/internal/building/build_using_rollup.js @@ -352,7 +352,7 @@ const getConvertSuggestion = async ({ return { suggestion: `The file seems written in commonjs, you should use "customCompiler" to convert it to js module { - "./${importedFileOriginalRelativeUrl}": commonJsToJavaScriptModule + "./${importedFileOriginalRelativeUrl}": commonJsToJsModule } As documented in https://github.com/jsenv/jsenv-core/blob/master/docs/shared-parameters.md#customcompilers`, } diff --git a/src/internal/building/css/applyPostCss.js b/src/internal/building/css/apply_post_css.js similarity index 100% rename from src/internal/building/css/applyPostCss.js rename to src/internal/building/css/apply_post_css.js diff --git a/src/internal/building/css/parseCssRessource.js b/src/internal/building/css/jsenv_parse_css.js similarity index 97% rename from src/internal/building/css/parseCssRessource.js rename to src/internal/building/css/jsenv_parse_css.js index 5b2fcd1dbd..36a2b7d648 100644 --- a/src/internal/building/css/parseCssRessource.js +++ b/src/internal/building/css/jsenv_parse_css.js @@ -9,11 +9,12 @@ import { generateSourcemapUrl, getCssSourceMappingUrl, setCssSourceMappingUrl, -} from "@jsenv/core/src/internal/sourceMappingURLUtils.js" +} from "@jsenv/core/src/internal/sourcemap_utils.js" + import { getRessourceAsBase64Url } from "../ressource_builder_util.js" -import { parseCssUrls } from "./parseCssUrls.js" -import { replaceCssUrls } from "./replaceCssUrls.js" -import { moveCssUrls } from "./moveCssUrls.js" +import { parseCssUrls } from "./parse_css_urls.js" +import { replaceCssUrls } from "./replace_css_urls.js" +import { moveCssUrls } from "./move_css_urls.js" export const parseCssRessource = async ( cssRessource, diff --git a/src/internal/building/css/moveCssUrls.js b/src/internal/building/css/move_css_urls.js similarity index 94% rename from src/internal/building/css/moveCssUrls.js rename to src/internal/building/css/move_css_urls.js index d13f8cd9b5..f7ae583f00 100644 --- a/src/internal/building/css/moveCssUrls.js +++ b/src/internal/building/css/move_css_urls.js @@ -1,6 +1,6 @@ import { urlToRelativeUrl } from "@jsenv/filesystem" -import { applyPostCss } from "./applyPostCss.js" +import { applyPostCss } from "./apply_post_css.js" import { postCssPluginUrlVisitor } from "./postcss_plugin_url_visitor.js" export const moveCssUrls = async ({ diff --git a/src/internal/building/css/parseCssUrls.js b/src/internal/building/css/parse_css_urls.js similarity index 94% rename from src/internal/building/css/parseCssUrls.js rename to src/internal/building/css/parse_css_urls.js index 640b583102..ae2c6c5f70 100644 --- a/src/internal/building/css/parseCssUrls.js +++ b/src/internal/building/css/parse_css_urls.js @@ -1,4 +1,4 @@ -import { applyPostCss } from "./applyPostCss.js" +import { applyPostCss } from "./apply_post_css.js" import { postCssPluginUrlVisitor } from "./postcss_plugin_url_visitor.js" export const parseCssUrls = async ({ code, url = "file:///file.css" }) => { diff --git a/src/internal/building/css/postcss_plugin_url_visitor.js b/src/internal/building/css/postcss_plugin_url_visitor.js index b46c2d4fc9..ba96433165 100644 --- a/src/internal/building/css/postcss_plugin_url_visitor.js +++ b/src/internal/building/css/postcss_plugin_url_visitor.js @@ -12,6 +12,7 @@ hence sourcemap cannot point the original source location */ import { fileSystemPathToUrl, resolveUrl } from "@jsenv/filesystem" + import { require } from "@jsenv/core/src/internal/require.js" export const postCssPluginUrlVisitor = ({ urlVisitor = () => null }) => { diff --git a/src/internal/building/css/replaceCssUrls.js b/src/internal/building/css/replace_css_urls.js similarity index 97% rename from src/internal/building/css/replaceCssUrls.js rename to src/internal/building/css/replace_css_urls.js index d6117214b8..3222e64892 100644 --- a/src/internal/building/css/replaceCssUrls.js +++ b/src/internal/building/css/replace_css_urls.js @@ -4,7 +4,8 @@ import { } from "@jsenv/filesystem" import { require } from "@jsenv/core/src/internal/require.js" -import { applyPostCss } from "./applyPostCss.js" + +import { applyPostCss } from "./apply_post_css.js" import { postCssPluginUrlVisitor } from "./postcss_plugin_url_visitor.js" export const replaceCssUrls = async ({ diff --git a/src/internal/building/es_to_system.js b/src/internal/building/global_format/es_to_system.js similarity index 100% rename from src/internal/building/es_to_system.js rename to src/internal/building/global_format/es_to_system.js diff --git a/src/internal/building/parsing.utils.js b/src/internal/building/html/html_node_mutations.js similarity index 100% rename from src/internal/building/parsing.utils.js rename to src/internal/building/html/html_node_mutations.js diff --git a/src/internal/building/html/htmlScan.js b/src/internal/building/html/html_scan.js similarity index 95% rename from src/internal/building/html/htmlScan.js rename to src/internal/building/html/html_scan.js index 658679fa5d..7188c51bc3 100644 --- a/src/internal/building/html/htmlScan.js +++ b/src/internal/building/html/html_scan.js @@ -3,7 +3,7 @@ import { visitHtmlAst, getHtmlNodeAttributeByName, getHtmlNodeTextNode, -} from "@jsenv/core/src/internal/compiling/compileHtml.js" +} from "@jsenv/core/src/internal/compile_server/html/html_ast.js" export const importMapsFromHtml = (htmlSource) => { const importmaps = [] diff --git a/src/internal/building/html/parseHtmlRessource.js b/src/internal/building/html/jsenv_parse_html.js similarity index 98% rename from src/internal/building/html/parseHtmlRessource.js rename to src/internal/building/html/jsenv_parse_html.js index 51d81e1677..280415ab89 100644 --- a/src/internal/building/html/parseHtmlRessource.js +++ b/src/internal/building/html/jsenv_parse_html.js @@ -19,7 +19,6 @@ Or be sure to also reference this url somewhere in the html file like import { urlToFilename, urlToRelativeUrl, resolveUrl } from "@jsenv/filesystem" import { applyAlgoToRepresentationData } from "@jsenv/integrity" - import { parseHtmlString, parseHtmlAstRessources, @@ -35,21 +34,21 @@ import { getHtmlNodeLocation, removeHtmlNode, addHtmlNodeAttribute, -} from "@jsenv/core/src/internal/compiling/compileHtml.js" +} from "@jsenv/core/src/internal/compile_server/html/html_ast.js" import { getJavaScriptSourceMappingUrl, setJavaScriptSourceMappingUrl, getCssSourceMappingUrl, setCssSourceMappingUrl, -} from "@jsenv/core/src/internal/sourceMappingURLUtils.js" +} from "@jsenv/core/src/internal/sourcemap_utils.js" import { getRessourceAsBase64Url, isReferencedOnlyByRessourceHint, } from "../ressource_builder_util.js" -import { collectNodesMutations } from "../parsing.utils.js" +import { collectNodesMutations } from "./html_node_mutations.js" -import { collectSvgMutations } from "../svg/parseSvgRessource.js" -import { moveCssUrls } from "../css/moveCssUrls.js" +import { collectSvgMutations } from "../svg/jsenv_parse_svg.js" +import { moveCssUrls } from "../css/move_css_urls.js" export const parseHtmlRessource = async ( htmlRessource, diff --git a/src/internal/building/html/minifyHtml.js b/src/internal/building/html/minify_html.js similarity index 100% rename from src/internal/building/html/minifyHtml.js rename to src/internal/building/html/minify_html.js diff --git a/src/internal/building/css_module.js b/src/internal/building/import_assertions/css_module.js similarity index 89% rename from src/internal/building/css_module.js rename to src/internal/building/import_assertions/css_module.js index 79b457d1e2..a6ea27b26d 100644 --- a/src/internal/building/css_module.js +++ b/src/internal/building/import_assertions/css_module.js @@ -1,11 +1,11 @@ import { resolveUrl, urlToRelativeUrl } from "@jsenv/filesystem" -import { moveCssUrls } from "@jsenv/core/src/internal/building/css/moveCssUrls.js" -import { escapeTemplateStringSpecialCharacters } from "@jsenv/core/src/internal/escapeTemplateStringSpecialCharacters.js" +import { escapeTemplateStringSpecialCharacters } from "@jsenv/core/src/internal/template_string_escape.js" import { getCssSourceMappingUrl, setCssSourceMappingUrl, -} from "@jsenv/core/src/internal/sourceMappingURLUtils.js" +} from "@jsenv/core/src/internal/sourcemap_utils.js" +import { moveCssUrls } from "@jsenv/core/src/internal/building/css/move_css_urls.js" export const convertCssTextToJavascriptModule = async ({ cssUrl, diff --git a/src/internal/building/json_module.js b/src/internal/building/import_assertions/json_module.js similarity index 100% rename from src/internal/building/json_module.js rename to src/internal/building/import_assertions/json_module.js diff --git a/src/internal/building/importmap/parseImportmapRessource.js b/src/internal/building/importmap/jsenv_parse_importmap.js similarity index 100% rename from src/internal/building/importmap/parseImportmapRessource.js rename to src/internal/building/importmap/jsenv_parse_importmap.js diff --git a/src/internal/building/js/parseJsRessource.js b/src/internal/building/js/jsenv_parse_js.js similarity index 98% rename from src/internal/building/js/parseJsRessource.js rename to src/internal/building/js/jsenv_parse_js.js index a37f305ce9..4f06492023 100644 --- a/src/internal/building/js/parseJsRessource.js +++ b/src/internal/building/js/jsenv_parse_js.js @@ -4,7 +4,8 @@ import { generateSourcemapUrl, getJavaScriptSourceMappingUrl, setJavaScriptSourceMappingUrl, -} from "@jsenv/core/src/internal/sourceMappingURLUtils.js" +} from "@jsenv/core/src/internal/sourcemap_utils.js" + import { transformWorker } from "./transform_worker.js" export const parseJsRessource = async ( diff --git a/src/internal/building/js/minifyJs.js b/src/internal/building/js/minify_js.js similarity index 100% rename from src/internal/building/js/minifyJs.js rename to src/internal/building/js/minify_js.js diff --git a/src/internal/building/js/transform_worker.js b/src/internal/building/js/transform_worker.js index 0df356ad32..5f47a28b70 100644 --- a/src/internal/building/js/transform_worker.js +++ b/src/internal/building/js/transform_worker.js @@ -2,7 +2,7 @@ // var blob = new Blob(code, { type: 'text/javascript' }) // window.URL.createObjectURL(blob) -import { readFileSync } from "fs" +import { readFileSync } from "node:fs" import { urlToFileSystemPath } from "@jsenv/filesystem" import { createDetailedMessage } from "@jsenv/logger" diff --git a/src/internal/building/json/parseJsonRessource.js b/src/internal/building/json/jsenv_parse_json.js similarity index 100% rename from src/internal/building/json/parseJsonRessource.js rename to src/internal/building/json/jsenv_parse_json.js diff --git a/src/internal/building/parseRessource.js b/src/internal/building/parse_ressource.js similarity index 89% rename from src/internal/building/parseRessource.js rename to src/internal/building/parse_ressource.js index d11e87899e..60d2ee5a9a 100644 --- a/src/internal/building/parseRessource.js +++ b/src/internal/building/parse_ressource.js @@ -1,5 +1,9 @@ import { readFile, urlToRelativeUrl } from "@jsenv/filesystem" +import { + jsenvSystemJsFileInfo, + jsenvResolveImportUrlHelper, +} from "@jsenv/core/src/jsenv_file_urls.js" import { parseHtmlString, findHtmlNode, @@ -8,19 +12,15 @@ import { getHtmlNodeTextNode, manipulateHtmlAst, findFirstImportMapNode, -} from "@jsenv/core/src/internal/compiling/compileHtml.js" -import { - jsenvSystemJsFileInfo, - jsenvResolveImportUrlHelper, -} from "@jsenv/core/src/internal/jsenvInternalFiles.js" - -import { parseHtmlRessource } from "./html/parseHtmlRessource.js" -import { parseImportmapRessource } from "./importmap/parseImportmapRessource.js" -import { parseSvgRessource } from "./svg/parseSvgRessource.js" -import { parseCssRessource } from "./css/parseCssRessource.js" -import { parseJsRessource } from "./js/parseJsRessource.js" -import { parseJsonRessource } from "./json/parseJsonRessource.js" -import { parseWebmanifestRessource } from "./webmanifest/parseWebmanifestRessource.js" +} from "@jsenv/core/src/internal/compile_server/html/html_ast.js" + +import { parseHtmlRessource } from "./html/jsenv_parse_html.js" +import { parseImportmapRessource } from "./importmap/jsenv_parse_importmap.js" +import { parseSvgRessource } from "./svg/jsenv_parse_svg.js" +import { parseCssRessource } from "./css/jsenv_parse_css.js" +import { parseJsRessource } from "./js/jsenv_parse_js.js" +import { parseJsonRessource } from "./json/jsenv_parse_json.js" +import { parseWebmanifestRessource } from "./webmanifest/jsenv_parse_webmanifest.js" export const parseRessource = async ( ressource, diff --git a/src/internal/building/ressource_builder.js b/src/internal/building/ressource_builder.js index ec1f8c7200..08ad7fd3f3 100644 --- a/src/internal/building/ressource_builder.js +++ b/src/internal/building/ressource_builder.js @@ -1,10 +1,11 @@ import { resolveUrl, urlToRelativeUrl } from "@jsenv/filesystem" import { createLogger, loggerToLevels } from "@jsenv/logger" -import { setJavaScriptSourceMappingUrl } from "@jsenv/core/src/internal/sourceMappingURLUtils.js" +import { setJavaScriptSourceMappingUrl } from "@jsenv/core/src/internal/sourcemap_utils.js" +import { DataUrl } from "@jsenv/core/src/internal/data_url.js" import { racePromises } from "../promise_race.js" -import { parseDataUrl } from "../dataUrl.utils.js" + import { getRessourceAsBase64Url, memoize, @@ -276,7 +277,7 @@ export const createRessourceBuilder = ( if (ressourceUrl.startsWith("data:")) { isExternal = false isInline = true - const { mediaType, base64Flag, data } = parseDataUrl(ressourceUrl) + const { mediaType, base64Flag, data } = DataUrl.parse(ressourceUrl) contentTypeExpected = mediaType contentType = mediaType bufferBeforeBuild = base64Flag diff --git a/src/internal/building/ressource_builder_util.js b/src/internal/building/ressource_builder_util.js index 96ec684e2a..5c670664db 100644 --- a/src/internal/building/ressource_builder_util.js +++ b/src/internal/building/ressource_builder_util.js @@ -1,10 +1,10 @@ import { isFileSystemPath, fileSystemPathToUrl } from "@jsenv/filesystem" import { createDetailedMessage } from "@jsenv/logger" -import { stringifyDataUrl } from "@jsenv/core/src/internal/dataUrl.utils.js" +import { DataUrl } from "@jsenv/core/src/internal/data_url.js" export const getRessourceAsBase64Url = ({ bufferAfterBuild, contentType }) => { - return stringifyDataUrl({ + return DataUrl.stringify({ data: bufferAfterBuild, base64Flag: true, mediaType: contentType, diff --git a/src/internal/building/rollup_plugin_jsenv.js b/src/internal/building/rollup_plugin_jsenv.js index 57c3df852a..b824bf8771 100644 --- a/src/internal/building/rollup_plugin_jsenv.js +++ b/src/internal/building/rollup_plugin_jsenv.js @@ -19,23 +19,24 @@ import { } from "@jsenv/filesystem" import { UNICODE } from "@jsenv/log" +import { jsenvHelpersDirectoryInfo } from "@jsenv/core/src/jsenv_file_urls.js" import { require } from "@jsenv/core/src/internal/require.js" -import { convertJsonTextToJavascriptModule } from "@jsenv/core/src/internal/building/json_module.js" -import { convertCssTextToJavascriptModule } from "@jsenv/core/src/internal/building/css_module.js" -import { transformJs } from "@jsenv/core/src/internal/compiling/js-compilation-service/transformJs.js" +import { transformJs } from "@jsenv/core/src/internal/compile_server/js/js_transformer.js" import { createUrlConverter } from "@jsenv/core/src/internal/url_conversion.js" -import { createUrlFetcher } from "@jsenv/core/src/internal/building/url_fetcher.js" -import { createUrlLoader } from "@jsenv/core/src/internal/building/url_loader.js" -import { stringifyUrlTrace } from "@jsenv/core/src/internal/building/url_trace.js" -import { sortObjectByPathnames } from "@jsenv/core/src/internal/building/sortObjectByPathnames.js" -import { jsenvHelpersDirectoryInfo } from "@jsenv/core/src/internal/jsenvInternalFiles.js" -import { createImportResolverForNode } from "@jsenv/core/src/internal/import-resolution/import-resolver-node.js" -import { createImportResolverForImportmap } from "@jsenv/core/src/internal/import-resolution/import-resolver-importmap.js" -import { getDefaultImportmap } from "@jsenv/core/src/internal/import-resolution/importmap_default.js" +import { createImportResolverForNode } from "@jsenv/core/src/internal/import_resolution/import_resolver_node.js" +import { createImportResolverForImportmap } from "@jsenv/core/src/internal/import_resolution/import_resolver_importmap.js" +import { getDefaultImportmap } from "@jsenv/core/src/internal/import_resolution/importmap_default.js" import { createJsenvRemoteDirectory } from "@jsenv/core/src/internal/jsenv_remote_directory.js" import { setUrlSearchParamsDescriptor } from "@jsenv/core/src/internal/url_utils.js" -import { shakeBabelPluginMap } from "@jsenv/core/src/internal/compiling/jsenv_directory/compile_profile.js" - +import { shakeBabelPluginMap } from "@jsenv/core/src/internal/compile_server/jsenv_directory/compile_profile.js" + +import { convertJsonTextToJavascriptModule } from "./import_assertions/json_module.js" +import { convertCssTextToJavascriptModule } from "./import_assertions/css_module.js" +import { importMapsFromHtml } from "./html/html_scan.js" +import { esToSystem } from "./global_format/es_to_system.js" +import { createUrlFetcher } from "./url_fetcher.js" +import { createUrlLoader } from "./url_loader.js" +import { stringifyUrlTrace } from "./url_trace.js" import { formatBuildStartLog, formatUseImportMapFromHtml, @@ -43,15 +44,14 @@ import { formatRessourceHintNeverUsedWarning, formatBuildDoneInfo, } from "./build_logs.js" -import { importMapsFromHtml } from "./html/htmlScan.js" -import { parseRessource } from "./parseRessource.js" +import { parseRessource } from "./parse_ressource.js" import { createRessourceBuilder, referenceToCodeForRollup, } from "./ressource_builder.js" import { createBuildUrlGenerator } from "./build_url_generator.js" import { visitImportReferences } from "./import_references.js" -import { esToSystem } from "./es_to_system.js" +import { sortObjectByPathnames } from "./sort_pathnames.js" import { createBuildStats } from "./build_stats.js" export const createRollupPlugins = async ({ @@ -360,7 +360,9 @@ export const createRollupPlugins = async ({ return null } const magicString = new MagicString(code) - magicString.prepend(`import "@jsenv/core/src/internal/runtime/s.js";`) + magicString.prepend( + `import "@jsenv/core/src/internal/runtime_client/s.js";`, + ) code = magicString.toString() map = magicString.generateMap({ hires: true }) return { code, map } @@ -423,11 +425,11 @@ export const createRollupPlugins = async ({ if (minify) { const methodHooks = { minifyJs: async (...args) => { - const { minifyJs } = await import("./js/minifyJs.js") + const { minifyJs } = await import("./js/minify_js.js") return minifyJs(...args) }, minifyHtml: async (...args) => { - const { minifyHtml } = await import("./html/minifyHtml.js") + const { minifyHtml } = await import("./html/minify_html.js") return minifyHtml(...args) }, } @@ -1484,7 +1486,7 @@ export const createRollupPlugins = async ({ ) { const magicString = new MagicString(code) const systemjsCode = await readFile( - new URL("../runtime/s.js", import.meta.url), + new URL("../runtime_client/s.js", import.meta.url), ) magicString.prepend(systemjsCode) code = magicString.toString() diff --git a/src/internal/building/sortObjectByPathnames.js b/src/internal/building/sort_pathnames.js similarity index 100% rename from src/internal/building/sortObjectByPathnames.js rename to src/internal/building/sort_pathnames.js diff --git a/src/internal/building/sourcemap_loader.js b/src/internal/building/sourcemap/sourcemap_loader.js similarity index 88% rename from src/internal/building/sourcemap_loader.js rename to src/internal/building/sourcemap/sourcemap_loader.js index 19155b6afe..3266cfe583 100644 --- a/src/internal/building/sourcemap_loader.js +++ b/src/internal/building/sourcemap/sourcemap_loader.js @@ -1,11 +1,8 @@ import { resolveUrl } from "@jsenv/filesystem" import { createDetailedMessage } from "@jsenv/logger" -import { - dataUrlToRawData, - parseDataUrl, -} from "@jsenv/core/src/internal/dataUrl.utils.js" -import { fetchUrl } from "@jsenv/core/src/internal/fetchUrl.js" +import { DataUrl } from "@jsenv/core/src/internal/data_url.js" +import { fetchUrl } from "@jsenv/core/src/internal/fetching.js" import { validateResponse } from "@jsenv/core/src/internal/response_validation.js" export const loadSourcemap = async ({ @@ -23,7 +20,7 @@ export const loadSourcemap = async ({ const sourcemapUrl = resolveUrl(sourcemapSpecifier, url) if (sourcemapUrl.startsWith("data:")) { - const sourcemapString = dataUrlToRawData(parseDataUrl(sourcemapUrl)) + const sourcemapString = DataUrl.parse(sourcemapUrl, { as: "string" }) return parseSourcemapString( sourcemapString, sourcemapUrl, diff --git a/src/internal/building/svg/parseSvgRessource.js b/src/internal/building/svg/jsenv_parse_svg.js similarity index 94% rename from src/internal/building/svg/parseSvgRessource.js rename to src/internal/building/svg/jsenv_parse_svg.js index 40732a4fd7..31635c17e1 100644 --- a/src/internal/building/svg/parseSvgRessource.js +++ b/src/internal/building/svg/jsenv_parse_svg.js @@ -4,10 +4,11 @@ import { getHtmlNodeAttributeByName, stringifyHtmlAst, getHtmlNodeLocation, -} from "@jsenv/core/src/internal/compiling/compileHtml.js" -import { collectNodesMutations } from "../parsing.utils.js" +} from "@jsenv/core/src/internal/compile_server/html/html_ast.js" + import { getRessourceAsBase64Url } from "../ressource_builder_util.js" -import { minifyHtml } from "../html/minifyHtml.js" +import { collectNodesMutations } from "../html/html_node_mutations.js" +import { minifyHtml } from "../html/minify_html.js" export const parseSvgRessource = async ( svgRessource, diff --git a/src/internal/building/url_fetcher.js b/src/internal/building/url_fetcher.js index a10234d49d..7dcc4c336b 100644 --- a/src/internal/building/url_fetcher.js +++ b/src/internal/building/url_fetcher.js @@ -1,7 +1,7 @@ import { createDetailedMessage } from "@jsenv/logger" import { urlToExtension, urlToRelativeUrl } from "@jsenv/filesystem" -import { fetchUrl as jsenvFetchUrl } from "@jsenv/core/src/internal/fetchUrl.js" +import { fetchUrl as jsenvFetchUrl } from "@jsenv/core/src/internal/fetching.js" import { validateResponse } from "@jsenv/core/src/internal/response_validation.js" export const createUrlFetcher = ({ diff --git a/src/internal/building/url_loader.js b/src/internal/building/url_loader.js index eb9c1e7ffe..2cf05e5ddf 100644 --- a/src/internal/building/url_loader.js +++ b/src/internal/building/url_loader.js @@ -1,7 +1,7 @@ -import { convertJsonTextToJavascriptModule } from "@jsenv/core/src/internal/building/json_module.js" -import { getJavaScriptSourceMappingUrl } from "@jsenv/core/src/internal/sourceMappingURLUtils.js" +import { getJavaScriptSourceMappingUrl } from "@jsenv/core/src/internal/sourcemap_utils.js" -import { loadSourcemap } from "./sourcemap_loader.js" +import { convertJsonTextToJavascriptModule } from "./import_assertions/json_module.js" +import { loadSourcemap } from "./sourcemap/sourcemap_loader.js" export const createUrlLoader = ({ urlCustomLoaders, diff --git a/src/internal/building/resolve_import_url_helper.js b/src/internal/building/url_versioning/resolve_import_url_helper.js similarity index 100% rename from src/internal/building/resolve_import_url_helper.js rename to src/internal/building/url_versioning/resolve_import_url_helper.js diff --git a/src/internal/building/url_versioning.js b/src/internal/building/url_versioning/url_versioning.js similarity index 97% rename from src/internal/building/url_versioning.js rename to src/internal/building/url_versioning/url_versioning.js index 8b2f188ac3..7e318cb2ca 100644 --- a/src/internal/building/url_versioning.js +++ b/src/internal/building/url_versioning/url_versioning.js @@ -1,4 +1,4 @@ -import { createHash } from "crypto" +import { createHash } from "node:crypto" // https://github.com/rollup/rollup/blob/19e50af3099c2f627451a45a84e2fa90d20246d5/src/utils/FileEmitter.ts#L47 export const generateContentHash = ( diff --git a/src/internal/building/webmanifest/parseWebmanifestRessource.js b/src/internal/building/webmanifest/jsenv_parse_webmanifest.js similarity index 100% rename from src/internal/building/webmanifest/parseWebmanifestRessource.js rename to src/internal/building/webmanifest/jsenv_parse_webmanifest.js diff --git a/src/internal/compiling/rollup_plugin_commonjs_named_exports.js b/src/internal/compile_server/commonjs/rollup_plugin_commonjs_named_exports.js similarity index 100% rename from src/internal/compiling/rollup_plugin_commonjs_named_exports.js rename to src/internal/compile_server/commonjs/rollup_plugin_commonjs_named_exports.js diff --git a/src/internal/compiling/compileFile.js b/src/internal/compile_server/compile_file.js similarity index 97% rename from src/internal/compiling/compileFile.js rename to src/internal/compile_server/compile_file.js index c175169fa7..92a2d4a834 100644 --- a/src/internal/compiling/compileFile.js +++ b/src/internal/compile_server/compile_file.js @@ -7,8 +7,8 @@ import { } from "@jsenv/filesystem" import { convertFileSystemErrorToResponseProperties } from "@jsenv/server/src/internal/convertFileSystemErrorToResponseProperties.js" -import { getOrGenerateCompiledFile } from "./jsenv_directory/getOrGenerateCompiledFile.js" -import { updateMeta } from "./jsenv_directory/updateMeta.js" +import { reuseOrCreateCompiledFile } from "./jsenv_directory/reuse_or_create_compiled_file.js" +import { updateCompileCache } from "./jsenv_directory/update_compile_cache.js" export const compileFile = async ({ logger, @@ -47,7 +47,7 @@ export const compileFile = async ({ try { const { meta, compileResult, compileResultStatus, timing } = - await getOrGenerateCompiledFile({ + await reuseOrCreateCompiledFile({ logger, projectDirectoryUrl, originalFileUrl, @@ -101,7 +101,7 @@ export const compileFile = async ({ if (compileResultStatus !== "cached" && compileCacheStrategy !== "none") { // we MUST await updateMeta otherwise we might get 404 // when serving sourcemap files - await updateMeta({ + await updateCompileCache({ logger, meta, compileResult, diff --git a/src/internal/compiling/startCompileServer.js b/src/internal/compile_server/compile_server.js similarity index 95% rename from src/internal/compiling/startCompileServer.js rename to src/internal/compile_server/compile_server.js index b23e51a900..4a0b208cb6 100644 --- a/src/internal/compiling/startCompileServer.js +++ b/src/internal/compile_server/compile_server.js @@ -17,24 +17,25 @@ import { createLogger, createDetailedMessage } from "@jsenv/logger" import { createCallbackListNotifiedOnce } from "@jsenv/abort" import { + jsenvDistDirectoryUrl, sourcemapMainFileInfo, sourcemapMappingFileInfo, -} from "@jsenv/core/src/internal/jsenvInternalFiles.js" +} from "@jsenv/core/src/jsenv_file_urls.js" import { createJsenvRemoteDirectory } from "../jsenv_remote_directory.js" -import { babelPluginReplaceExpressions } from "../babel_plugin_replace_expressions.js" -import { jsenvDistDirectoryUrl } from "../jsenvCoreDirectoryUrl.js" + import { createCompileContext } from "./jsenv_directory/compile_context.js" import { createCompileProfile } from "./jsenv_directory/compile_profile.js" import { setupJsenvDirectory } from "./jsenv_directory/jsenv_directory.js" import { urlIsCompilationAsset } from "./jsenv_directory/compile_asset.js" import { createSSEService } from "./sse_service/sse_service.js" -import { loadBabelPluginMapFromFile } from "./load_babel_plugin_map_from_file.js" -import { extractSyntaxBabelPluginMap } from "./babel_plugins.js" -import { babelPluginGlobalThisAsJsenvImport } from "./babel_plugin_global_this_as_jsenv_import.js" -import { babelPluginNewStylesheetAsJsenvImport } from "./babel_plugin_new_stylesheet_as_jsenv_import.js" -import { babelPluginImportAssertions } from "./babel_plugin_import_assertions.js" -import { createCompiledFileService } from "./createCompiledFileService.js" -import { createTransformHtmlSourceFileService } from "./html_source_file_service.js" +import { loadBabelPluginMapFromFile } from "./js/load_babel_plugin_map_from_file.js" +import { extractSyntaxBabelPluginMap } from "./js/babel_plugins.js" +import { babelPluginReplaceExpressions } from "./js/babel_plugin_replace_expressions.js" +import { babelPluginGlobalThisAsJsenvImport } from "./js/babel_plugin_global_this_as_jsenv_import.js" +import { babelPluginNewStylesheetAsJsenvImport } from "./js/babel_plugin_new_stylesheet_as_jsenv_import.js" +import { babelPluginImportAssertions } from "./js/babel_plugin_import_assertions.js" +import { createCompiledFileService } from "./compiled_file_service.js" +import { createTransformHtmlSourceFileService } from "./html/html_source_file_service.js" let compileServerId = 0 diff --git a/src/internal/compiling/createCompiledFileService.js b/src/internal/compile_server/compiled_file_service.js similarity index 96% rename from src/internal/compiling/createCompiledFileService.js rename to src/internal/compile_server/compiled_file_service.js index db580c181a..f540b18a9f 100644 --- a/src/internal/compiling/createCompiledFileService.js +++ b/src/internal/compile_server/compiled_file_service.js @@ -12,10 +12,10 @@ import { serverUrlToCompileInfo } from "@jsenv/core/src/internal/url_conversion. import { setUrlExtension } from "../url_utils.js" import { shakeBabelPluginMap } from "./jsenv_directory/compile_profile.js" -import { compileFile } from "./compileFile.js" -import { compileHtml } from "./jsenvCompilerForHtml.js" -import { compileImportmap } from "./jsenvCompilerForImportmap.js" -import { compileJavascript } from "./jsenvCompilerForJavaScript.js" +import { compileFile } from "./compile_file.js" +import { compileHtml } from "./html/jsenv_compile_html.js" +import { compileImportmap } from "./importmap/jsenv_compile_importmap.js" +import { compileJavascript } from "./js/jsenv_compile_js.js" const jsenvCompilers = { "**/*.js": compileJavascript, diff --git a/src/internal/compiling/compileHtml.js b/src/internal/compile_server/html/html_ast.js similarity index 98% rename from src/internal/compiling/compileHtml.js rename to src/internal/compile_server/html/html_ast.js index 3f907c0406..99e8eb0a45 100644 --- a/src/internal/compiling/compileHtml.js +++ b/src/internal/compile_server/html/html_ast.js @@ -1,16 +1,6 @@ -/** +import { createHash } from "node:crypto" -An important concern here: - -All script type="module" will be converted to inline script. -These inline script execution order is non predictible it depends -which one is being done first - -*/ - -import { createHash } from "crypto" - -import { require } from "../require.js" +import { require } from "@jsenv/core/src/internal/require.js" // https://github.com/inikulin/parse5/blob/master/packages/parse5/lib/tree-adapters/default.js // eslint-disable-next-line import/no-unresolved diff --git a/src/internal/compiling/html_source_file_service.js b/src/internal/compile_server/html/html_source_file_service.js similarity index 96% rename from src/internal/compiling/html_source_file_service.js rename to src/internal/compile_server/html/html_source_file_service.js index f7642ad8ee..f57ab37c9b 100644 --- a/src/internal/compiling/html_source_file_service.js +++ b/src/internal/compile_server/html/html_source_file_service.js @@ -22,13 +22,14 @@ import { composeTwoImportMaps, moveImportMap } from "@jsenv/importmap" import { createDetailedMessage } from "@jsenv/logger" import { - BROWSER_RUNTIME_BUILD_URL, + BROWSER_CLIENT_BUILD_URL, EVENT_SOURCE_CLIENT_BUILD_URL, TOOLBAR_INJECTOR_BUILD_URL, } from "@jsenv/core/dist/build_manifest.js" -import { fetchUrl } from "@jsenv/core/src/internal/fetchUrl.js" -import { stringifyDataUrl } from "@jsenv/core/src/internal/dataUrl.utils.js" -import { getDefaultImportmap } from "@jsenv/core/src/internal/import-resolution/importmap_default.js" +import { fetchUrl } from "@jsenv/core/src/internal/fetching.js" +import { DataUrl } from "@jsenv/core/src/internal/data_url.js" +import { getDefaultImportmap } from "@jsenv/core/src/internal/import_resolution/importmap_default.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" import { parseHtmlString, @@ -42,8 +43,7 @@ import { getHtmlNodeTextNode, setHtmlNodeText, getIdForInlineHtmlNode, -} from "./compileHtml.js" -import { jsenvCoreDirectoryUrl } from "../jsenvCoreDirectoryUrl.js" +} from "./html_ast.js" const jsenvDistDirectoryUrl = new URL("./dist/", jsenvCoreDirectoryUrl).href @@ -165,8 +165,8 @@ const transformHTMLSourceFile = async ({ projectDirectoryUrl, }) - const browserRuntimeBuildUrlRelativeToProject = urlToRelativeUrl( - BROWSER_RUNTIME_BUILD_URL, + const browserClientBuildUrlRelativeToProject = urlToRelativeUrl( + BROWSER_CLIENT_BUILD_URL, projectDirectoryUrl, ) @@ -185,7 +185,7 @@ const transformHTMLSourceFile = async ({ ...(jsenvScriptInjection ? [ { - src: `/${browserRuntimeBuildUrlRelativeToProject}`, + src: `/${browserClientBuildUrlRelativeToProject}`, }, ] : []), @@ -413,7 +413,7 @@ const forceInlineRessources = async ({ specifier: src, mutateHtml: async (response) => { const responseArrayBuffer = await response.arrayBuffer() - const responseAsBase64 = stringifyDataUrl({ + const responseAsBase64 = DataUrl.stringify({ data: responseArrayBuffer, base64Flag: true, mediaType: response.headers["content-type"], diff --git a/src/internal/compiling/jsenvCompilerForHtml.js b/src/internal/compile_server/html/jsenv_compile_html.js similarity index 96% rename from src/internal/compiling/jsenvCompilerForHtml.js rename to src/internal/compile_server/html/jsenv_compile_html.js index 48cd84b546..8437b57538 100644 --- a/src/internal/compiling/jsenvCompilerForHtml.js +++ b/src/internal/compile_server/html/jsenv_compile_html.js @@ -7,21 +7,22 @@ import { import { moveImportMap, composeTwoImportMaps } from "@jsenv/importmap" import { createDetailedMessage } from "@jsenv/logger" -import { jsenvDistDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvDistDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" import { - BROWSER_RUNTIME_BUILD_URL, + BROWSER_CLIENT_BUILD_URL, EVENT_SOURCE_CLIENT_BUILD_URL, TOOLBAR_INJECTOR_BUILD_URL, } from "@jsenv/core/dist/build_manifest.js" -import { fetchUrl } from "@jsenv/core/src/internal/fetchUrl.js" -import { getDefaultImportmap } from "@jsenv/core/src/internal/import-resolution/importmap_default.js" - +import { fetchUrl } from "@jsenv/core/src/internal/fetching.js" +import { getDefaultImportmap } from "@jsenv/core/src/internal/import_resolution/importmap_default.js" +import { generateCompilationAssetUrl } from "@jsenv/core/src/internal/compile_server/jsenv_directory/compile_asset.js" import { generateSourcemapUrl, setJavaScriptSourceMappingUrl, sourcemapToBase64Url, -} from "../sourceMappingURLUtils.js" -import { transformJs } from "./js-compilation-service/transformJs.js" +} from "@jsenv/core/src/internal/sourcemap_utils.js" + +import { transformJs } from "../js/js_transformer.js" import { parseHtmlString, parseHtmlAstRessources, @@ -35,8 +36,7 @@ import { setHtmlNodeText, visitHtmlAst, addHtmlNodeAttribute, -} from "./compileHtml.js" -import { generateCompilationAssetUrl } from "./jsenv_directory/compile_asset.js" +} from "./html_ast.js" export const compileHtml = async ({ // cancellationToken, @@ -61,8 +61,8 @@ export const compileHtml = async ({ code, }) => { const compileDirectoryUrl = `${projectDirectoryUrl}${jsenvDirectoryRelativeUrl}${compileId}/` - const browserRuntimeBuildUrlRelativeToProject = urlToRelativeUrl( - BROWSER_RUNTIME_BUILD_URL, + const browserClientBuildUrlRelativeToProject = urlToRelativeUrl( + BROWSER_CLIENT_BUILD_URL, projectDirectoryUrl, ) const eventSourceClientBuildRelativeUrlForProject = urlToRelativeUrl( @@ -81,7 +81,7 @@ export const compileHtml = async ({ ...(jsenvScriptInjection ? [ { - src: `/${browserRuntimeBuildUrlRelativeToProject}`, + src: `/${browserClientBuildUrlRelativeToProject}`, }, ] : []), diff --git a/src/internal/compiling/jsenvCompilerForImportmap.js b/src/internal/compile_server/importmap/jsenv_compile_importmap.js similarity index 95% rename from src/internal/compiling/jsenvCompilerForImportmap.js rename to src/internal/compile_server/importmap/jsenv_compile_importmap.js index 1db9e98131..38b43b1c7b 100644 --- a/src/internal/compiling/jsenvCompilerForImportmap.js +++ b/src/internal/compile_server/importmap/jsenv_compile_importmap.js @@ -1,6 +1,6 @@ import { composeTwoImportMaps } from "@jsenv/importmap" -import { getDefaultImportmap } from "@jsenv/core/src/internal/import-resolution/importmap_default.js" +import { getDefaultImportmap } from "@jsenv/core/src/internal/import_resolution/importmap_default.js" export const compileImportmap = async ({ code, diff --git a/src/internal/compiling/js-compilation-service/ansiToHTML.js b/src/internal/compile_server/js/ansi_to_html.js similarity index 81% rename from src/internal/compiling/js-compilation-service/ansiToHTML.js rename to src/internal/compile_server/js/ansi_to_html.js index d921685570..71ed961271 100644 --- a/src/internal/compiling/js-compilation-service/ansiToHTML.js +++ b/src/internal/compile_server/js/ansi_to_html.js @@ -1,4 +1,4 @@ -import { require } from "../../require.js" +import { require } from "@jsenv/core/src/internal/require.js" // https://github.com/rburns/ansi-to-html/blob/master/src/ansi_to_html.js // https://github.com/drudru/ansi_up/blob/master/ansi_up.js diff --git a/src/internal/compiling/js-compilation-service/babelHelper.js b/src/internal/compile_server/js/babelHelper.js similarity index 98% rename from src/internal/compiling/js-compilation-service/babelHelper.js rename to src/internal/compile_server/js/babelHelper.js index 728fdfda5c..31c118d92f 100644 --- a/src/internal/compiling/js-compilation-service/babelHelper.js +++ b/src/internal/compile_server/js/babelHelper.js @@ -1,7 +1,7 @@ // https://github.com/babel/babel/blob/99f4f6c3b03c7f3f67cf1b9f1a21b80cfd5b0224/packages/babel-core/src/tools/build-external-helpers.js // the list of possible helpers: // https://github.com/babel/babel/blob/99f4f6c3b03c7f3f67cf1b9f1a21b80cfd5b0224/packages/babel-helpers/src/helpers.js#L13 -import { require } from "../../require.js" +import { require } from "@jsenv/core/src/internal/require.js" const babelHelperNameInsideJsenvCoreArray = [ "applyDecoratedDescriptor", diff --git a/src/internal/compiling/babel_parse_error.js b/src/internal/compile_server/js/babel_parse_error.js similarity index 100% rename from src/internal/compiling/babel_parse_error.js rename to src/internal/compile_server/js/babel_parse_error.js diff --git a/src/internal/compiling/js-compilation-service/babel_plugin_babel_helpers_as_jsenv_imports.js b/src/internal/compile_server/js/babel_plugin_babel_helpers_as_jsenv_imports.js similarity index 96% rename from src/internal/compiling/js-compilation-service/babel_plugin_babel_helpers_as_jsenv_imports.js rename to src/internal/compile_server/js/babel_plugin_babel_helpers_as_jsenv_imports.js index dce85a94f6..d4b6a82515 100644 --- a/src/internal/compiling/js-compilation-service/babel_plugin_babel_helpers_as_jsenv_imports.js +++ b/src/internal/compile_server/js/babel_plugin_babel_helpers_as_jsenv_imports.js @@ -1,6 +1,7 @@ import { fileSystemPathToUrl } from "@jsenv/filesystem" -import { require } from "../../require.js" +import { require } from "@jsenv/core/src/internal/require.js" + import { babelHelperNameFromUrl, babelHelperNameToImportSpecifier, diff --git a/src/internal/compiling/babel_plugin_global_this_as_jsenv_import.js b/src/internal/compile_server/js/babel_plugin_global_this_as_jsenv_import.js similarity index 93% rename from src/internal/compiling/babel_plugin_global_this_as_jsenv_import.js rename to src/internal/compile_server/js/babel_plugin_global_this_as_jsenv_import.js index 94a3115c28..0cd89700ea 100644 --- a/src/internal/compiling/babel_plugin_global_this_as_jsenv_import.js +++ b/src/internal/compile_server/js/babel_plugin_global_this_as_jsenv_import.js @@ -1,4 +1,4 @@ -import { require } from "../require.js" +import { require } from "@jsenv/core/src/internal/require.js" export const babelPluginGlobalThisAsJsenvImport = (api, options) => { const { addSideEffect } = require("@babel/helper-module-imports") diff --git a/src/internal/compiling/babel_plugin_import_assertions.js b/src/internal/compile_server/js/babel_plugin_import_assertions.js similarity index 99% rename from src/internal/compiling/babel_plugin_import_assertions.js rename to src/internal/compile_server/js/babel_plugin_import_assertions.js index 6243c807d1..1af03473f2 100644 --- a/src/internal/compiling/babel_plugin_import_assertions.js +++ b/src/internal/compile_server/js/babel_plugin_import_assertions.js @@ -1,6 +1,7 @@ import { urlToRelativeUrl } from "@jsenv/filesystem" import { setUrlSearchParamsDescriptor } from "@jsenv/core/src/internal/url_utils.js" + import { babelPluginImportVisitor } from "./babel_plugin_import_visitor.js" export const babelPluginImportAssertions = ( diff --git a/src/internal/compiling/babel_plugin_import_metadata.js b/src/internal/compile_server/js/babel_plugin_import_metadata.js similarity index 100% rename from src/internal/compiling/babel_plugin_import_metadata.js rename to src/internal/compile_server/js/babel_plugin_import_metadata.js diff --git a/src/internal/compiling/babel_plugin_import_visitor.js b/src/internal/compile_server/js/babel_plugin_import_visitor.js similarity index 100% rename from src/internal/compiling/babel_plugin_import_visitor.js rename to src/internal/compile_server/js/babel_plugin_import_visitor.js diff --git a/src/internal/compiling/babel_plugin_new_stylesheet_as_jsenv_import.js b/src/internal/compile_server/js/babel_plugin_new_stylesheet_as_jsenv_import.js similarity index 97% rename from src/internal/compiling/babel_plugin_new_stylesheet_as_jsenv_import.js rename to src/internal/compile_server/js/babel_plugin_new_stylesheet_as_jsenv_import.js index e5766723d7..2647607d93 100644 --- a/src/internal/compiling/babel_plugin_new_stylesheet_as_jsenv_import.js +++ b/src/internal/compile_server/js/babel_plugin_new_stylesheet_as_jsenv_import.js @@ -4,7 +4,7 @@ * - code should also inject helper when code uses "document.adoptedStylesheets" */ -import { require } from "../require.js" +import { require } from "@jsenv/core/src/internal/require.js" export const babelPluginNewStylesheetAsJsenvImport = ( api, diff --git a/src/internal/compiling/babel_plugin_proxy_external_imports.js b/src/internal/compile_server/js/babel_plugin_proxy_external_imports.js similarity index 100% rename from src/internal/compiling/babel_plugin_proxy_external_imports.js rename to src/internal/compile_server/js/babel_plugin_proxy_external_imports.js diff --git a/src/internal/compiling/js-compilation-service/babel_plugin_regenerator_runtime_as_jsenv_import.js b/src/internal/compile_server/js/babel_plugin_regenerator_runtime_as_jsenv_import.js similarity index 92% rename from src/internal/compiling/js-compilation-service/babel_plugin_regenerator_runtime_as_jsenv_import.js rename to src/internal/compile_server/js/babel_plugin_regenerator_runtime_as_jsenv_import.js index 108e58c420..15ba8a0763 100644 --- a/src/internal/compiling/js-compilation-service/babel_plugin_regenerator_runtime_as_jsenv_import.js +++ b/src/internal/compile_server/js/babel_plugin_regenerator_runtime_as_jsenv_import.js @@ -5,7 +5,7 @@ import { } from "@jsenv/filesystem" import { require } from "@jsenv/core/src/internal/require.js" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" const regeneratorRuntimeHelperDirectoryUrl = resolveUrl( "./helpers/regenerator-runtime/", diff --git a/src/internal/babel_plugin_replace_expressions.js b/src/internal/compile_server/js/babel_plugin_replace_expressions.js similarity index 100% rename from src/internal/babel_plugin_replace_expressions.js rename to src/internal/compile_server/js/babel_plugin_replace_expressions.js diff --git a/src/internal/compiling/js-compilation-service/babel_plugin_systemjs_prepend.js b/src/internal/compile_server/js/babel_plugin_systemjs_prepend.js similarity index 78% rename from src/internal/compiling/js-compilation-service/babel_plugin_systemjs_prepend.js rename to src/internal/compile_server/js/babel_plugin_systemjs_prepend.js index f1945a0fe4..aee1dafeb8 100644 --- a/src/internal/compiling/js-compilation-service/babel_plugin_systemjs_prepend.js +++ b/src/internal/compile_server/js/babel_plugin_systemjs_prepend.js @@ -1,11 +1,11 @@ import { readFileSync } from "node:fs" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" export const babelPluginSystemJsPrepend = (api) => { api.assertVersion(7) const systemJsUrl = new URL( - "src/internal/runtime/s.js", + "src/internal/runtime_client/s.js", jsenvCoreDirectoryUrl, ) return { diff --git a/src/internal/compiling/babel_plugin_transform_import_meta.js b/src/internal/compile_server/js/babel_plugin_transform_import_meta.js similarity index 100% rename from src/internal/compiling/babel_plugin_transform_import_meta.js rename to src/internal/compile_server/js/babel_plugin_transform_import_meta.js diff --git a/src/internal/compiling/babel_plugins.js b/src/internal/compile_server/js/babel_plugins.js similarity index 100% rename from src/internal/compiling/babel_plugins.js rename to src/internal/compile_server/js/babel_plugins.js diff --git a/src/internal/compiling/js-compilation-service/generateBabelHelper.js b/src/internal/compile_server/js/generateBabelHelper.js similarity index 94% rename from src/internal/compiling/js-compilation-service/generateBabelHelper.js rename to src/internal/compile_server/js/generateBabelHelper.js index 4c0babeb2c..4f4cc8431b 100644 --- a/src/internal/compiling/js-compilation-service/generateBabelHelper.js +++ b/src/internal/compile_server/js/generateBabelHelper.js @@ -1,4 +1,4 @@ -import { require } from "../../require.js" +import { require } from "@jsenv/core/src/internal/require.js" export const generateBabelHelper = (name) => { const { buildExternalHelpers } = require("@babel/core") diff --git a/src/internal/compiling/js-compilation-service/transformJs.js b/src/internal/compile_server/js/js_transformer.js similarity index 91% rename from src/internal/compiling/js-compilation-service/transformJs.js rename to src/internal/compile_server/js/js_transformer.js index 1b8c89e11d..8f0e0f8475 100644 --- a/src/internal/compiling/js-compilation-service/transformJs.js +++ b/src/internal/compile_server/js/js_transformer.js @@ -1,20 +1,19 @@ import { urlToRelativeUrl, urlToFileSystemPath } from "@jsenv/filesystem" import { require } from "@jsenv/core/src/internal/require.js" -import { createParseError } from "@jsenv/core/src/internal/compiling/babel_parse_error.js" -import { babelPluginTransformImportMeta } from "@jsenv/core/src/internal/compiling/babel_plugin_transform_import_meta.js" +import { ansiToHTML } from "./ansi_to_html.js" +import { createParseError } from "./babel_parse_error.js" import { getMinimalBabelPluginMap, babelPluginsFromBabelPluginMap, -} from "@jsenv/core/src/internal/compiling/babel_plugins.js" -import { babelPluginProxyExternalImports } from "@jsenv/core/src/internal/compiling/babel_plugin_proxy_external_imports.js" -import { babelPluginImportMetadata } from "@jsenv/core/src/internal/compiling/babel_plugin_import_metadata.js" - -import { ansiToHTML } from "./ansiToHTML.js" -import { babelPluginRegeneratorRuntimeAsJsenvImport } from "./babel_plugin_regenerator_runtime_as_jsenv_import.js" +} from "./babel_plugins.js" +import { babelHelperNameFromUrl } from "./babelHelper.js" import { babelPluginBabelHelpersAsJsenvImports } from "./babel_plugin_babel_helpers_as_jsenv_imports.js" +import { babelPluginRegeneratorRuntimeAsJsenvImport } from "./babel_plugin_regenerator_runtime_as_jsenv_import.js" +import { babelPluginTransformImportMeta } from "./babel_plugin_transform_import_meta.js" +import { babelPluginImportMetadata } from "./babel_plugin_import_metadata.js" +import { babelPluginProxyExternalImports } from "./babel_plugin_proxy_external_imports.js" import { babelPluginSystemJsPrepend } from "./babel_plugin_systemjs_prepend.js" -import { babelHelperNameFromUrl } from "./babelHelper.js" export const transformJs = async ({ projectDirectoryUrl, diff --git a/src/internal/compiling/jsenvCompilerForJavaScript.js b/src/internal/compile_server/js/jsenv_compile_js.js similarity index 85% rename from src/internal/compiling/jsenvCompilerForJavaScript.js rename to src/internal/compile_server/js/jsenv_compile_js.js index 9d187e67b4..393725a69c 100644 --- a/src/internal/compiling/jsenvCompilerForJavaScript.js +++ b/src/internal/compile_server/js/jsenv_compile_js.js @@ -1,7 +1,8 @@ -import { generateSourcemapUrl } from "@jsenv/core/src/internal/sourceMappingURLUtils.js" +import { generateSourcemapUrl } from "@jsenv/core/src/internal/sourcemap_utils.js" -import { transformJs } from "./js-compilation-service/transformJs.js" -import { transformResultToCompilationResult } from "./transformResultToCompilationResult.js" +import { asCompilationResult } from "@jsenv/core/src/internal/compile_server/jsenv_directory/compilation_result.js" + +import { transformJs } from "./js_transformer.js" export const compileJavascript = async ({ projectDirectoryUrl, @@ -38,7 +39,7 @@ export const compileJavascript = async ({ code, map, }) - return transformResultToCompilationResult( + return asCompilationResult( { contentType: "application/javascript", metadata: transformResult.metadata, diff --git a/src/internal/compiling/load_babel_plugin_map_from_file.js b/src/internal/compile_server/js/load_babel_plugin_map_from_file.js similarity index 100% rename from src/internal/compiling/load_babel_plugin_map_from_file.js rename to src/internal/compile_server/js/load_babel_plugin_map_from_file.js diff --git a/src/internal/compiling/jsenv_directory/comparison_utils.js b/src/internal/compile_server/jsenv_directory/comparison_utils.js similarity index 100% rename from src/internal/compiling/jsenv_directory/comparison_utils.js rename to src/internal/compile_server/jsenv_directory/comparison_utils.js diff --git a/src/internal/compiling/transformResultToCompilationResult.js b/src/internal/compile_server/jsenv_directory/compilation_result.js similarity index 96% rename from src/internal/compiling/transformResultToCompilationResult.js rename to src/internal/compile_server/jsenv_directory/compilation_result.js index bfa2bc7823..7ea121cc37 100644 --- a/src/internal/compiling/transformResultToCompilationResult.js +++ b/src/internal/compile_server/jsenv_directory/compilation_result.js @@ -10,18 +10,19 @@ import { replaceBackSlashesWithSlashes, startsWithWindowsDriveLetter, windowsFilePathToUrl, -} from "../filePathUtils.js" +} from "@jsenv/core/src/internal/windows_file_path_utils.js" import { setJavaScriptSourceMappingUrl, setCssSourceMappingUrl, sourcemapToBase64Url, -} from "../sourceMappingURLUtils.js" -import { generateCompilationAssetUrl } from "./jsenv_directory/compile_asset.js" -import { testFilePresence } from "./jsenv_directory/fs-optimized-for-cache.js" +} from "@jsenv/core/src/internal/sourcemap_utils.js" + +import { generateCompilationAssetUrl } from "./compile_asset.js" +import { testFilePresence } from "./fs_optimized_for_cache.js" const isWindows = process.platform === "win32" -export const transformResultToCompilationResult = async ( +export const asCompilationResult = async ( { contentType, metadata = {}, code, map }, { projectDirectoryUrl, diff --git a/src/internal/building/buildToCompilationResult.js b/src/internal/compile_server/jsenv_directory/compilation_result_from_build.js similarity index 96% rename from src/internal/building/buildToCompilationResult.js rename to src/internal/compile_server/jsenv_directory/compilation_result_from_build.js index a4a5a12a38..35152c6bb9 100644 --- a/src/internal/building/buildToCompilationResult.js +++ b/src/internal/compile_server/jsenv_directory/compilation_result_from_build.js @@ -7,15 +7,16 @@ json file etag is used to invalidate the cache */ -import { readFileSync } from "fs" +import { readFileSync } from "node:fs" import { urlToRelativeUrl, urlToFileSystemPath, resolveUrl, } from "@jsenv/filesystem" -import { setJavaScriptSourceMappingUrl } from "../sourceMappingURLUtils.js" -export const buildToCompilationResult = ( +import { setJavaScriptSourceMappingUrl } from "@jsenv/core/src/internal/sourcemap_utils.js" + +export const compilationResultFromBuild = ( { rollupBuild, urlResponseBodyMap }, { mainFileName, projectDirectoryUrl, compiledFileUrl, sourcemapFileUrl }, ) => { diff --git a/src/internal/compiling/jsenv_directory/compile_asset.js b/src/internal/compile_server/jsenv_directory/compile_asset.js similarity index 100% rename from src/internal/compiling/jsenv_directory/compile_asset.js rename to src/internal/compile_server/jsenv_directory/compile_asset.js diff --git a/src/internal/compiling/jsenv_directory/compile_context.js b/src/internal/compile_server/jsenv_directory/compile_context.js similarity index 91% rename from src/internal/compiling/jsenv_directory/compile_context.js rename to src/internal/compile_server/jsenv_directory/compile_context.js index 367dd1ba46..3955c2c720 100644 --- a/src/internal/compiling/jsenv_directory/compile_context.js +++ b/src/internal/compile_server/jsenv_directory/compile_context.js @@ -3,9 +3,9 @@ import { resolveUrl, readFile } from "@jsenv/filesystem" import { TOOLBAR_INJECTOR_BUILD_URL, EVENT_SOURCE_CLIENT_BUILD_URL, - BROWSER_RUNTIME_BUILD_URL, + BROWSER_CLIENT_BUILD_URL, } from "@jsenv/core/dist/build_manifest.js" -import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js" +import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/jsenv_file_urls.js" import { sameValueInTwoObjects } from "./comparison_utils.js" @@ -43,7 +43,7 @@ export const createCompileContext = async ({ jsenvCorePackageVersion: await readJsenvCoreVersionFromPackageFile(), TOOLBAR_INJECTOR_BUILD_URL, EVENT_SOURCE_CLIENT_BUILD_URL, - BROWSER_RUNTIME_BUILD_URL, + BROWSER_CLIENT_BUILD_URL, } } diff --git a/src/internal/compiling/jsenv_directory/compile_profile.js b/src/internal/compile_server/jsenv_directory/compile_profile.js similarity index 100% rename from src/internal/compiling/jsenv_directory/compile_profile.js rename to src/internal/compile_server/jsenv_directory/compile_profile.js diff --git a/src/internal/compiling/jsenv_directory/file_lock_registry.js b/src/internal/compile_server/jsenv_directory/file_lock_registry.js similarity index 100% rename from src/internal/compiling/jsenv_directory/file_lock_registry.js rename to src/internal/compile_server/jsenv_directory/file_lock_registry.js diff --git a/src/internal/compiling/jsenv_directory/file_lock_registry.test.js b/src/internal/compile_server/jsenv_directory/file_lock_registry.test.js similarity index 100% rename from src/internal/compiling/jsenv_directory/file_lock_registry.test.js rename to src/internal/compile_server/jsenv_directory/file_lock_registry.test.js diff --git a/src/internal/compiling/jsenv_directory/fs-optimized-for-cache.js b/src/internal/compile_server/jsenv_directory/fs_optimized_for_cache.js similarity index 100% rename from src/internal/compiling/jsenv_directory/fs-optimized-for-cache.js rename to src/internal/compile_server/jsenv_directory/fs_optimized_for_cache.js diff --git a/src/internal/compiling/jsenv_directory/jsenv_directory.js b/src/internal/compile_server/jsenv_directory/jsenv_directory.js similarity index 100% rename from src/internal/compiling/jsenv_directory/jsenv_directory.js rename to src/internal/compile_server/jsenv_directory/jsenv_directory.js diff --git a/src/internal/compiling/jsenv_directory/getOrGenerateCompiledFile.js b/src/internal/compile_server/jsenv_directory/reuse_or_create_compiled_file.js similarity index 97% rename from src/internal/compiling/jsenv_directory/getOrGenerateCompiledFile.js rename to src/internal/compile_server/jsenv_directory/reuse_or_create_compiled_file.js index be317d4052..3b81689d34 100644 --- a/src/internal/compiling/jsenv_directory/getOrGenerateCompiledFile.js +++ b/src/internal/compile_server/jsenv_directory/reuse_or_create_compiled_file.js @@ -2,13 +2,13 @@ import { timeStart, timeFunction } from "@jsenv/server" import { urlToFileSystemPath, readFile } from "@jsenv/filesystem" import { createDetailedMessage } from "@jsenv/logger" -import { validateCache } from "./validateCache.js" +import { validateCompileCache } from "./validate_compile_cache.js" import { getMetaJsonFileUrl } from "./compile_asset.js" import { createLockRegistry } from "./file_lock_registry.js" const { lockForRessource } = createLockRegistry() -export const getOrGenerateCompiledFile = async ({ +export const reuseOrCreateCompiledFile = async ({ logger, projectDirectoryUrl, @@ -119,7 +119,7 @@ const computeCompileReport = async ({ // }, // } // } - return validateCache({ + return validateCompileCache({ logger, compiledFileUrl, compileCacheStrategy, diff --git a/src/internal/compiling/jsenv_directory/updateMeta.js b/src/internal/compile_server/jsenv_directory/update_compile_cache.js similarity index 97% rename from src/internal/compiling/jsenv_directory/updateMeta.js rename to src/internal/compile_server/jsenv_directory/update_compile_cache.js index cf93d7aebe..fe15f5add0 100644 --- a/src/internal/compiling/jsenv_directory/updateMeta.js +++ b/src/internal/compile_server/jsenv_directory/update_compile_cache.js @@ -5,10 +5,10 @@ import { } from "@jsenv/filesystem" import { utimesSync } from "node:fs" -import { writeFileContent, testFilePresence } from "./fs-optimized-for-cache.js" +import { writeFileContent, testFilePresence } from "./fs_optimized_for_cache.js" import { getMetaJsonFileUrl } from "./compile_asset.js" -export const updateMeta = async ({ +export const updateCompileCache = async ({ logger, meta, compiledFileUrl, diff --git a/src/internal/compiling/jsenv_directory/validateCache.js b/src/internal/compile_server/jsenv_directory/validate_compile_cache.js similarity index 99% rename from src/internal/compiling/jsenv_directory/validateCache.js rename to src/internal/compile_server/jsenv_directory/validate_compile_cache.js index b19b429eba..13ccd096da 100644 --- a/src/internal/compiling/jsenv_directory/validateCache.js +++ b/src/internal/compile_server/jsenv_directory/validate_compile_cache.js @@ -2,7 +2,7 @@ import { fileURLToPath } from "node:url" import { readFileSync, statSync } from "node:fs" import { resolveUrl, bufferToEtag } from "@jsenv/filesystem" -export const validateCache = async ({ +export const validateCompileCache = async ({ compiledFileUrl, compileCacheStrategy, compileCacheSourcesValidation = true, diff --git a/src/internal/compiling/sse_service/sse_service.js b/src/internal/compile_server/sse_service/sse_service.js similarity index 99% rename from src/internal/compiling/sse_service/sse_service.js rename to src/internal/compile_server/sse_service/sse_service.js index 20d3192f6d..241c633415 100644 --- a/src/internal/compiling/sse_service/sse_service.js +++ b/src/internal/compile_server/sse_service/sse_service.js @@ -9,7 +9,7 @@ import { import { createLogger } from "@jsenv/logger" import { createCallbackList } from "@jsenv/abort" -import { urlIsCompilationAsset } from "@jsenv/core/src/internal/compiling/jsenv_directory/compile_asset.js" +import { urlIsCompilationAsset } from "@jsenv/core/src/internal/compile_server/jsenv_directory/compile_asset.js" export const createSSEService = ({ projectDirectoryUrl, diff --git a/src/internal/executing/coverage/babel_plugin_instrument.js b/src/internal/coverage/babel_plugin_instrument.js similarity index 97% rename from src/internal/executing/coverage/babel_plugin_instrument.js rename to src/internal/coverage/babel_plugin_instrument.js index 3daf44ddc0..aabb086ac8 100644 --- a/src/internal/executing/coverage/babel_plugin_instrument.js +++ b/src/internal/coverage/babel_plugin_instrument.js @@ -4,7 +4,7 @@ import { urlToMeta, } from "@jsenv/filesystem" -import { require } from "../../require.js" +import { require } from "@jsenv/core/src/internal/require.js" // https://github.com/istanbuljs/babel-plugin-istanbul/blob/321740f7b25d803f881466ea819d870f7ed6a254/src/index.js diff --git a/src/internal/executing/coverage_reporter/coverage_reporter_html_directory.js b/src/internal/coverage/coverage_reporter_html_directory.js similarity index 85% rename from src/internal/executing/coverage_reporter/coverage_reporter_html_directory.js rename to src/internal/coverage/coverage_reporter_html_directory.js index cb7241602f..ac03621c2c 100644 --- a/src/internal/executing/coverage_reporter/coverage_reporter_html_directory.js +++ b/src/internal/coverage/coverage_reporter_html_directory.js @@ -1,8 +1,9 @@ import { readFileSync } from "node:fs" import { resolveUrl, urlToFileSystemPath } from "@jsenv/filesystem" -import { require } from "../../require.js" -import { istanbulCoverageMapFromCoverage } from "./istanbulCoverageMapFromCoverage.js" +import { require } from "@jsenv/core/src/internal/require.js" + +import { istanbulCoverageMapFromCoverage } from "./istanbul_coverage_map_from_coverage.js" export const generateCoverageHtmlDirectory = async ( coverage, diff --git a/src/internal/executing/coverage_reporter/coverage_reporter_json_file.js b/src/internal/coverage/coverage_reporter_json_file.js similarity index 96% rename from src/internal/executing/coverage_reporter/coverage_reporter_json_file.js rename to src/internal/coverage/coverage_reporter_json_file.js index 79a11995af..b0af5d6340 100644 --- a/src/internal/executing/coverage_reporter/coverage_reporter_json_file.js +++ b/src/internal/coverage/coverage_reporter_json_file.js @@ -1,6 +1,6 @@ import { writeFile, urlToFileSystemPath } from "@jsenv/filesystem" -import { byteAsFileSize } from "@jsenv/core/src/internal/logs/byteAsFileSize.js" +import { byteAsFileSize } from "@jsenv/core/src/internal/logs/byte_as_file_size.js" export const generateCoverageJsonFile = async ({ coverage, diff --git a/src/internal/executing/coverage_reporter/coverage_reporter_text_log.js b/src/internal/coverage/coverage_reporter_text_log.js similarity index 74% rename from src/internal/executing/coverage_reporter/coverage_reporter_text_log.js rename to src/internal/coverage/coverage_reporter_text_log.js index a2d79a8ec9..640a166ac7 100644 --- a/src/internal/executing/coverage_reporter/coverage_reporter_text_log.js +++ b/src/internal/coverage/coverage_reporter_text_log.js @@ -1,5 +1,6 @@ -import { require } from "../../require.js" -import { istanbulCoverageMapFromCoverage } from "./istanbulCoverageMapFromCoverage.js" +import { require } from "@jsenv/core/src/internal/require.js" + +import { istanbulCoverageMapFromCoverage } from "./istanbul_coverage_map_from_coverage.js" export const generateCoverageTextLog = ( coverage, diff --git a/src/internal/executing/coverage_missing/relativeUrlToEmptyCoverage.js b/src/internal/coverage/empty_coverage_factory.js similarity index 82% rename from src/internal/executing/coverage_missing/relativeUrlToEmptyCoverage.js rename to src/internal/coverage/empty_coverage_factory.js index 2c3ab7d54a..d8cc3143d4 100644 --- a/src/internal/executing/coverage_missing/relativeUrlToEmptyCoverage.js +++ b/src/internal/coverage/empty_coverage_factory.js @@ -1,12 +1,14 @@ +import { require } from "@jsenv/core/src/internal/require.js" + import { resolveUrl, urlToFileSystemPath, readFile } from "@jsenv/filesystem" import { Abort } from "@jsenv/abort" import { babelPluginsFromBabelPluginMap, getMinimalBabelPluginMap, -} from "@jsenv/core/src/internal/compiling/babel_plugins.js" -import { babelPluginInstrument } from "../coverage/babel_plugin_instrument.js" -import { createEmptyCoverage } from "./createEmptyCoverage.js" +} from "@jsenv/core/src/internal/compile_server/js/babel_plugins.js" + +import { babelPluginInstrument } from "./babel_plugin_instrument.js" export const relativeUrlToEmptyCoverage = async ( relativeUrl, @@ -61,3 +63,8 @@ export const relativeUrlToEmptyCoverage = async ( await operation.end() } } + +const createEmptyCoverage = (relativeUrl) => { + const { createFileCoverage } = require("istanbul-lib-coverage") + return createFileCoverage(relativeUrl).toJSON() +} diff --git a/src/internal/executing/coverage_utils/file_by_file_coverage.js b/src/internal/coverage/file_by_file_coverage.js similarity index 100% rename from src/internal/executing/coverage_utils/file_by_file_coverage.js rename to src/internal/coverage/file_by_file_coverage.js diff --git a/src/internal/executing/coverage_utils/istanbul_coverage_composition.js b/src/internal/coverage/istanbul_coverage_composition.js similarity index 94% rename from src/internal/executing/coverage_utils/istanbul_coverage_composition.js rename to src/internal/coverage/istanbul_coverage_composition.js index 6fc1aeb407..53ba61e403 100644 --- a/src/internal/executing/coverage_utils/istanbul_coverage_composition.js +++ b/src/internal/coverage/istanbul_coverage_composition.js @@ -1,4 +1,4 @@ -import { require } from "../../require.js" +import { require } from "@jsenv/core/src/internal/require.js" export const composeTwoFileByFileIstanbulCoverages = ( firstFileByFileIstanbulCoverage, diff --git a/src/internal/executing/coverage_reporter/istanbulCoverageMapFromCoverage.js b/src/internal/coverage/istanbul_coverage_map_from_coverage.js similarity index 86% rename from src/internal/executing/coverage_reporter/istanbulCoverageMapFromCoverage.js rename to src/internal/coverage/istanbul_coverage_map_from_coverage.js index 6417221b12..ad4f1b8d5d 100644 --- a/src/internal/executing/coverage_reporter/istanbulCoverageMapFromCoverage.js +++ b/src/internal/coverage/istanbul_coverage_map_from_coverage.js @@ -1,4 +1,4 @@ -import { require } from "../../require.js" +import { require } from "@jsenv/core/src/internal/require.js" export const istanbulCoverageMapFromCoverage = (coverage) => { const { createCoverageMap } = require("istanbul-lib-coverage") diff --git a/src/internal/executing/coverage_missing/list_files_not_covered.js b/src/internal/coverage/list_files_not_covered.js similarity index 100% rename from src/internal/executing/coverage_missing/list_files_not_covered.js rename to src/internal/coverage/list_files_not_covered.js diff --git a/src/internal/executing/coverage_missing/missing_coverage.js b/src/internal/coverage/missing_coverage.js similarity index 94% rename from src/internal/executing/coverage_missing/missing_coverage.js rename to src/internal/coverage/missing_coverage.js index 741dc1d7b5..6378925f3e 100644 --- a/src/internal/executing/coverage_missing/missing_coverage.js +++ b/src/internal/coverage/missing_coverage.js @@ -1,7 +1,7 @@ import { Abort } from "@jsenv/abort" import { listRelativeFileUrlToCover } from "./list_files_not_covered.js" -import { relativeUrlToEmptyCoverage } from "./relativeUrlToEmptyCoverage.js" +import { relativeUrlToEmptyCoverage } from "./empty_coverage_factory.js" export const getMissingFileByFileCoverage = async ({ signal, diff --git a/src/internal/executing/coverage/reportToCoverage.js b/src/internal/coverage/report_to_coverage.js similarity index 90% rename from src/internal/executing/coverage/reportToCoverage.js rename to src/internal/coverage/report_to_coverage.js index 44e2e4cd5c..2957e7958c 100644 --- a/src/internal/executing/coverage/reportToCoverage.js +++ b/src/internal/coverage/report_to_coverage.js @@ -4,13 +4,13 @@ import { Abort } from "@jsenv/abort" import { visitNodeV8Directory, filterV8Coverage, -} from "../coverage_utils/v8_coverage_from_directory.js" -import { composeTwoV8Coverages } from "../coverage_utils/v8_coverage_composition.js" -import { composeTwoFileByFileIstanbulCoverages } from "../coverage_utils/istanbul_coverage_composition.js" -import { v8CoverageToIstanbul } from "../coverage_utils/v8_coverage_to_istanbul.js" -import { composeV8AndIstanbul } from "../coverage_utils/v8_and_istanbul.js" -import { normalizeFileByFileCoveragePaths } from "../coverage_utils/file_by_file_coverage.js" -import { getMissingFileByFileCoverage } from "../coverage_missing/missing_coverage.js" +} from "./v8_coverage_from_directory.js" +import { composeTwoV8Coverages } from "./v8_coverage_composition.js" +import { composeTwoFileByFileIstanbulCoverages } from "./istanbul_coverage_composition.js" +import { v8CoverageToIstanbul } from "./v8_coverage_to_istanbul.js" +import { composeV8AndIstanbul } from "./v8_and_istanbul.js" +import { normalizeFileByFileCoveragePaths } from "./file_by_file_coverage.js" +import { getMissingFileByFileCoverage } from "./missing_coverage.js" export const reportToCoverage = async ( report, diff --git a/src/internal/executing/coverage_utils/v8_and_istanbul.js b/src/internal/coverage/v8_and_istanbul.js similarity index 100% rename from src/internal/executing/coverage_utils/v8_and_istanbul.js rename to src/internal/coverage/v8_and_istanbul.js diff --git a/src/internal/executing/coverage_utils/v8_coverage_composition.js b/src/internal/coverage/v8_coverage_composition.js similarity index 100% rename from src/internal/executing/coverage_utils/v8_coverage_composition.js rename to src/internal/coverage/v8_coverage_composition.js diff --git a/src/internal/executing/coverage_utils/v8_coverage_from_directory.js b/src/internal/coverage/v8_coverage_from_directory.js similarity index 100% rename from src/internal/executing/coverage_utils/v8_coverage_from_directory.js rename to src/internal/coverage/v8_coverage_from_directory.js diff --git a/src/internal/executing/coverage_utils/v8_coverage_to_istanbul.js b/src/internal/coverage/v8_coverage_to_istanbul.js similarity index 100% rename from src/internal/executing/coverage_utils/v8_coverage_to_istanbul.js rename to src/internal/coverage/v8_coverage_to_istanbul.js diff --git a/src/internal/dataUrl.utils.js b/src/internal/dataUrl.utils.js deleted file mode 100644 index 1a7ce06f8f..0000000000 --- a/src/internal/dataUrl.utils.js +++ /dev/null @@ -1,55 +0,0 @@ -/* eslint-env browser, node */ - -export const parseDataUrl = (dataUrl) => { - const afterDataProtocol = dataUrl.slice("data:".length) - const commaIndex = afterDataProtocol.indexOf(",") - const beforeComma = afterDataProtocol.slice(0, commaIndex) - - let mediaType - let base64Flag - if (beforeComma.endsWith(`;base64`)) { - mediaType = beforeComma.slice(0, -`;base64`.length) - base64Flag = true - } else { - mediaType = beforeComma - base64Flag = false - } - - const afterComma = afterDataProtocol.slice(commaIndex + 1) - return { - mediaType: mediaType === "" ? "text/plain;charset=US-ASCII" : mediaType, - base64Flag, - data: afterComma, - } -} - -export const stringifyDataUrl = ({ mediaType, base64Flag = true, data }) => { - if (!mediaType || mediaType === "text/plain;charset=US-ASCII") { - // can be a buffer or a string, hence check on data.length instead of !data or data === '' - if (data.length === 0) { - return `data:,` - } - if (base64Flag) { - return `data:,${data}` - } - return `data:,${dataToBase64(data)}` - } - if (base64Flag) { - return `data:${mediaType};base64,${dataToBase64(data)}` - } - return `data:${mediaType},${data}` -} - -export const dataUrlToRawData = ({ base64Flag, data }) => { - return base64Flag ? base64ToString(data) : data -} - -export const dataToBase64 = - typeof window === "object" - ? window.atob - : (data) => Buffer.from(data).toString("base64") - -export const base64ToString = - typeof window === "object" - ? window.btoa - : (base64String) => Buffer.from(base64String, "base64").toString("utf8") diff --git a/src/internal/data_url.js b/src/internal/data_url.js new file mode 100644 index 0000000000..05bc75a513 --- /dev/null +++ b/src/internal/data_url.js @@ -0,0 +1,54 @@ +/* eslint-env browser, node */ + +export const DataUrl = { + parse: (string, { as = "raw" } = {}) => { + const afterDataProtocol = string.slice("data:".length) + const commaIndex = afterDataProtocol.indexOf(",") + const beforeComma = afterDataProtocol.slice(0, commaIndex) + + let mediaType + let base64Flag + if (beforeComma.endsWith(`;base64`)) { + mediaType = beforeComma.slice(0, -`;base64`.length) + base64Flag = true + } else { + mediaType = beforeComma + base64Flag = false + } + + const afterComma = afterDataProtocol.slice(commaIndex + 1) + return { + mediaType: mediaType === "" ? "text/plain;charset=US-ASCII" : mediaType, + base64Flag, + data: + as === "string" && base64Flag ? base64ToString(afterComma) : afterComma, + } + }, + + stringify: ({ mediaType, base64Flag = true, data }) => { + if (!mediaType || mediaType === "text/plain;charset=US-ASCII") { + // can be a buffer or a string, hence check on data.length instead of !data or data === '' + if (data.length === 0) { + return `data:,` + } + if (base64Flag) { + return `data:,${data}` + } + return `data:,${dataToBase64(data)}` + } + if (base64Flag) { + return `data:${mediaType};base64,${dataToBase64(data)}` + } + return `data:${mediaType},${data}` + }, +} + +const dataToBase64 = + typeof window === "object" + ? window.atob + : (data) => Buffer.from(data).toString("base64") + +const base64ToString = + typeof window === "object" + ? window.btoa + : (base64String) => Buffer.from(base64String, "base64").toString("utf8") diff --git a/src/internal/dev_server/exploring/exploring.js b/src/internal/dev_server/exploring/exploring.js index 366c5e4b9f..170e092151 100644 --- a/src/internal/dev_server/exploring/exploring.js +++ b/src/internal/dev_server/exploring/exploring.js @@ -1,7 +1,7 @@ import { fetchUrl } from "../toolbar/util/fetching.js" import { createPreference } from "../toolbar/util/preferences.js" import { startJavaScriptAnimation } from "../toolbar/util/animation.js" -import { fetchExploringJson } from "./fetchExploringJson.js" +import { fetchExploringJson } from "./fetch_exploring_json.js" const fetchJSON = async (url, options) => { const response = await fetchUrl(url, options) diff --git a/src/internal/dev_server/exploring/fetchExploringJson.js b/src/internal/dev_server/exploring/fetch_exploring_json.js similarity index 87% rename from src/internal/dev_server/exploring/fetchExploringJson.js rename to src/internal/dev_server/exploring/fetch_exploring_json.js index 8bbcd006a9..5d055383c3 100644 --- a/src/internal/dev_server/exploring/fetchExploringJson.js +++ b/src/internal/dev_server/exploring/fetch_exploring_json.js @@ -1,4 +1,4 @@ -import { fetchJson } from "../../browser_utils/fetchJson.js" +import { fetchJson } from "../../browser_utils/fetch_json.js" export const fetchExploringJson = async ({ signal } = {}) => { try { diff --git a/src/internal/dev_server/toolbar/animation/toolbar.animation.js b/src/internal/dev_server/toolbar/animation/toolbar_animation.js similarity index 100% rename from src/internal/dev_server/toolbar/animation/toolbar.animation.js rename to src/internal/dev_server/toolbar/animation/toolbar_animation.js diff --git a/src/internal/dev_server/toolbar/compilation/toolbar.compilation.js b/src/internal/dev_server/toolbar/compilation/toolbar_compilation.js similarity index 97% rename from src/internal/dev_server/toolbar/compilation/toolbar.compilation.js rename to src/internal/dev_server/toolbar/compilation/toolbar_compilation.js index 771acf076e..f7e9e36d5f 100644 --- a/src/internal/dev_server/toolbar/compilation/toolbar.compilation.js +++ b/src/internal/dev_server/toolbar/compilation/toolbar_compilation.js @@ -1,11 +1,12 @@ -import { scanBrowserRuntimeFeatures } from "../../../features/browser_feature_detection/browser_feature_detection.js" +import { scanBrowserRuntimeFeatures } from "@jsenv/core/src/internal/features/browser_feature_detection/browser_feature_detection.js" + import { setLinkHrefForParentWindow } from "../util/iframe_to_parent_href.js" import { removeForceHideElement } from "../util/dom.js" import { enableVariant } from "../variant/variant.js" import { enableWarningStyle, disableWarningStyle, -} from "../settings/toolbar.settings.js" +} from "../settings/toolbar_settings.js" export const renderCompilationInToolbar = ({ compileGroup }) => { const browserSupportRootNode = document.querySelector("#browser_support") diff --git a/src/internal/dev_server/toolbar/eventsource/toolbar.eventsource.js b/src/internal/dev_server/toolbar/eventsource/toolbar_eventsource.js similarity index 100% rename from src/internal/dev_server/toolbar/eventsource/toolbar.eventsource.js rename to src/internal/dev_server/toolbar/eventsource/toolbar_eventsource.js diff --git a/src/internal/dev_server/toolbar/execution/toolbar.execution.js b/src/internal/dev_server/toolbar/execution/toolbar_execution.js similarity index 97% rename from src/internal/dev_server/toolbar/execution/toolbar.execution.js rename to src/internal/dev_server/toolbar/execution/toolbar_execution.js index f03068ac39..55d1c0fa02 100644 --- a/src/internal/dev_server/toolbar/execution/toolbar.execution.js +++ b/src/internal/dev_server/toolbar/execution/toolbar_execution.js @@ -2,7 +2,7 @@ import { removeForceHideElement, activateToolbarSection } from "../util/dom.js" import { enableVariant } from "../variant/variant.js" import { createHorizontalBreakpoint } from "../util/responsive.js" import { toggleTooltip } from "../tooltip/tooltip.js" -import { notifyExecutionResult } from "../notification/toolbar.notification.js" +import { notifyExecutionResult } from "../notification/toolbar_notification.js" const WINDOW_MEDIUM_WIDTH = 570 diff --git a/src/internal/dev_server/toolbar/focus/toolbar.focus.js b/src/internal/dev_server/toolbar/focus/toolbar_focus.js similarity index 100% rename from src/internal/dev_server/toolbar/focus/toolbar.focus.js rename to src/internal/dev_server/toolbar/focus/toolbar_focus.js diff --git a/src/internal/dev_server/toolbar/jsenv-logo.svg b/src/internal/dev_server/toolbar/jsenv_logo.svg similarity index 99% rename from src/internal/dev_server/toolbar/jsenv-logo.svg rename to src/internal/dev_server/toolbar/jsenv_logo.svg index 187899cc19..0de4bb19b1 100644 --- a/src/internal/dev_server/toolbar/jsenv-logo.svg +++ b/src/internal/dev_server/toolbar/jsenv_logo.svg @@ -1,6 +1,6 @@

Settings

diff --git a/src/internal/dev_server/toolbar/toolbar.injector.js b/src/internal/dev_server/toolbar/toolbar_injector.js similarity index 97% rename from src/internal/dev_server/toolbar/toolbar.injector.js rename to src/internal/dev_server/toolbar/toolbar_injector.js index ad5b343ffd..a1aed563bb 100644 --- a/src/internal/dev_server/toolbar/toolbar.injector.js +++ b/src/internal/dev_server/toolbar/toolbar_injector.js @@ -1,9 +1,10 @@ -import { fetchExploringJson } from "@jsenv/core/src/internal/dev_server/exploring/fetchExploringJson.js" +import { fetchExploringJson } from "@jsenv/core/src/internal/dev_server/exploring/fetch_exploring_json.js" + import { setAttributes, setStyles } from "./util/dom.js" // eslint-disable-next-line no-undef const TOOLBAR_BUILD_RELATIVE_URL = __TOOLBAR_BUILD_RELATIVE_URL_ -const jsenvLogoSvgUrl = new URL("./jsenv-logo.svg", import.meta.url) +const jsenvLogoSvgUrl = new URL("./jsenv_logo.svg", import.meta.url) const injectToolbar = async () => { await new Promise((resolve) => { @@ -60,7 +61,7 @@ const injectToolbar = async () => { div.innerHTML = `
- +