@jsenv/core 23.8.3 → 23.8.9
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/dist/jsenv_browser_system.js +345 -326
- package/dist/jsenv_browser_system.js.map +1046 -119
- package/dist/jsenv_compile_proxy.js.map +364 -62
- package/dist/jsenv_exploring_index.js.map +338 -32
- package/dist/jsenv_exploring_redirector.js.map +404 -76
- package/dist/jsenv_toolbar.js.map +830 -112
- package/dist/jsenv_toolbar_injector.js.map +307 -27
- package/package.json +6 -6
- package/src/internal/{runtime/createBrowserRuntime → browser-launcher}/displayErrorInDocument.js +2 -0
- package/src/internal/{runtime/createBrowserRuntime → browser-launcher}/displayErrorNotification.js +1 -0
- package/src/internal/browser-launcher/executeHtmlFile.js +8 -0
- package/src/internal/browser-launcher/jsenv-browser-system.js +37 -10
- package/src/internal/building/buildUsingRollup.js +2 -10
- package/src/internal/compiling/compile-directory/compile-asset.js +7 -0
- package/src/internal/compiling/compileFile.js +12 -1
- package/src/internal/compiling/html_source_file_service.js +0 -1
- package/src/internal/compiling/js-compilation-service/jsenvTransform.js +3 -1
- package/src/internal/compiling/jsenvCompilerForHtml.js +85 -19
- package/src/internal/compiling/startCompileServer.js +53 -19
- package/src/internal/executing/coverage/reportToCoverage.js +7 -1
- package/src/internal/generateGroupMap/featuresCompatMap.js +29 -0
- package/src/internal/generateGroupMap/jsenvBabelPluginCompatMap.js +1 -8
- package/src/internal/runtime/createBrowserRuntime/createBrowserRuntime.js +1 -21
|
@@ -2,127 +2,845 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"file": "jsenv_toolbar.js",
|
|
4
4
|
"sources": [
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
5
|
+
"../node_modules/@jsenv/filesystem/src/urlIsInsideOf.js",
|
|
6
|
+
"../node_modules/@jsenv/filesystem/src/internal/getCommonPathname.js",
|
|
7
|
+
"../node_modules/@jsenv/filesystem/src/internal/pathnameToParentPathname.js",
|
|
8
|
+
"../node_modules/@jsenv/filesystem/src/urlToRelativeUrl.js",
|
|
9
|
+
"../helpers/babel/defineProperty/defineProperty.js",
|
|
10
|
+
"../node_modules/@jsenv/logger/src/createDetailedMessage.js",
|
|
11
|
+
"../helpers/babel/objectSpread2/objectSpread2.js",
|
|
12
|
+
"../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js",
|
|
13
|
+
"../helpers/babel/objectWithoutProperties/objectWithoutProperties.js",
|
|
14
|
+
"../helpers/babel/typeof/typeof.js",
|
|
15
|
+
"../src/internal/browser-utils/fetchUsingXHR.js",
|
|
16
|
+
"../src/internal/browser-utils/fetch-browser.js",
|
|
17
|
+
"../src/internal/browser-utils/fetchJson.js",
|
|
18
|
+
"../src/internal/exploring/fetchExploringJson.js",
|
|
19
|
+
"../src/internal/toolbar/util/dom.js",
|
|
20
|
+
"../src/internal/toolbar/util/animation.js",
|
|
21
|
+
"../src/internal/toolbar/focus/toolbar.focus.js",
|
|
22
|
+
"../src/internal/toolbar/backtolist/toolbar.backtolist.js",
|
|
23
|
+
"../src/internal/toolbar/util/preferences.js",
|
|
24
|
+
"../src/internal/toolbar/tooltip/tooltip.js",
|
|
25
|
+
"../src/internal/toolbar/settings/toolbar.settings.js",
|
|
26
|
+
"../src/internal/toolbar/notification/toolbar.notification.js",
|
|
27
|
+
"../src/internal/toolbar/theme/toolbar.theme.js",
|
|
28
|
+
"../src/internal/toolbar/animation/toolbar.animation.js",
|
|
29
|
+
"../src/internal/toolbar/variant/variant.js",
|
|
30
|
+
"../src/internal/toolbar/util/responsive.js",
|
|
31
|
+
"../src/internal/toolbar/execution/toolbar.execution.js",
|
|
32
|
+
"../src/internal/CONSTANTS.js",
|
|
33
|
+
"../src/internal/runtime/computeCompileIdFromGroupId.js",
|
|
34
|
+
"../src/internal/runtime/detectBrowser/util.js",
|
|
35
|
+
"../src/internal/runtime/detectBrowser/detectAndroid.js",
|
|
36
|
+
"../src/internal/runtime/detectBrowser/detectInternetExplorer.js",
|
|
37
|
+
"../src/internal/runtime/detectBrowser/detectOpera.js",
|
|
38
|
+
"../src/internal/runtime/detectBrowser/detectEdge.js",
|
|
39
|
+
"../src/internal/runtime/detectBrowser/detectFirefox.js",
|
|
40
|
+
"../src/internal/runtime/detectBrowser/detectChrome.js",
|
|
41
|
+
"../src/internal/runtime/detectBrowser/detectSafari.js",
|
|
42
|
+
"../src/internal/runtime/detectBrowser/detectElectron.js",
|
|
43
|
+
"../src/internal/runtime/detectBrowser/detectIOS.js",
|
|
44
|
+
"../src/internal/runtime/detectBrowser/detectBrowser.js",
|
|
45
|
+
"../src/internal/semantic-versioning/valueToVersion.js",
|
|
46
|
+
"../src/internal/semantic-versioning/versionCompare.js",
|
|
47
|
+
"../src/internal/semantic-versioning/versionIsBelow.js",
|
|
48
|
+
"../src/internal/semantic-versioning/findHighestVersion.js",
|
|
49
|
+
"../src/internal/runtime/resolveGroup.js",
|
|
50
|
+
"../src/internal/runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js",
|
|
51
|
+
"../src/internal/toolbar/compilation/toolbar.compilation.js",
|
|
52
|
+
"../src/internal/toolbar/util/util.js",
|
|
53
|
+
"../src/internal/toolbar/eventsource/connectEventSource.js",
|
|
54
|
+
"../src/internal/toolbar/eventsource/connectCompileServerEventSource.js",
|
|
55
|
+
"../src/internal/toolbar/eventsource/toolbar.eventsource.js",
|
|
56
|
+
"../src/internal/toolbar/responsive/toolbar.responsive.js",
|
|
57
|
+
"../src/internal/toolbar/toolbar.main.js"
|
|
58
58
|
],
|
|
59
59
|
"sourcesContent": [
|
|
60
|
-
"export
|
|
61
|
-
"export
|
|
62
|
-
"export
|
|
63
|
-
"import { getCommonPathname } from \"./internal/getCommonPathname.js\"
|
|
64
|
-
"export default (
|
|
65
|
-
"export
|
|
66
|
-
"import defineProperty from \"../defineProperty/defineProperty.js\"
|
|
67
|
-
"export default (
|
|
68
|
-
"import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"
|
|
69
|
-
"
|
|
70
|
-
"import _typeof from \"@jsenv/core/helpers/babel/typeof/typeof.js\";\nimport _defineProperty from \"@jsenv/core/helpers/babel/defineProperty/defineProperty.js\";\nimport { createDetailedMessage } from \"@jsenv/logger\";\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nfunction _call(body, then, direct) {\n if (direct) {\n return then ? then(body()) : body();\n }\n\n try {\n var result = Promise.resolve(body());\n return then ? result.then(then) : result;\n } catch (e) {\n return Promise.reject(e);\n }\n}\n\nexport var fetchUsingXHR = _async(function (url) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n signal = _ref.signal,\n _ref$method = _ref.method,\n method = _ref$method === void 0 ? \"GET\" : _ref$method,\n _ref$credentials = _ref.credentials,\n credentials = _ref$credentials === void 0 ? \"same-origin\" : _ref$credentials,\n _ref$headers = _ref.headers,\n headers = _ref$headers === void 0 ? {} : _ref$headers,\n _ref$body = _ref.body,\n body = _ref$body === void 0 ? null : _ref$body;\n\n var headersPromise = createPromiseAndHooks();\n var bodyPromise = createPromiseAndHooks();\n var xhr = new XMLHttpRequest();\n\n var failure = function 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 var cleanup = function cleanup() {\n xhr.ontimeout = null;\n xhr.onerror = null;\n xhr.onload = null;\n xhr.onreadystatechange = null;\n };\n\n xhr.ontimeout = function () {\n cleanup();\n failure(new Error(\"xhr request timeout on \".concat(url, \".\")));\n };\n\n xhr.onerror = function (error) {\n cleanup(); // unfortunately with have no clue why it fails\n // might be cors for instance\n\n failure(createRequestError(error, {\n url: url\n }));\n };\n\n xhr.onload = function () {\n cleanup();\n bodyPromise.resolve();\n };\n\n signal.addEventListener(\"abort\", function () {\n xhr.abort();\n var abortError = new Error(\"aborted\");\n abortError.name = \"AbortError\";\n failure(abortError);\n });\n\n xhr.onreadystatechange = function () {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n var readyState = xhr.readyState;\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(function (key) {\n xhr.setRequestHeader(key, headers[key]);\n });\n xhr.withCredentials = computeWithCredentials({\n credentials: credentials,\n url: url\n });\n\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\";\n }\n\n xhr.send(body);\n return _await(headersPromise, function () {\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n var responseUrl = \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"];\n var responseStatus = xhr.status;\n var responseStatusText = xhr.statusText;\n var responseHeaders = getHeadersFromXHR(xhr);\n\n var readBody = function readBody() {\n return _await(bodyPromise, function () {\n var status = xhr.status; // in Chrome on file:/// URLs, status is 0\n\n if (status === 0) {\n responseStatus = 200;\n }\n\n var body = \"response\" in xhr ? xhr.response : xhr.responseText;\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body)\n };\n });\n };\n\n var text = function text() {\n return _call(readBody, function (_ref2) {\n var responseBody = _ref2.responseBody,\n responseBodyType = _ref2.responseBodyType;\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody);\n }\n\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\");\n }\n\n return responseBodyType === \"dataView\" ? arrayBufferToText(responseBody.buffer) : responseBodyType === \"arrayBuffer\" ? arrayBufferToText(responseBody) : String(responseBody);\n });\n };\n\n var json = function json() {\n return _call(text, JSON.parse);\n };\n\n var blob = _async(function () {\n if (!hasBlob) {\n throw new Error(\"blob not supported\");\n }\n\n return _call(readBody, function (_ref3) {\n var responseBody = _ref3.responseBody,\n responseBodyType = _ref3.responseBodyType;\n\n if (responseBodyType === \"blob\") {\n return responseBody;\n }\n\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)]);\n }\n\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)]);\n }\n\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\");\n }\n\n return new Blob([String(responseBody)]);\n });\n });\n\n var arrayBuffer = function arrayBuffer() {\n return _call(readBody, function (_ref4) {\n var responseBody = _ref4.responseBody,\n responseBodyType = _ref4.responseBodyType;\n return responseBodyType === \"arrayBuffer\" ? cloneBuffer(responseBody) : _call(blob, blobToArrayBuffer);\n });\n };\n\n var formData = _async(function () {\n if (!hasFormData) {\n throw new Error(\"formData not supported\");\n }\n\n return _call(text, textToFormData);\n });\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text: text,\n json: json,\n blob: blob,\n arrayBuffer: arrayBuffer,\n formData: formData\n };\n });\n});\n\nvar canUseBlob = function canUseBlob() {\n if (typeof window.FileReader !== \"function\") return false;\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\nvar hasBlob = canUseBlob();\nvar hasFormData = typeof window.FormData === \"function\";\nvar hasArrayBuffer = typeof window.ArrayBuffer === \"function\";\nvar hasSearchParams = typeof window.URLSearchParams === \"function\";\n\nvar createRequestError = function createRequestError(error, _ref5) {\n var url = _ref5.url;\n return new Error(createDetailedMessage(\"error during xhr request on \".concat(url, \".\"), _defineProperty({}, \"error stack\", error.stack)));\n};\n\nvar createPromiseAndHooks = function createPromiseAndHooks() {\n var resolve;\n var reject;\n var promise = new Promise(function (res, rej) {\n resolve = function resolve(value) {\n promise.settled = true;\n res(value);\n };\n\n reject = function reject(value) {\n promise.settled = true;\n rej(value);\n };\n });\n promise.resolve = resolve;\n promise.reject = reject;\n return promise;\n}; // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\n\n\nvar computeWithCredentials = function computeWithCredentials(_ref6) {\n var credentials = _ref6.credentials,\n url = _ref6.url;\n\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url);\n }\n\n return credentials === \"include\";\n};\n\nvar originSameAsGlobalOrigin = function originSameAsGlobalOrigin(url) {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== \"object\") return true;\n if (_typeof(window.location) !== \"object\") return true;\n var globalOrigin = window.location.origin;\n if (globalOrigin === \"null\") return true;\n return hrefToOrigin(url) === globalOrigin;\n};\n\nvar detectBodyType = function detectBodyType(body) {\n if (!body) {\n return \"\";\n }\n\n if (typeof body === \"string\") {\n return \"text\";\n }\n\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\";\n }\n\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\";\n }\n\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return \"dataView\";\n }\n\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return \"arrayBuffer\";\n }\n }\n\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\";\n }\n\n return \"\";\n}; // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\n\n\nvar getHeadersFromXHR = function getHeadersFromXHR(xhr) {\n var headerMap = {};\n var headersString = xhr.getAllResponseHeaders();\n if (headersString === \"\") return headerMap;\n var lines = headersString.trim().split(/[\\r\\n]+/);\n lines.forEach(function (line) {\n var parts = line.split(\": \");\n var name = parts.shift();\n var value = parts.join(\": \");\n headerMap[name.toLowerCase()] = value;\n });\n return headerMap;\n};\n\nvar hrefToOrigin = function hrefToOrigin(href) {\n var scheme = hrefToScheme(href);\n\n if (scheme === \"file\") {\n return \"file://\";\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n var secondProtocolSlashIndex = scheme.length + \"://\".length;\n var pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex);\n if (pathnameSlashIndex === -1) return href;\n return href.slice(0, pathnameSlashIndex);\n }\n\n return href.slice(0, scheme.length + 1);\n};\n\nvar hrefToScheme = function hrefToScheme(href) {\n var colonIndex = href.indexOf(\":\");\n if (colonIndex === -1) return \"\";\n return href.slice(0, colonIndex);\n};\n\nvar isDataView = function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj);\n};\n\nvar isArrayBufferView = ArrayBuffer.isView || function () {\n var viewClasses = [\"[object Int8Array]\", \"[object Uint8Array]\", \"[object Uint8ClampedArray]\", \"[object Int16Array]\", \"[object Uint16Array]\", \"[object Int32Array]\", \"[object Uint32Array]\", \"[object Float32Array]\", \"[object Float64Array]\"];\n return function (value) {\n return value && viewClasses.includes(Object.prototype.toString.call(value));\n };\n}();\n\nvar textToFormData = function textToFormData(text) {\n var form = new FormData();\n text.trim().split(\"&\").forEach(function (bytes) {\n if (bytes) {\n var split = bytes.split(\"=\");\n var name = split.shift().replace(/\\+/g, \" \");\n var value = split.join(\"=\").replace(/\\+/g, \" \");\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form;\n};\n\nvar blobToArrayBuffer = _async(function (blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise;\n});\n\nvar blobToText = function blobToText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise;\n};\n\nvar arrayBufferToText = function arrayBufferToText(arrayBuffer) {\n var view = new Uint8Array(arrayBuffer);\n var chars = new Array(view.length);\n var i = 0;\n\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i]);\n i++;\n }\n\n return chars.join(\"\");\n};\n\nvar fileReaderReady = function fileReaderReady(reader) {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result);\n };\n\n reader.onerror = function () {\n reject(reader.error);\n };\n });\n};\n\nvar cloneBuffer = function cloneBuffer(buffer) {\n if (buffer.slice) {\n return buffer.slice(0);\n }\n\n var view = new Uint8Array(buffer.byteLength);\n view.set(new Uint8Array(buffer));\n return view.buffer;\n};\n//# sourceMappingURL=fetchUsingXHR.js.map",
|
|
71
|
-
"import
|
|
72
|
-
"import { fetchUrl } from \"./fetch-browser.js\"
|
|
73
|
-
"import
|
|
74
|
-
"export
|
|
75
|
-
"import _objectWithoutProperties from \"@jsenv/core/helpers/babel/objectWithoutProperties/objectWithoutProperties.js\";\nvar _excluded = [\"signal\"];\n\nfunction _empty() {}\n\nimport { setStyles } from \"./dom.js\";\n\nfunction _awaitIgnored(value, direct) {\n if (!direct) {\n return value && value.then ? value.then(_empty) : Promise.resolve();\n }\n}\n\nvar animateFallback = function animateFallback() {\n return Promise.resolve();\n};\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nvar animateNative = function animateNative(node, keyframes) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var signal = _ref.signal,\n options = _objectWithoutProperties(_ref, _excluded);\n\n var animation = node.animate(keyframes, options);\n\n if (signal) {\n signal.addEventListener(\"abort\", function () {\n animation.cancel();\n });\n }\n\n return new Promise(function (resolve) {\n animation.onfinish = resolve;\n });\n};\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nexport var canUseAnimation = function canUseAnimation() {\n return typeof HTMLElement.prototype.animate === \"function\";\n};\nexport var animateElement = canUseAnimation() ? animateNative : animateFallback;\nexport var fadeIn = function fadeIn(node, options) {\n return animateElement(node, [{\n opacity: 0\n }, {\n opacity: 1\n }], options);\n};\nexport var fadeOut = function fadeOut(node, options) {\n return animateElement(node, [{\n opacity: 1\n }, {\n opacity: 0\n }], options);\n};\nexport var move = function move(fromNode, toNode, options) {\n var fromComputedStyle = window.getComputedStyle(fromNode);\n var toComputedStyle = window.getComputedStyle(toNode); // get positions of input in toolbar and aElement\n\n var fromPosition = fromNode.getBoundingClientRect();\n var toPosition = toNode.getBoundingClientRect(); // we'll do the animation in a div preventing overflow and pointer events\n\n var div = document.createElement(\"div\");\n div.style.position = \"absolute\";\n div.style.left = 0;\n div.style.top = 0;\n div.style.width = \"\".concat(document.documentElement.scrollWidth, \"px\");\n div.style.height = \"\".concat(document.documentElement.scrollHeight, \"px\");\n div.style.overflow = \"hidden\";\n div.style.pointerEvents = \"none\";\n var documentScroll = {\n left: window.pageXOffset || document.documentElement.scrollLeft,\n top: window.pageYOffset || document.documentElement.scrollTop\n }; // clone node and style it\n\n var copy = fromNode.cloneNode(true);\n copy.style.position = \"absolute\";\n copy.style.left = \"\".concat(documentScroll.left + fromPosition.left, \"px\");\n copy.style.top = \"\".concat(documentScroll.top + fromPosition.top, \"px\");\n copy.style.maxWidth = \"\".concat(fromPosition.right - fromPosition.left, \"px\");\n copy.style.overflow = toComputedStyle.overflow;\n copy.style.textOverflow = toComputedStyle.textOverflow;\n div.appendChild(copy);\n document.body.appendChild(div);\n var left = toPosition.left - fromPosition.left - (parseInt(fromComputedStyle.paddingLeft) || 0);\n var top = toPosition.top - fromPosition.top - (parseInt(fromComputedStyle.paddingTop) || 0); // define final position of new element and the duration\n\n var translate = \"translate(\".concat(left, \"px, \").concat(top, \"px)\"); // animate new element\n\n return animateElement(copy, [{\n transform: \"translate(0px, 0px)\",\n backgroundColor: fromComputedStyle.backgroundColor,\n color: fromComputedStyle.color,\n fontSize: fromComputedStyle.fontSize,\n height: \"\".concat(fromPosition.bottom - fromPosition.top, \"px\"),\n width: \"100%\"\n }, {\n offset: 0.9,\n backgroundColor: fromComputedStyle.backgroundColor,\n color: fromComputedStyle.color\n }, {\n transform: translate,\n backgroundColor: toComputedStyle.backgroundColor,\n color: toComputedStyle.color,\n fontSize: toComputedStyle.fontSize,\n height: \"\".concat(toPosition.bottom - toPosition.top, \"px\"),\n width: toComputedStyle.width\n }], options).then(function () {\n div.parentNode.removeChild(div);\n });\n}; // the whole point of this toolbar animation wass to flight a visual imperfection when it's done by css transition.\n// This imperfection is a white line sometimes flickering at the bottom of the page.\n// It got fixed by removing the usage of calc(100vh - 40px)\n// It was hapenning in chrome, safari but not inside Firefox\n// I assume it's because Firefox does not read parent element min-height while\n// chrome use it to compute min-height: 100%\n\nexport var createToolbarAnimation = function createToolbarAnimation() {\n var collapsedState = {\n \"#page\": {\n paddingBottom: 0\n },\n \"footer\": {\n height: 0\n },\n \"#toolbar\": {\n visibility: \"hidden\"\n }\n };\n var expandedState = {\n \"#page\": {\n paddingBottom: \"40px\"\n },\n \"footer\": {\n height: \"40px\"\n },\n \"#toolbar\": {\n visibility: \"visible\"\n }\n };\n var expandTransition = transit(collapsedState, expandedState, {\n duration: 300\n });\n\n var expand = function expand() {\n expandTransition.play();\n };\n\n var collapse = function collapse() {\n expandTransition.reverse();\n };\n\n return {\n expand: expand,\n collapse: collapse\n };\n};\nexport var transit = function transit(fromState, toState) {\n var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref2$commitStyles = _ref2.commitStyles,\n commitStyles = _ref2$commitStyles === void 0 ? true : _ref2$commitStyles,\n _ref2$fill = _ref2.fill,\n fill = _ref2$fill === void 0 ? \"both\" : _ref2$fill,\n _ref2$duration = _ref2.duration,\n duration = _ref2$duration === void 0 ? 300 : _ref2$duration;\n\n var steps = [];\n Object.keys(fromState).forEach(function (selector) {\n var fromStyles = {};\n var toStyles = {};\n var element = document.querySelector(selector);\n var keyframes = [];\n var fromProperties = fromState[selector];\n var toProperties = toState[selector];\n Object.keys(fromProperties).forEach(function (propertyName) {\n var from = fromProperties[propertyName];\n var to = toProperties[propertyName];\n fromStyles[propertyName] = from;\n toStyles[propertyName] = to;\n });\n keyframes.push(fromStyles, toStyles);\n var animation;\n\n if (canUseAnimation()) {\n var effect = new KeyframeEffect(element, keyframes, {\n fill: fill,\n duration: duration\n });\n animation = new Animation(effect);\n } else {\n animation = {\n playbackRate: 1,\n play: function play() {\n animation.onfinish();\n },\n reverse: function reverse() {\n animation.playbackRate = -1;\n animation.onfinish();\n },\n finish: function finish() {},\n onfinish: function onfinish() {}\n };\n }\n\n steps.push({\n element: element,\n animation: animation,\n fromStyles: fromStyles,\n toStyles: toStyles\n });\n });\n\n var play = _async(function () {\n return _awaitIgnored(Promise.all(steps.map(function (_ref3) {\n var animation = _ref3.animation,\n element = _ref3.element,\n toStyles = _ref3.toStyles;\n return new Promise(function (resolve) {\n animation.onfinish = function () {\n if (commitStyles) {\n setStyles(element, toStyles);\n }\n\n resolve();\n };\n\n if (animation.playbackRate === -1) {\n animation.reverse();\n } else {\n animation.play();\n }\n });\n })));\n });\n\n var reverse = _async(function () {\n return _awaitIgnored(Promise.all(steps.map(function (_ref4) {\n var animation = _ref4.animation,\n element = _ref4.element,\n fromStyles = _ref4.fromStyles;\n return new Promise(function (resolve) {\n animation.onfinish = function () {\n if (commitStyles) {\n setStyles(element, fromStyles);\n }\n\n resolve();\n };\n\n animation.reverse();\n });\n })));\n });\n\n var finish = _async(function () {\n steps.forEach(function (_ref5) {\n var animation = _ref5.animation;\n animation.finish();\n });\n return _await();\n });\n\n return {\n play: play,\n reverse: reverse,\n finish: finish\n };\n};\nexport var startJavaScriptAnimation = function startJavaScriptAnimation(_ref6) {\n var _ref6$duration = _ref6.duration,\n duration = _ref6$duration === void 0 ? 300 : _ref6$duration,\n _ref6$timingFunction = _ref6.timingFunction,\n timingFunction = _ref6$timingFunction === void 0 ? function (t) {\n return t;\n } : _ref6$timingFunction,\n _ref6$onProgress = _ref6.onProgress,\n onProgress = _ref6$onProgress === void 0 ? function () {} : _ref6$onProgress,\n _ref6$onCancel = _ref6.onCancel,\n onCancel = _ref6$onCancel === void 0 ? function () {} : _ref6$onCancel,\n _ref6$onComplete = _ref6.onComplete,\n onComplete = _ref6$onComplete === void 0 ? function () {} : _ref6$onComplete;\n\n if (isNaN(duration)) {\n // console.warn(`duration must be a number, received ${duration}`)\n return function () {};\n }\n\n duration = parseInt(duration, 10);\n var startMs = performance.now();\n var currentRequestAnimationFrameId;\n var done = false;\n var rawProgress = 0;\n var progress = 0;\n\n var handler = function handler() {\n currentRequestAnimationFrameId = null;\n var nowMs = performance.now();\n rawProgress = Math.min((nowMs - startMs) / duration, 1);\n progress = timingFunction(rawProgress);\n done = rawProgress === 1;\n onProgress({\n done: done,\n rawProgress: rawProgress,\n progress: progress\n });\n\n if (done) {\n onComplete();\n } else {\n currentRequestAnimationFrameId = window.requestAnimationFrame(handler);\n }\n };\n\n handler();\n\n var stop = function stop() {\n if (currentRequestAnimationFrameId) {\n window.cancelAnimationFrame(currentRequestAnimationFrameId);\n currentRequestAnimationFrameId = null;\n }\n\n if (!done) {\n done = true;\n onCancel({\n rawProgress: rawProgress,\n progress: progress\n });\n }\n };\n\n return stop;\n};\n//# sourceMappingURL=animation.js.map",
|
|
76
|
-
"// handle data-last-interaction attr on html (focusring)\nwindow.addEventListener(\"mousedown\",
|
|
77
|
-
"export
|
|
78
|
-
"export
|
|
79
|
-
"import { updateIframeOverflowOnParentWindow } from \"../util/dom.js\"
|
|
80
|
-
"import {
|
|
81
|
-
"import
|
|
82
|
-
"import { createPreference } from \"../util/preferences.js\"
|
|
83
|
-
"import { createPreference } from \"../util/preferences.js\"
|
|
84
|
-
"export
|
|
85
|
-
"export
|
|
86
|
-
"import { removeForceHideElement, activateToolbarSection } from \"../util/dom.js\"
|
|
87
|
-
"export
|
|
88
|
-
"import
|
|
89
|
-
"export
|
|
90
|
-
"import { firstMatch } from \"./util.js\"
|
|
91
|
-
"import { firstMatch } from \"./util.js\"
|
|
92
|
-
"import { firstMatch, userAgentToVersion } from \"./util.js\"
|
|
93
|
-
"import { secondMatch } from \"./util.js\"
|
|
94
|
-
"import { firstMatch } from \"./util.js\"
|
|
95
|
-
"import { userAgentToVersion, firstMatch } from \"./util.js\"
|
|
96
|
-
"import { userAgentToVersion } from \"./util.js\"
|
|
97
|
-
"export
|
|
98
|
-
"import { firstMatch } from \"./util.js\"
|
|
99
|
-
"// 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\nimport { detectAndroid } from \"./detectAndroid.js\"
|
|
100
|
-
"export
|
|
101
|
-
"import { valueToVersion } from \"./valueToVersion.js\"
|
|
102
|
-
"import { versionCompare } from \"./versionCompare.js\"
|
|
103
|
-
"import { versionIsBelow } from \"./versionIsBelow.js\"
|
|
104
|
-
"import { findHighestVersion } from \"../semantic-versioning/index.js\"
|
|
105
|
-
"import _defineProperty from \"@jsenv/core/helpers/babel/defineProperty/defineProperty.js\";\nimport { fetchJson } from \"../../browser-utils/fetchJson.js\";\nimport { computeCompileIdFromGroupId } from \"../computeCompileIdFromGroupId.js\";\nimport { detectBrowser } from \"../detectBrowser/detectBrowser.js\";\nimport { resolveGroup } from \"../resolveGroup.js\";\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nfunction _call(body, then, direct) {\n if (direct) {\n return then ? then(body()) : body();\n }\n\n try {\n var result = Promise.resolve(body());\n return then ? result.then(then) : result;\n } catch (e) {\n return Promise.reject(e);\n }\n}\n\nfunction _invoke(body, then) {\n var result = body();\n\n if (result && result.then) {\n return result.then(then);\n }\n\n return then(result);\n}\n\nfunction _catch(body, recover) {\n try {\n var result = body();\n } catch (e) {\n return recover(e);\n }\n\n if (result && result.then) {\n return result.then(void 0, recover);\n }\n\n return result;\n}\n\nexport var scanBrowserRuntimeFeatures = _async(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$coverageHandledF = _ref.coverageHandledFromOutside,\n coverageHandledFromOutside = _ref$coverageHandledF === void 0 ? false : _ref$coverageHandledF,\n _ref$failFastOnFeatur = _ref.failFastOnFeatureDetection,\n failFastOnFeatureDetection = _ref$failFastOnFeatur === void 0 ? false : _ref$failFastOnFeatur;\n\n return _await(fetchJson(\"/.jsenv/__compile_server_meta__.json\"), function (_ref2) {\n var outDirectoryRelativeUrl = _ref2.outDirectoryRelativeUrl,\n inlineImportMapIntoHTML = _ref2.inlineImportMapIntoHTML,\n customCompilerPatterns = _ref2.customCompilerPatterns,\n compileServerGroupMap = _ref2.compileServerGroupMap;\n var browser = detectBrowser();\n var compileId = computeCompileIdFromGroupId({\n groupId: resolveGroup(browser, compileServerGroupMap),\n groupMap: compileServerGroupMap\n });\n var groupInfo = compileServerGroupMap[compileId];\n var featuresReport = {\n importmap: undefined,\n dynamicImport: undefined,\n topLevelAwait: undefined,\n jsonImportAssertions: undefined,\n cssImportAssertions: undefined,\n newStylesheet: undefined\n };\n return _await(detectSupportedFeatures({\n featuresReport: featuresReport,\n failFastOnFeatureDetection: failFastOnFeatureDetection,\n inlineImportMapIntoHTML: inlineImportMapIntoHTML\n }), function () {\n return _await(pluginRequiredNamesFromGroupInfo(groupInfo, {\n featuresReport: featuresReport,\n coverageHandledFromOutside: coverageHandledFromOutside\n }), function (pluginRequiredNameArray) {\n var canAvoidCompilation = customCompilerPatterns.length === 0 && pluginRequiredNameArray.length === 0 && featuresReport.importmap && featuresReport.dynamicImport && featuresReport.topLevelAwait;\n return {\n canAvoidCompilation: canAvoidCompilation,\n featuresReport: featuresReport,\n customCompilerPatterns: customCompilerPatterns,\n pluginRequiredNameArray: pluginRequiredNameArray,\n inlineImportMapIntoHTML: inlineImportMapIntoHTML,\n outDirectoryRelativeUrl: outDirectoryRelativeUrl,\n compileId: compileId,\n browser: browser\n };\n });\n });\n });\n});\n\nvar detectSupportedFeatures = _async(function (_ref3) {\n var featuresReport = _ref3.featuresReport,\n failFastOnFeatureDetection = _ref3.failFastOnFeatureDetection,\n inlineImportMapIntoHTML = _ref3.inlineImportMapIntoHTML;\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 return _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 }), function (importmap) {\n featuresReport.importmap = importmap;\n\n if (!importmap && failFastOnFeatureDetection) {\n return;\n }\n\n return _call(supportsDynamicImport, function (dynamicImport) {\n featuresReport.dynamicImport = dynamicImport;\n\n if (!dynamicImport && failFastOnFeatureDetection) {\n return;\n }\n\n return _call(supportsTopLevelAwait, function (topLevelAwait) {\n featuresReport.topLevelAwait = topLevelAwait;\n\n if (!topLevelAwait && failFastOnFeatureDetection) {}\n });\n });\n });\n});\n\nvar pluginRequiredNamesFromGroupInfo = _async(function (groupInfo, _ref4) {\n var featuresReport = _ref4.featuresReport,\n coverageHandledFromOutside = _ref4.coverageHandledFromOutside;\n var pluginRequiredNameArray = groupInfo.pluginRequiredNameArray;\n var requiredPluginNames = pluginRequiredNameArray.slice();\n\n var markPluginAsSupported = function markPluginAsSupported(name) {\n var index = requiredPluginNames.indexOf(name);\n\n if (index > -1) {\n requiredPluginNames.splice(index, 1);\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\n\n if (coverageHandledFromOutside) {\n markPluginAsSupported(\"transform-instrument\");\n }\n\n return _invoke(function () {\n if (pluginRequiredNameArray.includes(\"transform-import-assertions\")) {\n return _call(supportsJsonImportAssertions, function (jsonImportAssertions) {\n featuresReport.jsonImportAssertions = jsonImportAssertions;\n return _call(supportsCssImportAssertions, function (cssImportAssertions) {\n featuresReport.cssImportAssertions = cssImportAssertions;\n\n if (jsonImportAssertions && cssImportAssertions) {\n markPluginAsSupported(\"transform-import-assertions\");\n }\n });\n });\n }\n }, function () {\n if (pluginRequiredNameArray.includes(\"new-stylesheet-as-jsenv-import\")) {\n var newStylesheet = supportsNewStylesheet();\n featuresReport.newStylesheet = newStylesheet;\n markPluginAsSupported(\"new-stylesheet-as-jsenv-import\");\n }\n\n return requiredPluginNames;\n });\n});\n\nvar supportsNewStylesheet = function 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\nvar supportsImportmap = _async(function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref5$remote = _ref5.remote,\n remote = _ref5$remote === void 0 ? true : _ref5$remote;\n\n var specifier = asBase64Url(\"export default false\");\n var importMap = {\n imports: _defineProperty({}, specifier, asBase64Url(\"export default true\"))\n };\n var importmapScript = document.createElement(\"script\");\n var importmapString = JSON.stringify(importMap, null, \" \");\n importmapScript.type = \"importmap\";\n\n if (remote) {\n importmapScript.src = \"data:application/json;base64,\".concat(window.btoa(importmapString));\n } else {\n importmapScript.textContent = importmapString;\n }\n\n document.body.appendChild(importmapScript);\n var scriptModule = document.createElement(\"script\");\n scriptModule.type = \"module\";\n scriptModule.src = asBase64Url(\"import supported from \\\"\".concat(specifier, \"\\\"; window.__importmap_supported = supported\"));\n return new Promise(function (resolve, reject) {\n scriptModule.onload = function () {\n var supported = window.__importmap_supported;\n delete window.__importmap_supported;\n document.body.removeChild(scriptModule);\n document.body.removeChild(importmapScript);\n resolve(supported);\n };\n\n scriptModule.onerror = function () {\n document.body.removeChild(scriptModule);\n document.body.removeChild(importmapScript);\n reject();\n };\n\n document.body.appendChild(scriptModule);\n });\n});\n\nvar supportsDynamicImport = _async(function () {\n var moduleSource = asBase64Url(\"export default 42\");\n return _catch(function () {\n return _await(import(moduleSource), function (namespace) {\n return namespace.default === 42;\n });\n }, function () {\n return false;\n });\n});\n\nvar supportsTopLevelAwait = _async(function () {\n var moduleSource = asBase64Url(\"export default await Promise.resolve(42)\");\n return _catch(function () {\n return _await(import(moduleSource), function (namespace) {\n return namespace.default === 42;\n });\n }, function () {\n return false;\n });\n});\n\nvar supportsJsonImportAssertions = _async(function () {\n var jsonBase64Url = asBase64Url(\"42\", \"application/json\");\n var moduleSource = asBase64Url(\"export { default } from \\\"\".concat(jsonBase64Url, \"\\\" assert { type: \\\"json\\\" }\"));\n return _catch(function () {\n return _await(import(moduleSource), function (namespace) {\n return namespace.default === 42;\n });\n }, function () {\n return false;\n });\n});\n\nvar supportsCssImportAssertions = _async(function () {\n var cssBase64Url = asBase64Url(\"p { color: red; }\", \"text/css\");\n var moduleSource = asBase64Url(\"export { default } from \\\"\".concat(cssBase64Url, \"\\\" assert { type: \\\"css\\\" }\"));\n return _catch(function () {\n return _await(import(moduleSource), function (namespace) {\n return namespace.default instanceof CSSStyleSheet;\n });\n }, function () {\n return false;\n });\n});\n\nvar asBase64Url = function asBase64Url(text) {\n var mimeType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"application/javascript\";\n return \"data:\".concat(mimeType, \";base64,\").concat(window.btoa(text));\n};\n//# sourceMappingURL=scanBrowserRuntimeFeatures.js.map",
|
|
106
|
-
"import { scanBrowserRuntimeFeatures } from \"../../runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js\"
|
|
107
|
-
"export
|
|
108
|
-
"export
|
|
109
|
-
"import { connectEventSource } from \"./connectEventSource.js\"
|
|
110
|
-
"import { removeForceHideElement } from \"../util/dom.js\"
|
|
111
|
-
"import {
|
|
112
|
-
"import { urlIsInsideOf } from \"@jsenv/filesystem/src/urlIsInsideOf.js\"
|
|
60
|
+
"export const urlIsInsideOf = (url, otherUrl) => {\n const urlObject = new URL(url)\n const otherUrlObject = new URL(otherUrl)\n\n if (urlObject.origin !== otherUrlObject.origin) {\n return false\n }\n\n const urlPathname = urlObject.pathname\n const otherUrlPathname = otherUrlObject.pathname\n if (urlPathname === otherUrlPathname) {\n return false\n }\n\n const isInside = urlPathname.startsWith(otherUrlPathname)\n return isInside\n}\n",
|
|
61
|
+
"export const getCommonPathname = (pathname, otherPathname) => {\n const firstDifferentCharacterIndex = findFirstDifferentCharacterIndex(\n pathname,\n otherPathname,\n )\n\n // pathname and otherpathname are exactly the same\n if (firstDifferentCharacterIndex === -1) {\n return pathname\n }\n\n const commonString = pathname.slice(0, firstDifferentCharacterIndex + 1)\n\n // the first different char is at firstDifferentCharacterIndex\n if (pathname.charAt(firstDifferentCharacterIndex) === \"/\") {\n return commonString\n }\n\n if (otherPathname.charAt(firstDifferentCharacterIndex) === \"/\") {\n return commonString\n }\n\n const firstDifferentSlashIndex = commonString.lastIndexOf(\"/\")\n return pathname.slice(0, firstDifferentSlashIndex + 1)\n}\n\nconst findFirstDifferentCharacterIndex = (string, otherString) => {\n const maxCommonLength = Math.min(string.length, otherString.length)\n let i = 0\n while (i < maxCommonLength) {\n const char = string.charAt(i)\n const otherChar = otherString.charAt(i)\n if (char !== otherChar) {\n return i\n }\n i++\n }\n if (string.length === otherString.length) {\n return -1\n }\n // they differ at maxCommonLength\n return maxCommonLength\n}\n",
|
|
62
|
+
"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",
|
|
63
|
+
"import { getCommonPathname } from \"./internal/getCommonPathname.js\"\nimport { pathnameToParentPathname } from \"./internal/pathnameToParentPathname.js\"\n\nexport const urlToRelativeUrl = (url, baseUrl) => {\n const urlObject = new URL(url)\n const baseUrlObject = new URL(baseUrl)\n\n if (urlObject.protocol !== baseUrlObject.protocol) {\n const urlAsString = String(url)\n return urlAsString\n }\n\n if (\n urlObject.username !== baseUrlObject.username ||\n urlObject.password !== baseUrlObject.password ||\n urlObject.host !== baseUrlObject.host\n ) {\n const afterUrlScheme = String(url).slice(urlObject.protocol.length)\n return afterUrlScheme\n }\n\n const { pathname, hash, search } = urlObject\n if (pathname === \"/\") {\n const baseUrlRessourceWithoutLeadingSlash = baseUrlObject.pathname.slice(1)\n return baseUrlRessourceWithoutLeadingSlash\n }\n\n const basePathname = baseUrlObject.pathname\n const commonPathname = getCommonPathname(pathname, basePathname)\n if (!commonPathname) {\n const urlAsString = String(url)\n return urlAsString\n }\n\n const specificPathname = pathname.slice(commonPathname.length)\n const baseSpecificPathname = basePathname.slice(commonPathname.length)\n if (baseSpecificPathname.includes(\"/\")) {\n const baseSpecificParentPathname =\n pathnameToParentPathname(baseSpecificPathname)\n const relativeDirectoriesNotation = baseSpecificParentPathname.replace(\n /.*?\\//g,\n \"../\",\n )\n const relativeUrl = `${relativeDirectoriesNotation}${specificPathname}${search}${hash}`\n return relativeUrl\n }\n\n const relativeUrl = `${specificPathname}${search}${hash}`\n return relativeUrl\n}\n",
|
|
64
|
+
"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",
|
|
65
|
+
"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",
|
|
66
|
+
"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",
|
|
67
|
+
"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",
|
|
68
|
+
"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",
|
|
69
|
+
"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",
|
|
70
|
+
"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",
|
|
71
|
+
"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",
|
|
72
|
+
"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",
|
|
73
|
+
"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",
|
|
74
|
+
"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",
|
|
75
|
+
"import { setStyles } from \"./dom.js\"\n\nconst animateFallback = () => {\n return Promise.resolve()\n}\n\nconst animateNative = (node, keyframes, { signal, ...options } = {}) => {\n const animation = node.animate(keyframes, options)\n if (signal) {\n signal.addEventListener(\"abort\", () => {\n animation.cancel()\n })\n }\n return new Promise((resolve) => {\n animation.onfinish = resolve\n })\n}\n\nexport const canUseAnimation = () =>\n typeof HTMLElement.prototype.animate === \"function\"\n\nexport const animateElement = canUseAnimation()\n ? animateNative\n : animateFallback\n\nexport const fadeIn = (node, options) =>\n animateElement(\n node,\n [\n {\n opacity: 0,\n },\n {\n opacity: 1,\n },\n ],\n options,\n )\n\nexport const fadeOut = (node, options) =>\n animateElement(\n node,\n [\n {\n opacity: 1,\n },\n {\n opacity: 0,\n },\n ],\n options,\n )\n\nexport const move = (fromNode, toNode, options) => {\n const fromComputedStyle = window.getComputedStyle(fromNode)\n const toComputedStyle = window.getComputedStyle(toNode)\n // get positions of input in toolbar and aElement\n const fromPosition = fromNode.getBoundingClientRect()\n const toPosition = toNode.getBoundingClientRect()\n\n // we'll do the animation in a div preventing overflow and pointer events\n const div = document.createElement(\"div\")\n div.style.position = \"absolute\"\n div.style.left = 0\n div.style.top = 0\n div.style.width = `${document.documentElement.scrollWidth}px`\n div.style.height = `${document.documentElement.scrollHeight}px`\n div.style.overflow = \"hidden\"\n div.style.pointerEvents = \"none\"\n\n const documentScroll = {\n left: window.pageXOffset || document.documentElement.scrollLeft,\n top: window.pageYOffset || document.documentElement.scrollTop,\n }\n\n // clone node and style it\n const copy = fromNode.cloneNode(true)\n copy.style.position = \"absolute\"\n copy.style.left = `${documentScroll.left + fromPosition.left}px`\n copy.style.top = `${documentScroll.top + fromPosition.top}px`\n copy.style.maxWidth = `${fromPosition.right - fromPosition.left}px`\n copy.style.overflow = toComputedStyle.overflow\n copy.style.textOverflow = toComputedStyle.textOverflow\n div.appendChild(copy)\n document.body.appendChild(div)\n\n const left =\n toPosition.left -\n fromPosition.left -\n (parseInt(fromComputedStyle.paddingLeft) || 0)\n const top =\n toPosition.top -\n fromPosition.top -\n (parseInt(fromComputedStyle.paddingTop) || 0)\n // define final position of new element and the duration\n const translate = `translate(${left}px, ${top}px)`\n\n // animate new element\n return animateElement(\n copy,\n [\n {\n transform: \"translate(0px, 0px)\",\n backgroundColor: fromComputedStyle.backgroundColor,\n color: fromComputedStyle.color,\n fontSize: fromComputedStyle.fontSize,\n height: `${fromPosition.bottom - fromPosition.top}px`,\n width: \"100%\",\n },\n {\n offset: 0.9,\n backgroundColor: fromComputedStyle.backgroundColor,\n color: fromComputedStyle.color,\n },\n {\n transform: translate,\n backgroundColor: toComputedStyle.backgroundColor,\n color: toComputedStyle.color,\n fontSize: toComputedStyle.fontSize,\n height: `${toPosition.bottom - toPosition.top}px`,\n width: toComputedStyle.width,\n },\n ],\n options,\n ).then(() => {\n div.parentNode.removeChild(div)\n })\n}\n\n// the whole point of this toolbar animation wass to flight a visual imperfection when it's done by css transition.\n// This imperfection is a white line sometimes flickering at the bottom of the page.\n// It got fixed by removing the usage of calc(100vh - 40px)\n// It was hapenning in chrome, safari but not inside Firefox\n// I assume it's because Firefox does not read parent element min-height while\n// chrome use it to compute min-height: 100%\nexport const createToolbarAnimation = () => {\n const collapsedState = {\n \"#page\": { paddingBottom: 0 },\n \"footer\": { height: 0 },\n \"#toolbar\": { visibility: \"hidden\" },\n }\n const expandedState = {\n \"#page\": { paddingBottom: \"40px\" },\n \"footer\": { height: \"40px\" },\n \"#toolbar\": { visibility: \"visible\" },\n }\n const expandTransition = transit(collapsedState, expandedState, {\n duration: 300,\n })\n\n const expand = () => {\n expandTransition.play()\n }\n\n const collapse = () => {\n expandTransition.reverse()\n }\n\n return { expand, collapse }\n}\n\nexport const transit = (\n fromState,\n toState,\n { commitStyles = true, fill = \"both\", duration = 300 } = {},\n) => {\n const steps = []\n Object.keys(fromState).forEach((selector) => {\n const fromStyles = {}\n const toStyles = {}\n const element = document.querySelector(selector)\n\n const keyframes = []\n const fromProperties = fromState[selector]\n const toProperties = toState[selector]\n Object.keys(fromProperties).forEach((propertyName) => {\n const from = fromProperties[propertyName]\n const to = toProperties[propertyName]\n fromStyles[propertyName] = from\n toStyles[propertyName] = to\n })\n keyframes.push(fromStyles, toStyles)\n\n let animation\n if (canUseAnimation()) {\n const effect = new KeyframeEffect(element, keyframes, { fill, duration })\n animation = new Animation(effect)\n } else {\n animation = {\n playbackRate: 1,\n play: () => {\n animation.onfinish()\n },\n reverse: () => {\n animation.playbackRate = -1\n animation.onfinish()\n },\n finish: () => {},\n onfinish: () => {},\n }\n }\n\n steps.push({\n element,\n animation,\n fromStyles,\n toStyles,\n })\n })\n\n const play = async () => {\n await Promise.all(\n steps.map(({ animation, element, toStyles }) => {\n return new Promise((resolve) => {\n animation.onfinish = () => {\n if (commitStyles) {\n setStyles(element, toStyles)\n }\n resolve()\n }\n if (animation.playbackRate === -1) {\n animation.reverse()\n } else {\n animation.play()\n }\n })\n }),\n )\n }\n\n const reverse = async () => {\n await Promise.all(\n steps.map(({ animation, element, fromStyles }) => {\n return new Promise((resolve) => {\n animation.onfinish = () => {\n if (commitStyles) {\n setStyles(element, fromStyles)\n }\n resolve()\n }\n animation.reverse()\n })\n }),\n )\n }\n\n const finish = async () => {\n steps.forEach(({ animation }) => {\n animation.finish()\n })\n }\n\n return { play, reverse, finish }\n}\n\nexport const startJavaScriptAnimation = ({\n duration = 300,\n timingFunction = (t) => t,\n onProgress = () => {},\n onCancel = () => {},\n onComplete = () => {},\n}) => {\n if (isNaN(duration)) {\n // console.warn(`duration must be a number, received ${duration}`)\n return () => {}\n }\n duration = parseInt(duration, 10)\n const startMs = performance.now()\n let currentRequestAnimationFrameId\n let done = false\n let rawProgress = 0\n let progress = 0\n const handler = () => {\n currentRequestAnimationFrameId = null\n const nowMs = performance.now()\n rawProgress = Math.min((nowMs - startMs) / duration, 1)\n progress = timingFunction(rawProgress)\n done = rawProgress === 1\n onProgress({\n done,\n rawProgress,\n progress,\n })\n if (done) {\n onComplete()\n } else {\n currentRequestAnimationFrameId = window.requestAnimationFrame(handler)\n }\n }\n handler()\n const stop = () => {\n if (currentRequestAnimationFrameId) {\n window.cancelAnimationFrame(currentRequestAnimationFrameId)\n currentRequestAnimationFrameId = null\n }\n if (!done) {\n done = true\n onCancel({\n rawProgress,\n progress,\n })\n }\n }\n return stop\n}\n",
|
|
76
|
+
"// handle data-last-interaction attr on html (focusring)\nwindow.addEventListener(\"mousedown\", (mousedownEvent) => {\n if (mousedownEvent.defaultPrevented) {\n return\n }\n document.documentElement.setAttribute(\"data-last-interaction\", \"mouse\")\n})\nwindow.addEventListener(\"touchstart\", (touchstartEvent) => {\n if (touchstartEvent.defaultPrevented) {\n return\n }\n document.documentElement.setAttribute(\"data-last-interaction\", \"mouse\")\n})\nwindow.addEventListener(\"keydown\", (keydownEvent) => {\n if (keydownEvent.defaultPrevented) {\n return\n }\n document.documentElement.setAttribute(\"data-last-interaction\", \"keyboard\")\n})\n",
|
|
77
|
+
"export const renderBackToListInToolbar = ({\n outDirectoryRelativeUrl,\n exploringHtmlFileRelativeUrl,\n}) => {\n const exploringHtmlFileUrl = `/${outDirectoryRelativeUrl}otherwise/${exploringHtmlFileRelativeUrl}`\n\n document.querySelector(\"#file-list-link a\").href = exploringHtmlFileUrl\n document.querySelector(\"#file-list-link a\").onclick = (clickEvent) => {\n if (clickEvent.defaultPrevented) {\n return\n }\n\n if (isClickToOpenTab(clickEvent)) {\n return\n }\n\n window.parent.location.href = exploringHtmlFileUrl\n }\n}\n\nconst isClickToOpenTab = (clickEvent) => {\n if (clickEvent.button !== 0) {\n // Chrome < 55 fires a click event when the middle mouse button is pressed\n return true\n }\n if (clickEvent.metaKey) {\n return true\n }\n if (clickEvent.ctrlKey) {\n return true\n }\n return false\n}\n",
|
|
78
|
+
"export const createPreference = (name) => {\n return {\n has: () => localStorage.hasOwnProperty(name),\n get: () =>\n localStorage.hasOwnProperty(name)\n ? JSON.parse(localStorage.getItem(name))\n : undefined,\n set: (value) => localStorage.setItem(name, JSON.stringify(value)),\n }\n}\n",
|
|
79
|
+
"import { updateIframeOverflowOnParentWindow } from \"../util/dom.js\"\n\nexport const toggleTooltip = (element) => {\n if (element.hasAttribute(\"data-tooltip-visible\")) {\n hideTooltip(element)\n } else {\n showTooltip(element)\n }\n}\n\nexport const hideTooltip = (element) => {\n element.removeAttribute(\"data-tooltip-visible\")\n element.removeAttribute(\"data-tooltip-auto-visible\")\n updateIframeOverflowOnParentWindow()\n}\n\nexport const showTooltip = (element) => {\n element.setAttribute(\"data-tooltip-visible\", \"\")\n updateIframeOverflowOnParentWindow()\n}\n\nexport const autoShowTooltip = (element) => {\n element.setAttribute(\"data-tooltip-auto-visible\", \"\")\n updateIframeOverflowOnParentWindow()\n}\n\nexport const removeAutoShowTooltip = (element) => {\n element.removeAttribute(\"data-tooltip-auto-visible\")\n updateIframeOverflowOnParentWindow()\n}\n\nexport const hideAllTooltip = () => {\n const elementsWithTooltip = Array.from(\n document.querySelectorAll(\"[data-tooltip-visible]\"),\n )\n elementsWithTooltip.forEach((elementWithTooltip) => {\n hideTooltip(elementWithTooltip)\n })\n}\n",
|
|
80
|
+
"import {\n toolbarSectionIsActive,\n deactivateToolbarSection,\n activateToolbarSection,\n updateIframeOverflowOnParentWindow,\n} from \"../util/dom.js\"\n\nexport const renderToolbarSettings = () => {\n document.querySelector(\"#settings-button\").onclick = toggleSettings\n document.querySelector(\"#button-close-settings\").onclick = toggleSettings\n}\n\nconst toggleSettings = () => {\n if (settingsAreVisible()) {\n hideSettings()\n } else {\n showSettings()\n }\n}\n\nexport const settingsAreVisible = () => {\n return toolbarSectionIsActive(document.querySelector(`#settings`))\n}\n\nexport const hideSettings = () => {\n deactivateToolbarSection(document.querySelector(`#settings`))\n updateIframeOverflowOnParentWindow()\n}\n\nexport const showSettings = () => {\n activateToolbarSection(document.querySelector(`#settings`))\n updateIframeOverflowOnParentWindow()\n}\n",
|
|
81
|
+
"import { createPreference } from \"../util/preferences.js\"\n\nconst notificationPreference = createPreference(\"notification\")\n\nconst arrayOfOpenedNotifications = []\nexport const renderToolbarNotification = () => {\n const notifCheckbox = document.querySelector(\"#toggle-notifs\")\n notifCheckbox.checked = getNotificationPreference()\n notifCheckbox.onchange = () => {\n setNotificationPreference(notifCheckbox.checked)\n if (notifCheckbox.checked) {\n // request permission early\n // especially useful on firefox where you can request permission\n // only inside a user generated event such as this onchange handler\n requestPermission()\n } else {\n // slice because arrayOfOpenedNotifications can be mutated while looping\n arrayOfOpenedNotifications.slice().forEach((notification) => {\n notification.close()\n })\n }\n }\n}\n\nexport const notifyExecutionResult = (\n executedFileRelativeUrl,\n execution,\n previousExecution,\n) => {\n const notificationEnabled = getNotificationPreference()\n if (!notificationEnabled) return\n\n const notificationOptions = {\n lang: \"en\",\n icon: getFaviconHref(),\n clickToFocus: true,\n clickToClose: true,\n }\n\n if (execution.status === \"errored\") {\n if (previousExecution) {\n if (previousExecution.status === \"completed\") {\n notify(\"Broken\", {\n ...notificationOptions,\n body: `${executedFileRelativeUrl} execution now failing.`,\n })\n } else {\n notify(\"Still failing\", {\n ...notificationOptions,\n body: `${executedFileRelativeUrl} execution still failing.`,\n })\n }\n } else {\n notify(\"Failing\", {\n ...notificationOptions,\n body: `${executedFileRelativeUrl} execution failed.`,\n })\n }\n } else if (previousExecution && previousExecution.status === \"errored\") {\n notify(\"Fixed\", {\n ...notificationOptions,\n body: `${executedFileRelativeUrl} execution fixed.`,\n })\n }\n}\n\nconst notificationAvailable = typeof window.Notification === \"function\"\n\nconst getNotificationPreference = () =>\n notificationPreference.has() ? notificationPreference.get() : true\n\nconst setNotificationPreference = (value) => notificationPreference.set(value)\n\nconst getFaviconHref = () => {\n const link = document.querySelector('link[rel=\"icon\"]')\n return link ? link.href : undefined\n}\n\nconst notify = notificationAvailable\n ? async (\n title,\n { clickToFocus = false, clickToClose = false, ...options } = {},\n ) => {\n const permission = await requestPermission()\n if (permission === \"granted\") {\n const notification = new Notification(title, options)\n arrayOfOpenedNotifications.push(notification)\n notification.onclick = () => {\n // but if the user navigated inbetween\n // focusing window will show something else\n // in that case it could be great to do something\n // maybe like showing a message saying this execution\n // is no longer visible\n // we could also navigauate to this file execution but\n // there is no guarantee re-executing the file would give same output\n // and it would also trigger an other notification\n if (clickToFocus) window.focus()\n if (clickToClose) notification.close()\n }\n notification.onclose = () => {\n const index = arrayOfOpenedNotifications.indexOf(notification)\n if (index > -1) {\n arrayOfOpenedNotifications.splice(index, 1)\n }\n }\n return notification\n }\n return null\n }\n : () => {}\n\nlet permissionPromise\nconst requestPermission = notificationAvailable\n ? async () => {\n if (permissionPromise) return permissionPromise\n permissionPromise = Notification.requestPermission()\n const permission = await permissionPromise\n permissionPromise = undefined\n return permission\n }\n : () => Promise.resolve(\"denied\")\n",
|
|
82
|
+
"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",
|
|
83
|
+
"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",
|
|
84
|
+
"export const enableVariant = (rootNode, variables) => {\n const nodesNotMatching = Array.from(\n rootNode.querySelectorAll(`[${attributeIndicatingACondition}]`),\n )\n nodesNotMatching.forEach((nodeNotMatching) => {\n const conditionAttributeValue = nodeNotMatching.getAttribute(\n attributeIndicatingACondition,\n )\n const matches = testCondition(conditionAttributeValue, variables)\n if (matches) {\n renameAttribute(\n nodeNotMatching,\n attributeIndicatingACondition,\n attributeIndicatingAMatch,\n )\n }\n })\n\n const nodesMatching = Array.from(\n rootNode.querySelectorAll(`[${attributeIndicatingAMatch}]`),\n )\n nodesMatching.forEach((nodeMatching) => {\n const conditionAttributeValue = nodeMatching.getAttribute(\n attributeIndicatingAMatch,\n )\n const matches = testCondition(conditionAttributeValue, variables)\n if (!matches) {\n renameAttribute(\n nodeMatching,\n attributeIndicatingAMatch,\n attributeIndicatingACondition,\n )\n }\n })\n}\n\nconst testCondition = (conditionAttributeValue, variables) => {\n const condition = parseCondition(conditionAttributeValue)\n return Object.keys(variables).some((key) => {\n if (condition.key !== key) {\n return false\n }\n // the condition do not specify a value, any value is ok\n if (condition.value === undefined) {\n return true\n }\n if (condition.value === variables[key]) {\n return true\n }\n return false\n })\n}\n\nconst parseCondition = (conditionAttributeValue) => {\n const colonIndex = conditionAttributeValue.indexOf(\":\")\n if (colonIndex === -1) {\n return {\n key: conditionAttributeValue,\n value: undefined,\n }\n }\n return {\n key: conditionAttributeValue.slice(0, colonIndex),\n value: conditionAttributeValue.slice(colonIndex + 1),\n }\n}\n\nconst attributeIndicatingACondition = `data-when`\nconst attributeIndicatingAMatch = `data-when-active`\n\nconst renameAttribute = (node, name, newName) => {\n node.setAttribute(newName, node.getAttribute(name))\n node.removeAttribute(name)\n}\n",
|
|
85
|
+
"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",
|
|
86
|
+
"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",
|
|
87
|
+
"export const COMPILE_ID_BEST = \"best\"\n\nexport const COMPILE_ID_OTHERWISE = \"otherwise\"\n\nexport const COMPILE_ID_BUILD_GLOBAL = \"build-global\"\n\nexport const COMPILE_ID_BUILD_GLOBAL_FILES = \"build-global-files\"\n\nexport const COMPILE_ID_BUILD_COMMONJS = \"build-commonjs\"\n\nexport const COMPILE_ID_BUILD_COMMONJS_FILES = \"build-commonjs-files\"\n",
|
|
88
|
+
"import { createDetailedMessage } from \"@jsenv/logger\"\nimport { COMPILE_ID_OTHERWISE } from \"../CONSTANTS.js\"\n\nexport const computeCompileIdFromGroupId = ({ groupId, groupMap }) => {\n if (typeof groupId === \"undefined\") {\n if (COMPILE_ID_OTHERWISE in groupMap) {\n return COMPILE_ID_OTHERWISE\n }\n\n const keys = Object.keys(groupMap)\n if (keys.length === 1) {\n return keys[0]\n }\n\n throw new Error(createUnexpectedGroupIdMessage({ groupMap }))\n }\n\n if (groupId in groupMap === false) {\n throw new Error(createUnexpectedGroupIdMessage({ groupId, groupMap }))\n }\n\n return groupId\n}\n\nconst createUnexpectedGroupIdMessage = ({ compileId, groupMap }) =>\n createDetailedMessage(`unexpected groupId.`, {\n [\"expected compiled id\"]: Object.keys(groupMap),\n [\"received compile id\"]: compileId,\n })\n",
|
|
89
|
+
"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",
|
|
90
|
+
"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",
|
|
91
|
+
"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",
|
|
92
|
+
"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",
|
|
93
|
+
"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",
|
|
94
|
+
"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",
|
|
95
|
+
"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",
|
|
96
|
+
"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",
|
|
97
|
+
"export const detectElectron = () => null // TODO\n",
|
|
98
|
+
"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",
|
|
99
|
+
"// 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",
|
|
100
|
+
"export const valueToVersion = (value) => {\n if (typeof value === \"number\") {\n return numberToVersion(value)\n }\n\n if (typeof value === \"string\") {\n return stringToVersion(value)\n }\n\n throw new TypeError(`version must be a number or a string, got ${value}`)\n}\n\nconst numberToVersion = (number) => {\n return {\n major: number,\n minor: 0,\n patch: 0,\n }\n}\n\nconst stringToVersion = (string) => {\n if (string.indexOf(\".\") > -1) {\n const parts = string.split(\".\")\n return {\n major: Number(parts[0]),\n minor: parts[1] ? Number(parts[1]) : 0,\n patch: parts[2] ? Number(parts[2]) : 0,\n }\n }\n\n if (isNaN(string)) {\n return {\n major: 0,\n minor: 0,\n patch: 0,\n }\n }\n\n return {\n major: Number(string),\n minor: 0,\n patch: 0,\n }\n}\n",
|
|
101
|
+
"import { valueToVersion } from \"./valueToVersion.js\"\n\nexport const versionCompare = (versionA, versionB) => {\n const semanticVersionA = valueToVersion(versionA)\n const semanticVersionB = valueToVersion(versionB)\n\n const majorDiff = semanticVersionA.major - semanticVersionB.major\n if (majorDiff > 0) {\n return majorDiff\n }\n if (majorDiff < 0) {\n return majorDiff\n }\n\n const minorDiff = semanticVersionA.minor - semanticVersionB.minor\n if (minorDiff > 0) {\n return minorDiff\n }\n if (minorDiff < 0) {\n return minorDiff\n }\n\n const patchDiff = semanticVersionA.patch - semanticVersionB.patch\n if (patchDiff > 0) {\n return patchDiff\n }\n if (patchDiff < 0) {\n return patchDiff\n }\n\n return 0\n}\n",
|
|
102
|
+
"import { versionCompare } from \"./versionCompare.js\"\n\nexport const versionIsBelow = (versionSupposedBelow, versionSupposedAbove) => {\n return versionCompare(versionSupposedBelow, versionSupposedAbove) < 0\n}\n",
|
|
103
|
+
"import { versionIsBelow } from \"./versionIsBelow.js\"\n\nexport const findHighestVersion = (...values) => {\n if (values.length === 0) throw new Error(`missing argument`)\n\n return values.reduce((highestVersion, value) => {\n if (versionIsBelow(highestVersion, value)) {\n return value\n }\n return highestVersion\n })\n}\n",
|
|
104
|
+
"import { findHighestVersion } from \"../semantic-versioning/index.js\"\n\nexport const resolveGroup = ({ name, version }, groupMap) => {\n return Object.keys(groupMap).find((compileIdCandidate) => {\n const { minRuntimeVersions } = groupMap[compileIdCandidate]\n const versionForGroup = minRuntimeVersions[name]\n if (!versionForGroup) {\n return false\n }\n const highestVersion = findHighestVersion(version, versionForGroup)\n return highestVersion === version\n })\n}\n",
|
|
105
|
+
"import { fetchJson } from \"../../browser-utils/fetchJson.js\"\nimport { computeCompileIdFromGroupId } from \"../computeCompileIdFromGroupId.js\"\nimport { detectBrowser } from \"../detectBrowser/detectBrowser.js\"\nimport { resolveGroup } from \"../resolveGroup.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 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 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 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 supportsImportmap = async ({ remote = true } = {}) => {\n const specifier = asBase64Url(`export default false`)\n\n const importMap = {\n imports: {\n [specifier]: asBase64Url(`export default true`),\n },\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\n document.body.appendChild(importmapScript)\n\n const scriptModule = document.createElement(\"script\")\n scriptModule.type = \"module\"\n scriptModule.src = asBase64Url(\n `import supported from \"${specifier}\"; window.__importmap_supported = supported`,\n )\n\n return new Promise((resolve, reject) => {\n scriptModule.onload = () => {\n const supported = window.__importmap_supported\n delete window.__importmap_supported\n document.body.removeChild(scriptModule)\n document.body.removeChild(importmapScript)\n resolve(supported)\n }\n scriptModule.onerror = () => {\n document.body.removeChild(scriptModule)\n document.body.removeChild(importmapScript)\n reject()\n }\n document.body.appendChild(scriptModule)\n })\n}\n\nconst supportsDynamicImport = async () => {\n const moduleSource = asBase64Url(`export default 42`)\n try {\n const namespace = await import(moduleSource)\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n\nconst supportsTopLevelAwait = async () => {\n const moduleSource = asBase64Url(`export default await Promise.resolve(42)`)\n try {\n const namespace = await import(moduleSource)\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n\nconst supportsJsonImportAssertions = async () => {\n const jsonBase64Url = asBase64Url(\"42\", \"application/json\")\n const moduleSource = asBase64Url(\n `export { default } from \"${jsonBase64Url}\" assert { type: \"json\" }`,\n )\n try {\n const namespace = await import(moduleSource)\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 `export { default } from \"${cssBase64Url}\" assert { type: \"css\" }`,\n )\n try {\n const namespace = await import(moduleSource)\n return namespace.default instanceof CSSStyleSheet\n } catch (e) {\n return false\n }\n}\n\nconst asBase64Url = (text, mimeType = \"application/javascript\") => {\n return `data:${mimeType};base64,${window.btoa(text)}`\n}\n",
|
|
106
|
+
"import { scanBrowserRuntimeFeatures } from \"../../runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js\"\nimport { removeForceHideElement } from \"../util/dom.js\"\nimport { enableVariant } from \"../variant/variant.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 canAvoidCompilation,\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n outDirectoryRelativeUrl,\n compileId,\n }) => {\n const browserSupport = canAvoidCompilation\n ? inlineImportMapIntoHTML\n ? \"partial\"\n : \"full\"\n : \"no\"\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: ${getBrowserSupportMessage(\n {\n missingOnly: true,\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\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: ${getBrowserSupportMessage(\n {\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\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: ${getBrowserSupportMessage(\n {\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n },\n )}`,\n )\n }\n }\n\n const filesCompilation = compileGroup.compileId\n ? \"yes\"\n : inlineImportMapIntoHTML\n ? \"html_only\"\n : \"no\"\n enableVariant(filesCompilationRootNode, {\n filesCompilation,\n compiled: compileGroup.compileId ? \"yes\" : \"no\",\n })\n filesCompilationRootNode.querySelector(\"a.go_to_source_link\").onclick =\n () => {\n window.parent.location = `/${compileGroup.fileRelativeUrl}`\n }\n filesCompilationRootNode.querySelector(\"a.go_to_compiled_link\").onclick =\n () => {\n window.parent.location = `/${outDirectoryRelativeUrl}${compileId}/${compileGroup.fileRelativeUrl}`\n }\n\n const shouldCompile =\n filesCompilation !== \"yes\" && browserSupport === \"no\"\n\n if (shouldCompile) {\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 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 getBrowserSupportMessage = ({\n missingOnly,\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n}) => {\n const parts = []\n\n const { importmapSupported } = featuresReport\n if (importmapSupported) {\n if (!missingOnly) {\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 }\n } else {\n parts.push(`importmaps are not supported`)\n }\n\n const { dynamicImportSupported } = featuresReport\n if (dynamicImportSupported) {\n if (!missingOnly) {\n parts.push(`dynamic imports are supported`)\n }\n } else {\n parts.push(`dynamic imports are not supported`)\n }\n\n const { topLevelAwaitSupported } = featuresReport\n if (topLevelAwaitSupported) {\n if (!missingOnly) {\n parts.push(`top level await is supported`)\n }\n } else {\n parts.push(`top level await is not supported`)\n }\n\n const pluginRequiredCount = pluginRequiredNameArray.length\n if (pluginRequiredCount === 0) {\n if (!missingOnly) {\n parts.push(`all plugins are natively supported`)\n }\n } else {\n parts.push(\n `${pluginRequiredCount} plugins are mandatory: ${pluginRequiredNameArray}`,\n )\n }\n\n const customCompilerCount = customCompilerPatterns.length\n if (customCompilerCount === 0) {\n // no need to talk about something unused\n } else {\n parts.push(\n `${customCompilerCount} custom compilers enabled: ${customCompilerPatterns}`,\n )\n }\n\n return `\n- ${parts.join(`\n- `)}`\n}\n",
|
|
107
|
+
"export const createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\nexport const moveElement = (element, from, to) => {\n to.appendChild(element)\n}\n\nexport const replaceElement = (elementToReplace, otherElement) => {\n elementToReplace.parentNode.replaceChild(otherElement, elementToReplace)\n}\n",
|
|
108
|
+
"export const connectEventSource = (\n eventSourceUrl,\n events = {},\n {\n connecting = () => {},\n connected = () => {},\n cancelled = () => {},\n failed = () => {},\n retryMaxAttempt = Infinity,\n retryAllocatedMs = Infinity,\n lastEventId,\n } = {},\n) => {\n const { EventSource } = window\n if (typeof EventSource !== \"function\") {\n return () => {}\n }\n\n const eventSourceOrigin = new URL(eventSourceUrl).origin\n\n // will be either abort, disconnect or a third function calling cancelled\n // depending on connectionStatus\n let cancelCurrentConnection = () => {}\n\n const reconnect = () => {\n attemptConnection(\n lastEventId\n ? addLastEventIdIntoUrlSearchParams(eventSourceUrl, lastEventId)\n : eventSourceUrl,\n )\n }\n\n const attemptConnection = (url) => {\n const eventSource = new EventSource(url, {\n withCredentials: true,\n })\n\n let connectionStatus = \"connecting\"\n const abort = () => {\n if (connectionStatus !== \"connecting\") {\n console.warn(`abort ignored because connection is ${connectionStatus}`)\n return\n }\n connectionStatus = \"aborted\"\n eventSource.onerror = undefined\n eventSource.close()\n cancelled({ connect: reconnect })\n }\n cancelCurrentConnection = abort\n connecting({ cancel: abort })\n\n eventSource.onopen = () => {\n connectionStatus = \"connected\"\n const disconnect = () => {\n if (connectionStatus !== \"connected\") {\n console.warn(\n `disconnect ignored because connection is ${connectionStatus}`,\n )\n return\n }\n connectionStatus = \"disconnected\"\n eventSource.onerror = undefined\n eventSource.close()\n cancelled({ connect: reconnect })\n }\n cancelCurrentConnection = disconnect\n connected({ cancel: disconnect })\n }\n\n let retryCount = 0\n let firstRetryMs = Date.now()\n\n eventSource.onerror = (errorEvent) => {\n const considerFailed = () => {\n connectionStatus = \"disconnected\"\n failed({\n cancel: () => {\n if (connectionStatus !== \"failed\") {\n console.warn(\n `disable ignored because connection is ${connectionStatus}`,\n )\n return\n }\n connectionStatus = \"disabled\"\n cancelled({ connect: reconnect })\n },\n connect: reconnect,\n })\n }\n\n if (errorEvent.target.readyState === EventSource.CONNECTING) {\n if (retryCount > retryMaxAttempt) {\n console.info(`could not connect after ${retryMaxAttempt} attempt`)\n eventSource.onerror = undefined\n eventSource.close()\n considerFailed()\n return\n }\n\n if (retryCount === 0) {\n firstRetryMs = Date.now()\n } else {\n const allRetryDuration = Date.now() - firstRetryMs\n if (retryAllocatedMs && allRetryDuration > retryAllocatedMs) {\n console.info(\n `could not connect in less than ${retryAllocatedMs} ms`,\n )\n eventSource.onerror = undefined\n eventSource.close()\n considerFailed()\n return\n }\n }\n\n connectionStatus = \"connecting\"\n retryCount++\n connecting({ cancel: abort })\n return\n }\n\n if (errorEvent.target.readyState === EventSource.CLOSED) {\n considerFailed()\n return\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 if (!events.hasOwnProperty(\"welcome\")) {\n eventSource.addEventListener(\"welcome\", (e) => {\n if (e.origin === eventSourceOrigin && e.lastEventId) {\n lastEventId = e.lastEventId\n }\n })\n }\n }\n\n attemptConnection(eventSourceUrl)\n const disconnect = () => {\n cancelCurrentConnection()\n }\n\n const removePageUnloadListener = listenPageUnload(() => {\n disconnect()\n })\n\n return () => {\n removePageUnloadListener()\n disconnect()\n }\n}\n\nconst addLastEventIdIntoUrlSearchParams = (url, lastEventId) => {\n if (url.indexOf(\"?\") === -1) {\n url += \"?\"\n } else {\n url += \"&\"\n }\n return `${url}last-event-id=${encodeURIComponent(lastEventId)}`\n}\n\n// const listenPageMightFreeze = (callback) => {\n// const removePageHideListener = listenEvent(window, \"pagehide\", (pageHideEvent) => {\n// if (pageHideEvent.persisted === true) {\n// callback(pageHideEvent)\n// }\n// })\n// return removePageHideListener\n// }\n\n// const listenPageFreeze = (callback) => {\n// const removeFreezeListener = listenEvent(document, \"freeze\", (freezeEvent) => {\n// callback(freezeEvent)\n// })\n// return removeFreezeListener\n// }\n\n// const listenPageIsRestored = (callback) => {\n// const removeResumeListener = listenEvent(document, \"resume\", (resumeEvent) => {\n// removePageshowListener()\n// callback(resumeEvent)\n// })\n// const removePageshowListener = listenEvent(window, \"pageshow\", (pageshowEvent) => {\n// if (pageshowEvent.persisted === true) {\n// removePageshowListener()\n// removeResumeListener()\n// callback(pageshowEvent)\n// }\n// })\n// return () => {\n// removeResumeListener()\n// removePageshowListener()\n// }\n// }\n\nconst listenPageUnload = (callback) => {\n const removePageHideListener = listenEvent(\n window,\n \"pagehide\",\n (pageHideEvent) => {\n if (pageHideEvent.persisted !== true) {\n callback(pageHideEvent)\n }\n },\n )\n return removePageHideListener\n}\n\nconst listenEvent = (emitter, event, callback) => {\n emitter.addEventListener(event, callback)\n return () => {\n emitter.removeEventListener(event, callback)\n }\n}\n",
|
|
109
|
+
"import { connectEventSource } from \"./connectEventSource.js\"\nimport { jsenvLogger } from \"../util/jsenvLogger.js\"\n\nexport const connectCompileServerEventSource = (\n fileRelativeUrl,\n {\n onFileModified,\n onFileRemoved,\n onConnecting,\n onConnectionCancelled,\n onConnectionFailed,\n onConnected,\n lastEventId,\n },\n) => {\n const eventSourceUrl = `${window.origin}/${fileRelativeUrl}`\n\n let cancel = () => {}\n\n const connect = () => {\n return new Promise((resolve) => {\n cancel = connectEventSource(\n eventSourceUrl,\n {\n \"file-modified\": ({ data }) => {\n jsenvLogger.debug(`${data} modified`)\n onFileModified(data)\n },\n \"file-removed\": ({ data }) => {\n jsenvLogger.debug(`${data} removed`)\n onFileRemoved(data)\n },\n },\n {\n connecting: ({ cancel }) => {\n jsenvLogger.debug(`connecting to ${eventSourceUrl}`)\n onConnecting({\n cancel: () => {\n cancel()\n },\n })\n },\n connected: ({ cancel }) => {\n jsenvLogger.debug(`connected to ${eventSourceUrl}`)\n resolve(true)\n onConnected({\n cancel: () => {\n cancel()\n },\n })\n },\n cancelled: ({ connect }) => {\n jsenvLogger.debug(`disconnected from ${eventSourceUrl}`)\n resolve(false)\n onConnectionCancelled({ connect })\n },\n failed: ({ connect }) => {\n jsenvLogger.debug(`disconnected from ${eventSourceUrl}`)\n resolve(false)\n onConnectionFailed({ connect })\n },\n retryMaxAttempt: Infinity,\n retryAllocatedMs: 20 * 1000,\n lastEventId,\n },\n )\n })\n }\n\n return {\n connect,\n disconnect: () => cancel(),\n }\n}\n",
|
|
110
|
+
"import { removeForceHideElement } from \"../util/dom.js\"\nimport { createPromiseAndHooks } from \"../util/util.js\"\nimport { createPreference } from \"../util/preferences.js\"\nimport { enableVariant } from \"../variant/variant.js\"\n\nimport {\n toggleTooltip,\n removeAutoShowTooltip,\n autoShowTooltip,\n} from \"../tooltip/tooltip.js\"\nimport { connectCompileServerEventSource } from \"./connectCompileServerEventSource.js\"\n\nconst livereloadingPreference = createPreference(\"livereloading\")\nlet eventSourceState = \"default\"\nlet livereloadingAvailableOnServer = false\n\nexport const initToolbarEventSource = ({\n executedFileRelativeUrl,\n livereloading,\n}) => {\n const getLivereloadCallback = (originalFileProjectRelativeUrl) => {\n const callbacks = window.parent.__jsenv__.livereloadingCallbacks\n return callbacks[originalFileProjectRelativeUrl]\n }\n\n removeForceHideElement(document.querySelector(\"#eventsource-indicator\"))\n connectEventSource({ executedFileRelativeUrl, getLivereloadCallback })\n livereloadingAvailableOnServer = livereloading\n if (!livereloadingAvailableOnServer) {\n disableLivereloadSetting()\n }\n\n const livereloadCheckbox = document.querySelector(\"#toggle-livereload\")\n livereloadCheckbox.checked = shouldLivereload()\n livereloadCheckbox.onchange = () => {\n livereloadingPreference.set(livereloadCheckbox.checked)\n updateEventSourceIndicator()\n }\n updateEventSourceIndicator()\n}\n\nconst shouldLivereload = () => {\n return livereloadingAvailableOnServer && getLivereloadingPreference()\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\nconst parentEventSource = window.parent.__jsenv_eventsource__()\nconst latestChangeMap = parentEventSource.latestChangeMap\nlet eventSourceHooks = {}\nlet eventSourceConnection\nlet connectionReadyPromise\n\nconst handleFileChange = ({ file, eventType, livereloadCallback }) => {\n latestChangeMap[file] = eventType\n updateEventSourceIndicator()\n\n if (shouldLivereload()) {\n if (livereloadCallback) {\n livereloadCallback({\n file,\n latestChangeMap,\n reloadPage,\n })\n } else if (\n file.endsWith(\".css\") ||\n file.endsWith(\".scss\") ||\n file.endsWith(\".sass\")\n ) {\n reloadAllCss()\n delete latestChangeMap[file]\n updateEventSourceIndicator()\n } else {\n reloadPage()\n }\n }\n}\n\nconst reloadAllCss = () => {\n const links = Array.from(window.parent.document.getElementsByTagName(\"link\"))\n links.forEach((link) => {\n if (link.rel === \"stylesheet\") {\n const url = new URL(link.href)\n url.searchParams.set(\"t\", Date.now())\n link.href = String(url)\n }\n })\n}\n\nconst reloadPage = () => {\n window.parent.location.reload(true)\n}\n\nconst reloadChanges = () => {\n const fullReloadRequired = Object.keys(latestChangeMap).some(\n (key) => !key.endsWith(\".css\"),\n )\n if (fullReloadRequired) {\n reloadPage()\n return\n }\n const cssReloadRequired = Object.keys(latestChangeMap).some((key) =>\n key.endsWith(\".css\"),\n )\n if (cssReloadRequired) {\n reloadAllCss()\n Object.keys(latestChangeMap).forEach((key) => {\n if (key.endsWith(\".css\")) {\n delete latestChangeMap[key]\n }\n updateEventSourceIndicator()\n })\n }\n}\n\nconst connectEventSource = ({\n executedFileRelativeUrl,\n getLivereloadCallback,\n}) => {\n updateEventSourceIndicator()\n connectionReadyPromise = createPromiseAndHooks()\n\n eventSourceConnection = connectCompileServerEventSource(\n executedFileRelativeUrl,\n {\n onFileModified: (file) => {\n handleFileChange({\n file,\n eventType: \"modified\",\n livereloadCallback: getLivereloadCallback(file),\n })\n },\n onFileRemoved: (file) => {\n handleFileChange({\n file,\n eventType: \"removed\",\n livereloadCallback: getLivereloadCallback(file),\n })\n },\n onFileAdded: (file) => {\n handleFileChange({\n file,\n eventType: \"added\",\n livereloadCallback: getLivereloadCallback(file),\n })\n },\n onConnecting: ({ cancel }) => {\n eventSourceState = \"connecting\"\n eventSourceHooks = { abort: cancel }\n updateEventSourceIndicator()\n },\n onConnectionCancelled: ({ connect }) => {\n eventSourceState = \"disabled\"\n eventSourceHooks = { connect }\n updateEventSourceIndicator()\n },\n onConnectionFailed: ({ connect }) => {\n eventSourceState = \"failed\"\n eventSourceHooks = { reconnect: connect }\n updateEventSourceIndicator()\n },\n onConnected: ({ cancel }) => {\n eventSourceState = \"connected\"\n eventSourceHooks = { disconnect: cancel }\n updateEventSourceIndicator()\n connectionReadyPromise.resolve()\n parentEventSource.disconnect()\n },\n lastEventId: parentEventSource.lastEventId,\n },\n )\n\n eventSourceConnection.connect()\n}\n\nconst getLivereloadingPreference = () => {\n return livereloadingPreference.has() ? livereloadingPreference.get() : true\n}\n\nexport const disconnectEventSource = () => {\n if (eventSourceConnection) {\n eventSourceConnection.disconnect()\n eventSourceConnection = undefined\n }\n}\n\nexport const waitEventSourceReady = () => connectionReadyPromise\n\nconst updateEventSourceIndicator = () => {\n const { connect, abort, reconnect } = eventSourceHooks\n\n const eventSourceIndicator = document.querySelector(\"#eventsource-indicator\")\n const changeCount = Object.keys(latestChangeMap).length\n enableVariant(eventSourceIndicator, {\n eventsource: eventSourceState,\n livereload: shouldLivereload() ? \"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 (eventSourceState === \"disabled\") {\n variantNode.querySelector(\"a\").onclick = connect\n } else if (eventSourceState === \"connecting\") {\n variantNode.querySelector(\"a\").onclick = abort\n } else if (eventSourceState === \"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(\n JSON.stringify(latestChangeMap, null, \" \"),\n latestChangeMap,\n )\n // eslint-disable-next-line no-alert\n window.parent.alert(JSON.stringify(latestChangeMap, null, \" \"))\n }\n variantNode.querySelector(\".eventsource-reload-link\").onclick =\n reloadChanges\n }\n } else if (eventSourceState === \"failed\") {\n autoShowTooltip(eventSourceIndicator)\n variantNode.querySelector(\"a\").onclick = reconnect\n }\n}\n",
|
|
111
|
+
"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",
|
|
112
|
+
"import { urlIsInsideOf } from \"@jsenv/filesystem/src/urlIsInsideOf.js\"\nimport { urlToRelativeUrl } from \"@jsenv/filesystem/src/urlToRelativeUrl.js\"\n\nimport { fetchExploringJson } from \"../exploring/fetchExploringJson.js\"\nimport { startJavaScriptAnimation } from \"../toolbar/util/animation.js\"\nimport \"./focus/toolbar.focus.js\"\nimport { renderBackToListInToolbar } from \"./backtolist/toolbar.backtolist.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 () => {\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 exploringConfig = await fetchExploringJson()\n const { outDirectoryRelativeUrl, livereloading } = exploringConfig\n const compileGroup = getCompileGroup({\n executedFileCompiledUrl,\n outDirectoryRelativeUrl,\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 toolbarElement = document.querySelector(\"#toolbar\")\n exposeOnParentWindow({\n toolbar: {\n element: toolbarElement,\n show: showToolbar,\n hide: () => hideToolbar(),\n toggle: toogleToolbar,\n },\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 renderBackToListInToolbar({\n outDirectoryRelativeUrl,\n exploringHtmlFileRelativeUrl: exploringConfig.exploringHtmlFileRelativeUrl,\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 exposeOnParentWindow = (object) => {\n let { __jsenv__ } = window.parent\n if (!__jsenv__) {\n __jsenv__ = {}\n window.parent.__jsenv__ = {}\n }\n\n Object.assign(__jsenv__, object)\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 outDirectoryRelativeUrl,\n compileServerOrigin,\n}) => {\n const outDirectoryServerUrl = String(\n new URL(outDirectoryRelativeUrl, compileServerOrigin),\n )\n if (urlIsInsideOf(executedFileCompiledUrl, outDirectoryServerUrl)) {\n const afterCompileDirectory = urlToRelativeUrl(\n executedFileCompiledUrl,\n outDirectoryServerUrl,\n )\n const slashIndex = afterCompileDirectory.indexOf(\"/\")\n const fileRelativeUrl = afterCompileDirectory.slice(slashIndex + 1)\n return {\n fileRelativeUrl,\n outDirectoryRelativeUrl,\n compileId: afterCompileDirectory.slice(0, slashIndex),\n }\n }\n return {\n fileRelativeUrl: new URL(executedFileCompiledUrl).pathname.slice(1),\n outDirectoryRelativeUrl,\n compileId: null,\n }\n}\n\nconst sendEventToParent = (type, value) => {\n window.parent.postMessage(\n {\n jsenv: true,\n type,\n value,\n },\n \"*\",\n )\n}\n\nwindow.renderToolbar = renderToolbar\n"
|
|
113
113
|
],
|
|
114
114
|
"names": [
|
|
115
|
+
"urlIsInsideOf",
|
|
116
|
+
"url",
|
|
117
|
+
"otherUrl",
|
|
118
|
+
"urlObject",
|
|
119
|
+
"URL",
|
|
120
|
+
"otherUrlObject",
|
|
121
|
+
"origin",
|
|
122
|
+
"urlPathname",
|
|
123
|
+
"pathname",
|
|
124
|
+
"otherUrlPathname",
|
|
125
|
+
"isInside",
|
|
126
|
+
"startsWith",
|
|
127
|
+
"getCommonPathname",
|
|
128
|
+
"otherPathname",
|
|
129
|
+
"firstDifferentCharacterIndex",
|
|
130
|
+
"findFirstDifferentCharacterIndex",
|
|
131
|
+
"commonString",
|
|
132
|
+
"slice",
|
|
133
|
+
"charAt",
|
|
134
|
+
"firstDifferentSlashIndex",
|
|
135
|
+
"lastIndexOf",
|
|
136
|
+
"string",
|
|
137
|
+
"otherString",
|
|
138
|
+
"maxCommonLength",
|
|
139
|
+
"Math",
|
|
140
|
+
"min",
|
|
141
|
+
"length",
|
|
142
|
+
"i",
|
|
143
|
+
"char",
|
|
144
|
+
"otherChar",
|
|
145
|
+
"pathnameToParentPathname",
|
|
146
|
+
"slashLastIndex",
|
|
147
|
+
"urlToRelativeUrl",
|
|
148
|
+
"baseUrl",
|
|
149
|
+
"baseUrlObject",
|
|
150
|
+
"protocol",
|
|
151
|
+
"urlAsString",
|
|
152
|
+
"String",
|
|
153
|
+
"username",
|
|
154
|
+
"password",
|
|
155
|
+
"host",
|
|
156
|
+
"afterUrlScheme",
|
|
157
|
+
"hash",
|
|
158
|
+
"search",
|
|
159
|
+
"baseUrlRessourceWithoutLeadingSlash",
|
|
160
|
+
"basePathname",
|
|
161
|
+
"commonPathname",
|
|
162
|
+
"specificPathname",
|
|
163
|
+
"baseSpecificPathname",
|
|
164
|
+
"includes",
|
|
165
|
+
"baseSpecificParentPathname",
|
|
166
|
+
"relativeDirectoriesNotation",
|
|
167
|
+
"replace",
|
|
168
|
+
"relativeUrl",
|
|
169
|
+
"obj",
|
|
170
|
+
"key",
|
|
171
|
+
"value",
|
|
172
|
+
"Object",
|
|
115
173
|
"defineProperty",
|
|
174
|
+
"enumerable",
|
|
175
|
+
"configurable",
|
|
176
|
+
"writable",
|
|
177
|
+
"createDetailedMessage",
|
|
178
|
+
"message",
|
|
179
|
+
"details",
|
|
180
|
+
"keys",
|
|
181
|
+
"forEach",
|
|
182
|
+
"Array",
|
|
183
|
+
"isArray",
|
|
184
|
+
"join",
|
|
185
|
+
"ownKeys",
|
|
186
|
+
"object",
|
|
187
|
+
"enumerableOnly",
|
|
188
|
+
"getOwnPropertySymbols",
|
|
189
|
+
"symbols",
|
|
190
|
+
"filter",
|
|
191
|
+
"sym",
|
|
192
|
+
"getOwnPropertyDescriptor",
|
|
193
|
+
"push",
|
|
194
|
+
"apply",
|
|
195
|
+
"_objectSpread2",
|
|
196
|
+
"target",
|
|
197
|
+
"arguments",
|
|
198
|
+
"source",
|
|
199
|
+
"getOwnPropertyDescriptors",
|
|
200
|
+
"defineProperties",
|
|
201
|
+
"excluded",
|
|
202
|
+
"sourceKeys",
|
|
203
|
+
"indexOf",
|
|
204
|
+
"objectWithoutPropertiesLoose",
|
|
205
|
+
"sourceSymbolKeys",
|
|
206
|
+
"prototype",
|
|
207
|
+
"propertyIsEnumerable",
|
|
208
|
+
"call",
|
|
209
|
+
"nativeTypeOf",
|
|
210
|
+
"customTypeOf",
|
|
211
|
+
"Symbol",
|
|
212
|
+
"constructor",
|
|
213
|
+
"iterator",
|
|
214
|
+
"then",
|
|
215
|
+
"direct",
|
|
216
|
+
"Promise",
|
|
217
|
+
"resolve",
|
|
218
|
+
"f",
|
|
219
|
+
"args",
|
|
220
|
+
"e",
|
|
221
|
+
"reject",
|
|
222
|
+
"body",
|
|
223
|
+
"result",
|
|
224
|
+
"fetchUsingXHR",
|
|
225
|
+
"signal",
|
|
226
|
+
"method",
|
|
227
|
+
"credentials",
|
|
228
|
+
"headers",
|
|
229
|
+
"headersPromise",
|
|
230
|
+
"createPromiseAndHooks",
|
|
231
|
+
"bodyPromise",
|
|
232
|
+
"xhr",
|
|
233
|
+
"XMLHttpRequest",
|
|
234
|
+
"failure",
|
|
235
|
+
"error",
|
|
236
|
+
"settled",
|
|
237
|
+
"cleanup",
|
|
238
|
+
"ontimeout",
|
|
239
|
+
"onerror",
|
|
240
|
+
"onload",
|
|
241
|
+
"onreadystatechange",
|
|
242
|
+
"Error",
|
|
243
|
+
"createRequestError",
|
|
244
|
+
"addEventListener",
|
|
245
|
+
"abort",
|
|
246
|
+
"abortError",
|
|
247
|
+
"name",
|
|
248
|
+
"readyState",
|
|
249
|
+
"open",
|
|
250
|
+
"setRequestHeader",
|
|
251
|
+
"withCredentials",
|
|
252
|
+
"computeWithCredentials",
|
|
253
|
+
"hasBlob",
|
|
254
|
+
"responseType",
|
|
255
|
+
"send",
|
|
256
|
+
"responseUrl",
|
|
257
|
+
"responseURL",
|
|
258
|
+
"responseStatus",
|
|
259
|
+
"status",
|
|
260
|
+
"responseStatusText",
|
|
261
|
+
"statusText",
|
|
262
|
+
"responseHeaders",
|
|
263
|
+
"getHeadersFromXHR",
|
|
264
|
+
"readBody",
|
|
265
|
+
"response",
|
|
266
|
+
"responseText",
|
|
267
|
+
"responseBody",
|
|
268
|
+
"responseBodyType",
|
|
269
|
+
"detectBodyType",
|
|
270
|
+
"text",
|
|
271
|
+
"blobToText",
|
|
272
|
+
"arrayBufferToText",
|
|
273
|
+
"buffer",
|
|
274
|
+
"json",
|
|
275
|
+
"JSON",
|
|
276
|
+
"parse",
|
|
277
|
+
"blob",
|
|
278
|
+
"Blob",
|
|
279
|
+
"cloneBuffer",
|
|
280
|
+
"arrayBuffer",
|
|
281
|
+
"blobToArrayBuffer",
|
|
282
|
+
"formData",
|
|
283
|
+
"hasFormData",
|
|
284
|
+
"textToFormData",
|
|
285
|
+
"canUseBlob",
|
|
286
|
+
"window",
|
|
287
|
+
"FileReader",
|
|
288
|
+
"FormData",
|
|
289
|
+
"hasArrayBuffer",
|
|
290
|
+
"ArrayBuffer",
|
|
291
|
+
"hasSearchParams",
|
|
292
|
+
"URLSearchParams",
|
|
293
|
+
"stack",
|
|
294
|
+
"promise",
|
|
295
|
+
"res",
|
|
296
|
+
"rej",
|
|
297
|
+
"originSameAsGlobalOrigin",
|
|
298
|
+
"location",
|
|
299
|
+
"globalOrigin",
|
|
300
|
+
"hrefToOrigin",
|
|
301
|
+
"isPrototypeOf",
|
|
302
|
+
"isDataView",
|
|
303
|
+
"isArrayBufferView",
|
|
304
|
+
"headerMap",
|
|
305
|
+
"headersString",
|
|
306
|
+
"getAllResponseHeaders",
|
|
307
|
+
"lines",
|
|
308
|
+
"trim",
|
|
309
|
+
"split",
|
|
310
|
+
"line",
|
|
311
|
+
"parts",
|
|
312
|
+
"shift",
|
|
313
|
+
"toLowerCase",
|
|
314
|
+
"href",
|
|
315
|
+
"scheme",
|
|
316
|
+
"hrefToScheme",
|
|
317
|
+
"secondProtocolSlashIndex",
|
|
318
|
+
"pathnameSlashIndex",
|
|
319
|
+
"colonIndex",
|
|
320
|
+
"DataView",
|
|
321
|
+
"isView",
|
|
322
|
+
"viewClasses",
|
|
323
|
+
"toString",
|
|
324
|
+
"form",
|
|
325
|
+
"bytes",
|
|
326
|
+
"append",
|
|
327
|
+
"decodeURIComponent",
|
|
328
|
+
"reader",
|
|
329
|
+
"fileReaderReady",
|
|
330
|
+
"readAsArrayBuffer",
|
|
331
|
+
"readAsText",
|
|
332
|
+
"view",
|
|
333
|
+
"Uint8Array",
|
|
334
|
+
"chars",
|
|
335
|
+
"fromCharCode",
|
|
336
|
+
"byteLength",
|
|
337
|
+
"set",
|
|
116
338
|
"_await",
|
|
339
|
+
"fetchNative",
|
|
340
|
+
"mode",
|
|
341
|
+
"options",
|
|
342
|
+
"fetch",
|
|
343
|
+
"responseToHeaders",
|
|
117
344
|
"_async",
|
|
345
|
+
"fetchUrl",
|
|
346
|
+
"AbortController",
|
|
347
|
+
"fetchJson",
|
|
348
|
+
"recover",
|
|
349
|
+
"fetchExploringJson",
|
|
350
|
+
"aborted",
|
|
351
|
+
"updateIframeOverflowOnParentWindow",
|
|
352
|
+
"aTooltipIsOpened",
|
|
353
|
+
"document",
|
|
354
|
+
"querySelector",
|
|
355
|
+
"settingsAreOpened",
|
|
356
|
+
"enableIframeOverflowOnParentWindow",
|
|
357
|
+
"disableIframeOverflowOnParentWindow",
|
|
358
|
+
"iframeOverflowEnabled",
|
|
359
|
+
"iframe",
|
|
360
|
+
"getToolbarIframe",
|
|
361
|
+
"transitionDuration",
|
|
362
|
+
"style",
|
|
363
|
+
"setStyles",
|
|
364
|
+
"setTimeout",
|
|
365
|
+
"iframes",
|
|
366
|
+
"from",
|
|
367
|
+
"parent",
|
|
368
|
+
"querySelectorAll",
|
|
369
|
+
"find",
|
|
370
|
+
"contentWindow",
|
|
371
|
+
"forceHideElement",
|
|
372
|
+
"element",
|
|
373
|
+
"setAttribute",
|
|
374
|
+
"removeForceHideElement",
|
|
375
|
+
"removeAttribute",
|
|
376
|
+
"styles",
|
|
377
|
+
"elementStyle",
|
|
378
|
+
"restoreStyles",
|
|
379
|
+
"map",
|
|
380
|
+
"styleName",
|
|
381
|
+
"restore",
|
|
382
|
+
"currentStyle",
|
|
383
|
+
"toolbarSectionIsActive",
|
|
384
|
+
"hasAttribute",
|
|
385
|
+
"activateToolbarSection",
|
|
386
|
+
"deactivateToolbarSection",
|
|
387
|
+
"startJavaScriptAnimation",
|
|
388
|
+
"duration",
|
|
389
|
+
"timingFunction",
|
|
390
|
+
"t",
|
|
391
|
+
"onProgress",
|
|
392
|
+
"onCancel",
|
|
393
|
+
"onComplete",
|
|
394
|
+
"isNaN",
|
|
395
|
+
"parseInt",
|
|
396
|
+
"startMs",
|
|
397
|
+
"performance",
|
|
398
|
+
"now",
|
|
399
|
+
"currentRequestAnimationFrameId",
|
|
400
|
+
"done",
|
|
401
|
+
"rawProgress",
|
|
402
|
+
"progress",
|
|
403
|
+
"handler",
|
|
404
|
+
"nowMs",
|
|
405
|
+
"requestAnimationFrame",
|
|
406
|
+
"stop",
|
|
407
|
+
"cancelAnimationFrame",
|
|
408
|
+
"mousedownEvent",
|
|
409
|
+
"defaultPrevented",
|
|
410
|
+
"documentElement",
|
|
411
|
+
"touchstartEvent",
|
|
412
|
+
"keydownEvent",
|
|
413
|
+
"renderBackToListInToolbar",
|
|
414
|
+
"outDirectoryRelativeUrl",
|
|
415
|
+
"exploringHtmlFileRelativeUrl",
|
|
416
|
+
"exploringHtmlFileUrl",
|
|
417
|
+
"onclick",
|
|
418
|
+
"clickEvent",
|
|
419
|
+
"isClickToOpenTab",
|
|
420
|
+
"button",
|
|
421
|
+
"metaKey",
|
|
422
|
+
"ctrlKey",
|
|
423
|
+
"createPreference",
|
|
424
|
+
"has",
|
|
425
|
+
"localStorage",
|
|
426
|
+
"hasOwnProperty",
|
|
427
|
+
"get",
|
|
428
|
+
"getItem",
|
|
429
|
+
"undefined",
|
|
430
|
+
"setItem",
|
|
431
|
+
"stringify",
|
|
432
|
+
"toggleTooltip",
|
|
433
|
+
"hideTooltip",
|
|
434
|
+
"showTooltip",
|
|
435
|
+
"autoShowTooltip",
|
|
436
|
+
"removeAutoShowTooltip",
|
|
437
|
+
"hideAllTooltip",
|
|
438
|
+
"elementsWithTooltip",
|
|
439
|
+
"elementWithTooltip",
|
|
440
|
+
"renderToolbarSettings",
|
|
441
|
+
"toggleSettings",
|
|
442
|
+
"settingsAreVisible",
|
|
443
|
+
"hideSettings",
|
|
444
|
+
"showSettings",
|
|
118
445
|
"_call",
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
"
|
|
446
|
+
"notificationPreference",
|
|
447
|
+
"arrayOfOpenedNotifications",
|
|
448
|
+
"renderToolbarNotification",
|
|
449
|
+
"notifCheckbox",
|
|
450
|
+
"checked",
|
|
451
|
+
"getNotificationPreference",
|
|
452
|
+
"onchange",
|
|
453
|
+
"setNotificationPreference",
|
|
454
|
+
"requestPermission",
|
|
455
|
+
"notification",
|
|
456
|
+
"close",
|
|
457
|
+
"notifyExecutionResult",
|
|
458
|
+
"executedFileRelativeUrl",
|
|
459
|
+
"execution",
|
|
460
|
+
"previousExecution",
|
|
461
|
+
"notificationEnabled",
|
|
462
|
+
"notificationOptions",
|
|
463
|
+
"lang",
|
|
464
|
+
"icon",
|
|
465
|
+
"getFaviconHref",
|
|
466
|
+
"clickToFocus",
|
|
467
|
+
"clickToClose",
|
|
468
|
+
"notify",
|
|
469
|
+
"notificationAvailable",
|
|
470
|
+
"Notification",
|
|
471
|
+
"link",
|
|
472
|
+
"title",
|
|
473
|
+
"permission",
|
|
474
|
+
"focus",
|
|
475
|
+
"onclose",
|
|
476
|
+
"index",
|
|
477
|
+
"splice",
|
|
478
|
+
"permissionPromise",
|
|
479
|
+
"DARK_THEME",
|
|
480
|
+
"LIGHT_THEME",
|
|
481
|
+
"themePreference",
|
|
482
|
+
"renderToolbarTheme",
|
|
483
|
+
"theme",
|
|
484
|
+
"getThemePreference",
|
|
485
|
+
"checkbox",
|
|
486
|
+
"setTheme",
|
|
487
|
+
"setThemePreference",
|
|
488
|
+
"animationPreference",
|
|
489
|
+
"renderToolbarAnimation",
|
|
490
|
+
"animCheckbox",
|
|
491
|
+
"getAnimationPreference",
|
|
492
|
+
"setAnimationPreference",
|
|
493
|
+
"onPreferenceChange",
|
|
494
|
+
"enableAnimation",
|
|
495
|
+
"disableAnimation",
|
|
496
|
+
"enableVariant",
|
|
497
|
+
"rootNode",
|
|
498
|
+
"variables",
|
|
499
|
+
"nodesNotMatching",
|
|
500
|
+
"attributeIndicatingACondition",
|
|
501
|
+
"nodeNotMatching",
|
|
502
|
+
"conditionAttributeValue",
|
|
503
|
+
"getAttribute",
|
|
504
|
+
"matches",
|
|
505
|
+
"testCondition",
|
|
506
|
+
"renameAttribute",
|
|
507
|
+
"attributeIndicatingAMatch",
|
|
508
|
+
"nodesMatching",
|
|
509
|
+
"nodeMatching",
|
|
510
|
+
"condition",
|
|
511
|
+
"parseCondition",
|
|
512
|
+
"some",
|
|
513
|
+
"node",
|
|
514
|
+
"newName",
|
|
515
|
+
"createHorizontalBreakpoint",
|
|
516
|
+
"breakpointValue",
|
|
517
|
+
"createBreakpoint",
|
|
518
|
+
"windowWidthMeasure",
|
|
519
|
+
"createMeasure",
|
|
520
|
+
"compute",
|
|
521
|
+
"register",
|
|
522
|
+
"currentValue",
|
|
523
|
+
"changed",
|
|
524
|
+
"createSignal",
|
|
525
|
+
"unregister",
|
|
526
|
+
"previousValue",
|
|
527
|
+
"callbackArray",
|
|
528
|
+
"listen",
|
|
529
|
+
"callback",
|
|
530
|
+
"innerWidth",
|
|
531
|
+
"removeEventListener",
|
|
532
|
+
"measure",
|
|
533
|
+
"getBreakpointState",
|
|
534
|
+
"currentBreakpointState",
|
|
535
|
+
"isAbove",
|
|
536
|
+
"isBelow",
|
|
537
|
+
"breakpointChanged",
|
|
538
|
+
"breakpointState",
|
|
539
|
+
"breakpointStatePrevious",
|
|
540
|
+
"WINDOW_MEDIUM_WIDTH",
|
|
541
|
+
"renderExecutionInToolbar",
|
|
542
|
+
"applyExecutionIndicator",
|
|
543
|
+
"input",
|
|
544
|
+
"fileWidthBreakpoint",
|
|
545
|
+
"handleFileWidthBreakpoint",
|
|
546
|
+
"resizeInput",
|
|
547
|
+
"__jsenv__",
|
|
548
|
+
"executionResultPromise",
|
|
549
|
+
"startTime",
|
|
550
|
+
"endTime",
|
|
551
|
+
"executionStorageKey",
|
|
552
|
+
"sessionStorage",
|
|
553
|
+
"executionIndicator",
|
|
554
|
+
"variantNode",
|
|
555
|
+
"textContent",
|
|
556
|
+
"computeText",
|
|
557
|
+
"size",
|
|
558
|
+
"width",
|
|
559
|
+
"COMPILE_ID_OTHERWISE",
|
|
560
|
+
"computeCompileIdFromGroupId",
|
|
561
|
+
"groupId",
|
|
562
|
+
"groupMap",
|
|
563
|
+
"createUnexpectedGroupIdMessage",
|
|
564
|
+
"compileId",
|
|
565
|
+
"firstMatch",
|
|
566
|
+
"regexp",
|
|
567
|
+
"match",
|
|
568
|
+
"secondMatch",
|
|
569
|
+
"userAgentToVersion",
|
|
570
|
+
"userAgent",
|
|
571
|
+
"detectAndroid",
|
|
123
572
|
"navigatorToBrowser",
|
|
573
|
+
"navigator",
|
|
574
|
+
"appVersion",
|
|
575
|
+
"test",
|
|
576
|
+
"version",
|
|
577
|
+
"detectInternetExplorer",
|
|
124
578
|
"userAgentToBrowser",
|
|
125
|
-
"
|
|
579
|
+
"detectOpera",
|
|
580
|
+
"detectEdge",
|
|
581
|
+
"detectFirefox",
|
|
582
|
+
"detectChrome",
|
|
583
|
+
"detectSafari",
|
|
584
|
+
"detectElectron",
|
|
585
|
+
"detectIOS",
|
|
586
|
+
"detectorCompose",
|
|
587
|
+
"detectors",
|
|
588
|
+
"detector",
|
|
589
|
+
"detectBrowser",
|
|
590
|
+
"normalizeName",
|
|
591
|
+
"normalizeVersion",
|
|
592
|
+
"valueToVersion",
|
|
593
|
+
"numberToVersion",
|
|
594
|
+
"stringToVersion",
|
|
595
|
+
"TypeError",
|
|
596
|
+
"number",
|
|
597
|
+
"major",
|
|
598
|
+
"minor",
|
|
599
|
+
"patch",
|
|
600
|
+
"Number",
|
|
601
|
+
"versionCompare",
|
|
602
|
+
"versionA",
|
|
603
|
+
"versionB",
|
|
604
|
+
"semanticVersionA",
|
|
605
|
+
"semanticVersionB",
|
|
606
|
+
"majorDiff",
|
|
607
|
+
"minorDiff",
|
|
608
|
+
"patchDiff",
|
|
609
|
+
"versionIsBelow",
|
|
610
|
+
"versionSupposedBelow",
|
|
611
|
+
"versionSupposedAbove",
|
|
612
|
+
"findHighestVersion",
|
|
613
|
+
"values",
|
|
614
|
+
"reduce",
|
|
615
|
+
"highestVersion",
|
|
616
|
+
"resolveGroup",
|
|
617
|
+
"compileIdCandidate",
|
|
618
|
+
"minRuntimeVersions",
|
|
619
|
+
"versionForGroup",
|
|
620
|
+
"scanBrowserRuntimeFeatures",
|
|
621
|
+
"coverageHandledFromOutside",
|
|
622
|
+
"failFastOnFeatureDetection",
|
|
623
|
+
"inlineImportMapIntoHTML",
|
|
624
|
+
"customCompilerPatterns",
|
|
625
|
+
"compileServerGroupMap",
|
|
626
|
+
"browser",
|
|
627
|
+
"groupInfo",
|
|
628
|
+
"featuresReport",
|
|
629
|
+
"importmap",
|
|
630
|
+
"dynamicImport",
|
|
631
|
+
"topLevelAwait",
|
|
632
|
+
"jsonImportAssertions",
|
|
633
|
+
"cssImportAssertions",
|
|
634
|
+
"newStylesheet",
|
|
635
|
+
"detectSupportedFeatures",
|
|
636
|
+
"pluginRequiredNamesFromGroupInfo",
|
|
637
|
+
"pluginRequiredNameArray",
|
|
638
|
+
"canAvoidCompilation",
|
|
639
|
+
"supportsImportmap",
|
|
640
|
+
"remote",
|
|
641
|
+
"supportsDynamicImport",
|
|
642
|
+
"supportsTopLevelAwait",
|
|
643
|
+
"requiredPluginNames",
|
|
644
|
+
"markPluginAsSupported",
|
|
645
|
+
"supportsJsonImportAssertions",
|
|
646
|
+
"supportsCssImportAssertions",
|
|
647
|
+
"supportsNewStylesheet",
|
|
648
|
+
"CSSStyleSheet",
|
|
649
|
+
"specifier",
|
|
650
|
+
"asBase64Url",
|
|
651
|
+
"importMap",
|
|
652
|
+
"imports",
|
|
653
|
+
"importmapScript",
|
|
654
|
+
"createElement",
|
|
655
|
+
"importmapString",
|
|
656
|
+
"type",
|
|
657
|
+
"src",
|
|
658
|
+
"btoa",
|
|
659
|
+
"appendChild",
|
|
660
|
+
"scriptModule",
|
|
661
|
+
"supported",
|
|
662
|
+
"__importmap_supported",
|
|
663
|
+
"removeChild",
|
|
664
|
+
"moduleSource",
|
|
665
|
+
"namespace",
|
|
666
|
+
"default",
|
|
667
|
+
"jsonBase64Url",
|
|
668
|
+
"cssBase64Url",
|
|
669
|
+
"mimeType",
|
|
670
|
+
"renderCompilationInToolbar",
|
|
671
|
+
"compileGroup",
|
|
672
|
+
"browserSupportRootNode",
|
|
673
|
+
"filesCompilationRootNode",
|
|
674
|
+
"browserSupport",
|
|
675
|
+
"alert",
|
|
676
|
+
"getBrowserSupportMessage",
|
|
677
|
+
"missingOnly",
|
|
678
|
+
"filesCompilation",
|
|
679
|
+
"compiled",
|
|
680
|
+
"fileRelativeUrl",
|
|
681
|
+
"shouldCompile",
|
|
682
|
+
"importmapSupported",
|
|
683
|
+
"dynamicImportSupported",
|
|
684
|
+
"topLevelAwaitSupported",
|
|
685
|
+
"pluginRequiredCount",
|
|
686
|
+
"customCompilerCount",
|
|
687
|
+
"connectEventSource",
|
|
688
|
+
"eventSourceUrl",
|
|
689
|
+
"events",
|
|
690
|
+
"connecting",
|
|
691
|
+
"connected",
|
|
692
|
+
"cancelled",
|
|
693
|
+
"failed",
|
|
694
|
+
"retryMaxAttempt",
|
|
695
|
+
"Infinity",
|
|
696
|
+
"retryAllocatedMs",
|
|
697
|
+
"lastEventId",
|
|
698
|
+
"EventSource",
|
|
699
|
+
"eventSourceOrigin",
|
|
700
|
+
"cancelCurrentConnection",
|
|
701
|
+
"reconnect",
|
|
702
|
+
"attemptConnection",
|
|
703
|
+
"addLastEventIdIntoUrlSearchParams",
|
|
704
|
+
"eventSource",
|
|
705
|
+
"connectionStatus",
|
|
706
|
+
"console",
|
|
707
|
+
"warn",
|
|
708
|
+
"connect",
|
|
709
|
+
"cancel",
|
|
710
|
+
"onopen",
|
|
711
|
+
"disconnect",
|
|
712
|
+
"retryCount",
|
|
713
|
+
"firstRetryMs",
|
|
714
|
+
"Date",
|
|
715
|
+
"errorEvent",
|
|
716
|
+
"considerFailed",
|
|
717
|
+
"CONNECTING",
|
|
718
|
+
"info",
|
|
719
|
+
"allRetryDuration",
|
|
720
|
+
"CLOSED",
|
|
721
|
+
"eventName",
|
|
722
|
+
"removePageUnloadListener",
|
|
723
|
+
"listenPageUnload",
|
|
724
|
+
"encodeURIComponent",
|
|
725
|
+
"removePageHideListener",
|
|
726
|
+
"listenEvent",
|
|
727
|
+
"pageHideEvent",
|
|
728
|
+
"persisted",
|
|
729
|
+
"emitter",
|
|
730
|
+
"event",
|
|
731
|
+
"connectCompileServerEventSource",
|
|
732
|
+
"onFileModified",
|
|
733
|
+
"onFileRemoved",
|
|
734
|
+
"onConnecting",
|
|
735
|
+
"onConnectionCancelled",
|
|
736
|
+
"onConnectionFailed",
|
|
737
|
+
"onConnected",
|
|
738
|
+
"data",
|
|
739
|
+
"livereloadingPreference",
|
|
740
|
+
"eventSourceState",
|
|
741
|
+
"livereloadingAvailableOnServer",
|
|
742
|
+
"initToolbarEventSource",
|
|
743
|
+
"livereloading",
|
|
744
|
+
"getLivereloadCallback",
|
|
745
|
+
"originalFileProjectRelativeUrl",
|
|
746
|
+
"callbacks",
|
|
747
|
+
"livereloadingCallbacks",
|
|
748
|
+
"disableLivereloadSetting",
|
|
749
|
+
"livereloadCheckbox",
|
|
750
|
+
"shouldLivereload",
|
|
751
|
+
"updateEventSourceIndicator",
|
|
752
|
+
"getLivereloadingPreference",
|
|
753
|
+
"disabled",
|
|
754
|
+
"parentEventSource",
|
|
755
|
+
"__jsenv_eventsource__",
|
|
756
|
+
"latestChangeMap",
|
|
757
|
+
"eventSourceHooks",
|
|
758
|
+
"eventSourceConnection",
|
|
759
|
+
"connectionReadyPromise",
|
|
760
|
+
"handleFileChange",
|
|
761
|
+
"file",
|
|
762
|
+
"eventType",
|
|
763
|
+
"livereloadCallback",
|
|
764
|
+
"reloadPage",
|
|
765
|
+
"endsWith",
|
|
766
|
+
"reloadAllCss",
|
|
767
|
+
"links",
|
|
768
|
+
"getElementsByTagName",
|
|
769
|
+
"rel",
|
|
770
|
+
"searchParams",
|
|
771
|
+
"reload",
|
|
772
|
+
"reloadChanges",
|
|
773
|
+
"fullReloadRequired",
|
|
774
|
+
"cssReloadRequired",
|
|
775
|
+
"onFileAdded",
|
|
776
|
+
"eventSourceIndicator",
|
|
777
|
+
"changeCount",
|
|
778
|
+
"eventsource",
|
|
779
|
+
"livereload",
|
|
780
|
+
"changes",
|
|
781
|
+
"changeLink",
|
|
782
|
+
"innerHTML",
|
|
783
|
+
"log",
|
|
784
|
+
"WINDOW_SMALL_WIDTH",
|
|
785
|
+
"makeToolbarResponsive",
|
|
786
|
+
"overflowMenuBreakpoint",
|
|
787
|
+
"handleOverflowMenuBreakpoint",
|
|
788
|
+
"responsiveToolbar",
|
|
789
|
+
"toggleOverflowMenu",
|
|
790
|
+
"enableOverflow",
|
|
791
|
+
"disableOverflow",
|
|
792
|
+
"moves",
|
|
793
|
+
"responsiveToolbarElements",
|
|
794
|
+
"overflowMenu",
|
|
795
|
+
"placeholder",
|
|
796
|
+
"display",
|
|
797
|
+
"parentNode",
|
|
798
|
+
"replaceChild",
|
|
799
|
+
"hideOverflowMenu",
|
|
800
|
+
"overflowMenuIsVisible",
|
|
801
|
+
"showOverflowMenu",
|
|
802
|
+
"toolbar",
|
|
803
|
+
"toolbarVisibilityPreference",
|
|
804
|
+
"renderToolbar",
|
|
805
|
+
"executedFileCompiledUrl",
|
|
806
|
+
"compileServerOrigin",
|
|
807
|
+
"exploringConfig",
|
|
808
|
+
"getCompileGroup",
|
|
809
|
+
"toolbarOverlay",
|
|
810
|
+
"toolbarElement",
|
|
811
|
+
"exposeOnParentWindow",
|
|
812
|
+
"show",
|
|
813
|
+
"showToolbar",
|
|
814
|
+
"hide",
|
|
815
|
+
"hideToolbar",
|
|
816
|
+
"toggle",
|
|
817
|
+
"toogleToolbar",
|
|
818
|
+
"toolbarVisible",
|
|
819
|
+
"animate",
|
|
820
|
+
"assign",
|
|
821
|
+
"toolbarIsVisible",
|
|
822
|
+
"sendEventToParent",
|
|
823
|
+
"toolbarIframe",
|
|
824
|
+
"toolbarIframeParent",
|
|
825
|
+
"parentWindow",
|
|
826
|
+
"parentDocumentElement",
|
|
827
|
+
"compatMode",
|
|
828
|
+
"scrollYMax",
|
|
829
|
+
"scrollHeight",
|
|
830
|
+
"innerHeight",
|
|
831
|
+
"scrollY",
|
|
832
|
+
"scrollTop",
|
|
833
|
+
"scrollYRemaining",
|
|
834
|
+
"restoreToolbarIframeParentStyles",
|
|
835
|
+
"restoreToolbarIframeStyles",
|
|
836
|
+
"height",
|
|
837
|
+
"visibility",
|
|
838
|
+
"scrollEnd",
|
|
839
|
+
"outDirectoryServerUrl",
|
|
840
|
+
"afterCompileDirectory",
|
|
841
|
+
"slashIndex",
|
|
842
|
+
"postMessage",
|
|
843
|
+
"jsenv"
|
|
126
844
|
],
|
|
127
|
-
"mappings": "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"
|
|
845
|
+
"mappings": "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"
|
|
128
846
|
}
|