@jsenv/core 24.5.5 → 24.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/{license → LICENSE} +0 -0
  2. package/dist/build_manifest.js +4 -4
  3. package/dist/compile_proxy/asset-manifest.json +1 -1
  4. package/dist/compile_proxy/{compile_proxy-1dfca609.html → compile_proxy-a3969633.html} +36 -3
  5. package/dist/compile_proxy/{compile_proxy.html__inline__20-672ba17c.js.map → compile_proxy.html__inline__20-9c92c170.js.map} +10 -4
  6. package/dist/redirector/asset-manifest.json +1 -1
  7. package/dist/redirector/{redirector-d1316407.html → redirector-a6b8d640.html} +36 -3
  8. package/dist/redirector/{redirector.html__inline__15-4d453af0.js.map → redirector.html__inline__15-58430672.js.map} +10 -4
  9. package/dist/toolbar/asset-manifest.json +1 -1
  10. package/dist/toolbar/{toolbar-afb71355.html → toolbar-84985f43.html} +36 -3
  11. package/dist/toolbar/{toolbar.main-feac7fa3.js.map → toolbar.main-7aa01366.js.map} +10 -4
  12. package/dist/toolbar_injector/asset-manifest.json +1 -1
  13. package/dist/toolbar_injector/{toolbar_injector-445d3ea0.js → toolbar_injector-8edcae04.js} +2 -2
  14. package/dist/toolbar_injector/{toolbar_injector-445d3ea0.js.map → toolbar_injector-8edcae04.js.map} +2 -2
  15. package/package.json +4 -3
  16. package/src/buildProject.js +1 -2
  17. package/src/executeTestPlan.js +12 -6
  18. package/src/internal/browser_detection/browser_detection.js +2 -0
  19. package/src/internal/browser_detection/detectChrome.js +3 -1
  20. package/src/internal/browser_detection/user_agent_data.js +26 -0
  21. package/src/internal/compiling/js-compilation-service/jsenvTransform.js +3 -0
  22. package/src/internal/executing/createSummaryLog.js +30 -4
  23. package/src/internal/executing/executeConcurrently.js +22 -8
  24. package/src/internal/executing/executePlan.js +12 -6
  25. package/src/internal/executing/executionLogs.js +14 -4
  26. package/src/internal/executing/gc.js +9 -0
  27. package/src/internal/logs/byte.js +10 -0
@@ -18,6 +18,7 @@
18
18
  "../../src/internal/browser_utils/fetchUsingXHR.js",
19
19
  "../../src/internal/browser_utils/fetch-browser.js",
20
20
  "../../src/internal/browser_utils/fetchJson.js",
21
+ "../../src/internal/browser_detection/user_agent_data.js",
21
22
  "../../src/internal/browser_detection/util.js",
22
23
  "../../src/internal/browser_detection/detectAndroid.js",
23
24
  "../../src/internal/browser_detection/detectInternetExplorer.js",
@@ -49,17 +50,18 @@
49
50
  "/* 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",
50
51
  "/* eslint-env browser */\n\nimport { 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",
51
52
  "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",
53
+ "/*\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",
52
54
  "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",
53
55
  "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",
54
56
  "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",
55
57
  "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",
56
58
  "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",
57
59
  "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",
58
- "import { userAgentToVersion, firstMatch } from \"./util.js\"\n\nexport const detectChrome = () => userAgentToBrowser(window.navigator.userAgent)\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",
60
+ "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",
59
61
  "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",
60
62
  "export const detectElectron = () => null // TODO\n",
61
63
  "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",
