@jsenv/core 25.6.2 → 27.0.0-alpha.0

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 (476) hide show
  1. package/main.js +18 -20
  2. package/package.json +38 -73
  3. package/readme.md +32 -44
  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/animation/toolbar.animation.js → 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/focus/toolbar.focus.js → dev/plugins/toolbar/client/focus/toolbar_focus.js} +0 -0
  30. package/src/{internal/dev_server/toolbar/jsenv-logo.svg → dev/plugins/toolbar/client/jsenv_logo.svg} +1 -1
  31. package/src/{internal/dev_server/toolbar/notification/toolbar.notification.js → dev/plugins/toolbar/client/notification/toolbar_notification.js} +0 -0
  32. package/src/{internal/dev_server/toolbar/responsive/overflow-menu.css → dev/plugins/toolbar/client/responsive/overflow_menu.css} +0 -0
  33. package/src/{internal/dev_server/toolbar/responsive/toolbar.responsive.js → 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/settings/toolbar.settings.js → dev/plugins/toolbar/client/settings/toolbar_settings.js} +1 -0
  36. package/src/{internal/dev_server/toolbar/theme/jsenv-theme.css → dev/plugins/toolbar/client/theme/jsenv_theme.css} +1 -15
  37. package/src/{internal/dev_server/toolbar/theme/light-theme.css → dev/plugins/toolbar/client/theme/light_theme.css} +0 -17
  38. package/src/{internal/dev_server/toolbar/theme/toolbar.theme.js → dev/plugins/toolbar/client/theme/toolbar_theme.js} +0 -0
  39. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar.html +42 -201
  40. package/src/{internal/dev_server/toolbar/toolbar.injector.js → dev/plugins/toolbar/client/toolbar_injector.js} +10 -29
  41. package/src/{internal/dev_server/toolbar/toolbar.main.css → dev/plugins/toolbar/client/toolbar_main.css} +2 -26
  42. package/src/{internal/dev_server/toolbar/toolbar.main.js → dev/plugins/toolbar/client/toolbar_main.js} +18 -64
  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/fetchUsingXHR.js → dev/plugins/toolbar/client/util/fetch_using_xhr.js} +0 -2
  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/util/jsenvLogger.js → 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/execute/runtimes/browsers/webkit.js +24 -0
  63. package/src/{internal/node_launcher/createChildProcessOptions.js → execute/runtimes/node/child_exec_options.js} +25 -36
  64. package/src/{internal/node_runtime/nodeControllableFile.mjs → execute/runtimes/node/controllable_file.mjs} +1 -18
  65. package/src/{internal/node_launcher/createControllableNodeProcess.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 +4 -2
  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/compiling/js-compilation-service → omega/core_plugins/babel/babel_helper}/babel_plugin_babel_helpers_as_jsenv_imports.js +16 -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_runtime/displayErrorInDocument.js → omega/core_plugins/html_supervisor/client/error_in_document.js} +10 -18
  176. package/src/{internal/browser_runtime/displayErrorNotification.js → omega/core_plugins/html_supervisor/client/error_in_notification.js} +0 -1
  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 → omega/core_plugins/html_supervisor/client}/perf_browser.js +0 -2
  180. package/src/{internal/unevalException.js → omega/core_plugins/html_supervisor/client/uneval_exception.js} +1 -1
  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 → 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/executePlan.js → test/execute_plan.js} +159 -213
  220. package/src/{executeTestPlan.js → test/execute_test_plan.js} +36 -84
  221. package/src/{internal/executing → test}/execution_colors.js +0 -0
  222. package/src/{internal/executing/generateFileExecutionSteps.js → test/execution_steps.js} +25 -4
  223. package/src/{internal/executing → test}/gc.js +0 -0
  224. package/src/test/logs_file_execution.js +223 -0
  225. package/dist/browser_runtime/asset-manifest.json +0 -4
  226. package/dist/browser_runtime/browser_runtime_c81cd9af.js +0 -5300
  227. package/dist/browser_runtime/browser_runtime_c81cd9af.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_c05fdc30.js.map +0 -343
  231. package/dist/compile_proxy/compile_proxy_93ec4247.html +0 -2247
  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_20421b23.js.map +0 -349
  237. package/dist/redirector/redirector_ddc79416.html +0 -2292
  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_72a60fa3.map +0 -12
  244. package/dist/toolbar/assets/overflow-menu.css_2859d519.map +0 -12
  245. package/dist/toolbar/assets/settings.css_942b5a9e.map +0 -12
  246. package/dist/toolbar/assets/toolbar.main.css_b7d8bec1.map +0 -28
  247. package/dist/toolbar/assets/tooltip.css_a94a8bdd.map +0 -12
  248. package/dist/toolbar/toolbar.main_7d7783d3.js.map +0 -776
  249. package/dist/toolbar/toolbar_d6045dd0.html +0 -4978
  250. package/dist/toolbar_injector/asset-manifest.json +0 -5
  251. package/dist/toolbar_injector/assets/jsenv-logo_188b9ca6.svg +0 -95
  252. package/dist/toolbar_injector/toolbar_injector_c8c214dd.js +0 -977
  253. package/dist/toolbar_injector/toolbar_injector_c8c214dd.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/buildProject.js +0 -336
  257. package/src/commonJsToJavaScriptModule.js +0 -180
  258. package/src/dev_server.js +0 -295
  259. package/src/execute.js +0 -184
  260. package/src/importUsingChildProcess.js +0 -68
  261. package/src/internal/argUtils.js +0 -12
  262. package/src/internal/babel_plugin_replace_expressions.js +0 -101
  263. package/src/internal/browser_detection/browser_detection.js +0 -68
  264. package/src/internal/browser_detection/detectAndroid.js +0 -13
  265. package/src/internal/browser_detection/detectChrome.js +0 -28
  266. package/src/internal/browser_detection/detectEdge.js +0 -13
  267. package/src/internal/browser_detection/detectElectron.js +0 -1
  268. package/src/internal/browser_detection/detectFirefox.js +0 -17
  269. package/src/internal/browser_detection/detectIOS.js +0 -19
  270. package/src/internal/browser_detection/detectInternetExplorer.js +0 -14
  271. package/src/internal/browser_detection/detectOpera.js +0 -27
  272. package/src/internal/browser_detection/detectSafari.js +0 -13
  273. package/src/internal/browser_detection/user_agent_data.js +0 -26
  274. package/src/internal/browser_detection/util.js +0 -13
  275. package/src/internal/browser_launcher/browser_runtime_profile.js +0 -81
  276. package/src/internal/browser_launcher/executeHtmlFile.js +0 -354
  277. package/src/internal/browser_launcher/from_playwright.js +0 -320
  278. package/src/internal/browser_launcher/trackPageToNotify.js +0 -77
  279. package/src/internal/browser_runtime/browser_runtime.js +0 -224
  280. package/src/internal/browser_runtime/browser_system.js +0 -218
  281. package/src/internal/browser_runtime/createBrowserRuntime.js +0 -146
  282. package/src/internal/browser_runtime/evalSource.js +0 -11
  283. package/src/internal/browser_runtime/makeNamespaceTransferable.js +0 -90
  284. package/src/internal/browser_utils/fetchAndEvalUsingFetch.js +0 -29
  285. package/src/internal/browser_utils/fetchAndEvalUsingScript.js +0 -49
  286. package/src/internal/browser_utils/fetchJson.js +0 -7
  287. package/src/internal/browser_utils/fetch_browser.js +0 -34
  288. package/src/internal/building/buildToCompilationResult.js +0 -183
  289. package/src/internal/building/buildUsingRollup.js +0 -359
  290. package/src/internal/building/build_logs.js +0 -133
  291. package/src/internal/building/build_stats.js +0 -100
  292. package/src/internal/building/build_url_generator.js +0 -153
  293. package/src/internal/building/css/applyPostCss.js +0 -55
  294. package/src/internal/building/css/moveCssUrls.js +0 -44
  295. package/src/internal/building/css/parseCssRessource.js +0 -259
  296. package/src/internal/building/css/parseCssUrls.js +0 -38
  297. package/src/internal/building/css/postcss_plugin_url_visitor.js +0 -244
  298. package/src/internal/building/css/replaceCssUrls.js +0 -67
  299. package/src/internal/building/css_module.js +0 -43
  300. package/src/internal/building/es_to_system.js +0 -34
  301. package/src/internal/building/html/htmlScan.js +0 -70
  302. package/src/internal/building/html/minifyHtml.js +0 -7
  303. package/src/internal/building/html/parseHtmlRessource.js +0 -814
  304. package/src/internal/building/import_references.js +0 -80
  305. package/src/internal/building/importmap/parseImportmapRessource.js +0 -28
  306. package/src/internal/building/js/babel_plugin_inline_worker_imports.js +0 -96
  307. package/src/internal/building/js/minifyJs.js +0 -33
  308. package/src/internal/building/js/parseJsRessource.js +0 -121
  309. package/src/internal/building/js/transform_worker.js +0 -55
  310. package/src/internal/building/json/parseJsonRessource.js +0 -11
  311. package/src/internal/building/parseRessource.js +0 -207
  312. package/src/internal/building/parsing.utils.js +0 -29
  313. package/src/internal/building/resolve_import_url_helper.js +0 -12
  314. package/src/internal/building/ressource_builder.js +0 -1097
  315. package/src/internal/building/ressource_builder_util.js +0 -194
  316. package/src/internal/building/rollup_plugin_jsenv.js +0 -1963
  317. package/src/internal/building/sortObjectByPathnames.js +0 -10
  318. package/src/internal/building/sourcemap_loader.js +0 -73
  319. package/src/internal/building/svg/parseSvgRessource.js +0 -111
  320. package/src/internal/building/url_fetcher.js +0 -85
  321. package/src/internal/building/url_loader.js +0 -127
  322. package/src/internal/building/url_trace.js +0 -229
  323. package/src/internal/building/url_versioning.js +0 -65
  324. package/src/internal/building/webmanifest/parseWebmanifestRessource.js +0 -48
  325. package/src/internal/compiling/babel_parse_error.js +0 -9
  326. package/src/internal/compiling/babel_plugin_global_this_as_jsenv_import.js +0 -34
  327. package/src/internal/compiling/babel_plugin_import_assertions.js +0 -120
  328. package/src/internal/compiling/babel_plugin_import_metadata.js +0 -18
  329. package/src/internal/compiling/babel_plugin_import_visitor.js +0 -84
  330. package/src/internal/compiling/babel_plugin_new_stylesheet_as_jsenv_import.js +0 -113
  331. package/src/internal/compiling/babel_plugin_proxy_external_imports.js +0 -31
  332. package/src/internal/compiling/babel_plugin_transform_import_meta.js +0 -134
  333. package/src/internal/compiling/babel_plugins.js +0 -37
  334. package/src/internal/compiling/compileFile.js +0 -271
  335. package/src/internal/compiling/compileHtml.js +0 -544
  336. package/src/internal/compiling/createCompiledFileService.js +0 -263
  337. package/src/internal/compiling/html_source_file_service.js +0 -453
  338. package/src/internal/compiling/js-compilation-service/ansiToHTML.js +0 -9
  339. package/src/internal/compiling/js-compilation-service/babelHelper.js +0 -145
  340. package/src/internal/compiling/js-compilation-service/babel_plugin_regenerator_runtime_as_jsenv_import.js +0 -48
  341. package/src/internal/compiling/js-compilation-service/babel_plugin_systemjs_prepend.js +0 -23
  342. package/src/internal/compiling/js-compilation-service/generateBabelHelper.js +0 -36
  343. package/src/internal/compiling/js-compilation-service/transformJs.js +0 -196
  344. package/src/internal/compiling/jsenvCompilerForHtml.js +0 -674
  345. package/src/internal/compiling/jsenvCompilerForImportmap.js +0 -28
  346. package/src/internal/compiling/jsenvCompilerForJavaScript.js +0 -61
  347. package/src/internal/compiling/jsenv_directory/comparison_utils.js +0 -27
  348. package/src/internal/compiling/jsenv_directory/compile_asset.js +0 -24
  349. package/src/internal/compiling/jsenv_directory/compile_context.js +0 -60
  350. package/src/internal/compiling/jsenv_directory/compile_profile.js +0 -217
  351. package/src/internal/compiling/jsenv_directory/file_lock_registry.js +0 -24
  352. package/src/internal/compiling/jsenv_directory/file_lock_registry.test.js +0 -47
  353. package/src/internal/compiling/jsenv_directory/fs-optimized-for-cache.js +0 -57
  354. package/src/internal/compiling/jsenv_directory/getOrGenerateCompiledFile.js +0 -269
  355. package/src/internal/compiling/jsenv_directory/jsenv_directory.js +0 -174
  356. package/src/internal/compiling/jsenv_directory/updateMeta.js +0 -150
  357. package/src/internal/compiling/jsenv_directory/validateCache.js +0 -264
  358. package/src/internal/compiling/load_babel_plugin_map_from_file.js +0 -49
  359. package/src/internal/compiling/rollup_plugin_commonjs_named_exports.js +0 -187
  360. package/src/internal/compiling/sse_service/sse_service.js +0 -369
  361. package/src/internal/compiling/startCompileServer.js +0 -518
  362. package/src/internal/compiling/transformResultToCompilationResult.js +0 -242
  363. package/src/internal/dataUrl.utils.js +0 -55
  364. package/src/internal/dev_server/event_source_client/event_source_client.js +0 -63
  365. package/src/internal/dev_server/event_source_client/file_changes.js +0 -82
  366. package/src/internal/dev_server/event_source_client/livereload_preference.js +0 -13
  367. package/src/internal/dev_server/exploring/exploring.css +0 -237
  368. package/src/internal/dev_server/exploring/exploring.html +0 -79
  369. package/src/internal/dev_server/exploring/exploring.js +0 -243
  370. package/src/internal/dev_server/exploring/fetchExploringJson.js +0 -19
  371. package/src/internal/dev_server/toolbar/compilation/compilation.css +0 -23
  372. package/src/internal/dev_server/toolbar/compilation/toolbar.compilation.js +0 -201
  373. package/src/internal/dev_server/toolbar/eventsource/toolbar.eventsource.js +0 -83
  374. package/src/internal/dev_server/toolbar/execution/toolbar.execution.js +0 -91
  375. package/src/internal/error-stack-remapping/getOriginalCallsites.js +0 -217
  376. package/src/internal/error-stack-remapping/installBrowserErrorStackRemapping.js +0 -45
  377. package/src/internal/error-stack-remapping/installErrorStackRemapping.js +0 -141
  378. package/src/internal/error-stack-remapping/installNodeErrorStackRemapping.js +0 -20
  379. package/src/internal/error-stack-remapping/remapCallSite.js +0 -314
  380. package/src/internal/error-stack-remapping/stackToString.js +0 -9
  381. package/src/internal/escapeRegexpSpecialCharacters.js +0 -34
  382. package/src/internal/escapeTemplateStringSpecialCharacters.js +0 -20
  383. package/src/internal/executing/coverage/babel_plugin_instrument.js +0 -90
  384. package/src/internal/executing/coverage/reportToCoverage.js +0 -198
  385. package/src/internal/executing/coverage_missing/createEmptyCoverage.js +0 -6
  386. package/src/internal/executing/coverage_missing/list_files_not_covered.js +0 -20
  387. package/src/internal/executing/coverage_missing/missing_coverage.js +0 -46
  388. package/src/internal/executing/coverage_missing/relativeUrlToEmptyCoverage.js +0 -63
  389. package/src/internal/executing/coverage_reporter/coverage_reporter_html_directory.js +0 -36
  390. package/src/internal/executing/coverage_reporter/coverage_reporter_json_file.js +0 -22
  391. package/src/internal/executing/coverage_reporter/coverage_reporter_text_log.js +0 -19
  392. package/src/internal/executing/coverage_reporter/istanbulCoverageMapFromCoverage.js +0 -16
  393. package/src/internal/executing/coverage_utils/file_by_file_coverage.js +0 -28
  394. package/src/internal/executing/coverage_utils/istanbul_coverage_composition.js +0 -28
  395. package/src/internal/executing/coverage_utils/v8_and_istanbul.js +0 -38
  396. package/src/internal/executing/coverage_utils/v8_coverage_composition.js +0 -23
  397. package/src/internal/executing/coverage_utils/v8_coverage_from_directory.js +0 -86
  398. package/src/internal/executing/coverage_utils/v8_coverage_to_istanbul.js +0 -100
  399. package/src/internal/executing/createSummaryLog.js +0 -143
  400. package/src/internal/executing/executionIsPassed.js +0 -2
  401. package/src/internal/executing/executionLogs.js +0 -159
  402. package/src/internal/executing/generateExecutionSteps.js +0 -29
  403. package/src/internal/executing/launchAndExecute.js +0 -458
  404. package/src/internal/features/browser_feature_detection/browser_feature_detect_dynamic_import.js +0 -20
  405. package/src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_css.js +0 -23
  406. package/src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_json.js +0 -25
  407. package/src/internal/features/browser_feature_detection/browser_feature_detect_importmap.js +0 -37
  408. package/src/internal/features/browser_feature_detection/browser_feature_detect_new_stylesheet.js +0 -9
  409. package/src/internal/features/browser_feature_detection/browser_feature_detect_top_level_await.js +0 -14
  410. package/src/internal/features/browser_feature_detection/browser_feature_detection.js +0 -89
  411. package/src/internal/features/browser_feature_detection/compile_proxy.html +0 -27
  412. package/src/internal/features/browser_feature_detection/execute_with_script_module.js +0 -24
  413. package/src/internal/features/features_compat_from_runtime.js +0 -38
  414. package/src/internal/features/features_compat_from_runtime_support.js +0 -31
  415. package/src/internal/features/features_compatibility.js +0 -37
  416. package/src/internal/features/node_feature_detection/feature_detect_dynamic_import.mjs +0 -5
  417. package/src/internal/features/node_feature_detection/feature_detect_top_level_await.mjs +0 -1
  418. package/src/internal/features/node_feature_detection/node_feature_detect_dynamic_import.js +0 -5
  419. package/src/internal/features/node_feature_detection/node_feature_detect_top_level_await.js +0 -16
  420. package/src/internal/features/node_feature_detection/node_feature_detection.js +0 -66
  421. package/src/internal/fetchUrl.js +0 -28
  422. package/src/internal/filePathUtils.js +0 -19
  423. package/src/internal/import-resolution/default-extension.js +0 -40
  424. package/src/internal/import-resolution/import-resolver-importmap.js +0 -64
  425. package/src/internal/import-resolution/import-resolver-node.js +0 -254
  426. package/src/internal/import-resolution/importmap_default.js +0 -37
  427. package/src/internal/jsenvCoreDirectoryUrl.js +0 -11
  428. package/src/internal/jsenvInternalFiles.js +0 -36
  429. package/src/internal/jsenv_builds.js +0 -19
  430. package/src/internal/jsenv_remote_directory.js +0 -156
  431. package/src/internal/logs/byte.js +0 -10
  432. package/src/internal/logs/byteAsFileSize.js +0 -9
  433. package/src/internal/logs/msAsDuration.js +0 -12
  434. package/src/internal/memoize.js +0 -24
  435. package/src/internal/node_launcher/node_runtime_report.js +0 -77
  436. package/src/internal/node_launcher/processOptions.js +0 -46
  437. package/src/internal/node_runtime/evalSource.js +0 -6
  438. package/src/internal/node_runtime/fetchSource.js +0 -8
  439. package/src/internal/node_runtime/node_execution_dynamic_import.js +0 -74
  440. package/src/internal/node_runtime/node_execution_performance.js +0 -67
  441. package/src/internal/node_runtime/node_execution_systemjs.js +0 -125
  442. package/src/internal/node_runtime/node_system.js +0 -191
  443. package/src/internal/origin_directory_converter.js +0 -62
  444. package/src/internal/perf_node.js +0 -13
  445. package/src/internal/promise_race.js +0 -19
  446. package/src/internal/redirector/redirector.html +0 -40
  447. package/src/internal/require.js +0 -3
  448. package/src/internal/response_validation.js +0 -130
  449. package/src/internal/runtime/module-registration.js +0 -207
  450. package/src/internal/runtime/s.js +0 -864
  451. package/src/internal/runtime/s.js.md +0 -1
  452. package/src/internal/runtime/valueInstall.js +0 -14
  453. package/src/internal/runtime_support/jsenv_runtime_support.js +0 -15
  454. package/src/internal/runtime_support/runtime_support.js +0 -70
  455. package/src/internal/semantic_versioning/findHighestVersion.js +0 -12
  456. package/src/internal/semantic_versioning/findLowestVersion.js +0 -12
  457. package/src/internal/semantic_versioning/index.js +0 -5
  458. package/src/internal/semantic_versioning/valueToVersion.js +0 -44
  459. package/src/internal/semantic_versioning/versionCompare.js +0 -32
  460. package/src/internal/semantic_versioning/versionIsAbove.js +0 -5
  461. package/src/internal/semantic_versioning/versionIsBelow.js +0 -5
  462. package/src/internal/semantic_versioning/versionIsEqual.js +0 -3
  463. package/src/internal/sourceMappingURLUtils.js +0 -112
  464. package/src/internal/url_conversion.js +0 -313
  465. package/src/internal/url_utils.js +0 -33
  466. package/src/internal/url_utils.test.js +0 -39
  467. package/src/jsenvCoverageConfig.js +0 -7
  468. package/src/jsenvExplorableConfig.js +0 -9
  469. package/src/jsenvRuntimeSupportDuringDev.js +0 -12
  470. package/src/jsenvServiceWorkerFinalizer.js +0 -55
  471. package/src/jsonToJavaScriptModule.js +0 -12
  472. package/src/launchBrowser.js +0 -43
  473. package/src/launchNode.js +0 -227
  474. package/src/playwright_browser_versions.js +0 -5
  475. package/src/requireUsingChildProcess.js +0 -67
  476. package/src/textToJavaScriptModule.js +0 -14
