@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
@@ -3,64 +3,56 @@ import { memoryUsage } from "node:process"
3
3
  import wrapAnsi from "wrap-ansi"
4
4
  import stripAnsi from "strip-ansi"
5
5
  import cuid from "cuid"
6
- import { createDetailedMessage, loggerToLevels } from "@jsenv/logger"
7
- import { createLog, startSpinner } from "@jsenv/log"
8
- import {
9
- Abort,
10
- raceProcessTeardownEvents,
11
- createCallbackListNotifiedOnce,
12
- } from "@jsenv/abort"
13
6
  import {
14
7
  urlToFileSystemPath,
15
- resolveUrl,
16
8
  writeDirectory,
17
9
  ensureEmptyDirectory,
18
10
  normalizeStructuredMetaMap,
19
11
  urlToMeta,
20
12
  writeFile,
21
13
  } from "@jsenv/filesystem"
14
+ import {
15
+ createLogger,
16
+ createDetailedMessage,
17
+ loggerToLevels,
18
+ } from "@jsenv/logger"
19
+ import { createLog, startSpinner } from "@jsenv/log"
20
+ import { Abort, raceProcessTeardownEvents } from "@jsenv/abort"
22
21
 
23
- import { startCompileServer } from "@jsenv/core/src/internal/compile_server/compile_server.js"
24
- import { babelPluginInstrument } from "@jsenv/core/src/internal/coverage/babel_plugin_instrument.js"
25
- import { reportToCoverage } from "@jsenv/core/src/internal/coverage/report_to_coverage.js"
22
+ import { babelPluginInstrument } from "@jsenv/utils/coverage/babel_plugin_instrument.js"
23
+ import { reportToCoverage } from "@jsenv/utils/coverage/report_to_coverage.js"
24
+ import { createUrlGraph } from "@jsenv/core/src/omega/url_graph.js"
25
+ import { getCorePlugins } from "@jsenv/core/src/omega/core_plugins.js"
26
+ import { createKitchen } from "@jsenv/core/src/omega/kitchen.js"
27
+ import { startOmegaServer } from "@jsenv/core/src/omega/omega_server.js"
28
+ import { run } from "@jsenv/core/src/execute/run.js"
26
29
 
27
30
  import { ensureGlobalGc } from "./gc.js"
28
- import { launchAndExecute } from "./launch_and_execute.js"
29
31
  import { generateExecutionSteps } from "./execution_steps.js"
30
32
  import {
31
33
  formatExecuting,
32
34
  formatExecutionResult,
35
+ createSummaryLog,
33
36
  } from "./logs_file_execution.js"
34
- import { createSummaryLog } from "./logs_plan_summary.js"
35
37
 
