@jsenv/core 24.6.3 → 24.6.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.
Files changed (32) hide show
  1. package/dist/browser_runtime/asset-manifest.json +1 -1
  2. package/dist/browser_runtime/{browser_runtime-c7288751.js → browser_runtime-bb0e3aa4.js} +78 -85
  3. package/dist/browser_runtime/{browser_runtime-c7288751.js.map → browser_runtime-bb0e3aa4.js.map} +3 -5
  4. package/dist/build_manifest.js +5 -5
  5. package/dist/compile_proxy/asset-manifest.json +1 -1
  6. package/dist/compile_proxy/{compile_proxy-28148b58.html → compile_proxy-6eb67db4.html} +16 -16
  7. package/dist/compile_proxy/{compile_proxy.html__inline__20-4887fb1d.js.map → compile_proxy.html__inline__20-9e168143.js.map} +2 -2
  8. package/dist/event_source_client/event_source_client-9f14c8b9.js +5 -11
  9. package/dist/event_source_client/event_source_client-9f14c8b9.js.map +1 -1
  10. package/dist/redirector/asset-manifest.json +1 -1
  11. package/dist/redirector/{redirector-3c05dbb2.html → redirector-b6ad84bf.html} +16 -16
  12. package/dist/redirector/{redirector.html__inline__15-19e529b9.js.map → redirector.html__inline__15-3a34a156.js.map} +2 -2
  13. package/dist/toolbar/asset-manifest.json +1 -1
  14. package/dist/toolbar/{toolbar-bab473ea.html → toolbar-1fbf8dcb.html} +28 -28
  15. package/dist/toolbar/{toolbar.main-eb8acf83.js.map → toolbar.main-a5ef2c60.js.map} +2 -2
  16. package/dist/toolbar_injector/asset-manifest.json +1 -1
  17. package/dist/toolbar_injector/{toolbar_injector-5e32f96a.js → toolbar_injector-997dbaa0.js} +24 -25
  18. package/dist/toolbar_injector/{toolbar_injector-5e32f96a.js.map → toolbar_injector-997dbaa0.js.map} +4 -5
  19. package/package.json +2 -2
  20. package/readme.md +10 -20
  21. package/src/buildProject.js +3 -5
  22. package/src/dev_server.js +6 -2
  23. package/src/internal/building/buildUsingRollup.js +0 -2
  24. package/src/internal/building/rollup_plugin_jsenv.js +6 -6
  25. package/src/internal/building/url_loader.js +3 -0
  26. package/src/internal/compiling/createCompiledFileService.js +7 -7
  27. package/src/internal/compiling/js-compilation-service/jsenvTransform.js +9 -55
  28. package/src/internal/compiling/js-compilation-service/transformJs.js +2 -4
  29. package/src/internal/compiling/jsenvCompilerForHtml.js +4 -4
  30. package/src/internal/compiling/jsenvCompilerForJavaScript.js +2 -2
  31. package/src/internal/compiling/startCompileServer.js +2 -2
  32. package/src/internal/compiling/js-compilation-service/findAsyncPluginNameInBabelPluginMap.js +0 -9
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "file": "toolbar_injector-5e32f96a.js",
3
+ "file": "toolbar_injector-997dbaa0.js",
4
4
  "sources": [
5
5
  "../../helpers/babel/typeof/typeof.js",
6
6
  "../../helpers/babel/defineProperty/defineProperty.js",
@@ -25,7 +25,7 @@
25
25
  "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",
26
26
  "import { fetchJson } from \"../../browser_utils/fetchJson.js\"\n\nexport const fetchExploringJson = async ({ signal } = {}) => {\n try {\n const exploringInfo = await fetchJson(\"/.jsenv/exploring.json\", {\n signal,\n })\n return exploringInfo\n } catch (e) {\n if (signal && signal.aborted && e.name === \"AbortError\") {\n throw e\n }\n throw new Error(\n `Cannot communicate with exploring server due to a network error\n--- error stack ---\n${e.stack}`,\n )\n }\n}\n",
27
27
  "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",
28
- "import { fetchExploringJson } from \"@jsenv/core/src/internal/dev_server/exploring/fetchExploringJson.js\"\nimport { setAttributes, setStyles } from \"./util/dom.js\"\n\n// eslint-disable-next-line no-undef\nconst TOOLBAR_BUILD_RELATIVE_URL = \"dist/toolbar/toolbar-bab473ea.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)\n } else {\n window.requestAnimationFrame(resolve)\n }\n })\n\n const { jsenvDirectoryRelativeUrl } = await fetchExploringJson()\n const jsenvDirectoryServerUrl = resolveUrl(\n jsenvDirectoryRelativeUrl,\n document.location.origin,\n )\n\n const placeholder = getToolbarPlaceholder()\n\n const iframe = document.createElement(\"iframe\")\n setAttributes(iframe, {\n tabindex: -1,\n // sandbox: \"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation\",\n // allow: \"accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr\",\n allowtransparency: true,\n })\n setStyles(iframe, {\n \"position\": \"fixed\",\n \"zIndex\": 1000,\n \"bottom\": 0,\n \"left\": 0,\n \"width\": \"100%\",\n \"height\": 0,\n /* ensure toolbar children are not focusable when hidden */\n \"visibility\": \"hidden\",\n \"transition-duration\": \"300ms\",\n \"transition-property\": \"height, visibility\",\n \"border\": \"none\",\n })\n const iframeLoadedPromise = iframeToLoadedPromise(iframe)\n const jsenvToolbarHtmlServerUrl = resolveUrl(\n TOOLBAR_BUILD_RELATIVE_URL,\n jsenvDirectoryServerUrl,\n )\n // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)\n iframe.setAttribute(\"src\", jsenvToolbarHtmlServerUrl)\n placeholder.parentNode.replaceChild(iframe, placeholder)\n\n await iframeLoadedPromise\n iframe.removeAttribute(\"tabindex\")\n\n const 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 addToolbarEventCallback(iframe, \"toolbar_ready\", () => {\n sendCommandToToolbar(iframe, \"renderToolbar\")\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\nconst resolveUrl = (url, baseUrl) => String(new URL(url, baseUrl))\n\nif (document.readyState === \"complete\") {\n injectToolbar()\n} else {\n window.addEventListener(\"load\", injectToolbar)\n}\n"
28
+ "import { fetchExploringJson } from \"@jsenv/core/src/internal/dev_server/exploring/fetchExploringJson.js\"\nimport { setAttributes, setStyles } from \"./util/dom.js\"\n\n// eslint-disable-next-line no-undef\nconst TOOLBAR_BUILD_RELATIVE_URL = \"dist/toolbar/toolbar-1fbf8dcb.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)\n } else {\n window.requestAnimationFrame(resolve)\n }\n })\n\n const { jsenvDirectoryRelativeUrl } = await fetchExploringJson()\n const jsenvDirectoryServerUrl = resolveUrl(\n jsenvDirectoryRelativeUrl,\n document.location.origin,\n )\n\n const placeholder = getToolbarPlaceholder()\n\n const iframe = document.createElement(\"iframe\")\n setAttributes(iframe, {\n tabindex: -1,\n // sandbox: \"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation\",\n // allow: \"accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr\",\n allowtransparency: true,\n })\n setStyles(iframe, {\n \"position\": \"fixed\",\n \"zIndex\": 1000,\n \"bottom\": 0,\n \"left\": 0,\n \"width\": \"100%\",\n \"height\": 0,\n /* ensure toolbar children are not focusable when hidden */\n \"visibility\": \"hidden\",\n \"transition-duration\": \"300ms\",\n \"transition-property\": \"height, visibility\",\n \"border\": \"none\",\n })\n const iframeLoadedPromise = iframeToLoadedPromise(iframe)\n const jsenvToolbarHtmlServerUrl = resolveUrl(\n TOOLBAR_BUILD_RELATIVE_URL,\n jsenvDirectoryServerUrl,\n )\n // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)\n iframe.setAttribute(\"src\", jsenvToolbarHtmlServerUrl)\n placeholder.parentNode.replaceChild(iframe, placeholder)\n\n await iframeLoadedPromise\n iframe.removeAttribute(\"tabindex\")\n\n const 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 addToolbarEventCallback(iframe, \"toolbar_ready\", () => {\n sendCommandToToolbar(iframe, \"renderToolbar\")\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\nconst resolveUrl = (url, baseUrl) => String(new URL(url, baseUrl))\n\nif (document.readyState === \"complete\") {\n injectToolbar()\n} else {\n window.addEventListener(\"load\", injectToolbar)\n}\n"
29
29
  ],
