@jsenv/core 25.4.5 → 25.6.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 (54) hide show
  1. package/dist/browser_runtime/asset-manifest.json +2 -2
  2. package/dist/browser_runtime/browser_runtime_27a156f1.js +5297 -0
  3. package/dist/browser_runtime/browser_runtime_27a156f1.js.map +1089 -0
  4. package/dist/build_manifest.js +6 -6
  5. package/dist/compile_proxy/asset-manifest.json +1 -1
  6. package/dist/compile_proxy/{compile_proxy_ab528227.html → compile_proxy_f2f16cc6.html} +3 -2
  7. package/dist/event_source_client/asset-manifest.json +2 -2
  8. package/dist/event_source_client/event_source_client_69f48287.js +354 -0
  9. package/dist/event_source_client/{event_source_client_80644aee.js.map → event_source_client_69f48287.js.map} +2 -2
  10. package/dist/redirector/asset-manifest.json +1 -1
  11. package/dist/redirector/{redirector_6df2620a.html → redirector_eef2bb25.html} +3 -2
  12. package/dist/toolbar/asset-manifest.json +5 -5
  13. package/dist/toolbar/assets/{compilation.css_e37c747b.map → compilation.css_7421bd55.map} +3 -3
  14. package/dist/toolbar/assets/settings.css_942b5a9e.map +12 -0
  15. package/dist/toolbar/assets/{toolbar.main.css_269d7ce2.map → toolbar.main.css_b7d8bec1.map} +4 -4
  16. package/dist/toolbar/{toolbar.main_279b3a68.js.map → toolbar.main_2c56a4e0.js.map} +24 -12
  17. package/dist/toolbar/{toolbar_0a91ca3b.html → toolbar_7447de59.html} +100 -65
  18. package/dist/toolbar_injector/asset-manifest.json +2 -2
  19. package/dist/toolbar_injector/toolbar_injector_524c2404.js +974 -0
  20. package/dist/toolbar_injector/{toolbar_injector_34f6ad8e.js.map → toolbar_injector_524c2404.js.map} +3 -3
  21. package/package.json +6 -3
  22. package/readme.md +20 -17
  23. package/src/buildProject.js +12 -20
  24. package/src/executeTestPlan.js +20 -19
  25. package/src/internal/building/buildUsingRollup.js +5 -20
  26. package/src/internal/building/build_logs.js +33 -37
  27. package/src/internal/building/build_stats.js +2 -1
  28. package/src/internal/building/es_to_system.js +34 -0
  29. package/src/internal/building/import_references.js +0 -1
  30. package/src/internal/building/rollup_plugin_jsenv.js +146 -43
  31. package/src/internal/compiling/createCompiledFileService.js +0 -4
  32. package/src/internal/compiling/jsenvCompilerForJavaScript.js +2 -3
  33. package/src/internal/compiling/jsenv_directory/compile_context.js +1 -10
  34. package/src/internal/compiling/jsenv_directory/compile_profile.js +1 -2
  35. package/src/internal/compiling/jsenv_directory/jsenv_directory.js +1 -1
  36. package/src/internal/compiling/startCompileServer.js +0 -14
  37. package/src/internal/dev_server/toolbar/compilation/compilation.css +3 -2
  38. package/src/internal/dev_server/toolbar/compilation/toolbar.compilation.js +19 -19
  39. package/src/internal/dev_server/toolbar/notification/toolbar.notification.js +66 -37
  40. package/src/internal/dev_server/toolbar/settings/settings.css +1 -2
  41. package/src/internal/dev_server/toolbar/toolbar.html +9 -5
  42. package/src/internal/dev_server/toolbar/toolbar.main.js +5 -3
  43. package/src/internal/dev_server/toolbar/util/iframe_to_parent_href.js +10 -0
  44. package/src/internal/executing/coverage/reportToCoverage.js +1 -0
  45. package/src/internal/executing/coverage_utils/v8_coverage_from_directory.js +2 -1
  46. package/src/internal/executing/executePlan.js +450 -60
  47. package/src/internal/runtime/s.js +3 -2
  48. package/src/internal/runtime_support/runtime_support.js +1 -1
  49. package/dist/browser_runtime/browser_runtime_0e3396a1.js +0 -5298
  50. package/dist/browser_runtime/browser_runtime_0e3396a1.js.map +0 -1089
  51. package/dist/event_source_client/event_source_client_80644aee.js +0 -356
  52. package/dist/toolbar/assets/settings.css_61548139.map +0 -12
  53. package/dist/toolbar_injector/toolbar_injector_34f6ad8e.js +0 -976
  54. package/src/internal/executing/executeConcurrently.js +0 -440
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "file": "toolbar_injector_34f6ad8e.js",
3
+ "file": "toolbar_injector_524c2404.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_0a91ca3b.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 const exploringJSON = await fetchExploringJson()\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 jsenvCoreDirectoryServerUrl = new URL(\n exploringJSON.jsenvCoreDirectoryRelativeUrl,\n document.location.origin,\n ).href\n const jsenvToolbarHtmlServerUrl = new URL(\n TOOLBAR_BUILD_RELATIVE_URL,\n jsenvCoreDirectoryServerUrl,\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 addToolbarEventCallback(iframe, \"toolbar_ready\", () => {\n sendCommandToToolbar(iframe, \"renderToolbar\", { exploringJSON })\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"
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_7447de59.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 const exploringJSON = await fetchExploringJson()\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 jsenvCoreDirectoryServerUrl = new URL(\n exploringJSON.jsenvCoreDirectoryRelativeUrl,\n document.location.origin,\n ).href\n const jsenvToolbarHtmlServerUrl = new URL(\n TOOLBAR_BUILD_RELATIVE_URL,\n jsenvCoreDirectoryServerUrl,\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 addToolbarEventCallback(iframe, \"toolbar_ready\", () => {\n sendCommandToToolbar(iframe, \"renderToolbar\", { exploringJSON })\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"
29
29
  ],
30
30
  "names": [
31
31
  "nativeTypeOf",
@@ -290,5 +290,5 @@
290
290
  "createTooolbarPlaceholder",
291
291
  "querySelector"
292
292
  ],
293
- "mappings": "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"
293
+ "mappings": "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"
294
294
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/core",
3
- "version": "25.4.5",
3
+ "version": "25.6.1",
4
4
  "description": "Tool to develop, test and build js projects",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,7 +11,8 @@
11
11
  "node": ">=16.13.0"
12
12
  },