36
38
  export const executePlan = async (
37
39
  plan,
38
40
  {
39
41
  signal,
40
42
  handleSIGINT,
41
-
42
43
  logger,
43
- compileServerLogLevel,
44
- launchAndExecuteLogLevel,
45
-
46
- projectDirectoryUrl,
47
- jsenvDirectoryRelativeUrl,
48
- jsenvDirectoryClean,
49
-
50
- importResolutionMethod,
51
- importDefaultExtension,
52
-
53
44
  logSummary,
54
45
  logMemoryHeapUsage,
55
46
  logFileRelativeUrl,
56
47
  completedExecutionLogMerging,
57
48
  completedExecutionLogAbbreviation,
58
49
 
50
+ rootDirectoryUrl,
51
+ keepRunning,
59
52
  defaultMsAllocatedPerExecution,
60
53
  maxExecutionsInParallel,
61
54
  failFast,
62
55
  gcBetweenExecutions,
63
- stopAfterExecute,
64
56
  cooldownBetweenExecutions,
65
57
 
66
58
  coverage,
@@ -70,34 +62,23 @@ export const executePlan = async (
70
62
  coverageV8ConflictWarning,
71
63
  coverageTempDirectoryRelativeUrl,
72
64
 
65
+ plugins = [],
66
+ scenario = "test",
67
+ sourcemaps = "inline",
68
+
73
69
  protocol,
74
70
  privateKey,
75
71
  certificate,
76
72
  ip,
77
73
  port,
78
- compileServerCanReadFromFilesystem,
79
- compileServerCanWriteOnFilesystem,
80
- babelPluginMap,
81
- babelConfigFileUrl,
82
- preservedUrls,
83
- workers,
84
- serviceWorkers,
85
- importMapInWebWorkers,
86
- customCompilers,
87
74
 
88
75
  beforeExecutionCallback = () => {},
89
76
  afterExecutionCallback = () => {},
90
77
  } = {},
91
78
  ) => {
92
- if (coverage) {
93
- babelPluginMap = {
94
- ...babelPluginMap,
95
- "transform-instrument": [
96
- babelPluginInstrument,
97
- { projectDirectoryUrl, coverageConfig },
98
- ],
99
- }
100
- }
79
+ const stopAfterAllSignal = { notify: () => {} }
80
+
81
+ let someNeedsServer = false
101
82
  const runtimes = {}
102
83
  Object.keys(plan).forEach((filePattern) => {
103
84
  const filePlan = plan[filePattern]
@@ -106,6 +87,9 @@ export const executePlan = async (
106
87
  const { runtime } = executionConfig
107
88
  if (runtime) {
108
89
  runtimes[runtime.name] = runtime.version
90
+ if (runtime.needsServer) {
91
+ someNeedsServer = true
92
+ }
109
93
  }
110
94
  })
111
95
  })
@@ -135,84 +119,114 @@ export const executePlan = async (
135
119
  }
136
120
 
137
121
  try {
138
- const compileServer = await startCompileServer({
139
- signal: multipleExecutionsOperation.signal,
140
- logLevel: compileServerLogLevel,
141
-
142
- projectDirectoryUrl,
143
- jsenvDirectoryRelativeUrl,
144
- jsenvDirectoryClean,
145
-
146
- importResolutionMethod,
147
- importDefaultExtension,
122
+ let runtimeParams = {
123
+ rootDirectoryUrl,
124
+ collectCoverage: coverage,
125
+ coverageForceIstanbul,
126
+ stopAfterAllSignal,
127
+ }
128
+ if (someNeedsServer) {
129
+ const urlGraph = createUrlGraph()
130
+ const kitchen = createKitchen({
131
+ signal,
132
+ logger,
133
+ rootDirectoryUrl,
134
+ urlGraph,
135
+ plugins: [
136
+ ...plugins,
137
+ ...getCorePlugins({
138
+ babel: {
139
+ getCustomBabelPlugins: ({ runtimeSupport }) => {
140
+ if (coverage && Object.keys(runtimeSupport)[0] !== "chrome") {
141
+ return {
142
+ "transform-instrument": [
143
+ babelPluginInstrument,
144
+ {
145
+ rootDirectoryUrl,
146
+ coverageConfig,
147
+ },
148
+ ],
149
+ }
150
+ }
151
+ return {}
152
+ },
153
+ },
154
+ }),
155
+ ],
156
+ scenario,
157
+ sourcemaps,
158
+ })
159
+ const serverLogger = createLogger({ logLevel: "warn" })
160
+ const server = await startOmegaServer({
161
+ signal: multipleExecutionsOperation.signal,
162
+ logger: serverLogger,
163
+ rootDirectoryUrl,
164
+ urlGraph,
165
+ kitchen,
166
+ scenario,
167
+ keepProcessAlive: false,
168
+ port,
169
+ ip,
170
+ protocol,
171
+ certificate,
172
+ privateKey,
173
+ })
174
+ multipleExecutionsOperation.addEndCallback(async () => {
175
+ await server.stop()
176
+ })
177
+ runtimeParams = {
178
+ ...runtimeParams,
179
+ server,
180
+ }
181
+ }
148
182
 
149
- protocol,
150
- privateKey,
151
- certificate,
152
- ip,
153
- port,
154
- compileServerCanReadFromFilesystem,
155
- compileServerCanWriteOnFilesystem,
156
- keepProcessAlive: true, // to be sure it stays alive
157
- babelPluginMap,
158
- babelConfigFileUrl,
159
- preservedUrls,
160
- workers,
161
- serviceWorkers,
162
- importMapInWebWorkers,
163
- customCompilers,
164
- })
165
- babelPluginMap = compileServer.babelPluginMap
166
- multipleExecutionsOperation.addEndCallback(async () => {
167
- await compileServer.stop()
168
- })
169
183
  logger.debug(`Generate executions`)
170
184
  const executionSteps = await getExecutionAsSteps({
171
185
  plan,
172
- compileServer,
173
186
  multipleExecutionsOperation,
174
- projectDirectoryUrl,
187
+ rootDirectoryUrl,
175
188
  })
176
189
  logger.debug(`${executionSteps.length} executions planned`)
177
-
178
190
  if (completedExecutionLogMerging && !process.stdout.isTTY) {
179
191
  completedExecutionLogMerging = false
180
192
  logger.debug(
181
193
  `Force completedExecutionLogMerging to false because process.stdout.isTTY is false`,
182
194
  )
183
195
  }
196
+ const debugLogsEnabled = loggerToLevels(logger).debug
184
197
  const executionLogsEnabled = loggerToLevels(logger).info
185
- const executionSpinner = executionLogsEnabled && process.stdout.isTTY
198
+ const executionSpinner =
199
+ !debugLogsEnabled && executionLogsEnabled && process.stdout.isTTY
186
200
 
187
201
  const startMs = Date.now()
188
202
  const report = {}
189
- const executionCount = executionSteps.length
190
203
  let rawOutput = ""
191
204
 
192
205
  let transformReturnValue = (value) => value
193
-
194
206
  if (gcBetweenExecutions) {
195
207
  ensureGlobalGc()
196
208
  }
197
209
 
198
- const coverageTempDirectoryUrl = resolveUrl(
210
+ const coverageTempDirectoryUrl = new URL(
199
211
  coverageTempDirectoryRelativeUrl,
200
- projectDirectoryUrl,
201
- )
202
- const structuredMetaMapForCover = normalizeStructuredMetaMap(
203
- {
204
- cover: coverageConfig,
205
- },
206
- projectDirectoryUrl,
207
- )
208
- const coverageIgnorePredicate = (url) => {
209
- return !urlToMeta({
210
- url: resolveUrl(url, projectDirectoryUrl),
211
- structuredMetaMap: structuredMetaMapForCover,
212
- }).cover
213
- }
212
+ rootDirectoryUrl,
213
+ ).href
214
214
 
215
215
  if (coverage) {
216
+ const structuredMetaMapForCover = normalizeStructuredMetaMap(
217
+ {
218
+ cover: coverageConfig,
219
+ },
220
+ rootDirectoryUrl,
221
+ )
222
+ const urlShouldBeCovered = (url) => {
223
+ return urlToMeta({
224
+ url: new URL(url, rootDirectoryUrl).href,
225
+ structuredMetaMap: structuredMetaMapForCover,
226
+ }).cover
227
+ }
228
+ runtimeParams.urlShouldBeCovered = urlShouldBeCovered
229
+
216
230
  // in case runned multiple times, we don't want to keep writing lot of files in this directory
217
231
  if (!process.env.NODE_V8_COVERAGE) {
218
232
  await ensureEmptyDirectory(coverageTempDirectoryUrl)
@@ -221,32 +235,29 @@ export const executePlan = async (
221
235
  // v8 coverage is written in a directoy and auto propagate to subprocesses
222
236
  // through process.env.NODE_V8_COVERAGE.
223
237
  if (!coverageForceIstanbul && !process.env.NODE_V8_COVERAGE) {
224
- const v8CoverageDirectory = resolveUrl(
238
+ const v8CoverageDirectory = new URL(
225
239
  `./node_v8/${cuid()}`,
226
240
  coverageTempDirectoryUrl,
227
- )
241
+ ).href
228
242
  await writeDirectory(v8CoverageDirectory, { allowUseless: true })
229
243
  process.env.NODE_V8_COVERAGE =
230
244
  urlToFileSystemPath(v8CoverageDirectory)
231
245
  }
232
246
  }
233
-
234
247
  transformReturnValue = async (value) => {
235
248
  if (multipleExecutionsOperation.signal.aborted) {
236
249
  // don't try to do the coverage stuff
237
250
  return value
238
251
  }
239
-
240
252
  try {
241
253
  value.coverage = await reportToCoverage(value.report, {
242
254
  signal: multipleExecutionsOperation.signal,
243
255
  logger,
244
- projectDirectoryUrl,
245
- babelPluginMap,
256
+ rootDirectoryUrl,
246
257
  coverageConfig,
247
258
  coverageIncludeMissing,
248
259
  coverageForceIstanbul,
249
- coverageIgnorePredicate,
260
+ urlShouldBeCovered,
250
261
  coverageV8ConflictWarning,
251
262
  })
252
263
  } catch (e) {
@@ -261,13 +272,14 @@ export const executePlan = async (
261
272
 
262
273
  logger.info("")
263
274
  let executionLog = createLog({ newLine: "" })
264
- let abortedCount = 0
265
- let timedoutCount = 0
266
- let erroredCount = 0
267
- let completedCount = 0
268
- const stopAfterAllExecutionCallbackList = createCallbackListNotifiedOnce()
269
-
270
- let executionDoneCount = 0
275
+ const counters = {
276
+ total: executionSteps.length,
277
+ aborted: 0,
278
+ timedout: 0,
279
+ errored: 0,
280
+ completed: 0,
281
+ done: 0,
282
+ }
271
283
  await executeInParallel({
272
284
  multipleExecutionsOperation,
273
285
  maxExecutionsInParallel,
@@ -278,22 +290,17 @@ export const executePlan = async (
278
290
  const { executionName, fileRelativeUrl, runtime } = paramsFromStep
279
291
  const runtimeName = runtime.name
280
292
  const runtimeVersion = runtime.version
281
-
282
293
  const executionParams = {
283
- // the params below can be overriden by executionDefaultParams
284
294
  measurePerformance: false,
285
295
  collectPerformance: false,
286
- captureConsole: true,
287
- stopAfterExecute,
288
- stopAfterExecuteReason: "execution-done",
296
+ collectConsole: true,
289
297
  allocatedMs: defaultMsAllocatedPerExecution,
290
298
  ...paramsFromStep,
291
- runtime,
292
- // mirrorConsole: false because file will be executed in parallel
293
- // so log would be a mess to read
294
- mirrorConsole: false,
299
+ runtimeParams: {
300
+ fileRelativeUrl,
301
+ ...paramsFromStep.runtimeParams,
302
+ },
295
303
  }
296
-
297
304
  const beforeExecutionInfo = {
298
305
  fileRelativeUrl,
299
306
  runtimeName,
@@ -301,17 +308,12 @@ export const executePlan = async (
301
308
  executionIndex,
302
309
  executionParams,
303
310
  }
304
-
305
311
  let spinner
306
312
  if (executionSpinner) {
307
313
  spinner = startSpinner({
308
314
  log: executionLog,
309
315
  text: formatExecuting(beforeExecutionInfo, {
310
- executionCount,
311
- abortedCount,
312
- timedoutCount,
313
- erroredCount,
314
- completedCount,
316
+ counters,
315
317
  ...(logMemoryHeapUsage
316
318
  ? { memoryHeap: memoryUsage().heapUsed }
317
319
  : {}),
@@ -320,36 +322,23 @@ export const executePlan = async (
320
322
  }
321
323
  beforeExecutionCallback(beforeExecutionInfo)
322
324
 
323
- const filePath = urlToFileSystemPath(
324
- `${projectDirectoryUrl}${fileRelativeUrl}`,
325
- )
325
+ const fileUrl = `${rootDirectoryUrl}${fileRelativeUrl}`
326
326
  let executionResult
327
- if (existsSync(filePath)) {
328
- executionResult = await launchAndExecute({
327
+ if (existsSync(new URL(fileUrl))) {
328
+ executionResult = await run({
329
329
  signal: multipleExecutionsOperation.signal,
330
- launchAndExecuteLogLevel,
331
-
332
- ...executionParams,
330
+ logger,
331
+ allocatedMs: executionParams.allocatedMs,
332
+ keepRunning,
333
+ mirrorConsole: false, // file are executed in parallel, log would be a mess to read
334
+ collectConsole: executionParams.collectConsole,
333
335
  collectCoverage: coverage,
334
336
  coverageTempDirectoryUrl,
337
+ runtime: executionParams.runtime,
335
338
  runtimeParams: {
336
- projectDirectoryUrl,
337
- compileServerOrigin: compileServer.origin,
338
- compileServerId: compileServer.id,
339
- jsenvDirectoryRelativeUrl:
340
- compileServer.jsenvDirectoryRelativeUrl,
341
-
342
- collectCoverage: coverage,
343
- coverageIgnorePredicate,
344
- coverageForceIstanbul,
345
- stopAfterAllExecutionCallbackList,
339
+ ...runtimeParams,
346
340
  ...executionParams.runtimeParams,
347
341
  },
348
- executeParams: {
349
- fileRelativeUrl,
350
- ...executionParams.executeParams,
351
- },
352
- coverageV8ConflictWarning,
353
342
  })
354
343
  } else {
355
344
  executionResult = {
@@ -359,7 +348,7 @@ export const executePlan = async (
359
348
  ),
360
349
  }
361
350
  }
362
- executionDoneCount++
351
+ counters.done++
363
352
  if (fileRelativeUrl in report === false) {
364
353
  report[fileRelativeUrl] = {}
365
354
  }
@@ -372,13 +361,13 @@ export const executePlan = async (
372
361
  afterExecutionCallback(afterExecutionInfo)
373
362
 
374
363
  if (executionResult.status === "aborted") {
375
- abortedCount++
364
+ counters.aborted++
376
365
  } else if (executionResult.status === "timedout") {
377
- timedoutCount++
366
+ counters.timedout++
378
367
  } else if (executionResult.status === "errored") {
379
- erroredCount++
368
+ counters.errored++
380
369
  } else if (executionResult.status === "completed") {
381
- completedCount++
370
+ counters.completed++
382
371
  }
383
372
  if (gcBetweenExecutions) {
384
373
  global.gc()
@@ -386,11 +375,7 @@ export const executePlan = async (
386
375
  if (executionLogsEnabled) {
387
376
  let log = formatExecutionResult(afterExecutionInfo, {
388
377
  completedExecutionLogAbbreviation,
389
- executionCount,
390
- abortedCount,
391
- timedoutCount,
392
- erroredCount,
393
- completedCount,
378
+ counters,
394
379
  ...(logMemoryHeapUsage
395
380
  ? { memoryHeap: memoryUsage().heapUsed }
396
381
  : {}),
@@ -424,24 +409,21 @@ export const executePlan = async (
424
409
  if (
425
410
  failFast &&
426
411
  executionResult.status !== "completed" &&
427
- executionDoneCount < executionCount
412
+ counters.done < counters.total
428
413
  ) {
429
414
  logger.info(`"failFast" enabled -> cancel remaining executions`)
430
415
  failFastAbortController.abort()
431
416
  }
432
417
  },
433
418
  })
434
-
435
- if (stopAfterExecute) {
436
- stopAfterAllExecutionCallbackList.notify()
419
+ if (!keepRunning) {
420
+ await stopAfterAllSignal.notify()
437
421
  }
438
422
 
439
- const summaryCounts = reportToSummary(report)
423
+ counters.cancelled = counters.total - counters.done
440
424
  const summary = {
441
- executionCount,
442
- ...summaryCounts,
425
+ counters,
443
426
  // when execution is aborted, the remaining executions are "cancelled"
444
- cancelledCount: executionCount - executionDoneCount,
445
427
  duration: Date.now() - startMs,
446
428
  }
447
429
  if (logSummary) {
@@ -449,8 +431,8 @@ export const executePlan = async (
449
431
  rawOutput += stripAnsi(summaryLog)
450
432
  logger.info(summaryLog)
451
433
  }
452
- if (summary.executionCount !== summary.completedCount) {
453
- const logFileUrl = new URL(logFileRelativeUrl, projectDirectoryUrl)
434
+ if (summary.counters.total !== summary.counters.completed) {
435
+ const logFileUrl = new URL(logFileRelativeUrl, rootDirectoryUrl).href
454
436
  writeFile(logFileUrl, rawOutput)
455
437
  logger.info(`-> ${urlToFileSystemPath(logFileUrl)}`)
456
438
  }
@@ -471,21 +453,14 @@ export const executePlan = async (
471
453
 
472
454
  const getExecutionAsSteps = async ({
473
455
  plan,
474
- compileServer,
475
456
  multipleExecutionsOperation,
476
- projectDirectoryUrl,
457
+ rootDirectoryUrl,
477
458
  }) => {
478
459
  try {
479
- const executionSteps = await generateExecutionSteps(
480
- {
481
- ...plan,
482
- [compileServer.jsenvDirectoryRelativeUrl]: null,
483
- },
484
- {
485
- signal: multipleExecutionsOperation.signal,
486
- projectDirectoryUrl,
487
- },
488
- )
460
+ const executionSteps = await generateExecutionSteps(plan, {
461
+ signal: multipleExecutionsOperation.signal,
462
+ rootDirectoryUrl,
463
+ })
489
464
  return executionSteps
490
465
  } catch (e) {
491
466
  if (Abort.isAbortError(e)) {
@@ -570,35 +545,3 @@ const executeInParallel = async ({
570
545
 
571
546
  return executionResults
572
547
  }
573
-
574
- const reportToSummary = (report) => {
575
- const fileNames = Object.keys(report)
576
- const countResultMatching = (predicate) => {
577
- return fileNames.reduce((previous, fileName) => {
578
- const fileExecutionResult = report[fileName]
579
-
580
- return (
581
- previous +
582
- Object.keys(fileExecutionResult).filter((executionName) => {
583
- const fileExecutionResultForRuntime =
584
- fileExecutionResult[executionName]
585
- return predicate(fileExecutionResultForRuntime)
586
- }).length
587
- )
588
- }, 0)
589
- }
590
- const abortedCount = countResultMatching(({ status }) => status === "aborted")
591
- const timedoutCount = countResultMatching(
592
- ({ status }) => status === "timedout",
593
- )
594
- const erroredCount = countResultMatching(({ status }) => status === "errored")
595
- const completedCount = countResultMatching(
596
- ({ status }) => status === "completed",
597
- )
598
- return {
599
- abortedCount,
600
- timedoutCount,
601
- erroredCount,
602
- completedCount,
603
- }
604
- }