@jsenv/core 24.6.3 → 25.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/browser_runtime/asset-manifest.json +2 -1
  2. package/dist/browser_runtime/{browser_runtime-c7288751.js → browser_runtime_91c5a3b8.js} +213 -109
  3. package/dist/browser_runtime/browser_runtime_91c5a3b8.js.map +1089 -0
  4. package/dist/build_manifest.js +6 -6
  5. package/dist/compile_proxy/asset-manifest.json +2 -1
  6. package/dist/compile_proxy/{compile_proxy-28148b58.html → compile_proxy_7ad5faa6.html} +133 -40
  7. package/dist/compile_proxy/{compile_proxy.html__inline__20-4887fb1d.js.map → compile_proxy_e3b0c442_809f35f7.js.map} +7 -7
  8. package/dist/event_source_client/asset-manifest.json +2 -1
  9. package/dist/event_source_client/{event_source_client-9f14c8b9.js → event_source_client_620fbc2c.js} +6 -12
  10. package/dist/event_source_client/{event_source_client-9f14c8b9.js.map → event_source_client_620fbc2c.js.map} +2 -2
  11. package/dist/redirector/asset-manifest.json +2 -1
  12. package/dist/redirector/{redirector.html__inline__15-19e529b9.js.map → redirector_e3b0c442_e391410e.js.map} +7 -7
  13. package/dist/redirector/{redirector-3c05dbb2.html → redirector_eb92e8a7.html} +133 -40
  14. package/dist/toolbar/asset-manifest.json +11 -10
  15. package/dist/toolbar/assets/{compilation.css-209d68b4.map → compilation.css_e37c747b.map} +1 -1
  16. package/dist/toolbar/assets/{eventsource.css-38cd0a36.map → eventsource.css_c0c71e7b.map} +1 -1
  17. package/dist/toolbar/assets/{execution.css-0ebe522f.map → execution.css_f3377c10.map} +1 -1
  18. package/dist/toolbar/assets/{focus.css-3f9c156d.map → focus.css_896f3e45.map} +1 -1
  19. package/dist/toolbar/assets/{light-theme.css-78b19a80.map → light-theme.css_72a60fa3.map} +1 -1
  20. package/dist/toolbar/assets/{overflow-menu.css-d9688a1c.map → overflow-menu.css_2859d519.map} +1 -1
  21. package/dist/toolbar/assets/{settings.css-2b81b245.map → settings.css_61548139.map} +1 -1
  22. package/dist/toolbar/assets/{toolbar.main.css-846920e9.map → toolbar.main.css_269d7ce2.map} +9 -9
  23. package/dist/toolbar/assets/{tooltip.css-03395ee6.map → tooltip.css_a94a8bdd.map} +1 -1
  24. package/dist/toolbar/{toolbar.main-eb8acf83.js.map → toolbar.main2_6c1b3d82.js.map} +9 -9
  25. package/dist/toolbar/{toolbar-bab473ea.html → toolbar_04ba410c.html} +155 -62
  26. package/dist/toolbar_injector/asset-manifest.json +3 -2
  27. package/dist/toolbar_injector/assets/{jsenv-logo-188b9ca6.svg → jsenv-logo_188b9ca6.svg} +0 -0
  28. package/dist/toolbar_injector/{toolbar_injector-5e32f96a.js → toolbar_injector_4a48bc53.js} +25 -26
  29. package/dist/toolbar_injector/{toolbar_injector-5e32f96a.js.map → toolbar_injector_4a48bc53.js.map} +4 -5
  30. package/package.json +6 -5
  31. package/readme.md +34 -111
  32. package/src/buildProject.js +45 -32
  33. package/src/dev_server.js +13 -3
  34. package/src/execute.js +7 -1
  35. package/src/executeTestPlan.js +6 -0
  36. package/src/internal/browser_feature_detection/browser_feature_detection.js +18 -25
  37. package/src/internal/browser_runtime/browser_runtime.js +2 -2
  38. package/src/internal/browser_runtime/createBrowserRuntime.js +1 -1
  39. package/src/internal/browser_runtime/displayErrorInDocument.js +2 -0
  40. package/src/internal/browser_runtime/displayErrorNotification.js +1 -1
  41. package/src/internal/building/buildUsingRollup.js +12 -17
  42. package/src/internal/building/build_logs.js +2 -2
  43. package/src/internal/building/build_stats.js +11 -1
  44. package/src/internal/building/html/parseHtmlRessource.js +2 -26
  45. package/src/internal/building/js/parseJsRessource.js +3 -2
  46. package/src/internal/building/json_module.js +11 -0
  47. package/src/internal/building/parseRessource.js +1 -1
  48. package/src/internal/building/ressource_builder.js +210 -216
  49. package/src/internal/building/rollup_plugin_jsenv.js +536 -371
  50. package/src/internal/building/url_loader.js +8 -142
  51. package/src/internal/building/url_versioning.js +220 -0
  52. package/src/internal/compiling/compileHtml.js +8 -1
  53. package/src/internal/compiling/createCompiledFileService.js +32 -44
  54. package/src/internal/compiling/html_source_file_service.js +66 -51
  55. package/src/internal/compiling/js-compilation-service/babel_plugin_systemjs_prepend.js +23 -0
  56. package/src/internal/compiling/js-compilation-service/jsenvTransform.js +21 -63
  57. package/src/internal/compiling/js-compilation-service/transformJs.js +4 -4
  58. package/src/internal/compiling/jsenvCompilerForHtml.js +47 -48
  59. package/src/internal/compiling/jsenvCompilerForImportmap.js +15 -76
  60. package/src/internal/compiling/jsenvCompilerForJavaScript.js +11 -2
  61. package/src/internal/compiling/startCompileServer.js +31 -7
  62. package/src/internal/dev_server/toolbar/compilation/toolbar.compilation.js +9 -9
  63. package/src/internal/executing/executePlan.js +6 -0
  64. package/src/internal/generateGroupMap/{jsenvBabelPluginCompatMap.js → babel_plugins_compatibility.js} +0 -0
  65. package/src/internal/generateGroupMap/{featuresCompatMap.js → features_compatibility.js} +9 -1
  66. package/src/internal/generateGroupMap/generateGroupMap.js +6 -35
  67. package/src/internal/generateGroupMap/one_runtime_compat.js +9 -12
  68. package/src/internal/generateGroupMap/runtime_compat.js +10 -15
  69. package/src/internal/generateGroupMap/runtime_compat_composition.js +2 -2
  70. package/src/internal/generateGroupMap/shake_babel_plugin_map.js +21 -0
  71. package/src/internal/import-resolution/importmap_default.js +52 -0
  72. package/src/internal/node_feature_detection/node_feature_detection.js +25 -19
  73. package/src/internal/runtime/s.js +101 -6
  74. package/src/internal/unevalException.js +1 -1
  75. package/src/jsenvServiceWorkerFinalizer.js +10 -9
  76. package/dist/browser_runtime/browser_runtime-c7288751.js.map +0 -1069
  77. package/src/internal/building/asset_url_versioning.js +0 -50
  78. package/src/internal/building/rollup_build_sourcemap.js +0 -54
  79. package/src/internal/building/url-versioning.js +0 -96
  80. package/src/internal/compiling/js-compilation-service/findAsyncPluginNameInBabelPluginMap.js +0 -9
  81. package/src/internal/generateGroupMap/jsenvPluginCompatMap.js +0 -1
  82. package/src/internal/import-resolution/importmap-default.js +0 -34
  83. package/src/internal/renderNamePattern.js +0 -6
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "file": "toolbar_injector-5e32f96a.js",
3
+ "file": "toolbar_injector_4a48bc53.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_04ba410c.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": "25.0.0-alpha.1",
4
4
  "description": "Tool to develop, test and build js projects",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,8 +11,7 @@
