@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,976 +0,0 @@
1
- (function () {
2
- 'use strict';
3
- var nativeTypeOf = function nativeTypeOf(obj) {
4
- return typeof obj;
5
- };
6
-
7
- var customTypeOf = function customTypeOf(obj) {
8
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
9
- };
10
-
11
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? nativeTypeOf : customTypeOf;
12
-
13
- var defineProperty = (function (obj, key, value) {
14
- // Shortcircuit the slow defineProperty path when possible.
15
- // We are trying to avoid issues where setters defined on the
16
- // prototype cause side effects under the fast path of simple
17
- // assignment. By checking for existence of the property with
18
- // the in operator, we can optimize most of this overhead away.
19
- if (key in obj) {
20
- Object.defineProperty(obj, key, {
21
- value: value,
22
- enumerable: true,
23
- configurable: true,
24
- writable: true
25
- });
26
- } else {
27
- obj[key] = value;
28
- }
29
-
30
- return obj;
31
- });
32
-
33
- // filters on symbol properties only. Returned string properties are always
34
- // enumerable. It is good to use in objectSpread.
35
-
36
- function ownKeys(object, enumerableOnly) {
37
- var keys = Object.keys(object);
38
-
39
- if (Object.getOwnPropertySymbols) {
40
- var symbols = Object.getOwnPropertySymbols(object);
41
-
42
- if (enumerableOnly) {
43
- symbols = symbols.filter(function (sym) {
44
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
45
- });
46
- }
47
-
48
- keys.push.apply(keys, symbols);
49
- }
50
-
51
- return keys;
52
- }
53
-
54
- function _objectSpread2(target) {
55
- for (var i = 1; i < arguments.length; i++) {
56
- var source = arguments[i] != null ? arguments[i] : {};
57
-
58
- if (i % 2) {
59
- ownKeys(Object(source), true).forEach(function (key) {
60
- defineProperty(target, key, source[key]);
61
- });
62
- } else if (Object.getOwnPropertyDescriptors) {
63
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
64
- } else {
65
- ownKeys(Object(source)).forEach(function (key) {
66
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
67
- });
68
- }
69
- }
70
-
71
- return target;
72
- }
73
-
74
- var objectWithoutPropertiesLoose = (function (source, excluded) {
75
- if (source === null) return {};
76
- var target = {};
77
- var sourceKeys = Object.keys(source);
78
- var key;
79
- var i;
80
-
81
- for (i = 0; i < sourceKeys.length; i++) {
82
- key = sourceKeys[i];
83
- if (excluded.indexOf(key) >= 0) continue;
84
- target[key] = source[key];
85
- }
86
-
87
- return target;
88
- });
89
-
90
- var _objectWithoutProperties = (function (source, excluded) {
91
- if (source === null) return {};
92
- var target = objectWithoutPropertiesLoose(source, excluded);
93
- var key;
94
- var i;
95
-
96
- if (Object.getOwnPropertySymbols) {
97
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
98
-
99
- for (i = 0; i < sourceSymbolKeys.length; i++) {
100
- key = sourceSymbolKeys[i];
101
- if (excluded.indexOf(key) >= 0) continue;
102
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
103
- target[key] = source[key];
104
- }
105
- }
106
-
107
- return target;
108
- });
109
-
110
- function _await$4(value, then, direct) {
111
- if (direct) {
112
- return then ? then(value) : value;
113
- }
114
-
115
- if (!value || !value.then) {
116
- value = Promise.resolve(value);
117
- }
118
-
119
- return then ? value.then(then) : value;
120
- }
121
-
122
- function _async$4(f) {
123
- return function () {
124
- for (var args = [], i = 0; i < arguments.length; i++) {
125
- args[i] = arguments[i];
126
- }
127
-
128
- try {
129
- return Promise.resolve(f.apply(this, args));
130
- } catch (e) {
131
- return Promise.reject(e);
132
- }
133
- };
134
- }
135
-
136
- function _call$1(body, then, direct) {
137
- if (direct) {
138
- return then ? then(body()) : body();
139
- }
140
-
141
- try {
142
- var result = Promise.resolve(body());
143
- return then ? result.then(then) : result;
144
- } catch (e) {
145
- return Promise.reject(e);
146
- }
147
- }
148
-
149
- var fetchUsingXHR = _async$4(function (url) {
150
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
151
- signal = _ref.signal,
152
- _ref$method = _ref.method,
153
- method = _ref$method === void 0 ? "GET" : _ref$method,
154
- _ref$credentials = _ref.credentials,
155
- credentials = _ref$credentials === void 0 ? "same-origin" : _ref$credentials,
156
- _ref$headers = _ref.headers,
157
- headers = _ref$headers === void 0 ? {} : _ref$headers,
158
- _ref$body = _ref.body,
159
- body = _ref$body === void 0 ? null : _ref$body;
160
-
161
- var headersPromise = createPromiseAndHooks();
162
- var bodyPromise = createPromiseAndHooks();
163
- var xhr = new XMLHttpRequest();
164
-
165
- var failure = function failure(error) {
166
- // if it was already resolved, we must reject the body promise
167
- if (headersPromise.settled) {
168
- bodyPromise.reject(error);
169
- } else {
170
- headersPromise.reject(error);
171
- }
172
- };
173
-
174
- var cleanup = function cleanup() {
175
- xhr.ontimeout = null;
176
- xhr.onerror = null;
177
- xhr.onload = null;
178
- xhr.onreadystatechange = null;
179
- };
180
-
181
- xhr.ontimeout = function () {
182
- cleanup();
183
- failure(new Error("xhr request timeout on ".concat(url, ".")));
184
- };
185
-
186
- xhr.onerror = function (error) {
187
- cleanup(); // unfortunately with have no clue why it fails
188
- // might be cors for instance
189
-
190
- failure(createRequestError(error, {
191
- url: url
192
- }));
193
- };
194
-
195
- xhr.onload = function () {
196
- cleanup();
197
- bodyPromise.resolve();
198
- };
199
-
200
- signal.addEventListener("abort", function () {
201
- xhr.abort();
202
- var abortError = new Error("aborted");
203
- abortError.name = "AbortError";
204
- failure(abortError);
205
- });
206
-
207
- xhr.onreadystatechange = function () {
208
- // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState
209
- var readyState = xhr.readyState;
210
-
211
- if (readyState === 2) {
212
- headersPromise.resolve();
213
- } else if (readyState === 4) {
214
- cleanup();
215
- bodyPromise.resolve();
216
- }
217
- };
218
-
219
- xhr.open(method, url, true);
220
- Object.keys(headers).forEach(function (key) {
221
- xhr.setRequestHeader(key, headers[key]);
222
- });
223
- xhr.withCredentials = computeWithCredentials({
224
- credentials: credentials,
225
- url: url
226
- });
227
-
228
- if ("responseType" in xhr && hasBlob) {
229
- xhr.responseType = "blob";
230
- }
231
-
232
- xhr.send(body);
233
- return _await$4(headersPromise, function () {
234
- // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL
235
- var responseUrl = "responseURL" in xhr ? xhr.responseURL : headers["x-request-url"];
236
- var responseStatus = xhr.status;
237
- var responseStatusText = xhr.statusText;
238
- var responseHeaders = getHeadersFromXHR(xhr);
239
-
240
- var readBody = function readBody() {
241
- return _await$4(bodyPromise, function () {
242
- var status = xhr.status; // in Chrome on file:/// URLs, status is 0
243
-
244
- if (status === 0) {
245
- responseStatus = 200;
246
- }
247
-
248
- var body = "response" in xhr ? xhr.response : xhr.responseText;
249
- return {
250
- responseBody: body,
251
- responseBodyType: detectBodyType(body)
252
- };
253
- });
254
- };
255
-
256
- var text = function text() {
257
- return _call$1(readBody, function (_ref2) {
258
- var responseBody = _ref2.responseBody,
259
- responseBodyType = _ref2.responseBodyType;
260
-
261
- if (responseBodyType === "blob") {
262
- return blobToText(responseBody);
263
- }
264
-
265
- if (responseBodyType === "formData") {
266
- throw new Error("could not read FormData body as text");
267
- }
268
-
269
- return responseBodyType === "dataView" ? arrayBufferToText(responseBody.buffer) : responseBodyType === "arrayBuffer" ? arrayBufferToText(responseBody) : String(responseBody);
270
- });
271
- };
272
-
273
- var json = function json() {
274
- return _call$1(text, JSON.parse);
275
- };
276
-
277
- var blob = _async$4(function () {
278
- if (!hasBlob) {
279
- throw new Error("blob not supported");
280
- }
281
-
282
- return _call$1(readBody, function (_ref3) {
283
- var responseBody = _ref3.responseBody,
284
- responseBodyType = _ref3.responseBodyType;
285
-
286
- if (responseBodyType === "blob") {
287
- return responseBody;
288
- }
289
-
290
- if (responseBodyType === "dataView") {
291
- return new Blob([cloneBuffer(responseBody.buffer)]);
292
- }
293
-
294
- if (responseBodyType === "arrayBuffer") {
295
- return new Blob([cloneBuffer(responseBody)]);
296
- }
297
-
298
- if (responseBodyType === "formData") {
299
- throw new Error("could not read FormData body as blob");
300
- }
301
-
302
- return new Blob([String(responseBody)]);
303
- });
304
- });
305
-
306
- var arrayBuffer = function arrayBuffer() {
307
- return _call$1(readBody, function (_ref4) {
308
- var responseBody = _ref4.responseBody,
309
- responseBodyType = _ref4.responseBodyType;
310
- return responseBodyType === "arrayBuffer" ? cloneBuffer(responseBody) : _call$1(blob, blobToArrayBuffer);
311
- });
312
- };
313
-
314
- var formData = _async$4(function () {
315
- if (!hasFormData) {
316
- throw new Error("formData not supported");
317
- }
318
-
319
- return _call$1(text, textToFormData);
320
- });
321
-
322
- return {
323
- url: responseUrl,
324
- status: responseStatus,
325
- statusText: responseStatusText,
326
- headers: responseHeaders,
327
- text: text,
328
- json: json,
329
- blob: blob,
330
- arrayBuffer: arrayBuffer,
331
- formData: formData
332
- };
333
- });
334
- });
335
-
336
- var canUseBlob = function canUseBlob() {
337
- if (typeof window.FileReader !== "function") return false;
338
- if (typeof window.Blob !== "function") return false;
339
-
340
- try {
341
- // eslint-disable-next-line no-new
342
- new Blob();
343
- return true;
344
- } catch (e) {
345
- return false;
346
- }
347
- };
348
-
349
- var hasBlob = canUseBlob();
350
- var hasFormData = typeof window.FormData === "function";
351
- var hasArrayBuffer = typeof window.ArrayBuffer === "function";
352
- var hasSearchParams = typeof window.URLSearchParams === "function";
353
-
354
- var createRequestError = function createRequestError(error, _ref5) {
355
- var url = _ref5.url;
356
- return new Error("error during xhr request on ".concat(url, ".\n--- error stack ---\n").concat(error.stack));
357
- };
358
-
359
- var createPromiseAndHooks = function createPromiseAndHooks() {
360
- var resolve;
361
- var reject;
362
- var promise = new Promise(function (res, rej) {
363
- resolve = function resolve(value) {
364
- promise.settled = true;
365
- res(value);
366
- };
367
-
368
- reject = function reject(value) {
369
- promise.settled = true;
370
- rej(value);
371
- };
372
- });
373
- promise.resolve = resolve;
374
- promise.reject = reject;
375
- return promise;
376
- }; // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
377
-
378
-
379
- var computeWithCredentials = function computeWithCredentials(_ref6) {
380
- var credentials = _ref6.credentials,
381
- url = _ref6.url;
382
-
383
- if (credentials === "same-origin") {
384
- return originSameAsGlobalOrigin(url);
385
- }
386
-
387
- return credentials === "include";
388
- };
389
-
390
- var originSameAsGlobalOrigin = function originSameAsGlobalOrigin(url) {
391
- // if we cannot read globalOrigin from window.location.origin, let's consider it's ok
392
- if ((typeof window === "undefined" ? "undefined" : _typeof(window)) !== "object") return true;
393
- if (_typeof(window.location) !== "object") return true;
394
- var globalOrigin = window.location.origin;
395
- if (globalOrigin === "null") return true;
396
- return hrefToOrigin(url) === globalOrigin;
397
- };
398
-
399
- var detectBodyType = function detectBodyType(body) {
400
- if (!body) {
401
- return "";
402
- }
403
-
404
- if (typeof body === "string") {
405
- return "text";
406
- }
407
-
408
- if (hasBlob && Blob.prototype.isPrototypeOf(body)) {
409
- return "blob";
410
- }
411
-
412
- if (hasFormData && FormData.prototype.isPrototypeOf(body)) {
413
- return "formData";
414
- }
415
-
416
- if (hasArrayBuffer) {
417
- if (hasBlob && isDataView(body)) {
418
- return "dataView";
419
- }
420
-
421
- if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {
422
- return "arrayBuffer";
423
- }
424
- }
425
-
426
- if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
427
- return "searchParams";
428
- }
429
-
430
- return "";
431
- }; // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example
432
-
433
-
434
- var getHeadersFromXHR = function getHeadersFromXHR(xhr) {
435
- var headerMap = {};
436
- var headersString = xhr.getAllResponseHeaders();
437
- if (headersString === "") return headerMap;
438
- var lines = headersString.trim().split(/[\r\n]+/);
439
- lines.forEach(function (line) {
440
- var parts = line.split(": ");
441
- var name = parts.shift();
442
- var value = parts.join(": ");
443
- headerMap[name.toLowerCase()] = value;
444
- });
445
- return headerMap;
446
- };
447
-
448
- var hrefToOrigin = function hrefToOrigin(href) {
449
- var scheme = hrefToScheme(href);
450
-
451
- if (scheme === "file") {
452
- return "file://";
453
- }
454
-
455
- if (scheme === "http" || scheme === "https") {
456
- var secondProtocolSlashIndex = scheme.length + "://".length;
457
- var pathnameSlashIndex = href.indexOf("/", secondProtocolSlashIndex);
458
- if (pathnameSlashIndex === -1) return href;
459
- return href.slice(0, pathnameSlashIndex);
460
- }
461
-
462
- return href.slice(0, scheme.length + 1);
463
- };
464
-
465
- var hrefToScheme = function hrefToScheme(href) {
466
- var colonIndex = href.indexOf(":");
467
- if (colonIndex === -1) return "";
468
- return href.slice(0, colonIndex);
469
- };
470
-
471
- var isDataView = function isDataView(obj) {
472
- return obj && DataView.prototype.isPrototypeOf(obj);
473
- };
474
-
475
- var isArrayBufferView = ArrayBuffer.isView || function () {
476
- var viewClasses = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"];
477
- return function (value) {
478
- return value && viewClasses.includes(Object.prototype.toString.call(value));
479
- };
480
- }();
481
-
482
- var textToFormData = function textToFormData(text) {
483
- var form = new FormData();
484
- text.trim().split("&").forEach(function (bytes) {
485
- if (bytes) {
486
- var split = bytes.split("=");
487
- var name = split.shift().replace(/\+/g, " ");
488
- var value = split.join("=").replace(/\+/g, " ");
489
- form.append(decodeURIComponent(name), decodeURIComponent(value));
490
- }
491
- });
492
- return form;
493
- };
494
-
495
- var blobToArrayBuffer = _async$4(function (blob) {
496
- var reader = new FileReader();
497
- var promise = fileReaderReady(reader);
498
- reader.readAsArrayBuffer(blob);
499
- return promise;
500
- });
501
-
502
- var blobToText = function blobToText(blob) {
503
- var reader = new FileReader();
504
- var promise = fileReaderReady(reader);
505
- reader.readAsText(blob);
506
- return promise;
507
- };
508
-
509
- var arrayBufferToText = function arrayBufferToText(arrayBuffer) {
510
- var view = new Uint8Array(arrayBuffer);
511
- var chars = new Array(view.length);
512
- var i = 0;
513
-
514
- while (i < view.length) {
515
- chars[i] = String.fromCharCode(view[i]);
516
- i++;
517
- }
518
-
519
- return chars.join("");
520
- };
521
-
522
- var fileReaderReady = function fileReaderReady(reader) {
523
- return new Promise(function (resolve, reject) {
524
- reader.onload = function () {
525
- resolve(reader.result);
526
- };
527
-
528
- reader.onerror = function () {
529
- reject(reader.error);
530
- };
531
- });
532
- };
533
-
534
- var cloneBuffer = function cloneBuffer(buffer) {
535
- if (buffer.slice) {
536
- return buffer.slice(0);
537
- }
538
-
539
- var view = new Uint8Array(buffer.byteLength);
540
- view.set(new Uint8Array(buffer));
541
- return view.buffer;
542
- };
543
-
544
- var _excluded = ["mode"];
545
-
546
- function _await$3(value, then, direct) {
547
- if (direct) {
548
- return then ? then(value) : value;
549
- }
550
-
551
- if (!value || !value.then) {
552
- value = Promise.resolve(value);
553
- }
554
-
555
- return then ? value.then(then) : value;
556
- }
557
-
558
- function _async$3(f) {
559
- return function () {
560
- for (var args = [], i = 0; i < arguments.length; i++) {
561
- args[i] = arguments[i];
562
- }
563
-
564
- try {
565
- return Promise.resolve(f.apply(this, args));
566
- } catch (e) {
567
- return Promise.reject(e);
568
- }
569
- };
570
- }
571
-
572
- var fetchNative = _async$3(function (url) {
573
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
574
-
575
- var _ref$mode = _ref.mode,
576
- mode = _ref$mode === void 0 ? "cors" : _ref$mode,
577
- options = _objectWithoutProperties(_ref, _excluded);
578
-
579
- return _await$3(window.fetch(url, _objectSpread2({
580
- mode: mode
581
- }, options)), function (response) {
582
- return {
583
- url: response.url,
584
- status: response.status,
585
- statusText: "",
586
- headers: responseToHeaders(response),
587
- text: function text() {
588
- return response.text();
589
- },
590
- json: function json() {
591
- return response.json();
592
- },
593
- blob: function blob() {
594
- return response.blob();
595
- },
596
- arrayBuffer: function arrayBuffer() {
597
- return response.arrayBuffer();
598
- },
599
- formData: function formData() {
600
- return response.formData();
601
- }
602
- };
603
- });
604
- });
605
-
606
- var responseToHeaders = function responseToHeaders(response) {
607
- var headers = {};
608
- response.headers.forEach(function (value, name) {
609
- headers[name] = value;
610
- });
611
- return headers;
612
- };
613
-
614
- var fetchUrl = typeof window.fetch === "function" && typeof window.AbortController === "function" ? fetchNative : fetchUsingXHR;
615
-
616
- function _await$2(value, then, direct) {
617
- if (direct) {
618
- return then ? then(value) : value;
619
- }
620
-
621
- if (!value || !value.then) {
622
- value = Promise.resolve(value);
623
- }
624
-
625
- return then ? value.then(then) : value;
626
- }
627
-
628
- function _async$2(f) {
629
- return function () {
630
- for (var args = [], i = 0; i < arguments.length; i++) {
631
- args[i] = arguments[i];
632
- }
633
-
634
- try {
635
- return Promise.resolve(f.apply(this, args));
636
- } catch (e) {
637
- return Promise.reject(e);
638
- }
639
- };
640
- }
641
-
642
- var fetchJson = _async$2(function (url) {
643
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
644
- return _await$2(fetchUrl(url, options), function (response) {
645
- return _await$2(response.json());
646
- });
647
- });
648
-
649
- function _await$1(value, then, direct) {
650
- if (direct) {
651
- return then ? then(value) : value;
652
- }
653
-
654
- if (!value || !value.then) {
655
- value = Promise.resolve(value);
656
- }
657
-
658
- return then ? value.then(then) : value;
659
- }
660
-
661
- function _catch(body, recover) {
662
- try {
663
- var result = body();
664
- } catch (e) {
665
- return recover(e);
666
- }
667
-
668
- if (result && result.then) {
669
- return result.then(void 0, recover);
670
- }
671
-
672
- return result;
673
- }
674
-
675
- function _async$1(f) {
676
- return function () {
677
- for (var args = [], i = 0; i < arguments.length; i++) {
678
- args[i] = arguments[i];
679
- }
680
-
681
- try {
682
- return Promise.resolve(f.apply(this, args));
683
- } catch (e) {
684
- return Promise.reject(e);
685
- }
686
- };
687
- }
688
-
689
- var fetchExploringJson = _async$1(function () {
690
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
691
- signal = _ref.signal;
692
-
693
- return _catch(function () {
694
- return _await$1(fetchJson("/.jsenv/exploring.json", {
695
- signal: signal
696
- }));
697
- }, function (e) {
698
- if (signal && signal.aborted && e.name === "AbortError") {
699
- throw e;
700
- }
701
-
702
- throw new Error("Cannot communicate with exploring server due to a network error\n--- error stack ---\n".concat(e.stack));
703
- });
704
- });
705
-
706
- var setStyles = function setStyles(element, styles) {
707
- var elementStyle = element.style;
708
- var restoreStyles = Object.keys(styles).map(function (styleName) {
709
- var restore;
710
-
711
- if (styleName in elementStyle) {
712
- var currentStyle = elementStyle[styleName];
713
-
714
- restore = function restore() {
715
- elementStyle[styleName] = currentStyle;
716
- };
717
- } else {
718
- restore = function restore() {
719
- delete elementStyle[styleName];
720
- };
721
- }
722
-
723
- elementStyle[styleName] = styles[styleName];
724
- return restore;
725
- });
726
- return function () {
727
- restoreStyles.forEach(function (restore) {
728
- return restore();
729
- });
730
- };
731
- };
732
- var setAttributes = function setAttributes(element, attributes) {
733
- Object.keys(attributes).forEach(function (name) {
734
- element.setAttribute(name, attributes[name]);
735
- });
736
- };
737
-
738
- function _await(value, then, direct) {
739
- if (direct) {
740
- return then ? then(value) : value;
741
- }
742
-
743
- if (!value || !value.then) {
744
- value = Promise.resolve(value);
745
- }
746
-
747
- return then ? value.then(then) : value;
748
- }
749
-
750
- var TOOLBAR_BUILD_RELATIVE_URL = "dist/toolbar/toolbar_b0c9100c.html";
751
-
752
- function _call(body, then, direct) {
753
- if (direct) {
754
- return then ? then(body()) : body();
755
- }
756
-
757
- try {
758
- var result = Promise.resolve(body());
759
- return then ? result.then(then) : result;
760
- } catch (e) {
761
- return Promise.reject(e);
762
- }
763
- }
764
-
765
- var jsenvLogoSvgUrl = new URL("assets/jsenv_logo_192011c2.svg", document.currentScript && document.currentScript.src || document.baseURI);
766
-
767
- function _async(f) {
768
- return function () {
769
- for (var args = [], i = 0; i < arguments.length; i++) {
770
- args[i] = arguments[i];
771
- }
772
-
773
- try {
774
- return Promise.resolve(f.apply(this, args));
775
- } catch (e) {
776
- return Promise.reject(e);
777
- }
778
- };
779
- }
780
-
781
- var injectToolbar = _async(function () {
782
- return _await(new Promise(function (resolve) {
783
- if (window.requestIdleCallback) {
784
- window.requestIdleCallback(resolve, {
785
- timeout: 400
786
- });
787
- } else {
788
- window.requestAnimationFrame(resolve);
789
- }
790
- }), function () {
791
- return _call(fetchExploringJson, function (exploringJSON) {
792
- var placeholder = getToolbarPlaceholder();
793
- var iframe = document.createElement("iframe");
794
- setAttributes(iframe, {
795
- tabindex: -1,
796
- // sandbox: "allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation",
797
- // allow: "accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr",
798
- allowtransparency: true
799
- });
800
- setStyles(iframe, {
801
- "position": "fixed",
802
- "zIndex": 1000,
803
- "bottom": 0,
804
- "left": 0,
805
- "width": "100%",
806
- "height": 0,
807
-
808
- /* ensure toolbar children are not focusable when hidden */
809
- "visibility": "hidden",
810
- "transition-duration": "300ms",
811
- "transition-property": "height, visibility",
812
- "border": "none"
813
- });
814
- var iframeLoadedPromise = iframeToLoadedPromise(iframe);
815
- var jsenvCoreDirectoryServerUrl = new URL(exploringJSON.jsenvCoreDirectoryRelativeUrl, document.location.origin).href;
816
- var jsenvToolbarHtmlServerUrl = new URL(TOOLBAR_BUILD_RELATIVE_URL, jsenvCoreDirectoryServerUrl); // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)
817
-
818
- iframe.setAttribute("src", jsenvToolbarHtmlServerUrl);
819
- placeholder.parentNode.replaceChild(iframe, placeholder);
820
- addToolbarEventCallback(iframe, "toolbar_ready", function () {
821
- sendCommandToToolbar(iframe, "renderToolbar", {
822
- exploringJSON: exploringJSON
823
- });
824
- });
825
- return _await(iframeLoadedPromise, function () {
826
- iframe.removeAttribute("tabindex");
827
- var div = document.createElement("div");
828
- div.innerHTML = "\n<div id=\"jsenv-toolbar-trigger\">\n <svg id=\"jsenv-toolbar-trigger-icon\">\n <use xlink:href=\"".concat(jsenvLogoSvgUrl, "#jsenv_logo\"></use>\n </svg>\n <style>\n #jsenv-toolbar-trigger {\n display: block;\n overflow: hidden;\n position: fixed;\n z-index: 1000;\n bottom: -32px;\n right: 20px;\n height: 40px;\n width: 40px;\n padding: 0;\n margin: 0;\n border-radius: 5px 5px 0 0;\n border: 1px solid rgba(0, 0, 0, 0.33);\n border-bottom: none;\n box-shadow: 0px 0px 6px 2px rgba(0, 0, 0, 0.46);\n background: transparent;\n text-align: center;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger:hover {\n cursor: pointer;\n }\n\n #jsenv-toolbar-trigger[data-expanded] {\n bottom: 0;\n }\n\n #jsenv-toolbar-trigger-icon {\n width: 35px;\n height: 35px;\n opacity: 0;\n transition: 600ms;\n }\n\n #jsenv-toolbar-trigger[data-expanded] #jsenv-toolbar-trigger-icon {\n opacity: 1;\n }\n </style>\n</div>");
829
- var toolbarTrigger = div.firstElementChild;
830
- iframe.parentNode.appendChild(toolbarTrigger);
831
- var timer;
832
-
833
- toolbarTrigger.onmouseenter = function () {
834
- toolbarTrigger.setAttribute("data-animate", "");
835
- timer = setTimeout(expandToolbarTrigger, 500);
836
- };
837
-
838
- toolbarTrigger.onmouseleave = function () {
839
- clearTimeout(timer);
840
- collapseToolbarTrigger();
841
- };
842
-
843
- toolbarTrigger.onfocus = function () {
844
- toolbarTrigger.removeAttribute("data-animate");
845
- expandToolbarTrigger();
846
- };
847
-
848
- toolbarTrigger.onblur = function () {
849
- toolbarTrigger.removeAttribute("data-animate");
850
- clearTimeout(timer);
851
- collapseToolbarTrigger();
852
- };
853
-
854
- toolbarTrigger.onclick = function () {
855
- sendCommandToToolbar(iframe, "showToolbar");
856
- };
857
-
858
- var showToolbarTrigger = function showToolbarTrigger() {
859
- toolbarTrigger.style.display = "block";
860
- };
861
-
862
- var hideToolbarTrigger = function hideToolbarTrigger() {
863
- toolbarTrigger.style.display = "none";
864
- };
865
-
866
- var expandToolbarTrigger = function expandToolbarTrigger() {
867
- toolbarTrigger.setAttribute("data-expanded", "");
868
- };
869
-
870
- var collapseToolbarTrigger = function collapseToolbarTrigger() {
871
- toolbarTrigger.removeAttribute("data-expanded", "");
872
- };
873
-
874
- hideToolbarTrigger();
875
- addToolbarEventCallback(iframe, "toolbar-visibility-change", function (visible) {
876
- if (visible) {
877
- hideToolbarTrigger();
878
- } else {
879
- showToolbarTrigger();
880
- }
881
- });
882
- return iframe;
883
- });
884
- });
885
- });
886
- });
887
-
888
- var addToolbarEventCallback = function addToolbarEventCallback(iframe, eventName, callback) {
889
- var messageEventCallback = function messageEventCallback(messageEvent) {
890
- var data = messageEvent.data;
891
-
892
- if (_typeof(data) !== "object") {
893
- return;
894
- }
895
-
896
- var __jsenv__ = data.__jsenv__;
897
-
898
- if (!__jsenv__) {
899
- return;
900
- }
901
-
902
- if (__jsenv__.event !== eventName) {
903
- return;
904
- }
905
-
906
- callback(__jsenv__.data);
907
- };
908
-
909
- window.addEventListener("message", messageEventCallback, false);
910
- return function () {
911
- window.removeEventListener("message", messageEventCallback, false);
912
- };
913
- };
914
-
915
- var sendCommandToToolbar = function sendCommandToToolbar(iframe, command) {
916
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
917
- args[_key - 2] = arguments[_key];
918
- }
919
-
920
- iframe.contentWindow.postMessage({
921
- __jsenv__: {
922
- command: command,
923
- args: args
924
- }
925
- }, window.origin);
926
- };
927
-
928
- var getToolbarPlaceholder = function getToolbarPlaceholder() {
929
- var placeholder = queryPlaceholder();
930
-
931
- if (placeholder) {
932
- if (document.body.contains(placeholder)) {
933
- return placeholder;
934
- } // otherwise iframe would not be visible because in <head>
935
-
936
-
937
- console.warn("element with [data-jsenv-toolbar-placeholder] must be inside document.body");
938
- return createTooolbarPlaceholder();
939
- }
940
-
941
- return createTooolbarPlaceholder();
942
- };
943
-
944
- var queryPlaceholder = function queryPlaceholder() {
945
- return document.querySelector("[data-jsenv-toolbar-placeholder]");
946
- };
947
-
948
- var createTooolbarPlaceholder = function createTooolbarPlaceholder() {
949
- var placeholder = document.createElement("span");
950
- document.body.appendChild(placeholder);
951
- return placeholder;
952
- };
953
-
954
- var iframeToLoadedPromise = function iframeToLoadedPromise(iframe) {
955
- return new Promise(function (resolve) {
956
- var onload = function onload() {
957
- iframe.removeEventListener("load", onload, true);
958
- resolve();
959
- };
960
-
961
- iframe.addEventListener("load", onload, true);
962
- });
963
- };
964
-
965
- if (document.readyState === "complete") {
966
- injectToolbar();
967
- } else {
968
- window.addEventListener("load", injectToolbar); // document.addEventListener("readystatechange", () => {
969
- // if (document.readyState === "complete") {
970
- // injectToolbar()
971
- // }
972
- // })
973
- }
974
- })();
975
-
976
- //# sourceMappingURL=toolbar_injector_65b501eb.js.map