@jsenv/core 26.0.1 → 27.0.0-alpha.10

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 +867 -0
  5. package/src/build/build_urls_generator.js +73 -0
  6. package/src/build/inject_service_worker_urls.js +25 -0
  7. package/src/build/inject_version_mappings.js +63 -0
  8. package/src/build/plugins/bundle_js_module/jsenv_plugin_bundle_js_module.js +227 -0
  9. package/src/build/plugins/minify_html/jsenv_plugin_minify_html.js +30 -0
  10. package/src/build/plugins/minify_js/jsenv_plugin_minify_js.js +47 -0
  11. package/src/dev/plugins/autoreload/babel_plugin_metadata_import_meta_hot.js +98 -0
  12. package/src/dev/plugins/autoreload/client/autoreload_preference.js +11 -0
  13. package/src/dev/plugins/autoreload/client/event_source_client.js +186 -0
  14. package/src/{internal/dev_server/event_source_client → dev/plugins/autoreload/client}/event_source_connection.js +21 -25
  15. package/src/dev/plugins/autoreload/client/import_meta_hot.js +80 -0
  16. package/src/dev/plugins/autoreload/client/reload.js +101 -0
  17. package/src/dev/plugins/autoreload/client/url_helpers.js +20 -0
  18. package/src/dev/plugins/autoreload/html_hot_dependencies.js +156 -0
  19. package/src/dev/plugins/autoreload/jsenv_plugin_autoreload.js +374 -0
  20. package/src/dev/plugins/autoreload/sse_service.js +149 -0
  21. package/src/dev/plugins/explorer/client/explorer.html +607 -0
  22. package/src/{internal → dev/plugins/explorer/client}/jsenv.png +0 -0
  23. package/src/dev/plugins/explorer/jsenv_plugin_explorer.js +74 -0
  24. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/animation/toolbar_animation.js +0 -0
  25. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/eventsource/eventsource.css +2 -2
  26. package/src/dev/plugins/toolbar/client/eventsource/toolbar_eventsource.js +57 -0
  27. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/execution/execution.css +0 -0
  28. package/src/dev/plugins/toolbar/client/execution/toolbar_execution.js +88 -0
  29. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/focus/focus.css +0 -0
  30. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/focus/toolbar_focus.js +0 -0
  31. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/jsenv_logo.svg +0 -0
  32. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/notification/toolbar_notification.js +0 -0
  33. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/responsive/overflow_menu.css +0 -0
  34. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/responsive/toolbar_responsive.js +0 -0
  35. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/settings/settings.css +0 -0
  36. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/settings/toolbar_settings.js +1 -0
  37. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/theme/jsenv_theme.css +1 -15
  38. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/theme/light_theme.css +0 -17
  39. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/theme/toolbar_theme.js +0 -0
  40. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar.html +40 -199
  41. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar_injector.js +8 -28
  42. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar_main.css +0 -24
  43. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar_main.js +10 -56
  44. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/tooltip/tooltip.css +1 -1
  45. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/tooltip/tooltip.js +0 -0
  46. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/animation.js +0 -0
  47. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/dom.js +0 -0
  48. package/src/{internal/browser_utils → dev/plugins/toolbar/client/util}/fetch_using_xhr.js +0 -0
  49. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/fetching.js +2 -4
  50. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/iframe_to_parent_href.js +0 -0
  51. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/jsenv_logger.js +0 -0
  52. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/preferences.js +0 -0
  53. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/responsive.js +0 -0
  54. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/util.js +0 -0
  55. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/variant/variant.js +0 -0
  56. package/src/dev/plugins/toolbar/jsenv_plugin_toolbar.js +62 -0
  57. package/src/dev/start_dev_server.js +108 -0
  58. package/src/execute/execute.js +138 -0
  59. package/src/execute/run.js +208 -0
  60. package/src/execute/runtimes/browsers/chromium.js +8 -0
  61. package/src/execute/runtimes/browsers/firefox.js +7 -0
  62. package/src/execute/runtimes/browsers/from_playwright.js +464 -0
  63. package/src/{browser_runtimes.js → execute/runtimes/browsers/webkit.js} +4 -18
  64. package/src/{internal/node_launcher/child_process_options.js → execute/runtimes/node/child_exec_options.js} +25 -36
  65. package/src/{internal/node_launcher/node_controllable_file.mjs → execute/runtimes/node/controllable_file.mjs} +1 -18
  66. package/src/{internal/node_launcher/node_controllable_process.js → execute/runtimes/node/controlled_process.js} +128 -150
  67. package/src/execute/runtimes/node/exec_options.js +44 -0
  68. package/src/{internal/node_launcher → execute/runtimes/node}/kill_process_tree.js +3 -1
  69. package/src/execute/runtimes/node/node_process.js +92 -0
  70. package/src/execute/runtimes/node/node_worker_thread.js +28 -0
  71. package/src/omega/core_plugins/babel/global_this/babel_plugin_global_this_as_jsenv_import.js +35 -0
  72. package/{helpers/global-this/global-this.js → src/omega/core_plugins/babel/global_this/client/global_this.js} +0 -0
  73. package/src/{internal/compile_server/js → omega/core_plugins/babel/helpers}/babel_plugin_babel_helpers_as_jsenv_imports.js +15 -20
  74. package/src/omega/core_plugins/babel/helpers/babel_plugin_structure.js +176 -0
  75. package/src/{internal/features → omega/core_plugins/babel/helpers}/babel_plugins_compatibility.js +1 -24
  76. package/src/omega/core_plugins/babel/jsenv_plugin_babel.js +111 -0
  77. package/src/omega/core_plugins/babel/new_stylesheet/babel_plugin_new_stylesheet_as_jsenv_import.js +117 -0
  78. package/{helpers/babel → src/omega/core_plugins/babel/new_stylesheet/client}/.eslintrc.cjs +1 -1
  79. package/{helpers/new_stylesheet → src/omega/core_plugins/babel/new_stylesheet/client}/new_stylesheet.js +0 -0
  80. package/src/omega/core_plugins/babel/regenerator_runtime/babel_plugin_regenerator_runtime_as_jsenv_import.js +34 -0
  81. package/{helpers/regenerator-runtime/regenerator-runtime.js → src/omega/core_plugins/babel/regenerator_runtime/client/regenerator_runtime.js} +0 -0
  82. package/src/omega/core_plugins/commonjs_globals/jsenv_plugin_commonjs_globals.js +169 -0
  83. package/src/omega/core_plugins/file_urls/jsenv_plugin_file_urls.js +67 -0
  84. package/src/omega/core_plugins/filesystem_magic/jsenv_plugin_filesystem_magic.js +58 -0
  85. package/src/{internal/browser_client → omega/core_plugins/html_supervisor/client}/error_in_document.js +10 -16
  86. package/src/{internal/browser_client → omega/core_plugins/html_supervisor/client}/error_in_notification.js +0 -0
  87. package/src/omega/core_plugins/html_supervisor/client/html_supervisor_installer.js +168 -0
  88. package/src/omega/core_plugins/html_supervisor/client/html_supervisor_setup.js +77 -0
  89. package/src/{internal/browser_client → omega/core_plugins/html_supervisor/client}/perf_browser.js +0 -0
  90. package/src/{internal/runtime_client → omega/core_plugins/html_supervisor/client}/uneval_exception.js +0 -0
  91. package/src/omega/core_plugins/html_supervisor/jsenv_plugin_html_supervisor.js +233 -0
  92. package/src/omega/core_plugins/import_assertions/helpers/babel_plugin_metadata_import_assertions.js +98 -0
  93. package/src/{internal/building/import_assertions → omega/core_plugins/import_assertions/helpers}/json_module.js +3 -2
  94. package/src/omega/core_plugins/import_assertions/helpers/text_module.js +6 -0
  95. package/src/omega/core_plugins/import_assertions/jsenv_plugin_import_assertions.js +211 -0
  96. package/src/omega/core_plugins/import_meta_scenarios/jsenv_plugin_import_meta_scenarios.js +90 -0
  97. package/src/omega/core_plugins/importmap/jsenv_plugin_importmap.js +212 -0
  98. package/src/omega/core_plugins/inject_globals/jsenv_plugin_inject_globals.js +27 -0
  99. package/src/omega/core_plugins/inline/client/inline_content.js +6 -0
  100. package/src/omega/core_plugins/inline/jsenv_plugin_data_urls.js +70 -0
  101. package/src/omega/core_plugins/inline/jsenv_plugin_inline.js +13 -0
  102. package/src/omega/core_plugins/inline/jsenv_plugin_inline_query_param.js +42 -0
  103. package/src/omega/core_plugins/inline/jsenv_plugin_js_and_css_inside_html.js +142 -0
  104. package/src/omega/core_plugins/inline/jsenv_plugin_new_inline_content.js +207 -0
  105. package/src/omega/core_plugins/leading_slash/jsenv_plugin_leading_slash.js +12 -0
  106. package/src/omega/core_plugins/node_esm_resolution/jsenv_plugin_node_esm_resolution.js +77 -0
  107. package/src/omega/core_plugins/url_resolution/jsenv_plugin_url_resolution.js +28 -0
  108. package/src/omega/core_plugins/url_version/jsenv_plugin_url_version.js +50 -0
  109. package/src/omega/core_plugins.js +42 -0
  110. package/src/omega/errors.js +168 -0
  111. package/src/omega/file_url_converter.js +21 -0
  112. package/src/omega/kitchen.js +776 -0
  113. package/src/omega/omega_server.js +129 -0
  114. package/src/omega/plugin_controller.js +240 -0
  115. package/src/omega/runtime_support/default_runtime_support.js +13 -0
  116. package/src/omega/runtime_support/features_compatibility.js +130 -0
  117. package/src/omega/runtime_support/runtime_support.js +52 -0
  118. package/src/omega/server/file_service.js +155 -0
  119. package/src/omega/server/user_agent.js +22 -0
  120. package/src/omega/url_graph/url_graph_load.js +69 -0
  121. package/src/omega/url_graph/url_graph_report.js +151 -0
  122. package/src/omega/url_graph/url_graph_sort.js +29 -0
  123. package/src/omega/url_graph/url_info_transformations.js +161 -0
  124. package/src/omega/url_graph.js +133 -0
  125. package/src/omega/url_mentions/css_url_mentions.js +63 -0
  126. package/src/omega/url_mentions/html_url_mentions.js +185 -0
  127. package/src/omega/url_mentions/js_module_url_mentions.js +91 -0
  128. package/src/omega/url_mentions/parse_url_mentions.js +37 -0
  129. package/src/omega/url_mentions/worker_classic_url_mentions.js +37 -0
  130. package/src/{internal/executing → test}/execute_plan.js +156 -211
  131. package/src/{execute_test_plan.js → test/execute_test_plan.js} +36 -81
  132. package/src/{internal/executing → test}/execution_colors.js +0 -0
  133. package/src/{internal/executing → test}/execution_steps.js +2 -8
  134. package/src/{internal/executing → test}/gc.js +0 -0
  135. package/src/test/logs_file_execution.js +223 -0
  136. package/dist/browser_client/asset-manifest.json +0 -4
  137. package/dist/browser_client/browser_client_fb33eaa4.js +0 -5320
  138. package/dist/browser_client/browser_client_fb33eaa4.js.map +0 -1089
  139. package/dist/build_manifest.js +0 -12
  140. package/dist/compile_proxy/asset-manifest.json +0 -4
  141. package/dist/compile_proxy/compile_proxy.html__inline__20_651d1e7b.js.map +0 -343
  142. package/dist/compile_proxy/compile_proxy_62f952c4.html +0 -2245
  143. package/dist/event_source_client/asset-manifest.json +0 -4
  144. package/dist/event_source_client/event_source_client_69f48287.js +0 -354
  145. package/dist/event_source_client/event_source_client_69f48287.js.map +0 -128
  146. package/dist/redirector/asset-manifest.json +0 -4
  147. package/dist/redirector/redirector.html__inline__12_171e07b4.js.map +0 -349
  148. package/dist/redirector/redirector_8117ec92.html +0 -2290
  149. package/dist/toolbar/asset-manifest.json +0 -13
  150. package/dist/toolbar/assets/compilation.css_7421bd55.map +0 -12
  151. package/dist/toolbar/assets/eventsource.css_c0c71e7b.map +0 -12
  152. package/dist/toolbar/assets/execution.css_f3377c10.map +0 -12
  153. package/dist/toolbar/assets/focus.css_896f3e45.map +0 -12
  154. package/dist/toolbar/assets/light_theme.css_5bff0336.map +0 -12
  155. package/dist/toolbar/assets/overflow_menu.css_9a0fc3d8.map +0 -12
  156. package/dist/toolbar/assets/settings.css_942b5a9e.map +0 -12
  157. package/dist/toolbar/assets/toolbar_main.css_b1c67dd7.map +0 -28
  158. package/dist/toolbar/assets/tooltip.css_a94a8bdd.map +0 -12
  159. package/dist/toolbar/toolbar_b0c9100c.html +0 -4976
  160. package/dist/toolbar/toolbar_main_f54c1bb0.js.map +0 -776
  161. package/dist/toolbar_injector/asset-manifest.json +0 -5
  162. package/dist/toolbar_injector/assets/jsenv_logo_192011c2.svg +0 -95
  163. package/dist/toolbar_injector/toolbar_injector_65b501eb.js +0 -976
  164. package/dist/toolbar_injector/toolbar_injector_65b501eb.js.map +0 -294
  165. package/helpers/babel/AsyncGenerator/AsyncGenerator.js +0 -81
  166. package/helpers/babel/AwaitValue/AwaitValue.js +0 -3
  167. package/helpers/babel/applyDecoratorDescriptor/applyDecoratorDescriptor.js +0 -33
  168. package/helpers/babel/arrayLikeToArray/arrayLikeToArray.js +0 -7
  169. package/helpers/babel/arrayWithHoles/arrayWithHoles.js +0 -4
  170. package/helpers/babel/arrayWithoutHoles/arrayWithoutHoles.js +0 -6
  171. package/helpers/babel/assertThisInitialized/assertThisInitialized.js +0 -7
  172. package/helpers/babel/asyncGeneratorDelegate/asyncGeneratorDelegate.js +0 -40
  173. package/helpers/babel/asyncIterator/asyncIterator.js +0 -65
  174. package/helpers/babel/asyncToGenerator/asyncToGenerator.js +0 -34
  175. package/helpers/babel/awaitAsyncGenerator/awaitAsyncGenerator.js +0 -5
  176. package/helpers/babel/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +0 -20
  177. package/helpers/babel/classApplyDescriptorGet/classApplyDescriptorGet.js +0 -6
  178. package/helpers/babel/classApplyDescriptorSet/classApplyDescriptorSet.js +0 -13
  179. package/helpers/babel/classCallCheck/classCallCheck.js +0 -5
  180. package/helpers/babel/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +0 -5
  181. package/helpers/babel/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +0 -6
  182. package/helpers/babel/classExtractFieldDescriptor/classExtractFieldDescriptor.js +0 -7
  183. package/helpers/babel/classNameTDZError/classNameTDZError.js +0 -4
  184. package/helpers/babel/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +0 -7
  185. package/helpers/babel/classPrivateFieldGet/classPrivateFieldGet.js +0 -7
  186. package/helpers/babel/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +0 -6
  187. package/helpers/babel/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +0 -5
  188. package/helpers/babel/classPrivateFieldSet/classPrivateFieldSet.js +0 -8
  189. package/helpers/babel/classPrivateMethodGet/classPrivateMethodGet.js +0 -6
  190. package/helpers/babel/classPrivateMethodSet/classPrivateMethodSet.js +0 -3
  191. package/helpers/babel/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +0 -9
  192. package/helpers/babel/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +0 -15
  193. package/helpers/babel/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +0 -6
  194. package/helpers/babel/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +0 -3
  195. package/helpers/babel/construct/construct.js +0 -16
  196. package/helpers/babel/createClass/createClass.js +0 -15
  197. package/helpers/babel/createForOfIteratorHelper/createForOfIteratorHelper.js +0 -60
  198. package/helpers/babel/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +0 -23
  199. package/helpers/babel/createRawReactElement/createRawReactElement.js +0 -50
  200. package/helpers/babel/createSuper/createSuper.js +0 -22
  201. package/helpers/babel/decorate/decorate.js +0 -403
  202. package/helpers/babel/defaults/defaults.js +0 -11
  203. package/helpers/babel/defineEnumerableProperties/defineEnumerableProperties.js +0 -23
  204. package/helpers/babel/defineProperty/defineProperty.js +0 -18
  205. package/helpers/babel/extends/extends.js +0 -14
  206. package/helpers/babel/get/get.js +0 -19
  207. package/helpers/babel/getPrototypeOf/getPrototypeOf.js +0 -4
  208. package/helpers/babel/inherits/inherits.js +0 -19
  209. package/helpers/babel/inheritsLoose/inheritsLoose.js +0 -7
  210. package/helpers/babel/initializerDefineProperty/initializerDefineProperty.js +0 -10
  211. package/helpers/babel/initializerWarningHelper/initializerWarningHelper.js +0 -6
  212. package/helpers/babel/instanceof/instanceof.js +0 -6
  213. package/helpers/babel/interopRequireDefault/interopRequireDefault.js +0 -3
  214. package/helpers/babel/interopRequireWildcard/interopRequireWildcard.js +0 -37
  215. package/helpers/babel/isNativeFunction/isNativeFunction.js +0 -4
  216. package/helpers/babel/isNativeReflectConstruct/isNativeReflectConstruct.js +0 -21
  217. package/helpers/babel/iterableToArray/iterableToArray.js +0 -7
  218. package/helpers/babel/iterableToArrayLimit/iterableToArrayLimit.js +0 -36
  219. package/helpers/babel/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +0 -10
  220. package/helpers/babel/jsx/jsx.js +0 -50
  221. package/helpers/babel/maybeArrayLike/maybeArrayLike.js +0 -10
  222. package/helpers/babel/newArrowCheck/newArrowCheck.js +0 -5
  223. package/helpers/babel/nonIterableRest/nonIterableRest.js +0 -5
  224. package/helpers/babel/nonIterableSpread/nonIterableSpread.js +0 -5
  225. package/helpers/babel/objectDestructuringEmpty/objectDestructuringEmpty.js +0 -3
  226. package/helpers/babel/objectSpread/objectSpread.js +0 -23
  227. package/helpers/babel/objectSpread2/objectSpread2.js +0 -41
  228. package/helpers/babel/objectWithoutProperties/objectWithoutProperties.js +0 -19
  229. package/helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +0 -13
  230. package/helpers/babel/possibleConstructorReturn/possibleConstructorReturn.js +0 -10
  231. package/helpers/babel/readOnlyError/readOnlyError.js +0 -4
  232. package/helpers/babel/readme.md +0 -8
  233. package/helpers/babel/set/set.js +0 -44
  234. package/helpers/babel/setPrototypeOf/setPrototypeOf.js +0 -6
  235. package/helpers/babel/skipFirstGeneratorNext/skipFirstGeneratorNext.js +0 -8
  236. package/helpers/babel/slicedToArray/slicedToArray.js +0 -10
  237. package/helpers/babel/slicedToArrayLoose/slicedToArrayLoose.js +0 -13
  238. package/helpers/babel/superPropBase/superPropBase.js +0 -10
  239. package/helpers/babel/taggedTemplateLiteral/taggedTemplateLiteral.js +0 -10
  240. package/helpers/babel/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +0 -7
  241. package/helpers/babel/tdz/tdz.js +0 -4
  242. package/helpers/babel/temporalRef/temporalRef.js +0 -6
  243. package/helpers/babel/temporalUndefined/temporalUndefined.js +0 -3
  244. package/helpers/babel/toArray/toArray.js +0 -10
  245. package/helpers/babel/toConsumableArray/toConsumableArray.js +0 -10
  246. package/helpers/babel/toPrimitive/toPrimitive.js +0 -10
  247. package/helpers/babel/toPropertyKey/toPropertyKey.js +0 -6
  248. package/helpers/babel/typeof/typeof.js +0 -14
  249. package/helpers/babel/unsupportedIterableToArray/unsupportedIterableToArray.js +0 -12
  250. package/helpers/babel/wrapAsyncGenerator/wrapAsyncGenerator.js +0 -8
  251. package/helpers/babel/wrapNativeSuper/wrapNativeSuper.js +0 -30
  252. package/helpers/babel/wrapRegExp/wrapRegExp.js +0 -63
  253. package/helpers/babel/writeOnlyError/writeOnlyError.js +0 -4
  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