11
11
  "node": ">=14.9.0"
12
12
  },
13
13
  "publishConfig": {
14
- "access": "public",
15
- "registry": "https://registry.npmjs.org"
14
+ "access": "public"
16
15
  },
17
16
  "type": "module",
18
17
  "exports": {
@@ -35,11 +34,13 @@
35
34
  "test": "node --experimental-import-meta-resolve ./script/test/test.js",
36
35
  "test-with-coverage": "npm run test -- --coverage",
37
36
  "dev": "node ./script/dev/start_dev_server.js",
37
+ "start_file_server": "node ./script/dev/start_file_server.js",
38
38
  "performances": "node --expose-gc ./script/performance/generate_performance_report.js --log --once",
39
39
  "file-size": "node ./script/file_size/file_size.mjs --log",
40
40
  "prettier": "prettier --write .",
41
41
  "playwright-install": "npx playwright install-deps && npx playwright install",
42
42
  "packages-install": "node ./script/packages/packages_install.js",
43
+ "certificate-install": "node ./script/dev/install_certificate_authority.mjs",
43
44
  "prepublishOnly": "npm run build"
44
45
  },
45
46
  "optionalDependencies": {
@@ -121,7 +122,7 @@
121
122
  "@jsenv/package-publish": "1.6.2",
122
123
  "@jsenv/performance-impact": "2.2.1",
123
124
  "@jsenv/pwa": "4.0.0",
124
- "babel-plugin-transform-async-to-promises": "0.8.16",
125
+ "babel-plugin-transform-async-to-promises": "0.8.17",
125
126
  "eslint": "7.32.0",
126
127
  "eslint-plugin-html": "6.2.0",
127
128
  "eslint-plugin-import": "2.25.3",
@@ -136,4 +137,4 @@
136
137
  "redux": "4.1.2",
137
138
  "rollup-plugin-import-assert": "1.1.1"
138
139
  }
