@jsenv/core 24.0.2 → 24.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/jsenv_event_source_client.js +338 -0
  2. package/dist/jsenv_event_source_client.js.map +126 -0
  3. package/dist/jsenv_exploring_index.js.map +7 -7
  4. package/dist/jsenv_redirector.js +1388 -0
  5. package/dist/jsenv_redirector.js.map +384 -0
  6. package/dist/jsenv_toolbar.js +37 -504
  7. package/dist/jsenv_toolbar.js.map +37 -112
  8. package/dist/jsenv_toolbar_injector.js +31 -126
  9. package/dist/jsenv_toolbar_injector.js.map +11 -30
  10. package/{LICENSE → license} +0 -0
  11. package/package.json +2 -3
  12. package/src/buildProject.js +2 -0
  13. package/src/dev_server.js +108 -57
  14. package/src/internal/compiling/compile-directory/getOrGenerateCompiledFile.js +1 -2
  15. package/src/internal/compiling/compileFile.js +51 -23
  16. package/src/internal/compiling/createCompiledFileService.js +8 -0
  17. package/src/internal/compiling/html_source_file_service.js +43 -9
  18. package/src/internal/compiling/jsenvCompilerForHtml.js +146 -107
  19. package/src/internal/compiling/startCompileServer.js +10 -1
  20. package/src/internal/dev_server/event_source_client/event_source_client.js +63 -0
  21. package/src/internal/dev_server/event_source_client/event_source_client_file_info.js +17 -0
  22. package/src/internal/{toolbar/eventsource/connectEventSource.js → dev_server/event_source_client/event_source_connection.js} +47 -78
  23. package/src/internal/dev_server/event_source_client/file_changes.js +82 -0
  24. package/src/internal/dev_server/event_source_client/livereload_preference.js +13 -0
  25. package/src/internal/{exploring → dev_server/exploring}/exploring.css +0 -0
  26. package/src/internal/{exploring → dev_server/exploring}/exploring.html +1 -1
  27. package/src/internal/{exploring → dev_server/exploring}/exploring.js +0 -0
  28. package/src/internal/dev_server/exploring/exploring_file_info.js +21 -0
  29. package/src/internal/{exploring → dev_server/exploring}/fetchExploringJson.js +1 -1
  30. package/src/internal/{exploring/exploring.redirector.html → dev_server/redirector/redirector.html} +1 -1
  31. package/src/internal/{exploring/exploring.redirector.js → dev_server/redirector/redirector.js} +4 -2
  32. package/src/internal/dev_server/redirector/redirector_file_info.js +24 -0
  33. package/src/internal/{toolbar → dev_server/toolbar}/animation/toolbar.animation.js +0 -0
  34. package/src/internal/{toolbar → dev_server/toolbar}/backtolist/toolbar.backtolist.js +0 -0
  35. package/src/internal/{toolbar → dev_server/toolbar}/compilation/compilation.css +0 -0
  36. package/src/internal/{toolbar → dev_server/toolbar}/compilation/toolbar.compilation.js +1 -1
  37. package/src/internal/{toolbar → dev_server/toolbar}/eventsource/eventsource.css +0 -0
  38. package/src/internal/dev_server/toolbar/eventsource/toolbar.eventsource.js +83 -0
  39. package/src/internal/{toolbar → dev_server/toolbar}/execution/execution.css +0 -0
  40. package/src/internal/{toolbar → dev_server/toolbar}/execution/toolbar.execution.js +0 -0
  41. package/src/internal/{toolbar → dev_server/toolbar}/focus/focus.css +0 -0
  42. package/src/internal/{toolbar → dev_server/toolbar}/focus/toolbar.focus.js +0 -0
  43. package/src/internal/{toolbar → dev_server/toolbar}/jsenv-logo.svg +0 -0
  44. package/src/internal/{toolbar → dev_server/toolbar}/notification/toolbar.notification.js +0 -0
  45. package/src/internal/{toolbar → dev_server/toolbar}/responsive/overflow-menu.css +0 -0
  46. package/src/internal/{toolbar → dev_server/toolbar}/responsive/toolbar.responsive.js +0 -0
  47. package/src/internal/{toolbar → dev_server/toolbar}/settings/settings.css +0 -0
  48. package/src/internal/{toolbar → dev_server/toolbar}/settings/toolbar.settings.js +0 -0
  49. package/src/internal/{toolbar → dev_server/toolbar}/theme/jsenv-theme.css +0 -0
  50. package/src/internal/{toolbar → dev_server/toolbar}/theme/light-theme.css +0 -0
  51. package/src/internal/{toolbar → dev_server/toolbar}/theme/toolbar.theme.js +0 -0
  52. package/src/internal/{toolbar → dev_server/toolbar}/toolbar.html +4 -37
  53. package/src/internal/{toolbar → dev_server/toolbar}/toolbar.injector.js +3 -92
  54. package/src/internal/{toolbar → dev_server/toolbar}/toolbar.main.css +0 -0
  55. package/src/internal/{toolbar → dev_server/toolbar}/toolbar.main.js +0 -0
  56. package/src/internal/dev_server/toolbar/toolbar_file_info.js +37 -0
  57. package/src/internal/{toolbar → dev_server/toolbar}/tooltip/tooltip.css +0 -0
  58. package/src/internal/{toolbar → dev_server/toolbar}/tooltip/tooltip.js +0 -0
  59. package/src/internal/{toolbar → dev_server/toolbar}/util/animation.js +0 -0
  60. package/src/internal/{toolbar → dev_server/toolbar}/util/dom.js +0 -0
  61. package/src/internal/{toolbar → dev_server/toolbar}/util/fetching.js +2 -2
  62. package/src/internal/{toolbar → dev_server/toolbar}/util/jsenvLogger.js +0 -0
  63. package/src/internal/{toolbar → dev_server/toolbar}/util/preferences.js +0 -0
  64. package/src/internal/{toolbar → dev_server/toolbar}/util/responsive.js +0 -0
  65. package/src/internal/{toolbar → dev_server/toolbar}/util/util.js +0 -0
  66. package/src/internal/{toolbar → dev_server/toolbar}/variant/variant.js +0 -0
  67. package/src/internal/jsenvInternalFiles.js +0 -58
  68. package/src/internal/toolbar/eventsource/connectCompileServerEventSource.js +0 -74
  69. package/src/internal/toolbar/eventsource/toolbar.eventsource.js +0 -239
