@jsenv/core 24.1.0-alpha.0 → 24.3.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.
- package/{license → LICENSE} +0 -0
- package/dist/browser_runtime/browser_runtime-fbd309a1.js +5137 -0
- package/dist/browser_runtime/browser_runtime-fbd309a1.js.map +1064 -0
- package/dist/{jsenv_browser_system.js → browser_system/browser_system-29eda202.js} +12 -12
- package/dist/{jsenv_browser_system.js.map → browser_system/browser_system-29eda202.js.map} +64 -64
- package/dist/build_manifest.js +12 -0
- package/dist/compile_proxy/assets/s.js-749702e8.map +242 -0
- package/dist/compile_proxy/compile_proxy-405777e6.html +2074 -0
- package/dist/compile_proxy/compile_proxy.html__inline__20-39c0801c.js.map +385 -0
- package/dist/event_source_client/event_source_client-9f14c8b9.js +356 -0
- package/dist/event_source_client/event_source_client-9f14c8b9.js.map +127 -0
- package/dist/redirector/assets/s.js-749702e8.map +242 -0
- package/dist/redirector/redirector-237cd168.html +2118 -0
- package/dist/redirector/redirector.html__inline__15-33acb0b9.js.map +390 -0
- package/dist/toolbar/assets/compilation.css-209d68b4.map +12 -0
- package/dist/toolbar/assets/eventsource.css-38cd0a36.map +12 -0
- package/dist/toolbar/assets/execution.css-0ebe522f.map +12 -0
- package/dist/toolbar/assets/focus.css-3f9c156d.map +12 -0
- package/dist/toolbar/assets/light-theme.css-78b19a80.map +12 -0
- package/dist/toolbar/assets/overflow-menu.css-d9688a1c.map +12 -0
- package/dist/toolbar/assets/s.js-749702e8.map +242 -0
- package/dist/toolbar/assets/settings.css-2b81b245.map +12 -0
- package/dist/toolbar/assets/toolbar.main.css-846920e9.map +28 -0
- package/dist/toolbar/assets/tooltip.css-03395ee6.map +12 -0
- package/dist/toolbar/toolbar-d3d98c2e.html +4778 -0
- package/dist/toolbar/toolbar.main-cab36c15.js.map +795 -0
- package/dist/toolbar_injector/assets/jsenv-logo-188b9ca6.svg +95 -0
- package/dist/{jsenv_toolbar_injector.js → toolbar_injector/toolbar_injector-01f71ce3.js} +62 -137
- package/dist/toolbar_injector/toolbar_injector-01f71ce3.js.map +294 -0
- package/main.js +0 -1
- package/package.json +4 -2
- package/readme.md +10 -7
- package/src/buildProject.js +8 -2
- package/src/dev_server.js +45 -102
- package/src/importUsingChildProcess.js +1 -1
- package/src/internal/{runtime/detectBrowser/detectBrowser.js → browser_detection/browser_detection.js} +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectAndroid.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectChrome.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectEdge.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectElectron.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectFirefox.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectIOS.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectInternetExplorer.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectOpera.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/detectSafari.js +0 -0
- package/src/internal/{runtime/detectBrowser → browser_detection}/util.js +0 -0
- package/src/internal/{runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js → browser_feature_detection/browser_feature_detection.js} +116 -81
- package/src/internal/browser_feature_detection/compile_proxy.html +27 -0
- package/src/internal/{browser-launcher → browser_launcher}/createSharing.js +0 -0
- package/src/internal/{browser-launcher → browser_launcher}/executeHtmlFile.js +7 -4
- package/src/internal/{browser-launcher → browser_launcher}/trackPageToNotify.js +0 -0
- package/src/internal/{browser-launcher/jsenv-browser-system.js → browser_runtime/browser_runtime.js} +4 -4
- package/src/internal/{runtime/createBrowserRuntime/createBrowserSystem.js → browser_runtime/browser_system.js} +3 -2
- package/src/internal/{runtime/createBrowserRuntime → browser_runtime}/createBrowserRuntime.js +7 -5
- package/src/internal/{browser-launcher → browser_runtime}/displayErrorInDocument.js +0 -0
- package/src/internal/{browser-launcher → browser_runtime}/displayErrorNotification.js +2 -4
- package/src/internal/{runtime/createBrowserRuntime → browser_runtime}/evalSource.js +2 -0
- package/src/internal/{runtime/createBrowserRuntime → browser_runtime}/makeNamespaceTransferable.js +0 -0
- package/src/internal/{browser-utils → browser_utils}/fetch-browser.js +2 -0
- package/src/internal/{browser-utils → browser_utils}/fetchAndEvalUsingFetch.js +3 -0
- package/src/internal/{browser-utils → browser_utils}/fetchAndEvalUsingScript.js +2 -0
- package/src/internal/{browser-utils → browser_utils}/fetchJson.js +0 -0
- package/src/internal/{browser-utils → browser_utils}/fetchUsingXHR.js +4 -4
- package/src/internal/building/buildUsingRollup.js +4 -0
- package/src/internal/building/createJsenvRollupPlugin.js +19 -9
- package/src/internal/building/css/applyPostCss.js +19 -8
- package/src/internal/building/css/moveCssUrls.js +44 -0
- package/src/internal/building/css/parseCssRessource.js +67 -17
- package/src/internal/building/css/parseCssUrls.js +29 -23
- package/src/internal/building/css/postcss_plugin_url_visitor.js +11 -20
- package/src/internal/building/css/replaceCssUrls.js +38 -19
- package/src/internal/building/css_module.js +6 -10
- package/src/internal/building/html/parseHtmlRessource.js +37 -11
- package/src/internal/building/parseRessource.js +3 -0
- package/src/internal/building/ressource_builder.js +12 -3
- package/src/internal/compiling/babel_plugin_import_assertions.js +1 -2
- package/src/internal/compiling/compile-directory/validateCache.js +0 -5
- package/src/internal/compiling/compileFile.js +17 -54
- package/src/internal/compiling/createCompiledFileService.js +2 -0
- package/src/internal/compiling/html_source_file_service.js +49 -13
- package/src/internal/compiling/jsenvCompilerForHtml.js +29 -12
- package/src/internal/compiling/startCompileServer.js +39 -33
- package/src/internal/dev_server/event_source_client/event_source_client.js +63 -0
- package/src/internal/{toolbar/eventsource/connectEventSource.js → dev_server/event_source_client/event_source_connection.js} +66 -88
- package/src/internal/dev_server/event_source_client/file_changes.js +82 -0
- package/src/internal/dev_server/event_source_client/livereload_preference.js +13 -0
- package/src/internal/{exploring → dev_server/exploring}/exploring.css +0 -0
- package/src/internal/{exploring → dev_server/exploring}/exploring.html +8 -3
- package/src/internal/{exploring → dev_server/exploring}/exploring.js +0 -0
- package/src/internal/{exploring → dev_server/exploring}/fetchExploringJson.js +4 -9
- package/src/internal/dev_server/redirector/redirector.html +48 -0
- package/src/internal/{toolbar → dev_server/toolbar}/animation/toolbar.animation.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/compilation/compilation.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/compilation/toolbar.compilation.js +4 -7
- package/src/internal/{toolbar → dev_server/toolbar}/eventsource/eventsource.css +0 -0
- package/src/internal/dev_server/toolbar/eventsource/toolbar.eventsource.js +83 -0
- package/src/internal/{toolbar → dev_server/toolbar}/execution/execution.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/execution/toolbar.execution.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/focus/focus.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/focus/toolbar.focus.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/jsenv-logo.svg +0 -0
- package/src/internal/dev_server/toolbar/notification/toolbar.notification.js +152 -0
- package/src/internal/{toolbar → dev_server/toolbar}/responsive/overflow-menu.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/responsive/toolbar.responsive.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/settings/settings.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/settings/toolbar.settings.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/theme/jsenv-theme.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/theme/light-theme.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/theme/toolbar.theme.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/toolbar.html +35 -42
- package/src/internal/{toolbar → dev_server/toolbar}/toolbar.injector.js +53 -125
- package/src/internal/{toolbar → dev_server/toolbar}/toolbar.main.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/toolbar.main.js +44 -31
- package/src/internal/{toolbar → dev_server/toolbar}/tooltip/tooltip.css +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/tooltip/tooltip.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/animation.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/dom.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/fetching.js +2 -2
- package/src/internal/{toolbar → dev_server/toolbar}/util/jsenvLogger.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/preferences.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/responsive.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/util/util.js +0 -0
- package/src/internal/{toolbar → dev_server/toolbar}/variant/variant.js +0 -0
- package/src/internal/generateGroupMap/one_runtime_compat.js +1 -1
- package/src/internal/generateGroupMap/runtime_compat_composition.js +1 -1
- package/src/internal/generateGroupMap/runtime_support.js +1 -1
- package/src/internal/jsenvInternalFiles.js +0 -84
- package/src/internal/jsenv_builds.js +19 -0
- package/src/internal/{runtime/node-feature-detect/feature-detect-dynamic-import.mjs → node_feature_detection/feature_detect_dynamic_import.mjs} +0 -0
- package/src/internal/{runtime/node-feature-detect/feature-detect-top-level-await.mjs → node_feature_detection/feature_detect_top_level_await.mjs} +0 -0
- package/src/internal/{runtime/node-feature-detect → node_feature_detection}/nodeSupportsDynamicImport.js +0 -0
- package/src/internal/node_feature_detection/nodeSupportsTopLevelAwait.js +16 -0
- package/src/internal/{runtime/createNodeRuntime/scanNodeRuntimeFeatures.js → node_feature_detection/node_feature_detection.js} +12 -13
- package/src/internal/{node-launcher → node_launcher}/createChildProcessOptions.js +0 -0
- package/src/internal/{node-launcher → node_launcher}/createControllableNodeProcess.js +9 -14
- package/src/internal/{node-launcher → node_launcher}/kill_process_tree.js +0 -0
- package/src/internal/{node-launcher → node_launcher}/processOptions.js +0 -0
- package/src/internal/{runtime/detectNode → node_runtime}/detectNode.js +0 -0
- package/src/internal/{runtime/createNodeRuntime → node_runtime}/evalSource.js +1 -1
- package/src/internal/{runtime/createNodeRuntime → node_runtime}/fetchSource.js +1 -1
- package/src/internal/{node-launcher → node_runtime}/nodeControllableFile.mjs +14 -11
- package/src/internal/{runtime/createNodeRuntime/createNodeExecutionWithDynamicImport.js → node_runtime/node_execution_dynamic_import.js} +34 -6
- package/src/internal/node_runtime/node_execution_performance.js +67 -0
- package/src/internal/{runtime/createNodeRuntime/createNodeExecutionWithSystemJs.js → node_runtime/node_execution_systemjs.js} +38 -24
- package/src/internal/{runtime/createNodeRuntime/createNodeSystem.js → node_runtime/node_system.js} +4 -4
- package/src/internal/runtime/computeCompileIdFromGroupId.js +1 -0
- package/src/internal/runtime/resolveGroup.js +1 -1
- package/src/internal/runtime/resolveRuntimeGroup.js +2 -2
- package/src/internal/{semantic-versioning → semantic_versioning}/findHighestVersion.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/findLowestVersion.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/index.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/valueToVersion.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/versionCompare.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/versionIsAbove.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/versionIsBelow.js +0 -0
- package/src/internal/{semantic-versioning → semantic_versioning}/versionIsEqual.js +0 -0
- package/src/launchBrowser.js +3 -3
- package/src/launchNode.js +33 -7
- package/src/requireUsingChildProcess.js +1 -1
- package/dist/jsenv_compile_proxy.js +0 -1339
- package/dist/jsenv_compile_proxy.js.map +0 -378
- package/dist/jsenv_exploring_index.js +0 -1092
- package/dist/jsenv_exploring_index.js.map +0 -353
- package/dist/jsenv_exploring_redirector.js +0 -1386
- package/dist/jsenv_exploring_redirector.js.map +0 -384
- package/dist/jsenv_toolbar.js +0 -3347
- package/dist/jsenv_toolbar.js.map +0 -846
- package/dist/jsenv_toolbar_injector.js.map +0 -320
- package/src/internal/browser-launcher/jsenv_compile_proxy.html +0 -13
- package/src/internal/browser-launcher/jsenv_compile_proxy.js +0 -5
- package/src/internal/exploring/exploring.redirector.html +0 -13
- package/src/internal/exploring/exploring.redirector.js +0 -28
- package/src/internal/node-launcher/node-js-file.js +0 -110
- package/src/internal/runtime/createNodeRuntime/createNodeRuntime.js +0 -32
- package/src/internal/runtime/node-feature-detect/nodeSupportsTopLevelAwait.js +0 -18
- package/src/internal/toolbar/backtolist/toolbar.backtolist.js +0 -33
- package/src/internal/toolbar/eventsource/connectCompileServerEventSource.js +0 -74
- package/src/internal/toolbar/eventsource/toolbar.eventsource.js +0 -239
- package/src/internal/toolbar/notification/toolbar.notification.js +0 -121
- package/src/nodeRuntime.js +0 -5
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"file": "jsenv_toolbar_injector.js",
|
|
4
|
-
"sources": [
|
|
5
|
-
"../helpers/babel/typeof/typeof.js",
|
|
6
|
-
"../helpers/babel/defineProperty/defineProperty.js",
|
|
7
|
-
"../node_modules/@jsenv/logger/src/createDetailedMessage.js",
|
|
8
|
-
"../helpers/babel/objectSpread2/objectSpread2.js",
|
|
9
|
-
"../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js",
|
|
10
|
-
"../helpers/babel/objectWithoutProperties/objectWithoutProperties.js",
|
|
11
|
-
"../src/internal/browser-utils/fetchUsingXHR.js",
|
|
12
|
-
"../src/internal/browser-utils/fetch-browser.js",
|
|
13
|
-
"../src/internal/browser-utils/fetchJson.js",
|
|
14
|
-
"../src/internal/exploring/fetchExploringJson.js",
|
|
15
|
-
"../src/internal/toolbar/util/dom.js",
|
|
16
|
-
"../src/internal/toolbar/toolbar.injector.js"
|
|
17
|
-
],
|
|
18
|
-
"sourcesContent": [
|
|
19
|
-
"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",
|
|
20
|
-
"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",
|
|
21
|
-
"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",
|
|
22
|
-
"import defineProperty from \"../defineProperty/defineProperty.js\"\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(target, key, Object.getOwnPropertyDescriptor(source, key))\n })\n }\n }\n return target\n}\n",
|
|
23
|
-
"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",
|
|
24
|
-
"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",
|
|
25
|
-
"import { createDetailedMessage } from \"@jsenv/logger\"\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 createDetailedMessage(`error during xhr request on ${url}.`, {\n [\"error stack\"]: error.stack,\n }),\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",
|
|
26
|
-
"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",
|
|
27
|
-
"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",
|
|
28
|
-
"import { createDetailedMessage } from \"@jsenv/logger\"\n\nimport { 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 createDetailedMessage(\n `Cannot communicate with exploring server due to a network error`,\n {\n [\"error stack\"]: e.stack,\n },\n ),\n )\n }\n}\n",
|
|
29
|
-
"export const updateIframeOverflowOnParentWindow = () => {\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",
|
|
30
|
-
"import { fetchExploringJson } from \"@jsenv/core/src/internal/exploring/fetchExploringJson.js\"\nimport { setAttributes, setStyles } from \"./util/dom.js\"\n\n/*\nWe must connect to livereload server asap so that if a file is modified\nwhile page is loading we are notified of it.\n\nOtherwise it's possible that a file is loaded and used by browser then its modified before\nlivereload connection is established.\n\nWhen toolbar is loaded it will open an other connection to server sent events and close this one.\n*/\nconst connectLivereload = () => {\n const { EventSource } = window\n if (typeof EventSource !== \"function\") {\n return () => {}\n }\n\n const getLivereloadPreference = () => {\n return localStorage.hasOwnProperty(\"livereload\")\n ? JSON.parse(localStorage.getItem(\"livereload\"))\n : true\n }\n\n const url = document.location.href\n let isOpen = false\n let lastEventId\n const latestChangeMap = {}\n\n const events = {\n \"file-modified\": ({ data }) => {\n latestChangeMap[data] = \"modified\"\n if (getLivereloadPreference()) {\n window.location.reload(true)\n }\n },\n \"file-removed\": ({ data }) => {\n latestChangeMap[data] = \"removed\"\n if (getLivereloadPreference()) {\n window.location.reload(true)\n }\n },\n \"file-added\": ({ data }) => {\n latestChangeMap[data] = \"added\"\n if (getLivereloadPreference()) {\n window.location.reload(true)\n }\n },\n }\n\n const eventSourceOrigin = new URL(url).origin\n const eventSource = new EventSource(url, {\n withCredentials: true,\n })\n\n const disconnect = () => {\n eventSource.close()\n }\n\n eventSource.onopen = () => {\n isOpen = true\n }\n\n eventSource.onerror = (errorEvent) => {\n if (errorEvent.target.readyState === EventSource.CLOSED) {\n isOpen = false\n }\n }\n\n Object.keys(events).forEach((eventName) => {\n eventSource.addEventListener(eventName, (e) => {\n if (e.origin === eventSourceOrigin) {\n if (e.lastEventId) {\n lastEventId = e.lastEventId\n }\n events[eventName](e)\n }\n })\n })\n\n return () => {\n return {\n isOpen,\n latestChangeMap,\n lastEventId,\n disconnect,\n }\n }\n}\n// eslint-disable-next-line camelcase\nwindow.__jsenv_eventsource__ = connectLivereload()\n\nconst injectToolbar = async () => {\n await new Promise((resolve) => {\n if (window.requestIdleCallback) {\n window.requestIdleCallback(resolve)\n } else {\n window.requestAnimationFrame(resolve)\n }\n })\n\n const { jsenvDirectoryRelativeUrl } = await fetchExploringJson()\n const jsenvDirectoryServerUrl = resolveUrl(\n jsenvDirectoryRelativeUrl,\n document.location.origin,\n )\n\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 jsenvToolbarHtmlServerUrl = resolveUrl(\n \"./src/internal/toolbar/toolbar.html\",\n jsenvDirectoryServerUrl,\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 await iframeLoadedPromise\n iframe.removeAttribute(\"tabindex\")\n\n const listenToolbarIframeEvent = (event, fn) => {\n window.addEventListener(\n \"message\",\n (messageEvent) => {\n const { data } = messageEvent\n if (typeof data !== \"object\") return\n const { jsenv } = data\n if (!jsenv) return\n const { type } = data\n if (type !== event) return\n fn(data.value)\n },\n false,\n )\n }\n\n listenToolbarIframeEvent(\"toolbar-visibility-change\", (visible) => {\n if (visible) {\n hideToolbarTrigger()\n } else {\n showToolbarTrigger()\n }\n })\n\n const div = document.createElement(\"div\")\n const jsenvLogoUrl = resolveUrl(\n \"./src/internal/toolbar/jsenv-logo.svg\",\n jsenvDirectoryServerUrl,\n )\n const jsenvLogoSvgSrc = jsenvLogoUrl\n div.innerHTML = `\n<div id=\"jsenv-toolbar-trigger\">\n <svg id=\"jsenv-toolbar-trigger-icon\">\n <use xlink:href=\"${jsenvLogoSvgSrc}#jsenv-logo\"></use>\n </svg>\n <style>\n #jsenv-toolbar-trigger {\n display: block;\n overflow: hidden;\n position: fixed;\n z-index: 1000;\n bottom: -32px;\n right: 20px;\n height: 40px;\n width: 40px;\n padding: 0;\n margin: 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 text-align: center;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger:hover {\n cursor: pointer;\n }\n\n #jsenv-toolbar-trigger[data-expanded] {\n bottom: 0;\n }\n\n #jsenv-toolbar-trigger-icon {\n width: 35px;\n height: 35px;\n opacity: 0;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger[data-expanded] #jsenv-toolbar-trigger-icon {\n opacity: 1;\n }\n </style>\n</div>`\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 window.__jsenv__.toolbar.show()\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 hideToolbarTrigger()\n\n iframe.contentWindow.renderToolbar()\n\n return iframe\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 <head>\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 document.querySelector(\"[data-jsenv-toolbar-placeholder]\")\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\nconst resolveUrl = (url, baseUrl) => String(new URL(url, baseUrl))\n\nif (document.readyState === \"complete\") {\n injectToolbar()\n} else {\n window.addEventListener(\"load\", injectToolbar)\n}\n"
|
|
31
|
-
],
|
|
32
|
-
"names": [
|
|
33
|
-
"nativeTypeOf",
|
|
34
|
-
"obj",
|
|
35
|
-
"customTypeOf",
|
|
36
|
-
"Symbol",
|
|
37
|
-
"constructor",
|
|
38
|
-
"prototype",
|
|
39
|
-
"iterator",
|
|
40
|
-
"key",
|
|
41
|
-
"value",
|
|
42
|
-
"Object",
|
|
43
|
-
"defineProperty",
|
|
44
|
-
"enumerable",
|
|
45
|
-
"configurable",
|
|
46
|
-
"writable",
|
|
47
|
-
"createDetailedMessage",
|
|
48
|
-
"message",
|
|
49
|
-
"details",
|
|
50
|
-
"string",
|
|
51
|
-
"keys",
|
|
52
|
-
"forEach",
|
|
53
|
-
"Array",
|
|
54
|
-
"isArray",
|
|
55
|
-
"join",
|
|
56
|
-
"ownKeys",
|
|
57
|
-
"object",
|
|
58
|
-
"enumerableOnly",
|
|
59
|
-
"getOwnPropertySymbols",
|
|
60
|
-
"symbols",
|
|
61
|
-
"filter",
|
|
62
|
-
"sym",
|
|
63
|
-
"getOwnPropertyDescriptor",
|
|
64
|
-
"push",
|
|
65
|
-
"apply",
|
|
66
|
-
"_objectSpread2",
|
|
67
|
-
"target",
|
|
68
|
-
"i",
|
|
69
|
-
"arguments",
|
|
70
|
-
"length",
|
|
71
|
-
"source",
|
|
72
|
-
"getOwnPropertyDescriptors",
|
|
73
|
-
"defineProperties",
|
|
74
|
-
"excluded",
|
|
75
|
-
"sourceKeys",
|
|
76
|
-
"indexOf",
|
|
77
|
-
"objectWithoutPropertiesLoose",
|
|
78
|
-
"sourceSymbolKeys",
|
|
79
|
-
"propertyIsEnumerable",
|
|
80
|
-
"call",
|
|
81
|
-
"then",
|
|
82
|
-
"direct",
|
|
83
|
-
"Promise",
|
|
84
|
-
"resolve",
|
|
85
|
-
"f",
|
|
86
|
-
"args",
|
|
87
|
-
"e",
|
|
88
|
-
"reject",
|
|
89
|
-
"body",
|
|
90
|
-
"result",
|
|
91
|
-
"fetchUsingXHR",
|
|
92
|
-
"url",
|
|
93
|
-
"signal",
|
|
94
|
-
"method",
|
|
95
|
-
"credentials",
|
|
96
|
-
"headers",
|
|
97
|
-
"headersPromise",
|
|
98
|
-
"createPromiseAndHooks",
|
|
99
|
-
"bodyPromise",
|
|
100
|
-
"xhr",
|
|
101
|
-
"XMLHttpRequest",
|
|
102
|
-
"failure",
|
|
103
|
-
"error",
|
|
104
|
-
"settled",
|
|
105
|
-
"cleanup",
|
|
106
|
-
"ontimeout",
|
|
107
|
-
"onerror",
|
|
108
|
-
"onload",
|
|
109
|
-
"onreadystatechange",
|
|
110
|
-
"Error",
|
|
111
|
-
"createRequestError",
|
|
112
|
-
"addEventListener",
|
|
113
|
-
"abort",
|
|
114
|
-
"abortError",
|
|
115
|
-
"name",
|
|
116
|
-
"readyState",
|
|
117
|
-
"open",
|
|
118
|
-
"setRequestHeader",
|
|
119
|
-
"withCredentials",
|
|
120
|
-
"computeWithCredentials",
|
|
121
|
-
"hasBlob",
|
|
122
|
-
"responseType",
|
|
123
|
-
"send",
|
|
124
|
-
"responseUrl",
|
|
125
|
-
"responseURL",
|
|
126
|
-
"responseStatus",
|
|
127
|
-
"status",
|
|
128
|
-
"responseStatusText",
|
|
129
|
-
"statusText",
|
|
130
|
-
"responseHeaders",
|
|
131
|
-
"getHeadersFromXHR",
|
|
132
|
-
"readBody",
|
|
133
|
-
"response",
|
|
134
|
-
"responseText",
|
|
135
|
-
"responseBody",
|
|
136
|
-
"responseBodyType",
|
|
137
|
-
"detectBodyType",
|
|
138
|
-
"text",
|
|
139
|
-
"blobToText",
|
|
140
|
-
"arrayBufferToText",
|
|
141
|
-
"buffer",
|
|
142
|
-
"String",
|
|
143
|
-
"json",
|
|
144
|
-
"JSON",
|
|
145
|
-
"parse",
|
|
146
|
-
"blob",
|
|
147
|
-
"Blob",
|
|
148
|
-
"cloneBuffer",
|
|
149
|
-
"arrayBuffer",
|
|
150
|
-
"blobToArrayBuffer",
|
|
151
|
-
"formData",
|
|
152
|
-
"hasFormData",
|
|
153
|
-
"textToFormData",
|
|
154
|
-
"canUseBlob",
|
|
155
|
-
"window",
|
|
156
|
-
"FileReader",
|
|
157
|
-
"FormData",
|
|
158
|
-
"hasArrayBuffer",
|
|
159
|
-
"ArrayBuffer",
|
|
160
|
-
"hasSearchParams",
|
|
161
|
-
"URLSearchParams",
|
|
162
|
-
"stack",
|
|
163
|
-
"promise",
|
|
164
|
-
"res",
|
|
165
|
-
"rej",
|
|
166
|
-
"originSameAsGlobalOrigin",
|
|
167
|
-
"location",
|
|
168
|
-
"globalOrigin",
|
|
169
|
-
"origin",
|
|
170
|
-
"hrefToOrigin",
|
|
171
|
-
"isPrototypeOf",
|
|
172
|
-
"isDataView",
|
|
173
|
-
"isArrayBufferView",
|
|
174
|
-
"headerMap",
|
|
175
|
-
"headersString",
|
|
176
|
-
"getAllResponseHeaders",
|
|
177
|
-
"lines",
|
|
178
|
-
"trim",
|
|
179
|
-
"split",
|
|
180
|
-
"line",
|
|
181
|
-
"parts",
|
|
182
|
-
"shift",
|
|
183
|
-
"toLowerCase",
|
|
184
|
-
"href",
|
|
185
|
-
"scheme",
|
|
186
|
-
"hrefToScheme",
|
|
187
|
-
"secondProtocolSlashIndex",
|
|
188
|
-
"pathnameSlashIndex",
|
|
189
|
-
"slice",
|
|
190
|
-
"colonIndex",
|
|
191
|
-
"DataView",
|
|
192
|
-
"isView",
|
|
193
|
-
"viewClasses",
|
|
194
|
-
"includes",
|
|
195
|
-
"toString",
|
|
196
|
-
"form",
|
|
197
|
-
"bytes",
|
|
198
|
-
"replace",
|
|
199
|
-
"append",
|
|
200
|
-
"decodeURIComponent",
|
|
201
|
-
"reader",
|
|
202
|
-
"fileReaderReady",
|
|
203
|
-
"readAsArrayBuffer",
|
|
204
|
-
"readAsText",
|
|
205
|
-
"view",
|
|
206
|
-
"Uint8Array",
|
|
207
|
-
"chars",
|
|
208
|
-
"fromCharCode",
|
|
209
|
-
"byteLength",
|
|
210
|
-
"set",
|
|
211
|
-
"_await",
|
|
212
|
-
"fetchNative",
|
|
213
|
-
"mode",
|
|
214
|
-
"options",
|
|
215
|
-
"fetch",
|
|
216
|
-
"responseToHeaders",
|
|
217
|
-
"_async",
|
|
218
|
-
"fetchUrl",
|
|
219
|
-
"AbortController",
|
|
220
|
-
"fetchJson",
|
|
221
|
-
"recover",
|
|
222
|
-
"fetchExploringJson",
|
|
223
|
-
"aborted",
|
|
224
|
-
"setStyles",
|
|
225
|
-
"element",
|
|
226
|
-
"styles",
|
|
227
|
-
"elementStyle",
|
|
228
|
-
"style",
|
|
229
|
-
"restoreStyles",
|
|
230
|
-
"map",
|
|
231
|
-
"styleName",
|
|
232
|
-
"restore",
|
|
233
|
-
"currentStyle",
|
|
234
|
-
"setAttributes",
|
|
235
|
-
"attributes",
|
|
236
|
-
"setAttribute",
|
|
237
|
-
"connectLivereload",
|
|
238
|
-
"EventSource",
|
|
239
|
-
"getLivereloadPreference",
|
|
240
|
-
"localStorage",
|
|
241
|
-
"hasOwnProperty",
|
|
242
|
-
"getItem",
|
|
243
|
-
"document",
|
|
244
|
-
"isOpen",
|
|
245
|
-
"lastEventId",
|
|
246
|
-
"latestChangeMap",
|
|
247
|
-
"events",
|
|
248
|
-
"data",
|
|
249
|
-
"reload",
|
|
250
|
-
"eventSourceOrigin",
|
|
251
|
-
"URL",
|
|
252
|
-
"eventSource",
|
|
253
|
-
"disconnect",
|
|
254
|
-
"close",
|
|
255
|
-
"onopen",
|
|
256
|
-
"errorEvent",
|
|
257
|
-
"CLOSED",
|
|
258
|
-
"eventName",
|
|
259
|
-
"__jsenv_eventsource__",
|
|
260
|
-
"injectToolbar",
|
|
261
|
-
"requestIdleCallback",
|
|
262
|
-
"requestAnimationFrame",
|
|
263
|
-
"jsenvDirectoryRelativeUrl",
|
|
264
|
-
"jsenvDirectoryServerUrl",
|
|
265
|
-
"resolveUrl",
|
|
266
|
-
"placeholder",
|
|
267
|
-
"getToolbarPlaceholder",
|
|
268
|
-
"iframe",
|
|
269
|
-
"createElement",
|
|
270
|
-
"tabindex",
|
|
271
|
-
"allowtransparency",
|
|
272
|
-
"iframeLoadedPromise",
|
|
273
|
-
"iframeToLoadedPromise",
|
|
274
|
-
"jsenvToolbarHtmlServerUrl",
|
|
275
|
-
"parentNode",
|
|
276
|
-
"replaceChild",
|
|
277
|
-
"removeAttribute",
|
|
278
|
-
"listenToolbarIframeEvent",
|
|
279
|
-
"event",
|
|
280
|
-
"fn",
|
|
281
|
-
"messageEvent",
|
|
282
|
-
"jsenv",
|
|
283
|
-
"type",
|
|
284
|
-
"visible",
|
|
285
|
-
"hideToolbarTrigger",
|
|
286
|
-
"showToolbarTrigger",
|
|
287
|
-
"div",
|
|
288
|
-
"jsenvLogoUrl",
|
|
289
|
-
"jsenvLogoSvgSrc",
|
|
290
|
-
"innerHTML",
|
|
291
|
-
"toolbarTrigger",
|
|
292
|
-
"firstElementChild",
|
|
293
|
-
"appendChild",
|
|
294
|
-
"timer",
|
|
295
|
-
"onmouseenter",
|
|
296
|
-
"setTimeout",
|
|
297
|
-
"expandToolbarTrigger",
|
|
298
|
-
"onmouseleave",
|
|
299
|
-
"clearTimeout",
|
|
300
|
-
"collapseToolbarTrigger",
|
|
301
|
-
"onfocus",
|
|
302
|
-
"onblur",
|
|
303
|
-
"onclick",
|
|
304
|
-
"__jsenv__",
|
|
305
|
-
"toolbar",
|
|
306
|
-
"show",
|
|
307
|
-
"display",
|
|
308
|
-
"contentWindow",
|
|
309
|
-
"renderToolbar",
|
|
310
|
-
"queryPlaceholder",
|
|
311
|
-
"contains",
|
|
312
|
-
"console",
|
|
313
|
-
"warn",
|
|
314
|
-
"createTooolbarPlaceholder",
|
|
315
|
-
"querySelector",
|
|
316
|
-
"removeEventListener",
|
|
317
|
-
"baseUrl"
|
|
318
|
-
],
|
|
319
|
-
"mappings": "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"
|
|
320
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<title>Compile proxy</title>
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<meta charset="utf-8" />
|
|
7
|
-
<link rel="icon" href="data:," />
|
|
8
|
-
</head>
|
|
9
|
-
|
|
10
|
-
<body>
|
|
11
|
-
<script src="/.jsenv/jsenv_compile_proxy.js"></script>
|
|
12
|
-
</body>
|
|
13
|
-
</html>
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<title>Exploring redirector</title>
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<meta charset="utf-8" />
|
|
7
|
-
<link rel="icon" href="data:," />
|
|
8
|
-
</head>
|
|
9
|
-
|
|
10
|
-
<body>
|
|
11
|
-
<script src="/.jsenv/exploring.redirector.js"></script>
|
|
12
|
-
</body>
|
|
13
|
-
</html>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { scanBrowserRuntimeFeatures } from "../runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js"
|
|
2
|
-
|
|
3
|
-
const redirect = async () => {
|
|
4
|
-
const redirectTarget = new URLSearchParams(window.location.search).get(
|
|
5
|
-
"redirect",
|
|
6
|
-
)
|
|
7
|
-
const browserRuntimeFeaturesReport = await scanBrowserRuntimeFeatures({
|
|
8
|
-
failFastOnFeatureDetection: true,
|
|
9
|
-
})
|
|
10
|
-
|
|
11
|
-
const href = `${getDirectoryUrl(
|
|
12
|
-
browserRuntimeFeaturesReport,
|
|
13
|
-
)}${redirectTarget}`
|
|
14
|
-
window.location.href = href
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const getDirectoryUrl = ({
|
|
18
|
-
canAvoidCompilation,
|
|
19
|
-
outDirectoryRelativeUrl,
|
|
20
|
-
compileId,
|
|
21
|
-
}) => {
|
|
22
|
-
if (canAvoidCompilation) {
|
|
23
|
-
return `/`
|
|
24
|
-
}
|
|
25
|
-
return `/${outDirectoryRelativeUrl}${compileId}/`
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
redirect()
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { nodeRuntime } from "../../nodeRuntime.js"
|
|
2
|
-
import { PerformanceObserver, performance } from "perf_hooks"
|
|
3
|
-
|
|
4
|
-
export const execute = async ({
|
|
5
|
-
projectDirectoryUrl,
|
|
6
|
-
fileRelativeUrl,
|
|
7
|
-
compileServerOrigin,
|
|
8
|
-
outDirectoryRelativeUrl,
|
|
9
|
-
executionId,
|
|
10
|
-
// do not log in the console
|
|
11
|
-
// because error handling becomes responsability
|
|
12
|
-
// of node code launching node process
|
|
13
|
-
// it avoids seeing error in runtime logs during testing
|
|
14
|
-
errorExposureInConsole = false,
|
|
15
|
-
collectCoverage,
|
|
16
|
-
measurePerformance,
|
|
17
|
-
collectPerformance,
|
|
18
|
-
canUseNativeModuleSystem,
|
|
19
|
-
}) => {
|
|
20
|
-
let finalizeExecutionResult = (result) => result
|
|
21
|
-
|
|
22
|
-
if (collectPerformance) {
|
|
23
|
-
const measureEntries = []
|
|
24
|
-
// https://nodejs.org/dist/latest-v16.x/docs/api/perf_hooks.html
|
|
25
|
-
const perfObserver = new PerformanceObserver(
|
|
26
|
-
(
|
|
27
|
-
// https://nodejs.org/dist/latest-v16.x/docs/api/perf_hooks.html#perf_hooks_class_performanceobserverentrylist
|
|
28
|
-
list,
|
|
29
|
-
) => {
|
|
30
|
-
const perfMeasureEntries = list.getEntriesByType("measure")
|
|
31
|
-
measureEntries.push(...perfMeasureEntries)
|
|
32
|
-
},
|
|
33
|
-
)
|
|
34
|
-
perfObserver.observe({
|
|
35
|
-
entryTypes: ["measure"],
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
finalizeExecutionResult = async (executionResult) => {
|
|
39
|
-
// wait for node to call the performance observer
|
|
40
|
-
await new Promise((resolve) => {
|
|
41
|
-
setTimeout(resolve)
|
|
42
|
-
})
|
|
43
|
-
performance.clearMarks()
|
|
44
|
-
perfObserver.disconnect()
|
|
45
|
-
return {
|
|
46
|
-
...executionResult,
|
|
47
|
-
performance: {
|
|
48
|
-
...readNodePerformance(),
|
|
49
|
-
measures: measuresFromMeasureEntries(measureEntries),
|
|
50
|
-
},
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const { executeFile } = await nodeRuntime.create({
|
|
56
|
-
projectDirectoryUrl,
|
|
57
|
-
compileServerOrigin,
|
|
58
|
-
outDirectoryRelativeUrl,
|
|
59
|
-
canUseNativeModuleSystem,
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
const executionResult = await executeFile(fileRelativeUrl, {
|
|
63
|
-
executionId,
|
|
64
|
-
errorExposureInConsole,
|
|
65
|
-
measurePerformance,
|
|
66
|
-
collectCoverage,
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
return finalizeExecutionResult({
|
|
70
|
-
...executionResult,
|
|
71
|
-
indirectCoverage: global.__indirectCoverage__,
|
|
72
|
-
})
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const readNodePerformance = () => {
|
|
76
|
-
const nodePerformance = {
|
|
77
|
-
nodeTiming: asPlainObject(performance.nodeTiming),
|
|
78
|
-
timeOrigin: performance.timeOrigin,
|
|
79
|
-
eventLoopUtilization: performance.eventLoopUtilization(),
|
|
80
|
-
}
|
|
81
|
-
return nodePerformance
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// remove getters that cannot be stringified
|
|
85
|
-
const asPlainObject = (objectWithGetters) => {
|
|
86
|
-
const objectWithoutGetters = {}
|
|
87
|
-
Object.keys(objectWithGetters).forEach((key) => {
|
|
88
|
-
objectWithoutGetters[key] = objectWithGetters[key]
|
|
89
|
-
})
|
|
90
|
-
return objectWithoutGetters
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const measuresFromMeasureEntries = (measureEntries) => {
|
|
94
|
-
const measures = {}
|
|
95
|
-
// Sort to ensure measures order is predictable
|
|
96
|
-
// It seems to be already predictable on Node 16+ but
|
|
97
|
-
// it's not the case on Node 14.
|
|
98
|
-
measureEntries.sort((a, b) => {
|
|
99
|
-
return a.startTime - b.startTime
|
|
100
|
-
})
|
|
101
|
-
measureEntries.forEach(
|
|
102
|
-
(
|
|
103
|
-
// https://nodejs.org/dist/latest-v16.x/docs/api/perf_hooks.html#perf_hooks_class_performanceentry
|
|
104
|
-
perfMeasureEntry,
|
|
105
|
-
) => {
|
|
106
|
-
measures[perfMeasureEntry.name] = perfMeasureEntry.duration
|
|
107
|
-
},
|
|
108
|
-
)
|
|
109
|
-
return measures
|
|
110
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { scanNodeRuntimeFeatures } from "./scanNodeRuntimeFeatures.js"
|
|
2
|
-
import { createNodeExecutionWithSystemJs } from "./createNodeExecutionWithSystemJs.js"
|
|
3
|
-
import { createNodeExecutionWithDynamicImport } from "./createNodeExecutionWithDynamicImport.js"
|
|
4
|
-
|
|
5
|
-
export const createNodeRuntime = async ({
|
|
6
|
-
projectDirectoryUrl,
|
|
7
|
-
compileServerOrigin,
|
|
8
|
-
outDirectoryRelativeUrl,
|
|
9
|
-
canUseNativeModuleSystem = true,
|
|
10
|
-
}) => {
|
|
11
|
-
const nodeFeatures = await scanNodeRuntimeFeatures({
|
|
12
|
-
compileServerOrigin,
|
|
13
|
-
outDirectoryRelativeUrl,
|
|
14
|
-
})
|
|
15
|
-
const { canAvoidCompilation, compileId, importDefaultExtension } =
|
|
16
|
-
nodeFeatures
|
|
17
|
-
|
|
18
|
-
if (canAvoidCompilation && canUseNativeModuleSystem) {
|
|
19
|
-
return createNodeExecutionWithDynamicImport({
|
|
20
|
-
projectDirectoryUrl,
|
|
21
|
-
compileServerOrigin,
|
|
22
|
-
})
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return createNodeExecutionWithSystemJs({
|
|
26
|
-
projectDirectoryUrl,
|
|
27
|
-
compileServerOrigin,
|
|
28
|
-
outDirectoryRelativeUrl,
|
|
29
|
-
compileId,
|
|
30
|
-
importDefaultExtension,
|
|
31
|
-
})
|
|
32
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { memoize, resolveUrl } from "@jsenv/filesystem"
|
|
2
|
-
|
|
3
|
-
import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js"
|
|
4
|
-
|
|
5
|
-
const featureDetetcTopLevelAwaitFileUrl = resolveUrl(
|
|
6
|
-
"./src/internal/runtime/node-feature-detect/feature-detect-top-level-await.mjs",
|
|
7
|
-
jsenvCoreDirectoryUrl,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
export const nodeSupportsTopLevelAwait = memoize(async () => {
|
|
11
|
-
try {
|
|
12
|
-
const namespace = await import(featureDetetcTopLevelAwaitFileUrl)
|
|
13
|
-
const supported = namespace.default === 42
|
|
14
|
-
return supported
|
|
15
|
-
} catch (e) {
|
|
16
|
-
return false
|
|
17
|
-
}
|
|
18
|
-
})
|