@jsenv/core 26.0.1 → 27.0.0-alpha.2

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 (465) hide show
  1. package/main.js +17 -24
  2. package/package.json +35 -71
  3. package/readme.md +30 -37
  4. package/src/build/build.js +737 -0
  5. package/src/build/build_urls_generator.js +64 -0
  6. package/src/build/inject_version_mappings.js +62 -0
  7. package/src/build/plugins/bundle_js_module/jsenv_plugin_bundle_js_module.js +225 -0
  8. package/src/build/plugins/minify_html/jsenv_plugin_minify_html.js +30 -0
  9. package/src/build/plugins/minify_js/jsenv_plugin_minify_js.js +47 -0
  10. package/src/dev/plugins/autoreload/babel_plugin_metadata_import_meta_hot.js +98 -0
  11. package/src/dev/plugins/autoreload/client/autoreload_preference.js +11 -0
  12. package/src/dev/plugins/autoreload/client/event_source_client.js +186 -0
  13. package/src/{internal/dev_server/event_source_client → dev/plugins/autoreload/client}/event_source_connection.js +21 -25
  14. package/src/dev/plugins/autoreload/client/import_meta_hot.js +80 -0
  15. package/src/dev/plugins/autoreload/client/reload.js +101 -0
  16. package/src/dev/plugins/autoreload/client/url_helpers.js +20 -0
  17. package/src/dev/plugins/autoreload/html_hot_dependencies.js +156 -0
  18. package/src/dev/plugins/autoreload/jsenv_plugin_autoreload.js +374 -0
  19. package/src/dev/plugins/autoreload/sse_service.js +149 -0
  20. package/src/dev/plugins/explorer/client/explorer.html +607 -0
  21. package/src/{internal → dev/plugins/explorer/client}/jsenv.png +0 -0
  22. package/src/dev/plugins/explorer/jsenv_plugin_explorer.js +74 -0
  23. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/animation/toolbar_animation.js +0 -0
  24. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/eventsource/eventsource.css +2 -2
  25. package/src/dev/plugins/toolbar/client/eventsource/toolbar_eventsource.js +57 -0
  26. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/execution/execution.css +0 -0
  27. package/src/dev/plugins/toolbar/client/execution/toolbar_execution.js +88 -0
  28. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/focus/focus.css +0 -0
  29. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/focus/toolbar_focus.js +0 -0
  30. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/jsenv_logo.svg +0 -0
  31. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/notification/toolbar_notification.js +0 -0
  32. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/responsive/overflow_menu.css +0 -0
  33. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/responsive/toolbar_responsive.js +0 -0
  34. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/settings/settings.css +0 -0
  35. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/settings/toolbar_settings.js +1 -0
  36. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/theme/jsenv_theme.css +1 -15
  37. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/theme/light_theme.css +0 -17
  38. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/theme/toolbar_theme.js +0 -0
  39. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar.html +40 -199
  40. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar_injector.js +8 -28
  41. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar_main.css +0 -24
  42. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar_main.js +10 -56
  43. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/tooltip/tooltip.css +1 -1
  44. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/tooltip/tooltip.js +0 -0
  45. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/animation.js +0 -0
  46. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/dom.js +0 -0
  47. package/src/{internal/browser_utils → dev/plugins/toolbar/client/util}/fetch_using_xhr.js +0 -0
  48. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/fetching.js +2 -4
  49. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/iframe_to_parent_href.js +0 -0
  50. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/jsenv_logger.js +0 -0
  51. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/preferences.js +0 -0
  52. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/responsive.js +0 -0
  53. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/util.js +0 -0
  54. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/variant/variant.js +0 -0
  55. package/src/dev/plugins/toolbar/jsenv_plugin_toolbar.js +62 -0
  56. package/src/dev/start_dev_server.js +105 -0
  57. package/src/execute/execute.js +132 -0
  58. package/src/execute/run.js +208 -0
  59. package/src/execute/runtimes/browsers/chromium.js +8 -0
  60. package/src/execute/runtimes/browsers/firefox.js +7 -0
  61. package/src/execute/runtimes/browsers/from_playwright.js +464 -0
  62. package/src/{browser_runtimes.js → execute/runtimes/browsers/webkit.js} +4 -18
  63. package/src/{internal/node_launcher/child_process_options.js → execute/runtimes/node/child_exec_options.js} +25 -36
  64. package/src/{internal/node_launcher/node_controllable_file.mjs → execute/runtimes/node/controllable_file.mjs} +1 -18
  65. package/src/{internal/node_launcher/node_controllable_process.js → execute/runtimes/node/controlled_process.js} +128 -150
  66. package/src/execute/runtimes/node/exec_options.js +44 -0
  67. package/src/{internal/node_launcher → execute/runtimes/node}/kill_process_tree.js +3 -1
  68. package/src/execute/runtimes/node/node_process.js +92 -0
  69. package/src/execute/runtimes/node/node_worker_thread.js +28 -0
  70. package/src/omega/core_plugins/babel/babel_helper/babel_helper_directory.js +29 -0
  71. package/src/{internal/compile_server/js → omega/core_plugins/babel/babel_helper}/babel_plugin_babel_helpers_as_jsenv_imports.js +15 -19
  72. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/.eslintrc.cjs +0 -0
  73. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/AsyncGenerator/AsyncGenerator.js +0 -0
  74. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/AwaitValue/AwaitValue.js +0 -0
  75. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/applyDecoratorDescriptor/applyDecoratorDescriptor.js +0 -0
  76. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/arrayLikeToArray/arrayLikeToArray.js +0 -0
  77. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/arrayWithHoles/arrayWithHoles.js +0 -0
  78. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/arrayWithoutHoles/arrayWithoutHoles.js +0 -0
  79. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/assertThisInitialized/assertThisInitialized.js +0 -0
  80. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/asyncGeneratorDelegate/asyncGeneratorDelegate.js +0 -0
  81. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/asyncIterator/asyncIterator.js +0 -0
  82. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/asyncToGenerator/asyncToGenerator.js +0 -0
  83. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/awaitAsyncGenerator/awaitAsyncGenerator.js +0 -0
  84. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +0 -0
  85. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classApplyDescriptorGet/classApplyDescriptorGet.js +0 -0
  86. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classApplyDescriptorSet/classApplyDescriptorSet.js +0 -0
  87. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classCallCheck/classCallCheck.js +0 -0
  88. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +0 -0
  89. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +0 -0
  90. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classExtractFieldDescriptor/classExtractFieldDescriptor.js +0 -0
  91. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classNameTDZError/classNameTDZError.js +0 -0
  92. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +0 -0
  93. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldGet/classPrivateFieldGet.js +0 -0
  94. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +0 -0
  95. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +0 -0
  96. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldSet/classPrivateFieldSet.js +0 -0
  97. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateMethodGet/classPrivateMethodGet.js +0 -0
  98. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateMethodSet/classPrivateMethodSet.js +0 -0
  99. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +0 -0
  100. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +0 -0
  101. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +0 -0
  102. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +0 -0
  103. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/construct/construct.js +0 -0
  104. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createClass/createClass.js +0 -0
  105. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createForOfIteratorHelper/createForOfIteratorHelper.js +0 -0
  106. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +0 -0
  107. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createRawReactElement/createRawReactElement.js +0 -0
  108. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createSuper/createSuper.js +0 -0
  109. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/decorate/decorate.js +0 -0
  110. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/defaults/defaults.js +0 -0
  111. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/defineEnumerableProperties/defineEnumerableProperties.js +0 -0
  112. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/defineProperty/defineProperty.js +0 -0
  113. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/extends/extends.js +0 -0
  114. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/get/get.js +0 -0
  115. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/getPrototypeOf/getPrototypeOf.js +0 -0
  116. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/inherits/inherits.js +0 -0
  117. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/inheritsLoose/inheritsLoose.js +0 -0
  118. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/initializerDefineProperty/initializerDefineProperty.js +0 -0
  119. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/initializerWarningHelper/initializerWarningHelper.js +0 -0
  120. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/instanceof/instanceof.js +0 -0
  121. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/interopRequireDefault/interopRequireDefault.js +0 -0
  122. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/interopRequireWildcard/interopRequireWildcard.js +0 -0
  123. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/isNativeFunction/isNativeFunction.js +0 -0
  124. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/isNativeReflectConstruct/isNativeReflectConstruct.js +0 -0
  125. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/iterableToArray/iterableToArray.js +0 -0
  126. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/iterableToArrayLimit/iterableToArrayLimit.js +0 -0
  127. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +0 -0
  128. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/jsx/jsx.js +0 -0
  129. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/maybeArrayLike/maybeArrayLike.js +0 -0
  130. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/newArrowCheck/newArrowCheck.js +0 -0
  131. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/nonIterableRest/nonIterableRest.js +0 -0
  132. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/nonIterableSpread/nonIterableSpread.js +0 -0
  133. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectDestructuringEmpty/objectDestructuringEmpty.js +0 -0
  134. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectSpread/objectSpread.js +0 -0
  135. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectSpread2/objectSpread2.js +0 -0
  136. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectWithoutProperties/objectWithoutProperties.js +0 -0
  137. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +0 -0
  138. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/possibleConstructorReturn/possibleConstructorReturn.js +0 -0
  139. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/readOnlyError/readOnlyError.js +0 -0
  140. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/readme.md +0 -0
  141. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/set/set.js +0 -0
  142. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/setPrototypeOf/setPrototypeOf.js +0 -0
  143. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/skipFirstGeneratorNext/skipFirstGeneratorNext.js +0 -0
  144. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/slicedToArray/slicedToArray.js +0 -0
  145. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/slicedToArrayLoose/slicedToArrayLoose.js +0 -0
  146. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/superPropBase/superPropBase.js +0 -0
  147. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/taggedTemplateLiteral/taggedTemplateLiteral.js +0 -0
  148. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +0 -0
  149. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/tdz/tdz.js +0 -0
  150. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/temporalRef/temporalRef.js +0 -0
  151. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/temporalUndefined/temporalUndefined.js +0 -0
  152. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/toArray/toArray.js +0 -0
  153. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/toConsumableArray/toConsumableArray.js +0 -0
  154. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/toPrimitive/toPrimitive.js +0 -0
  155. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/toPropertyKey/toPropertyKey.js +0 -0
  156. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/typeof/typeof.js +0 -0
  157. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/unsupportedIterableToArray/unsupportedIterableToArray.js +0 -0
  158. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/wrapAsyncGenerator/wrapAsyncGenerator.js +0 -0
  159. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/wrapNativeSuper/wrapNativeSuper.js +0 -0
  160. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/wrapRegExp/wrapRegExp.js +0 -0
  161. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/writeOnlyError/writeOnlyError.js +0 -0
  162. package/src/omega/core_plugins/babel/global_this/babel_plugin_global_this_as_jsenv_import.js +35 -0
  163. package/{helpers/global-this/global-this.js → src/omega/core_plugins/babel/global_this/client/global_this.js} +0 -0
  164. package/src/omega/core_plugins/babel/helpers/babel_plugin_structure.js +187 -0
  165. package/src/{internal/features → omega/core_plugins/babel/helpers}/babel_plugins_compatibility.js +1 -24
  166. package/src/omega/core_plugins/babel/jsenv_plugin_babel.js +97 -0
  167. package/src/omega/core_plugins/babel/new_stylesheet/babel_plugin_new_stylesheet_as_jsenv_import.js +117 -0
  168. package/src/omega/core_plugins/babel/new_stylesheet/client/.eslintrc.cjs +24 -0
  169. package/{helpers/new_stylesheet → src/omega/core_plugins/babel/new_stylesheet/client}/new_stylesheet.js +0 -0
  170. package/src/omega/core_plugins/babel/regenerator_runtime/babel_plugin_regenerator_runtime_as_jsenv_import.js +34 -0
  171. package/{helpers/regenerator-runtime/regenerator-runtime.js → src/omega/core_plugins/babel/regenerator_runtime/client/regenerator_runtime.js} +0 -0
  172. package/src/omega/core_plugins/commonjs_globals/jsenv_plugin_commonjs_globals.js +169 -0
  173. package/src/omega/core_plugins/file_urls/jsenv_plugin_file_urls.js +67 -0
  174. package/src/omega/core_plugins/filesystem_magic/jsenv_plugin_filesystem_magic.js +58 -0
  175. package/src/{internal/browser_client → omega/core_plugins/html_supervisor/client}/error_in_document.js +10 -16
  176. package/src/{internal/browser_client → omega/core_plugins/html_supervisor/client}/error_in_notification.js +0 -0
  177. package/src/omega/core_plugins/html_supervisor/client/html_supervisor_installer.js +168 -0
  178. package/src/omega/core_plugins/html_supervisor/client/html_supervisor_setup.js +77 -0
  179. package/src/{internal/browser_client → omega/core_plugins/html_supervisor/client}/perf_browser.js +0 -0
  180. package/src/{internal/runtime_client → omega/core_plugins/html_supervisor/client}/uneval_exception.js +0 -0
  181. package/src/omega/core_plugins/html_supervisor/jsenv_plugin_html_supervisor.js +233 -0
  182. package/src/omega/core_plugins/import_assertions/helpers/babel_plugin_metadata_import_assertions.js +98 -0
  183. package/src/{internal/building/import_assertions → omega/core_plugins/import_assertions/helpers}/json_module.js +3 -2
  184. package/src/omega/core_plugins/import_assertions/helpers/text_module.js +6 -0
  185. package/src/omega/core_plugins/import_assertions/jsenv_plugin_import_assertions.js +211 -0
  186. package/src/omega/core_plugins/import_meta_scenarios/jsenv_plugin_import_meta_scenarios.js +80 -0
  187. package/src/omega/core_plugins/importmap/jsenv_plugin_importmap.js +212 -0
  188. package/src/omega/core_plugins/inline/client/inline_content.js +6 -0
  189. package/src/omega/core_plugins/inline/jsenv_plugin_data_urls.js +70 -0
  190. package/src/omega/core_plugins/inline/jsenv_plugin_inline.js +13 -0
  191. package/src/omega/core_plugins/inline/jsenv_plugin_inline_query_param.js +42 -0
  192. package/src/omega/core_plugins/inline/jsenv_plugin_js_and_css_inside_html.js +142 -0
  193. package/src/omega/core_plugins/inline/jsenv_plugin_new_inline_content.js +210 -0
  194. package/src/omega/core_plugins/leading_slash/jsenv_plugin_leading_slash.js +12 -0
  195. package/src/omega/core_plugins/node_esm_resolution/jsenv_plugin_node_esm_resolution.js +77 -0
  196. package/src/omega/core_plugins/url_resolution/jsenv_plugin_url_resolution.js +28 -0
  197. package/src/omega/core_plugins/url_version/jsenv_plugin_url_version.js +50 -0
  198. package/src/omega/core_plugins.js +39 -0
  199. package/src/omega/errors.js +168 -0
  200. package/src/omega/file_url_converter.js +63 -0
  201. package/src/omega/kitchen.js +777 -0
  202. package/src/omega/omega_server.js +129 -0
  203. package/src/omega/plugin_controller.js +240 -0
  204. package/src/omega/runtime_support/default_runtime_support.js +13 -0
  205. package/src/omega/runtime_support/features_compatibility.js +91 -0
  206. package/src/omega/runtime_support/runtime_support.js +20 -0
  207. package/src/omega/server/file_service.js +155 -0
  208. package/src/omega/server/user_agent.js +22 -0
  209. package/src/omega/url_graph/url_graph_load.js +68 -0
  210. package/src/omega/url_graph/url_graph_report.js +151 -0
  211. package/src/omega/url_graph/url_graph_sort.js +29 -0
  212. package/src/omega/url_graph/url_info_transformations.js +161 -0
  213. package/src/omega/url_graph.js +132 -0
  214. package/src/omega/url_mentions/css_url_mentions.js +63 -0
  215. package/src/omega/url_mentions/html_url_mentions.js +185 -0
  216. package/src/omega/url_mentions/js_module_url_mentions.js +91 -0
  217. package/src/omega/url_mentions/parse_url_mentions.js +37 -0
  218. package/src/omega/url_mentions/worker_classic_url_mentions.js +37 -0
  219. package/src/{internal/executing → test}/execute_plan.js +154 -211
  220. package/src/{execute_test_plan.js → test/execute_test_plan.js} +26 -81
  221. package/src/{internal/executing → test}/execution_colors.js +0 -0
  222. package/src/{internal/executing → test}/execution_steps.js +2 -8
  223. package/src/{internal/executing → test}/gc.js +0 -0
  224. package/src/test/logs_file_execution.js +223 -0
  225. package/dist/browser_client/asset-manifest.json +0 -4
  226. package/dist/browser_client/browser_client_fb33eaa4.js +0 -5320
  227. package/dist/browser_client/browser_client_fb33eaa4.js.map +0 -1089
  228. package/dist/build_manifest.js +0 -12
  229. package/dist/compile_proxy/asset-manifest.json +0 -4
  230. package/dist/compile_proxy/compile_proxy.html__inline__20_651d1e7b.js.map +0 -343
  231. package/dist/compile_proxy/compile_proxy_62f952c4.html +0 -2245
  232. package/dist/event_source_client/asset-manifest.json +0 -4
  233. package/dist/event_source_client/event_source_client_69f48287.js +0 -354
  234. package/dist/event_source_client/event_source_client_69f48287.js.map +0 -128
  235. package/dist/redirector/asset-manifest.json +0 -4
  236. package/dist/redirector/redirector.html__inline__12_171e07b4.js.map +0 -349
  237. package/dist/redirector/redirector_8117ec92.html +0 -2290
  238. package/dist/toolbar/asset-manifest.json +0 -13
  239. package/dist/toolbar/assets/compilation.css_7421bd55.map +0 -12
  240. package/dist/toolbar/assets/eventsource.css_c0c71e7b.map +0 -12
  241. package/dist/toolbar/assets/execution.css_f3377c10.map +0 -12
  242. package/dist/toolbar/assets/focus.css_896f3e45.map +0 -12
  243. package/dist/toolbar/assets/light_theme.css_5bff0336.map +0 -12
  244. package/dist/toolbar/assets/overflow_menu.css_9a0fc3d8.map +0 -12
  245. package/dist/toolbar/assets/settings.css_942b5a9e.map +0 -12
  246. package/dist/toolbar/assets/toolbar_main.css_b1c67dd7.map +0 -28
  247. package/dist/toolbar/assets/tooltip.css_a94a8bdd.map +0 -12
  248. package/dist/toolbar/toolbar_b0c9100c.html +0 -4976
  249. package/dist/toolbar/toolbar_main_f54c1bb0.js.map +0 -776
  250. package/dist/toolbar_injector/asset-manifest.json +0 -5
  251. package/dist/toolbar_injector/assets/jsenv_logo_192011c2.svg +0 -95
  252. package/dist/toolbar_injector/toolbar_injector_65b501eb.js +0 -976
  253. package/dist/toolbar_injector/toolbar_injector_65b501eb.js.map +0 -294
  254. package/helpers/import-meta/import-meta-url-commonjs.js +0 -9
  255. package/helpers/import-meta/import-meta-url-global.js +0 -54
  256. package/src/build_project.js +0 -336
  257. package/src/commonjs_to_js_module.js +0 -180
  258. package/src/dev_server.js +0 -302
  259. package/src/execute.js +0 -184
  260. package/src/import_using_child_process.js +0 -68
  261. package/src/internal/browser_client/browser_client.js +0 -220
  262. package/src/internal/browser_client/browser_client_factory.js +0 -144
  263. package/src/internal/browser_client/browser_error_stack_remap.js +0 -43
  264. package/src/internal/browser_client/browser_system.js +0 -216
  265. package/src/internal/browser_client/module_namespace_transfer.js +0 -90
  266. package/src/internal/browser_detection/browser_detection.js +0 -65
  267. package/src/internal/browser_detection/detect_android.js +0 -13
  268. package/src/internal/browser_detection/detect_chrome.js +0 -28
  269. package/src/internal/browser_detection/detect_edge.js +0 -13
  270. package/src/internal/browser_detection/detect_electron.js +0 -1
  271. package/src/internal/browser_detection/detect_firefox.js +0 -17
  272. package/src/internal/browser_detection/detect_internet_explorer.js +0 -14
  273. package/src/internal/browser_detection/detect_ios.js +0 -19
  274. package/src/internal/browser_detection/detect_opera.js +0 -27
  275. package/src/internal/browser_detection/detect_safari.js +0 -13
  276. package/src/internal/browser_detection/user_agent_data.js +0 -25
  277. package/src/internal/browser_detection/util.js +0 -13
  278. package/src/internal/browser_launcher/browser_runtime_profile.js +0 -81
  279. package/src/internal/browser_launcher/execute_html_file.js +0 -355
  280. package/src/internal/browser_launcher/from_playwright.js +0 -320
  281. package/src/internal/browser_launcher/page_errors_and_logs.js +0 -77
  282. package/src/internal/browser_utils/fetch_and_eval.js +0 -27
  283. package/src/internal/browser_utils/fetch_and_eval_using_script.js +0 -47
  284. package/src/internal/browser_utils/fetch_browser.js +0 -34
  285. package/src/internal/browser_utils/fetch_json.js +0 -7
  286. package/src/internal/building/build_logs.js +0 -134
  287. package/src/internal/building/build_stats.js +0 -100
  288. package/src/internal/building/build_url_generator.js +0 -153
  289. package/src/internal/building/build_using_rollup.js +0 -359
  290. package/src/internal/building/css/apply_post_css.js +0 -55
  291. package/src/internal/building/css/jsenv_parse_css.js +0 -260
  292. package/src/internal/building/css/move_css_urls.js +0 -44
  293. package/src/internal/building/css/parse_css_urls.js +0 -38
  294. package/src/internal/building/css/postcss_plugin_url_visitor.js +0 -245
  295. package/src/internal/building/css/replace_css_urls.js +0 -68
  296. package/src/internal/building/global_format/es_to_system.js +0 -34
  297. package/src/internal/building/html/html_node_mutations.js +0 -29
  298. package/src/internal/building/html/html_scan.js +0 -70
  299. package/src/internal/building/html/jsenv_parse_html.js +0 -813
  300. package/src/internal/building/html/minify_html.js +0 -7
  301. package/src/internal/building/import_assertions/css_module.js +0 -43
  302. package/src/internal/building/import_references.js +0 -80
  303. package/src/internal/building/importmap/jsenv_parse_importmap.js +0 -28
  304. package/src/internal/building/js/babel_plugin_inline_worker_imports.js +0 -96
  305. package/src/internal/building/js/jsenv_parse_js.js +0 -122
  306. package/src/internal/building/js/minify_js.js +0 -33
  307. package/src/internal/building/js/transform_worker.js +0 -55
  308. package/src/internal/building/json/jsenv_parse_json.js +0 -11
  309. package/src/internal/building/parse_ressource.js +0 -207
  310. package/src/internal/building/ressource_builder.js +0 -1098
  311. package/src/internal/building/ressource_builder_util.js +0 -194
  312. package/src/internal/building/rollup_plugin_jsenv.js +0 -1965
  313. package/src/internal/building/sort_pathnames.js +0 -10
  314. package/src/internal/building/sourcemap/sourcemap_loader.js +0 -70
  315. package/src/internal/building/svg/jsenv_parse_svg.js +0 -112
  316. package/src/internal/building/url_fetcher.js +0 -85
  317. package/src/internal/building/url_loader.js +0 -127
  318. package/src/internal/building/url_trace.js +0 -229
  319. package/src/internal/building/url_versioning/resolve_import_url_helper.js +0 -12
  320. package/src/internal/building/url_versioning/url_versioning.js +0 -65
  321. package/src/internal/building/webmanifest/jsenv_parse_webmanifest.js +0 -48
  322. package/src/internal/compile_server/commonjs/rollup_plugin_commonjs_named_exports.js +0 -187
  323. package/src/internal/compile_server/compile_file.js +0 -273
  324. package/src/internal/compile_server/compile_server.js +0 -519
  325. package/src/internal/compile_server/compiled_file_service.js +0 -264
  326. package/src/internal/compile_server/html/html_ast.js +0 -534
  327. package/src/internal/compile_server/html/html_source_file_service.js +0 -453
  328. package/src/internal/compile_server/html/jsenv_compile_html.js +0 -674
  329. package/src/internal/compile_server/importmap/jsenv_compile_importmap.js +0 -28
  330. package/src/internal/compile_server/js/ansi_to_html.js +0 -9
  331. package/src/internal/compile_server/js/babelHelper.js +0 -145
  332. package/src/internal/compile_server/js/babel_parse_error.js +0 -9
  333. package/src/internal/compile_server/js/babel_plugin_global_this_as_jsenv_import.js +0 -34
  334. package/src/internal/compile_server/js/babel_plugin_import_assertions.js +0 -121
  335. package/src/internal/compile_server/js/babel_plugin_import_metadata.js +0 -18
  336. package/src/internal/compile_server/js/babel_plugin_import_visitor.js +0 -84
  337. package/src/internal/compile_server/js/babel_plugin_new_stylesheet_as_jsenv_import.js +0 -113
  338. package/src/internal/compile_server/js/babel_plugin_proxy_external_imports.js +0 -31
  339. package/src/internal/compile_server/js/babel_plugin_regenerator_runtime_as_jsenv_import.js +0 -48
  340. package/src/internal/compile_server/js/babel_plugin_replace_expressions.js +0 -101
  341. package/src/internal/compile_server/js/babel_plugin_systemjs_prepend.js +0 -23
  342. package/src/internal/compile_server/js/babel_plugin_transform_import_meta.js +0 -134
  343. package/src/internal/compile_server/js/babel_plugins.js +0 -37
  344. package/src/internal/compile_server/js/generateBabelHelper.js +0 -36
  345. package/src/internal/compile_server/js/js_transformer.js +0 -195
  346. package/src/internal/compile_server/js/jsenv_compile_js.js +0 -62
  347. package/src/internal/compile_server/js/load_babel_plugin_map_from_file.js +0 -49
  348. package/src/internal/compile_server/jsenv_directory/comparison_utils.js +0 -27
  349. package/src/internal/compile_server/jsenv_directory/compilation_result.js +0 -243
  350. package/src/internal/compile_server/jsenv_directory/compilation_result_from_build.js +0 -184
  351. package/src/internal/compile_server/jsenv_directory/compile_asset.js +0 -24
  352. package/src/internal/compile_server/jsenv_directory/compile_context.js +0 -60
  353. package/src/internal/compile_server/jsenv_directory/compile_profile.js +0 -217
  354. package/src/internal/compile_server/jsenv_directory/file_lock_registry.js +0 -24
  355. package/src/internal/compile_server/jsenv_directory/file_lock_registry.test.js +0 -47
  356. package/src/internal/compile_server/jsenv_directory/fs_optimized_for_cache.js +0 -57
  357. package/src/internal/compile_server/jsenv_directory/jsenv_directory.js +0 -183
  358. package/src/internal/compile_server/jsenv_directory/reuse_or_create_compiled_file.js +0 -269
  359. package/src/internal/compile_server/jsenv_directory/update_compile_cache.js +0 -131
  360. package/src/internal/compile_server/jsenv_directory/validate_compile_cache.js +0 -264
  361. package/src/internal/compile_server/sse_service/sse_service.js +0 -369
  362. package/src/internal/coverage/babel_plugin_instrument.js +0 -90
  363. package/src/internal/coverage/coverage_reporter_html_directory.js +0 -37
  364. package/src/internal/coverage/coverage_reporter_json_file.js +0 -22
  365. package/src/internal/coverage/coverage_reporter_text_log.js +0 -20
  366. package/src/internal/coverage/empty_coverage_factory.js +0 -70
  367. package/src/internal/coverage/file_by_file_coverage.js +0 -28
  368. package/src/internal/coverage/istanbul_coverage_composition.js +0 -28
  369. package/src/internal/coverage/istanbul_coverage_map_from_coverage.js +0 -16
  370. package/src/internal/coverage/list_files_not_covered.js +0 -20
  371. package/src/internal/coverage/missing_coverage.js +0 -46
  372. package/src/internal/coverage/report_to_coverage.js +0 -198
  373. package/src/internal/coverage/v8_and_istanbul.js +0 -38
  374. package/src/internal/coverage/v8_coverage_composition.js +0 -23
  375. package/src/internal/coverage/v8_coverage_from_directory.js +0 -86
  376. package/src/internal/coverage/v8_coverage_to_istanbul.js +0 -100
  377. package/src/internal/data_url.js +0 -54
  378. package/src/internal/dev_server/event_source_client/event_source_client.js +0 -63
  379. package/src/internal/dev_server/event_source_client/file_changes.js +0 -82
  380. package/src/internal/dev_server/event_source_client/livereload_preference.js +0 -13
  381. package/src/internal/dev_server/exploring/exploring.css +0 -237
  382. package/src/internal/dev_server/exploring/exploring.html +0 -79
  383. package/src/internal/dev_server/exploring/exploring.js +0 -243
  384. package/src/internal/dev_server/exploring/fetch_exploring_json.js +0 -19
  385. package/src/internal/dev_server/toolbar/compilation/compilation.css +0 -23
  386. package/src/internal/dev_server/toolbar/compilation/toolbar_compilation.js +0 -202
  387. package/src/internal/dev_server/toolbar/eventsource/toolbar_eventsource.js +0 -83
  388. package/src/internal/dev_server/toolbar/execution/toolbar_execution.js +0 -91
  389. package/src/internal/error_stack_remap/install_error_stack_remapping.js +0 -142
  390. package/src/internal/error_stack_remap/remap_call_site.js +0 -315
  391. package/src/internal/error_stack_remap/remap_stack.js +0 -218
  392. package/src/internal/error_stack_remap/stringify_stack.js +0 -9
  393. package/src/internal/executing/launch_and_execute.js +0 -458
  394. package/src/internal/executing/logs_file_execution.js +0 -160
  395. package/src/internal/executing/logs_plan_summary.js +0 -144
  396. package/src/internal/features/browser_feature_detection/browser_feature_detect_dynamic_import.js +0 -20
  397. package/src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_css.js +0 -23
  398. package/src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_json.js +0 -25
  399. package/src/internal/features/browser_feature_detection/browser_feature_detect_importmap.js +0 -37
  400. package/src/internal/features/browser_feature_detection/browser_feature_detect_new_stylesheet.js +0 -9
  401. package/src/internal/features/browser_feature_detection/browser_feature_detect_top_level_await.js +0 -14
  402. package/src/internal/features/browser_feature_detection/browser_feature_detection.js +0 -89
  403. package/src/internal/features/browser_feature_detection/compile_proxy.html +0 -27
  404. package/src/internal/features/browser_feature_detection/execute_with_script_module.js +0 -24
  405. package/src/internal/features/features_compat_from_runtime.js +0 -38
  406. package/src/internal/features/features_compat_from_runtime_support.js +0 -31
  407. package/src/internal/features/features_compatibility.js +0 -37
  408. package/src/internal/features/node_feature_detection/feature_detect_dynamic_import.mjs +0 -5
  409. package/src/internal/features/node_feature_detection/feature_detect_top_level_await.mjs +0 -1
  410. package/src/internal/features/node_feature_detection/node_feature_detect_dynamic_import.js +0 -5
  411. package/src/internal/features/node_feature_detection/node_feature_detect_top_level_await.js +0 -16
  412. package/src/internal/features/node_feature_detection/node_feature_detection.js +0 -66
  413. package/src/internal/fetching.js +0 -28
  414. package/src/internal/import_resolution/default_extension.js +0 -40
  415. package/src/internal/import_resolution/import_resolver_importmap.js +0 -64
  416. package/src/internal/import_resolution/import_resolver_node.js +0 -254
  417. package/src/internal/import_resolution/importmap_default.js +0 -37
  418. package/src/internal/jsenv_builds.js +0 -19
  419. package/src/internal/jsenv_params_assertions.js +0 -12
  420. package/src/internal/jsenv_remote_directory.js +0 -156
  421. package/src/internal/logs/byte.js +0 -10
  422. package/src/internal/logs/byte_as_file_size.js +0 -9
  423. package/src/internal/logs/ms_as_duration.js +0 -12
  424. package/src/internal/memoize.js +0 -24
  425. package/src/internal/node_launcher/eval_source.js +0 -6
  426. package/src/internal/node_launcher/fetch_source.js +0 -8
  427. package/src/internal/node_launcher/node_error_stack_remap.js +0 -22
  428. package/src/internal/node_launcher/node_execution_dynamic_import.js +0 -75
  429. package/src/internal/node_launcher/node_execution_performance.js +0 -67
  430. package/src/internal/node_launcher/node_execution_systemjs.js +0 -125
  431. package/src/internal/node_launcher/node_runtime_report.js +0 -77
  432. package/src/internal/node_launcher/node_system.js +0 -192
  433. package/src/internal/node_launcher/perf_node.js +0 -13
  434. package/src/internal/node_launcher/process_options.js +0 -46
  435. package/src/internal/node_launcher/value_install.js +0 -14
  436. package/src/internal/origin_directory_converter.js +0 -62
  437. package/src/internal/promise_race.js +0 -19
  438. package/src/internal/redirector/redirector.html +0 -40
  439. package/src/internal/regexp_escape.js +0 -34
  440. package/src/internal/require.js +0 -3
  441. package/src/internal/response_validation.js +0 -130
  442. package/src/internal/runtime_client/module_registration.js +0 -207
  443. package/src/internal/runtime_client/s.js +0 -864
  444. package/src/internal/runtime_client/s.js.md +0 -1
  445. package/src/internal/runtime_support/jsenv_runtime_support.js +0 -15
  446. package/src/internal/runtime_support/runtime_support.js +0 -70
  447. package/src/internal/semantic_versioning/compare_versions.js +0 -28
  448. package/src/internal/semantic_versioning/highest_version.js +0 -11
  449. package/src/internal/semantic_versioning/is_above.js +0 -5
  450. package/src/internal/semantic_versioning/is_below.js +0 -5
  451. package/src/internal/semantic_versioning/is_equal.js +0 -3
  452. package/src/internal/semantic_versioning/lowest_version.js +0 -11
  453. package/src/internal/semantic_versioning/version_from_value.js +0 -42
  454. package/src/internal/sourcemap_utils.js +0 -112
  455. package/src/internal/template_string_escape.js +0 -20
  456. package/src/internal/url_conversion.js +0 -313
  457. package/src/internal/url_utils.js +0 -33
  458. package/src/internal/url_utils.test.js +0 -39
  459. package/src/internal/windows_file_path_utils.js +0 -16
  460. package/src/jsenv_file_urls.js +0 -35
  461. package/src/jsenv_service_worker_finalizer.js +0 -55
  462. package/src/json_to_js_module.js +0 -13
  463. package/src/node_runtime.js +0 -227
  464. package/src/require_using_child_process.js +0 -67
  465. package/src/text_to_js_module.js +0 -13