@@ -0,0 +1,82 @@
1
+ /* eslint-env browser */
2
+
3
+ import { isLivereloadEnabled } from "./livereload_preference.js"
4
+
5
+ let fileChanges = {}
6
+ let filechangeCallback = () => {}
7
+
8
+ export const getFileChanges = () => fileChanges
9
+
10
+ export const addFileChange = ({ file, eventType }) => {
11
+ fileChanges[file] = eventType
12
+ if (isLivereloadEnabled()) {
13
+ reloadIfNeeded()
14
+ } else {
15
+ filechangeCallback()
16
+ }
17
+ }
18
+
19
+ export const setFileChangeCallback = (callback) => {
20
+ filechangeCallback = callback
21
+ }
22
+
23
+ export const reloadIfNeeded = () => {
24
+ const customReloads = []
25
+ const cssReloads = []
26
+ const fullReloads = []
27
+
28
+ Object.keys(fileChanges).forEach((key) => {
29
+ const livereloadCallback = window.__jsenv__.livereloadingCallbacks[key]
30
+ if (livereloadCallback) {
31
+ customReloads.push(() => {
32
+ delete fileChanges[key]
33
+ livereloadCallback({
34
+ reloadPage,
35
+ })
36
+ })
37
+ } else if (
38
+ key.endsWith(".css") ||
39
+ key.endsWith(".scss") ||
40
+ key.endsWith(".sass")
41
+ ) {
42
+ cssReloads.push(() => {
43
+ delete fileChanges[key]
44
+ })
45
+ } else {
46
+ fullReloads.push(key)
47
+ }
48
+ })
49
+
50
+ if (fullReloads.length > 0) {
51
+ reloadPage()
52
+ return
53
+ }
54
+
55
+ customReloads.forEach((customReload) => {
56
+ customReload()
57
+ })
58
+
59
+ if (cssReloads.length) {
60
+ reloadAllCss()
61
+ cssReloads.forEach((cssReload) => {
62
+ cssReload()
63
+ })
64
+ }
65
+
66
+ filechangeCallback()
67
+ }
68
+
69
+ const reloadAllCss = () => {
70
+ const links = Array.from(window.parent.document.getElementsByTagName("link"))
71
+ links.forEach((link) => {
72
+ if (link.rel === "stylesheet") {
73
+ const url = new URL(link.href)
74
+ url.searchParams.set("t", Date.now())
75
+ link.href = String(url)
76
+ }
77
+ })
78
+ }
79
+
80
+ const reloadPage = () => {
81
+ window.parent.location.reload(true)
82
+ }
@@ -0,0 +1,13 @@
1
+ /* eslint-env browser */
2
+
3
+ export const isLivereloadEnabled = () => {
4
+ const value = window.localStorage.hasOwnProperty("livereload")
5
+ if (value === "0") {
6
+ return false
7
+ }
8
+ return true
9
+ }
10
+
11
+ export const setLivereloadPreference = (value) => {
12
+ window.localStorage.setItem("livereload", value ? "1" : "0")
13
+ }
@@ -4,7 +4,7 @@
4
4
  <title>Exploring</title>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <meta charset="utf-8" />
