@jsenv/core 26.0.1 → 27.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. package/main.js +17 -24
  2. package/package.json +35 -71
  3. package/readme.md +30 -37
  4. package/src/build/build.js +737 -0
  5. package/src/build/build_urls_generator.js +64 -0
  6. package/src/build/inject_version_mappings.js +62 -0
  7. package/src/build/plugins/bundle_js_module/jsenv_plugin_bundle_js_module.js +225 -0
  8. package/src/build/plugins/minify_html/jsenv_plugin_minify_html.js +30 -0
  9. package/src/build/plugins/minify_js/jsenv_plugin_minify_js.js +47 -0
  10. package/src/dev/plugins/autoreload/babel_plugin_metadata_import_meta_hot.js +98 -0
  11. package/src/dev/plugins/autoreload/client/autoreload_preference.js +11 -0
  12. package/src/dev/plugins/autoreload/client/event_source_client.js +186 -0
  13. package/src/{internal/dev_server/event_source_client → dev/plugins/autoreload/client}/event_source_connection.js +21 -25
  14. package/src/dev/plugins/autoreload/client/import_meta_hot.js +80 -0
  15. package/src/dev/plugins/autoreload/client/reload.js +101 -0
  16. package/src/dev/plugins/autoreload/client/url_helpers.js +20 -0
  17. package/src/dev/plugins/autoreload/html_hot_dependencies.js +156 -0
  18. package/src/dev/plugins/autoreload/jsenv_plugin_autoreload.js +374 -0
  19. package/src/dev/plugins/autoreload/sse_service.js +149 -0
  20. package/src/dev/plugins/explorer/client/explorer.html +607 -0
  21. package/src/{internal → dev/plugins/explorer/client}/jsenv.png +0 -0
  22. package/src/dev/plugins/explorer/jsenv_plugin_explorer.js +74 -0
  23. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/animation/toolbar_animation.js +0 -0
  24. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/eventsource/eventsource.css +2 -2
  25. package/src/dev/plugins/toolbar/client/eventsource/toolbar_eventsource.js +57 -0
  26. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/execution/execution.css +0 -0
  27. package/src/dev/plugins/toolbar/client/execution/toolbar_execution.js +88 -0
  28. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/focus/focus.css +0 -0
  29. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/focus/toolbar_focus.js +0 -0
  30. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/jsenv_logo.svg +0 -0
  31. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/notification/toolbar_notification.js +0 -0
  32. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/responsive/overflow_menu.css +0 -0
  33. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/responsive/toolbar_responsive.js +0 -0
  34. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/settings/settings.css +0 -0
  35. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/settings/toolbar_settings.js +1 -0
  36. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/theme/jsenv_theme.css +1 -15
  37. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/theme/light_theme.css +0 -17
  38. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/theme/toolbar_theme.js +0 -0
  39. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar.html +40 -199
  40. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar_injector.js +8 -28
  41. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar_main.css +0 -24
  42. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/toolbar_main.js +10 -56
  43. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/tooltip/tooltip.css +1 -1
  44. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/tooltip/tooltip.js +0 -0
  45. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/animation.js +0 -0
  46. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/dom.js +0 -0
  47. package/src/{internal/browser_utils → dev/plugins/toolbar/client/util}/fetch_using_xhr.js +0 -0
  48. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/fetching.js +2 -4
  49. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/iframe_to_parent_href.js +0 -0
  50. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/jsenv_logger.js +0 -0
  51. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/preferences.js +0 -0
  52. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/responsive.js +0 -0
  53. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/util/util.js +0 -0
  54. package/src/{internal/dev_server/toolbar → dev/plugins/toolbar/client}/variant/variant.js +0 -0
  55. package/src/dev/plugins/toolbar/jsenv_plugin_toolbar.js +62 -0
  56. package/src/dev/start_dev_server.js +105 -0
  57. package/src/execute/execute.js +132 -0
  58. package/src/execute/run.js +208 -0
  59. package/src/execute/runtimes/browsers/chromium.js +8 -0
  60. package/src/execute/runtimes/browsers/firefox.js +7 -0
  61. package/src/execute/runtimes/browsers/from_playwright.js +464 -0
  62. package/src/{browser_runtimes.js → execute/runtimes/browsers/webkit.js} +4 -18
  63. package/src/{internal/node_launcher/child_process_options.js → execute/runtimes/node/child_exec_options.js} +25 -36
  64. package/src/{internal/node_launcher/node_controllable_file.mjs → execute/runtimes/node/controllable_file.mjs} +1 -18
  65. package/src/{internal/node_launcher/node_controllable_process.js → execute/runtimes/node/controlled_process.js} +128 -150
  66. package/src/execute/runtimes/node/exec_options.js +44 -0
  67. package/src/{internal/node_launcher → execute/runtimes/node}/kill_process_tree.js +3 -1
  68. package/src/execute/runtimes/node/node_process.js +92 -0
  69. package/src/execute/runtimes/node/node_worker_thread.js +28 -0
  70. package/src/omega/core_plugins/babel/babel_helper/babel_helper_directory.js +29 -0
  71. package/src/{internal/compile_server/js → omega/core_plugins/babel/babel_helper}/babel_plugin_babel_helpers_as_jsenv_imports.js +15 -19
  72. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/.eslintrc.cjs +0 -0
  73. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/AsyncGenerator/AsyncGenerator.js +0 -0
  74. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/AwaitValue/AwaitValue.js +0 -0
  75. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/applyDecoratorDescriptor/applyDecoratorDescriptor.js +0 -0
  76. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/arrayLikeToArray/arrayLikeToArray.js +0 -0
  77. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/arrayWithHoles/arrayWithHoles.js +0 -0
  78. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/arrayWithoutHoles/arrayWithoutHoles.js +0 -0
  79. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/assertThisInitialized/assertThisInitialized.js +0 -0
  80. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/asyncGeneratorDelegate/asyncGeneratorDelegate.js +0 -0
  81. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/asyncIterator/asyncIterator.js +0 -0
  82. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/asyncToGenerator/asyncToGenerator.js +0 -0
  83. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/awaitAsyncGenerator/awaitAsyncGenerator.js +0 -0
  84. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classApplyDescriptorDestructureSet/classApplyDescriptorDestructureSet.js +0 -0
  85. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classApplyDescriptorGet/classApplyDescriptorGet.js +0 -0
  86. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classApplyDescriptorSet/classApplyDescriptorSet.js +0 -0
  87. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classCallCheck/classCallCheck.js +0 -0
  88. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classCheckPrivateStaticAccess/classCheckPrivateStaticAccess.js +0 -0
  89. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classCheckPrivateStaticFieldDescriptor/classCheckPrivateStaticFieldDescriptor.js +0 -0
  90. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classExtractFieldDescriptor/classExtractFieldDescriptor.js +0 -0
  91. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classNameTDZError/classNameTDZError.js +0 -0
  92. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldDestructureSet/classPrivateFieldDestructureSet.js +0 -0
  93. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldGet/classPrivateFieldGet.js +0 -0
  94. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldLooseBase/classPrivateFieldLooseBase.js +0 -0
  95. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldLooseKey/classPrivateFieldLooseKey.js +0 -0
  96. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateFieldSet/classPrivateFieldSet.js +0 -0
  97. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateMethodGet/classPrivateMethodGet.js +0 -0
  98. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classPrivateMethodSet/classPrivateMethodSet.js +0 -0
  99. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classStaticPrivateFieldSpecGet/classStaticPrivateFieldSpecGet.js +0 -0
  100. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classStaticPrivateFieldSpecSet/classStaticPrivateFieldSpecSet.js +0 -0
  101. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classStaticPrivateMethodGet/classStaticPrivateMethodGet.js +0 -0
  102. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/classStaticPrivateMethodSet/classStaticPrivateMethodSet.js +0 -0
  103. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/construct/construct.js +0 -0
  104. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createClass/createClass.js +0 -0
  105. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createForOfIteratorHelper/createForOfIteratorHelper.js +0 -0
  106. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createForOfIteratorHelperLoose/createForOfIteratorHelperLoose.js +0 -0
  107. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createRawReactElement/createRawReactElement.js +0 -0
  108. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/createSuper/createSuper.js +0 -0
  109. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/decorate/decorate.js +0 -0
  110. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/defaults/defaults.js +0 -0
  111. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/defineEnumerableProperties/defineEnumerableProperties.js +0 -0
  112. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/defineProperty/defineProperty.js +0 -0
  113. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/extends/extends.js +0 -0
  114. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/get/get.js +0 -0
  115. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/getPrototypeOf/getPrototypeOf.js +0 -0
  116. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/inherits/inherits.js +0 -0
  117. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/inheritsLoose/inheritsLoose.js +0 -0
  118. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/initializerDefineProperty/initializerDefineProperty.js +0 -0
  119. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/initializerWarningHelper/initializerWarningHelper.js +0 -0
  120. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/instanceof/instanceof.js +0 -0
  121. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/interopRequireDefault/interopRequireDefault.js +0 -0
  122. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/interopRequireWildcard/interopRequireWildcard.js +0 -0
  123. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/isNativeFunction/isNativeFunction.js +0 -0
  124. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/isNativeReflectConstruct/isNativeReflectConstruct.js +0 -0
  125. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/iterableToArray/iterableToArray.js +0 -0
  126. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/iterableToArrayLimit/iterableToArrayLimit.js +0 -0
  127. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/iterableToArrayLimitLoose/iterableToArrayLimitLoose.js +0 -0
  128. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/jsx/jsx.js +0 -0
  129. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/maybeArrayLike/maybeArrayLike.js +0 -0
  130. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/newArrowCheck/newArrowCheck.js +0 -0
  131. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/nonIterableRest/nonIterableRest.js +0 -0
  132. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/nonIterableSpread/nonIterableSpread.js +0 -0
  133. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectDestructuringEmpty/objectDestructuringEmpty.js +0 -0
  134. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectSpread/objectSpread.js +0 -0
  135. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectSpread2/objectSpread2.js +0 -0
  136. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectWithoutProperties/objectWithoutProperties.js +0 -0
  137. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js +0 -0
  138. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/possibleConstructorReturn/possibleConstructorReturn.js +0 -0
  139. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/readOnlyError/readOnlyError.js +0 -0
  140. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/readme.md +0 -0
  141. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/set/set.js +0 -0
  142. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/setPrototypeOf/setPrototypeOf.js +0 -0
  143. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/skipFirstGeneratorNext/skipFirstGeneratorNext.js +0 -0
  144. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/slicedToArray/slicedToArray.js +0 -0
  145. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/slicedToArrayLoose/slicedToArrayLoose.js +0 -0
  146. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/superPropBase/superPropBase.js +0 -0
  147. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/taggedTemplateLiteral/taggedTemplateLiteral.js +0 -0
  148. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/taggedTemplateLiteralLoose/taggedTemplateLiteralLoose.js +0 -0
  149. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/tdz/tdz.js +0 -0
  150. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/temporalRef/temporalRef.js +0 -0
  151. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/temporalUndefined/temporalUndefined.js +0 -0
  152. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/toArray/toArray.js +0 -0
  153. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/toConsumableArray/toConsumableArray.js +0 -0
  154. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/toPrimitive/toPrimitive.js +0 -0
  155. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/toPropertyKey/toPropertyKey.js +0 -0
  156. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/typeof/typeof.js +0 -0
  157. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/unsupportedIterableToArray/unsupportedIterableToArray.js +0 -0
  158. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/wrapAsyncGenerator/wrapAsyncGenerator.js +0 -0
  159. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/wrapNativeSuper/wrapNativeSuper.js +0 -0
  160. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/wrapRegExp/wrapRegExp.js +0 -0
  161. package/{helpers/babel → src/omega/core_plugins/babel/babel_helper/client}/writeOnlyError/writeOnlyError.js +0 -0
  162. package/src/omega/core_plugins/babel/global_this/babel_plugin_global_this_as_jsenv_import.js +35 -0
  163. package/{helpers/global-this/global-this.js → src/omega/core_plugins/babel/global_this/client/global_this.js} +0 -0
  164. package/src/omega/core_plugins/babel/helpers/babel_plugin_structure.js +187 -0
  165. package/src/{internal/features → omega/core_plugins/babel/helpers}/babel_plugins_compatibility.js +1 -24
  166. package/src/omega/core_plugins/babel/jsenv_plugin_babel.js +97 -0
  167. package/src/omega/core_plugins/babel/new_stylesheet/babel_plugin_new_stylesheet_as_jsenv_import.js +117 -0
  168. package/src/omega/core_plugins/babel/new_stylesheet/client/.eslintrc.cjs +24 -0
  169. package/{helpers/new_stylesheet → src/omega/core_plugins/babel/new_stylesheet/client}/new_stylesheet.js +0 -0
  170. package/src/omega/core_plugins/babel/regenerator_runtime/babel_plugin_regenerator_runtime_as_jsenv_import.js +34 -0
  171. package/{helpers/regenerator-runtime/regenerator-runtime.js → src/omega/core_plugins/babel/regenerator_runtime/client/regenerator_runtime.js} +0 -0
  172. package/src/omega/core_plugins/commonjs_globals/jsenv_plugin_commonjs_globals.js +169 -0
  173. package/src/omega/core_plugins/file_urls/jsenv_plugin_file_urls.js +67 -0
  174. package/src/omega/core_plugins/filesystem_magic/jsenv_plugin_filesystem_magic.js +58 -0
  175. package/src/{internal/browser_client → omega/core_plugins/html_supervisor/client}/error_in_document.js +10 -16
  176. package/src/{internal/browser_client → omega/core_plugins/html_supervisor/client}/error_in_notification.js +0 -0
  177. package/src/omega/core_plugins/html_supervisor/client/html_supervisor_installer.js +168 -0
  178. package/src/omega/core_plugins/html_supervisor/client/html_supervisor_setup.js +77 -0
  179. package/src/{internal/browser_client → omega/core_plugins/html_supervisor/client}/perf_browser.js +0 -0
  180. package/src/{internal/runtime_client → omega/core_plugins/html_supervisor/client}/uneval_exception.js +0 -0
  181. package/src/omega/core_plugins/html_supervisor/jsenv_plugin_html_supervisor.js +233 -0
  182. package/src/omega/core_plugins/import_assertions/helpers/babel_plugin_metadata_import_assertions.js +98 -0
  183. package/src/{internal/building/import_assertions → omega/core_plugins/import_assertions/helpers}/json_module.js +3 -2
  184. package/src/omega/core_plugins/import_assertions/helpers/text_module.js +6 -0
  185. package/src/omega/core_plugins/import_assertions/jsenv_plugin_import_assertions.js +211 -0
  186. package/src/omega/core_plugins/import_meta_scenarios/jsenv_plugin_import_meta_scenarios.js +80 -0
  187. package/src/omega/core_plugins/importmap/jsenv_plugin_importmap.js +212 -0
  188. package/src/omega/core_plugins/inline/client/inline_content.js +6 -0
  189. package/src/omega/core_plugins/inline/jsenv_plugin_data_urls.js +70 -0
  190. package/src/omega/core_plugins/inline/jsenv_plugin_inline.js +13 -0
  191. package/src/omega/core_plugins/inline/jsenv_plugin_inline_query_param.js +42 -0
  192. package/src/omega/core_plugins/inline/jsenv_plugin_js_and_css_inside_html.js +142 -0
  193. package/src/omega/core_plugins/inline/jsenv_plugin_new_inline_content.js +210 -0
  194. package/src/omega/core_plugins/leading_slash/jsenv_plugin_leading_slash.js +12 -0
  195. package/src/omega/core_plugins/node_esm_resolution/jsenv_plugin_node_esm_resolution.js +77 -0
  196. package/src/omega/core_plugins/url_resolution/jsenv_plugin_url_resolution.js +28 -0
  197. package/src/omega/core_plugins/url_version/jsenv_plugin_url_version.js +50 -0
  198. package/src/omega/core_plugins.js +39 -0
  199. package/src/omega/errors.js +168 -0
  200. package/src/omega/file_url_converter.js +63 -0
  201. package/src/omega/kitchen.js +777 -0
  202. package/src/omega/omega_server.js +129 -0
  203. package/src/omega/plugin_controller.js +240 -0
  204. package/src/omega/runtime_support/default_runtime_support.js +13 -0
  205. package/src/omega/runtime_support/features_compatibility.js +91 -0
  206. package/src/omega/runtime_support/runtime_support.js +20 -0
  207. package/src/omega/server/file_service.js +155 -0
  208. package/src/omega/server/user_agent.js +22 -0
  209. package/src/omega/url_graph/url_graph_load.js +68 -0
  210. package/src/omega/url_graph/url_graph_report.js +151 -0
  211. package/src/omega/url_graph/url_graph_sort.js +29 -0
  212. package/src/omega/url_graph/url_info_transformations.js +161 -0
  213. package/src/omega/url_graph.js +132 -0
  214. package/src/omega/url_mentions/css_url_mentions.js +63 -0
  215. package/src/omega/url_mentions/html_url_mentions.js +185 -0
  216. package/src/omega/url_mentions/js_module_url_mentions.js +91 -0
  217. package/src/omega/url_mentions/parse_url_mentions.js +37 -0
  218. package/src/omega/url_mentions/worker_classic_url_mentions.js +37 -0
  219. package/src/{internal/executing → test}/execute_plan.js +154 -211
  220. package/src/{execute_test_plan.js → test/execute_test_plan.js} +26 -81
  221. package/src/{internal/executing → test}/execution_colors.js +0 -0
  222. package/src/{internal/executing → test}/execution_steps.js +2 -8
  223. package/src/{internal/executing → test}/gc.js +0 -0
  224. package/src/test/logs_file_execution.js +223 -0
  225. package/dist/browser_client/asset-manifest.json +0 -4
  226. package/dist/browser_client/browser_client_fb33eaa4.js +0 -5320
  227. package/dist/browser_client/browser_client_fb33eaa4.js.map +0 -1089
  228. package/dist/build_manifest.js +0 -12
  229. package/dist/compile_proxy/asset-manifest.json +0 -4
  230. package/dist/compile_proxy/compile_proxy.html__inline__20_651d1e7b.js.map +0 -343
  231. package/dist/compile_proxy/compile_proxy_62f952c4.html +0 -2245
  232. package/dist/event_source_client/asset-manifest.json +0 -4
  233. package/dist/event_source_client/event_source_client_69f48287.js +0 -354
  234. package/dist/event_source_client/event_source_client_69f48287.js.map +0 -128
  235. package/dist/redirector/asset-manifest.json +0 -4
  236. package/dist/redirector/redirector.html__inline__12_171e07b4.js.map +0 -349
  237. package/dist/redirector/redirector_8117ec92.html +0 -2290
  238. package/dist/toolbar/asset-manifest.json +0 -13
  239. package/dist/toolbar/assets/compilation.css_7421bd55.map +0 -12
  240. package/dist/toolbar/assets/eventsource.css_c0c71e7b.map +0 -12
  241. package/dist/toolbar/assets/execution.css_f3377c10.map +0 -12
  242. package/dist/toolbar/assets/focus.css_896f3e45.map +0 -12
  243. package/dist/toolbar/assets/light_theme.css_5bff0336.map +0 -12
  244. package/dist/toolbar/assets/overflow_menu.css_9a0fc3d8.map +0 -12
  245. package/dist/toolbar/assets/settings.css_942b5a9e.map +0 -12
  246. package/dist/toolbar/assets/toolbar_main.css_b1c67dd7.map +0 -28
  247. package/dist/toolbar/assets/tooltip.css_a94a8bdd.map +0 -12
  248. package/dist/toolbar/toolbar_b0c9100c.html +0 -4976
  249. package/dist/toolbar/toolbar_main_f54c1bb0.js.map +0 -776
  250. package/dist/toolbar_injector/asset-manifest.json +0 -5
  251. package/dist/toolbar_injector/assets/jsenv_logo_192011c2.svg +0 -95
  252. package/dist/toolbar_injector/toolbar_injector_65b501eb.js +0 -976
  253. package/dist/toolbar_injector/toolbar_injector_65b501eb.js.map +0 -294
  254. package/helpers/import-meta/import-meta-url-commonjs.js +0 -9
  255. package/helpers/import-meta/import-meta-url-global.js +0 -54
  256. package/src/build_project.js +0 -336
  257. package/src/commonjs_to_js_module.js +0 -180
  258. package/src/dev_server.js +0 -302
  259. package/src/execute.js +0 -184
  260. package/src/import_using_child_process.js +0 -68
  261. package/src/internal/browser_client/browser_client.js +0 -220
  262. package/src/internal/browser_client/browser_client_factory.js +0 -144
  263. package/src/internal/browser_client/browser_error_stack_remap.js +0 -43
  264. package/src/internal/browser_client/browser_system.js +0 -216
  265. package/src/internal/browser_client/module_namespace_transfer.js +0 -90
  266. package/src/internal/browser_detection/browser_detection.js +0 -65
  267. package/src/internal/browser_detection/detect_android.js +0 -13
  268. package/src/internal/browser_detection/detect_chrome.js +0 -28
  269. package/src/internal/browser_detection/detect_edge.js +0 -13
  270. package/src/internal/browser_detection/detect_electron.js +0 -1
  271. package/src/internal/browser_detection/detect_firefox.js +0 -17
  272. package/src/internal/browser_detection/detect_internet_explorer.js +0 -14
  273. package/src/internal/browser_detection/detect_ios.js +0 -19
  274. package/src/internal/browser_detection/detect_opera.js +0 -27
  275. package/src/internal/browser_detection/detect_safari.js +0 -13
  276. package/src/internal/browser_detection/user_agent_data.js +0 -25
  277. package/src/internal/browser_detection/util.js +0 -13
  278. package/src/internal/browser_launcher/browser_runtime_profile.js +0 -81
  279. package/src/internal/browser_launcher/execute_html_file.js +0 -355
  280. package/src/internal/browser_launcher/from_playwright.js +0 -320
  281. package/src/internal/browser_launcher/page_errors_and_logs.js +0 -77
  282. package/src/internal/browser_utils/fetch_and_eval.js +0 -27
  283. package/src/internal/browser_utils/fetch_and_eval_using_script.js +0 -47
  284. package/src/internal/browser_utils/fetch_browser.js +0 -34
  285. package/src/internal/browser_utils/fetch_json.js +0 -7
  286. package/src/internal/building/build_logs.js +0 -134
  287. package/src/internal/building/build_stats.js +0 -100
  288. package/src/internal/building/build_url_generator.js +0 -153
  289. package/src/internal/building/build_using_rollup.js +0 -359
  290. package/src/internal/building/css/apply_post_css.js +0 -55
  291. package/src/internal/building/css/jsenv_parse_css.js +0 -260
  292. package/src/internal/building/css/move_css_urls.js +0 -44
  293. package/src/internal/building/css/parse_css_urls.js +0 -38
  294. package/src/internal/building/css/postcss_plugin_url_visitor.js +0 -245
  295. package/src/internal/building/css/replace_css_urls.js +0 -68
  296. package/src/internal/building/global_format/es_to_system.js +0 -34
  297. package/src/internal/building/html/html_node_mutations.js +0 -29
  298. package/src/internal/building/html/html_scan.js +0 -70
  299. package/src/internal/building/html/jsenv_parse_html.js +0 -813
  300. package/src/internal/building/html/minify_html.js +0 -7
  301. package/src/internal/building/import_assertions/css_module.js +0 -43
  302. package/src/internal/building/import_references.js +0 -80
  303. package/src/internal/building/importmap/jsenv_parse_importmap.js +0 -28
  304. package/src/internal/building/js/babel_plugin_inline_worker_imports.js +0 -96
  305. package/src/internal/building/js/jsenv_parse_js.js +0 -122
  306. package/src/internal/building/js/minify_js.js +0 -33
  307. package/src/internal/building/js/transform_worker.js +0 -55
  308. package/src/internal/building/json/jsenv_parse_json.js +0 -11
  309. package/src/internal/building/parse_ressource.js +0 -207
  310. package/src/internal/building/ressource_builder.js +0 -1098
  311. package/src/internal/building/ressource_builder_util.js +0 -194
  312. package/src/internal/building/rollup_plugin_jsenv.js +0 -1965
  313. package/src/internal/building/sort_pathnames.js +0 -10
  314. package/src/internal/building/sourcemap/sourcemap_loader.js +0 -70
  315. package/src/internal/building/svg/jsenv_parse_svg.js +0 -112
  316. package/src/internal/building/url_fetcher.js +0 -85
  317. package/src/internal/building/url_loader.js +0 -127
  318. package/src/internal/building/url_trace.js +0 -229
  319. package/src/internal/building/url_versioning/resolve_import_url_helper.js +0 -12
  320. package/src/internal/building/url_versioning/url_versioning.js +0 -65
  321. package/src/internal/building/webmanifest/jsenv_parse_webmanifest.js +0 -48
  322. package/src/internal/compile_server/commonjs/rollup_plugin_commonjs_named_exports.js +0 -187
  323. package/src/internal/compile_server/compile_file.js +0 -273
  324. package/src/internal/compile_server/compile_server.js +0 -519
  325. package/src/internal/compile_server/compiled_file_service.js +0 -264
  326. package/src/internal/compile_server/html/html_ast.js +0 -534
  327. package/src/internal/compile_server/html/html_source_file_service.js +0 -453
  328. package/src/internal/compile_server/html/jsenv_compile_html.js +0 -674
  329. package/src/internal/compile_server/importmap/jsenv_compile_importmap.js +0 -28
  330. package/src/internal/compile_server/js/ansi_to_html.js +0 -9
  331. package/src/internal/compile_server/js/babelHelper.js +0 -145
  332. package/src/internal/compile_server/js/babel_parse_error.js +0 -9
  333. package/src/internal/compile_server/js/babel_plugin_global_this_as_jsenv_import.js +0 -34
  334. package/src/internal/compile_server/js/babel_plugin_import_assertions.js +0 -121
  335. package/src/internal/compile_server/js/babel_plugin_import_metadata.js +0 -18
  336. package/src/internal/compile_server/js/babel_plugin_import_visitor.js +0 -84
  337. package/src/internal/compile_server/js/babel_plugin_new_stylesheet_as_jsenv_import.js +0 -113
  338. package/src/internal/compile_server/js/babel_plugin_proxy_external_imports.js +0 -31
  339. package/src/internal/compile_server/js/babel_plugin_regenerator_runtime_as_jsenv_import.js +0 -48
  340. package/src/internal/compile_server/js/babel_plugin_replace_expressions.js +0 -101
  341. package/src/internal/compile_server/js/babel_plugin_systemjs_prepend.js +0 -23
  342. package/src/internal/compile_server/js/babel_plugin_transform_import_meta.js +0 -134
  343. package/src/internal/compile_server/js/babel_plugins.js +0 -37
  344. package/src/internal/compile_server/js/generateBabelHelper.js +0 -36
  345. package/src/internal/compile_server/js/js_transformer.js +0 -195
  346. package/src/internal/compile_server/js/jsenv_compile_js.js +0 -62
  347. package/src/internal/compile_server/js/load_babel_plugin_map_from_file.js +0 -49
  348. package/src/internal/compile_server/jsenv_directory/comparison_utils.js +0 -27
  349. package/src/internal/compile_server/jsenv_directory/compilation_result.js +0 -243
  350. package/src/internal/compile_server/jsenv_directory/compilation_result_from_build.js +0 -184
  351. package/src/internal/compile_server/jsenv_directory/compile_asset.js +0 -24
  352. package/src/internal/compile_server/jsenv_directory/compile_context.js +0 -60
  353. package/src/internal/compile_server/jsenv_directory/compile_profile.js +0 -217
  354. package/src/internal/compile_server/jsenv_directory/file_lock_registry.js +0 -24
  355. package/src/internal/compile_server/jsenv_directory/file_lock_registry.test.js +0 -47
  356. package/src/internal/compile_server/jsenv_directory/fs_optimized_for_cache.js +0 -57
  357. package/src/internal/compile_server/jsenv_directory/jsenv_directory.js +0 -183
  358. package/src/internal/compile_server/jsenv_directory/reuse_or_create_compiled_file.js +0 -269
  359. package/src/internal/compile_server/jsenv_directory/update_compile_cache.js +0 -131
  360. package/src/internal/compile_server/jsenv_directory/validate_compile_cache.js +0 -264
  361. package/src/internal/compile_server/sse_service/sse_service.js +0 -369
  362. package/src/internal/coverage/babel_plugin_instrument.js +0 -90
  363. package/src/internal/coverage/coverage_reporter_html_directory.js +0 -37
  364. package/src/internal/coverage/coverage_reporter_json_file.js +0 -22
  365. package/src/internal/coverage/coverage_reporter_text_log.js +0 -20
  366. package/src/internal/coverage/empty_coverage_factory.js +0 -70
  367. package/src/internal/coverage/file_by_file_coverage.js +0 -28
  368. package/src/internal/coverage/istanbul_coverage_composition.js +0 -28
  369. package/src/internal/coverage/istanbul_coverage_map_from_coverage.js +0 -16
  370. package/src/internal/coverage/list_files_not_covered.js +0 -20
  371. package/src/internal/coverage/missing_coverage.js +0 -46
  372. package/src/internal/coverage/report_to_coverage.js +0 -198
  373. package/src/internal/coverage/v8_and_istanbul.js +0 -38
  374. package/src/internal/coverage/v8_coverage_composition.js +0 -23
  375. package/src/internal/coverage/v8_coverage_from_directory.js +0 -86
  376. package/src/internal/coverage/v8_coverage_to_istanbul.js +0 -100
  377. package/src/internal/data_url.js +0 -54
  378. package/src/internal/dev_server/event_source_client/event_source_client.js +0 -63
  379. package/src/internal/dev_server/event_source_client/file_changes.js +0 -82
  380. package/src/internal/dev_server/event_source_client/livereload_preference.js +0 -13
  381. package/src/internal/dev_server/exploring/exploring.css +0 -237
  382. package/src/internal/dev_server/exploring/exploring.html +0 -79
  383. package/src/internal/dev_server/exploring/exploring.js +0 -243
  384. package/src/internal/dev_server/exploring/fetch_exploring_json.js +0 -19
  385. package/src/internal/dev_server/toolbar/compilation/compilation.css +0 -23
  386. package/src/internal/dev_server/toolbar/compilation/toolbar_compilation.js +0 -202
  387. package/src/internal/dev_server/toolbar/eventsource/toolbar_eventsource.js +0 -83
  388. package/src/internal/dev_server/toolbar/execution/toolbar_execution.js +0 -91
  389. package/src/internal/error_stack_remap/install_error_stack_remapping.js +0 -142
  390. package/src/internal/error_stack_remap/remap_call_site.js +0 -315
  391. package/src/internal/error_stack_remap/remap_stack.js +0 -218
  392. package/src/internal/error_stack_remap/stringify_stack.js +0 -9
  393. package/src/internal/executing/launch_and_execute.js +0 -458
  394. package/src/internal/executing/logs_file_execution.js +0 -160
  395. package/src/internal/executing/logs_plan_summary.js +0 -144
  396. package/src/internal/features/browser_feature_detection/browser_feature_detect_dynamic_import.js +0 -20
  397. package/src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_css.js +0 -23
  398. package/src/internal/features/browser_feature_detection/browser_feature_detect_import_assertions_json.js +0 -25
  399. package/src/internal/features/browser_feature_detection/browser_feature_detect_importmap.js +0 -37
  400. package/src/internal/features/browser_feature_detection/browser_feature_detect_new_stylesheet.js +0 -9
  401. package/src/internal/features/browser_feature_detection/browser_feature_detect_top_level_await.js +0 -14
  402. package/src/internal/features/browser_feature_detection/browser_feature_detection.js +0 -89
  403. package/src/internal/features/browser_feature_detection/compile_proxy.html +0 -27
  404. package/src/internal/features/browser_feature_detection/execute_with_script_module.js +0 -24
  405. package/src/internal/features/features_compat_from_runtime.js +0 -38
  406. package/src/internal/features/features_compat_from_runtime_support.js +0 -31
  407. package/src/internal/features/features_compatibility.js +0 -37
  408. package/src/internal/features/node_feature_detection/feature_detect_dynamic_import.mjs +0 -5
  409. package/src/internal/features/node_feature_detection/feature_detect_top_level_await.mjs +0 -1
  410. package/src/internal/features/node_feature_detection/node_feature_detect_dynamic_import.js +0 -5
  411. package/src/internal/features/node_feature_detection/node_feature_detect_top_level_await.js +0 -16
  412. package/src/internal/features/node_feature_detection/node_feature_detection.js +0 -66
  413. package/src/internal/fetching.js +0 -28
  414. package/src/internal/import_resolution/default_extension.js +0 -40
  415. package/src/internal/import_resolution/import_resolver_importmap.js +0 -64
  416. package/src/internal/import_resolution/import_resolver_node.js +0 -254
  417. package/src/internal/import_resolution/importmap_default.js +0 -37
  418. package/src/internal/jsenv_builds.js +0 -19
  419. package/src/internal/jsenv_params_assertions.js +0 -12
  420. package/src/internal/jsenv_remote_directory.js +0 -156
  421. package/src/internal/logs/byte.js +0 -10
  422. package/src/internal/logs/byte_as_file_size.js +0 -9
  423. package/src/internal/logs/ms_as_duration.js +0 -12
  424. package/src/internal/memoize.js +0 -24
  425. package/src/internal/node_launcher/eval_source.js +0 -6
  426. package/src/internal/node_launcher/fetch_source.js +0 -8
  427. package/src/internal/node_launcher/node_error_stack_remap.js +0 -22
  428. package/src/internal/node_launcher/node_execution_dynamic_import.js +0 -75
  429. package/src/internal/node_launcher/node_execution_performance.js +0 -67
  430. package/src/internal/node_launcher/node_execution_systemjs.js +0 -125
  431. package/src/internal/node_launcher/node_runtime_report.js +0 -77
  432. package/src/internal/node_launcher/node_system.js +0 -192
  433. package/src/internal/node_launcher/perf_node.js +0 -13
  434. package/src/internal/node_launcher/process_options.js +0 -46
  435. package/src/internal/node_launcher/value_install.js +0 -14
  436. package/src/internal/origin_directory_converter.js +0 -62
  437. package/src/internal/promise_race.js +0 -19
  438. package/src/internal/redirector/redirector.html +0 -40
  439. package/src/internal/regexp_escape.js +0 -34
  440. package/src/internal/require.js +0 -3
  441. package/src/internal/response_validation.js +0 -130
  442. package/src/internal/runtime_client/module_registration.js +0 -207
  443. package/src/internal/runtime_client/s.js +0 -864
  444. package/src/internal/runtime_client/s.js.md +0 -1
  445. package/src/internal/runtime_support/jsenv_runtime_support.js +0 -15
  446. package/src/internal/runtime_support/runtime_support.js +0 -70
  447. package/src/internal/semantic_versioning/compare_versions.js +0 -28
  448. package/src/internal/semantic_versioning/highest_version.js +0 -11
  449. package/src/internal/semantic_versioning/is_above.js +0 -5
  450. package/src/internal/semantic_versioning/is_below.js +0 -5
  451. package/src/internal/semantic_versioning/is_equal.js +0 -3
  452. package/src/internal/semantic_versioning/lowest_version.js +0 -11
  453. package/src/internal/semantic_versioning/version_from_value.js +0 -42
  454. package/src/internal/sourcemap_utils.js +0 -112
  455. package/src/internal/template_string_escape.js +0 -20
  456. package/src/internal/url_conversion.js +0 -313
  457. package/src/internal/url_utils.js +0 -33
  458. package/src/internal/url_utils.test.js +0 -39
  459. package/src/internal/windows_file_path_utils.js +0 -16
  460. package/src/jsenv_file_urls.js +0 -35
  461. package/src/jsenv_service_worker_finalizer.js +0 -55
  462. package/src/json_to_js_module.js +0 -13
  463. package/src/node_runtime.js +0 -227
  464. package/src/require_using_child_process.js +0 -67
  465. package/src/text_to_js_module.js +0 -13
