@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.
- package/dist/browser_runtime/asset-manifest.json +2 -1
- package/dist/browser_runtime/{browser_runtime-c7288751.js → browser_runtime_91c5a3b8.js} +213 -109
- package/dist/browser_runtime/browser_runtime_91c5a3b8.js.map +1089 -0
- package/dist/build_manifest.js +6 -6
- package/dist/compile_proxy/asset-manifest.json +2 -1
- package/dist/compile_proxy/{compile_proxy-28148b58.html → compile_proxy_7ad5faa6.html} +133 -40
- package/dist/compile_proxy/{compile_proxy.html__inline__20-4887fb1d.js.map → compile_proxy_e3b0c442_809f35f7.js.map} +7 -7
- package/dist/event_source_client/asset-manifest.json +2 -1
- package/dist/event_source_client/{event_source_client-9f14c8b9.js → event_source_client_620fbc2c.js} +6 -12
- package/dist/event_source_client/{event_source_client-9f14c8b9.js.map → event_source_client_620fbc2c.js.map} +2 -2
- package/dist/redirector/asset-manifest.json +2 -1
- package/dist/redirector/{redirector.html__inline__15-19e529b9.js.map → redirector_e3b0c442_e391410e.js.map} +7 -7
- package/dist/redirector/{redirector-3c05dbb2.html → redirector_eb92e8a7.html} +133 -40
- package/dist/toolbar/asset-manifest.json +11 -10
- package/dist/toolbar/assets/{compilation.css-209d68b4.map → compilation.css_e37c747b.map} +1 -1
- package/dist/toolbar/assets/{eventsource.css-38cd0a36.map → eventsource.css_c0c71e7b.map} +1 -1
- package/dist/toolbar/assets/{execution.css-0ebe522f.map → execution.css_f3377c10.map} +1 -1
- package/dist/toolbar/assets/{focus.css-3f9c156d.map → focus.css_896f3e45.map} +1 -1
- package/dist/toolbar/assets/{light-theme.css-78b19a80.map → light-theme.css_72a60fa3.map} +1 -1
- package/dist/toolbar/assets/{overflow-menu.css-d9688a1c.map → overflow-menu.css_2859d519.map} +1 -1
- package/dist/toolbar/assets/{settings.css-2b81b245.map → settings.css_61548139.map} +1 -1
- package/dist/toolbar/assets/{toolbar.main.css-846920e9.map → toolbar.main.css_269d7ce2.map} +9 -9
- package/dist/toolbar/assets/{tooltip.css-03395ee6.map → tooltip.css_a94a8bdd.map} +1 -1
- package/dist/toolbar/{toolbar.main-eb8acf83.js.map → toolbar.main2_6c1b3d82.js.map} +9 -9
- package/dist/toolbar/{toolbar-bab473ea.html → toolbar_04ba410c.html} +155 -62
- package/dist/toolbar_injector/asset-manifest.json +3 -2
- package/dist/toolbar_injector/assets/{jsenv-logo-188b9ca6.svg → jsenv-logo_188b9ca6.svg} +0 -0
- package/dist/toolbar_injector/{toolbar_injector-5e32f96a.js → toolbar_injector_4a48bc53.js} +25 -26
- package/dist/toolbar_injector/{toolbar_injector-5e32f96a.js.map → toolbar_injector_4a48bc53.js.map} +4 -5
- package/package.json +6 -5
- package/readme.md +34 -111
- package/src/buildProject.js +45 -32
- package/src/dev_server.js +13 -3
- package/src/execute.js +7 -1
- package/src/executeTestPlan.js +6 -0
- package/src/internal/browser_feature_detection/browser_feature_detection.js +18 -25
- package/src/internal/browser_runtime/browser_runtime.js +2 -2
- package/src/internal/browser_runtime/createBrowserRuntime.js +1 -1
- package/src/internal/browser_runtime/displayErrorInDocument.js +2 -0
- package/src/internal/browser_runtime/displayErrorNotification.js +1 -1
- package/src/internal/building/buildUsingRollup.js +12 -17
- package/src/internal/building/build_logs.js +2 -2
- package/src/internal/building/build_stats.js +11 -1
- package/src/internal/building/html/parseHtmlRessource.js +2 -26
- package/src/internal/building/js/parseJsRessource.js +3 -2
- package/src/internal/building/json_module.js +11 -0
- package/src/internal/building/parseRessource.js +1 -1
- package/src/internal/building/ressource_builder.js +210 -216
- package/src/internal/building/rollup_plugin_jsenv.js +536 -371
- package/src/internal/building/url_loader.js +8 -142
- package/src/internal/building/url_versioning.js +220 -0
- package/src/internal/compiling/compileHtml.js +8 -1
- package/src/internal/compiling/createCompiledFileService.js +32 -44
- package/src/internal/compiling/html_source_file_service.js +66 -51
- package/src/internal/compiling/js-compilation-service/babel_plugin_systemjs_prepend.js +23 -0
- package/src/internal/compiling/js-compilation-service/jsenvTransform.js +21 -63
- package/src/internal/compiling/js-compilation-service/transformJs.js +4 -4
- package/src/internal/compiling/jsenvCompilerForHtml.js +47 -48
- package/src/internal/compiling/jsenvCompilerForImportmap.js +15 -76
- package/src/internal/compiling/jsenvCompilerForJavaScript.js +11 -2
- package/src/internal/compiling/startCompileServer.js +31 -7
- package/src/internal/dev_server/toolbar/compilation/toolbar.compilation.js +9 -9
- package/src/internal/executing/executePlan.js +6 -0
- package/src/internal/generateGroupMap/{jsenvBabelPluginCompatMap.js → babel_plugins_compatibility.js} +0 -0
- package/src/internal/generateGroupMap/{featuresCompatMap.js → features_compatibility.js} +9 -1
- package/src/internal/generateGroupMap/generateGroupMap.js +6 -35
- package/src/internal/generateGroupMap/one_runtime_compat.js +9 -12
- package/src/internal/generateGroupMap/runtime_compat.js +10 -15
- package/src/internal/generateGroupMap/runtime_compat_composition.js +2 -2
- package/src/internal/generateGroupMap/shake_babel_plugin_map.js +21 -0
- package/src/internal/import-resolution/importmap_default.js +52 -0
- package/src/internal/node_feature_detection/node_feature_detection.js +25 -19
- package/src/internal/runtime/s.js +101 -6
- package/src/internal/unevalException.js +1 -1
- package/src/jsenvServiceWorkerFinalizer.js +10 -9
- package/dist/browser_runtime/browser_runtime-c7288751.js.map +0 -1069
- package/src/internal/building/asset_url_versioning.js +0 -50
- package/src/internal/building/rollup_build_sourcemap.js +0 -54
- package/src/internal/building/url-versioning.js +0 -96
- package/src/internal/compiling/js-compilation-service/findAsyncPluginNameInBabelPluginMap.js +0 -9
- package/src/internal/generateGroupMap/jsenvPluginCompatMap.js +0 -1
- package/src/internal/import-resolution/importmap-default.js +0 -34
- package/src/internal/renderNamePattern.js +0 -6
package/dist/toolbar_injector/{toolbar_injector-5e32f96a.js.map → toolbar_injector_4a48bc53.js.map}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"file": "
|
|
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/
|
|
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": "
|
|
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.
|
|
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 [](https://www.npmjs.com/package/@jsenv/core) [](https://github.com/jsenv/jsenv-core/actions?workflow=main) [](https://codecov.io/gh/jsenv/jsenv-core)
|
|
2
2
|
|
|
3
|
-
_@jsenv/core_
|
|
3
|
+
_@jsenv/core_ is a quick start pack to launch a js project.
|
|
4
4
|
|
|
5
|
-
|
|
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
|
-
|
|
219
|
-
"./main.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
|
-
|
|
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
|
|
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.
|
|
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
|
|
452
|
-
|
|
|
453
|
-
| [
|
|
454
|
-
| [
|
|
455
|
-
| [
|
|
456
|
-
| [
|
|
457
|
-
| [
|
|
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 |
|
package/src/buildProject.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
127
|
+
assertentryPoints({ entryPoints })
|
|
122
128
|
|
|
123
|
-
if (Object.keys(
|
|
124
|
-
logger.error(`
|
|
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
|
|
167
|
-
importMetaFormat: "esmodule", // rollup
|
|
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
|
-
|
|
177
|
-
|
|
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
|
-
|
|
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:
|
|
223
|
-
|
|
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
|
|
261
|
-
if (typeof
|
|
262
|
-
throw new TypeError(`
|
|
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(
|
|
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
|
|
281
|
+
`unexpected key in entryPoints, all keys must start with ./ but found ${key}`,
|
|
269
282
|
)
|
|
270
283
|
}
|
|
271
284
|
|
|
272
|
-
const value =
|
|
285
|
+
const value = entryPoints[key]
|
|
273
286
|
if (typeof value !== "string") {
|
|
274
287
|
throw new TypeError(
|
|
275
|
-
`unexpected value in
|
|
288
|
+
`unexpected value in entryPoints, all values must be strings found ${value} for key ${key}`,
|
|
276
289
|
)
|
|
277
290
|
}
|
|
278
|
-
if (
|
|
291
|
+
if (value.includes("/")) {
|
|
279
292
|
throw new TypeError(
|
|
280
|
-
`unexpected value in
|
|
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
|
-
|
|
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,
|