@jsenv/core 25.4.0 → 25.4.4
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/build_manifest.js +4 -4
- package/dist/compile_proxy/asset-manifest.json +2 -2
- package/dist/compile_proxy/{compile_proxy.html__inline__20_2334a374.js.map → compile_proxy.html__inline__20_f4285042.js.map} +3 -2
- package/dist/compile_proxy/{compile_proxy_9f737eaf.html → compile_proxy_ab528227.html} +6 -4
- package/dist/redirector/asset-manifest.json +2 -2
- package/dist/redirector/{redirector.html__inline__12_009c47c7.js.map → redirector.html__inline__12_404b8295.js.map} +6 -5
- package/dist/redirector/{redirector_96f74871.html → redirector_6df2620a.html} +57 -52
- package/dist/toolbar/asset-manifest.json +2 -2
- package/dist/toolbar/{toolbar.main_86335f90.js.map → toolbar.main_279b3a68.js.map} +175 -180
- package/dist/toolbar/{toolbar_d3a918a4.html → toolbar_0a91ca3b.html} +1232 -1285
- package/dist/toolbar_injector/asset-manifest.json +2 -2
- package/dist/toolbar_injector/toolbar_injector_34f6ad8e.js +976 -0
- package/dist/toolbar_injector/toolbar_injector_34f6ad8e.js.map +294 -0
- package/package.json +4 -5
- package/src/dev_server.js +36 -6
- package/src/importUsingChildProcess.js +1 -0
- package/src/internal/compiling/babel_plugin_transform_import_meta.js +23 -55
- package/src/internal/compiling/js-compilation-service/transformJs.js +1 -3
- package/src/internal/compiling/jsenvCompilerForHtml.js +9 -11
- package/src/internal/compiling/jsenv_directory/comparison_utils.js +4 -1
- package/src/internal/compiling/startCompileServer.js +1 -0
- package/src/internal/dev_server/toolbar/compilation/toolbar.compilation.js +9 -2
- package/src/internal/dev_server/toolbar/toolbar.html +6 -0
- package/src/internal/dev_server/toolbar/toolbar.injector.js +11 -3
- package/src/internal/dev_server/toolbar/toolbar.main.js +10 -14
- package/src/internal/features/browser_feature_detection/browser_feature_detection.js +7 -3
- package/src/internal/import-resolution/importmap_default.js +2 -17
- package/src/internal/node_launcher/createControllableNodeProcess.js +0 -3
- package/src/internal/node_runtime/nodeControllableFile.mjs +1 -5
- package/src/internal/redirector/redirector.html +6 -4
- package/dist/toolbar_injector/toolbar_injector_978bbd14.js +0 -267
- package/dist/toolbar_injector/toolbar_injector_978bbd14.js.map +0 -119
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"file": "toolbar_injector_978bbd14.js",
|
|
4
|
-
"sources": [
|
|
5
|
-
"../../helpers/babel/typeof/typeof.js",
|
|
6
|
-
"../../src/internal/dev_server/toolbar/util/dom.js",
|
|
7
|
-
"../../src/internal/dev_server/toolbar/toolbar.injector.js"
|
|
8
|
-
],
|
|
9
|
-
"sourcesContent": [
|
|
10
|
-
"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",
|
|
11
|
-
"export const updateIframeOverflowOnParentWindow = () => {\n if (!window.parent) {\n // can happen while parent iframe reloads\n return\n }\n\n const aTooltipIsOpened =\n document.querySelector(\"[data-tooltip-visible]\") ||\n document.querySelector(\"[data-tooltip-auto-visible]\")\n const settingsAreOpened = document.querySelector(\"#settings[data-active]\")\n\n if (aTooltipIsOpened || settingsAreOpened) {\n enableIframeOverflowOnParentWindow()\n } else {\n disableIframeOverflowOnParentWindow()\n }\n}\n\nlet iframeOverflowEnabled = false\nconst enableIframeOverflowOnParentWindow = () => {\n if (iframeOverflowEnabled) return\n iframeOverflowEnabled = true\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"100%\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nconst disableIframeOverflowOnParentWindow = () => {\n if (!iframeOverflowEnabled) return\n iframeOverflowEnabled = false\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"40px\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nexport const getToolbarIframe = () => {\n const iframes = Array.from(window.parent.document.querySelectorAll(\"iframe\"))\n return iframes.find((iframe) => iframe.contentWindow === window)\n}\n\nexport const forceHideElement = (element) => {\n element.setAttribute(\"data-force-hide\", \"\")\n}\n\nexport const removeForceHideElement = (element) => {\n element.removeAttribute(\"data-force-hide\")\n}\n\nexport const setStyles = (element, styles) => {\n const elementStyle = element.style\n const restoreStyles = Object.keys(styles).map((styleName) => {\n let restore\n if (styleName in elementStyle) {\n const currentStyle = elementStyle[styleName]\n restore = () => {\n elementStyle[styleName] = currentStyle\n }\n } else {\n restore = () => {\n delete elementStyle[styleName]\n }\n }\n\n elementStyle[styleName] = styles[styleName]\n\n return restore\n })\n return () => {\n restoreStyles.forEach((restore) => restore())\n }\n}\n\nexport const setAttributes = (element, attributes) => {\n Object.keys(attributes).forEach((name) => {\n element.setAttribute(name, attributes[name])\n })\n}\n\nexport const getDocumentScroll = () => {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop,\n }\n}\n\nexport const toolbarSectionIsActive = (element) => {\n return element.hasAttribute(\"data-active\")\n}\n\nexport const activateToolbarSection = (element) => {\n element.setAttribute(\"data-active\", \"\")\n}\n\nexport const deactivateToolbarSection = (element) => {\n element.removeAttribute(\"data-active\")\n}\n",
|
|
12
|
-
"import { setAttributes, setStyles } from \"./util/dom.js\"\n\n// eslint-disable-next-line no-undef\nconst TOOLBAR_BUILD_RELATIVE_URL = \"dist/toolbar/toolbar_d3a918a4.html\"\nconst jsenvLogoSvgUrl = new URL(\"./jsenv-logo.svg\", import.meta.url)\n\nconst injectToolbar = async () => {\n await new Promise((resolve) => {\n if (window.requestIdleCallback) {\n window.requestIdleCallback(resolve, { timeout: 400 })\n } else {\n window.requestAnimationFrame(resolve)\n }\n })\n\n const placeholder = getToolbarPlaceholder()\n\n const iframe = document.createElement(\"iframe\")\n setAttributes(iframe, {\n tabindex: -1,\n // sandbox: \"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation\",\n // allow: \"accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr\",\n allowtransparency: true,\n })\n setStyles(iframe, {\n \"position\": \"fixed\",\n \"zIndex\": 1000,\n \"bottom\": 0,\n \"left\": 0,\n \"width\": \"100%\",\n \"height\": 0,\n /* ensure toolbar children are not focusable when hidden */\n \"visibility\": \"hidden\",\n \"transition-duration\": \"300ms\",\n \"transition-property\": \"height, visibility\",\n \"border\": \"none\",\n })\n const iframeLoadedPromise = iframeToLoadedPromise(iframe)\n const jsenvToolbarHtmlServerUrl = `/${TOOLBAR_BUILD_RELATIVE_URL}`\n // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)\n iframe.setAttribute(\"src\", jsenvToolbarHtmlServerUrl)\n placeholder.parentNode.replaceChild(iframe, placeholder)\n\n addToolbarEventCallback(iframe, \"toolbar_ready\", () => {\n sendCommandToToolbar(iframe, \"renderToolbar\")\n })\n\n await iframeLoadedPromise\n iframe.removeAttribute(\"tabindex\")\n\n const div = document.createElement(\"div\")\n div.innerHTML = `\n<div id=\"jsenv-toolbar-trigger\">\n <svg id=\"jsenv-toolbar-trigger-icon\">\n <use xlink:href=\"${jsenvLogoSvgUrl}#jsenv-logo\"></use>\n </svg>\n <style>\n #jsenv-toolbar-trigger {\n display: block;\n overflow: hidden;\n position: fixed;\n z-index: 1000;\n bottom: -32px;\n right: 20px;\n height: 40px;\n width: 40px;\n padding: 0;\n margin: 0;\n border-radius: 5px 5px 0 0;\n border: 1px solid rgba(0, 0, 0, 0.33);\n border-bottom: none;\n box-shadow: 0px 0px 6px 2px rgba(0, 0, 0, 0.46);\n background: transparent;\n text-align: center;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger:hover {\n cursor: pointer;\n }\n\n #jsenv-toolbar-trigger[data-expanded] {\n bottom: 0;\n }\n\n #jsenv-toolbar-trigger-icon {\n width: 35px;\n height: 35px;\n opacity: 0;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger[data-expanded] #jsenv-toolbar-trigger-icon {\n opacity: 1;\n }\n </style>\n</div>`\n const toolbarTrigger = div.firstElementChild\n iframe.parentNode.appendChild(toolbarTrigger)\n\n let timer\n toolbarTrigger.onmouseenter = () => {\n toolbarTrigger.setAttribute(\"data-animate\", \"\")\n timer = setTimeout(expandToolbarTrigger, 500)\n }\n toolbarTrigger.onmouseleave = () => {\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onfocus = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n expandToolbarTrigger()\n }\n toolbarTrigger.onblur = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onclick = () => {\n sendCommandToToolbar(iframe, \"showToolbar\")\n }\n\n const showToolbarTrigger = () => {\n toolbarTrigger.style.display = \"block\"\n }\n\n const hideToolbarTrigger = () => {\n toolbarTrigger.style.display = \"none\"\n }\n\n const expandToolbarTrigger = () => {\n toolbarTrigger.setAttribute(\"data-expanded\", \"\")\n }\n\n const collapseToolbarTrigger = () => {\n toolbarTrigger.removeAttribute(\"data-expanded\", \"\")\n }\n\n hideToolbarTrigger()\n addToolbarEventCallback(iframe, \"toolbar-visibility-change\", (visible) => {\n if (visible) {\n hideToolbarTrigger()\n } else {\n showToolbarTrigger()\n }\n })\n\n return iframe\n}\n\nconst addToolbarEventCallback = (iframe, eventName, callback) => {\n const messageEventCallback = (messageEvent) => {\n const { data } = messageEvent\n if (typeof data !== \"object\") {\n return\n }\n const { __jsenv__ } = data\n if (!__jsenv__) {\n return\n }\n if (__jsenv__.event !== eventName) {\n return\n }\n callback(__jsenv__.data)\n }\n\n window.addEventListener(\"message\", messageEventCallback, false)\n return () => {\n window.removeEventListener(\"message\", messageEventCallback, false)\n }\n}\n\nconst sendCommandToToolbar = (iframe, command, ...args) => {\n iframe.contentWindow.postMessage(\n {\n __jsenv__: {\n command,\n args,\n },\n },\n window.origin,\n )\n}\n\nconst getToolbarPlaceholder = () => {\n const placeholder = queryPlaceholder()\n if (placeholder) {\n if (document.body.contains(placeholder)) {\n return placeholder\n }\n // otherwise iframe would not be visible because in <head>\n console.warn(\n \"element with [data-jsenv-toolbar-placeholder] must be inside document.body\",\n )\n return createTooolbarPlaceholder()\n }\n return createTooolbarPlaceholder()\n}\n\nconst queryPlaceholder = () => {\n return document.querySelector(\"[data-jsenv-toolbar-placeholder]\")\n}\n\nconst createTooolbarPlaceholder = () => {\n const placeholder = document.createElement(\"span\")\n document.body.appendChild(placeholder)\n return placeholder\n}\n\nconst iframeToLoadedPromise = (iframe) => {\n return new Promise((resolve) => {\n const onload = () => {\n iframe.removeEventListener(\"load\", onload, true)\n resolve()\n }\n iframe.addEventListener(\"load\", onload, true)\n })\n}\n\nif (document.readyState === \"complete\") {\n injectToolbar()\n} else {\n window.addEventListener(\"load\", injectToolbar)\n // document.addEventListener(\"readystatechange\", () => {\n // if (document.readyState === \"complete\") {\n // injectToolbar()\n // }\n // })\n}\n"
|
|
13
|
-
],
|
|
14
|
-
"names": [
|
|
15
|
-
"nativeTypeOf",
|
|
16
|
-
"obj",
|
|
17
|
-
"customTypeOf",
|
|
18
|
-
"Symbol",
|
|
19
|
-
"constructor",
|
|
20
|
-
"prototype",
|
|
21
|
-
"iterator",
|
|
22
|
-
"setStyles",
|
|
23
|
-
"element",
|
|
24
|
-
"styles",
|
|
25
|
-
"elementStyle",
|
|
26
|
-
"style",
|
|
27
|
-
"restoreStyles",
|
|
28
|
-
"Object",
|
|
29
|
-
"keys",
|
|
30
|
-
"map",
|
|
31
|
-
"styleName",
|
|
32
|
-
"restore",
|
|
33
|
-
"currentStyle",
|
|
34
|
-
"forEach",
|
|
35
|
-
"setAttributes",
|
|
36
|
-
"attributes",
|
|
37
|
-
"name",
|
|
38
|
-
"setAttribute",
|
|
39
|
-
"_await",
|
|
40
|
-
"value",
|
|
41
|
-
"then",
|
|
42
|
-
"direct",
|
|
43
|
-
"Promise",
|
|
44
|
-
"resolve",
|
|
45
|
-
"TOOLBAR_BUILD_RELATIVE_URL",
|
|
46
|
-
"_async",
|
|
47
|
-
"f",
|
|
48
|
-
"args",
|
|
49
|
-
"i",
|
|
50
|
-
"arguments",
|
|
51
|
-
"length",
|
|
52
|
-
"apply",
|
|
53
|
-
"e",
|
|
54
|
-
"reject",
|
|
55
|
-
"jsenvLogoSvgUrl",
|
|
56
|
-
"injectToolbar",
|
|
57
|
-
"window",
|
|
58
|
-
"requestIdleCallback",
|
|
59
|
-
"timeout",
|
|
60
|
-
"requestAnimationFrame",
|
|
61
|
-
"placeholder",
|
|
62
|
-
"getToolbarPlaceholder",
|
|
63
|
-
"iframe",
|
|
64
|
-
"document",
|
|
65
|
-
"createElement",
|
|
66
|
-
"tabindex",
|
|
67
|
-
"allowtransparency",
|
|
68
|
-
"iframeLoadedPromise",
|
|
69
|
-
"iframeToLoadedPromise",
|
|
70
|
-
"jsenvToolbarHtmlServerUrl",
|
|
71
|
-
"parentNode",
|
|
72
|
-
"replaceChild",
|
|
73
|
-
"addToolbarEventCallback",
|
|
74
|
-
"sendCommandToToolbar",
|
|
75
|
-
"removeAttribute",
|
|
76
|
-
"div",
|
|
77
|
-
"innerHTML",
|
|
78
|
-
"toolbarTrigger",
|
|
79
|
-
"firstElementChild",
|
|
80
|
-
"appendChild",
|
|
81
|
-
"timer",
|
|
82
|
-
"onmouseenter",
|
|
83
|
-
"setTimeout",
|
|
84
|
-
"expandToolbarTrigger",
|
|
85
|
-
"onmouseleave",
|
|
86
|
-
"clearTimeout",
|
|
87
|
-
"collapseToolbarTrigger",
|
|
88
|
-
"onfocus",
|
|
89
|
-
"onblur",
|
|
90
|
-
"onclick",
|
|
91
|
-
"showToolbarTrigger",
|
|
92
|
-
"display",
|
|
93
|
-
"hideToolbarTrigger",
|
|
94
|
-
"visible",
|
|
95
|
-
"eventName",
|
|
96
|
-
"callback",
|
|
97
|
-
"messageEventCallback",
|
|
98
|
-
"messageEvent",
|
|
99
|
-
"data",
|
|
100
|
-
"__jsenv__",
|
|
101
|
-
"event",
|
|
102
|
-
"addEventListener",
|
|
103
|
-
"removeEventListener",
|
|
104
|
-
"command",
|
|
105
|
-
"contentWindow",
|
|
106
|
-
"postMessage",
|
|
107
|
-
"origin",
|
|
108
|
-
"queryPlaceholder",
|
|
109
|
-
"body",
|
|
110
|
-
"contains",
|
|
111
|
-
"console",
|
|
112
|
-
"warn",
|
|
113
|
-
"createTooolbarPlaceholder",
|
|
114
|
-
"querySelector",
|
|
115
|
-
"onload",
|
|
116
|
-
"readyState"
|
|
117
|
-
],
|
|
118
|
-
"mappings": "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"
|
|
119
|
-
}
|