139
- }
140
+ }
package/readme.md CHANGED
@@ -1,31 +1,8 @@
1
1
  # jsenv [![npm package](https://img.shields.io/npm/v/@jsenv/core.svg?logo=npm&label=package)](https://www.npmjs.com/package/@jsenv/core) [![github main worflow](https://github.com/jsenv/jsenv-core/workflows/main/badge.svg)](https://github.com/jsenv/jsenv-core/actions?workflow=main) [![codecov coverage](https://codecov.io/gh/jsenv/jsenv-core/branch/master/graph/badge.svg)](https://codecov.io/gh/jsenv/jsenv-core)
2
2
 
3
- _@jsenv/core_ was first created to write tests that could be executed in different browsers AND Node.js. In the end it became a tool covering the core needs of a JavaScript project:
3
+ _@jsenv/core_ is a quick start pack to launch a js project.
4
4
 
5
- - A test runner to execute test files
6
- - A development server
7
- - A build tool to optimize files for production
8
-
9
- Jsenv integrates naturally with standard html, css and js. It can be configured to work with React and JSX.
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
5
+ You don't have to pick a JavaScript framework: jsenv integrates naturally with standard HTML, CSS and JS. It provides what you need from the beginning: a dev server, a build tool and a test "framework", all in one.
29
6
 
30
7
  # Test runner overview
31
8
 