62
- "// 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 { 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 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",
64
+ "// 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",
63
65
  "/* eslint-env browser */\n\nimport { computeCompileIdFromGroupId } from \"../runtime/computeCompileIdFromGroupId.js\"\nimport { resolveGroup } from \"../runtime/resolveGroup.js\"\nimport { fetchJson } from \"../browser_utils/fetchJson.js\"\nimport { detectBrowser } from \"../browser_detection/browser_detection.js\"\n\nexport const scanBrowserRuntimeFeatures = async ({\n coverageHandledFromOutside = false,\n failFastOnFeatureDetection = false,\n} = {}) => {\n const {\n outDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n customCompilerPatterns,\n compileServerGroupMap,\n } = await fetchJson(\"/.jsenv/__compile_server_meta__.json\")\n\n const browser = detectBrowser()\n const compileId = computeCompileIdFromGroupId({\n groupId: resolveGroup(browser, compileServerGroupMap),\n groupMap: compileServerGroupMap,\n })\n const groupInfo = compileServerGroupMap[compileId]\n\n const featuresReport = {\n importmap: undefined,\n dynamicImport: undefined,\n topLevelAwait: undefined,\n jsonImportAssertions: undefined,\n cssImportAssertions: undefined,\n newStylesheet: undefined,\n }\n await detectSupportedFeatures({\n featuresReport,\n failFastOnFeatureDetection,\n inlineImportMapIntoHTML,\n })\n const pluginRequiredNameArray = await pluginRequiredNamesFromGroupInfo(\n groupInfo,\n {\n featuresReport,\n coverageHandledFromOutside,\n },\n )\n\n const canAvoidCompilation =\n customCompilerPatterns.length === 0 &&\n pluginRequiredNameArray.length === 0 &&\n featuresReport.importmap &&\n featuresReport.dynamicImport &&\n featuresReport.topLevelAwait\n\n return {\n canAvoidCompilation,\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n outDirectoryRelativeUrl,\n compileId,\n browser,\n }\n}\n\nconst pluginRequiredNamesFromGroupInfo = async (\n groupInfo,\n { featuresReport, coverageHandledFromOutside },\n) => {\n const { pluginRequiredNameArray } = groupInfo\n const requiredPluginNames = pluginRequiredNameArray.slice()\n const markPluginAsSupported = (name) => {\n const index = requiredPluginNames.indexOf(name)\n if (index > -1) {\n requiredPluginNames.splice(index, 1)\n }\n }\n\n // When instrumentation CAN be handed by playwright\n // https://playwright.dev/docs/api/class-chromiumcoverage#chromiumcoveragestartjscoverageoptions\n // coverageHandledFromOutside is true and \"transform-instrument\" becomes non mandatory\n if (coverageHandledFromOutside) {\n markPluginAsSupported(\"transform-instrument\")\n }\n\n if (pluginRequiredNameArray.includes(\"transform-import-assertions\")) {\n const jsonImportAssertions = await supportsJsonImportAssertions()\n featuresReport.jsonImportAssertions = jsonImportAssertions\n\n const cssImportAssertions = await supportsCssImportAssertions()\n featuresReport.cssImportAssertions = cssImportAssertions\n\n if (jsonImportAssertions && cssImportAssertions) {\n markPluginAsSupported(\"transform-import-assertions\")\n }\n }\n\n if (pluginRequiredNameArray.includes(\"new-stylesheet-as-jsenv-import\")) {\n const newStylesheet = supportsNewStylesheet()\n featuresReport.newStylesheet = newStylesheet\n markPluginAsSupported(\"new-stylesheet-as-jsenv-import\")\n }\n\n return requiredPluginNames\n}\n\nconst detectSupportedFeatures = async ({\n featuresReport,\n failFastOnFeatureDetection,\n inlineImportMapIntoHTML,\n}) => {\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 const importmap = await supportsImportmap({\n // chrome supports inline but not remote importmap\n // https://github.com/WICG/import-maps/issues/235\n\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 featuresReport.importmap = importmap\n if (!importmap && failFastOnFeatureDetection) {\n return\n }\n\n const dynamicImport = await supportsDynamicImport()\n featuresReport.dynamicImport = dynamicImport\n if (!dynamicImport && failFastOnFeatureDetection) {\n return\n }\n\n const topLevelAwait = await supportsTopLevelAwait()\n featuresReport.topLevelAwait = topLevelAwait\n if (!topLevelAwait && failFastOnFeatureDetection) {\n return\n }\n}\n\nconst 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 return window.__jsenv_runtime_test_importmap__\n } catch (e) {\n document.body.removeChild(importmapScript)\n return false\n }\n}\n\nconst 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 return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n\nconst 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\nconst supportsTopLevelAwait = async () => {\n try {\n await executeWithScriptModuleInjection(\n `window.__jsenv_runtime_test_top_level_await__ = await Promise.resolve(42)`,\n )\n return window.__jsenv_runtime_test_top_level_await__ === 42\n } catch (e) {\n return false\n }\n}\n\n// to execute in a browser devtools\n// const featuresReport = {}\n// await detectSupportedFeatures({ featuresReport, inlineImportMapIntoHTML: true })\n// console.log(featuresReport)\n\nconst supportsJsonImportAssertions = async () => {\n const jsonBase64Url = asBase64Url(\"42\", \"application/json\")\n const moduleSource = asBase64Url(\n `import data from \"${jsonBase64Url}\" assert { type: \"json\" }\nexport 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 return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n\nconst supportsCssImportAssertions = async () => {\n const cssBase64Url = asBase64Url(\"p { color: red; }\", \"text/css\")\n const moduleSource = asBase64Url(\n `import css from \"${cssBase64Url}\" assert { type: \"css\" }\nexport 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\nconst 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\nconst asBase64Url = (text, mimeType = \"application/javascript\") => {\n return `data:${mimeType};base64,${window.btoa(text)}`\n}\n\n// const cssImportAssertions = await supportsCssImportAssertions()\n// console.log({ cssImportAssertions })\n",
