@jsenv/core 25.5.0 → 26.0.1

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 (261) hide show
  1. package/dist/browser_client/asset-manifest.json +4 -0
  2. package/dist/browser_client/browser_client_fb33eaa4.js +5320 -0
  3. package/dist/browser_client/browser_client_fb33eaa4.js.map +1089 -0
  4. package/dist/build_manifest.js +6 -6
  5. package/dist/compile_proxy/asset-manifest.json +2 -2
  6. package/dist/compile_proxy/compile_proxy.html__inline__20_651d1e7b.js.map +343 -0
  7. package/dist/compile_proxy/{compile_proxy_ab528227.html → compile_proxy_62f952c4.html} +7 -6
  8. package/dist/event_source_client/asset-manifest.json +2 -2
  9. package/dist/event_source_client/event_source_client_69f48287.js +354 -0
  10. package/dist/event_source_client/{event_source_client_80644aee.js.map → event_source_client_69f48287.js.map} +2 -2
  11. package/dist/redirector/asset-manifest.json +2 -2
  12. package/dist/redirector/redirector.html__inline__12_171e07b4.js.map +349 -0
  13. package/dist/redirector/{redirector_6df2620a.html → redirector_8117ec92.html} +7 -6
  14. package/dist/toolbar/asset-manifest.json +5 -5
  15. package/dist/toolbar/assets/{light-theme.css_72a60fa3.map → light_theme.css_5bff0336.map} +2 -2
  16. package/dist/toolbar/assets/{overflow-menu.css_2859d519.map → overflow_menu.css_9a0fc3d8.map} +2 -2
  17. package/dist/toolbar/assets/{toolbar.main.css_b7d8bec1.map → toolbar_main.css_b1c67dd7.map} +7 -7
  18. package/dist/toolbar/{toolbar_9a52325b.html → toolbar_b0c9100c.html} +8 -7
  19. package/dist/toolbar/{toolbar.main_2c56a4e0.js.map → toolbar_main_f54c1bb0.js.map} +32 -32
  20. package/dist/toolbar_injector/asset-manifest.json +3 -3
  21. package/dist/toolbar_injector/assets/{jsenv-logo_188b9ca6.svg → jsenv_logo_192011c2.svg} +1 -1
  22. package/dist/toolbar_injector/toolbar_injector_65b501eb.js +976 -0
  23. package/dist/toolbar_injector/toolbar_injector_65b501eb.js.map +294 -0
  24. package/helpers/babel/asyncIterator/asyncIterator.js +61 -8
  25. package/helpers/babel/createClass/createClass.js +12 -12
  26. package/helpers/babel/inherits/inherits.js +10 -6
  27. package/helpers/babel/jsx/jsx.js +27 -22
  28. package/helpers/babel/objectSpread2/objectSpread2.js +22 -14
  29. package/helpers/babel/readme.md +3 -8
  30. package/helpers/babel/wrapRegExp/wrapRegExp.js +29 -29
  31. package/main.js +19 -14
  32. package/package.json +42 -43
  33. package/readme.md +23 -25
  34. package/src/{launchBrowser.js → browser_runtimes.js} +3 -8
  35. package/src/{buildProject.js → build_project.js} +6 -17
  36. package/src/{commonJsToJavaScriptModule.js → commonjs_to_js_module.js} +5 -5
  37. package/src/dev_server.js +19 -10
  38. package/src/execute.js +3 -3
  39. package/src/{executeTestPlan.js → execute_test_plan.js} +16 -9
  40. package/src/{importUsingChildProcess.js → import_using_child_process.js} +2 -2
  41. package/src/internal/{browser_runtime/browser_runtime.js → browser_client/browser_client.js} +13 -17
  42. package/src/internal/{browser_runtime/createBrowserRuntime.js → browser_client/browser_client_factory.js} +7 -9
  43. package/src/internal/{error-stack-remapping/installBrowserErrorStackRemapping.js → browser_client/browser_error_stack_remap.js} +1 -3
  44. package/src/internal/{browser_runtime → browser_client}/browser_system.js +2 -4
  45. package/src/internal/{browser_runtime/displayErrorInDocument.js → browser_client/error_in_document.js} +0 -2
  46. package/src/internal/{browser_runtime/displayErrorNotification.js → browser_client/error_in_notification.js} +0 -1
  47. package/src/internal/{browser_runtime/makeNamespaceTransferable.js → browser_client/module_namespace_transfer.js} +1 -1
  48. package/src/internal/{perf_browser.js → browser_client/perf_browser.js} +0 -2
  49. package/src/internal/browser_detection/browser_detection.js +9 -12
  50. package/src/internal/browser_detection/{detectAndroid.js → detect_android.js} +0 -0
  51. package/src/internal/browser_detection/{detectChrome.js → detect_chrome.js} +0 -0
  52. package/src/internal/browser_detection/{detectEdge.js → detect_edge.js} +0 -0
  53. package/src/internal/browser_detection/{detectElectron.js → detect_electron.js} +0 -0
  54. package/src/internal/browser_detection/{detectFirefox.js → detect_firefox.js} +0 -0
  55. package/src/internal/browser_detection/{detectInternetExplorer.js → detect_internet_explorer.js} +0 -0
  56. package/src/internal/browser_detection/{detectIOS.js → detect_ios.js} +0 -0
  57. package/src/internal/browser_detection/{detectOpera.js → detect_opera.js} +0 -0
  58. package/src/internal/browser_detection/{detectSafari.js → detect_safari.js} +0 -0
  59. package/src/internal/browser_detection/user_agent_data.js +0 -1
  60. package/src/internal/browser_launcher/{executeHtmlFile.js → execute_html_file.js} +5 -4
  61. package/src/internal/browser_launcher/from_playwright.js +3 -3
  62. package/src/internal/browser_launcher/{trackPageToNotify.js → page_errors_and_logs.js} +1 -1
  63. package/src/internal/browser_utils/{fetchAndEvalUsingFetch.js → fetch_and_eval.js} +1 -3
  64. package/src/internal/browser_utils/{fetchAndEvalUsingScript.js → fetch_and_eval_using_script.js} +0 -2
  65. package/src/internal/browser_utils/fetch_browser.js +1 -1
  66. package/src/internal/browser_utils/{fetchJson.js → fetch_json.js} +0 -0
  67. package/src/internal/browser_utils/{fetchUsingXHR.js → fetch_using_xhr.js} +0 -2
  68. package/src/internal/building/build_logs.js +37 -40
  69. package/src/internal/building/build_stats.js +2 -1
  70. package/src/internal/building/build_url_generator.js +1 -1
  71. package/src/internal/building/{buildUsingRollup.js → build_using_rollup.js} +6 -21
  72. package/src/internal/building/css/{applyPostCss.js → apply_post_css.js} +0 -0
  73. package/src/internal/building/css/{parseCssRessource.js → jsenv_parse_css.js} +5 -4
  74. package/src/internal/building/css/{moveCssUrls.js → move_css_urls.js} +1 -1
  75. package/src/internal/building/css/{parseCssUrls.js → parse_css_urls.js} +1 -1
  76. package/src/internal/building/css/postcss_plugin_url_visitor.js +1 -0
  77. package/src/internal/building/css/{replaceCssUrls.js → replace_css_urls.js} +2 -1
  78. package/src/internal/building/global_format/es_to_system.js +34 -0
  79. package/src/internal/building/{parsing.utils.js → html/html_node_mutations.js} +0 -0
  80. package/src/internal/building/html/{htmlScan.js → html_scan.js} +1 -1
  81. package/src/internal/building/html/{parseHtmlRessource.js → jsenv_parse_html.js} +5 -6
  82. package/src/internal/building/html/{minifyHtml.js → minify_html.js} +0 -0
  83. package/src/internal/building/{css_module.js → import_assertions/css_module.js} +3 -3
  84. package/src/internal/building/{json_module.js → import_assertions/json_module.js} +0 -0
  85. package/src/internal/building/import_references.js +0 -1
  86. package/src/internal/building/importmap/{parseImportmapRessource.js → jsenv_parse_importmap.js} +0 -0
  87. package/src/internal/building/js/{parseJsRessource.js → jsenv_parse_js.js} +2 -1
  88. package/src/internal/building/js/{minifyJs.js → minify_js.js} +0 -0
  89. package/src/internal/building/js/transform_worker.js +1 -1
  90. package/src/internal/building/json/{parseJsonRessource.js → jsenv_parse_json.js} +0 -0
  91. package/src/internal/building/{parseRessource.js → parse_ressource.js} +13 -13
  92. package/src/internal/building/ressource_builder.js +4 -3
  93. package/src/internal/building/ressource_builder_util.js +2 -2
  94. package/src/internal/building/rollup_plugin_jsenv.js +166 -61
  95. package/src/internal/building/{sortObjectByPathnames.js → sort_pathnames.js} +0 -0
  96. package/src/internal/building/{sourcemap_loader.js → sourcemap/sourcemap_loader.js} +3 -6
  97. package/src/internal/building/svg/{parseSvgRessource.js → jsenv_parse_svg.js} +4 -3
  98. package/src/internal/building/url_fetcher.js +1 -1
  99. package/src/internal/building/url_loader.js +3 -3
  100. package/src/internal/building/{resolve_import_url_helper.js → url_versioning/resolve_import_url_helper.js} +0 -0
  101. package/src/internal/building/{url_versioning.js → url_versioning/url_versioning.js} +1 -1
  102. package/src/internal/building/webmanifest/{parseWebmanifestRessource.js → jsenv_parse_webmanifest.js} +0 -0
  103. package/src/internal/{compiling → compile_server/commonjs}/rollup_plugin_commonjs_named_exports.js +0 -0
  104. package/src/internal/{compiling/compileFile.js → compile_server/compile_file.js} +6 -4
  105. package/src/internal/{compiling/startCompileServer.js → compile_server/compile_server.js} +11 -24
  106. package/src/internal/{compiling/createCompiledFileService.js → compile_server/compiled_file_service.js} +5 -8
  107. package/src/internal/{compiling/compileHtml.js → compile_server/html/html_ast.js} +2 -12
  108. package/src/internal/{compiling → compile_server/html}/html_source_file_service.js +10 -10
  109. package/src/internal/{compiling/jsenvCompilerForHtml.js → compile_server/html/jsenv_compile_html.js} +12 -12
  110. package/src/internal/{compiling/jsenvCompilerForImportmap.js → compile_server/importmap/jsenv_compile_importmap.js} +1 -1
  111. package/src/internal/{compiling/js-compilation-service/ansiToHTML.js → compile_server/js/ansi_to_html.js} +1 -1
  112. package/src/internal/{compiling/js-compilation-service → compile_server/js}/babelHelper.js +1 -1
  113. package/src/internal/{compiling → compile_server/js}/babel_parse_error.js +0 -0
  114. package/src/internal/{compiling/js-compilation-service → compile_server/js}/babel_plugin_babel_helpers_as_jsenv_imports.js +2 -1
  115. package/src/internal/{compiling → compile_server/js}/babel_plugin_global_this_as_jsenv_import.js +1 -1
  116. package/src/internal/{compiling → compile_server/js}/babel_plugin_import_assertions.js +1 -0
  117. package/src/internal/{compiling → compile_server/js}/babel_plugin_import_metadata.js +0 -0
  118. package/src/internal/{compiling → compile_server/js}/babel_plugin_import_visitor.js +0 -0
  119. package/src/internal/{compiling → compile_server/js}/babel_plugin_new_stylesheet_as_jsenv_import.js +1 -1
  120. package/src/internal/{compiling → compile_server/js}/babel_plugin_proxy_external_imports.js +0 -0
  121. package/src/internal/{compiling/js-compilation-service → compile_server/js}/babel_plugin_regenerator_runtime_as_jsenv_import.js +1 -1
  122. package/src/internal/{babel_plugin_replace_expressions.js → compile_server/js/babel_plugin_replace_expressions.js} +0 -0
  123. package/src/internal/{compiling/js-compilation-service → compile_server/js}/babel_plugin_systemjs_prepend.js +2 -2
  124. package/src/internal/{compiling → compile_server/js}/babel_plugin_transform_import_meta.js +0 -0
  125. package/src/internal/{compiling → compile_server/js}/babel_plugins.js +0 -0
  126. package/src/internal/{compiling/js-compilation-service → compile_server/js}/generateBabelHelper.js +1 -1
  127. package/src/internal/{compiling/js-compilation-service/transformJs.js → compile_server/js/js_transformer.js} +8 -9
  128. package/src/internal/{compiling/jsenvCompilerForJavaScript.js → compile_server/js/jsenv_compile_js.js} +7 -7
  129. package/src/internal/{compiling → compile_server/js}/load_babel_plugin_map_from_file.js +0 -0
  130. package/src/internal/{compiling → compile_server}/jsenv_directory/comparison_utils.js +0 -0
  131. package/src/internal/{compiling/transformResultToCompilationResult.js → compile_server/jsenv_directory/compilation_result.js} +6 -5
  132. package/src/internal/{building/buildToCompilationResult.js → compile_server/jsenv_directory/compilation_result_from_build.js} +4 -3
  133. package/src/internal/{compiling → compile_server}/jsenv_directory/compile_asset.js +0 -0
  134. package/src/internal/{compiling → compile_server}/jsenv_directory/compile_context.js +4 -13
  135. package/src/internal/{compiling → compile_server}/jsenv_directory/compile_profile.js +1 -2
  136. package/src/internal/{compiling → compile_server}/jsenv_directory/file_lock_registry.js +0 -0
  137. package/src/internal/{compiling → compile_server}/jsenv_directory/file_lock_registry.test.js +0 -0
  138. package/src/internal/{compiling/jsenv_directory/fs-optimized-for-cache.js → compile_server/jsenv_directory/fs_optimized_for_cache.js} +0 -0
  139. package/src/internal/{compiling → compile_server}/jsenv_directory/jsenv_directory.js +17 -8
  140. package/src/internal/{compiling/jsenv_directory/getOrGenerateCompiledFile.js → compile_server/jsenv_directory/reuse_or_create_compiled_file.js} +3 -3
  141. package/src/internal/compile_server/jsenv_directory/update_compile_cache.js +131 -0
  142. package/src/internal/{compiling/jsenv_directory/validateCache.js → compile_server/jsenv_directory/validate_compile_cache.js} +1 -1
  143. package/src/internal/{compiling → compile_server}/sse_service/sse_service.js +1 -1
  144. package/src/internal/{executing/coverage → coverage}/babel_plugin_instrument.js +1 -1
  145. package/src/internal/{executing/coverage_reporter → coverage}/coverage_reporter_html_directory.js +3 -2
  146. package/src/internal/{executing/coverage_reporter → coverage}/coverage_reporter_json_file.js +1 -1
  147. package/src/internal/{executing/coverage_reporter → coverage}/coverage_reporter_text_log.js +3 -2
  148. package/src/internal/{executing/coverage_missing/relativeUrlToEmptyCoverage.js → coverage/empty_coverage_factory.js} +10 -3
  149. package/src/internal/{executing/coverage_utils → coverage}/file_by_file_coverage.js +0 -0
  150. package/src/internal/{executing/coverage_utils → coverage}/istanbul_coverage_composition.js +1 -1
  151. package/src/internal/{executing/coverage_reporter/istanbulCoverageMapFromCoverage.js → coverage/istanbul_coverage_map_from_coverage.js} +1 -1
  152. package/src/internal/{executing/coverage_missing → coverage}/list_files_not_covered.js +0 -0
  153. package/src/internal/{executing/coverage_missing → coverage}/missing_coverage.js +1 -1
  154. package/src/internal/{executing/coverage/reportToCoverage.js → coverage/report_to_coverage.js} +8 -7
  155. package/src/internal/{executing/coverage_utils → coverage}/v8_and_istanbul.js +0 -0
  156. package/src/internal/{executing/coverage_utils → coverage}/v8_coverage_composition.js +0 -0
  157. package/src/internal/{executing/coverage_utils → coverage}/v8_coverage_from_directory.js +2 -1
  158. package/src/internal/{executing/coverage_utils → coverage}/v8_coverage_to_istanbul.js +0 -0
  159. package/src/internal/data_url.js +54 -0
  160. package/src/internal/dev_server/exploring/exploring.js +1 -1
  161. package/src/internal/dev_server/exploring/{fetchExploringJson.js → fetch_exploring_json.js} +1 -1
  162. package/src/internal/dev_server/toolbar/animation/{toolbar.animation.js → toolbar_animation.js} +0 -0
  163. package/src/internal/dev_server/toolbar/compilation/{toolbar.compilation.js → toolbar_compilation.js} +3 -2
  164. package/src/internal/dev_server/toolbar/eventsource/{toolbar.eventsource.js → toolbar_eventsource.js} +0 -0
  165. package/src/internal/dev_server/toolbar/execution/{toolbar.execution.js → toolbar_execution.js} +1 -1
  166. package/src/internal/dev_server/toolbar/focus/{toolbar.focus.js → toolbar_focus.js} +0 -0
  167. package/src/internal/dev_server/toolbar/{jsenv-logo.svg → jsenv_logo.svg} +1 -1
  168. package/src/internal/dev_server/toolbar/notification/{toolbar.notification.js → toolbar_notification.js} +0 -0
  169. package/src/internal/dev_server/toolbar/responsive/{overflow-menu.css → overflow_menu.css} +0 -0
  170. package/src/internal/dev_server/toolbar/responsive/{toolbar.responsive.js → toolbar_responsive.js} +0 -0
  171. package/src/internal/dev_server/toolbar/settings/{toolbar.settings.js → toolbar_settings.js} +0 -0
  172. package/src/internal/dev_server/toolbar/theme/{jsenv-theme.css → jsenv_theme.css} +0 -0
  173. package/src/internal/dev_server/toolbar/theme/{light-theme.css → light_theme.css} +0 -0
  174. package/src/internal/dev_server/toolbar/theme/{toolbar.theme.js → toolbar_theme.js} +0 -0
  175. package/src/internal/dev_server/toolbar/toolbar.html +2 -2
  176. package/src/internal/dev_server/toolbar/{toolbar.injector.js → toolbar_injector.js} +4 -3
  177. package/src/internal/dev_server/toolbar/{toolbar.main.css → toolbar_main.css} +2 -2
  178. package/src/internal/dev_server/toolbar/{toolbar.main.js → toolbar_main.js} +9 -9
  179. package/src/internal/dev_server/toolbar/util/fetching.js +1 -1
  180. package/src/internal/dev_server/toolbar/util/{jsenvLogger.js → jsenv_logger.js} +0 -0
  181. package/src/internal/{error-stack-remapping/installErrorStackRemapping.js → error_stack_remap/install_error_stack_remapping.js} +6 -5
  182. package/src/internal/{error-stack-remapping/remapCallSite.js → error_stack_remap/remap_call_site.js} +2 -1
  183. package/src/internal/{error-stack-remapping/getOriginalCallsites.js → error_stack_remap/remap_stack.js} +7 -6
  184. package/src/internal/{error-stack-remapping/stackToString.js → error_stack_remap/stringify_stack.js} +1 -1
  185. package/src/internal/executing/{executePlan.js → execute_plan.js} +11 -8
  186. package/src/internal/executing/{generateFileExecutionSteps.js → execution_steps.js} +27 -0
  187. package/src/internal/executing/{launchAndExecute.js → launch_and_execute.js} +2 -2
  188. package/src/internal/executing/{executionLogs.js → logs_file_execution.js} +3 -2
  189. package/src/internal/executing/{createSummaryLog.js → logs_plan_summary.js} +3 -2
  190. package/src/internal/features/browser_feature_detection/browser_feature_detection.js +1 -1
  191. package/src/internal/features/features_compat_from_runtime.js +1 -1
  192. package/src/internal/features/node_feature_detection/node_feature_detection.js +1 -1
  193. package/src/internal/{fetchUrl.js → fetching.js} +0 -0
  194. package/src/internal/{import-resolution/default-extension.js → import_resolution/default_extension.js} +0 -0
  195. package/src/internal/{import-resolution/import-resolver-importmap.js → import_resolution/import_resolver_importmap.js} +2 -2
  196. package/src/internal/{import-resolution/import-resolver-node.js → import_resolution/import_resolver_node.js} +2 -2
  197. package/src/internal/{import-resolution → import_resolution}/importmap_default.js +1 -1
  198. package/src/internal/jsenv_builds.js +1 -1
  199. package/src/internal/{argUtils.js → jsenv_params_assertions.js} +0 -0
  200. package/src/internal/jsenv_remote_directory.js +1 -1
  201. package/src/internal/logs/{byteAsFileSize.js → byte_as_file_size.js} +1 -1
  202. package/src/internal/logs/{msAsDuration.js → ms_as_duration.js} +1 -1
  203. package/src/internal/node_launcher/{createChildProcessOptions.js → child_process_options.js} +1 -1
  204. package/src/internal/{node_runtime/evalSource.js → node_launcher/eval_source.js} +0 -0
  205. package/src/internal/{node_runtime/fetchSource.js → node_launcher/fetch_source.js} +1 -1
  206. package/src/internal/node_launcher/kill_process_tree.js +2 -2
  207. package/src/internal/{node_runtime/nodeControllableFile.mjs → node_launcher/node_controllable_file.mjs} +0 -0
  208. package/src/internal/node_launcher/{createControllableNodeProcess.js → node_controllable_process.js} +3 -3
  209. package/src/internal/{error-stack-remapping/installNodeErrorStackRemapping.js → node_launcher/node_error_stack_remap.js} +5 -3
  210. package/src/internal/{node_runtime → node_launcher}/node_execution_dynamic_import.js +3 -2
  211. package/src/internal/{node_runtime → node_launcher}/node_execution_performance.js +0 -0
  212. package/src/internal/{node_runtime → node_launcher}/node_execution_systemjs.js +6 -6
  213. package/src/internal/{node_runtime → node_launcher}/node_system.js +7 -6
  214. package/src/internal/{perf_node.js → node_launcher/perf_node.js} +1 -1
  215. package/src/internal/node_launcher/{processOptions.js → process_options.js} +0 -0
  216. package/src/internal/{runtime/valueInstall.js → node_launcher/value_install.js} +0 -0
  217. package/src/internal/{escapeRegexpSpecialCharacters.js → regexp_escape.js} +0 -0
  218. package/src/internal/{runtime/module-registration.js → runtime_client/module_registration.js} +0 -0
  219. package/src/internal/{runtime → runtime_client}/s.js +3 -2
  220. package/src/internal/{runtime → runtime_client}/s.js.md +0 -0
  221. package/src/internal/{unevalException.js → runtime_client/uneval_exception.js} +0 -0
  222. package/src/internal/runtime_support/runtime_support.js +1 -1
  223. package/src/internal/semantic_versioning/{versionCompare.js → compare_versions.js} +4 -8
  224. package/src/internal/semantic_versioning/{findHighestVersion.js → highest_version.js} +1 -2
  225. package/src/internal/semantic_versioning/is_above.js +5 -0
  226. package/src/internal/semantic_versioning/is_below.js +5 -0
  227. package/src/internal/semantic_versioning/{versionIsEqual.js → is_equal.js} +0 -0
  228. package/src/internal/semantic_versioning/{findLowestVersion.js → lowest_version.js} +1 -2
  229. package/src/internal/semantic_versioning/{valueToVersion.js → version_from_value.js} +1 -3
  230. package/src/internal/{sourceMappingURLUtils.js → sourcemap_utils.js} +0 -0
  231. package/src/internal/{escapeTemplateStringSpecialCharacters.js → template_string_escape.js} +0 -0
  232. package/src/internal/{filePathUtils.js → windows_file_path_utils.js} +0 -3
  233. package/src/jsenv_file_urls.js +35 -0
  234. package/src/{jsenvServiceWorkerFinalizer.js → jsenv_service_worker_finalizer.js} +1 -1
  235. package/src/{textToJavaScriptModule.js → json_to_js_module.js} +1 -2
  236. package/src/{launchNode.js → node_runtime.js} +3 -3
  237. package/src/{requireUsingChildProcess.js → require_using_child_process.js} +2 -2
  238. package/src/{jsonToJavaScriptModule.js → text_to_js_module.js} +3 -2
  239. package/dist/browser_runtime/asset-manifest.json +0 -4
  240. package/dist/browser_runtime/browser_runtime_0e3396a1.js +0 -5298
  241. package/dist/browser_runtime/browser_runtime_0e3396a1.js.map +0 -1089
  242. package/dist/compile_proxy/compile_proxy.html__inline__20_f4285042.js.map +0 -343
  243. package/dist/event_source_client/event_source_client_80644aee.js +0 -356
  244. package/dist/redirector/redirector.html__inline__12_404b8295.js.map +0 -349
  245. package/dist/toolbar_injector/toolbar_injector_1e193101.js +0 -976
  246. package/dist/toolbar_injector/toolbar_injector_1e193101.js.map +0 -294
  247. package/src/internal/browser_runtime/evalSource.js +0 -11
  248. package/src/internal/compiling/jsenv_directory/updateMeta.js +0 -150
  249. package/src/internal/dataUrl.utils.js +0 -55
  250. package/src/internal/executing/coverage_missing/createEmptyCoverage.js +0 -6
  251. package/src/internal/executing/executionIsPassed.js +0 -2
  252. package/src/internal/executing/generateExecutionSteps.js +0 -29
  253. package/src/internal/jsenvCoreDirectoryUrl.js +0 -22
  254. package/src/internal/jsenvInternalFiles.js +0 -36
  255. package/src/internal/semantic_versioning/index.js +0 -5
  256. package/src/internal/semantic_versioning/versionIsAbove.js +0 -5
  257. package/src/internal/semantic_versioning/versionIsBelow.js +0 -5
  258. package/src/jsenvCoverageConfig.js +0 -7
  259. package/src/jsenvExplorableConfig.js +0 -9
  260. package/src/jsenvRuntimeSupportDuringDev.js +0 -12
  261. package/src/playwright_browser_versions.js +0 -5
