@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,294 +0,0 @@
1
- {
2
- "version": 3,
3
- "file": "toolbar_injector_1e193101.js",
4
- "sources": [
5
- "../../helpers/babel/typeof/typeof.js",
6
- "../../helpers/babel/defineProperty/defineProperty.js",
7
- "../../helpers/babel/objectSpread2/objectSpread2.js",
8
- "../../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js",
9
- "../../helpers/babel/objectWithoutProperties/objectWithoutProperties.js",
10
- "../../src/internal/browser_utils/fetchUsingXHR.js",
11
- "../../src/internal/browser_utils/fetch_browser.js",
12
- "../../src/internal/browser_utils/fetchJson.js",
13
- "../../src/internal/dev_server/exploring/fetchExploringJson.js",
14
- "../../src/internal/dev_server/toolbar/util/dom.js",
15
- "../../src/internal/dev_server/toolbar/toolbar.injector.js"
16
- ],
17
- "sourcesContent": [
18
- "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n",
19
- "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n",
20
- "import defineProperty from \"../defineProperty/defineProperty.js\"\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object)\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object)\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable\n })\n }\n keys.push.apply(keys, symbols)\n }\n return keys\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {}\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key])\n })\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source))\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key))\n })\n }\n }\n return target\n}\n",
21
- "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n",
22
- "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n",
23
- "/* eslint-env browser */\n\nexport const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n `error during xhr request on ${url}.\n--- error stack ---\n${error.stack}`,\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n",
24
- "import { fetchUsingXHR } from \"./fetchUsingXHR.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n",
25
- "import { fetchUrl } from \"./fetch_browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n",
26
- "import { fetchJson } from \"../../browser_utils/fetchJson.js\"\n\nexport const fetchExploringJson = async ({ signal } = {}) => {\n try {\n const exploringInfo = await fetchJson(\"/.jsenv/exploring.json\", {\n signal,\n })\n return exploringInfo\n } catch (e) {\n if (signal && signal.aborted && e.name === \"AbortError\") {\n throw e\n }\n throw new Error(\n `Cannot communicate with exploring server due to a network error\n--- error stack ---\n${e.stack}`,\n )\n }\n}\n",
27
- "export const updateIframeOverflowOnParentWindow = () => {\n if (!window.parent) {\n // can happen while parent iframe reloads\n return\n }\n\n const aTooltipIsOpened =\n document.querySelector(\"[data-tooltip-visible]\") ||\n document.querySelector(\"[data-tooltip-auto-visible]\")\n const settingsAreOpened = document.querySelector(\"#settings[data-active]\")\n\n if (aTooltipIsOpened || settingsAreOpened) {\n enableIframeOverflowOnParentWindow()\n } else {\n disableIframeOverflowOnParentWindow()\n }\n}\n\nlet iframeOverflowEnabled = false\nconst enableIframeOverflowOnParentWindow = () => {\n if (iframeOverflowEnabled) return\n iframeOverflowEnabled = true\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"100%\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nconst disableIframeOverflowOnParentWindow = () => {\n if (!iframeOverflowEnabled) return\n iframeOverflowEnabled = false\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"40px\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nexport const getToolbarIframe = () => {\n const iframes = Array.from(window.parent.document.querySelectorAll(\"iframe\"))\n return iframes.find((iframe) => iframe.contentWindow === window)\n}\n\nexport const forceHideElement = (element) => {\n element.setAttribute(\"data-force-hide\", \"\")\n}\n\nexport const removeForceHideElement = (element) => {\n element.removeAttribute(\"data-force-hide\")\n}\n\nexport const setStyles = (element, styles) => {\n const elementStyle = element.style\n const restoreStyles = Object.keys(styles).map((styleName) => {\n let restore\n if (styleName in elementStyle) {\n const currentStyle = elementStyle[styleName]\n restore = () => {\n elementStyle[styleName] = currentStyle\n }\n } else {\n restore = () => {\n delete elementStyle[styleName]\n }\n }\n\n elementStyle[styleName] = styles[styleName]\n\n return restore\n })\n return () => {\n restoreStyles.forEach((restore) => restore())\n }\n}\n\nexport const setAttributes = (element, attributes) => {\n Object.keys(attributes).forEach((name) => {\n element.setAttribute(name, attributes[name])\n })\n}\n\nexport const getDocumentScroll = () => {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop,\n }\n}\n\nexport const toolbarSectionIsActive = (element) => {\n return element.hasAttribute(\"data-active\")\n}\n\nexport const activateToolbarSection = (element) => {\n element.setAttribute(\"data-active\", \"\")\n}\n\nexport const deactivateToolbarSection = (element) => {\n element.removeAttribute(\"data-active\")\n}\n",
28
- "import { fetchExploringJson } from \"@jsenv/core/src/internal/dev_server/exploring/fetchExploringJson.js\"\nimport { setAttributes, setStyles } from \"./util/dom.js\"\n\n// eslint-disable-next-line no-undef\nconst TOOLBAR_BUILD_RELATIVE_URL = \"dist/toolbar/toolbar_9a52325b.html\"\nconst jsenvLogoSvgUrl = new URL(\"./jsenv-logo.svg\", import.meta.url)\n\nconst injectToolbar = async () => {\n await new Promise((resolve) => {\n if (window.requestIdleCallback) {\n window.requestIdleCallback(resolve, { timeout: 400 })\n } else {\n window.requestAnimationFrame(resolve)\n }\n })\n const exploringJSON = await fetchExploringJson()\n const placeholder = getToolbarPlaceholder()\n\n const iframe = document.createElement(\"iframe\")\n setAttributes(iframe, {\n tabindex: -1,\n // sandbox: \"allow-forms allow-modals allow-pointer-lock allow-popups allow-presentation allow-same-origin allow-scripts allow-top-navigation-by-user-activation\",\n // allow: \"accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; microphone; midi; payment; vr\",\n allowtransparency: true,\n })\n setStyles(iframe, {\n \"position\": \"fixed\",\n \"zIndex\": 1000,\n \"bottom\": 0,\n \"left\": 0,\n \"width\": \"100%\",\n \"height\": 0,\n /* ensure toolbar children are not focusable when hidden */\n \"visibility\": \"hidden\",\n \"transition-duration\": \"300ms\",\n \"transition-property\": \"height, visibility\",\n \"border\": \"none\",\n })\n const iframeLoadedPromise = iframeToLoadedPromise(iframe)\n const jsenvCoreDirectoryServerUrl = new URL(\n exploringJSON.jsenvCoreDirectoryRelativeUrl,\n document.location.origin,\n ).href\n const jsenvToolbarHtmlServerUrl = new URL(\n TOOLBAR_BUILD_RELATIVE_URL,\n jsenvCoreDirectoryServerUrl,\n )\n // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)\n iframe.setAttribute(\"src\", jsenvToolbarHtmlServerUrl)\n placeholder.parentNode.replaceChild(iframe, placeholder)\n\n addToolbarEventCallback(iframe, \"toolbar_ready\", () => {\n sendCommandToToolbar(iframe, \"renderToolbar\", { exploringJSON })\n })\n\n await iframeLoadedPromise\n iframe.removeAttribute(\"tabindex\")\n\n const div = document.createElement(\"div\")\n div.innerHTML = `\n<div id=\"jsenv-toolbar-trigger\">\n <svg id=\"jsenv-toolbar-trigger-icon\">\n <use xlink:href=\"${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>`\n const toolbarTrigger = div.firstElementChild\n iframe.parentNode.appendChild(toolbarTrigger)\n\n let timer\n toolbarTrigger.onmouseenter = () => {\n toolbarTrigger.setAttribute(\"data-animate\", \"\")\n timer = setTimeout(expandToolbarTrigger, 500)\n }\n toolbarTrigger.onmouseleave = () => {\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onfocus = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n expandToolbarTrigger()\n }\n toolbarTrigger.onblur = () => {\n toolbarTrigger.removeAttribute(\"data-animate\")\n clearTimeout(timer)\n collapseToolbarTrigger()\n }\n toolbarTrigger.onclick = () => {\n sendCommandToToolbar(iframe, \"showToolbar\")\n }\n\n const showToolbarTrigger = () => {\n toolbarTrigger.style.display = \"block\"\n }\n\n const hideToolbarTrigger = () => {\n toolbarTrigger.style.display = \"none\"\n }\n\n const expandToolbarTrigger = () => {\n toolbarTrigger.setAttribute(\"data-expanded\", \"\")\n }\n\n const collapseToolbarTrigger = () => {\n toolbarTrigger.removeAttribute(\"data-expanded\", \"\")\n }\n\n hideToolbarTrigger()\n addToolbarEventCallback(iframe, \"toolbar-visibility-change\", (visible) => {\n if (visible) {\n hideToolbarTrigger()\n } else {\n showToolbarTrigger()\n }\n })\n\n return iframe\n}\n\nconst addToolbarEventCallback = (iframe, eventName, callback) => {\n const messageEventCallback = (messageEvent) => {\n const { data } = messageEvent\n if (typeof data !== \"object\") {\n return\n }\n const { __jsenv__ } = data\n if (!__jsenv__) {\n return\n }\n if (__jsenv__.event !== eventName) {\n return\n }\n callback(__jsenv__.data)\n }\n\n window.addEventListener(\"message\", messageEventCallback, false)\n return () => {\n window.removeEventListener(\"message\", messageEventCallback, false)\n }\n}\n\nconst sendCommandToToolbar = (iframe, command, ...args) => {\n iframe.contentWindow.postMessage(\n {\n __jsenv__: {\n command,\n args,\n },\n },\n window.origin,\n )\n}\n\nconst getToolbarPlaceholder = () => {\n const placeholder = queryPlaceholder()\n if (placeholder) {\n if (document.body.contains(placeholder)) {\n return placeholder\n }\n // otherwise iframe would not be visible because in <head>\n console.warn(\n \"element with [data-jsenv-toolbar-placeholder] must be inside document.body\",\n )\n return createTooolbarPlaceholder()\n }\n return createTooolbarPlaceholder()\n}\n\nconst queryPlaceholder = () => {\n return document.querySelector(\"[data-jsenv-toolbar-placeholder]\")\n}\n\nconst createTooolbarPlaceholder = () => {\n const placeholder = document.createElement(\"span\")\n document.body.appendChild(placeholder)\n return placeholder\n}\n\nconst iframeToLoadedPromise = (iframe) => {\n return new Promise((resolve) => {\n const onload = () => {\n iframe.removeEventListener(\"load\", onload, true)\n resolve()\n }\n iframe.addEventListener(\"load\", onload, true)\n })\n}\n\nif (document.readyState === \"complete\") {\n injectToolbar()\n} else {\n window.addEventListener(\"load\", injectToolbar)\n // document.addEventListener(\"readystatechange\", () => {\n // if (document.readyState === \"complete\") {\n // injectToolbar()\n // }\n // })\n}\n"
29
- ],
30
- "names": [
31
- "nativeTypeOf",
32
- "obj",
33
- "customTypeOf",
34
- "Symbol",
35
- "constructor",
36
- "prototype",
37
- "iterator",
38
- "key",
39
- "value",
40
- "Object",
41
- "defineProperty",
42
- "enumerable",
43
- "configurable",
44
- "writable",
45
- "ownKeys",
46
- "object",
47
- "enumerableOnly",
48
- "keys",
49
- "getOwnPropertySymbols",
50
- "symbols",
51
- "filter",
52
- "sym",
53
- "getOwnPropertyDescriptor",
54
- "push",
55
- "apply",
56
- "_objectSpread2",
57
- "target",
58
- "i",
59
- "arguments",
60
- "length",
61
- "source",
62
- "forEach",
63
- "getOwnPropertyDescriptors",
64
- "defineProperties",
65
- "excluded",
66
- "sourceKeys",
67
- "indexOf",
68
- "objectWithoutPropertiesLoose",
69
- "sourceSymbolKeys",
70
- "propertyIsEnumerable",
71
- "call",
72
- "then",
73
- "direct",
74
- "Promise",
75
- "resolve",
76
- "f",
77
- "args",
78
- "e",
79
- "reject",
80
- "body",
81
- "result",
82
- "fetchUsingXHR",
83
- "url",
84
- "signal",
85
- "method",
86
- "credentials",
87
- "headers",
88
- "headersPromise",
89
- "createPromiseAndHooks",
90
- "bodyPromise",
91
- "xhr",
92
- "XMLHttpRequest",
93
- "failure",
94
- "error",
95
- "settled",
96
- "cleanup",
97
- "ontimeout",
98
- "onerror",
99
- "onload",
100
- "onreadystatechange",
101
- "Error",
102
- "createRequestError",
103
- "addEventListener",
104
- "abort",
105
- "abortError",
106
- "name",
107
- "readyState",
108
- "open",
109
- "setRequestHeader",
110
- "withCredentials",
111
- "computeWithCredentials",
112
- "hasBlob",
113
- "responseType",
114
- "send",
115
- "responseUrl",
116
- "responseURL",
117
- "responseStatus",
118
- "status",
119
- "responseStatusText",
120
- "statusText",
121
- "responseHeaders",
122
- "getHeadersFromXHR",
123
- "readBody",
124
- "response",
125
- "responseText",
126
- "responseBody",
127
- "responseBodyType",
128
- "detectBodyType",
129
- "text",
130
- "blobToText",
131
- "arrayBufferToText",
132
- "buffer",
133
- "String",
134
- "json",
135
- "JSON",
136
- "parse",
137
- "blob",
138
- "Blob",
139
- "cloneBuffer",
140
- "arrayBuffer",
141
- "blobToArrayBuffer",
142
- "formData",
143
- "hasFormData",
144
- "textToFormData",
145
- "canUseBlob",
146
- "window",
147
- "FileReader",
148
- "FormData",
149
- "hasArrayBuffer",
150
- "ArrayBuffer",
151
- "hasSearchParams",
152
- "URLSearchParams",
153
- "stack",
154
- "promise",
155
- "res",
156
- "rej",
157
- "originSameAsGlobalOrigin",
158
- "location",
159
- "globalOrigin",
160
- "origin",
161
- "hrefToOrigin",
162
- "isPrototypeOf",
163
- "isDataView",
164
- "isArrayBufferView",
165
- "headerMap",
166
- "headersString",
167
- "getAllResponseHeaders",
168
- "lines",
169
- "trim",
170
- "split",
171
- "line",
172
- "parts",
173
- "shift",
174
- "join",
175
- "toLowerCase",
176
- "href",
177
- "scheme",
178
- "hrefToScheme",
179
- "secondProtocolSlashIndex",
180
- "pathnameSlashIndex",
181
- "slice",
182
- "colonIndex",
183
- "DataView",
184
- "isView",
185
- "viewClasses",
186
- "includes",
187
- "toString",
188
- "form",
189
- "bytes",
190
- "replace",
191
- "append",
192
- "decodeURIComponent",
193
- "reader",
194
- "fileReaderReady",
195
- "readAsArrayBuffer",
196
- "readAsText",
197
- "view",
198
- "Uint8Array",
199
- "chars",
200
- "Array",
201
- "fromCharCode",
202
- "byteLength",
203
- "set",
204
- "_await",
205
- "_async",
206
- "fetchNative",
207
- "mode",
208
- "options",
209
- "fetch",
210
- "responseToHeaders",
211
- "fetchUrl",
212
- "AbortController",
213
- "fetchJson",
214
- "recover",
215
- "fetchExploringJson",
216
- "aborted",
217
- "setStyles",
218
- "element",
219
- "styles",
220
- "elementStyle",
221
- "style",
222
- "restoreStyles",
223
- "map",
224
- "styleName",
225
- "restore",
226
- "currentStyle",
227
- "setAttributes",
228
- "attributes",
229
- "setAttribute",
230
- "TOOLBAR_BUILD_RELATIVE_URL",
231
- "_call",
232
- "jsenvLogoSvgUrl",
233
- "injectToolbar",
234
- "requestIdleCallback",
235
- "timeout",
236
- "requestAnimationFrame",
237
- "exploringJSON",
238
- "placeholder",
239
- "getToolbarPlaceholder",
240
- "iframe",
241
- "document",
242
- "createElement",
243
- "tabindex",
244
- "allowtransparency",
245
- "iframeLoadedPromise",
246
- "iframeToLoadedPromise",
247
- "jsenvCoreDirectoryServerUrl",
248
- "URL",
249
- "jsenvCoreDirectoryRelativeUrl",
250
- "jsenvToolbarHtmlServerUrl",
251
- "parentNode",
252
- "replaceChild",
253
- "addToolbarEventCallback",
254
- "sendCommandToToolbar",
255
- "removeAttribute",
256
- "div",
257
- "innerHTML",
258
- "toolbarTrigger",
259
- "firstElementChild",
260
- "appendChild",
261
- "timer",
262
- "onmouseenter",
263
- "setTimeout",
264
- "expandToolbarTrigger",
265
- "onmouseleave",
266
- "clearTimeout",
267
- "collapseToolbarTrigger",
268
- "onfocus",
269
- "onblur",
270
- "onclick",
271
- "showToolbarTrigger",
272
- "display",
273
- "hideToolbarTrigger",
274
- "visible",
275
- "eventName",
276
- "callback",
277
- "messageEventCallback",
278
- "messageEvent",
279
- "data",
280
- "__jsenv__",
281
- "event",
282
- "removeEventListener",
283
- "command",
284
- "contentWindow",
285
- "postMessage",
286
- "queryPlaceholder",
287
- "contains",
288
- "console",
289
- "warn",
290
- "createTooolbarPlaceholder",
291
- "querySelector"
292
- ],
293
- "mappings": "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"
294
- }
@@ -1,11 +0,0 @@
1
- /* eslint-env browser */
2
-
3
- export const evalSource = (code, href) => {
4
- // eslint-disable-next-line no-eval
5
- return window.eval(appendSourceURL(code, href))
6
- }
7
-
8
- const appendSourceURL = (code, sourceURL) => {
9
- return `${code}
10
- ${"//#"} sourceURL=${sourceURL}`
11
- }
@@ -1,150 +0,0 @@
1
- import {
2
- urlToRelativeUrl,
3
- urlToFileSystemPath,
4
- bufferToEtag,
5
- } from "@jsenv/filesystem"
6
- import { utimesSync } from "node:fs"
7
-
8
- import { writeFileContent, testFilePresence } from "./fs-optimized-for-cache.js"
9
- import { getMetaJsonFileUrl } from "./compile_asset.js"
10
-
11
- export const updateMeta = async ({
12
- logger,
13
- meta,
14
- compiledFileUrl,
15
- compileResult,
16
- compileResultStatus,
17
- }) => {
18
- const isNew = compileResultStatus === "created"
19
- const isUpdated = compileResultStatus === "updated"
20
- const {
21
- compiledSource,
22
- contentType,
23
- sources,
24
- sourcesContent,
25
- assets,
26
- assetsContent,
27
- dependencies,
28
- } = compileResult
29
-
30
- const promises = []
31
- if (isNew || isUpdated) {
32
- // ensure source that does not leads to concrete files are not capable to invalidate the cache
33
- const sourcesToRemove = sources.filter((sourceFileUrl) => {
34
- return (
35
- sourceFileUrl.startsWith("file://") && !testFilePresence(sourceFileUrl)
36
- )
37
- })
38
- const sourceNotFoundCount = sourcesToRemove.length
39
- if (sourceNotFoundCount > 0) {
40
- logger.warn(`SOURCE_META_NOT_FOUND: ${sourceNotFoundCount} source file(s) not found.
41
- --- consequence ---
42
- cache will be reused even if one of the source file is modified
43
- --- source files not found ---
44
- ${sourcesToRemove.join(`\n`)}`)
45
- sourcesToRemove.forEach((url) => {
46
- const sourceIndex = sources.indexOf(url)
47
- if (sourceIndex) {
48
- sources.splice(sourceIndex, 1)
49
- sourcesContent.splice(sourceIndex, 1)
50
- }
51
- })
52
- }
53
-
54
- const { writeCompiledSourceFile = true, writeAssetsFile = true } =
55
- compileResult
56
-
57
- if (writeCompiledSourceFile) {
58
- logger.debug(
59
- `write compiled file at ${urlToFileSystemPath(compiledFileUrl)}`,
60
- )
61
- promises.push(
62
- writeFileContent(compiledFileUrl, compiledSource, {
63
- fileLikelyNotFound: isNew,
64
- }).then(() => {
65
- const mtime = compileResult.compiledMtime
66
- // when compileResult.compiledMtime do not exists it means
67
- // the client is not interested in it so
68
- // -> moment we write the file is not important
69
- // -> There is no need to update mtime
70
- if (mtime) {
71
- utimesSync(
72
- urlToFileSystemPath(compiledFileUrl),
73
- new Date(mtime),
74
- new Date(mtime),
75
- )
76
- }
77
- }),
78
- )
79
- }
80
-
81
- if (writeAssetsFile) {
82
- promises.push(
83
- ...assets.map((assetFileUrl, index) => {
84
- logger.debug(
85
- `write compiled file asset at ${urlToFileSystemPath(assetFileUrl)}`,
86
- )
87
- return writeFileContent(assetFileUrl, assetsContent[index], {
88
- fileLikelyNotFound: isNew,
89
- })
90
- }),
91
- )
92
- }
93
- }
94
-
95
- const metaJsonFileUrl = getMetaJsonFileUrl(compiledFileUrl)
96
-
97
- if (isNew || isUpdated) {
98
- let latestMeta
99
-
100
- const sourceAndAssetProps = {
101
- sources: sources.map((source) =>
102
- urlToRelativeUrl(source, metaJsonFileUrl),
103
- ),
104
- sourcesEtag: sourcesContent.map((sourceContent) =>
105
- bufferToEtag(Buffer.from(sourceContent)),
106
- ),
107
- assets: assets.map((asset) => urlToRelativeUrl(asset, metaJsonFileUrl)),
108
- assetsEtag: assetsContent.map((assetContent) =>
109
- bufferToEtag(Buffer.from(assetContent)),
110
- ),
111
- dependencies: dependencies.filter((dep) => {
112
- return !dep.startsWith("data:")
113
- }),
114
- }
115
-
116
- if (isNew) {
117
- latestMeta = {
118
- contentType,
119
- ...sourceAndAssetProps,
120
- createdMs: Number(Date.now()),
121
- lastModifiedMs: Number(Date.now()),
122
- }
123
- } else if (isUpdated) {
124
- latestMeta = {
125
- ...meta,
126
- ...sourceAndAssetProps,
127
- lastModifiedMs: Number(Date.now()),
128
- }
129
- } else {
130
- latestMeta = {
131
- ...meta,
132
- }
133
- }
134
-
135
- logger.debug(
136
- `write compiled file meta at ${urlToFileSystemPath(metaJsonFileUrl)}`,
137
- )
138
- promises.push(
139
- writeFileContent(
140
- metaJsonFileUrl,
141
- JSON.stringify(latestMeta, null, " "),
142
- {
143
- fileLikelyNotFound: isNew,
144
- },
145
- ),
146
- )
147
- }
148
-
149
- return Promise.all(promises)
150
- }
@@ -1,55 +0,0 @@
1
- /* eslint-env browser, node */
2
-
3
- export const parseDataUrl = (dataUrl) => {
4
- const afterDataProtocol = dataUrl.slice("data:".length)
5
- const commaIndex = afterDataProtocol.indexOf(",")
6
- const beforeComma = afterDataProtocol.slice(0, commaIndex)
7
-
8
- let mediaType
9
- let base64Flag
10
- if (beforeComma.endsWith(`;base64`)) {
11
- mediaType = beforeComma.slice(0, -`;base64`.length)
12
- base64Flag = true
13
- } else {
14
- mediaType = beforeComma
15
- base64Flag = false
16
- }
17
-
18
- const afterComma = afterDataProtocol.slice(commaIndex + 1)
19
- return {
20
- mediaType: mediaType === "" ? "text/plain;charset=US-ASCII" : mediaType,
21
- base64Flag,
22
- data: afterComma,
23
- }
24
- }
25
-
26
- export const stringifyDataUrl = ({ mediaType, base64Flag = true, data }) => {
27
- if (!mediaType || mediaType === "text/plain;charset=US-ASCII") {
28
- // can be a buffer or a string, hence check on data.length instead of !data or data === ''
29
- if (data.length === 0) {
30
- return `data:,`
31
- }
32
- if (base64Flag) {
33
- return `data:,${data}`
34
- }
35
- return `data:,${dataToBase64(data)}`
36
- }
37
- if (base64Flag) {
38
- return `data:${mediaType};base64,${dataToBase64(data)}`
39
- }
40
- return `data:${mediaType},${data}`
41
- }
42
-
43
- export const dataUrlToRawData = ({ base64Flag, data }) => {
44
- return base64Flag ? base64ToString(data) : data
45
- }
46
-
47
- export const dataToBase64 =
48
- typeof window === "object"
49
- ? window.atob
50
- : (data) => Buffer.from(data).toString("base64")
51
-
52
- export const base64ToString =
53
- typeof window === "object"
54
- ? window.btoa
55
- : (base64String) => Buffer.from(base64String, "base64").toString("utf8")
@@ -1,6 +0,0 @@
1
- import { require } from "../../require.js"
2
-
3
- export const createEmptyCoverage = (relativeUrl) => {
4
- const { createFileCoverage } = require("istanbul-lib-coverage")
5
- return createFileCoverage(relativeUrl).toJSON()
6
- }
@@ -1,2 +0,0 @@
1
- export const executionIsPassed = ({ planSummary }) =>
2
- planSummary.executionCount === planSummary.completedCount
@@ -1,29 +0,0 @@
1
- import { collectFiles } from "@jsenv/filesystem"
2
-
3
- import { generateFileExecutionSteps } from "./generateFileExecutionSteps.js"
4
-
5
- export const generateExecutionSteps = async (
6
- plan,
7
- { signal, projectDirectoryUrl },
8
- ) => {
9
- const structuredMetaMap = {
10
- filePlan: plan,
11
- }
12
-
13
- const fileResultArray = await collectFiles({
14
- signal,
15
- directoryUrl: projectDirectoryUrl,
16
- structuredMetaMap,
17
- predicate: ({ filePlan }) => filePlan,
18
- })
19
-
20
- const executionSteps = []
21
- fileResultArray.forEach(({ relativeUrl, meta }) => {
22
- const fileExecutionSteps = generateFileExecutionSteps({
23
- fileRelativeUrl: relativeUrl,
24
- filePlan: meta.filePlan,
25
- })
26
- executionSteps.push(...fileExecutionSteps)
27
- })
28
- return executionSteps
29
- }