30
30
  "names": [
31
31
  "nativeTypeOf",
@@ -155,7 +155,6 @@
155
155
  "res",
156
156
  "rej",
157
157
  "originSameAsGlobalOrigin",
158
- "_typeof",
159
158
  "location",
160
159
  "globalOrigin",
161
160
  "origin",
@@ -203,12 +202,12 @@
203
202
  "byteLength",
204
203
  "set",
205
204
  "_await",
205
+ "_async",
206
206
  "fetchNative",
207
207
  "mode",
208
208
  "options",
209
209
  "fetch",
210
210
  "responseToHeaders",
211
- "_async",
212
211
  "fetchUrl",
213
212
  "AbortController",
214
213
  "fetchJson",
@@ -291,5 +290,5 @@
291
290
  "baseUrl",
292
291
  "URL"
293
292
  ],
294
- "mappings": "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"
293
+ "mappings": "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"
295
294
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/core",
3
- "version": "24.6.3",
3
+ "version": "24.6.4",
4
4
  "description": "Tool to develop, test and build js projects",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -121,7 +121,7 @@
121
121
  "@jsenv/package-publish": "1.6.2",
122
122
  "@jsenv/performance-impact": "2.2.1",
123
123
  "@jsenv/pwa": "4.0.0",
124
- "babel-plugin-transform-async-to-promises": "0.8.16",
124
+ "babel-plugin-transform-async-to-promises": "0.8.17",
125
125
  "eslint": "7.32.0",