@@ -1,976 +0,0 @@
1
- (function () {
2
- 'use strict';
3
-
4
- var nativeTypeOf = function nativeTypeOf(obj) {
5
- return typeof obj;
6
- };
7
-
8
- var customTypeOf = function customTypeOf(obj) {
9
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
10
- };
11
-
12
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? nativeTypeOf : customTypeOf;
13
-
14
- var defineProperty = (function (obj, key, value) {
15
- // Shortcircuit the slow defineProperty path when possible.
16
- // We are trying to avoid issues where setters defined on the
17
- // prototype cause side effects under the fast path of simple
18
- // assignment. By checking for existence of the property with
19
- // the in operator, we can optimize most of this overhead away.
20
- if (key in obj) {
21
- Object.defineProperty(obj, key, {
22
- value: value,
23
- enumerable: true,
24
- configurable: true,
25
- writable: true
26
- });
27
- } else {
28
- obj[key] = value;
29
- }
30
-
31
- return obj;
32
- });
33
-
34
- function ownKeys(object, enumerableOnly) {
35
- var keys = Object.keys(object);
36
-
37
- if (Object.getOwnPropertySymbols) {
38
- var symbols = Object.getOwnPropertySymbols(object);
39
-
40
- if (enumerableOnly) {
41
- symbols = symbols.filter(function (sym) {
42
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
43
- });
44
- }
45
-
46
- keys.push.apply(keys, symbols);
47
- }
48
-
49
- return keys;
50
- }
51
-
52
- function _objectSpread2(target) {
53
- for (var i = 1; i < arguments.length; i++) {
54
- var source = arguments[i] != null ? arguments[i] : {};
55
-
56
- if (i % 2) {
57
- ownKeys(Object(source), true).forEach(function (key) {
58
- defineProperty(target, key, source[key]);
59
- });
60
- } else if (Object.getOwnPropertyDescriptors) {
61
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
62
- } else {
63
- ownKeys(Object(source)).forEach(function (key) {
64
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
65
- });
66
- }
67
- }
68
-
69
- return target;
70
- }
71
-
72
- var objectWithoutPropertiesLoose = (function (source, excluded) {
73
- if (source === null) return {};
74
- var target = {};
75
- var sourceKeys = Object.keys(source);
76
- var key;
77
- var i;
78
-
79
- for (i = 0; i < sourceKeys.length; i++) {
80
- key = sourceKeys[i];
81
- if (excluded.indexOf(key) >= 0) continue;
82
- target[key] = source[key];
83
- }
84
-
85
- return target;
86
- });
87
-
88
- var _objectWithoutProperties = (function (source, excluded) {
89
- if (source === null) return {};
90
- var target = objectWithoutPropertiesLoose(source, excluded);
91
- var key;
92
- var i;
93
-
94
- if (Object.getOwnPropertySymbols) {
95
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
96
-
97
- for (i = 0; i < sourceSymbolKeys.length; i++) {
98
- key = sourceSymbolKeys[i];
99
- if (excluded.indexOf(key) >= 0) continue;
100
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
101
- target[key] = source[key];
102
- }
103
- }
104
-
105
- return target;
106
- });
107
-
108
- /* eslint-env browser */
109
- function _await$4(value, then, direct) {
110
- if (direct) {
111
- return then ? then(value) : value;
112
- }
113
-
114
- if (!value || !value.then) {
115
- value = Promise.resolve(value);
116
- }
117
-
118
- return then ? value.then(then) : value;
119
- }
120
-
121
- function _async$4(f) {
122
- return function () {
123
- for (var args = [], i = 0; i < arguments.length; i++) {
124
- args[i] = arguments[i];
125
- }
126
-
127
- try {
128
- return Promise.resolve(f.apply(this, args));
129
- } catch (e) {
130
- return Promise.reject(e);
131
- }
132
- };
133
- }
134
-
135
- function _call$1(body, then, direct) {
136
- if (direct) {
137
- return then ? then(body()) : body();
138
- }
139
-
140
- try {
141
- var result = Promise.resolve(body());
142
- return then ? result.then(then) : result;
143
- } catch (e) {
144
- return Promise.reject(e);
145
- }
146
- }
147
-
148
- var fetchUsingXHR = _async$4(function (url) {
149
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
150
- signal = _ref.signal,
151
- _ref$method = _ref.method,
152
- method = _ref$method === void 0 ? "GET" : _ref$method,
153
- _ref$credentials = _ref.credentials,
154
- credentials = _ref$credentials === void 0 ? "same-origin" : _ref$credentials,
155
- _ref$headers = _ref.headers,
156
- headers = _ref$headers === void 0 ? {} : _ref$headers,
157
- _ref$body = _ref.body,
158
- body = _ref$body === void 0 ? null : _ref$body;
159
-
160
- var headersPromise = createPromiseAndHooks();
161
- var bodyPromise = createPromiseAndHooks();
162
- var xhr = new XMLHttpRequest();
163
-
164
- var failure = function failure(error) {
165
- // if it was already resolved, we must reject the body promise
166
- if (headersPromise.settled) {
167
- bodyPromise.reject(error);
168
- } else {
169
- headersPromise.reject(error);
170
- }
171
- };
172
-
173
- var cleanup = function cleanup() {
174
- xhr.ontimeout = null;
175
- xhr.onerror = null;
176
- xhr.onload = null;
177
- xhr.onreadystatechange = null;
178
- };
179
-
180
- xhr.ontimeout = function () {
181
- cleanup();
182
- failure(new Error("xhr request timeout on ".concat(url, ".")));
183
- };
184
-
185
- xhr.onerror = function (error) {
186
- cleanup(); // unfortunately with have no clue why it fails
187
- // might be cors for instance
188
-
189
- failure(createRequestError(error, {
190
- url: url
191
- }));
192
- };
193
-
194
- xhr.onload = function () {
195
- cleanup();
196
- bodyPromise.resolve();
197
- };
198
-
199
- signal.addEventListener("abort", function () {
200
- xhr.abort();
201
- var abortError = new Error("aborted");
202
- abortError.name = "AbortError";
203
- failure(abortError);
204
- });
205
-
206
- xhr.onreadystatechange = function () {
207
- // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState
208
- var readyState = xhr.readyState;
209
-
210
- if (readyState === 2) {
211
- headersPromise.resolve();
212
- } else if (readyState === 4) {
213
- cleanup();
214
- bodyPromise.resolve();
215
- }
216
- };
217
-
218
- xhr.open(method, url, true);
219
- Object.keys(headers).forEach(function (key) {
220
- xhr.setRequestHeader(key, headers[key]);
221
- });
222
- xhr.withCredentials = computeWithCredentials({
223
- credentials: credentials,
224
- url: url
225
- });
226
-
227
- if ("responseType" in xhr && hasBlob) {
228
- xhr.responseType = "blob";
229
- }
230
-
231
- xhr.send(body);
232
- return _await$4(headersPromise, function () {
233
- // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL
234
- var responseUrl = "responseURL" in xhr ? xhr.responseURL : headers["x-request-url"];
235
- var responseStatus = xhr.status;
236
- var responseStatusText = xhr.statusText;
237
- var responseHeaders = getHeadersFromXHR(xhr);
238
-
239
- var readBody = function readBody() {
240
- return _await$4(bodyPromise, function () {
241
- var status = xhr.status; // in Chrome on file:/// URLs, status is 0
242
-
243
- if (status === 0) {
244
- responseStatus = 200;
245
- }
246
-
247
- var body = "response" in xhr ? xhr.response : xhr.responseText;
248
- return {
249
- responseBody: body,
250
- responseBodyType: detectBodyType(body)
251
- };
252
- });
253
- };
254
-
255
- var text = function text() {
256
- return _call$1(readBody, function (_ref2) {
257
- var responseBody = _ref2.responseBody,
258
- responseBodyType = _ref2.responseBodyType;
259
-
260
- if (responseBodyType === "blob") {
261
- return blobToText(responseBody);
262
- }
263
-
264
- if (responseBodyType === "formData") {
265
- throw new Error("could not read FormData body as text");
266
- }
267
-
268
- return responseBodyType === "dataView" ? arrayBufferToText(responseBody.buffer) : responseBodyType === "arrayBuffer" ? arrayBufferToText(responseBody) : String(responseBody);
269
- });
270
- };
271
-
272
- var json = function json() {
273
- return _call$1(text, JSON.parse);
274
- };
275
-
276
- var blob = _async$4(function () {
277
- if (!hasBlob) {
278
- throw new Error("blob not supported");
279
- }
280
-
281
- return _call$1(readBody, function (_ref3) {
282
- var responseBody = _ref3.responseBody,
283
- responseBodyType = _ref3.responseBodyType;
284
-
285
- if (responseBodyType === "blob") {
286
- return responseBody;
287
- }
288
-
289
- if (responseBodyType === "dataView") {
290
- return new Blob([cloneBuffer(responseBody.buffer)]);
291
- }
292
-
293
- if (responseBodyType === "arrayBuffer") {
294
- return new Blob([cloneBuffer(responseBody)]);
295
- }
296
-
297
- if (responseBodyType === "formData") {
298
- throw new Error("could not read FormData body as blob");
299
- }
300
-
301
- return new Blob([String(responseBody)]);
302
- });
303
- });
304
-
305
- var arrayBuffer = function arrayBuffer() {
306
- return _call$1(readBody, function (_ref4) {
307
- var responseBody = _ref4.responseBody,
308
- responseBodyType = _ref4.responseBodyType;
309
- return responseBodyType === "arrayBuffer" ? cloneBuffer(responseBody) : _call$1(blob, blobToArrayBuffer);
310
- });
311
- };
312
-
313
- var formData = _async$4(function () {
314
- if (!hasFormData) {
315
- throw new Error("formData not supported");
316
- }
317
-
318
- return _call$1(text, textToFormData);
319
- });
320
-
321
- return {
322
- url: responseUrl,
323
- status: responseStatus,
324
- statusText: responseStatusText,
325
- headers: responseHeaders,
326
- text: text,
327
- json: json,
328
- blob: blob,
329
- arrayBuffer: arrayBuffer,
330
- formData: formData
331
- };
332
- });
333
- });
334
-
335
- var canUseBlob = function canUseBlob() {
336
- if (typeof window.FileReader !== "function") return false;
337
- if (typeof window.Blob !== "function") return false;
338
-
339
- try {
340
- // eslint-disable-next-line no-new
341
- new Blob();
342
- return true;
343
- } catch (e) {
344
- return false;
345
- }
346
- };
347
-
348
- var hasBlob = canUseBlob();
349
- var hasFormData = typeof window.FormData === "function";
350
- var hasArrayBuffer = typeof window.ArrayBuffer === "function";
351
- var hasSearchParams = typeof window.URLSearchParams === "function";
352
-
353
- var createRequestError = function createRequestError(error, _ref5) {
354
- var url = _ref5.url;
355
- return new Error("error during xhr request on ".concat(url, ".\n--- error stack ---\n").concat(error.stack));
356
- };
357
-
358
- var createPromiseAndHooks = function createPromiseAndHooks() {
359
- var resolve;
360
- var reject;
361
- var promise = new Promise(function (res, rej) {
362
- resolve = function resolve(value) {
363
- promise.settled = true;
364
- res(value);
365
- };
366
-
367
- reject = function reject(value) {
368
- promise.settled = true;
369
- rej(value);
370
- };
371
- });
372
- promise.resolve = resolve;
373
- promise.reject = reject;
374
- return promise;
375
- }; // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
376
-
377
-
378
- var computeWithCredentials = function computeWithCredentials(_ref6) {
379
- var credentials = _ref6.credentials,
380
- url = _ref6.url;
381
-
382
- if (credentials === "same-origin") {
383
- return originSameAsGlobalOrigin(url);
384
- }
385
-
386
- return credentials === "include";
387
- };
388
-
389
- var originSameAsGlobalOrigin = function originSameAsGlobalOrigin(url) {
390
- // if we cannot read globalOrigin from window.location.origin, let's consider it's ok
391
- if ((typeof window === "undefined" ? "undefined" : _typeof(window)) !== "object") return true;
392
- if (_typeof(window.location) !== "object") return true;
393
- var globalOrigin = window.location.origin;
394
- if (globalOrigin === "null") return true;
395
- return hrefToOrigin(url) === globalOrigin;
396
- };
397
-
398
- var detectBodyType = function detectBodyType(body) {
399
- if (!body) {
400
- return "";
401
- }
402
-
403
- if (typeof body === "string") {
404
- return "text";
405
- }
406
-
407
- if (hasBlob && Blob.prototype.isPrototypeOf(body)) {
408
- return "blob";
409
- }
410
-
411
- if (hasFormData && FormData.prototype.isPrototypeOf(body)) {
412
- return "formData";
413
- }
414
-
415
- if (hasArrayBuffer) {
416
- if (hasBlob && isDataView(body)) {
417
- return "dataView";
418
- }
419
-
420
- if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {
421
- return "arrayBuffer";
422
- }
423
- }
424
-
425
- if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
426
- return "searchParams";
427
- }
428
-
429
- return "";
430
- }; // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example
431
-
432
-
433
- var getHeadersFromXHR = function getHeadersFromXHR(xhr) {
434
- var headerMap = {};
435
- var headersString = xhr.getAllResponseHeaders();
436
- if (headersString === "") return headerMap;
437
- var lines = headersString.trim().split(/[\r\n]+/);
438
- lines.forEach(function (line) {
439
- var parts = line.split(": ");
440
- var name = parts.shift();
441
- var value = parts.join(": ");
442
- headerMap[name.toLowerCase()] = value;
443
- });
444
- return headerMap;
445
- };
446
-
447
- var hrefToOrigin = function hrefToOrigin(href) {
448
- var scheme = hrefToScheme(href);
449
-
450
- if (scheme === "file") {
451
- return "file://";
452
- }
453
-
454
- if (scheme === "http" || scheme === "https") {
455
- var secondProtocolSlashIndex = scheme.length + "://".length;
456
- var pathnameSlashIndex = href.indexOf("/", secondProtocolSlashIndex);
457
- if (pathnameSlashIndex === -1) return href;
458
- return href.slice(0, pathnameSlashIndex);
459
- }
460
-
461
- return href.slice(0, scheme.length + 1);
462
- };
463
-
464
- var hrefToScheme = function hrefToScheme(href) {
465
- var colonIndex = href.indexOf(":");
466
- if (colonIndex === -1) return "";
467
- return href.slice(0, colonIndex);
468
- };
469
-
470
- var isDataView = function isDataView(obj) {
471
- return obj && DataView.prototype.isPrototypeOf(obj);
472
- };
473
-
474
- var isArrayBufferView = ArrayBuffer.isView || function () {
475
- var viewClasses = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"];
476
- return function (value) {
477
- return value && viewClasses.includes(Object.prototype.toString.call(value));
478
- };
479
- }();
480
-
481
- var textToFormData = function textToFormData(text) {
482
- var form = new FormData();
483
- text.trim().split("&").forEach(function (bytes) {
484
- if (bytes) {
485
- var split = bytes.split("=");
486
- var name = split.shift().replace(/\+/g, " ");
487
- var value = split.join("=").replace(/\+/g, " ");
488
- form.append(decodeURIComponent(name), decodeURIComponent(value));
489
- }
490
- });
491
- return form;
492
- };
493
-
494
- var blobToArrayBuffer = _async$4(function (blob) {
495
- var reader = new FileReader();
496
- var promise = fileReaderReady(reader);
497
- reader.readAsArrayBuffer(blob);
498
- return promise;
499
- });
500
-
501
- var blobToText = function blobToText(blob) {
502
- var reader = new FileReader();
503
- var promise = fileReaderReady(reader);
504
- reader.readAsText(blob);
505
- return promise;
506
- };
507
-
508
- var arrayBufferToText = function arrayBufferToText(arrayBuffer) {
509
- var view = new Uint8Array(arrayBuffer);
510
- var chars = new Array(view.length);
511
- var i = 0;
512
-
513
- while (i < view.length) {
514
- chars[i] = String.fromCharCode(view[i]);
515
- i++;
516
- }
517
-
518
- return chars.join("");
519
- };
520
-
521
- var fileReaderReady = function fileReaderReady(reader) {
522
- return new Promise(function (resolve, reject) {
523
- reader.onload = function () {
524
- resolve(reader.result);
525
- };
526
-
527
- reader.onerror = function () {
528
- reject(reader.error);
529
- };
530
- });
531
- };
532
-
533
- var cloneBuffer = function cloneBuffer(buffer) {
534
- if (buffer.slice) {
535
- return buffer.slice(0);
536
- }
537
-
538
- var view = new Uint8Array(buffer.byteLength);
539
- view.set(new Uint8Array(buffer));
540
- return view.buffer;
541
- };
542
-
543
- var _excluded = ["mode"];
544
-
545
- function _await$3(value, then, direct) {
546
- if (direct) {
547
- return then ? then(value) : value;
548
- }
549
-
550
- if (!value || !value.then) {
551
- value = Promise.resolve(value);
552
- }
553
-
554
- return then ? value.then(then) : value;
555
- }
556
-
557
- function _async$3(f) {
558
- return function () {
559
- for (var args = [], i = 0; i < arguments.length; i++) {
560
- args[i] = arguments[i];
561
- }
562
-
563
- try {
564
- return Promise.resolve(f.apply(this, args));
565
- } catch (e) {
566
- return Promise.reject(e);
567
- }
568
- };
569
- }
570
-
571
- var fetchNative = _async$3(function (url) {
572
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
573
-
574
- var _ref$mode = _ref.mode,
575
- mode = _ref$mode === void 0 ? "cors" : _ref$mode,
576
- options = _objectWithoutProperties(_ref, _excluded);
577
-
578
- return _await$3(window.fetch(url, _objectSpread2({
579
- mode: mode
580
- }, options)), function (response) {
581
- return {
582
- url: response.url,
583
- status: response.status,
584
- statusText: "",
585
- headers: responseToHeaders(response),
586
- text: function text() {
587
- return response.text();
588
- },
589
- json: function json() {
590
- return response.json();
591
- },
592
- blob: function blob() {
593
- return response.blob();
594
- },
595
- arrayBuffer: function arrayBuffer() {
596
- return response.arrayBuffer();
597
- },
598
- formData: function formData() {
599
- return response.formData();
600
- }
601
- };
602
- });
603
- });
604
-
605
- var responseToHeaders = function responseToHeaders(response) {
606
- var headers = {};
607
- response.headers.forEach(function (value, name) {
608
- headers[name] = value;
609
- });
610
- return headers;
611
- };
612
-
613
- var fetchUrl = typeof window.fetch === "function" && typeof window.AbortController === "function" ? fetchNative : fetchUsingXHR;
614
-
615
- function _await$2(value, then, direct) {
616
- if (direct) {
617
- return then ? then(value) : value;
618
- }
619
-
620
- if (!value || !value.then) {
621
- value = Promise.resolve(value);
622
- }
623
-
624
- return then ? value.then(then) : value;
625
- }
626
-
627
- function _async$2(f) {
628
- return function () {
629
- for (var args = [], i = 0; i < arguments.length; i++) {
630
- args[i] = arguments[i];
631
- }
632
-
633
- try {
634
- return Promise.resolve(f.apply(this, args));
635
- } catch (e) {
636
- return Promise.reject(e);
637
- }
638
- };
639
- }
640
-
641
- var fetchJson = _async$2(function (url) {
642
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
643
- return _await$2(fetchUrl(url, options), function (response) {
644
- return _await$2(response.json());
645
- });
646
- });
647
-
648
- function _await$1(value, then, direct) {
649
- if (direct) {
650
- return then ? then(value) : value;
651
- }
652
-
653
- if (!value || !value.then) {
654
- value = Promise.resolve(value);
655
- }
656
-
657
- return then ? value.then(then) : value;
658
- }
659
-
660
- function _catch(body, recover) {
661
- try {
662
- var result = body();
663
- } catch (e) {
664
- return recover(e);
665
- }
666
-
667
- if (result && result.then) {
668
- return result.then(void 0, recover);
669
- }
670
-
671
- return result;
672
- }
673
-
674
- function _async$1(f) {
675
- return function () {
676
- for (var args = [], i = 0; i < arguments.length; i++) {
677
- args[i] = arguments[i];
678
- }
679
-
680
- try {
681
- return Promise.resolve(f.apply(this, args));
682
- } catch (e) {
683
- return Promise.reject(e);
684
- }
685
- };
686
- }
687
-
688
- var fetchExploringJson = _async$1(function () {
689
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
690
- signal = _ref.signal;
691
-
692
- return _catch(function () {
693
- return _await$1(fetchJson("/.jsenv/exploring.json", {
694
- signal: signal
695
- }));
696
- }, function (e) {
697
- if (signal && signal.aborted && e.name === "AbortError") {
698
- throw e;
699
- }
700
-
701
- throw new Error("Cannot communicate with exploring server due to a network error\n--- error stack ---\n".concat(e.stack));
702
- });
703
- });
704
-
705
- var setStyles = function setStyles(element, styles) {
706
- var elementStyle = element.style;
707
- var restoreStyles = Object.keys(styles).map(function (styleName) {
708
- var restore;
709
-
710
- if (styleName in elementStyle) {
711
- var currentStyle = elementStyle[styleName];
712
-
713
- restore = function restore() {
714
- elementStyle[styleName] = currentStyle;
715
- };
716
- } else {
717
- restore = function restore() {
718
- delete elementStyle[styleName];
719
- };
720
- }
721
-
722
- elementStyle[styleName] = styles[styleName];
723
- return restore;
724
- });
725
- return function () {
726
- restoreStyles.forEach(function (restore) {
727
- return restore();
728
- });
729
- };
730
- };
731
- var setAttributes = function setAttributes(element, attributes) {
732
- Object.keys(attributes).forEach(function (name) {
733
- element.setAttribute(name, attributes[name]);
734
- });
735
- };
736
-
737
- function _await(value, then, direct) {
738
- if (direct) {
739
- return then ? then(value) : value;
740
- }
741
-
742
- if (!value || !value.then) {
743
- value = Promise.resolve(value);
744
- }
745
-
746
- return then ? value.then(then) : value;
747
- }
748
-
749
- var TOOLBAR_BUILD_RELATIVE_URL = "dist/toolbar/toolbar_9a52325b.html";
750
-
751
- function _call(body, then, direct) {
752
- if (direct) {
753
- return then ? then(body()) : body();
754
- }
755
-
756
- try {
757
- var result = Promise.resolve(body());
758
- return then ? result.then(then) : result;
759
- } catch (e) {
760
- return Promise.reject(e);
761
- }
762
- }
763
-
764
- var jsenvLogoSvgUrl = new URL("assets/jsenv-logo_188b9ca6.svg", document.currentScript && document.currentScript.src || document.baseURI);
765
-
766
- function _async(f) {
767
- return function () {
768
- for (var args = [], i = 0; i < arguments.length; i++) {
769
- args[i] = arguments[i];
770
- }
771
-
772
- try {
773
- return Promise.resolve(f.apply(this, args));
774
- } catch (e) {
775
- return Promise.reject(e);
776
- }
777
- };
778
- }
779
-
780
- var injectToolbar = _async(function () {
781
- return _await(new Promise(function (resolve) {
782
- if (window.requestIdleCallback) {
783
- window.requestIdleCallback(resolve, {
784
- timeout: 400
785
- });
786
- } else {
787
- window.requestAnimationFrame(resolve);
788
- }
789
- }), function () {
790
- return _call(fetchExploringJson, function (exploringJSON) {
791
- var placeholder = getToolbarPlaceholder();
792
- var iframe = document.createElement("iframe");
793
- setAttributes(iframe, {
794
- tabindex: -1,
795
- // sandbox: "allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation",
796
- // allow: "accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr",
797
- allowtransparency: true
798
- });
799
- setStyles(iframe, {
800
- "position": "fixed",
801
- "zIndex": 1000,
802
- "bottom": 0,
803
- "left": 0,
804
- "width": "100%",
805
- "height": 0,
806
-
807
- /* ensure toolbar children are not focusable when hidden */
808
- "visibility": "hidden",
809
- "transition-duration": "300ms",
810
- "transition-property": "height, visibility",
811
- "border": "none"
812
- });
813
- var iframeLoadedPromise = iframeToLoadedPromise(iframe);
814
- var jsenvCoreDirectoryServerUrl = new URL(exploringJSON.jsenvCoreDirectoryRelativeUrl, document.location.origin).href;
815
- var jsenvToolbarHtmlServerUrl = new URL(TOOLBAR_BUILD_RELATIVE_URL, jsenvCoreDirectoryServerUrl); // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)
816
-
817
- iframe.setAttribute("src", jsenvToolbarHtmlServerUrl);
818
- placeholder.parentNode.replaceChild(iframe, placeholder);
819
- addToolbarEventCallback(iframe, "toolbar_ready", function () {
820
- sendCommandToToolbar(iframe, "renderToolbar", {
821
- exploringJSON: exploringJSON
822
- });
823
- });
824
- return _await(iframeLoadedPromise, function () {
825
- iframe.removeAttribute("tabindex");
826
- var div = document.createElement("div");
827
- 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>");
828
- var toolbarTrigger = div.firstElementChild;
829
- iframe.parentNode.appendChild(toolbarTrigger);
830
- var timer;
831
-
832
- toolbarTrigger.onmouseenter = function () {
833
- toolbarTrigger.setAttribute("data-animate", "");
834
- timer = setTimeout(expandToolbarTrigger, 500);
835
- };
836
-
837
- toolbarTrigger.onmouseleave = function () {
838
- clearTimeout(timer);
839
- collapseToolbarTrigger();
840
- };
841
-
842
- toolbarTrigger.onfocus = function () {
843
- toolbarTrigger.removeAttribute("data-animate");
844
- expandToolbarTrigger();
845
- };
846
-
847
- toolbarTrigger.onblur = function () {
848
- toolbarTrigger.removeAttribute("data-animate");
849
- clearTimeout(timer);
850
- collapseToolbarTrigger();
851
- };
852
-
853
- toolbarTrigger.onclick = function () {
854
- sendCommandToToolbar(iframe, "showToolbar");
855
- };
856
-
857
- var showToolbarTrigger = function showToolbarTrigger() {
858
- toolbarTrigger.style.display = "block";
859
- };
860
-
861
- var hideToolbarTrigger = function hideToolbarTrigger() {
862
- toolbarTrigger.style.display = "none";
863
- };
864
-
865
- var expandToolbarTrigger = function expandToolbarTrigger() {
866
- toolbarTrigger.setAttribute("data-expanded", "");
867
- };
868
-
869
- var collapseToolbarTrigger = function collapseToolbarTrigger() {
870
- toolbarTrigger.removeAttribute("data-expanded", "");
871
- };
872
-
873
- hideToolbarTrigger();
874
- addToolbarEventCallback(iframe, "toolbar-visibility-change", function (visible) {
875
- if (visible) {
876
- hideToolbarTrigger();
877
- } else {
878
- showToolbarTrigger();
879
- }
880
- });
881
- return iframe;
882
- });
883
- });
884
- });
885
- });
886
-
887
- var addToolbarEventCallback = function addToolbarEventCallback(iframe, eventName, callback) {
888
- var messageEventCallback = function messageEventCallback(messageEvent) {
889
- var data = messageEvent.data;
890
-
891
- if (_typeof(data) !== "object") {
892
- return;
893
- }
894
-
895
- var __jsenv__ = data.__jsenv__;
896
-
897
- if (!__jsenv__) {
898
- return;
899
- }
900
-
901
- if (__jsenv__.event !== eventName) {
902
- return;
903
- }
904
-
905
- callback(__jsenv__.data);
906
- };
907
-
908
- window.addEventListener("message", messageEventCallback, false);
909
- return function () {
910
- window.removeEventListener("message", messageEventCallback, false);
911
- };
912
- };
913
-
914
- var sendCommandToToolbar = function sendCommandToToolbar(iframe, command) {
915
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
916
- args[_key - 2] = arguments[_key];
917
- }
918
-
919
- iframe.contentWindow.postMessage({
920
- __jsenv__: {
921
- command: command,
922
- args: args
923
- }
924
- }, window.origin);
925
- };
926
-
927
- var getToolbarPlaceholder = function getToolbarPlaceholder() {
928
- var placeholder = queryPlaceholder();
929
-
930
- if (placeholder) {
931
- if (document.body.contains(placeholder)) {
932
- return placeholder;
933
- } // otherwise iframe would not be visible because in <head>
934
-
935
-
936
- console.warn("element with [data-jsenv-toolbar-placeholder] must be inside document.body");
937
- return createTooolbarPlaceholder();
938
- }
939
-
940
- return createTooolbarPlaceholder();
941
- };
942
-
943
- var queryPlaceholder = function queryPlaceholder() {
944
- return document.querySelector("[data-jsenv-toolbar-placeholder]");
945
- };
946
-
947
- var createTooolbarPlaceholder = function createTooolbarPlaceholder() {
948
- var placeholder = document.createElement("span");
949
- document.body.appendChild(placeholder);
950
- return placeholder;
951
- };
952
-
953
- var iframeToLoadedPromise = function iframeToLoadedPromise(iframe) {
954
- return new Promise(function (resolve) {
955
- var onload = function onload() {
956
- iframe.removeEventListener("load", onload, true);
957
- resolve();
958
- };
959
-
960
- iframe.addEventListener("load", onload, true);
961
- });
962
- };
963
-
964
- if (document.readyState === "complete") {
965
- injectToolbar();
966
- } else {
967
- window.addEventListener("load", injectToolbar); // document.addEventListener("readystatechange", () => {
968
- // if (document.readyState === "complete") {
969
- // injectToolbar()
970
- // }
971
- // })
972
- }
973
-
974
- })();
975
-
976
- //# sourceMappingURL=toolbar_injector_1e193101.js.map