7
- <link rel="icon" href="../jsenv.png" />
7
+ <link rel="icon" href="../../jsenv.png" />
8
8
  <link rel="stylesheet" type="text/css" href="./exploring.css" />
9
9
  </head>
10
10
 
@@ -0,0 +1,21 @@
1
+ import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js"
2
+
3
+ const htmlSourceUrl = new URL(
4
+ "./src/internal/dev_server/exploring/exploring.html",
5
+ jsenvCoreDirectoryUrl,
6
+ ).href
7
+ export const exploringIndexHtmlFileInfo = {
8
+ sourceUrl: htmlSourceUrl,
9
+ }
10
+
11
+ const jsSourceRelativeUrl = "./src/internal/dev_server/exploring/exploring.js"
12
+ const jsBuildRelativeUrl = "./jsenv_exploring_index.js"
13
+ const jsBuildUrl = new URL(
14
+ "./dist/jsenv_exploring_index.js",
15
+ jsenvCoreDirectoryUrl,
16
+ ).href
17
+ export const exploringIndexJsFileInfo = {
18
+ sourceRelativeUrl: jsSourceRelativeUrl,
19
+ buildRelativeUrl: jsBuildRelativeUrl,
20
+ buildUrl: jsBuildUrl,
21
+ }
@@ -1,6 +1,6 @@
1
1
  import { createDetailedMessage } from "@jsenv/logger"
2
2
 
3
- import { fetchJson } from "../browser-utils/fetchJson.js"
3
+ import { fetchJson } from "../../browser-utils/fetchJson.js"
4
4
 