@@ -1,144 +0,0 @@
1
- import { ANSI } from "@jsenv/log"
2
-
3
- import { msAsDuration } from "@jsenv/core/src/internal/logs/ms_as_duration.js"
4
- import { formatByte } from "@jsenv/core/src/internal/logs/byte.js"
5
-
6
- import { EXECUTION_COLORS } from "./execution_colors.js"
7
-
8
- export const createSummaryLog = (
9
- summary,
10
- ) => `-------------- summary -----------------
11
- ${createAllExecutionsSummary(summary)}
12
- total duration: ${msAsDuration(summary.duration)}
13
- ----------------------------------------`
14
-
15
- const createAllExecutionsSummary = ({
16
- executionCount,
17
- abortedCount,
18
- timedoutCount,
19
- erroredCount,
20
- completedCount,
21
- cancelledCount,
22
- }) => {
23
- if (executionCount === 0) {
24
- return `no execution`
25
- }
26
-
27
- const executionLabel =
28
- executionCount === 1 ? `1 execution` : `${executionCount} executions`
29
- return `${executionLabel}: ${createStatusSummary({
30
- executionCount,
31
- abortedCount,
32
- timedoutCount,
33
- erroredCount,
34
- completedCount,
35
- cancelledCount,
36
- })}`
37
- }
38
-
39
- export const createIntermediateSummary = ({
40
- executionCount,
41
- abortedCount,
42
- timedoutCount,
43
- erroredCount,
44
- completedCount,
45
- cancelledCount,
46
- memoryHeap,
47
- }) => {
48
- let intermediateSummary = createStatusSummary({
49
- executionCount,
50
- abortedCount,
51
- timedoutCount,
52
- erroredCount,
53
- completedCount,
54
- cancelledCount,
55
- })
56
-
57
- if (memoryHeap) {
58
- intermediateSummary += ` / memory heap: ${formatByte(memoryHeap)}`
59
- }
60
-
61
- return intermediateSummary
62
- }
63
-
64
- const createStatusSummary = ({
65
- executionCount,
66
- abortedCount,
67
- timedoutCount,
68
- erroredCount,
69
- completedCount,
70
- cancelledCount,
71
- }) => {
72
- if (abortedCount === executionCount) {
73
- return `all ${ANSI.color(`aborted`, EXECUTION_COLORS.aborted)}`
74
- }
75
- if (timedoutCount === executionCount) {
76
- return `all ${ANSI.color(`timed out`, EXECUTION_COLORS.timedout)}`
77
- }
78
- if (erroredCount === executionCount) {
79
- return `all ${ANSI.color(`errored`, EXECUTION_COLORS.errored)}`
80
- }
81
- if (completedCount === executionCount) {
82
- return `all ${ANSI.color(`completed`, EXECUTION_COLORS.completed)}`
83
- }
84
- if (cancelledCount === executionCount) {
85
- return `all ${ANSI.color(`cancelled`, EXECUTION_COLORS.cancelled)}`
86
- }
87
-
88
- return createMixedDetails({
89
- executionCount,
90
- abortedCount,
91
- timedoutCount,
92
- erroredCount,
93
- completedCount,
94
- cancelledCount,
95
- })
96
- }
97
-
98
- const createMixedDetails = ({
99
- abortedCount,
100
- timedoutCount,
101
- erroredCount,
102
- completedCount,
103
- cancelledCount,
104
- }) => {
105
- const parts = []
106
-
107
- if (timedoutCount) {
108
- parts.push(
109
- `${timedoutCount} ${ANSI.color(`timed out`, EXECUTION_COLORS.timedout)}`,
110
- )
111
- }
112
-
113
- if (erroredCount) {
114
- parts.push(
115
- `${erroredCount} ${ANSI.color(`errored`, EXECUTION_COLORS.errored)}`,
116
- )
117
- }
118
-
119
- if (completedCount) {
120
- parts.push(
121
- `${completedCount} ${ANSI.color(
122
- `completed`,
123
- EXECUTION_COLORS.completed,
124
- )}`,
125
- )
126
- }
127
-
128
- if (abortedCount) {
129
- parts.push(
130
- `${abortedCount} ${ANSI.color(`aborted`, EXECUTION_COLORS.aborted)}`,
131
- )
132
- }
133
-
134
- if (cancelledCount) {
135
- parts.push(
136
- `${cancelledCount} ${ANSI.color(
137
- `cancelled`,
138
- EXECUTION_COLORS.cancelled,
139
- )}`,
140
- )
141
- }
142
-
143
- return `${parts.join(", ")}`
144
- }
@@ -1,20 +0,0 @@
1
- import {
2
- asBase64Url,
3
- executeWithScriptModuleInjection,
4
- } from "./execute_with_script_module.js"
5
-
6
- export const supportsDynamicImport = async () => {
7
- const moduleSource = asBase64Url(`export default 42`)
8
- try {
9
- await executeWithScriptModuleInjection(
10
- `window.__jsenv_runtime_test_dynamic_import__ = import(${JSON.stringify(
11
- moduleSource,
12
- )})`,
13
- )
14
- const namespace = await window.__jsenv_runtime_test_dynamic_import__
15
- delete window.__jsenv_runtime_test_dynamic_import__
16
- return namespace.default === 42
17
- } catch (e) {
18
- return false
19
- }
20
- }
@@ -1,23 +0,0 @@
1
- import {
2
- asBase64Url,
3
- executeWithScriptModuleInjection,
4
- } from "./execute_with_script_module.js"
5
-
6
- export const supportsCssImportAssertions = async () => {
7
- const cssBase64Url = asBase64Url("p { color: red; }", "text/css")
8
- const moduleSource = asBase64Url(
9
- `import css from "${cssBase64Url}" assert { type: "css" }
10
- export default css`,
11
- )
12
- try {
13
- await executeWithScriptModuleInjection(
14
- `window.__jsenv_runtime_test_css_import_assertion__ = import(${JSON.stringify(
15
- moduleSource,
16
- )})`,
17
- )
18
- const namespace = await window.__jsenv_runtime_test_css_import_assertion__
19
- return namespace.default instanceof CSSStyleSheet
20
- } catch (e) {
21
- return false
22
- }
23
- }
@@ -1,25 +0,0 @@
1
- import {
2
- asBase64Url,
3
- executeWithScriptModuleInjection,
4
- } from "./execute_with_script_module.js"
5
-
6
- export const supportsJsonImportAssertions = async () => {
7
- const jsonBase64Url = asBase64Url("42", "application/json")
8
- const moduleSource = asBase64Url(
9
- `import data from "${jsonBase64Url}" assert { type: "json" }
10
- export default data`,
11
- )
12
- try {
13
- await executeWithScriptModuleInjection(
14
- `window.__jsenv_runtime_test_json_import_assertion__ = import(${JSON.stringify(
15
- moduleSource,
16
- )})`,
17
- )
18
- const namespace = await window.__jsenv_runtime_test_json_import_assertion__
19
- const supported = namespace.default === 42
20
- delete window.__jsenv_runtime_test_json_import_assertion__
21
- return supported
22
- } catch (e) {
23
- return false
24
- }
25
- }
@@ -1,37 +0,0 @@
1
- import {
2
- asBase64Url,
3
- executeWithScriptModuleInjection,
4
- } from "./execute_with_script_module.js"
5
-
6
- export const supportsImportmap = async ({ remote = true } = {}) => {
7
- const specifier = asBase64Url(`export default false`)
8
- const importMap = {
9
- imports: {
10
- [specifier]: asBase64Url(`export default true`),
11
- },
12
- }
13
- const importmapScript = document.createElement("script")
14
- const importmapString = JSON.stringify(importMap, null, " ")
15
- importmapScript.type = "importmap"
16
- if (remote) {
17
- importmapScript.src = `data:application/json;base64,${window.btoa(
18
- importmapString,
19
- )}`
20
- } else {
21
- importmapScript.textContent = importmapString
22
- }
23
- document.body.appendChild(importmapScript)
24
-
25
- try {
26
- await executeWithScriptModuleInjection(
27
- `import supported from "${specifier}"; window.__jsenv_runtime_test_importmap__ = supported`,
28
- )
29
- document.body.removeChild(importmapScript)
30
- const supported = window.__jsenv_runtime_test_importmap__
31
- delete window.__jsenv_runtime_test_importmap__
32
- return supported
33
- } catch (e) {
34
- document.body.removeChild(importmapScript)
35
- return false
36
- }
37
- }
@@ -1,9 +0,0 @@
1
- export const supportsNewStylesheet = () => {
2
- try {
3
- // eslint-disable-next-line no-new
4
- new CSSStyleSheet()
5
- return true
6
- } catch (e) {
7
- return false
8
- }
9
- }
@@ -1,14 +0,0 @@
1
- import { executeWithScriptModuleInjection } from "./execute_with_script_module.js"
2
-
3
- export const supportsTopLevelAwait = async () => {
4
- try {
5
- await executeWithScriptModuleInjection(
6
- `window.__jsenv_runtime_test_top_level_await__ = await Promise.resolve(42)`,
7
- )
8
- const supported = window.__jsenv_runtime_test_top_level_await__ === 42
9
- delete window.__jsenv_runtime_test_top_level_await__
10
- return supported
11
- } catch (e) {
12
- return false
13
- }
14
- }
@@ -1,89 +0,0 @@
1
- import { fetchJson } from "../../browser_utils/fetch_json.js"
2
- import { detectBrowser } from "../../browser_detection/browser_detection.js"
3
-
4
- import { supportsImportmap } from "./browser_feature_detect_importmap.js"
5
- import { supportsDynamicImport } from "./browser_feature_detect_dynamic_import.js"
6
- import { supportsTopLevelAwait } from "./browser_feature_detect_top_level_await.js"
7
- import { supportsJsonImportAssertions } from "./browser_feature_detect_import_assertions_json.js"
8
- import { supportsCssImportAssertions } from "./browser_feature_detect_import_assertions_css.js"
9
- import { supportsNewStylesheet } from "./browser_feature_detect_new_stylesheet.js"
10
-
11
- export const scanBrowserRuntimeFeatures = async ({
12
- coverageHandledFromOutside = false,
13
- forceCompilation = false,
14
- forceSource = false,
15
- } = {}) => {
16
- const jsenvCompileProfileUrl = "/__jsenv_compile_profile__"
17
- const {
18
- jsenvDirectoryRelativeUrl,
19
- inlineImportMapIntoHTML,
20
- availableCompileIds,
21
- } = await fetchJson(jsenvCompileProfileUrl)
22
- const { name, version } = detectBrowser()
23
- const featuresReport = await detectSupportedFeatures({
24
- coverageHandledFromOutside,
25
- inlineImportMapIntoHTML,
26
- })
27
- const runtimeReport = {
28
- env: { browser: true },
29
- name,
30
- version,
31
- featuresReport,
32
- forceSource,
33
- forceCompilation,
34
- }
35
- const { compileProfile, compileId } = await fetchJson(
36
- jsenvCompileProfileUrl,
37
- {
38
- method: "POST",
39
- headers: {
40
- "content-type": "application/json",
41
- },
42
- body: JSON.stringify(runtimeReport),
43
- },
44
- )
45
- return {
46
- jsenvDirectoryRelativeUrl,
47
- inlineImportMapIntoHTML,
48
- availableCompileIds,
49
- runtimeReport,
50
- compileProfile,
51
- compileId,
52
- }
53
- }
54
-
55
- const detectSupportedFeatures = async ({
56
- coverageHandledFromOutside,
57
- inlineImportMapIntoHTML,
58
- }) => {
59
- const featuresReport = {}
60
- featuresReport["import_http"] = true
61
- featuresReport["coverage_js"] = coverageHandledFromOutside
62
- // new CSSStyleSheet
63
- featuresReport["new_stylesheet"] = supportsNewStylesheet()
64
- // importmap
65
- // start testing importmap support first and not in paralell
66
- // so that there is not module script loaded beore importmap is injected
67
- // it would log an error in chrome console and return undefined
68
- featuresReport.importmap = await supportsImportmap({
69
- // chrome supports inline but not remote importmap
70
- // https://github.com/WICG/import-maps/issues/235
71
- // at this stage we won't know if the html file will use
72
- // an importmap or not and if that importmap is inline or specified with an src
73
- // so we should test if browser support local and remote importmap.
74
- // But there exploring server can inline importmap by transforming html
75
- // and in that case we can test only the local importmap support
76
- // so we test importmap support and the remote one
77
- remote: !inlineImportMapIntoHTML,
78
- })
79
- // dynamic import
80
- featuresReport["import_dynamic"] = await supportsDynamicImport()
81
- // top level await
82
- featuresReport["top_level_await"] = await supportsTopLevelAwait()
83
- // import assertions
84
- featuresReport["import_assertion_type_json"] =
85
- await supportsJsonImportAssertions()
86
- featuresReport["import_assertion_type_css"] =
87
- await supportsCssImportAssertions()
88
- return featuresReport
89
- }
@@ -1,27 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Compile proxy</title>
5
- <meta name="viewport" content="width=device-width, initial-scale=1" />
6
- <meta charset="utf-8" />
7
- <link rel="icon" href="data:," />
8
- </head>
9
-
10
- <body>
11
- <script>
12
- window.readyPromise = new Promise((resolve) => {
13
- window.resolveReadyPromise = resolve
14
- })
15
- </script>
16
- <script
17
- type="importmap"
18
- src="../../../../node_resolution.importmap"
19
- ></script>
20
- <script type="module">
21
- import { scanBrowserRuntimeFeatures } from "./browser_feature_detection.js"
22
-
23
- window.scanBrowserRuntimeFeatures = scanBrowserRuntimeFeatures
24
- window.resolveReadyPromise()
25
- </script>
26
- </body>
27
- </html>
@@ -1,24 +0,0 @@
1
- export const executeWithScriptModuleInjection = (code) => {
2
- const scriptModule = document.createElement("script")
3
- scriptModule.type = "module"
4
-
5
- const loadPromise = new Promise((resolve, reject) => {
6
- scriptModule.onload = () => {
7
- document.body.removeChild(scriptModule)
8
- resolve()
9
- }
10
- scriptModule.onerror = () => {
11
- document.body.removeChild(scriptModule)
12
- reject()
13
- }
14
- document.body.appendChild(scriptModule)
15
- })
16
-
17
- scriptModule.src = asBase64Url(code)
18
-
19
- return loadPromise
20
- }
21
-
22
- export const asBase64Url = (text, mimeType = "application/javascript") => {
23
- return `data:${mimeType};base64,${window.btoa(text)}`
24
- }
@@ -1,38 +0,0 @@
1
- import { findHighestVersion } from "@jsenv/core/src/internal/semantic_versioning/highest_version.js"
2
-
3
- import { featuresCompatMap } from "./features_compatibility.js"
4
-
5
- export const featuresCompatFromRuntime = ({
6
- runtimeName,
7
- runtimeVersion,
8
- featureNames,
9
- }) => {
10
- const availableFeatureNames = []
11
- // "minRuntimeVersion" is the first version where all
12
- // features in "availableFeatureNames" where available
13
- // can be lower or equal to "runtimeVersion"
14
- let minRuntimeVersion
15
- featureNames.forEach((featureName) => {
16
- const featureCompat = featuresCompatMap[featureName] || {}
17
- const runtimeVersionCompatible = featureCompat[runtimeName] || "Infinity"
18
- const highestVersion = findHighestVersion(
19
- runtimeVersion,
20
- runtimeVersionCompatible,
21
- )
22
- const compatible = highestVersion === runtimeVersion
23
- if (compatible) {
24
- availableFeatureNames.push(featureName)
25
- if (runtimeVersionCompatible !== "Infinity") {
26
- // there is a version from which runtime becomes compatible with this feature
27
- minRuntimeVersion = findHighestVersion(
28
- minRuntimeVersion || "0.0.0",
29
- runtimeVersionCompatible,
30
- )
31
- }
32
- }
33
- })
34
- return {
35
- availableFeatureNames,
36
- minRuntimeVersion: minRuntimeVersion || runtimeVersion,
37
- }
38
- }
@@ -1,31 +0,0 @@
1
- import { featuresCompatFromRuntime } from "./features_compat_from_runtime.js"
2
-
3
- export const featuresCompatFromRuntimeSupport = ({
4
- runtimeSupport,
5
- featureNames,
6
- }) => {
7
- const availableFeatureNames = []
8
- const minRuntimeVersions = {}
9
- const runtimeNames = Object.keys(runtimeSupport)
10
- runtimeNames.forEach((runtimeName) => {
11
- const runtimeVersion = runtimeSupport[runtimeName]
12
- const runtimeFeaturesCompat = featuresCompatFromRuntime({
13
- runtimeName,
14
- runtimeVersion,
15
- featureNames,
16
- })
17
-
18
- minRuntimeVersions[runtimeName] = runtimeFeaturesCompat.minRuntimeVersion
19
- runtimeFeaturesCompat.availableFeatureNames.forEach(
20
- (availableFeatureName) => {
21
- if (!availableFeatureNames.includes(availableFeatureName)) {
22
- availableFeatureNames.push(availableFeatureName)
23
- }
24
- },
25
- )
26
- })
27
- return {
28
- availableFeatureNames,
29
- minRuntimeVersions,
30
- }
31
- }
@@ -1,37 +0,0 @@
1
- import { babelPluginCompatMap } from "./babel_plugins_compatibility.js"
2
-
3
- export const featuresCompatMap = {
4
- script_type_module: {
5
- edge: "16",
6
- firefox: "60",
7
- chrome: "61",
8
- safari: "10.1",
9
- opera: "48",
10
- ios: "10.3",
11
- android: "61",
12
- samsung: "8.2",
13
- },
14
- // https://caniuse.com/import-maps
15
- importmap: {
16
- edge: "89",
17
- chrome: "89",
18
- opera: "76",
19
- samsung: "15",
20
- },
21
- import_assertion_type_json: {
22
- chrome: "91",
23
- edge: "91",
24
- },
25
- import_assertion_type_css: {
26
- chrome: "93",
27
- edge: "93",
28
- },
29
- worker_type_module: {
30
- chrome: "80",
31
- edge: "80",
32
- opera: "67",
33
- android: "80",
34
- },
35
- worker_importmap: {},
36
- ...babelPluginCompatMap,
37
- }
@@ -1,5 +0,0 @@
1
- const jsAsBase64 = Buffer.from("export default 42").toString("base64")
2
- const moduleSource = `data:text/javascript;base64,${jsAsBase64}`
3
- const namespacePromise = import(moduleSource)
4
-
5
- export default namespacePromise
@@ -1 +0,0 @@
1
- export default await Promise.resolve(42)
@@ -1,5 +0,0 @@
1
- import { memoize } from "@jsenv/filesystem"
2
-
3
- export const nodeSupportsDynamicImport = memoize(async () => {
4
- return true
5
- })
@@ -1,16 +0,0 @@
1
- import { memoize } from "@jsenv/filesystem"
2
-
3
- const FEATURE_DETECT_DYNAMIC_IMPORT_FILE_URL = new URL(
4
- "./feature_detect_top_level_await.mjs",
5
- import.meta.url,
6
- ).href
7
-
8
- export const nodeSupportsTopLevelAwait = memoize(async () => {
9
- try {
10
- const namespace = await import(FEATURE_DETECT_DYNAMIC_IMPORT_FILE_URL)
11
- const supported = namespace.default === 42
12
- return supported
13
- } catch (e) {
14
- return false
15
- }
16
- })
@@ -1,66 +0,0 @@
1
- import { fetchSource } from "@jsenv/core/src/internal/node_launcher/fetch_source.js"
2
-
3
- import { nodeSupportsDynamicImport } from "./node_feature_detect_dynamic_import.js"
4
- import { nodeSupportsTopLevelAwait } from "./node_feature_detect_top_level_await.js"
5
-
6
- export const scanNodeRuntimeFeatures = async ({
7
- compileServerOrigin,
8
- moduleOutFormat,
9
- forceSource,
10
- forceCompilation,
11
- coverageHandledFromOutside,
12
- }) => {
13
- const jsenvCompileProfileServerUrl = new URL(
14
- "__jsenv_compile_profile__",
15
- compileServerOrigin,
16
- ).href
17
- const { compileContext } = await fetchJson(jsenvCompileProfileServerUrl)
18
- const featuresReport = await detectSupportedFeatures({
19
- compileContext,
20
- coverageHandledFromOutside,
21
- })
22
- const runtimeReport = {
23
- env: { node: true },
24
- name: "node",
25
- version: process.version.slice(1),
26
- featuresReport,
27
- moduleOutFormat,
28
- forceSource,
29
- forceCompilation,
30
- }
31
- const { compileProfile, compileId } = await fetchJson(
32
- jsenvCompileProfileServerUrl,
33
- {
34
- method: "POST",
35
- headers: {
36
- "content-type": "application/json",
37
- },
38
- body: JSON.stringify(runtimeReport),
39
- },
40
- )
41
- return {
42
- compileProfile,
43
- compileId,
44
- }
45
- }
46
-
47
- const detectSupportedFeatures = async ({ coverageHandledFromOutside }) => {
48
- const featuresReport = {}
49
- // Node.js do not support http(s) imports, this information is important
50
- // so that we know we cannot use dynamic import
51
- featuresReport["import_http"] = false
52
- featuresReport["coverage_js"] = coverageHandledFromOutside
53
- featuresReport["import_dynamic"] = await nodeSupportsDynamicImport()
54
- featuresReport["top_level_await"] = await nodeSupportsTopLevelAwait()
55
- return featuresReport
56
- }
57
-
58
- const fetchJson = async (url, options) => {
59
- const response = await fetchSource(url, options)
60
- const status = response.status
61
- if (status !== 200) {
62
- throw new Error(`unexpected response status for ${url}, got ${status}`)
63
- }
64
- const object = await response.json()
65
- return object
66
- }
@@ -1,28 +0,0 @@
1
- import { globalAgent } from "node:https"
2
- import { fetchUrl as serverFetchUrl } from "@jsenv/server"
3
- import { headersToObject } from "@jsenv/server/src/internal/headersToObject.js"
4
-
5
- // ideally we should only pass this to the fetch below
6
- globalAgent.options.rejectUnauthorized = false
7
-
8
- export const fetchUrl = async (
9
- url,
10
- { ignoreHttpsError = true, ...rest } = {},
11
- ) => {
12
- const response = await serverFetchUrl(url, {
13
- ignoreHttpsError,
14
- ...rest,
15
- })
16
- const responseObject = {
17
- url: response.url,
18
- type: "default",
19
- status: response.status,
20
- statusText: response.statusText,
21
- headers: headersToObject(response.headers),
22
- text: response.text.bind(response),
23
- json: response.json.bind(response),
24
- blob: response.blob.bind(response),
25
- arrayBuffer: response.arrayBuffer.bind(response),
26
- }
27
- return responseObject
28
- }