@@ -4,23 +4,19 @@ import {
4
4
  ensureEmptyDirectory,
5
5
  resolveDirectoryUrl,
6
6
  urlToMeta,
7
- resolveUrl,
7
+ assertAndNormalizeDirectoryUrl,
8
8
  } from "@jsenv/filesystem"
9
9
  import { createLogger, createDetailedMessage } from "@jsenv/logger"
10
10
 
11
- import {
12
- assertProjectDirectoryUrl,
13
- assertProjectDirectoryExists,
14
- } from "@jsenv/core/src/internal/jsenv_params_assertions.js"
15
- import { executePlan } from "./internal/executing/execute_plan.js"
16
- import { generateCoverageJsonFile } from "./internal/coverage/coverage_reporter_json_file.js"
17
- import { generateCoverageHtmlDirectory } from "./internal/coverage/coverage_reporter_html_directory.js"
18
- import { generateCoverageTextLog } from "./internal/coverage/coverage_reporter_text_log.js"
11
+ import { generateCoverageJsonFile } from "@jsenv/utils/coverage/coverage_reporter_json_file.js"
12
+ import { generateCoverageHtmlDirectory } from "@jsenv/utils/coverage/coverage_reporter_html_directory.js"
13
+ import { generateCoverageTextLog } from "@jsenv/utils/coverage/coverage_reporter_text_log.js"
14
+ import { executePlan } from "./execute_plan.js"
19
15
 