5
5
  export const fetchExploringJson = async ({ signal } = {}) => {
6
6
  try {
@@ -8,6 +8,6 @@
8
8
  </head>
9
9
 
10
10
  <body>
11
- <script src="/.jsenv/exploring.redirector.js"></script>
11
+ <script src="/.jsenv/redirector.js"></script>
12
12
  </body>
13
13
  </html>
@@ -1,4 +1,4 @@
1
- import { scanBrowserRuntimeFeatures } from "../runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js"
1
+ import { scanBrowserRuntimeFeatures } from "../../runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js"
2
2
 
3
3
  const redirect = async () => {
4
4
  const redirectTarget = new URLSearchParams(window.location.search).get(
@@ -11,7 +11,9 @@ const redirect = async () => {
11
11
  const href = `${getDirectoryUrl(
12
12
  browserRuntimeFeaturesReport,
13
13
  )}${redirectTarget}`
14
- window.location.href = href
14
+ // It's IMPORTANT to use location.replace and NOT location.href = url
15
+ // otherwise it would break the back button
16
+ window.location.replace(href)
15
17
  }
16
18
 
17
19
  const getDirectoryUrl = ({
@@ -0,0 +1,24 @@
1
+ /*
2
+ * auto redirection to a compile group depending on browser capabilities
3
+ */
4
+
5
+ import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js"
6
+
7
+ const htmlSourceUrl = new URL(
8
+ "./src/internal/dev_server/redirector/redirector.html",
9
+ jsenvCoreDirectoryUrl,
10
+ ).href
11
+ export const redirectorHtmlFileInfo = {
12
+ sourceUrl: htmlSourceUrl,
13
+ }
14
+
15
+ const jsSourceRelativeUrl = "./src/internal/dev_server/redirector/redirector.js"
16
+ const jsBuildRelativeUrl = "./jsenv_redirector.js"
17
+ const jsSourceUrl = new URL(jsSourceRelativeUrl, jsenvCoreDirectoryUrl).href
18
+ const jsBuildUrl = new URL("./dist/jsenv_redirector.js", jsenvCoreDirectoryUrl)
19
+ export const redirectorJsFileInfo = {
20
+ sourceRelativeUrl: jsSourceRelativeUrl,
21
+ buildRelativeUrl: jsBuildRelativeUrl,
22
+ sourceUrl: jsSourceUrl,
23
+ buildUrl: jsBuildUrl,
24
+ }
@@ -1,4 +1,4 @@
1
- import { scanBrowserRuntimeFeatures } from "../../runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js"
1
+ import { scanBrowserRuntimeFeatures } from "../../../runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js"
2
2
  import { removeForceHideElement } from "../util/dom.js"
3
3
  import { enableVariant } from "../variant/variant.js"
4
4
 
@@ -0,0 +1,83 @@
1
+ import { removeForceHideElement } from "../util/dom.js"
2
+ import { enableVariant } from "../variant/variant.js"
3
+ import {
4
+ toggleTooltip,
5
+ removeAutoShowTooltip,
6
+ autoShowTooltip,
7
+ } from "../tooltip/tooltip.js"
8
+
9
+ let livereloadingAvailableOnServer = false
10
+ const parentEventSourceClient = window.parent.__jsenv_event_source_client__
11
+
12
+ export const initToolbarEventSource = ({ livereloading }) => {
13
+ removeForceHideElement(document.querySelector("#eventsource-indicator"))
14
+ livereloadingAvailableOnServer = livereloading
15
+ if (!livereloadingAvailableOnServer) {
16
+ disableLivereloadSetting()
17
+ }
18
+ parentEventSourceClient.setConnectionStatusChangeCallback = () => {
19
+ updateEventSourceIndicator()
20
+ }
21
+ const livereloadCheckbox = document.querySelector("#toggle-livereload")
22
+ livereloadCheckbox.checked = parentEventSourceClient.isLivereloadEnabled()
23
+ livereloadCheckbox.onchange = () => {
24
+ parentEventSourceClient.setLivereloadPreference(livereloadCheckbox.checked)
25
+ updateEventSourceIndicator()
26
+ }
27
+ updateEventSourceIndicator()
28
+ }
29
+
30
+ const updateEventSourceIndicator = () => {
31
+ const eventSourceIndicator = document.querySelector("#eventsource-indicator")
32
+ const fileChanges = parentEventSourceClient.getFileChanges()
33
+ const changeCount = Object.keys(fileChanges).length
34
+ const eventSourceConnectionState =
35
+ parentEventSourceClient.getConnectionStatus()
36
+ enableVariant(eventSourceIndicator, {
37
+ eventsource: eventSourceConnectionState,
38
+ livereload: parentEventSourceClient.isLivereloadEnabled() ? "on" : "off",
39
+ changes: changeCount > 0 ? "yes" : "no",
40
+ })
41
+
42
+ const variantNode = document.querySelector(
43
+ "#eventsource-indicator > [data-when-active]",
44
+ )
45
+ variantNode.querySelector("button").onclick = () => {
46
+ toggleTooltip(eventSourceIndicator)
47
+ }
48
+
49
+ if (eventSourceConnectionState === "connecting") {
50
+ variantNode.querySelector("a").onclick = () => {
51
+ parentEventSourceClient.disconnect()
52
+ }
53
+ } else if (eventSourceConnectionState === "connected") {
54
+ removeAutoShowTooltip(eventSourceIndicator)
55
+ if (changeCount) {
56
+ const changeLink = variantNode.querySelector(".eventsource-changes-link")
57
+ changeLink.innerHTML = changeCount
58
+ changeLink.onclick = () => {
59
+ console.log(JSON.stringify(fileChanges, null, " "), fileChanges)
60
+ // eslint-disable-next-line no-alert
61
+ window.parent.alert(JSON.stringify(fileChanges, null, " "))
62
+ }
63
+ variantNode.querySelector(".eventsource-reload-link").onclick = () => {
64
+ parentEventSourceClient.reloadIfNeeded()
65
+ }
66
+ }
67
+ } else if (eventSourceConnectionState === "disconnected") {
68
+ autoShowTooltip(eventSourceIndicator)
69
+ variantNode.querySelector("a").onclick = () => {
70
+ parentEventSourceClient.connect()
71
+ }
72
+ }
73
+ }
74
+
75
+ const disableLivereloadSetting = () => {
76
+ document
77
+ .querySelector(".settings-livereload")
78
+ .setAttribute("data-disabled", "true")
79
+ document
80
+ .querySelector(".settings-livereload")
81
+ .setAttribute("title", `Livereload not available: disabled by server`)
82
+ document.querySelector("#toggle-livereload").disabled = true
83
+ }
@@ -130,9 +130,9 @@
130
130
  </svg>
131
131
  </button>
132
132
  </div>
133
- <div data-when="eventsource:failed">
133
+ <div data-when="eventsource:disconnected">
134
134
  <div class="tooltip">
135
- Cannot connect to server
135
+ Disconnected from server
136
136
  <br />
137
137
  <div class="tooltipAction">
138
138
  <a href="javascript:void(0);">
@@ -147,7 +147,7 @@
147
147
  d="M16 9v4.66l-3.5 3.51V19h-1v-1.83L8 13.65V9h8m0-6h-2v4h-4V3H8v4h-.01C6.9 6.99 6 7.89 6 8.98v5.52L9.5 18v3h5v-3l3.5-3.51V9c0-1.1-.9-2-2-2V3z"
148
148
  />
149
149
  </svg>
150
- retry
150
+ connect
151
151
  </a>
152
152
  </div>
153
153
  </div>
@@ -155,7 +155,7 @@
155
155
  <svg>
156
156
  <circle
157
157
  class="eventsource-circle"
158
- data-variant="failed"
158
+ data-variant="off"
159
159
  cx="20"
160
160
  cy="20"
161
161
  r="5"
@@ -218,39 +218,6 @@
218
218
  </svg>
219
219
  </button>
220
220
  </div>
221
- <div data-when="eventsource:disabled">
222
- <div class="tooltip">
223
- Disconnected from server
224
- <br />
225
- <div class="tooltipAction">
226
- <a href="javascript:void(0);">
227
- <svg
228
- xmlns="http://www.w3.org/2000/svg"
229
- viewBox="0 0 24 24"
230
- id="powerIconSvg"
231
- class="tooltipIcon"
232
- >
233
- <path d="M0 0h24v24H0V0z" fill="none" />
234
- <path
235
- d="M16 9v4.66l-3.5 3.51V19h-1v-1.83L8 13.65V9h8m0-6h-2v4h-4V3H8v4h-.01C6.9 6.99 6 7.89 6 8.98v5.52L9.5 18v3h5v-3l3.5-3.51V9c0-1.1-.9-2-2-2V3z"
236
- />
237
- </svg>
238
- connect
239
- </a>
240
- </div>
241
- </div>
242
- <button>
243
- <svg>
244
- <circle
245
- class="eventsource-circle"
246
- data-variant="off"
247
- cx="20"
248
- cy="20"
249
- r="5"
250
- />
251
- </svg>
252
- </button>
253
- </div>
254
221
  </section>
255
222
 
256
223
  <section id="settings" data-responsive-toolbar-element>
@@ -1,95 +1,6 @@
1
- import { fetchExploringJson } from "@jsenv/core/src/internal/exploring/fetchExploringJson.js"
1
+ import { fetchExploringJson } from "@jsenv/core/src/internal/dev_server/exploring/fetchExploringJson.js"
2
2
  import { setAttributes, setStyles } from "./util/dom.js"
3
3
 
4
- /*
5
- We must connect to livereload server asap so that if a file is modified
6
- while page is loading we are notified of it.
7
-
8
- Otherwise it's possible that a file is loaded and used by browser then its modified before
9
- livereload connection is established.
10
-
11
- When toolbar is loaded it will open an other connection to server sent events and close this one.
12
- */
13
- const connectLivereload = () => {
14
- const { EventSource } = window
15
- if (typeof EventSource !== "function") {
16
- return () => {}
17
- }
18
-
19
- const getLivereloadPreference = () => {
20
- return localStorage.hasOwnProperty("livereload")
21
- ? JSON.parse(localStorage.getItem("livereload"))
22
- : true
23
- }
24
-
25
- const url = document.location.href
26
- let isOpen = false
27
- let lastEventId
28
- const latestChangeMap = {}
29
-
30
- const events = {
31
- "file-modified": ({ data }) => {
32
- latestChangeMap[data] = "modified"
33
- if (getLivereloadPreference()) {
34
- window.location.reload(true)
35
- }
36
- },
37
- "file-removed": ({ data }) => {
38
- latestChangeMap[data] = "removed"
39
- if (getLivereloadPreference()) {
40
- window.location.reload(true)
41
- }
42
- },
43
- "file-added": ({ data }) => {
44
- latestChangeMap[data] = "added"
45
- if (getLivereloadPreference()) {
46
- window.location.reload(true)
47
- }
48
- },
49
- }
50
-
51
- const eventSourceOrigin = new URL(url).origin
52
- const eventSource = new EventSource(url, {
53
- withCredentials: true,
54
- })
55
-
56
- const disconnect = () => {
57
- eventSource.close()
58
- }
59
-
60
- eventSource.onopen = () => {
61
- isOpen = true
62
- }
63
-
64
- eventSource.onerror = (errorEvent) => {
65
- if (errorEvent.target.readyState === EventSource.CLOSED) {
66
- isOpen = false
67
- }
68
- }
69
-
70
- Object.keys(events).forEach((eventName) => {
71
- eventSource.addEventListener(eventName, (e) => {
72
- if (e.origin === eventSourceOrigin) {
73
- if (e.lastEventId) {
74
- lastEventId = e.lastEventId
75
- }
76
- events[eventName](e)
77
- }
78
- })
79
- })
80
-
81
- return () => {
82
- return {
83
- isOpen,
84
- latestChangeMap,
85
- lastEventId,
86
- disconnect,
87
- }
88
- }
89
- }
90
- // eslint-disable-next-line camelcase
91
- window.__jsenv_eventsource__ = connectLivereload()
92
-
93
4
  const injectToolbar = async () => {
94
5
  await new Promise((resolve) => {
95
6
  if (window.requestIdleCallback) {
@@ -129,7 +40,7 @@ const injectToolbar = async () => {
129
40
  })
130
41
  const iframeLoadedPromise = iframeToLoadedPromise(iframe)
131
42
  const jsenvToolbarHtmlServerUrl = resolveUrl(
132
- "./src/internal/toolbar/toolbar.html",
43
+ "./src/internal/dev_server/toolbar/toolbar.html",
133
44
  jsenvDirectoryServerUrl,
134
45
  )
135
46
  // set iframe src BEFORE putting it into the DOM (prevent firefox adding an history entry)
@@ -165,7 +76,7 @@ const injectToolbar = async () => {
165
76
 
166
77
  const div = document.createElement("div")
167
78
  const jsenvLogoUrl = resolveUrl(
168
- "./src/internal/toolbar/jsenv-logo.svg",
79
+ "./src/internal/dev_server/toolbar/jsenv-logo.svg",
169
80
  jsenvDirectoryServerUrl,
170
81
  )
171
82
  const jsenvLogoSvgSrc = jsenvLogoUrl
@@ -0,0 +1,37 @@
1
+ import { jsenvCoreDirectoryUrl } from "@jsenv/core/src/internal/jsenvCoreDirectoryUrl.js"
2
+
3
+ const injectorSourceRelativeUrl =
4
+ "./src/internal/dev_server/toolbar/toolbar.injector.js"
5
+ const injectorBuildRelativeUrl = "./jsenv_toolbar_injector.js"
6
+ const injectorBuildUrl = new URL(
7
+ "./dist/jsenv_toolbar_injector.js",
8
+ jsenvCoreDirectoryUrl,
9
+ ).href
10
+ export const toolbarInjectorFileInfo = {
11
+ sourceRelativeUrl: injectorSourceRelativeUrl,
12
+ buildRelativeUrl: injectorBuildRelativeUrl,
13
+ buildUrl: injectorBuildUrl,
14
+ }
15
+
16
+ const htmlSourceUrl = new URL(
17
+ "./src/internal/dev_server/toolbar/toolbar.html",
18
+ jsenvCoreDirectoryUrl,
19
+ ).href
20
+ export const toolbarHtmlFileInfo = {
21
+ sourceUrl: htmlSourceUrl,
22
+ }
23
+
24
+ const jsSourceRelativeUrl = "./src/internal/dev_server/toolbar/toolbar.main.js"
25
+ const jsBuildRelativeUrl = "./jsenv_toolbar.js"
26
+ const jsSourceUrl = new URL(
27
+ "./src/internal/dev_server/toolbar/toolbar.main.js",
28
+ jsenvCoreDirectoryUrl,
29
+ ).href
30
+ const jsBuildUrl = new URL("./dist/jsenv_toolbar.js", jsenvCoreDirectoryUrl)
31
+ .href
32
+ export const toolbarJsFileInfo = {
33
+ sourceRelativeUrl: jsSourceRelativeUrl,
34
+ buildRelativeUrl: jsBuildRelativeUrl,
35
+ sourceUrl: jsSourceUrl,
36
+ buildUrl: jsBuildUrl,
37
+ }
@@ -1,4 +1,4 @@
1
- import { memoize } from "../../memoize.js"
1
+ import { memoize } from "../../../memoize.js"
2
2
 
3
3
  const fetchPolyfill = async (...args) => {
4
4
  const { fetchUsingXHR } = await loadPolyfill()
@@ -6,7 +6,7 @@ const fetchPolyfill = async (...args) => {
6
6
  }
7
7
 
8
8
  const loadPolyfill = memoize(() =>
9
- import("../../browser-utils/fetchUsingXHR.js"),
9
+ import("../../../browser-utils/fetchUsingXHR.js"),
10
10
  )
11
11
 
12
12
  export const fetchUrl =
@@ -48,64 +48,6 @@ export const sourcemapMappingFileInfo = {
48
48
  url: fileSystemPathToUrl(require.resolve("source-map/lib/mappings.wasm")),
49
49
  }
50
50
 
51
- // Exploring redirection
52
- // (auto redirection to a compile group depending on browser capabilities)
53
- export const jsenvExploringRedirectorHtmlFileInfo = {
54
- url: resolveUrl(
55
- "./src/internal/exploring/exploring.redirector.html",
56
- jsenvCoreDirectoryUrl,
57
- ),
58
- }
59
-
60
- export const jsenvExploringRedirectorJsFileInfo = {
61
- jsenvRelativeUrl: "./src/internal/exploring/exploring.redirector.js",
62
- jsenvBuildRelativeUrl: "./jsenv_exploring_redirector.js",
63
- url: resolveUrl(
64
- "./src/internal/exploring/exploring.redirector.js",
65
- jsenvCoreDirectoryUrl,
66
- ),
67
- jsenvBuildUrl: resolveUrl(
68
- "./dist/jsenv_exploring_redirector.js",
69
- jsenvCoreDirectoryUrl,
70
- ),
71
- }
72
-
73
- // Exploring index and toolbar
74
- export const jsenvExploringIndexJsFileInfo = {
75
- jsenvRelativeUrl: "./src/internal/exploring/exploring.js",
76
- jsenvBuildRelativeUrl: "./jsenv_exploring_index.js",
77
- jsenvBuildUrl: resolveUrl(
78
- "./dist/jsenv_exploring_index.js",
79
- jsenvCoreDirectoryUrl,
80
- ),
81
- }
82
- export const jsenvExploringIndexHtmlFileInfo = {
83
- url: resolveUrl(
84
- "./src/internal/exploring/exploring.html",
85
- jsenvCoreDirectoryUrl,
86
- ),
87
- }
88
- export const jsenvToolbarHtmlFileInfo = {
89
- url: resolveUrl("./src/internal/toolbar/toolbar.html", jsenvCoreDirectoryUrl),
90
- }
91
- export const jsenvToolbarInjectorFileInfo = {
92
- jsenvRelativeUrl: "./src/internal/toolbar/toolbar.injector.js",
93
- jsenvBuildRelativeUrl: "./jsenv_toolbar_injector.js",
94
- jsenvBuildUrl: resolveUrl(
95
- "./dist/jsenv_toolbar_injector.js",
96
- jsenvCoreDirectoryUrl,
97
- ),
98
- }
99
- export const jsenvToolbarJsFileInfo = {
100
- jsenvRelativeUrl: "./src/internal/toolbar/toolbar.main.js",
101
- jsenvBuildRelativeUrl: "./jsenv_toolbar.js",
102
- url: resolveUrl(
103
- "./src/internal/toolbar/toolbar.main.js",
104
- jsenvCoreDirectoryUrl,
105
- ),
106
- jsenvBuildUrl: resolveUrl("./dist/jsenv_toolbar.js", jsenvCoreDirectoryUrl),
107
- }
108
-
109
51
  export const jsenvSystemJsFileInfo = {
110
52
  url: resolveUrl("./src/internal/runtime/s.js", jsenvCoreDirectoryUrl),
111
53
  jsenvRelativeUrl: "./src/internal/runtime/s.js",