@jsenv/core 28.0.2 → 28.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/controllable_child_process.mjs +1 -2
  2. package/dist/controllable_worker_thread.mjs +1 -2
  3. package/dist/js/autoreload.js +25 -9
  4. package/dist/js/execute_using_dynamic_import.js +804 -1
  5. package/dist/js/script_type_module_supervisor.js +129 -0
  6. package/dist/js/supervisor.js +921 -0
  7. package/dist/main.js +432 -492
  8. package/package.json +13 -13
  9. package/readme.md +1 -1
  10. package/src/build/inject_global_version_mappings.js +3 -3
  11. package/src/dev/start_dev_server.js +2 -2
  12. package/src/execute/execute.js +1 -1
  13. package/src/execute/run.js +26 -38
  14. package/src/execute/runtimes/browsers/from_playwright.js +51 -77
  15. package/src/execute/runtimes/node/node_child_process.js +36 -36
  16. package/src/execute/runtimes/node/node_worker_thread.js +36 -36
  17. package/src/omega/kitchen.js +12 -9
  18. package/src/omega/omega_server.js +2 -2
  19. package/src/omega/server/file_service.js +2 -2
  20. package/src/omega/url_graph/url_info_transformations.js +8 -1
  21. package/src/plugins/autoreload/client/reload.js +20 -7
  22. package/src/plugins/autoreload/jsenv_plugin_autoreload_client.js +4 -4
  23. package/src/plugins/import_meta_hot/html_hot_dependencies.js +2 -2
  24. package/src/plugins/importmap/jsenv_plugin_importmap.js +5 -3
  25. package/src/plugins/inject_globals/inject_globals.js +3 -3
  26. package/src/plugins/inline/jsenv_plugin_data_urls.js +1 -1
  27. package/src/plugins/inline/jsenv_plugin_html_inline_content.js +10 -5
  28. package/src/plugins/plugins.js +5 -5
  29. package/src/plugins/server_events/jsenv_plugin_server_events_client_injection.js +4 -4
  30. package/src/plugins/supervisor/client/script_type_module_supervisor.js +108 -0
  31. package/src/plugins/supervisor/client/supervisor.js +921 -0
  32. package/src/plugins/{html_supervisor/jsenv_plugin_html_supervisor.js → supervisor/jsenv_plugin_supervisor.js} +128 -102
  33. package/src/plugins/toolbar/client/execution/toolbar_execution.js +1 -1
  34. package/src/plugins/toolbar/jsenv_plugin_toolbar.js +4 -4
  35. package/src/plugins/transpilation/as_js_classic/jsenv_plugin_as_js_classic.js +7 -5
  36. package/src/plugins/transpilation/as_js_classic/jsenv_plugin_as_js_classic_html.js +5 -4
  37. package/src/plugins/transpilation/babel/jsenv_plugin_babel.js +13 -7
  38. package/src/plugins/transpilation/babel/new_stylesheet/babel_plugin_new_stylesheet_as_jsenv_import.js +6 -4
  39. package/src/plugins/transpilation/jsenv_plugin_transpilation.js +4 -2
  40. package/src/plugins/url_analysis/html/html_urls.js +11 -10
  41. package/src/test/coverage/babel_plugin_instrument.js +1 -35
  42. package/src/test/coverage/empty_coverage_factory.js +1 -1
  43. package/src/test/execute_plan.js +7 -3
  44. package/src/test/execute_test_plan.js +2 -1
  45. package/src/test/logs_file_execution.js +49 -8
  46. package/dist/js/html_supervisor_installer.js +0 -1091
  47. package/dist/js/html_supervisor_setup.js +0 -89
  48. package/dist/js/uneval.js +0 -804
  49. package/src/plugins/html_supervisor/client/error_formatter.js +0 -426
  50. package/src/plugins/html_supervisor/client/error_in_notification.js +0 -21
  51. package/src/plugins/html_supervisor/client/error_overlay.js +0 -191
  52. package/src/plugins/html_supervisor/client/html_supervisor_installer.js +0 -315
  53. package/src/plugins/html_supervisor/client/html_supervisor_setup.js +0 -89
  54. package/src/plugins/html_supervisor/client/perf_browser.js +0 -17
  55. package/src/plugins/html_supervisor/client/uneval_exception.js +0 -8
@@ -1,89 +0,0 @@
1
- window.__html_supervisor__ = {
2
- // "html_supervisor_installer.js" will implement
3
- // - "addScriptToExecute"
4
- // - "superviseScriptTypeModule"
5
- // - "collectScriptResults"
6
- // and take all executions in "scriptsToExecute" and implement their supervision
7
- scriptsToExecute: [],
8
- addScriptToExecute: (scriptToExecute) => {
9
- window.__html_supervisor__.scriptsToExecute.push(scriptToExecute)
10
- },
11
- superviseScript: ({ src, isInline, crossorigin, integrity }) => {
12
- const { currentScript } = document
13
- window.__html_supervisor__.addScriptToExecute({
14
- src,
15
- type: "js_classic",
16
- isInline,
17
- currentScript,
18
- execute: (url) => {
19
- return new Promise((resolve, reject) => {
20
- const script = document.createElement("script")
21
- if (crossorigin) {
22
- script.crossorigin = crossorigin
23
- }
24
- if (integrity) {
25
- script.integrity = integrity
26
- }
27
- script.src = url
28
- let lastWindowErrorUrl
29
- let lastWindowError
30
- const windowErrorCallback = (e) => {
31
- lastWindowErrorUrl = e.filename
32
- lastWindowError = e.error
33
- }
34
- const cleanup = () => {
35
- // the execution of the script itself can remove script from the page
36
- if (script.parentNode) {
37
- script.parentNode.removeChild(script)
38
- }
39
- window.removeEventListener("error", windowErrorCallback)
40
- }
41
- window.addEventListener("error", windowErrorCallback)
42
- script.addEventListener("error", () => {
43
- cleanup()
44
- reject(src)
45
- })
46
- script.addEventListener("load", () => {
47
- cleanup()
48
- if (lastWindowErrorUrl === url) {
49
- reject(lastWindowError)
50
- } else {
51
- resolve()
52
- }
53
- })
54
- if (currentScript) {
55
- currentScript.parentNode.insertBefore(
56
- script,
57
- currentScript.nextSibling,
58
- )
59
- } else {
60
- document.body.appendChild(script)
61
- }
62
- })
63
- },
64
- })
65
- },
66
- superviseScriptTypeModule: () => {
67
- throw new Error("htmlSupervisor not installed")
68
- },
69
- getScriptExecutionResults: () => {
70
- // wait for page to load before collecting script execution results
71
- const htmlReadyPromise = new Promise((resolve) => {
72
- if (document.readyState === "complete") {
73
- resolve()
74
- return
75
- }
76
- const loadCallback = () => {
77
- window.removeEventListener("load", loadCallback)
78
- resolve()
79
- }
80
- window.addEventListener("load", loadCallback)
81
- })
82
- return htmlReadyPromise.then(() => {
83
- return window.__html_supervisor__.collectScriptResults()
84
- })
85
- },
86
- collectScriptResults: () => {
87
- throw new Error("htmlSupervisor not installed")
88
- },
89
- }