13
13
  "publishConfig": {
14
- "access": "public"
14
+ "access": "public",
15
+ "registry": "https://registry.npmjs.org"
15
16
  },
16
17
  "type": "module",
17
18
  "exports": {
@@ -81,6 +82,7 @@
81
82
  "cssnano": "5.0.14",
82
83
  "cssnano-preset-default": "5.1.9",
83
84
  "cuid": "2.1.8",
85
+ "es-iife": "0.2.2",
84
86
  "estree-walker": "3.0.1",
85
87
  "html-minifier": "4.0.0",
86
88
  "humanize-duration": "3.27.1",
@@ -101,6 +103,7 @@
101
103
  "rollup-plugin-node-globals": "1.4.0",
102
104
  "rollup-plugin-polyfill-node": "0.8.0",
103
105
  "source-map": "0.7.3",
106
+ "strip-ansi": "7.0.1",
104
107
  "systemjs": "6.11.0",
105
108
  "terser": "5.10.0",
106
109
  "v8-to-istanbul": "8.1.0",
@@ -141,4 +144,4 @@
141
144
  "redux": "4.1.2",
142
145
  "rollup-plugin-import-assert": "1.1.1"
143
146
  }
144
- }
147
+ }
package/readme.md CHANGED
@@ -216,19 +216,16 @@ await buildProject({
216
216
  > node ./build.mjs
217
217
 
218
218
  building ./main.html...
219
- --- files in the build: 5 ---
220
- dist/assets/favicon_5340s4789a.ico (6.67 KB)
221
- dist/assets/main_3b329ff0.css (62 B)
222
- dist/main-f7379e10.js (50 Kb)
223
- dist/main.prod.html (392 B)
224
- dist/project_b237a334.importmap (29 B)
225
- --- sourcemap files in the build: 2 ---
226
- dist/assets/main_3b329ff0.css.map (198 B)
227
- dist/main_3b329ff0.js.map (55Kb B)
219
+ --- build files (excluding sourcemap files) ---
220
+ dist/assets/favicon_25e95a00.ico (6.67 KB)
221
+ dist/assets/main_cd3a5025.css (70 B)
222
+ dist/main_c588dd03.js (167 B)
223
+ dist/main.prod.html (886 B)
228
224
  ------- build summary -------
229
- project files: 27 (70.38 KB)
230
- build files: 5 (45.2 KB)
231
- build duration: 1.85 seconds
225
+ project files: 5 (70.32 KB)
226
+ build files: 4 (45.77 KB)
227
+ build sourcemap files: 2 (705 B)
228
+ build duration: 0.14 seconds
232
229
  ------------------------------
233
230
  ✔ build end
234
231
  ```
@@ -241,14 +238,20 @@ build duration: 1.85 seconds
241
238
  <head>
242
239
  <title>Title</title>
243
240
  <meta charset="utf-8" />
244
- <link rel="modulepreload" href="main_f7379e10.js" />
245
- <link rel="icon" href="assets/favicon_5340s4789a.ico" />
246
- <script type="importmap" src="project_b237a334.importmap"></script>
247
- <link rel="stylesheet" type="text/css" href="assets/main_3b329ff0.css" />
241
+ <link rel="modulepreload" href="main_c588dd03.js" />
242
+ <link rel="icon" href="assets/favicon_25e95a00.ico" />
243
+ <script type="importmap">
244
+ {
245
+ "imports": {
246
+ "./main.js": "./main_c588dd03.js"
247
+ }
248
+ }
249
+ </script>
250
+ <link rel="stylesheet" type="text/css" href="assets/main_cd3a5025.css" />
248
251
  </head>
249
252
 
250
253
  <body>
251
- <script type="module" src="./main_f7379e10.js"></script>
254
+ <script type="module" src="./main_c588dd03.js"></script>
252
255
  </body>
253
256
  </html>
254
257
  ```
@@ -19,13 +19,16 @@ import {
19
19
 
20
20
  /**
21
21
  * Generate optimized version of source files into a directory
22
- * @param {string|url} projectDirectoryUrl Root directory of the project
23
- * @param {string|url} buildDirectoryRelativeUrl Directory where optimized files are written
24
- * @param {object} entryPoints Describe entry point paths and control their names in the build directory
25
- * @param {"esmodule" | "systemjs" | "commonjs" | "global"} format Code generated will use this module format
26
- * @param {object} runtimeSupport Code generated will be compatible with these runtimes
27
- * @param {boolean} [minify=false] Minify file content in the build directory (HTML, CSS, JS, JSON, SVG)
22
+ * @param {Object} buildProjectParameters
23
+ * @param {string|url} buildProjectParameters.projectDirectoryUrl Root directory of the project
24
+ * @param {string|url} buildProjectParameters.buildDirectoryRelativeUrl Directory where optimized files are written
25
+ * @param {object} buildProjectParameters.entryPoints Describe entry point paths and control their names in the build directory
26
+ * @param {"esmodule" | "systemjs" | "commonjs" | "global"} buildProjectParameters.format Code generated will use this module format
27
+ * @param {object} buildProjectParameters.runtimeSupport Code generated will be compatible with these runtimes
28
+ * @param {boolean} [buildProjectParameters.minify=false] Minify file content in the build directory (HTML, CSS, JS, JSON, SVG)
29
+ * @return {Object} An object containing the result of building files
28
30
  */
31
+
29
32
  export const buildProject = async ({
30
33
  signal = new AbortController().signal,
31
34
  handleSIGINT = true,
@@ -35,11 +38,7 @@ export const buildProject = async ({
35
38
 
36
39
  projectDirectoryUrl,
37
40
  entryPoints,
38
- workers = [],
39
- serviceWorkers = [],
40
41
  serviceWorkerFinalizer,
41
- classicWorkers = [],
42
- classicServiceWorkers = [],
43
42
  importMapInWebWorkers = false,
44
43
  buildDirectoryRelativeUrl,
45
44
  buildDirectoryClean = true,
@@ -50,8 +49,9 @@ export const buildProject = async ({
50
49
 
51
50
  format,
52
51
  systemJsUrl,
53
- globalName,
54
52
  globals = {},
53
+ preservedDynamicImports = {},
54
+
55
55
  babelPluginMap = {},
56
56
  customCompilers,
57
57
  runtimeSupport = format === "global" ||
@@ -92,7 +92,6 @@ export const buildProject = async ({
92
92
  // https://github.com/cssnano/cssnano/tree/master/packages/cssnano-preset-default
93
93
  minifyCssOptions,
94
94
 
95
- env = {},
96
95
  protocol,
97
96
  privateKey,
98
97
  certificate,
@@ -181,11 +180,8 @@ export const buildProject = async ({
181
180
  certificate,
182
181
  ip,
183
182
  port,
184
- env,
185
183
 
186
184
  babelPluginMap,
187
- workers,
188
- serviceWorkers,
189
185
  runtimeSupport,
190
186
  customCompilers,
191
187
  preservedUrls: {
@@ -249,13 +245,9 @@ export const buildProject = async ({
249
245
 
250
246
  format,
251
247
  systemJsUrl,
252
- globalName,
253
248
  globals,
254
- workers,
255
- serviceWorkers,
249
+ preservedDynamicImports,
256
250
  serviceWorkerFinalizer,
257
- classicWorkers,
258
- classicServiceWorkers,
259
251
 
260
252
  node,
261
253
  browser,
@@ -21,14 +21,19 @@ import { jsenvCoverageConfig } from "./jsenvCoverageConfig.js"
21
21
 
22
22
  /**
23
23
  * Execute a list of files and log how it goes
24
- * @param {object} testPlan Configure files to execute and their runtimes (browsers/node)
25
- * @param {string|url} projectDirectoryUrl Root directory of the project
26
- * @param {number} [maxExecutionsInParallel=1] Maximum amount of execution in parallel
27
- * @param {number} [defaultMsAllocatedPerExecution=30000] Milliseconds after which execution is aborted and considered as failed by timeout
28
- * @param {number} [cooldownBetweenExecutions=0] Millisecond to wait between each execution
29
- * @param {boolean} [logMemoryHeapUsage=false] Add memory heap usage during logs
30
- * @param {boolean} [coverage=false] Controls if coverage is collected during files executions
31
- * @param {boolean} [coverageV8ConflictWarning=true] Warn when coverage from 2 executions cannot be merged
24
+ * @param {Object} testPlanParameters
25
+ * @param {string|url} testPlanParameters.projectDirectoryUrl Root directory of the project
26
+ * @param {Object} testPlanParameters.testPlan Object associating patterns leading to files to runtimes where they should be executed
27
+ * @param {boolean} [testPlanParameters.completedExecutionLogAbbreviation=false] Abbreviate completed execution information to shorten terminal output
28
+ * @param {boolean} [testPlanParameters.completedExecutionLogMerging=false] Merge completed execution logs to shorten terminal output
29
+ * @param {number} [testPlanParameters.maxExecutionsInParallel=1] Maximum amount of execution in parallel
30
+ * @param {number} [testPlanParameters.defaultMsAllocatedPerExecution=30000] Milliseconds after which execution is aborted and considered as failed by timeout
31
+ * @param {boolean} [testPlanParameters.failFast=false] Fails immediatly when a test execution fails
32
+ * @param {number} [testPlanParameters.cooldownBetweenExecutions=0] Millisecond to wait between each execution
33
+ * @param {boolean} [testPlanParameters.logMemoryHeapUsage=false] Add memory heap usage during logs
34
+ * @param {boolean} [testPlanParameters.coverage=false] Controls if coverage is collected during files executions
35
+ * @param {boolean} [testPlanParameters.coverageV8ConflictWarning=true] Warn when coverage from 2 executions cannot be merged
36
+ * @return {Object} An object containing the result of all file executions
32
37
  */
33
38
  export const executeTestPlan = async ({
34
39
  signal = new AbortController().signal,
@@ -44,15 +49,17 @@ export const executeTestPlan = async ({
44
49
 
45
50
  testPlan,
46
51
 
52
+ logSummary = true,
47
53
  logMemoryHeapUsage = false,
54
+ logFileRelativeUrl = ".jsenv/test_plan_debug.txt",
48
55
  completedExecutionLogAbbreviation = false,
49
56
  completedExecutionLogMerging = false,
50
- logSummary = true,
51
57
  updateProcessExitCode = true,
52
58
  windowsProcessExitFix = true,
53
59
 
54
60
  maxExecutionsInParallel = 1,
55
61
  defaultMsAllocatedPerExecution = 30000,
62
+ failFast = false,
56
63
  // stopAfterExecute: true to ensure runtime is stopped once executed
57
64
  // because we have what we wants: execution is completed and
58
65
  // we have associated coverage and capturedConsole
@@ -99,14 +106,11 @@ export const executeTestPlan = async ({
99
106
  jsenvDirectoryClean,
100
107
  }) => {
101
108
  const logger = createLogger({ logLevel })
102
-
103
109
  projectDirectoryUrl = assertProjectDirectoryUrl({ projectDirectoryUrl })
104
110
  await assertProjectDirectoryExists({ projectDirectoryUrl })
105
-
106
111
  if (typeof testPlan !== "object") {
107
112
  throw new Error(`testPlan must be an object, got ${testPlan}`)
108
113
  }
109
-
110
114
  if (coverage) {
111
115
  if (typeof coverageConfig !== "object") {
112
116
  throw new TypeError(
@@ -151,7 +155,6 @@ export const executeTestPlan = async ({
151
155
  }
152
156
  }
153
157
  }
154
-
155
158
  const result = await executePlan(testPlan, {
156
159
  signal,
157
160
  handleSIGINT,
@@ -167,13 +170,15 @@ export const executeTestPlan = async ({
167
170
  importResolutionMethod,
168
171
  importDefaultExtension,
169
172
 
173
+ logSummary,
170
174
  logMemoryHeapUsage,
175
+ logFileRelativeUrl,
171
176
  completedExecutionLogMerging,
172
177
  completedExecutionLogAbbreviation,
173
- logSummary,
174
178
 
175
- defaultMsAllocatedPerExecution,
176
179
  maxExecutionsInParallel,
180
+ defaultMsAllocatedPerExecution,
181
+ failFast,
177
182
  stopAfterExecute,
178
183
  cooldownBetweenExecutions,
179
184
  gcBetweenExecutions,
@@ -201,11 +206,9 @@ export const executeTestPlan = async ({
201
206
  importMapInWebWorkers,
202
207
  customCompilers,
203
208
  })
204
-
205
209
  if (updateProcessExitCode && !executionIsPassed(result)) {
206
210
  process.exitCode = 1
207
211
  }
208
-
209
212
  const planCoverage = result.planCoverage
210
213
  // planCoverage can be null when execution is aborted
211
214
  if (planCoverage) {
@@ -256,7 +259,6 @@ export const executeTestPlan = async ({
256
259
  }
257
260
  await Promise.all(promises)
258
261
  }
259
-
260
262
  // Sometimes on windows test plan scripts never ends
261
263
  // I suspect it's some node process keeping the process alive
262
264
  // because not properly killed for some reason.
@@ -267,7 +269,6 @@ export const executeTestPlan = async ({
267
269
  process.exit()
268
270
  }, 2000).unref()
269
271
  }
270
-
271
272
  return {
272
273
  testPlanAborted: result.aborted,
273
274
  testPlanSummary: result.planSummary,
@@ -33,13 +33,9 @@ export const buildUsingRollup = async ({
33
33
 
34
34
  format,
35
35
  systemJsUrl,
36
- globalName,
37
36
  globals,
38
- workers,
39
- serviceWorkers,
37
+ preservedDynamicImports,
40
38
  serviceWorkerFinalizer,
41
- classicWorkers,
42
- classicServiceWorkers,
43
39
 
44
40
  node,
45
41
  browser,
@@ -79,6 +75,9 @@ export const buildUsingRollup = async ({
79
75
 
80
76
  format,
81
77
  systemJsUrl,
78
+ globals,
79
+ preservedDynamicImports,
80
+
82
81
  urlMappings,
83
82
  importResolutionMethod,
84
83
  importMapFileRelativeUrl,
@@ -86,11 +85,7 @@ export const buildUsingRollup = async ({
86
85
  externalImportSpecifiers,
87
86
  importPaths,
88
87
  preservedUrls,
89
- workers,
90
- serviceWorkers,
91
88
  serviceWorkerFinalizer,
92
- classicWorkers,
93
- classicServiceWorkers,
94
89
 
95
90
  node,
96
91
  browser,
@@ -118,8 +113,6 @@ export const buildUsingRollup = async ({
118
113
  rollupPlugins,
119
114
  compileProfile,
120
115
  format,
121
- globals,
122
- globalName,
123
116
  sourcemapExcludeSources,
124
117
  preserveEntrySignatures,
125
118
  treeshake,
@@ -224,8 +217,6 @@ const useRollup = async ({
224
217
  rollupPlugins,
225
218
  compileProfile,
226
219
  format,
227
- globals,
228
- globalName,
229
220
  sourcemapExcludeSources,
230
221
  preserveEntrySignatures,
231
222
  treeshake,
@@ -316,12 +307,6 @@ const useRollup = async ({
316
307
  sourcemap: true,
317
308
  sourcemapExcludeSources,
318
309
  // preserveModules: !jsConcatenation,
319
- ...(format === "global"
320
- ? {
321
- globals,
322
- name: globalName,
323
- }
324
- : {}),
325
310
  }
326
311
 
327
312
  buildOperation.throwIfAborted()
@@ -336,7 +321,7 @@ const useRollup = async ({
336
321
  }
337
322
 
338
323
  const formatToRollupFormat = (format) => {
339
- if (format === "global") return "iife"
324
+ if (format === "global") return "esm" // will be handled by rollup_plugin_iife
340
325
  if (format === "commonjs") return "cjs"
341
326
  if (format === "systemjs") return "system"
342
327
  if (format === "esmodule") return "esm"
@@ -61,37 +61,17 @@ const formatBuildDoneDetails = ({ buildStats, buildDirectoryRelativeUrl }) => {
61
61
  )})`
62
62
  })
63
63
  const buildFileCount = buildFiles.length
64
-
65
64
  const { buildSourcemapFileSizes } = buildStats
66
- const sourcemapFiles = Object.keys(buildSourcemapFileSizes).map((key) => {
67
- const buildSourcemapFileSize = buildSourcemapFileSizes[key]
68
- return `${buildDirectoryRelativeUrl}${key} (${byteAsFileSize(
69
- buildSourcemapFileSize,
70
- )})`
71
- })
72
- const sourcemapFileCount = sourcemapFiles.length
73
-
74
- const buildFilesDescription =
75
- buildFileCount === 1
76
- ? "file in the build: 1"
77
- : `files in the build: ${buildFileCount}`
78
-
79
- const buildSourcemapFilesDescription =
80
- sourcemapFileCount === 0
81
- ? ""
82
- : sourcemapFileCount === 1
83
- ? "sourcemap file in the build: 1"
84
- : `sourcemap files in the build: ${sourcemapFileCount}`
85
-
65
+ const sourcemapFileCount = Object.keys(buildSourcemapFileSizes).length
66
+ let buildFilesDescription =
67
+ buildFileCount === 1 ? "build file" : `build files`
68
+ if (sourcemapFileCount === 1) {
69
+ buildFilesDescription += ` (excluding sourcemap file)`
70
+ } else if (sourcemapFileCount > 1) {
71
+ buildFilesDescription += ` (excluding sourcemap files)`
72
+ }
86
73
  let message = `--- ${buildFilesDescription} ---
87
74
  ${buildFiles.join("\n")}`
88
-
89
- if (buildSourcemapFilesDescription) {
90
- message += `
91
- --- ${buildSourcemapFilesDescription} ---
92
- ${sourcemapFiles.join("\n")}`
93
- }
94
-
95
75
  return message
96
76
  }
97
77
 
@@ -101,24 +81,40 @@ const formatBuildSummary = ({ buildStats }) => {
101
81
  projectFileSizes,
102
82
  projectTotalFileSize,
103
83
  buildFileSizes,
104
- buildTotalFileSize,
84
+ buildFileTotalSize,
85
+ buildSourcemapFileSizes,
86
+ buildSourcemapFileTotalSize,
105
87
  } = buildStats
106
88
 
107
89
  const projectFileCount = Object.keys(projectFileSizes).length
108
90
  const buildFileCount = Object.keys(buildFileSizes).length
91
+ const buildSourcemapFileCount = Object.keys(buildSourcemapFileSizes).length
109
92
 
110
93
  return `------- build summary -------
111
- ${ANSI.color(
112
- `project files:`,
113
- ANSI.GREY,
114
- )} ${projectFileCount} (${byteAsFileSize(projectTotalFileSize)})
115
- ${ANSI.color(`build files:`, ANSI.GREY)} ${buildFileCount} (${byteAsFileSize(
116
- buildTotalFileSize,
117
- )})
118
- ${ANSI.color(`build duration:`, ANSI.GREY)} ${msAsDuration(buildDuration)}
94
+ ${formatSummaryContent({
95
+ "project files": `${projectFileCount} (${byteAsFileSize(
96
+ projectTotalFileSize,
97
+ )})`,
98
+ "build files": `${buildFileCount} (${byteAsFileSize(buildFileTotalSize)})`,
99
+ ...(buildSourcemapFileCount === 0
100
+ ? {}
101
+ : {
102
+ "build sourcemap files": `${buildSourcemapFileCount} (${byteAsFileSize(
103
+ buildSourcemapFileTotalSize,
104
+ )})`,
105
+ }),
106
+ "build duration": msAsDuration(buildDuration),
107
+ })}
119
108
  ------------------------------`
120
109
  }
121
110
 
111
+ const formatSummaryContent = (summaryData) => {
112
+ return Object.keys(summaryData).map((key) => {
113
+ return `${ANSI.color(`${key}:`, ANSI.GREY)} ${summaryData[key]}`
114
+ }).join(`
115
+ `)
116
+ }
117
+
122
118
  const showHtmlSourceLocation = ({
123
119
  htmlNode,
124
120
  htmlUrl,