@@ -1,77 +0,0 @@
1
- export const trackPageErrorsAndLogs = (page, { onError, onConsole }) => {
2
- // https://github.com/GoogleChrome/puppeteer/blob/v1.4.0/docs/api.md#event-error
3
- const removeErrorListener = registerEvent({
4
- object: page,
5
- eventType: "error",
6
- callback: onError,
7
- })
8
-
9
- // https://github.com/GoogleChrome/puppeteer/blob/v1.4.0/docs/api.md#event-pageerror
10
- const removePageErrorListener = registerEvent({
11
- object: page,
12
- eventType: "pageerror",
13
- callback: onError,
14
- })
15
-
16
- // https://github.com/GoogleChrome/puppeteer/blob/v1.4.0/docs/api.md#event-console
17
- const removeConsoleListener = registerEvent({
18
- object: page,
19
- eventType: "console",
20
- // https://github.com/microsoft/playwright/blob/master/docs/api.md#event-console
21
- callback: async (consoleMessage) => {
22
- onConsole({
23
- type: consoleMessage.type(),
24
- text: appendNewLine(extractTextFromConsoleMessage(consoleMessage)),
25
- })
26
- },
27
- })
28
-
29
- return () => {
30
- removeErrorListener()
31
- removePageErrorListener()
32
- removeConsoleListener()
33
- }
34
- }
35
-
36
- const appendNewLine = (string) => `${string}
37
- `
38
-
39
- const extractTextFromConsoleMessage = (consoleMessage) => {
40
- return consoleMessage.text()
41
- // ensure we use a string so that istanbul won't try
42
- // to put any coverage statement inside it
43
- // ideally we should use uneval no ?
44
- // eslint-disable-next-line no-new-func
45
- // const functionEvaluatedBrowserSide = new Function(
46
- // "value",
47
- // `if (value instanceof Error) {
48
- // return value.stack
49
- // }
50
- // return value`,
51
- // )
52
- // const argValues = await Promise.all(
53
- // message.args().map(async (arg) => {
54
- // const jsHandle = arg
55
- // try {
56
- // return await jsHandle.executionContext().evaluate(functionEvaluatedBrowserSide, jsHandle)
57
- // } catch (e) {
58
- // return String(jsHandle)
59
- // }
60
- // }),
61
- // )
62
- // const text = argValues.reduce((previous, value, index) => {
63
- // let string
64
- // if (typeof value === "object") string = JSON.stringify(value, null, " ")
65
- // else string = String(value)
66
- // if (index === 0) return `${previous}${string}`
67
- // return `${previous} ${string}`
68
- // }, "")
69
- // return text
70
- }
71
-
72
- const registerEvent = ({ object, eventType, callback }) => {
73
- object.on(eventType, callback)
74
- return () => {
75
- object.removeListener(eventType, callback)
76
- }
77
- }
@@ -1,27 +0,0 @@
1
- import { createDetailedMessage } from "@jsenv/logger"
2
-
3
- import { fetchUrl } from "./fetch_browser.js"
4
-
5
- export const fetchAndEval = async (url) => {
6
- const response = await fetchUrl(url)
7
-
8
- if (response.status >= 200 && response.status <= 299) {
9
- const text = await response.text()
10
- // eslint-disable-next-line no-eval
11
- window.eval(appendSourceURL(text, url))
12
- } else {
13
- const text = await response.text()
14
- throw new Error(
15
- createDetailedMessage(`Unexpected response for script.`, {
16
- ["script url"]: url,
17
- ["response body"]: text,
18
- ["response status"]: response.status,
19
- }),
20
- )
21
- }
22
- }
23
-
24
- const appendSourceURL = (code, sourceURL) => {
25
- return `${code}
26
- ${"//#"} sourceURL=${sourceURL}`
27
- }
@@ -1,47 +0,0 @@
1
- export const fetchAndEvalUsingScript = async (src) => {
2
- return new Promise((resolve, reject) => {
3
- const script = document.createElement("script")
4
-
5
- const onwindowerror = (errorEvent) => {
6
- if (errorEvent.filename === src) {
7
- cleanup()
8
- reject(errorEvent.error)
9
- }
10
- }
11
-
12
- const onscripterror = () => {
13
- cleanup()
14
- reject(new Error(`Error loading ${src}`))
15
- }
16
-
17
- const onscriptload = () => {
18
- cleanup()
19
- resolve()
20
- }
21
-
22
- const cleanup = () => {
23
- removeOnWindowError()
24
- removeOnScriptError()
25
- removeOnScriptLoad()
26
- document.head.removeChild(script)
27
- }
28
-
29
- const removeOnWindowError = () =>
30
- window.removeEventListener("error", onwindowerror)
31
-
32
- const removeOnScriptError = () =>
33
- script.removeEventListener("error", onscripterror)
34
-
35
- const removeOnScriptLoad = () =>
36
- script.removeEventListener("load", onscriptload)
37
-
38
- window.addEventListener("error", onwindowerror)
39
- script.addEventListener("error", onscripterror)
40
- script.addEventListener("load", onscriptload)
41
- script.charset = "utf-8"
42
- script.crossOrigin = "anonymous"
43
- script.src = src
44
-
45
- document.head.appendChild(script)
46
- })
47
- }
@@ -1,34 +0,0 @@
1
- import { fetchUsingXHR } from "./fetch_using_xhr.js"
2
-
3
- const fetchNative = async (url, { mode = "cors", ...options } = {}) => {
4
- const response = await window.fetch(url, {
5
- mode,
6
- ...options,
7
- })
8
-
9
- return {
10
- url: response.url,
11
- status: response.status,
12
- statusText: "",
13
- headers: responseToHeaders(response),
14
- text: () => response.text(),
15
- json: () => response.json(),
16
- blob: () => response.blob(),
17
- arrayBuffer: () => response.arrayBuffer(),
18
- formData: () => response.formData(),
19
- }
20
- }
21
-
22
- const responseToHeaders = (response) => {
23
- const headers = {}
24
- response.headers.forEach((value, name) => {
25
- headers[name] = value
26
- })
27
- return headers
28
- }
29
-
30
- export const fetchUrl =
31
- typeof window.fetch === "function" &&
32
- typeof window.AbortController === "function"
33
- ? fetchNative
34
- : fetchUsingXHR
@@ -1,7 +0,0 @@
1
- import { fetchUrl } from "./fetch_browser.js"
2
-
3
- export const fetchJson = async (url, options = {}) => {
4
- const response = await fetchUrl(url, options)
5
- const object = await response.json()
6
- return object
7
- }
@@ -1,134 +0,0 @@
1
- import { ANSI, UNICODE } from "@jsenv/log"
2
-
3
- import { getHtmlNodeLocation } from "@jsenv/core/src/internal/compile_server/html/html_ast.js"
4
-
5
- import { byteAsFileSize } from "../logs/byte_as_file_size.js"
6
- import { msAsDuration } from "../logs/ms_as_duration.js"
7
- import { stringifyUrlSite } from "./url_trace.js"
8
-
9
- export const formatBuildStartLog = ({ entryPoints }) => {
10
- const entryFileRelativeUrls = Object.keys(entryPoints)
11
- if (entryFileRelativeUrls.length === 1) {
12
- return `
13
- building ${entryFileRelativeUrls[0]}...`
14
- }
15
-
16
- return `
17
- building ${entryFileRelativeUrls.length} entry files...`
18
- }
19
-
20
- export const formatUseImportMapFromHtml = (importMapInfoFromHtml) => {
21
- return `
22
- use importmap from html ${showHtmlSourceLocation(importMapInfoFromHtml)}`
23
- }
24
-
25
- export const formatImportmapOutsideCompileDirectory = ({
26
- importMapInfo,
27
- compileDirectoryUrl,
28
- }) => {
29
- return `
30
- WARNING: importmap file is outside compile directory.
31
- That's unusual you should certainly make importmap file relative.
32
- ${showHtmlSourceLocation(importMapInfo)}
33
- --- compile directory url ---
34
- ${compileDirectoryUrl}
35
- `
36
- }
37
-
38
- export const formatRessourceHintNeverUsedWarning = (linkInfo) => {
39
- return `
40
- WARNING: Ressource never used for ${
41
- linkInfo.rel
42
- } link in ${showHtmlSourceLocation(linkInfo)}
43
- `
44
- }
45
-
46
- export const formatBuildDoneInfo = ({
47
- buildStats,
48
- buildDirectoryRelativeUrl,
49
- }) => {
50
- return `${formatBuildDoneDetails({ buildStats, buildDirectoryRelativeUrl })}
51
- ${formatBuildSummary({ buildStats })}
52
- ${UNICODE.OK} build end
53
- `
54
- }
55
-
56
- const formatBuildDoneDetails = ({ buildStats, buildDirectoryRelativeUrl }) => {
57
- const { buildFileSizes } = buildStats
58
- const buildFiles = Object.keys(buildFileSizes).map((key) => {
59
- const buildFileSize = buildFileSizes[key]
60
- return `${buildDirectoryRelativeUrl}${key} (${byteAsFileSize(
61
- buildFileSize,
62
- )})`
63
- })
64
- const buildFileCount = buildFiles.length
65
- const { buildSourcemapFileSizes } = buildStats
66
- const sourcemapFileCount = Object.keys(buildSourcemapFileSizes).length
67
- let buildFilesDescription =
68
- buildFileCount === 1 ? "build file" : `build files`
69
- if (sourcemapFileCount === 1) {
70
- buildFilesDescription += ` (excluding sourcemap file)`
71
- } else if (sourcemapFileCount > 1) {
72
- buildFilesDescription += ` (excluding sourcemap files)`
73
- }
74
- let message = `--- ${buildFilesDescription} ---
75
- ${buildFiles.join("\n")}`
76
- return message
77
- }
78
-
79
- const formatBuildSummary = ({ buildStats }) => {
80
- const {
81
- buildDuration,
82
- projectFileSizes,
83
- projectTotalFileSize,
84
- buildFileSizes,
85
- buildFileTotalSize,
86
- buildSourcemapFileSizes,
87
- buildSourcemapFileTotalSize,
88
- } = buildStats
89
-
90
- const projectFileCount = Object.keys(projectFileSizes).length
91
- const buildFileCount = Object.keys(buildFileSizes).length
92
- const buildSourcemapFileCount = Object.keys(buildSourcemapFileSizes).length
93
-
94
- return `------- build summary -------
95
- ${formatSummaryContent({
96
- "project files": `${projectFileCount} (${byteAsFileSize(
97
- projectTotalFileSize,
98
- )})`,
99
- "build files": `${buildFileCount} (${byteAsFileSize(buildFileTotalSize)})`,
100
- ...(buildSourcemapFileCount === 0
101
- ? {}
102
- : {
103
- "build sourcemap files": `${buildSourcemapFileCount} (${byteAsFileSize(
104
- buildSourcemapFileTotalSize,
105
- )})`,
106
- }),
107
- "build duration": msAsDuration(buildDuration),
108
- })}
109
- ------------------------------`
110
- }
111
-
112
- const formatSummaryContent = (summaryData) => {
113
- return Object.keys(summaryData).map((key) => {
114
- return `${ANSI.color(`${key}:`, ANSI.GREY)} ${summaryData[key]}`
115
- }).join(`
116
- `)
117
- }
118
-
119
- const showHtmlSourceLocation = ({
120
- htmlNode,
121
- htmlUrl,
122
- htmlSource,
123
- htmlAttributeName,
124
- }) => {
125
- const { line, column } =
126
- getHtmlNodeLocation(htmlNode, htmlAttributeName) || {}
127
-
128
- return stringifyUrlSite({
129
- url: htmlUrl,
130
- line,
131
- column,
132
- source: htmlSource,
133
- })
134
- }
@@ -1,100 +0,0 @@
1
- import { resolveUrl, urlToExtension } from "@jsenv/filesystem"
2
-
3
- import { isReferencedOnlyByRessourceHint } from "./ressource_builder_util.js"
4
-
5
- export const createBuildStats = ({
6
- buildFileContents,
7
- ressourceBuilder,
8
- buildDuration,
9
- }) => {
10
- const projectFileContents = getProjectFileContents(ressourceBuilder)
11
- const projectFileSizeInfo = sizeInfoFromFileContents(projectFileContents)
12
-
13
- const { sourceFileContents, sourcemapFileContents } =
14
- extractSourcemapFiles(buildFileContents)
15
- const buildFileSizeInfo = sizeInfoFromFileContents(sourceFileContents)
16
- const sourcemapFileSizeInfo = sizeInfoFromFileContents(sourcemapFileContents)
17
-
18
- return {
19
- projectFileSizes: projectFileSizeInfo.fileSizes,
20
- projectTotalFileSize: projectFileSizeInfo.totalSize,
21
- buildFileSizes: buildFileSizeInfo.fileSizes,
22
- buildFileTotalSize: buildFileSizeInfo.totalSize,
23
- buildSourcemapFileSizes: sourcemapFileSizeInfo.fileSizes,
24
- buildSourcemapFileTotalSize: sourcemapFileSizeInfo.totalSize,
25
- buildDuration,
26
- }
27
- }
28
-
29
- const extractSourcemapFiles = (fileContents) => {
30
- const sourceFileContents = {}
31
- const sourcemapFileContents = {}
32
- Object.keys(fileContents).forEach((key) => {
33
- const url = resolveUrl(key, "http://example.com")
34
- if (urlToExtension(url) === ".map") {
35
- sourcemapFileContents[key] = fileContents[key]
36
- } else {
37
- sourceFileContents[key] = fileContents[key]
38
- }
39
- })
40
- return {
41
- sourceFileContents,
42
- sourcemapFileContents,
43
- }
44
- }
45
-
46
- const sizeInfoFromFileContents = (fileContents) => {
47
- const fileSizes = {}
48
- let totalSize = 0
49
- Object.keys(fileContents).forEach((key) => {
50
- const fileSize = Buffer.byteLength(fileContents[key])
51
- fileSizes[key] = fileSize
52
- totalSize += fileSize
53
- })
54
- return { fileSizes, totalSize }
55
- }
56
-
57
- const getProjectFileContents = (ressourceBuilder) => {
58
- const projectFileContents = {}
59
- const { ressourceMap } = ressourceBuilder.inspect()
60
-
61
- Object.keys(ressourceMap).forEach((url) => {
62
- const ressource = ressourceMap[url]
63
- const {
64
- isInline,
65
- isExternal,
66
- isPlaceholder,
67
- isSourcemap,
68
- bufferBeforeBuild,
69
- } = ressource
70
- if (isInline) {
71
- // inline ressources are not files
72
- return
73
- }
74
- if (isExternal) {
75
- // external ressource are not handled, we would not have the bufferBeforeBuild
76
- return
77
- }
78
- if (isReferencedOnlyByRessourceHint(ressource)) {
79
- // ressource is only referenced by ressource hint (link preload for example)
80
- // it's never actually loaded
81
- // -> we don't gave the bufferBeforeBuild (the ressource file content)
82
- return
83
- }
84
- if (isPlaceholder) {
85
- // placeholders (used for sourcemap files)
86
- // means the file did not exists in the project is there is a placeholder
87
- // to generate it in the build
88
- return
89
- }
90
- if (isSourcemap && !bufferBeforeBuild) {
91
- // sourcemap generated by rollup do not have bufferBeforeBuild
92
- return
93
- }
94
- if (!bufferBeforeBuild) {
95
- throw new Error(`bufferBeforeBuild missing for ${url}`)
96
- }
97
- projectFileContents[url] = bufferBeforeBuild
98
- })
99
- return projectFileContents
100
- }
@@ -1,153 +0,0 @@
1
- import { urlToBasename, urlToExtension } from "@jsenv/filesystem"
2
-
3
- import { generateContentHash } from "./url_versioning/url_versioning.js"
4
-
5
- export const createBuildUrlGenerator = ({
6
- entryPointUrls,
7
- asOriginalUrl,
8
- lineBreakNormalization,
9
- }) => {
10
- const availableNameGenerator = createAvailableNameGenerator()
11
-
12
- const prepareBuildUrlForRessource = (ressource) => {
13
- const buildRelativeUrlPattern = getBuildRelativeUrlPattern({
14
- entryPointUrls,
15
- asOriginalUrl,
16
- availableNameGenerator,
17
- ressource,
18
- })
19
- const buildRelativeUrlWithoutHash = buildRelativeUrlPattern.replace(
20
- "_[hash]",
21
- "",
22
- )
23
- return {
24
- buildRelativeUrlPattern,
25
- buildRelativeUrlWithoutHash,
26
- }
27
- }
28
-
29
- const computeBuildRelativeUrl = (ressource) => {
30
- const buildRelativeUrl = renderFileNamePattern(
31
- ressource.buildRelativeUrlPattern,
32
- {
33
- hash: () =>
34
- generateContentHash(ressource.bufferAfterBuild, {
35
- contentType: ressource.contentType,
36
- lineBreakNormalization,
37
- }),
38
- },
39
- )
40
- return buildRelativeUrl
41
- }
42
-
43
- return { prepareBuildUrlForRessource, computeBuildRelativeUrl }
44
- }
45
-
46
- const getBuildRelativeUrlPattern = ({
47
- entryPointUrls,
48
- asOriginalUrl,
49
- availableNameGenerator,
50
- ressource,
51
- }) => {
52
- if (ressource.isEntryPoint) {
53
- const originalUrl = asOriginalUrl(ressource.url)
54
- const entryPointBuildRelativeUrlPattern = entryPointUrls[originalUrl]
55
- return entryPointBuildRelativeUrlPattern
56
- }
57
-
58
- // inline ressource
59
- // TODO: should inherit importer directory location because inline
60
- if (ressource.isInline) {
61
- // const importerBuildRelativeUrlWithoutHash =
62
- // ressource.importer.buildRelativeUrlWithoutHash
63
- const name = urlToBasename(ressource.url)
64
- const extension = urlToExtension(ressource.url)
65
- // no need to ensure name is unique because it's already done
66
- return `${name}_[hash]${extension}`
67
- }
68
-
69
- // importmap.
70
- // the goal is to put the importmap at the same relative path
71
- // than in the project to avoid having to re-resolve mappings
72
- if (ressource.contentType === "application/importmap+json") {
73
- const name = availableNameGenerator.getAvailableNameInDirectory(
74
- urlToBasename(ressource.url),
75
- "/",
76
- )
77
- const extension = urlToExtension(ressource.url)
78
- return `${name}_[hash]${extension}`
79
- }
80
-
81
- // service worker:
82
- // - MUST be at the root (same level than the HTML file)
83
- // otherwise it might be registered for the scope "/assets/" instead of "/"
84
- // - MUST not be versioned
85
- if (ressource.isServiceWorker) {
86
- const name = availableNameGenerator.getAvailableNameInDirectory(
87
- urlToBasename(ressource.url),
88
- "/",
89
- )
90
- const extension = urlToExtension(ressource.url)
91
- return `${name}${extension}`
92
- }
93
-
94
- if (ressource.isWorker) {
95
- const name = availableNameGenerator.getAvailableNameInDirectory(
96
- urlToBasename(ressource.url),
97
- "/",
98
- )
99
- const extension = urlToExtension(ressource.url)
100
- return `${name}_[hash]${extension}`
101
- }
102
-
103
- if (ressource.isJsModule) {
104
- const name = availableNameGenerator.getAvailableNameInDirectory(
105
- urlToBasename(ressource.url),
106
- "/",
107
- )
108
- return `${name}_[hash].js`
109
- }
110
-
111
- const name = availableNameGenerator.getAvailableNameInDirectory(
112
- urlToBasename(ressource.url),
113
- "assets/",
114
- )
115
- const extension = urlToExtension(ressource.url)
116
- return ressource.urlVersioningDisabled
117
- ? `assets/${name}${extension}`
118
- : `assets/${name}_[hash]${extension}`
119
- }
120
-
121
- const createAvailableNameGenerator = () => {
122
- const cache = {}
123
- const getAvailableNameInDirectory = (name, directory) => {
124
- let names = cache[directory]
125
- if (!names) {
126
- names = []
127
- cache[directory] = names
128
- }
129
-
130
- let nameCandidate = name
131
- let integer = 1
132
- // eslint-disable-next-line no-constant-condition
133
- while (true) {
134
- if (!names.includes(nameCandidate)) {
135
- names.push(nameCandidate)
136
- return nameCandidate
137
- }
138
- integer++
139
- nameCandidate = `${name}${integer}`
140
- }
141
- }
142
-
143
- return {
144
- getAvailableNameInDirectory,
145
- }
146
- }
147
-
148
- const renderFileNamePattern = (pattern, replacements) => {
149
- return pattern.replace(/\[(\w+)\]/g, (_match, type) => {
150
- const replacement = replacements[type](_match)
151
- return replacement
152
- })
153
- }