64
66
  "\n import { scanBrowserRuntimeFeatures } from \"../../browser_feature_detection/browser_feature_detection.js\"\n\n const redirect = async () => {\n const redirectTarget = new URLSearchParams(window.location.search).get(\n \"redirect\",\n )\n const browserRuntimeFeaturesReport = await scanBrowserRuntimeFeatures({\n failFastOnFeatureDetection: true,\n })\n\n const href = `${getDirectoryUrl(\n browserRuntimeFeaturesReport,\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 = ({\n canAvoidCompilation,\n outDirectoryRelativeUrl,\n compileId,\n }) => {\n if (canAvoidCompilation) {\n return `/`\n }\n return `/${outDirectoryRelativeUrl}${compileId}/`\n }\n\n redirect()\n "
65
67
  ],
@@ -289,6 +291,11 @@
289
291
  "fetchUrl",
290
292
  "AbortController",
291
293
  "fetchJson",
294
+ "detectFromUserAgentData",
295
+ "userAgentData",
296
+ "navigator",
297
+ "brands",
298
+ "brand",
292
299
  "firstMatch",
293
300
  "regexp",
294
301
  "match",
@@ -298,7 +305,6 @@
298
305
  "userAgent",
299
306
  "detectAndroid",
300
307
  "navigatorToBrowser",
301
- "navigator",
302
308
  "appVersion",
303
309
  "test",
304
310
  "detectInternetExplorer",
@@ -386,5 +392,5 @@
386
392
  "browserRuntimeFeaturesReport",
387
393
  "getDirectoryUrl"
388
394
  ],
389
- "mappings": "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"
395
+ "mappings": "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"
390
396
  }
@@ -8,5 +8,5 @@
8
8
  "assets/settings.css.map": "assets/settings.css-2b81b245.map",
9
9
  "assets/toolbar.main.css.map": "assets/toolbar.main.css-846920e9.map",
10
10
  "assets/tooltip.css.map": "assets/tooltip.css-03395ee6.map",
11
- "toolbar.html": "toolbar-afb71355.html"
11
+ "toolbar.html": "toolbar-84985f43.html"
12
12
  }
@@ -1907,7 +1907,7 @@ html[data-toolbar-visible] #toolbar-trigger {
1907
1907
  <script type="systemjs-importmap">
1908
1908
  {
1909
1909
  "imports": {
1910
- "./toolbar.main.js": "./toolbar.main-feac7fa3.js"
1910
+ "./toolbar.main.js": "./toolbar.main-7aa01366.js"
1911
1911
  }
1912
1912
  }</script>
1913
1913
  <script>
@@ -3754,6 +3754,38 @@ html[data-toolbar-visible] #toolbar-trigger {
3754
3754
  });
3755
3755
  };
3756
3756
 
3757
+ /*
3758
+ * Prefer window.navigator.userAgentData before resorting to
3759
+ * window.navigator.userAgent because of
3760
+ * https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html
3761
+ */
3762
+ var detectFromUserAgentData = function detectFromUserAgentData() {
3763
+ var userAgentData = window.navigator.userAgentData;
3764
+
3765
+ if (!userAgentData) {
3766
+ return null;
3767
+ }
3768
+
3769
+ var brands = userAgentData.brands;
3770
+ var i = 0;
3771
+
3772
+ while (i < brands.length) {
3773
+ var _brands$i = brands[i],
3774
+ brand = _brands$i.brand,
3775
+ version = _brands$i.version;
3776
+ i++;
3777
+
3778
+ if (brand === "chromium" || brand === "Google Chrome") {
3779
+ return {
3780
+ name: "chrome",
3781
+ version: version
3782
+ };
3783
+ }
3784
+ }
3785
+
3786
+ return null;
3787
+ };
3788
+
3757
3789
  var firstMatch = function firstMatch(regexp, string) {
3758
3790
  var match = string.match(regexp);
3759
3791
  return match && match.length > 0 ? match[1] || undefined : undefined;
@@ -3940,7 +3972,8 @@ html[data-toolbar-visible] #toolbar-trigger {
3940
3972
  };
3941
3973
  };
3942
3974
 
3943
- var detector = detectorCompose([detectOpera, detectInternetExplorer, detectEdge, detectFirefox, detectChrome, detectSafari, detectElectron, detectIOS, detectAndroid]);
3975
+ var detector = detectorCompose([detectFromUserAgentData, // keep this first
3976
+ detectOpera, detectInternetExplorer, detectEdge, detectFirefox, detectChrome, detectSafari, detectElectron, detectIOS, detectAndroid]);
3944
3977
  var detectBrowser = function detectBrowser() {
3945
3978
  var _ref = detector() || {},
3946
3979
  _ref$name = _ref.name,
@@ -4859,7 +4892,7 @@ html[data-toolbar-visible] #toolbar-trigger {
4859
4892
  };
4860
4893
  }));
4861
4894
 
4862
- //# sourceMappingURL=toolbar.main-feac7fa3.js.map</script>
4895
+ //# sourceMappingURL=toolbar.main-7aa01366.js.map</script>
4863
4896
 
4864
4897
 
4865
4898
  </body></html>