126
126
  "eslint-plugin-html": "6.2.0",
127
127
  "eslint-plugin-import": "2.25.3",
package/readme.md CHANGED
@@ -8,25 +8,6 @@ _@jsenv/core_ was first created to write tests that could be executed in differe
8
8
 
9
9
  Jsenv integrates naturally with standard html, css and js. It can be configured to work with React and JSX.
10
10
 
11
- # Jsenv iconic features
12
-
13
- - Relies web standards
14
- - Dispensable by default: as long as your code use only standards, jsenv can be removed and code still runs.
15
- - Compiles when mandatory: if code can be executed without compilation, source files are used.
16
- - Test files and regular files have more in common. They are easier to understand and debug.
17
- - Great developer experience with explicit and coherent apis
18
-
19
- ## Web standards used by jsenv
20
-
21
- Each standard listed in this section is potentially supported natively by the browser. When browser supports all of them, jsenv will use source files without modification. Otherwise, the files are compiled to be executable in the browser.
22
-
23
- - `<script type="module">`
24
- - `<script type="importmap">`
25
- - top level await
26
- - import.meta.url
27
- - dynamic imports
28
- - import assertions
29
-
30
11
  # Test runner overview
31
12
 
32
13
  Let's assume you want to test `countDogs` exported by _animals.js_ file.
