@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
@@ -1,314 +0,0 @@
1
- import { createDetailedMessage } from "@jsenv/logger"
2
- import {
3
- startsWithWindowsDriveLetter,
4
- windowsFilePathToUrl,
5
- } from "../filePathUtils.js"
6
-
7
- export const remapCallSite = async (
8
- callSite,
9
- { urlToSourcemapConsumer, resolveFile, readErrorStack, onFailure },
10
- ) => {
11
- if (callSite.isNative()) {
12
- return callSite
13
- }
14
-
15
- // Most call sites will return the source file from getFileName(), but code
16
- // passed to eval() ending in "//# sourceURL=..." will return the source file
17
- // from getScriptNameOrSourceURL() instead
18
- const source = callSite.getFileName() || callSite.getScriptNameOrSourceURL()
19
- if (source) {
20
- const line = callSite.getLineNumber()
21
- const column = callSite.getColumnNumber() - 1
22
- const originalPosition = await remapSourcePosition({
23
- source,
24
- line,
25
- column,
26
- resolveFile,
27
- urlToSourcemapConsumer,
28
- readErrorStack,
29
- onFailure,
30
- })
31
-
32
- const callSiteClone = cloneCallSite(callSite)
33
-
34
- callSiteClone.getFunctionName = () =>
35
- originalPosition.name || callSite.getFunctionName()
36
- callSiteClone.getFileName = () => originalPosition.source
37
- callSiteClone.getLineNumber = () => originalPosition.line
38
- callSiteClone.getColumnNumber = () => originalPosition.column + 1
39
- callSiteClone.getScriptNameOrSourceURL = () => originalPosition.source
40
-
41
- return callSiteClone
42
- }
43
-
44
- // Code called using eval() needs special handling
45
- if (callSite.isEval()) {
46
- const origin = callSite.getEvalOrigin()
47
- if (origin) {
48
- const callSiteClone = cloneCallSite(callSite)
49
- const originalEvalOrigin = await remapEvalOrigin(origin, {
50
- resolveFile,
51
- urlToSourcemapConsumer,
52
- readErrorStack,
53
- onFailure,
54
- })
55
- callSiteClone.getEvalOrigin = () => originalEvalOrigin
56
- return callSiteClone
57
- }
58
- return callSite
59
- }
60
-
61
- // If we get here then we were unable to change the source position
62
- return callSite
63
- }
64
-
65
- const cloneCallSite = (callSite) => {
66
- const callSiteClone = {}
67
- methods.forEach((name) => {
68
- callSiteClone[name] = () => callSite[name]()
69
- })
70
- callSiteClone.toString = () => callSiteToFunctionCall(callSiteClone)
71
-
72
- return callSiteClone
73
- }
74
-
75
- const methods = [
76
- "getColumnNumber",
77
- "getEvalOrigin",
78
- "getFileName",
79
- "getFunction",
80
- "getFunctionName",
81
- "getLineNumber",
82
- "getMethodName",
83
- "getPosition",
84
- "getScriptNameOrSourceURL",
85
- "getThis",
86
- "getTypeName",
87
- "isConstructor",
88
- "isEval",
89
- "isNative",
90
- "isToplevel",
91
- "toString",
92
- ]
93
-
94
- const callSiteToFunctionCall = (callSite) => {
95
- const fileLocation = callSiteToFileLocation(callSite)
96
- const isConstructor = callSite.isConstructor()
97
- const isMethodCall = !callSite.isToplevel() && !isConstructor
98
-
99
- if (isMethodCall) {
100
- return `${callSiteToMethodCall(callSite)} (${fileLocation})`
101
- }
102
-
103
- const functionName = callSite.getFunctionName()
104
- if (isConstructor) {
105
- return `new ${functionName || "<anonymous>"} (${fileLocation})`
106
- }
107
-
108
- if (functionName) {
109
- return `${functionName} (${fileLocation})`
110
- }
111
-
112
- return `${fileLocation}`
113
- }
114
-
115
- const callSiteToMethodCall = (callSite) => {
116
- const functionName = callSite.getFunctionName()
117
- const typeName = callSiteToType(callSite)
118
-
119
- if (!functionName) {
120
- return `${typeName}.<anonymous>`
121
- }
122
-
123
- const methodName = callSite.getMethodName()
124
- const as = generateAs({ methodName, functionName })
125
-
126
- if (typeName && !functionName.startsWith(typeName)) {
127
- return `${typeName}.${functionName}${as}`
128
- }
129
-
130
- return `${functionName}${as}`
131
- }
132
-
133
- const generateAs = ({ methodName, functionName }) => {
134
- if (!methodName) return ""
135
- if (
136
- functionName.indexOf(`.${methodName}`) ===
137
- functionName.length - methodName.length - 1
138
- )
139
- return ""
140
- return ` [as ${methodName}]`
141
- }
142
-
143
- const callSiteToType = (callSite) => {
144
- const typeName = callSite.getTypeName()
145
- // Fixes shim to be backward compatible with Node v0 to v4
146
- if (typeName === "[object Object]") {
147
- return "null"
148
- }
149
- return typeName
150
- }
151
-
152
- const callSiteToFileLocation = (callSite) => {
153
- if (callSite.isNative()) return "native"
154
-
155
- const sourceFile = callSiteToSourceFile(callSite)
156
- const lineNumber = callSite.getLineNumber()
157
- if (lineNumber === null) {
158
- return sourceFile
159
- }
160
-
161
- const columnNumber = callSite.getColumnNumber()
162
- if (!columnNumber) {
163
- return `${sourceFile}:${lineNumber}`
164
- }
165
-
166
- return `${sourceFile}:${lineNumber}:${columnNumber}`
167
- }
168
-
169
- const callSiteToSourceFile = (callSite) => {
170
- const fileName = callSite.getScriptNameOrSourceURL()
171
-
172
- if (fileName) {
173
- return fileName
174
- }
175
-
176
- // Source code does not originate from a file and is not native, but we
177
- // can still get the source position inside the source string, e.g. in
178
- // an eval string.
179
- if (callSite.isEval()) {
180
- return `${callSite.getEvalOrigin()}, <anonymous>`
181
- }
182
-
183
- return "<anonymous>"
184
- }
185
-
186
- // Parses code generated by FormatEvalOrigin(), a function inside V8:
187
- // https://code.google.com/p/v8/source/browse/trunk/src/messages.js
188
- const remapEvalOrigin = async (
189
- origin,
190
- { resolveFile, urlToSourcemapConsumer, onFailure },
191
- ) => {
192
- // Most eval() calls are in this format
193
- const topLevelEvalMatch = /^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(
194
- origin,
195
- )
196
- if (topLevelEvalMatch) {
197
- const source = topLevelEvalMatch[2]
198
- const line = Number(topLevelEvalMatch[3])
199
- const column = topLevelEvalMatch[4] - 1
200
- const originalPosition = await remapSourcePosition({
201
- source,
202
- line,
203
- column,
204
- resolveFile,
205
- urlToSourcemapConsumer,
206
- onFailure,
207
- })
208
- return `eval at ${topLevelEvalMatch[1]} (${originalPosition.source}:${
209
- originalPosition.line
210
- }:${originalPosition.column + 1})`
211
- }
212
-
213
- // Parse nested eval() calls using recursion
214
- const nestedEvalMatch = /^eval at ([^(]+) \((.+)\)$/.exec(origin)
215
- if (nestedEvalMatch) {
216
- const originalEvalOrigin = await remapEvalOrigin(nestedEvalMatch[2], {
217
- resolveFile,
218
- urlToSourcemapConsumer,
219
- onFailure,
220
- })
221
- return `eval at ${nestedEvalMatch[1]} (${originalEvalOrigin})`
222
- }
223
-
224
- // Make sure we still return useful information if we didn't find anything
225
- return origin
226
- }
227
-
228
- const remapSourcePosition = async ({
229
- source,
230
- line,
231
- column,
232
- resolveFile,
233
- urlToSourcemapConsumer,
234
- readErrorStack,
235
- onFailure,
236
- }) => {
237
- const position = { source, line, column }
238
-
239
- const url = sourceToUrl(source, { resolveFile })
240
- if (!url) return position
241
-
242
- const sourceMapConsumer = await urlToSourcemapConsumer(url)
243
-
244
- if (!sourceMapConsumer) return position
245
-
246
- try {
247
- const originalPosition = sourceMapConsumer.originalPositionFor(position)
248
-
249
- // Only return the original position if a matching line was found. If no
250
- // matching line is found then we return position instead, which will cause
251
- // the stack trace to print the path and line for the compiled file. It is
252
- // better to give a precise location in the compiled file than a vague
253
- // location in the original file.
254
- const originalSource = originalPosition.source
255
-
256
- if (originalSource === null) return position
257
- originalPosition.source = resolveFile(originalSource, url, {
258
- type: "file-original",
259
- })
260
-
261
- return originalPosition
262
- } catch (e) {
263
- onFailure(
264
- createDetailedMessage(`error while remapping position.`, {
265
- ["error stack"]: readErrorStack(e),
266
- ["source"]: source,
267
- ["line"]: line,
268
- ["column"]: column,
269
- }),
270
- )
271
- return position
272
- }
273
- }
274
-
275
- const sourceToUrl = (source, { resolveFile }) => {
276
- if (startsWithScheme(source)) {
277
- return source
278
- }
279
-
280
- // linux filesystem path
281
- if (source[0] === "/") {
282
- return resolveFile(source)
283
- }
284
-
285
- // be careful, due to babel or something like that we might receive paths like
286
- // C:/directory/file.js (without backslashes we would expect on windows)
287
- // In that case we consider C: is the signe we are on windows
288
- // And I avoid to rely on process.platform === "win32" because this file might be executed in chrome
289
- if (startsWithWindowsDriveLetter(source)) {
290
- return windowsFilePathToUrl(source)
291
- }
292
-
293
- // I don't think we will ever encounter relative file in the stack trace
294
- // but if it ever happens we are safe :)
295
- if (source.slice(0, 2) === "./" || source.slice(0, 3) === "../") {
296
- return resolveFile(source)
297
- }
298
-
299
- // we have received a "bare specifier" for the source
300
- // it happens for internal/process/task_queues.js for instance
301
- // if we do return resolveFile(source) it will be converted to
302
- // file:///C:/project-directory/internal/process/task_queues.js in node
303
- // and
304
- // http://domain.com/internal/process/task_queues.js
305
- // but the file will certainly be a 404
306
- // and if not it won't be the right file anyway
307
- // for now we assume "bare specifier" in the stack trace
308
- // are internal files that are pointless to try to remap
309
- return null
310
- }
311
-
312
- const startsWithScheme = (string) => {
313
- return /^[a-zA-Z]{2,}:/.test(string)
314
- }
@@ -1,9 +0,0 @@
1
- export const stackToString = (stack, { error, indent }) => {
2
- const name = error.name || "Error"
3
- const message = error.message || ""
4
- const stackString = stack
5
- .map((callSite) => `\n${indent}at ${callSite}`)
6
- .join("")
7
-
8
- return `${name}: ${message}${stackString}`
9
- }
@@ -1,34 +0,0 @@
1
- // https://github.com/benjamingr/RegExp.escape/blob/master/polyfill.js
2
-
3
- export const escapeRegexpSpecialCharacters = (string) => {
4
- string = String(string)
5
- let i = 0
6
- let escapedString = ""
7
-
8
- while (i < string.length) {
9
- const char = string[i]
10
- i++
11
- escapedString += isRegExpSpecialChar(char) ? `\\${char}` : char
12
- }
13
- return escapedString
14
- }
15
-
16
- const isRegExpSpecialChar = (char) => regexpSpecialChars.indexOf(char) > -1
17
-
18
- const regexpSpecialChars = [
19
- "/",
20
- "^",
21
- "\\",
22
- "[",
23
- "]",
24
- "(",
25
- ")",
26
- "{",
27
- "}",
28
- "?",
29
- "+",
30
- "*",
31
- ".",
32
- "|",
33
- "$",
34
- ]
@@ -1,20 +0,0 @@
1
- // https://github.com/mgenware/string-to-template-literal/blob/main/src/main.ts#L1
2
-
3
- export const escapeTemplateStringSpecialCharacters = (string) => {
4
- string = String(string)
5
- let i = 0
6
- let escapedString = ""
7
-
8
- while (i < string.length) {
9
- const char = string[i]
10
- i++
11
- escapedString += isTemplateStringSpecialChar(char) ? `\\${char}` : char
12
- }
13
-
14
- return escapedString
15
- }
16
-
17
- const isTemplateStringSpecialChar = (char) =>
18
- templateStringSpecialChars.indexOf(char) > -1
19
-
20
- const templateStringSpecialChars = ["\\", "`", "$"]
@@ -1,90 +0,0 @@
1
- import {
2
- resolveUrl,
3
- normalizeStructuredMetaMap,
4
- urlToMeta,
5
- } from "@jsenv/filesystem"
6
-
7
- import { require } from "../../require.js"
8
-
9
- // https://github.com/istanbuljs/babel-plugin-istanbul/blob/321740f7b25d803f881466ea819d870f7ed6a254/src/index.js
10
-
11
- export const babelPluginInstrument = (api, options) => {
12
- const { programVisitor } = require("istanbul-lib-instrument")
13
-
14
- const { types } = api
15
- const {
16
- useInlineSourceMaps = false,
17
- projectDirectoryUrl,
18
- coverageConfig = { "./**/*": true },
19
- } = options
20
-
21
- const structuredMetaMapForCover = normalizeStructuredMetaMap(
22
- {
23
- cover: coverageConfig,
24
- },
25
- projectDirectoryUrl,
26
- )
27
- const shouldInstrument = (relativeUrl) => {
28
- return urlToMeta({
29
- url: resolveUrl(relativeUrl, projectDirectoryUrl),
30
- structuredMetaMap: structuredMetaMapForCover,
31
- }).cover
32
- }
33
-
34
- return {
35
- name: "transform-instrument",
36
- visitor: {
37
- Program: {
38
- enter(path) {
39
- const { file } = this
40
- const { opts } = file
41
-
42
- const relativeUrl = optionsToRelativeUrl(opts)
43
- if (!relativeUrl) {
44
- console.warn("file without relativeUrl", relativeUrl)
45
- return
46
- }
47
- if (!shouldInstrument(relativeUrl)) return
48
-
49
- this.__dv__ = null
50
-
51
- let inputSourceMap
52
-
53
- if (useInlineSourceMaps) {
54
- // https://github.com/istanbuljs/babel-plugin-istanbul/commit/a9e15643d249a2985e4387e4308022053b2cd0ad#diff-1fdf421c05c1140f6d71444ea2b27638R65
55
- inputSourceMap =
56
- opts.inputSourceMap || file.inputMap
57
- ? file.inputMap.sourcemap
58
- : null
59
- } else {
60
- inputSourceMap = opts.inputSourceMap
61
- }
62
-
63
- this.__dv__ = programVisitor(
64
- types,
65
- opts.filenameRelative || opts.filename,
66
- {
67
- coverageVariable: "__coverage__",
68
- inputSourceMap,
69
- },
70
- )
71
- this.__dv__.enter(path)
72
- },
73
-
74
- exit(path) {
75
- if (!this.__dv__) {
76
- return
77
- }
78
- const object = this.__dv__.exit(path)
79
- // object got two properties: fileCoverage and sourceMappingURL
80
- this.file.metadata.coverage = object.fileCoverage
81
- },
82
- },
83
- },
84
- }
85
- }
86
-
87
- const optionsToRelativeUrl = ({ filenameRelative }) => {
88
- if (filenameRelative) return filenameRelative
89
- return ""
90
- }
@@ -1,198 +0,0 @@
1
- import { readFile } from "@jsenv/filesystem"
2
- import { Abort } from "@jsenv/abort"
3
-
4
- import {
5
- visitNodeV8Directory,
6
- filterV8Coverage,
7
- } from "../coverage_utils/v8_coverage_from_directory.js"
8
- import { composeTwoV8Coverages } from "../coverage_utils/v8_coverage_composition.js"
9
- import { composeTwoFileByFileIstanbulCoverages } from "../coverage_utils/istanbul_coverage_composition.js"
10
- import { v8CoverageToIstanbul } from "../coverage_utils/v8_coverage_to_istanbul.js"
11
- import { composeV8AndIstanbul } from "../coverage_utils/v8_and_istanbul.js"
12
- import { normalizeFileByFileCoveragePaths } from "../coverage_utils/file_by_file_coverage.js"
13
- import { getMissingFileByFileCoverage } from "../coverage_missing/missing_coverage.js"
14
-
15
- export const reportToCoverage = async (
16
- report,
17
- {
18
- signal,
19
- logger,
20
- projectDirectoryUrl,
21
- babelPluginMap,
22
- coverageConfig,
23
- coverageIncludeMissing,
24
- coverageIgnorePredicate,
25
- coverageForceIstanbul,
26
- coverageV8ConflictWarning,
27
- },
28
- ) => {
29
- // collect v8 and istanbul coverage from executions
30
- let { v8Coverage, fileByFileIstanbulCoverage } = await getCoverageFromReport({
31
- signal,
32
- report,
33
- onMissing: ({ file, executionResult, executionName }) => {
34
- // several reasons not to have coverage here:
35
- // 1. the file we executed did not import an instrumented file.
36
- // - a test file without import
37
- // - a test file importing only file excluded from coverage
38
- // - a coverDescription badly configured so that we don't realize
39
- // a file should be covered
40
-
41
- // 2. the file we wanted to executed timedout
42
- // - infinite loop
43
- // - too extensive operation
44
- // - a badly configured or too low allocatedMs for that execution.
45
-
46
- // 3. the file we wanted to execute contains syntax-error
47
-
48
- // in any scenario we are fine because
49
- // coverDescription will generate empty coverage for files
50
- // that were suppose to be coverage but were not.
51
- if (
52
- executionResult.status === "completed" &&
53
- executionResult.runtimeName !== "node" &&
54
- !process.env.NODE_V8_COVERAGE
55
- ) {
56
- logger.warn(
57
- `No execution.coverageFileUrl from execution named "${executionName}" of ${file}`,
58
- )
59
- }
60
- },
61
- })
62
-
63
- if (!coverageForceIstanbul && process.env.NODE_V8_COVERAGE) {
64
- await visitNodeV8Directory({
65
- logger,
66
- signal,
67
- NODE_V8_COVERAGE: process.env.NODE_V8_COVERAGE,
68
- onV8Coverage: (nodeV8Coverage) => {
69
- const nodeV8CoverageLight = filterV8Coverage(nodeV8Coverage, {
70
- coverageIgnorePredicate,
71
- })
72
- v8Coverage = v8Coverage
73
- ? composeTwoV8Coverages(v8Coverage, nodeV8CoverageLight)
74
- : nodeV8CoverageLight
75
- },
76
- })
77
- }
78
-
79
- // try to merge v8 with istanbul, if any
80
- let fileByFileCoverage
81
- if (v8Coverage) {
82
- let v8FileByFileCoverage = await v8CoverageToIstanbul(v8Coverage, {
83
- signal,
84
- })
85
-
86
- v8FileByFileCoverage = normalizeFileByFileCoveragePaths(
87
- v8FileByFileCoverage,
88
- projectDirectoryUrl,
89
- )
90
-
91
- if (fileByFileIstanbulCoverage) {
92
- fileByFileIstanbulCoverage = normalizeFileByFileCoveragePaths(
93
- fileByFileIstanbulCoverage,
94
- projectDirectoryUrl,
95
- )
96
- fileByFileCoverage = composeV8AndIstanbul(
97
- v8FileByFileCoverage,
98
- fileByFileIstanbulCoverage,
99
- { coverageV8ConflictWarning },
100
- )
101
- } else {
102
- fileByFileCoverage = v8FileByFileCoverage
103
- }
104
- }
105
- // get istanbul only
106
- else if (fileByFileIstanbulCoverage) {
107
- fileByFileCoverage = normalizeFileByFileCoveragePaths(
108
- fileByFileIstanbulCoverage,
109
- projectDirectoryUrl,
110
- )
111
- }
112
- // no coverage found in execution (or zero file where executed)
113
- else {
114
- fileByFileCoverage = {}
115
- }
116
-
117
- // now add coverage for file not covered
118
- if (coverageIncludeMissing) {
119
- const missingFileByFileCoverage = await getMissingFileByFileCoverage({
120
- signal,
121
- projectDirectoryUrl,
122
- coverageConfig,
123
- fileByFileCoverage,
124
- babelPluginMap,
125
- })
126
- Object.assign(
127
- fileByFileCoverage,
128
- normalizeFileByFileCoveragePaths(
129
- missingFileByFileCoverage,
130
- projectDirectoryUrl,
131
- ),
132
- )
133
- }
134
-
135
- return fileByFileCoverage
136
- }
137
-
138
- const getCoverageFromReport = async ({ signal, report, onMissing }) => {
139
- const operation = Abort.startOperation()
140
- operation.addAbortSignal(signal)
141
-
142
- try {
143
- let v8Coverage
144
- let fileByFileIstanbulCoverage
145
-
146
- // collect v8 and istanbul coverage from executions
147
- await Object.keys(report).reduce(async (previous, file) => {
148
- operation.throwIfAborted()
149
- await previous
150
-
151
- const executionResultForFile = report[file]
152
- await Object.keys(executionResultForFile).reduce(
153
- async (previous, executionName) => {
154
- operation.throwIfAborted()
155
- await previous
156
-
157
- const executionResultForFileOnRuntime =
158
- executionResultForFile[executionName]
159
- const { coverageFileUrl } = executionResultForFileOnRuntime
160
- if (!coverageFileUrl) {
161
- onMissing({
162
- executionName,
163
- file,
164
- executionResult: executionResultForFileOnRuntime,
165
- })
166
- return
167
- }
168
-
169
- const executionCoverage = await readFile(coverageFileUrl, {
170
- as: "json",
171
- })
172
- if (isV8Coverage(executionCoverage)) {
173
- v8Coverage = v8Coverage
174
- ? composeTwoV8Coverages(v8Coverage, executionCoverage)
175
- : executionCoverage
176
- } else {
177
- fileByFileIstanbulCoverage = fileByFileIstanbulCoverage
178
- ? composeTwoFileByFileIstanbulCoverages(
179
- fileByFileIstanbulCoverage,
180
- executionCoverage,
181
- )
182
- : executionCoverage
183
- }
184
- },
185
- Promise.resolve(),
186
- )
187
- }, Promise.resolve())
188
-
189
- return {
190
- v8Coverage,
191
- fileByFileIstanbulCoverage,
192
- }
193
- } finally {
194
- await operation.end()
195
- }
196
- }
197
-
198
- const isV8Coverage = (coverage) => Boolean(coverage.result)
@@ -1,6 +0,0 @@
1
- import { require } from "../../require.js"
2
-
3
- export const createEmptyCoverage = (relativeUrl) => {
4
- const { createFileCoverage } = require("istanbul-lib-coverage")
5
- return createFileCoverage(relativeUrl).toJSON()
6
- }
@@ -1,20 +0,0 @@
1
- import { collectFiles } from "@jsenv/filesystem"
2
-
3
- export const listRelativeFileUrlToCover = async ({
4
- signal,
5
- projectDirectoryUrl,
6
- coverageConfig,
7
- }) => {
8
- const structuredMetaMapForCoverage = {
9
- cover: coverageConfig,
10
- }
11
-
12
- const matchingFileResultArray = await collectFiles({
13
- signal,
14
- directoryUrl: projectDirectoryUrl,
15
- structuredMetaMap: structuredMetaMapForCoverage,
16
- predicate: ({ cover }) => cover,
17
- })
18
-
19
- return matchingFileResultArray.map(({ relativeUrl }) => relativeUrl)
20
- }