20
16
  /**
21
17
  * Execute a list of files and log how it goes
22
18
  * @param {Object} testPlanParameters
23
- * @param {string|url} testPlanParameters.projectDirectoryUrl Root directory of the project
19
+ * @param {string|url} testPlanParameters.rootDirectoryUrl Root directory of the project
24
20
  * @param {Object} testPlanParameters.testPlan Object associating patterns leading to files to runtimes where they should be executed
25
21
  * @param {boolean} [testPlanParameters.completedExecutionLogAbbreviation=false] Abbreviate completed execution information to shorten terminal output
26
22
  * @param {boolean} [testPlanParameters.completedExecutionLogMerging=false] Merge completed execution logs to shorten terminal output
@@ -37,39 +33,30 @@ export const executeTestPlan = async ({
37
33
  signal = new AbortController().signal,
38
34
  handleSIGINT = true,
39
35
  logLevel = "info",
40
- compileServerLogLevel = "warn",
41
- launchAndExecuteLogLevel = "warn",
42
-
43
- projectDirectoryUrl,
44
- jsenvDirectoryRelativeUrl,
45
- importResolutionMethod,
46
- importDefaultExtension,
47
-
48
- testPlan,
49
-
50
36
  logSummary = true,
51
37
  logMemoryHeapUsage = false,
52
38
  logFileRelativeUrl = ".jsenv/test_plan_debug.txt",
53
39
  completedExecutionLogAbbreviation = false,
54
40
  completedExecutionLogMerging = false,
55
- updateProcessExitCode = true,
56
- windowsProcessExitFix = true,
41
+ rootDirectoryUrl,
57
42
 
43
+ testPlan,
44
+ updateProcessExitCode = true,
58
45
  maxExecutionsInParallel = 1,
59
46
  defaultMsAllocatedPerExecution = 30000,
60
47
  failFast = false,
61
- // stopAfterExecute: true to ensure runtime is stopped once executed
48
+ // keepRunning: false to ensure runtime is stopped once executed
62
49
  // because we have what we wants: execution is completed and
63
- // we have associated coverage and capturedConsole
64
- // passsing false means all node process and browsers launched stays opened
50
+ // we have associated coverage and console output
51
+ // passsing true means all node process and browsers launched stays opened
65
52
  // (can eventually be used for debug)
66
- stopAfterExecute = true,
53
+ keepRunning = false,
67
54
  cooldownBetweenExecutions = 0,
68
55
  gcBetweenExecutions = logMemoryHeapUsage,
69
56
 
70
57
  coverage = process.argv.includes("--cover") ||
71
58
  process.argv.includes("--coverage"),
72
- coverageTempDirectoryRelativeUrl = "./coverage/tmp/",
59
+ coverageTempDirectoryRelativeUrl = "./.coverage/tmp/",
73
60
  coverageConfig = {
74
61
  "./index.js": true,
75
62
  "./main.js": true,
@@ -84,34 +71,28 @@ export const executeTestPlan = async ({
84
71
  coverageTextLog = true,
85
72
  coverageJsonFile = Boolean(process.env.CI),
86
73
  coverageJsonFileLog = true,
87
- coverageJsonFileRelativeUrl = "./coverage/coverage.json",
74
+ coverageJsonFileRelativeUrl = "./.coverage/coverage.json",
88
75
  coverageHtmlDirectory = !process.env.CI,
89
- coverageHtmlDirectoryRelativeUrl = "./coverage/",
76
+ coverageHtmlDirectoryRelativeUrl = "./.coverage/",
90
77
  coverageHtmlDirectoryIndexLog = true,
91
78
  // skip empty means empty files won't appear in the coverage reports (log and html)
92
79
  coverageSkipEmpty = false,
93
80
  // skip full means file with 100% coverage won't appear in coverage reports (log and html)
94
81
  coverageSkipFull = false,
95
82
 
83
+ injectedGlobals,
84
+ plugins = [],
85
+ scenario = "test",
86
+ sourcemaps = "inline",
87
+
96
88
  protocol,
97
89
  privateKey,
98
90
  certificate,
99
91
  ip,
100
92
  port,
101
- compileServerCanReadFromFilesystem,
102
- compileServerCanWriteOnFilesystem,
103
- babelPluginMap,
104
- babelConfigFileUrl,
105
- preservedUrls,
106
- workers,
107
- serviceWorkers,
108
- importMapInWebWorkers,
109
- customCompilers,
110
- jsenvDirectoryClean,
111
93
  }) => {
112
94
  const logger = createLogger({ logLevel })
113
- projectDirectoryUrl = assertProjectDirectoryUrl({ projectDirectoryUrl })
114
- await assertProjectDirectoryExists({ projectDirectoryUrl })
95
+ rootDirectoryUrl = assertAndNormalizeDirectoryUrl(rootDirectoryUrl)
115
96
  if (typeof testPlan !== "object") {
116
97
  throw new Error(`testPlan must be an object, got ${testPlan}`)
117
98
  }
@@ -147,10 +128,8 @@ export const executeTestPlan = async ({
147
128
  structuredMetaMap: structuredMetaMapForCover,
148
129
  }).cover
149
130
  })
150
-
151
131
  if (patternsMatchingCoverAndExecute.length) {
152
- // I think it is an error, it would be strange, for a given file
153
- // to be both covered and executed
132
+ // It would be strange, for a given file to be both covered and executed
154
133
  throw new Error(
155
134
  createDetailedMessage(`some file will be both covered and executed`, {
156
135
  patterns: patternsMatchingCoverAndExecute,
@@ -162,28 +141,19 @@ export const executeTestPlan = async ({
162
141
  const result = await executePlan(testPlan, {
163
142
  signal,
164
143
  handleSIGINT,
165
-
166
144
  logger,
167
145
  logLevel,
168
- compileServerLogLevel,
169
- launchAndExecuteLogLevel,
170
-
171
- projectDirectoryUrl,
172
- jsenvDirectoryRelativeUrl,
173
-
174
- importResolutionMethod,
175
- importDefaultExtension,
176
-
177
146
  logSummary,
178
147
  logMemoryHeapUsage,
179
148
  logFileRelativeUrl,
180
149
  completedExecutionLogMerging,
181
150
  completedExecutionLogAbbreviation,
151
+ rootDirectoryUrl,
182
152
 
183
153
  maxExecutionsInParallel,
184
154
  defaultMsAllocatedPerExecution,
185
155
  failFast,
186
- stopAfterExecute,
156
+ keepRunning,
187
157
  cooldownBetweenExecutions,
188
158
  gcBetweenExecutions,
189
159
 
@@ -194,25 +164,20 @@ export const executeTestPlan = async ({
194
164
  coverageV8ConflictWarning,
195
165
  coverageTempDirectoryRelativeUrl,
196
166
 
197
- jsenvDirectoryClean,
167
+ injectedGlobals,
168
+ plugins,
169
+ scenario,
170
+ sourcemaps,
171
+
198
172
  protocol,
199
173
  privateKey,
200
174
  certificate,
201
175
  ip,
202
176
  port,
203
- compileServerCanReadFromFilesystem,
204
- compileServerCanWriteOnFilesystem,
205
- babelPluginMap,
206
- babelConfigFileUrl,
207
- preservedUrls,
208
- workers,
209
- serviceWorkers,
210
- importMapInWebWorkers,
211
- customCompilers,
212
177
  })
213
178
  if (
214
179
  updateProcessExitCode &&
215
- result.planSummary.executionCount !== result.planSummary.completedCount
180
+ result.planSummary.counters.total !== result.planSummary.counters.completed
216
181
  ) {
217
182
  process.exitCode = 1
218
183
  }
@@ -226,7 +191,7 @@ export const executeTestPlan = async ({
226
191
  if (coverage && coverageHtmlDirectory) {
227
192
  const coverageHtmlDirectoryUrl = resolveDirectoryUrl(
228
193
  coverageHtmlDirectoryRelativeUrl,
229
- projectDirectoryUrl,
194
+ rootDirectoryUrl,
230
195
  )
231
196
  await ensureEmptyDirectory(coverageHtmlDirectoryUrl)
232
197
  if (coverageHtmlDirectoryIndexLog) {
@@ -237,16 +202,16 @@ export const executeTestPlan = async ({
237
202
  }
238
203
  promises.push(
239
204
  generateCoverageHtmlDirectory(planCoverage, {
240
- projectDirectoryUrl,
205
+ rootDirectoryUrl,
241
206
  coverageHtmlDirectoryRelativeUrl,
242
207
  }),
243
208
  )
244
209
  }
245
210
  if (coverage && coverageJsonFile) {
246
- const coverageJsonFileUrl = resolveUrl(
211
+ const coverageJsonFileUrl = new URL(
247
212
  coverageJsonFileRelativeUrl,
248
- projectDirectoryUrl,
249
- )
213
+ rootDirectoryUrl,
214
+ ).href
250
215
  promises.push(
251
216
  generateCoverageJsonFile({
252
217
  coverage: result.planCoverage,
@@ -266,16 +231,6 @@ export const executeTestPlan = async ({
266
231
  }
267
232
  await Promise.all(promises)
268
233
  }
269
- // Sometimes on windows test plan scripts never ends
270
- // I suspect it's some node process keeping the process alive
271
- // because not properly killed for some reason.
272
- // (It can be reproduced on @jsenv/importmap-node-module where playwright is not involved)
273
- // The hotfix for now is to manually call process.exit() in on windows
274
- if (process.platform === "win32" && windowsProcessExitFix) {
275
- setTimeout(() => {
276
- process.exit()
277
- }, 2000).unref()
278
- }
279
234
  return {
280
235
  testPlanAborted: result.aborted,
281
236
  testPlanSummary: result.planSummary,
@@ -3,19 +3,17 @@ import { createDetailedMessage } from "@jsenv/logger"
3
3
 
4
4
  export const generateExecutionSteps = async (
5
5
  plan,
6
- { signal, projectDirectoryUrl },
6
+ { signal, rootDirectoryUrl },
7
7
  ) => {
8
8
  const structuredMetaMap = {
9
9
  filePlan: plan,
10
10
  }
11
-
12
11
  const fileResultArray = await collectFiles({
13
12
  signal,
14
- directoryUrl: projectDirectoryUrl,
13
+ directoryUrl: rootDirectoryUrl,
15
14
  structuredMetaMap,
16
15
  predicate: ({ filePlan }) => filePlan,
17
16
  })
18
-
19
17
  const executionSteps = []
20
18
  fileResultArray.forEach(({ relativeUrl, meta }) => {
21
19
  const fileExecutionSteps = generateFileExecutionSteps({
@@ -29,13 +27,11 @@ export const generateExecutionSteps = async (
29
27
 
30
28
  export const generateFileExecutionSteps = ({ fileRelativeUrl, filePlan }) => {
31
29
  const fileExecutionSteps = []
32
-
33
30
  Object.keys(filePlan).forEach((executionName) => {
34
31
  const stepConfig = filePlan[executionName]
35
32
  if (stepConfig === null || stepConfig === undefined) {
36
33
  return
37
34
  }
38
-
39
35
  if (typeof stepConfig !== "object") {
40
36
  throw new TypeError(
41
37
  createDetailedMessage(
@@ -48,13 +44,11 @@ export const generateFileExecutionSteps = ({ fileRelativeUrl, filePlan }) => {
48
44
  ),
49
45
  )
50
46
  }
51
-
52
47
  fileExecutionSteps.push({
53
48
  executionName,
54
49
  fileRelativeUrl,
55
50
  ...stepConfig,
56
51
  })
57
52
  })
58
-
59
53
  return fileExecutionSteps
60
54
  }
File without changes
@@ -0,0 +1,223 @@
1
+ import { ANSI, UNICODE } from "@jsenv/log"
2
+
3
+ import { msAsDuration } from "@jsenv/utils/logs/duration_log.js"
4
+ import { byteAsMemoryUsage } from "@jsenv/utils/logs/size_log.js"
5
+
6
+ import { EXECUTION_COLORS } from "./execution_colors.js"
7
+
8
+ export const formatExecuting = (
9
+ { executionIndex },
10
+ { counters, memoryHeap },
11
+ ) => {
12
+ const description = ANSI.color(
13
+ `executing ${executionIndex + 1} of ${counters.total}`,
14
+ EXECUTION_COLORS.executing,
15
+ )
16
+ const summary =
17
+ executionIndex === 0
18
+ ? ""
19
+ : `(${createIntermediateSummary({
20
+ executionIndex,
21
+ counters,
22
+ memoryHeap,
23
+ })})`
24
+ return formatExecution({
25
+ label: `${description} ${summary}`,
26
+ })
27
+ }
28
+
29
+ export const formatExecutionResult = (
30
+ {
31
+ executionIndex,
32
+ fileRelativeUrl,
33
+ runtimeName,
34
+ runtimeVersion,
35
+ executionParams,
36
+ executionResult,
37
+ },
38
+ { completedExecutionLogAbbreviation, counters, memoryHeap },
39
+ ) => {
40
+ const { status } = executionResult
41
+ const description = descriptionFormatters[status]({
42
+ index: executionIndex,
43
+ total: counters.total,
44
+ executionParams,
45
+ })
46
+ const summary = `(${createIntermediateSummary({
47
+ executionIndex,
48
+ counters,
49
+ memoryHeap,
50
+ })})`
51
+ if (completedExecutionLogAbbreviation && status === "completed") {
52
+ return `${description} ${summary}`
53
+ }
54
+ const { consoleCalls = [], error, duration } = executionResult
55
+ const console = formatConsoleCalls(consoleCalls)
56
+ return formatExecution({
57
+ label: `${description} ${summary}`,
58
+ details: {
59
+ file: fileRelativeUrl,
60
+ runtime: `${runtimeName}/${runtimeVersion}`,
61
+ duration: msAsDuration(duration),
62
+ ...(error ? { error: error.stack } : {}),
63
+ },
64
+ console,
65
+ })
66
+ }
67
+
68
+ export const createSummaryLog = (
69
+ summary,
70
+ ) => `-------------- summary -----------------
71
+ ${createAllExecutionsSummary(summary)}
72
+ total duration: ${msAsDuration(summary.duration)}
73
+ ----------------------------------------`
74
+
75
+ const createAllExecutionsSummary = ({ counters }) => {
76
+ if (counters.total === 0) {
77
+ return `no execution`
78
+ }
79
+ const executionLabel =
80
+ counters.total === 1 ? `1 execution` : `${counters.total} executions`
81
+ return `${executionLabel}: ${createStatusSummary({
82
+ counters,
83
+ })}`
84
+ }
85
+
86
+ const createIntermediateSummary = ({
87
+ executionIndex,
88
+ counters,
89
+ memoryHeap,
90
+ }) => {
91
+ let intermediateSummary = createStatusSummary({
92
+ counters: {
93
+ ...counters,
94
+ total: executionIndex + 1,
95
+ },
96
+ })
97
+ if (memoryHeap) {
98
+ intermediateSummary += ` / memory heap: ${byteAsMemoryUsage(memoryHeap)}`
99
+ }
100
+ return intermediateSummary
101
+ }
102
+
103
+ const createStatusSummary = ({ counters }) => {
104
+ if (counters.aborted === counters.total) {
105
+ return `all ${ANSI.color(`aborted`, EXECUTION_COLORS.aborted)}`
106
+ }
107
+ if (counters.timedout === counters.total) {
108
+ return `all ${ANSI.color(`timed out`, EXECUTION_COLORS.timedout)}`
109
+ }
110
+ if (counters.errored === counters.total) {
111
+ return `all ${ANSI.color(`errored`, EXECUTION_COLORS.errored)}`
112
+ }
113
+ if (counters.completed === counters.total) {
114
+ return `all ${ANSI.color(`completed`, EXECUTION_COLORS.completed)}`
115
+ }
116
+ if (counters.cancelled === counters.total) {
117
+ return `all ${ANSI.color(`cancelled`, EXECUTION_COLORS.cancelled)}`
118
+ }
119
+ return createMixedDetails({
120
+ counters,
121
+ })
122
+ }
123
+
124
+ const createMixedDetails = ({ counters }) => {
125
+ const parts = []
126
+ if (counters.timedout) {
127
+ parts.push(
128
+ `${counters.timedout} ${ANSI.color(
129
+ `timed out`,
130
+ EXECUTION_COLORS.timedout,
131
+ )}`,
132
+ )
133
+ }
134
+ if (counters.errored) {
135
+ parts.push(
136
+ `${counters.errored} ${ANSI.color(`errored`, EXECUTION_COLORS.errored)}`,
137
+ )
138
+ }
139
+ if (counters.completed) {
140
+ parts.push(
141
+ `${counters.completed} ${ANSI.color(
142
+ `completed`,
143
+ EXECUTION_COLORS.completed,
144
+ )}`,
145
+ )
146
+ }
147
+ if (counters.aborted) {
148
+ parts.push(
149
+ `${counters.aborted} ${ANSI.color(`aborted`, EXECUTION_COLORS.aborted)}`,
150
+ )
151
+ }
152
+ if (counters.cancelled) {
153
+ parts.push(
154
+ `${counters.cancelled} ${ANSI.color(
155
+ `cancelled`,
156
+ EXECUTION_COLORS.cancelled,
157
+ )}`,
158
+ )
159
+ }
160
+ return `${parts.join(", ")}`
161
+ }
162
+
163
+ const descriptionFormatters = {
164
+ aborted: ({ index, total }) => {
165
+ return ANSI.color(
166
+ `${UNICODE.FAILURE_RAW} execution ${index + 1} of ${total} aborted`,
167
+ EXECUTION_COLORS.aborted,
168
+ )
169
+ },
170
+ timedout: ({ index, total, executionParams }) => {
171
+ return ANSI.color(
172
+ `${UNICODE.FAILURE_RAW} execution ${
173
+ index + 1
174
+ } of ${total} timeout after ${executionParams.allocatedMs}ms`,
175
+ EXECUTION_COLORS.timedout,
176
+ )
177
+ },
178
+ errored: ({ index, total }) => {
179
+ return ANSI.color(
180
+ `${UNICODE.FAILURE_RAW} execution ${index + 1} of ${total} errored`,
181
+ EXECUTION_COLORS.errored,
182
+ )
183
+ },
184
+ completed: ({ index, total }) => {
185
+ return ANSI.color(
186
+ `${UNICODE.OK_RAW} execution ${index + 1} of ${total} completed`,
187
+ EXECUTION_COLORS.completed,
188
+ )
189
+ },
190
+ cancelled: ({ index, total }) => {
191
+ return ANSI.color(
192
+ `${UNICODE.FAILURE_RAW} execution ${index + 1} of ${total} cancelled`,
193
+ EXECUTION_COLORS.cancelled,
194
+ )
195
+ },
196
+ }
197
+
198
+ const formatConsoleCalls = (consoleCalls) => {
199
+ const consoleOutput = consoleCalls.reduce((previous, { text }) => {
200
+ return `${previous}${text}`
201
+ }, "")
202
+ const consoleOutputTrimmed = consoleOutput.trim()
203
+ if (consoleOutputTrimmed === "") {
204
+ return ""
205
+ }
206
+ return `${ANSI.color(`-------- console --------`, ANSI.GREY)}
207
+ ${consoleOutputTrimmed}
208
+ ${ANSI.color(`-------------------------`, ANSI.GREY)}`
209
+ }
210
+
211
+ const formatExecution = ({ label, details = {}, console }) => {
212
+ let message = ``
213
+ message += label
214
+ Object.keys(details).forEach((key) => {
215
+ message += `
216
+ ${key}: ${details[key]}`
217
+ })
218
+ if (console) {
219
+ message += `
220
+ ${console}`
221
+ }
222
+ return message
223
+ }
@@ -1,4 +0,0 @@
1
- {
2
- "browser_client.js": "browser_client_fb33eaa4.js",
3
- "browser_client.js.map": "browser_client_fb33eaa4.js.map"
4
- }