@@ -270,11 +251,20 @@ To read more about jsenv build tool, check [jsenv build documentation](./docs/bu
270
251
 
271
252
  # About
272
253
 
254
+ Jsenv relies on standard web features. Each standard listed below is potentially supported natively by the browser. When browser supports all of them, jsenv will use source files without modification. Otherwise, the files are compiled to be executable in the browser.
255
+
256
+ - `<script type="module">`
257
+ - `<script type="importmap">`
258
+ - top level await
259
+ - import.meta.url
260
+ - dynamic imports
261
+ - import assertions
262
+
273
263
  ## When to use it
274
264
 
275
265
  Amongst other use cases, the ease of use and flexibility of jsenv makes it a great tool to start and learn web development.
276
266
 
277
- First because jsenv is a tool that was built to run raw js, html and css. It starts from the **simplest form of coding**. If a browser can run your code, so can jsenv without configuration or things to learn. There is no magic that will bite you right away or later. Jsenv can be configured to add more stuff later, on demand.
267
+ First because jsenv is a tool that was built to run raw js, html and css. It starts from the **simplest form of coding** in JavaScript. If a browser can run your code, so can jsenv without configuration or things to learn. There is no magic that will bite you right away or later. Jsenv can be configured to add more stuff later, on demand.
278
268
 
279
269
  Second because jsenv is compatible with the latest standards. Even some that are not yet mature in the js ecosystem, such as import maps. This will makes you at ease with technologies that will be part of the ecosystem once you are confortable with coding.
280
270
 
@@ -41,7 +41,6 @@ export const buildProject = async ({
41
41
  format === "esmodule"
42
42
  ? jsenvBrowserRuntimeSupport
43
43
  : jsenvNodeRuntimeSupport,
44
- transformTopLevelAwait = true,
45
44
 
46
45
  urlMappings = {},
47
46
  importResolutionMethod = format === "commonjs" ? "node" : "importmap",
@@ -163,8 +162,9 @@ export const buildProject = async ({
163
162
  // that is expecting esmodule format, not systemjs
164
163
  outDirectoryName: "build",
165
164
  importDefaultExtension,
166
- moduleOutFormat: "esmodule", // rollup or jsenv rollup plugin will transform into the right format
167
- importMetaFormat: "esmodule", // rollup or jsenv rollup plugin will transform into the right format
165
+ moduleOutFormat: "esmodule", // rollup will transform into the right format
166
+ importMetaFormat: "esmodule", // rollup will transform into the right format
167
+ topLevelAwait: "ignore", // rollup will transform if needed
168
168
 
169
169
  protocol,
170
170
  privateKey,
@@ -173,7 +173,6 @@ export const buildProject = async ({
173
173
  port,
174
174
  env,
175
175
  babelPluginMap,
176
- transformTopLevelAwait,
177
176
  customCompilers,
178
177
  runtimeSupport,
179
178
 
@@ -220,7 +219,6 @@ export const buildProject = async ({
220
219
  globalName,
221
220
  globals,
222
221
  babelPluginMap: compileServer.babelPluginMap,
223
- transformTopLevelAwait,
224
222
  runtimeSupport,
225
223
 
226
224
  urlVersioning,
package/src/dev_server.js CHANGED
@@ -21,7 +21,6 @@ import {
21
21
  sourcemapMainFileInfo,
22
22
  sourcemapMappingFileInfo,
23
23
  } from "./internal/jsenvInternalFiles.js"
24
- import { jsenvRuntimeSupportDuringDev } from "./jsenvRuntimeSupportDuringDev.js"
25
24
 
26
25
  export const startDevServer = async ({
27
26
  signal = new AbortController().signal,
@@ -46,7 +45,12 @@ export const startDevServer = async ({
46
45
  keepProcessAlive = true,
47
46
 
48
47
  babelPluginMap,
49
- runtimeSupportDuringDev = jsenvRuntimeSupportDuringDev,
48
+ runtimeSupportDuringDev = {
49
+ // this allows to compile nothing or almost nothing when opening files
50
+ // with a recent chrome. Without this we would compile all the things not yet unsupported
51
+ // by Firefox and Safari such as top level await, importmap, etc
52
+ chrome: "93",
53
+ },
50
54
  logLevel,
51
55
  compileServerCanReadFromFilesystem,
52
56
  compileServerCanWriteOnFilesystem,
@@ -38,7 +38,6 @@ export const buildUsingRollup = async ({
38
38
  globals,
39
39
  babelPluginMap,
40
40
  runtimeSupport,
41
- transformTopLevelAwait,
42
41
 
43
42
  urlMappings,
44
43
  importResolutionMethod,
@@ -108,7 +107,6 @@ export const buildUsingRollup = async ({
108
107
  format,
109
108
  systemJsUrl,
110
109
  babelPluginMap,
111
- transformTopLevelAwait,
112
110
  node,
113
111
  browser,
114
112
  importAssertionsSupport,
@@ -240,9 +240,10 @@ export const createRollupPlugins = async ({
240
240
  let minifyHtml
241
241
 
242
242
  const rollupPlugins = []
243
- // rollup add async/await that might be unsupported by the runtime
243
+ // When format is systemjs, rollup add async/await
244
+ // that might be unsupported by the runtime.
244
245
  // in that case we have to transform the rollup output
245
- if (babelPluginMap["transform-async-to-promises"]) {
246
+ if (babelPluginMap["transform-async-to-promises"] && format === "systemjs") {
246
247
  rollupPlugins.push({
247
248
  name: "jsenv_fix_async_await",
248
249
  async renderChunk(code, chunk) {
@@ -257,12 +258,11 @@ export const createRollupPlugins = async ({
257
258
  "transform-async-to-promises":
258
259
  babelPluginMap["transform-async-to-promises"],
259
260
  },
261
+ // pass undefined when format is "systemjs" to avoid
262
+ // re-wrapping the code in systemjs format
263
+ moduleOutFormat: undefined,
260
264
  babelHelpersInjectionAsImport: false,
261
265
  transformGenerator: false,
262
- moduleOutFormat:
263
- // pass undefined when format is "systemjs" to avoid
264
- // re-wrapping the code in systemjs format
265
- format === "systemjs" ? undefined : format,
266
266
  })
267
267
  code = result.code
268
268
  map = result.map
@@ -119,6 +119,9 @@ export const createUrlLoader = ({
119
119
  projectDirectoryUrl,
120
120
  babelPluginMap,
121
121
  // moduleOutFormat: format // we are compiling for rollup output must be "esmodule"
122
+ // we compile for rollup, let top level await untouched
123
+ // it will be converted, if needed, during "renderChunk" hook
124
+ topLevelAwait: "ignore",
122
125
  })
123
126
  let code = transformResult.code
124
127
  let map = transformResult.map
@@ -41,10 +41,10 @@ export const createCompiledFileService = ({
41
41
  outDirectoryRelativeUrl,
42
42
 
43
43
  runtimeSupport,
44
- transformTopLevelAwait,
44
+ babelPluginMap,
45
45
  moduleOutFormat,
46
46
  importMetaFormat,
47
- babelPluginMap,
47
+ topLevelAwait,
48
48
  groupMap,
49
49
  customCompilers,
50
50
 
@@ -185,16 +185,16 @@ export const createCompiledFileService = ({
185
185
  request,
186
186
 
187
187
  runtimeSupport,
188
+ babelPluginMap: babelPluginMapFromCompileId(compileId, {
189
+ babelPluginMap,
190
+ groupMap,
191
+ }),
188
192
  moduleOutFormat:
189
193
  moduleOutFormat === undefined
190
194
  ? compileIdModuleFormats[compileId]
191
195
  : moduleOutFormat,
192
196
  importMetaFormat,
193
- transformTopLevelAwait,
194
- babelPluginMap: babelPluginMapFromCompileId(compileId, {
195
- babelPluginMap,
196
- groupMap,
197
- }),
197
+ topLevelAwait,
198
198
 
199
199
  sourcemapMethod,
200
200
  sourcemapExcludeSources,
@@ -5,11 +5,9 @@ import { babelPluginTransformImportMeta } from "@jsenv/core/src/internal/babel_p
5
5
  import {
6
6
  getMinimalBabelPluginMap,
7
7
  babelPluginsFromBabelPluginMap,
8
- extractSyntaxBabelPluginMap,
9
8
  } from "@jsenv/core/src/internal/compiling/babel_plugins.js"
10
9
  import { babelPluginImportMetadata } from "@jsenv/core/src/internal/compiling/babel_plugin_import_metadata.js"
11
10
 
12
- import { findAsyncPluginNameInBabelPluginMap } from "./findAsyncPluginNameInBabelPluginMap.js"
13
11
  import { ansiToHTML } from "./ansiToHTML.js"
14
12
  import { babelPluginRegeneratorRuntimeAsJsenvImport } from "./babel_plugin_regenerator_runtime_as_jsenv_import.js"
15
13
  import { babelPluginBabelHelpersAsJsenvImports } from "./babel_plugin_babel_helpers_as_jsenv_imports.js"
@@ -25,10 +23,9 @@ export const jsenvTransform = async ({
25
23
  babelPluginMap,
26
24
  moduleOutFormat,
27
25
  importMetaFormat = moduleOutFormat,
26
+ topLevelAwait,
28
27
 
29
28
  babelHelpersInjectionAsImport,
30
- allowTopLevelAwait,
31
- transformTopLevelAwait,
32
29
  transformGenerator,
33
30
  regeneratorRuntimeImportPath,
34
31
  sourcemapEnabled,
@@ -50,7 +47,11 @@ export const jsenvTransform = async ({
50
47
  sourceFileName: inputPath,
51
48
  // https://babeljs.io/docs/en/options#parseropts
52
49
  parserOpts: {
53
- allowAwaitOutsideFunction: allowTopLevelAwait,
50
+ allowAwaitOutsideFunction:
51
+ topLevelAwait === undefined ||
52
+ topLevelAwait === "return" ||
53
+ topLevelAwait === "simple" ||
54
+ topLevelAwait === "ignore",
54
55
  },
55
56
  generatorOpts: {
56
57
  compact: false,
@@ -147,56 +148,9 @@ export const jsenvTransform = async ({
147
148
  "import-metadata": [babelPluginImportMetadata],
148
149
  }
149
150
 
150
- const asyncPluginName = findAsyncPluginNameInBabelPluginMap(babelPluginMap)
151
-
152
- if (
153
- moduleOutFormat === "systemjs" &&
154
- transformTopLevelAwait &&
155
- asyncPluginName
156
- ) {
157
- const babelPluginMapWithoutAsync = {
158
- ...babelPluginMap,
159
- "proposal-dynamic-import": [proposalDynamicImport],
160
- "transform-modules-systemjs": [transformModulesSystemJs],
161
- }
162
- delete babelPluginMapWithoutAsync[asyncPluginName]
163
-
164
- // put body inside something like (async () => {})()
165
- const result = await babelTransform({
166
- ast,
167
- code,
168
- options: {
169
- ...options,
170
- plugins: babelPluginsFromBabelPluginMap(babelPluginMapWithoutAsync),
171
- },
172
- })
173
-
174
- // we need to retranspile the await keywords now wrapped
175
- // inside Systemjs function.
176
- // They are ignored, at least by transform-async-to-promises
177
- // see https://github.com/rpetrich/babel-plugin-transform-async-to-promises/issues/26
178
- const { babelSyntaxPluginMap } = extractSyntaxBabelPluginMap(babelPluginMap)
179
- const finalResult = await babelTransform({
180
- // ast: result.ast,
181
- code: result.code,
182
- options: {
183
- ...options,
184
- // about inputSourceMap see
185
- // https://github.com/babel/babel/blob/eac4c5bc17133c2857f2c94c1a6a8643e3b547a7/packages/babel-core/src/transformation/file/generate.js#L57
186
- // https://github.com/babel/babel/blob/090c364a90fe73d36a30707fc612ce037bdbbb24/packages/babel-core/src/transformation/file/merge-map.js#L6s
187
- inputSourceMap: result.map,
188
- plugins: babelPluginsFromBabelPluginMap({
189
- ...babelSyntaxPluginMap,
190
- [asyncPluginName]: babelPluginMap[asyncPluginName],
191
- }),
192
- },
193
- })
194
-
195
- return {
196
- ...result,
197
- ...finalResult,
198
- metadata: { ...result.metadata, ...finalResult.metadata },
199
- }
151
+ const asyncToPromise = babelPluginMap["transform-async-to-promises"]
152
+ if (topLevelAwait && asyncToPromise) {
153
+ asyncToPromise.options.topLevelAwait = topLevelAwait
200
154
  }
201
155
 
202
156
  const babelTransformReturnValue = await babelTransform({
@@ -12,8 +12,7 @@ export const transformJs = async ({
12
12
  moduleOutFormat = "esmodule",
13
13
  importMetaFormat = moduleOutFormat,
14
14
  babelHelpersInjectionAsImport = moduleOutFormat === "esmodule",
15
- allowTopLevelAwait = true,
16
- transformTopLevelAwait = true,
15
+ topLevelAwait,
17
16
  transformGenerator = true,
18
17
  sourcemapEnabled = true,
19
18
  }) => {
@@ -52,8 +51,7 @@ export const transformJs = async ({
52
51
  importMetaFormat,
53
52
 
54
53
  babelHelpersInjectionAsImport,
55
- allowTopLevelAwait,
56
- transformTopLevelAwait,
54
+ topLevelAwait,
57
55
  transformGenerator,
58
56
  sourcemapEnabled,
59
57
  })
@@ -42,10 +42,10 @@ export const compileHtml = async ({
42
42
  outDirectoryRelativeUrl,
43
43
  compileId,
44
44
 
45
- transformTopLevelAwait,
45
+ babelPluginMap,
46
46
  moduleOutFormat,
47
47
  importMetaFormat,
48
- babelPluginMap,
48
+ topLevelAwait,
49
49
 
50
50
  sourcemapMethod,
51
51
 
@@ -284,10 +284,10 @@ export const compileHtml = async ({
284
284
  compiledUrl: scriptCompiledFileUrl,
285
285
  projectDirectoryUrl,
286
286
 
287
- transformTopLevelAwait,
287
+ babelPluginMap,
288
288
  moduleOutFormat,
289
289
  importMetaFormat,
290
- babelPluginMap,
290
+ topLevelAwait,
291
291
  })
292
292
  } catch (e) {
293
293
  // If there is a syntax error in inline script
@@ -9,9 +9,9 @@ export const compileJavascript = async ({
9
9
  projectDirectoryUrl,
10
10
 
11
11
  babelPluginMap,
12
- transformTopLevelAwait,
13
12
  moduleOutFormat,
14
13
  importMetaFormat,
14
+ topLevelAwait,
15
15
 
16
16
  sourcemapExcludeSources,
17
17
  sourcemapMethod,
@@ -24,9 +24,9 @@ export const compileJavascript = async ({
24
24
  projectDirectoryUrl,
25
25
 
26
26
  babelPluginMap,
27
- transformTopLevelAwait,
28
27
  moduleOutFormat,
29
28
  importMetaFormat,
29
+ topLevelAwait,
30
30
  })
31
31
 
32
32
  return transformResultToCompilationResult(
@@ -82,9 +82,9 @@ export const startCompileServer = async ({
82
82
  projectFileCacheStrategy = "mtime",
83
83
 
84
84
  // js compile options
85
- transformTopLevelAwait = true,
86
85
  moduleOutFormat,
87
86
  importMetaFormat,
87
+ topLevelAwait,
88
88
  env = {},
89
89
  processEnvNodeEnv = process.env.NODE_ENV,
90
90
  replaceProcessEnvNodeEnv = true,
@@ -310,7 +310,7 @@ export const startCompileServer = async ({
310
310
  importDefaultExtension,
311
311
 
312
312
  runtimeSupport,
313
- transformTopLevelAwait,
313
+ topLevelAwait,
314
314
  groupMap: compileServerGroupMap,
315
315
  babelPluginMap,
316
316
  customCompilers,
@@ -1,9 +0,0 @@
1
- export const findAsyncPluginNameInBabelPluginMap = (babelPluginMap) => {
2
- if ("transform-async-to-promises" in babelPluginMap) {
3
- return "transform-async-to-promises"
4
- }
5
- if ("transform-async-to-generator" in babelPluginMap) {
6
- return "transform-async-to-generator"
7
- }
8
- return ""
9
- }