@@ -215,8 +192,8 @@ import { buildProject } from "@jsenv/core"
215
192
  await buildProject({
216
193
  projectDirectoryUrl: new URL("./", import.meta.url),
217
194
  buildDirectoryRelativeUrl: "dist",
218
- entryPointMap: {
219
- "./main.html": "./main.prod.html",
195
+ entryPoints: {
196
+ "./main.html": "main.prod.html",
220
197
  },
221
198
  format: "esmodule",
222
199
  minify: true,
@@ -270,11 +247,26 @@ To read more about jsenv build tool, check [jsenv build documentation](./docs/bu
270
247
 
271
248
  # About
272
249
 
273
- ## When to use it
250
+ Jsenv was first created to write tests that could be executed in different runtimes. It has naturally evolved to cover the core needs of a JavaScript project:
251
+
252
+ - A development server
253
+ - A test runner to execute test files
254
+ - A build tool to optimize files for production
255
+
256
+ 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.
257
+
258
+ - `<script type="module">`
259
+ - `<script type="importmap">`
260
+ - top level await
261
+ - import.meta.url
262
+ - dynamic imports
263
+ - import assertions
264
+
265
+ ## When to use it?
274
266
 
275
267
  Amongst other use cases, the ease of use and flexibility of jsenv makes it a great tool to start and learn web development.
276
268
 
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.
269
+ 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
270
 
279
271
  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
272
 
@@ -296,7 +288,7 @@ An overview of the main dependencies used by _@jsenv/core_.
296
288
 
297
289
  ## Name
298
290
 
299
- The name "jsenv" stands for JavaScript environments. This is because the original purpose of jsenv was to bring closer two JavaScript runtimes: web browsers and Node.js. This aspect is not highlighted in the documentation but it exists.
291
+ The name "jsenv" stands for JavaScript environments. This is because the original purpose of jsenv was to bring closer two JavaScript runtimes: web browsers and Node.js.
300
292
 
301
293
  Maybe "jsenv" should be written "JSEnv"? That makes typing the name too complex:
302
294
 
@@ -372,86 +364,17 @@ module.exports = {
372
364
  }
373
365
  ```
374
366
 
375
- ## CommonJS
376
-
377
- CommonJS module format rely on `module.exports` and `require`. It was invented by Node.js and is not standard JavaScript. If your code or one of your dependency uses it, it requires some configuration. The jsenv config below makes jsenv compatible with a package named _"whatever"_ that would be written in CommonJS.
378
-
379
- _jsenv.config.mjs to use code written in CommonJS_:
380
-
381
- ```js
382
- import { commonJsToJavaScriptModule } from "@jsenv/core"
383
-
384
- export const customCompilers = {
385
- "./node_modules/whatever/index.js": commonJsToJavaScriptModule,
386
- }
387
- ```
388
-
389
- ## React
390
-
391
- When your code imports react, it needs to be configured as shown below.
392
-
393
- _jsenv.config.mjs for react:_
394
-
395
- ```js
396
- import { commonJsToJavaScriptModule } from "@jsenv/core"
397
-
398
- // "react" and "react-dom" are written in commonJs, they
399
- // must be converted to javascript modules
400
- // see https://github.com/jsenv/jsenv-core/blob/master/docs/shared-parameters.md#customCompilers
401
- export const customCompilers = {
402
- "./node_modules/react/index.js": commonJsToJavaScriptModule,
403
- "./node_modules/react-dom/index.js": (options) => {
404
- return commonJsToJavaScriptModule({ ...options, external: ["react"] })
405
- },
406
- }
407
- ```
408
-
409
- You must also add an [importmap](https://github.com/WICG/import-maps#import-maps) file in your html to remap react imports.
410
-
411
- ```html
412
- <script type="importmap">
413
- {
414
- "imports": {
415
- "react": "./node_modules/react/index.js",
416
- "react-dom": "./node_modules/react-dom/index.js"
417
- }
418
- }
419
- </script>
420
- ```
421
-
422
- The import mappings can be generated programmatically, you can use https://github.com/jsenv/importmap-node-module to do that.
423
-
424
- ## JSX
425
-
426
- If you want to use jsx, you need [@babel/plugin-transform-react-jsx](https://babeljs.io/docs/en/next/babel-plugin-transform-react-jsx.html) in your babel config file.
427
-
428
- ```console
429
- npm i --save-dev @babel/plugin-transform-react-jsx
430
- ```
431
-
432
- _babel.config.cjs for JSX_:
433
-
434
- ```js
435
- module.exports = {
436
- presets: ["@jsenv/babel-preset"],
437
- plugins: [
438
- [
439
- "@babel/plugin-transform-react-jsx",
440
- {
441
- pragma: "React.createElement",
442
- pragmaFrag: "React.Fragment",
443
- },
444
- ],
445
- ],
446
- }
447
- ```
448
-
449
367
  # See also
450
368
 
451
- | Link | Description |
452
- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
453
- | [@jsenv/template-pwa](https://github.com/jsenv/jsenv-template-pwa) | GitHub repository template for a progressive web application |
454
- | [@jsenv/template-node-package](https://github.com/jsenv/jsenv-template-node-package) | GitHub repository template for a node package |
455
- | [@jsenv/assert](https://github.com/jsenv/assert) | Test anything using one assertion |
456
- | [I am too lazy for a test framework](https://medium.com/@DamienMaillard/i-am-too-lazy-for-a-test-framework-ca08d216ee05) | Article presenting a straightforward testing experience |
457
- | [Jsenv compile server](./docs/jsenv-compile-server.md) | Documentation about progressive compilation with a filesystem cache |
369
+ | Link | Description |
370
+ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
371
+ | [Browser support](./docs/config/browser_support.md) | Document how to configure browser support |
372
+ | [Web workers](./docs/config/web_workers.md) | Document how to use web workers |
373
+ | [React](./docs/config/react.md) | Document how to enable react/preact and JSX |
374
+ | [CommonJS modules](./docs/config/commonjs.md) | Document how to use code written in CommonJS |
375
+ | [TypeScript (Experimental)](./docs/config/typescript.md) | Document how to enable TypeScript |
376
+ | [@jsenv/template-pwa](https://github.com/jsenv/jsenv-template-pwa) | GitHub repository template for a progressive web application |
377
+ | [@jsenv/template-node-package](https://github.com/jsenv/jsenv-template-node-package) | GitHub repository template for a node package |
378
+ | [@jsenv/assert](https://github.com/jsenv/assert) | NPM package to write assertions |
379
+ | [I am too lazy for a test framework](shorturl.at/rFY39) | Article presenting a straightforward testing experience |
380
+ | [Jsenv compile server](./docs/jsenv-compile-server.md) | Documentation about jsenv progressive compilation with a filesystem cache |
@@ -2,6 +2,7 @@ import { createLogger, createDetailedMessage } from "@jsenv/logger"
2
2
  import { resolveDirectoryUrl } from "@jsenv/filesystem"
3
3
  import { Abort, raceProcessTeardownEvents } from "@jsenv/abort"
4
4
 
5
+ import { shakeBabelPluginMap } from "@jsenv/core/src/internal/generateGroupMap/shake_babel_plugin_map.js"
5
6
  import { COMPILE_ID_BEST } from "./internal/CONSTANTS.js"
6
7
  import {
7
8
  assertProjectDirectoryUrl,
@@ -22,7 +23,13 @@ export const buildProject = async ({
22
23
  logger,
23
24
 
24
25
  projectDirectoryUrl,
25
- entryPointMap,
26
+ entryPoints,
27
+ workers = [],
28
+ serviceWorkers = [],
29
+ serviceWorkerFinalizer,
30
+ classicWorkers = [],
31
+ classicServiceWorkers = [],
32
+ importMapInWebWorkers = false,
26
33
  buildDirectoryRelativeUrl,
27
34
  buildDirectoryClean = true,
28
35
  assetManifestFile = false,
@@ -41,7 +48,6 @@ export const buildProject = async ({
41
48
  format === "esmodule"
42
49
  ? jsenvBrowserRuntimeSupport
43
50
  : jsenvNodeRuntimeSupport,
44
- transformTopLevelAwait = true,
45
51
 
46
52
  urlMappings = {},
47
53
  importResolutionMethod = format === "commonjs" ? "node" : "importmap",
@@ -58,7 +64,6 @@ export const buildProject = async ({
58
64
  urlVersioning = format === "systemjs" ||
59
65
  format === "esmodule" ||
60
66
  format === "global",
61
- urlVersionningForEntryPoints = false,
62
67
  lineBreakNormalization = process.platform === "win32",
63
68
  // when jsConcatenation is disabled rollup becomes almost useless
64
69
  // except it can still do tree shaking
@@ -79,10 +84,6 @@ export const buildProject = async ({
79
84
  // https://github.com/cssnano/cssnano/tree/master/packages/cssnano-preset-default
80
85
  minifyCssOptions,
81
86
 
82
- workers = {},
83
- serviceWorkers = {},
84
- serviceWorkerFinalizer,
85
-
86
87
  env = {},
87
88
  protocol,
88
89
  privateKey,
@@ -114,14 +115,19 @@ export const buildProject = async ({
114
115
  `runtimeSupport must be an object, got ${runtimeSupport}`,
115
116
  )
116
117
  }
118
+ if (format !== "systemjs" && importMapInWebWorkers) {
119
+ throw new Error(
120
+ `format must be "systemjs" when importMapInWebWorkers is enabled`,
121
+ )
122
+ }
117
123
 
118
124
  projectDirectoryUrl = assertProjectDirectoryUrl({ projectDirectoryUrl })
119
125
  await assertProjectDirectoryExists({ projectDirectoryUrl })
120
126
 
121
- assertEntryPointMap({ entryPointMap })
127
+ assertentryPoints({ entryPoints })
122
128
 
123
- if (Object.keys(entryPointMap).length === 0) {
124
- logger.error(`entryPointMap is an empty object`)
129
+ if (Object.keys(entryPoints).length === 0) {
130
+ logger.error(`entryPoints is an empty object`)
125
131
  return {
126
132
  rollupBuilds: {},
127
133
  }
@@ -163,8 +169,10 @@ export const buildProject = async ({
163
169
  // that is expecting esmodule format, not systemjs
164
170
  outDirectoryName: "build",
165
171
  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
172
+ moduleOutFormat: "esmodule", // rollup will transform into the right format
173
+ importMetaFormat: "esmodule", // rollup will transform into the right format
174
+ topLevelAwait: "ignore", // rollup will transform if needed
175
+ prependSystemJs: false,
168
176
 
169
177
  protocol,
170
178
  privateKey,
@@ -173,10 +181,10 @@ export const buildProject = async ({
173
181
  port,
174
182
  env,
175
183
  babelPluginMap,
176
- transformTopLevelAwait,
177
- customCompilers,
184
+ workers,
185
+ serviceWorkers,
178
186
  runtimeSupport,
179
-
187
+ customCompilers,
180
188
  compileServerCanReadFromFilesystem: filesystemCache,
181
189
  compileServerCanWriteOnFilesystem: filesystemCache,
182
190
  // keep source html untouched
@@ -198,7 +206,7 @@ export const buildProject = async ({
198
206
  buildOperation,
199
207
  logger,
200
208
 
201
- entryPointMap,
209
+ entryPoints,
202
210
  projectDirectoryUrl,
203
211
  compileServerOrigin,
204
212
  compileDirectoryRelativeUrl: `${outDirectoryRelativeUrl}${COMPILE_ID_BEST}/`,
@@ -219,12 +227,21 @@ export const buildProject = async ({
219
227
  systemJsUrl,
220
228
  globalName,
221
229
  globals,
222
- babelPluginMap: compileServer.babelPluginMap,
223
- transformTopLevelAwait,
230
+ babelPluginMap: shakeBabelPluginMap({
231
+ babelPluginMap: compileServer.babelPluginMap,
232
+ missingFeatureNames:
233
+ compileServer.compileServerGroupMap[COMPILE_ID_BEST]
234
+ .missingFeatureNames,
235
+ }),
224
236
  runtimeSupport,
237
+ workers,
238
+ serviceWorkers,
239
+ serviceWorkerFinalizer,
240
+ classicWorkers,
241
+ classicServiceWorkers,
242
+ importMapInWebWorkers,
225
243
 
226
244
  urlVersioning,
227
- urlVersionningForEntryPoints,
228
245
  lineBreakNormalization,
229
246
  useImportMapToMaximizeCacheReuse,
230
247
  preserveEntrySignatures,
@@ -237,10 +254,6 @@ export const buildProject = async ({
237
254
  minifyJsOptions,
238
255
  minifyCssOptions,
239
256
 
240
- workers,
241
- serviceWorkers,
242
- serviceWorkerFinalizer,
243
-
244
257
  writeOnFileSystem,
245
258
  sourcemapExcludeSources,
246
259
  })
@@ -257,27 +270,27 @@ export const buildProject = async ({
257
270
  }
258
271
  }
259
272
 
260
- const assertEntryPointMap = ({ entryPointMap }) => {
261
- if (typeof entryPointMap !== "object") {
262
- throw new TypeError(`entryPointMap must be an object, got ${entryPointMap}`)
273
+ const assertentryPoints = ({ entryPoints }) => {
274
+ if (typeof entryPoints !== "object") {
275
+ throw new TypeError(`entryPoints must be an object, got ${entryPoints}`)
263
276
  }
264
- const keys = Object.keys(entryPointMap)
277
+ const keys = Object.keys(entryPoints)
265
278
  keys.forEach((key) => {
266
279
  if (!key.startsWith("./")) {
267
280
  throw new TypeError(
268
- `unexpected key in entryPointMap, all keys must start with ./ but found ${key}`,
281
+ `unexpected key in entryPoints, all keys must start with ./ but found ${key}`,
269
282
  )
270
283
  }
271
284
 
272
- const value = entryPointMap[key]
285
+ const value = entryPoints[key]
273
286
  if (typeof value !== "string") {
274
287
  throw new TypeError(
275
- `unexpected value in entryPointMap, all values must be strings found ${value} for key ${key}`,
288
+ `unexpected value in entryPoints, all values must be strings found ${value} for key ${key}`,
276
289
  )
277
290
  }
278
- if (!value.startsWith("./")) {
291
+ if (value.includes("/")) {
279
292
  throw new TypeError(
280
- `unexpected value in entryPointMap, all values must starts with ./ but found ${value} for key ${key}`,
293
+ `unexpected value in entryPoints, all values must be plain strings (no "/") but found ${value} for key ${key}`,
281
294
  )
282
295
  }
283
296
  })
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,12 +45,20 @@ export const startDevServer = async ({
46
45
  keepProcessAlive = true,
47
46
 
48
47
  babelPluginMap,
49
- runtimeSupportDuringDev = jsenvRuntimeSupportDuringDev,
48
+ workers,
49
+ serviceWorkers,
50
+ importMapInWebWorkers,
51
+ customCompilers,
52
+ runtimeSupportDuringDev = {
53
+ // this allows to compile nothing or almost nothing when opening files
54
+ // with a recent chrome. Without this we would compile all the things not yet unsupported
55
+ // by Firefox and Safari such as top level await, importmap, etc
56
+ chrome: "96",
57
+ },
50
58
  logLevel,
51
59
  compileServerCanReadFromFilesystem,
52
60
  compileServerCanWriteOnFilesystem,
53
61
  sourcemapMethod,
54
- customCompilers,
55
62
  livereloadWatchConfig,
56
63
  livereloadLogLevel,
57
64
  jsenvDirectoryClean,
@@ -120,6 +127,9 @@ export const startDevServer = async ({
120
127
  customCompilers,
121
128
  sourcemapMethod,
122
129
  babelPluginMap,
130
+ workers,
131
+ serviceWorkers,
132
+ importMapInWebWorkers,
123
133
  runtimeSupport: runtimeSupportDuringDev,
124
134
  livereloadWatchConfig,
125
135
  livereloadLogLevel,