@@ -3,61 +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 "../compiling/startCompileServer.js"
24
- import { babelPluginInstrument } from "./coverage/babel_plugin_instrument.js"
25
- import { generateExecutionSteps } from "./generateExecutionSteps.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
- import { launchAndExecute } from "../executing/launchAndExecute.js"
28
- import { reportToCoverage } from "./coverage/reportToCoverage.js"
29
- import { formatExecuting, formatExecutionResult } from "./executionLogs.js"
30
- import { createSummaryLog } from "./createSummaryLog.js"
31
30
  import { ensureGlobalGc } from "./gc.js"
31
+ import { generateExecutionSteps } from "./execution_steps.js"
32
+ import {
33
+ formatExecuting,
34
+ formatExecutionResult,
35
+ createSummaryLog,
36
+ } from "./logs_file_execution.js"
32
37
 
33
38
  export const executePlan = async (
34
39
  plan,
35
40
  {
36
41
  signal,
37
42
  handleSIGINT,
38
-
39
43
  logger,
40
- compileServerLogLevel,
41
- launchAndExecuteLogLevel,
42
-
43
- projectDirectoryUrl,
44
- jsenvDirectoryRelativeUrl,
45
- jsenvDirectoryClean,
46
-
47
- importResolutionMethod,
48
- importDefaultExtension,
49
-
50
44
  logSummary,
51
45
  logMemoryHeapUsage,
52
46
  logFileRelativeUrl,
53
47
  completedExecutionLogMerging,
54
48
  completedExecutionLogAbbreviation,
55
49
 
50
+ rootDirectoryUrl,
51
+ keepRunning,
56
52
  defaultMsAllocatedPerExecution,
57
53
  maxExecutionsInParallel,
58
54
  failFast,
59
55
  gcBetweenExecutions,
60
- stopAfterExecute,
61
56
  cooldownBetweenExecutions,
62
57
 
63
58
  coverage,
@@ -67,34 +62,23 @@ export const executePlan = async (
67
62
  coverageV8ConflictWarning,
68
63
  coverageTempDirectoryRelativeUrl,
69
64
 
65
+ plugins = [],
66
+ scenario = "test",
67
+ sourcemaps = "inline",
68
+
70
69
  protocol,
71
70
  privateKey,
72
71
  certificate,
73
72
  ip,
74
73
  port,
75
- compileServerCanReadFromFilesystem,
76
- compileServerCanWriteOnFilesystem,
77
- babelPluginMap,
78
- babelConfigFileUrl,
79
- preservedUrls,
80
- workers,
81
- serviceWorkers,
82
- importMapInWebWorkers,
83
- customCompilers,
84
74
 
85
75
  beforeExecutionCallback = () => {},
86
76
  afterExecutionCallback = () => {},
87
77
  } = {},
88
78
  ) => {
89
- if (coverage) {
90
- babelPluginMap = {
91
- ...babelPluginMap,
92
- "transform-instrument": [
93
- babelPluginInstrument,
94
- { projectDirectoryUrl, coverageConfig },
95
- ],
96
- }
97
- }
79
+ const stopAfterAllSignal = { notify: () => {} }
80
+
81
+ let someNeedsServer = false
98
82
  const runtimes = {}
99
83
  Object.keys(plan).forEach((filePattern) => {
100
84
  const filePlan = plan[filePattern]
@@ -103,6 +87,9 @@ export const executePlan = async (
103
87
  const { runtime } = executionConfig
104
88
  if (runtime) {
105
89
  runtimes[runtime.name] = runtime.version
90
+ if (runtime.needsServer) {
91
+ someNeedsServer = true
92
+ }
106
93
  }
107
94
  })
108
95
  })
@@ -132,84 +119,114 @@ export const executePlan = async (
132
119
  }
133
120
 
134
121
  try {
135
- const compileServer = await startCompileServer({
136
- signal: multipleExecutionsOperation.signal,
137
- logLevel: compileServerLogLevel,
138
-
139
- projectDirectoryUrl,
140
- jsenvDirectoryRelativeUrl,
141
- jsenvDirectoryClean,
142
-
143
- importResolutionMethod,
144
- 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
+ }
145
182
 
146
- protocol,
147
- privateKey,
148
- certificate,
149
- ip,
150
- port,
151
- compileServerCanReadFromFilesystem,
152
- compileServerCanWriteOnFilesystem,
153
- keepProcessAlive: true, // to be sure it stays alive
154
- babelPluginMap,
155
- babelConfigFileUrl,
156
- preservedUrls,
157
- workers,
158
- serviceWorkers,
159
- importMapInWebWorkers,
160
- customCompilers,
161
- })
162
- babelPluginMap = compileServer.babelPluginMap
163
- multipleExecutionsOperation.addEndCallback(async () => {
164
- await compileServer.stop()
165
- })
166
183
  logger.debug(`Generate executions`)
167
184
  const executionSteps = await getExecutionAsSteps({
168
185
  plan,
169
- compileServer,
170
186
  multipleExecutionsOperation,
171
- projectDirectoryUrl,
187
+ rootDirectoryUrl,
172
188
  })
173
189
  logger.debug(`${executionSteps.length} executions planned`)
174
-
175
190
  if (completedExecutionLogMerging && !process.stdout.isTTY) {
176
191
  completedExecutionLogMerging = false
177
192
  logger.debug(
178
193
  `Force completedExecutionLogMerging to false because process.stdout.isTTY is false`,
179
194
  )
180
195
  }
196
+ const debugLogsEnabled = loggerToLevels(logger).debug
181
197
  const executionLogsEnabled = loggerToLevels(logger).info
182
- const executionSpinner = executionLogsEnabled && process.stdout.isTTY
198
+ const executionSpinner =
199
+ !debugLogsEnabled && executionLogsEnabled && process.stdout.isTTY
183
200
 
184
201
  const startMs = Date.now()
185
202
  const report = {}
186
- const executionCount = executionSteps.length
187
203
  let rawOutput = ""
188
204
 
189
205
  let transformReturnValue = (value) => value
190
-
191
206
  if (gcBetweenExecutions) {
192
207
  ensureGlobalGc()
193
208
  }
194
209
 
195
- const coverageTempDirectoryUrl = resolveUrl(
210
+ const coverageTempDirectoryUrl = new URL(
196
211
  coverageTempDirectoryRelativeUrl,
197
- projectDirectoryUrl,
198
- )
199
- const structuredMetaMapForCover = normalizeStructuredMetaMap(
200
- {
201
- cover: coverageConfig,
202
- },
203
- projectDirectoryUrl,
204
- )
205
- const coverageIgnorePredicate = (url) => {
206
- return !urlToMeta({
207
- url: resolveUrl(url, projectDirectoryUrl),
208
- structuredMetaMap: structuredMetaMapForCover,
209
- }).cover
210
- }
212
+ rootDirectoryUrl,
213
+ ).href
211
214
 
212
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
+
213
230
  // in case runned multiple times, we don't want to keep writing lot of files in this directory
214
231
  if (!process.env.NODE_V8_COVERAGE) {
215
232
  await ensureEmptyDirectory(coverageTempDirectoryUrl)
@@ -218,32 +235,29 @@ export const executePlan = async (
218
235
  // v8 coverage is written in a directoy and auto propagate to subprocesses
219
236
  // through process.env.NODE_V8_COVERAGE.
220
237
  if (!coverageForceIstanbul && !process.env.NODE_V8_COVERAGE) {
221
- const v8CoverageDirectory = resolveUrl(
238
+ const v8CoverageDirectory = new URL(
222
239
  `./node_v8/${cuid()}`,
223
240
  coverageTempDirectoryUrl,
224
- )
241
+ ).href
225
242
  await writeDirectory(v8CoverageDirectory, { allowUseless: true })
226
243
  process.env.NODE_V8_COVERAGE =
227
244
  urlToFileSystemPath(v8CoverageDirectory)
228
245
  }
229
246
  }
230
-
231
247
  transformReturnValue = async (value) => {
232
248
  if (multipleExecutionsOperation.signal.aborted) {
233
249
  // don't try to do the coverage stuff
234
250
  return value
235
251
  }
236
-
237
252
  try {
238
253
  value.coverage = await reportToCoverage(value.report, {
239
254
  signal: multipleExecutionsOperation.signal,
240
255
  logger,
241
- projectDirectoryUrl,
242
- babelPluginMap,
256
+ rootDirectoryUrl,
243
257
  coverageConfig,
244
258
  coverageIncludeMissing,
245
259
  coverageForceIstanbul,
246
- coverageIgnorePredicate,
260
+ urlShouldBeCovered,
247
261
  coverageV8ConflictWarning,
248
262
  })
249
263
  } catch (e) {
@@ -258,13 +272,14 @@ export const executePlan = async (
258
272
 
259
273
  logger.info("")
260
274
  let executionLog = createLog({ newLine: "" })
261
- let abortedCount = 0
262
- let timedoutCount = 0
263
- let erroredCount = 0
264
- let completedCount = 0
265
- const stopAfterAllExecutionCallbackList = createCallbackListNotifiedOnce()
266
-
267
- 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
+ }
268
283
  await executeInParallel({
269
284
  multipleExecutionsOperation,
270
285
  maxExecutionsInParallel,
@@ -275,22 +290,17 @@ export const executePlan = async (
275
290
  const { executionName, fileRelativeUrl, runtime } = paramsFromStep
276
291
  const runtimeName = runtime.name
277
292
  const runtimeVersion = runtime.version
278
-
279
293
  const executionParams = {
280
- // the params below can be overriden by executionDefaultParams
281
294
  measurePerformance: false,
282
295
  collectPerformance: false,
283
- captureConsole: true,
284
- stopAfterExecute,
285
- stopAfterExecuteReason: "execution-done",
296
+ collectConsole: true,
286
297
  allocatedMs: defaultMsAllocatedPerExecution,
287
298
  ...paramsFromStep,
288
- runtime,
289
- // mirrorConsole: false because file will be executed in parallel
290
- // so log would be a mess to read
291
- mirrorConsole: false,
299
+ runtimeParams: {
300
+ fileRelativeUrl,
301
+ ...paramsFromStep.runtimeParams,
302
+ },
292
303
  }
293
-
294
304
  const beforeExecutionInfo = {
295
305
  fileRelativeUrl,
296
306
  runtimeName,
@@ -298,17 +308,12 @@ export const executePlan = async (
298
308
  executionIndex,
299
309
  executionParams,
300
310
  }
301
-
302
311
  let spinner
303
312
  if (executionSpinner) {
304
313
  spinner = startSpinner({
305
314
  log: executionLog,
306
315
  text: formatExecuting(beforeExecutionInfo, {
307
- executionCount,
308
- abortedCount,
309
- timedoutCount,
310
- erroredCount,
311
- completedCount,
316
+ counters,
312
317
  ...(logMemoryHeapUsage
313
318
  ? { memoryHeap: memoryUsage().heapUsed }
314
319
  : {}),
@@ -317,36 +322,23 @@ export const executePlan = async (
317
322
  }
318
323
  beforeExecutionCallback(beforeExecutionInfo)
319
324
 
320
- const filePath = urlToFileSystemPath(
321
- `${projectDirectoryUrl}${fileRelativeUrl}`,
322
- )
325
+ const fileUrl = `${rootDirectoryUrl}${fileRelativeUrl}`
323
326
  let executionResult
324
- if (existsSync(filePath)) {
325
- executionResult = await launchAndExecute({
327
+ if (existsSync(new URL(fileUrl))) {
328
+ executionResult = await run({
326
329
  signal: multipleExecutionsOperation.signal,
327
- launchAndExecuteLogLevel,
328
-
329
- ...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,
330
335
  collectCoverage: coverage,
331
336
  coverageTempDirectoryUrl,
337
+ runtime: executionParams.runtime,
332
338
  runtimeParams: {
333
- projectDirectoryUrl,
334
- compileServerOrigin: compileServer.origin,
335
- compileServerId: compileServer.id,
336
- jsenvDirectoryRelativeUrl:
337
- compileServer.jsenvDirectoryRelativeUrl,
338
-
339
- collectCoverage: coverage,
340
- coverageIgnorePredicate,
341
- coverageForceIstanbul,
342
- stopAfterAllExecutionCallbackList,
339
+ ...runtimeParams,
343
340
  ...executionParams.runtimeParams,
344
341
  },
345
- executeParams: {
346
- fileRelativeUrl,
347
- ...executionParams.executeParams,
348
- },
349
- coverageV8ConflictWarning,
350
342
  })
351
343
  } else {
352
344
  executionResult = {
@@ -356,7 +348,7 @@ export const executePlan = async (
356
348
  ),
357
349
  }
358
350
  }
359
- executionDoneCount++
351
+ counters.done++
360
352
  if (fileRelativeUrl in report === false) {
361
353
  report[fileRelativeUrl] = {}
362
354
  }
@@ -369,13 +361,13 @@ export const executePlan = async (
369
361
  afterExecutionCallback(afterExecutionInfo)
370
362
 
371
363
  if (executionResult.status === "aborted") {
372
- abortedCount++
364
+ counters.aborted++
373
365
  } else if (executionResult.status === "timedout") {
374
- timedoutCount++
366
+ counters.timedout++
375
367
  } else if (executionResult.status === "errored") {
376
- erroredCount++
368
+ counters.errored++
377
369
  } else if (executionResult.status === "completed") {
378
- completedCount++
370
+ counters.completed++
379
371
  }
380
372
  if (gcBetweenExecutions) {
381
373
  global.gc()
@@ -383,11 +375,7 @@ export const executePlan = async (
383
375
  if (executionLogsEnabled) {
384
376
  let log = formatExecutionResult(afterExecutionInfo, {
385
377
  completedExecutionLogAbbreviation,
386
- executionCount,
387
- abortedCount,
388
- timedoutCount,
389
- erroredCount,
390
- completedCount,
378
+ counters,
391
379
  ...(logMemoryHeapUsage
392
380
  ? { memoryHeap: memoryUsage().heapUsed }
393
381
  : {}),
@@ -421,24 +409,21 @@ export const executePlan = async (
421
409
  if (
422
410
  failFast &&
423
411
  executionResult.status !== "completed" &&
424
- executionDoneCount < executionCount
412
+ counters.done < counters.total
425
413
  ) {
426
414
  logger.info(`"failFast" enabled -> cancel remaining executions`)
427
415
  failFastAbortController.abort()
428
416
  }
429
417
  },
430
418
  })
431
-
432
- if (stopAfterExecute) {
433
- stopAfterAllExecutionCallbackList.notify()
419
+ if (!keepRunning) {
420
+ await stopAfterAllSignal.notify()
434
421
  }
435
422
 
436
- const summaryCounts = reportToSummary(report)
423
+ counters.cancelled = counters.total - counters.done
437
424
  const summary = {
438
- executionCount,
439
- ...summaryCounts,
425
+ counters,
440
426
  // when execution is aborted, the remaining executions are "cancelled"
441
- cancelledCount: executionCount - executionDoneCount,
442
427
  duration: Date.now() - startMs,
443
428
  }
444
429
  if (logSummary) {
@@ -446,8 +431,8 @@ export const executePlan = async (
446
431
  rawOutput += stripAnsi(summaryLog)
447
432
  logger.info(summaryLog)
448
433
  }
449
- if (summary.executionCount !== summary.completedCount) {
450
- const logFileUrl = new URL(logFileRelativeUrl, projectDirectoryUrl)
434
+ if (summary.counters.total !== summary.counters.completed) {
435
+ const logFileUrl = new URL(logFileRelativeUrl, rootDirectoryUrl).href
451
436
  writeFile(logFileUrl, rawOutput)
452
437
  logger.info(`-> ${urlToFileSystemPath(logFileUrl)}`)
453
438
  }
@@ -468,21 +453,14 @@ export const executePlan = async (
468
453
 
469
454
  const getExecutionAsSteps = async ({
470
455
  plan,
471
- compileServer,
472
456
  multipleExecutionsOperation,
473
- projectDirectoryUrl,
457
+ rootDirectoryUrl,
474
458
  }) => {
475
459
  try {
476
- const executionSteps = await generateExecutionSteps(
477
- {
478
- ...plan,
479
- [compileServer.jsenvDirectoryRelativeUrl]: null,
480
- },
481
- {
482
- signal: multipleExecutionsOperation.signal,
483
- projectDirectoryUrl,
484
- },
485
- )
460
+ const executionSteps = await generateExecutionSteps(plan, {
461
+ signal: multipleExecutionsOperation.signal,
462
+ rootDirectoryUrl,
463
+ })
486
464
  return executionSteps
487
465
  } catch (e) {
488
466
  if (Abort.isAbortError(e)) {
@@ -567,35 +545,3 @@ const executeInParallel = async ({
567
545
 
568
546
  return executionResults
569
547
  }
570
-
571
- const reportToSummary = (report) => {
572
- const fileNames = Object.keys(report)
573
- const countResultMatching = (predicate) => {
574
- return fileNames.reduce((previous, fileName) => {
575
- const fileExecutionResult = report[fileName]
576
-
577
- return (
578
- previous +
579
- Object.keys(fileExecutionResult).filter((executionName) => {
580
- const fileExecutionResultForRuntime =
581
- fileExecutionResult[executionName]
582
- return predicate(fileExecutionResultForRuntime)
583
- }).length
584
- )
585
- }, 0)
586
- }
587
- const abortedCount = countResultMatching(({ status }) => status === "aborted")
588
- const timedoutCount = countResultMatching(
589
- ({ status }) => status === "timedout",
590
- )
591
- const erroredCount = countResultMatching(({ status }) => status === "errored")
592
- const completedCount = countResultMatching(
593
- ({ status }) => status === "completed",
594
- )
595
- return {
596
- abortedCount,
597
- timedoutCount,
598
- erroredCount,
599
- completedCount,
600
- }
601
- }