@jsenv/core 23.1.3 → 23.1.4

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.
@@ -283,31 +283,6 @@ export const startCompileServer = async ({
283
283
  })
284
284
  }
285
285
 
286
- const sourceFileService = composeServicesWithTiming({
287
- ...(transformHtmlSourceFiles
288
- ? {
289
- "service:transform html source file":
290
- createTransformHtmlSourceFileService({
291
- logger,
292
- projectDirectoryUrl,
293
- inlineImportMapIntoHTML,
294
- jsenvScriptInjection,
295
- jsenvToolbarInjection,
296
- }),
297
- }
298
- : {}),
299
- "service:source file": createSourceFileService({
300
- logger,
301
- projectDirectoryUrl,
302
- projectFileRequestedCallback,
303
- projectFileEtagEnabled,
304
- transformHtmlSourceFiles,
305
- inlineImportMapIntoHTML,
306
- jsenvScriptInjection,
307
- jsenvToolbarInjection,
308
- }),
309
- })
310
-
311
286
  const jsenvServices = {
312
287
  "service:compilation asset": createCompilationAssetFileService({
313
288
  projectDirectoryUrl,
@@ -327,7 +302,6 @@ export const startCompileServer = async ({
327
302
  projectDirectoryUrl,
328
303
  }),
329
304
  "service:compiled file": createCompiledFileService({
330
- sourceFileService,
331
305
  cancellationToken,
332
306
  logger,
333
307
 
@@ -352,6 +326,28 @@ export const startCompileServer = async ({
352
326
  sourcemapExcludeSources,
353
327
  compileCacheStrategy,
354
328
  }),
329
+ ...(transformHtmlSourceFiles
330
+ ? {
331
+ "service:transform html source file":
332
+ createTransformHtmlSourceFileService({
333
+ logger,
334
+ projectDirectoryUrl,
335
+ inlineImportMapIntoHTML,
336
+ jsenvScriptInjection,
337
+ jsenvToolbarInjection,
338
+ }),
339
+ }
340
+ : {}),
341
+ "service:source file": createSourceFileService({
342
+ logger,
343
+ projectDirectoryUrl,
344
+ projectFileRequestedCallback,
345
+ projectFileEtagEnabled,
346
+ transformHtmlSourceFiles,
347
+ inlineImportMapIntoHTML,
348
+ jsenvScriptInjection,
349
+ jsenvToolbarInjection,
350
+ }),
355
351
  }
356
352
 
357
353
  const compileServer = await startServer({
@@ -48,9 +48,7 @@
48
48
  <div class="tooltip">Executing...</div>
49
49
  <button>
50
50
  <svg id="loader-icon" data-animate>
51
- <use
52
- xlink:href="./toolbar-loading-icon.svg#toolbar-loading-icon"
53
- ></use>
51
+ <use xlink:href="#loading_svg"></use>
54
52
  </svg>
55
53
  </button>
56
54
  </div>
@@ -104,10 +102,16 @@
104
102
  <br />
105
103
  <div class="tooltipAction">
106
104
  <a href="javascript:void(0);">
107
- <svg id="powerOffIconSvg" class="tooltipIcon">
108
- <use
109
- xlink:href="./eventsource/toolbar-power-off-icon.svg#toolbar-power-off-icon"
110
- ></use>
105
+ <svg
106
+ xmlns="http://www.w3.org/2000/svg"
107
+ id="powerOffIconSvg"
108
+ class="tooltipIcon"
109
+ viewBox="0 0 24 24"
110
+ >
111
+ <path d="M0 0h24v24H0V0z" fill="none" />
112
+ <path
113
+ d="M10 3H8v1.88l2 2zm6 6v3.88l1.8 1.8.2-.2V9c0-1.1-.9-2-2-2V3h-2v4h-3.88l2 2H16zM4.12 3.84L2.71 5.25 6 8.54v5.96L9.5 18v3h5v-3l.48-.48 4.47 4.47 1.41-1.41L4.12 3.84zm8.38 13.33V19h-1v-1.83L8 13.65v-3.11l5.57 5.57-1.07 1.06z"
114
+ />
111
115
  </svg>
112
116
  cancel
113
117
  </a>
@@ -132,10 +136,16 @@
132
136
  <br />
133
137
  <div class="tooltipAction">
134
138
  <a href="javascript:void(0);">
135
- <svg id="powerIconSvg" class="tooltipIcon">
136
- <use
137
- xlink:href="./eventsource/toolbar-power-icon.svg#toolbar-power-icon"
138
- ></use>
139
+ <svg
140
+ xmlns="http://www.w3.org/2000/svg"
141
+ viewBox="0 0 24 24"
142
+ id="powerIconSvg"
143
+ class="tooltipIcon"
144
+ >
145
+ <path d="M0 0h24v24H0V0z" fill="none" />
146
+ <path
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
+ />
139
149
  </svg>
140
150
  retry
141
151
  </a>
@@ -186,9 +196,7 @@
186
196
  class="event-source-livereload iconToolbar"
187
197
  data-variant="enabled"
188
198
  >
189
- <use
190
- xlink:href="./toolbar-loading-icon.svg#toolbar-loading-icon"
191
- ></use>
199
+ <use xlink:href="#loading_svg"></use>
192
200
  </svg>
193
201
  </div>
194
202
  <div data-when="changes:yes">
@@ -196,9 +204,7 @@
196
204
  class="event-source-livereload iconToolbar"
197
205
  data-variant="disabled"
198
206
  >
199
- <use
200
- xlink:href="./toolbar-loading-icon.svg#toolbar-loading-icon"
201
- ></use>
207
+ <use xlink:href="#loading_svg"></use>
202
208
  </svg>
203
209
  </div>
204
210
  <svg class="event-source-icon">
@@ -218,10 +224,16 @@
218
224
  <br />
219
225
  <div class="tooltipAction">
220
226
  <a href="javascript:void(0);">
221
- <svg id="powerIconSvg" class="tooltipIcon">
222
- <use
223
- xlink:href="./eventsource/toolbar-power-icon.svg#toolbar-power-icon"
224
- ></use>
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
+ />
225
237
  </svg>
226
238
  connect
227
239
  </a>
@@ -245,16 +257,28 @@
245
257
  <div id="settings-box">
246
258
  <div id="settings-box-header">
247
259
  <button id="button-close-settings">
248
- <svg id="crossIconSvg" class="" width="18px" height="18px">
249
- <use
250
- xlink:href="./toolbar-cross-icon.svg#toolbar-cross-icon"
251
- ></use>
260
+ <svg
261
+ xmlns="http://www.w3.org/2000/svg"
262
+ viewBox="0 0 24 24"
263
+ width="18px"
264
+ height="18px"
265
+ >
266
+ <path
267
+ d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
268
+ />
269
+ <path d="M0 0h24v24H0z" fill="none" />
252
270
  </svg>
253
271
  </button>
254
- <svg class="settings-icon" width="35px" height="35px">
255
- <use
256
- xlink:href="./settings/toolbar-settings-icon.svg#toolbar-settings-icon"
257
- ></use>
272
+ <svg
273
+ xmlns="http://www.w3.org/2000/svg"
274
+ viewBox="0 0 24 24"
275
+ width="35px"
276
+ height="35px"
277
+ class="settings-icon"
278
+ >
279
+ <path
280
+ d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"
281
+ />
258
282
  </svg>
259
283
  <h3>Settings</h3>
260
284
  </div>
@@ -262,10 +286,15 @@
262
286
  <div class="settings-box-items-wrapper">
263
287
  <div class="settings-box-item">
264
288
  <div class="category-title">
265
- <svg width="20px" height="20px">
266
- <use
267
- xlink:href="./toolbar-notif-icon.svg#toolbar-notif-icon"
268
- ></use>
289
+ <svg
290
+ xmlns="http://www.w3.org/2000/svg"
291
+ viewBox="0 0 24 24"
292
+ width="20px"
293
+ height="20px"
294
+ >
295
+ <path
296
+ d="M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.64-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.63 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z"
297
+ />
269
298
  </svg>
270
299
  Notifications
271
300
  </div>
@@ -283,9 +312,7 @@
283
312
  <div class="settings-box-item settings-livereload">
284
313
  <div class="category-title">
285
314
  <svg width="20px" height="20px">
286
- <use
287
- xlink:href="./toolbar-loading-icon.svg#toolbar-loading-icon"
288
- ></use>
315
+ <use xlink:href="#loading_svg"></use>
289
316
  </svg>
290
317
  <span>Livereload</span>
291
318
  </div>
@@ -302,10 +329,16 @@
302
329
  </div>
303
330
  <div class="settings-box-item">
304
331
  <div class="category-title">
305
- <svg width="20px" height="20px">
306
- <use
307
- xlink:href="./animation/toolbar-movie-icon.svg#toolbar-movie-icon"
308
- ></use>
332
+ <svg
333
+ xmlns="http://www.w3.org/2000/svg"
334
+ viewBox="0 0 24 24"
335
+ width="20px"
336
+ height="20px"
337
+ >
338
+ <path
339
+ d="M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"
340
+ />
341
+ <path d="M0 0h24v24H0z" fill="none" />
309
342
  </svg>
310
343
  Animations
311
344
  </div>
@@ -322,10 +355,17 @@
322
355
  </div>
323
356
  <div class="settings-box-item">
324
357
  <div class="category-title">
325
- <svg width="20px" height="20px" id="paletteIconSvg">
326
- <use
327
- xlink:href="./theme/toolbar-palette-icon.svg#toolbar-palette-icon"
328
- ></use>
358
+ <svg
359
+ xmlns="http://www.w3.org/2000/svg"
360
+ viewBox="0 0 24 24"
361
+ width="20px"
362
+ height="20px"
363
+ id="paletteIconSvg"
364
+ >
365
+ <path
366
+ d="M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9c.83 0 1.5-.67 1.5-1.5 0-.39-.15-.74-.39-1.01-.23-.26-.38-.61-.38-.99 0-.83.67-1.5 1.5-1.5H16c2.76 0 5-2.24 5-5 0-4.42-4.03-8-9-8zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12zm3-4C8.67 8 8 7.33 8 6.5S8.67 5 9.5 5s1.5.67 1.5 1.5S10.33 8 9.5 8zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 5 14.5 5s1.5.67 1.5 1.5S15.33 8 14.5 8zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 9 17.5 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"
367
+ />
368
+ <path d="M0 0h24v24H0z" fill="none" />
329
369
  </svg>
330
370
  Dark mode
331
371
  </div>
@@ -342,8 +382,20 @@
342
382
  </div>
343
383
  <div class="settings-box-item" id="browser_support">
344
384
  <div class="category-title">
345
- <svg id="browser_support_svg" width="20px" height="20px">
346
- <use xlink:href="./compilation/loupe.svg#icon"></use>
385
+ <svg
386
+ xmlns="http://www.w3.org/2000/svg"
387
+ viewBox="0 0 512 512"
388
+ width="20px"
389
+ height="20px"
390
+ style="enable-background: new 0 0 512 512"
391
+ id="browser_support_svg"
392
+ >
393
+ <path
394
+ d="M497.938,430.063l-126.914-126.91C389.287,272.988,400,237.762,400,200C400,89.719,310.281,0,200,0
395
+ C89.719,0,0,89.719,0,200c0,110.281,89.719,200,200,200c37.762,0,72.984-10.711,103.148-28.973l126.914,126.91
396
+ C439.438,507.313,451.719,512,464,512c12.281,0,24.563-4.688,33.938-14.063C516.688,479.195,516.688,448.805,497.938,430.063z
397
+ M64,200c0-74.992,61.016-136,136-136s136,61.008,136,136s-61.016,136-136,136S64,274.992,64,200z"
398
+ />
347
399
  </svg>
348
400
  Browser support
349
401
  </div>
@@ -376,8 +428,22 @@
376
428
  </div>
377
429
  <div class="settings-box-item" id="files_compilation">
378
430
  <div class="category-title">
379
- <svg id="browser_support_svg" width="20px" height="20px">
380
- <use xlink:href="./compilation/flask.svg#icon"></use>
431
+ <svg
432
+ xmlns="http://www.w3.org/2000/svg"
433
+ viewBox="-74 0 512 512"
434
+ width="20px"
435
+ height="20px"
436
+ id="browser_support_svg"
437
+ >
438
+ <path
439
+ d="m361.414062 443.589844-108.269531-263.902344c-6.003906-14.640625-9.050781-30.085938-9.050781-45.910156v-69.757813c0-7.511719 2.925781-14.574219 8.238281-19.886719 6.476563-6.476562 10.046875-15.089843 10.046875-24.25v-9.882812c0-5.523438-4.480468-10-10-10h-139.621094c-5.523437 0-10 4.476562-10 10v9.882812c0 9.160157 3.566407 17.773438 10.042969 24.25 5.3125 5.3125 8.238281 12.375 8.238281 19.890626v69.753906c0 15.824218-3.042968 31.269531-9.050781 45.910156l-29.75 72.515625c-.011719.027344-.023437.054687-.035156.082031l-78.484375 191.304688c-6.285156 15.324218-4.53125 32.6875 4.695312 46.441406 9.226563 13.757812 24.621094 21.96875 41.183594 21.96875h265.9375c16.5625 0 31.960938-8.210938 41.1875-21.96875 9.222656-13.757812 10.976563-31.117188 4.691406-46.441406zm-230.921874-256.3125c7-17.058594 10.546874-35.058594 10.546874-53.5v-69.757813c0-12.851562-5.003906-24.9375-14.09375-34.027343-2.671874-2.671876-4.15625-6.21875-4.1875-9.992188h119.621094c-.03125 3.773438-1.515625 7.316406-4.191406 9.992188-9.085938 9.089843-14.09375 21.171874-14.09375 34.027343v69.753907c0 18.441406 3.550781 36.441406 10.546875 53.5l24.144531 58.851562h-152.4375zm209.617187 291.613281c-5.585937 8.332031-14.542969 13.109375-24.574219 13.109375h-265.9375c-10.027344 0-18.984375-4.777344-24.574218-13.109375-4.214844-6.285156-5.824219-13.574219-4.730469-20.761719h16.476562c5.519531 0 10-4.480468 10-10 0-5.523437-4.480469-10-10-10h-9.1875l11.484375-28h16.867188c5.523437 0 10-4.480468 10-10 0-5.523437-4.476563-10-10-10h-8.660156l11.484374-28h17.34375c5.523438 0 10-4.480468 10-10 0-5.523437-4.476562-10-10-10h-9.136718l11.488281-28h17.8125c5.523437 0 10-4.480468 10-10 0-5.523437-4.476563-10-10-10h-9.609375l11.488281-28h168.84375l75.921875 185.054688c3.804688 9.277344 2.785156 19.378906-2.800781 27.707031zm0 0"
440
+ />
441
+ <path
442
+ d="m312.03125 444.214844c-2.09375-5.113282-7.929688-7.558594-13.042969-5.46875-5.109375 2.09375-7.558593 7.929687-5.46875 13.042968l.054688.125c1.585937 3.871094 5.316406 6.214844 9.257812 6.214844 1.261719 0 2.542969-.238281 3.785157-.746094 5.109374-2.09375 7.558593-7.933593 5.464843-13.042968zm0 0"
443
+ />
444
+ <path
445
+ d="m297.898438 409.761719-35.8125-87.289063c-2.09375-5.109375-7.933594-7.554687-13.046876-5.457031-5.109374 2.09375-7.550781 7.9375-5.457031 13.046875l35.8125 87.289062c1.585938 3.871094 5.316407 6.207032 9.257813 6.207032 1.261718 0 2.546875-.238282 3.789062-.75 5.109375-2.09375 7.554688-7.9375 5.457032-13.046875zm0 0"
446
+ />
381
447
  </svg>
382
448
  Files compilation
383
449
  </div>
@@ -412,14 +478,15 @@
412
478
  </div>
413
479
  <button id="settings-button" class="toolbar-icon-wrapper">
414
480
  <svg
415
- class="settings-icon iconToolbar"
481
+ xmlns="http://www.w3.org/2000/svg"
482
+ viewBox="0 0 24 24"
483
+ width="24px"
484
+ height="24px"
416
485
  class="iconToolbar"
417
- width="35px"
418
- height="35px"
419
486
  >
420
- <use
421
- xlink:href="./settings/toolbar-settings-icon.svg#toolbar-settings-icon"
422
- ></use>
487
+ <path
488
+ d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"
489
+ />
423
490
  </svg>
424
491
  </button>
425
492
  </section>
@@ -428,14 +495,17 @@
428
495
  <button id="button-close-toolbar">
429
496
  <div class="toolbar-icon-wrapper">
430
497
  <svg
498
+ xmlns="http://www.w3.org/2000/svg"
499
+ viewBox="0 0 24 24"
431
500
  id="crossIconSvg"
432
501
  class="iconToolbar"
433
502
  width="35px"
434
503
  height="35px"
435
504
  >
436
- <use
437
- xlink:href="./toolbar-cross-icon.svg#toolbar-cross-icon"
438
- ></use>
505
+ <path
506
+ d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
507
+ />
508
+ <path d="M0 0h24v24H0z" fill="none" />
439
509
  </svg>
440
510
  </div>
441
511
  </button>
@@ -448,10 +518,18 @@
448
518
 
449
519
  <div id="overflow-menu-button">
450
520
  <button class="toolbar-icon-wrapper">
451
- <svg id="dotsIconSvg" class="iconToolbar" width="35px" height="35px">
452
- <use
453
- xlink:href="./responsive/toolbar-dots-icon.svg#toolbar-dots-icon"
454
- ></use>
521
+ <svg
522
+ xmlns="http://www.w3.org/2000/svg"
523
+ viewBox="0 0 24 24"
524
+ width="35px"
525
+ height="35px"
526
+ id="dotsIconSvg"
527
+ class="iconToolbar"
528
+ >
529
+ <path d="M0 0h24v24H0V0z" fill="none" />
530
+ <path
531
+ d="M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"
532
+ />
455
533
  </svg>
456
534
  </button>
457
535
  </div>
@@ -478,6 +556,24 @@
478
556
  </defs>
479
557
  </svg>
480
558
 
559
+ <!--
560
+ Reusable svg(s)
561
+ -->
562
+ <div style="display: none">
563
+ <svg
564
+ id="loading_svg"
565
+ xmlns="http://www.w3.org/2000/svg"
566
+ viewBox="0 0 430 430"
567
+ >
568
+ <path
569
+ fill="currentColor"
570
+ d="m32.118 204.979.302 5.179c.124 3.4.638 8.29 1.434 14.48l.786 4.882.421 2.617c.154.89.376 1.789.558 2.712l1.197 5.75c.444 1.981 1.027 4.008 1.56 6.112 2.274 8.378 5.328 17.708 9.758 27.396a180.713 180.713 0 0 0 17.062 29.673 178.57 178.57 0 0 0 25.102 28.499c9.702 8.888 20.652 17.025 32.581 23.85a180.596 180.596 0 0 0 38.159 16.203c13.357 3.824 27.155 5.896 40.737 6.35l2.541.113 2.542-.017c1.689-.012 3.376-.142 5.059-.152l1.259-.126h.157c-.466 0-.034.113-.096.111l.329.039.657-.012 2.625-.138c1.748-.094 3.492-.181 5.229-.274l2.599-.14 2.399-.292c1.596-.203 3.188-.354 4.772-.526 3.147-.236 6.372-.888 9.541-1.397a213.826 213.826 0 0 0 35.916-9.232 622.925 622.925 0 0 1 8.182-3.142c2.655-1.114 5.222-2.329 7.782-3.459 2.6-1.056 4.984-2.43 7.407-3.636l3.584-1.832c1.189-.598 2.295-1.31 3.432-1.949 2.248-1.316 4.477-2.577 6.623-3.866l6.146-4.011c2.042-1.258 3.901-2.66 5.735-3.997 1.822-1.352 3.646-2.613 5.355-3.907l4.843-3.918c1.569-1.258 3.121-2.439 4.471-3.723l4.031-3.563c1.288-1.139 2.548-2.204 3.621-3.327 2.193-2.203 4.225-4.131 5.979-5.831 1.697-1.744 3.063-3.304 4.243-4.516l3.588-3.767.026-.028a.855.855 0 0 1 1.37.997s-.868 1.598-2.574 4.574c-.854 1.488-1.885 3.349-3.214 5.459-1.387 2.064-2.967 4.465-4.816 7.108-.887 1.355-1.955 2.669-3.051 4.075l-3.46 4.412c-1.185 1.56-2.571 3.036-3.979 4.607a11889.58 11889.58 0 0 1-4.424 4.853c-1.572 1.628-3.282 3.218-5.018 4.893-1.745 1.662-3.502 3.432-5.49 5.023l-6.021 5.047c-2.111 1.653-4.363 3.226-6.623 4.899-9.169 6.472-19.718 12.805-31.671 17.869-11.917 5.107-25.137 9.123-39.146 11.367-3.516.507-7.004 1.114-10.719 1.336-1.834.148-3.674.319-5.521.438l-2.773.192-2.611.027-5.237.045-2.63.012-1.585-.006-1.378-.074-5.521-.302-2.766-.157-2.764-.29a202.304 202.304 0 0 1-43.748-9.26 193.358 193.358 0 0 1-40.221-18.991c-12.467-7.743-23.632-16.999-33.41-26.861-9.758-9.893-18.135-20.455-24.833-31.222a187.62 187.62 0 0 1-15.97-31.794c-4.006-10.258-6.601-20.021-8.441-28.721-1.917-8.698-2.688-16.429-3.245-22.764-.396-6.374-.584-11.386-.485-14.752l.04-5.188a.85.85 0 0 1 .857-.844.86.86 0 0 1 .844.805zM393.625 225.021l-.297-4.979-.162-2.716-.093-1.565-.182-1.679c-.269-2.323-.534-4.99-.906-7.966l-.763-4.693-.408-2.516a34.227 34.227 0 0 0-.487-2.616c-.778-3.54-1.458-7.393-2.614-11.413l-.812-3.075a41.978 41.978 0 0 0-.908-3.147l-2.071-6.509c-1.604-4.392-3.258-9.013-5.353-13.684a178.146 178.146 0 0 0-15.844-28.827c-6.541-9.647-14.329-19.197-23.385-28.038l-1.683-1.677-1.766-1.605c-1.182-1.068-2.366-2.142-3.557-3.218-1.163-1.104-2.449-2.08-3.686-3.116l-3.75-3.083c-1.3-.972-2.604-1.946-3.91-2.924-1.324-.953-2.58-2.003-3.953-2.902l-4.075-2.768-2.042-1.389-2.112-1.291a179.101 179.101 0 0 0-35.961-17.193c-12.643-4.307-25.78-6.991-38.788-8.151-1.628-.128-3.24-.356-4.867-.403l-4.858-.205c-3.224-.204-6.444-.09-9.634-.125l-2.151-.002-2.495.128c-1.66.095-3.316.141-4.966.211l-2.47.097c-.809.042-1.532.143-2.3.21l-4.522.438c-2.979.166-6.046.719-9.053 1.084-3.023.336-5.975.917-8.906 1.449-1.462.28-2.93.501-4.374.794l-4.282.989-4.245.947c-1.396.353-2.766.767-4.137 1.143-2.735.781-5.465 1.47-8.073 2.398l-3.917 1.296c-1.3.42-2.588.844-3.827 1.363l-7.408 2.85a564.405 564.405 0 0 1-7.01 3.092c-1.163.477-2.267 1.042-3.361 1.598l-3.263 1.627-3.206 1.579a4807.3 4807.3 0 0 1-3.039 1.706c-1.992 1.14-4.003 2.158-5.868 3.29a478.807 478.807 0 0 1-5.419 3.344c-1.792 1.037-3.405 2.208-5.008 3.287l-4.64 3.135-7.955 5.898c-2.294 1.916-4.409 3.579-6.239 5.05-.934.718-1.729 1.45-2.471 2.111l-2.044 1.782-3.793 3.262-.025.022a.857.857 0 0 1-1.27-1.123s.969-1.457 2.861-4.161c.957-1.342 2.071-3.069 3.577-4.928 1.497-1.867 3.207-4.042 5.195-6.425a711.243 711.243 0 0 1 6.954-7.583l4.222-4.055c1.466-1.404 2.982-2.873 4.665-4.248a492.728 492.728 0 0 1 5.158-4.347c1.799-1.46 3.737-2.85 5.699-4.323l3.003-2.214 3.188-2.104a4521.47 4521.47 0 0 0 3.282-2.14c1.107-.723 2.227-1.456 3.411-2.104 9.235-5.625 19.942-10.626 31.724-14.697 1.475-.504 2.951-1.046 4.456-1.527a9356.8 9356.8 0 0 0 4.587-1.314l4.658-1.299c1.57-.402 3.17-.716 4.772-1.065l4.839-1.029a26.288 26.288 0 0 1 2.454-.433l2.478-.368c3.322-.481 6.616-1.035 10.133-1.254l5.236-.383c.866-.054 1.775-.143 2.61-.166l2.472-.042c1.65-.022 3.307-.069 4.97-.067l2.497-.011c-.163.003.397-.005.4-.001l.164.008.327.015.655.031 1.311.062c3.497.194 7.019.236 10.533.702l5.285.567c1.767.169 3.518.523 5.28.778a200.938 200.938 0 0 1 41.516 11.19 191.734 191.734 0 0 1 37.788 20.016l2.192 1.471 2.117 1.569 4.215 3.127c2.768 2.124 5.406 4.386 8.06 6.582l3.813 3.468c1.254 1.164 2.556 2.267 3.731 3.496l3.587 3.591 1.775 1.789 1.689 1.859c9.061 9.819 16.775 20.217 23.014 30.685a185.353 185.353 0 0 1 14.763 30.855c1.899 4.94 3.31 9.814 4.67 14.425l1.712 6.814c.297 1.098.526 2.196.731 3.282l.636 3.2c.923 4.179 1.378 8.165 1.943 11.813.151.911.247 1.811.318 2.695l.24 2.587.445 4.814c.173 3.065.257 5.808.365 8.183l.066 1.714-.015 1.567-.024 2.721-.045 4.987a.85.85 0 0 1-.857.843.852.852 0 0 1-.837-.8z"
571
+ />
572
+ <circle fill="currentColor" cx="70.536" cy="110.694" r="36.011" />
573
+ <circle fill="currentColor" cx="362.721" cy="309.694" r="36.012" />
574
+ </svg>
575
+ </div>
576
+
481
577
  <!--
482
578
  <script type="module" src="./toolbar.main.js"></script>
483
579
  The script type module approach works too but
@@ -91,6 +91,14 @@ const connectLivereload = () => {
91
91
  window.__jsenv_eventsource__ = connectLivereload()
92
92
 
93
93
  const injectToolbar = async () => {
94
+ await new Promise((resolve) => {
95
+ if (window.requestIdleCallback) {
96
+ window.requestIdleCallback(resolve)
97
+ } else {
98
+ window.requestAnimationFrame(resolve)
99
+ }
100
+ })
101
+
94
102
  const { jsenvDirectoryRelativeUrl } = await fetchExploringJson()
95
103
  const jsenvDirectoryServerUrl = resolveUrl(
96
104
  jsenvDirectoryRelativeUrl,
@@ -50,6 +50,7 @@ export const startExploring = async ({
50
50
  compileServerCanWriteOnFilesystem,
51
51
  compileServerPort,
52
52
  compileServerProtocol,
53
+ compileServerHttp2,
53
54
  compileServerCertificate,
54
55
  compileServerPrivateKey,
55
56
  sourcemapMethod,
@@ -114,6 +115,7 @@ export const startExploring = async ({
114
115
  compileServerCanWriteOnFilesystem,
115
116
  compileServerPort,
116
117
  compileServerProtocol,
118
+ compileServerHttp2,
117
119
  compileServerCertificate,
118
120
  compileServerPrivateKey,
119
121
  sourcemapMethod,
@@ -1,15 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- id="toolbar-movie-icon"
4
- viewBox="0 0 24 24"
5
- >
6
- <path
7
- d="M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"
8
- />
9
- <path d="M0 0h24v24H0z" fill="none" />
10
- </svg>
11
-
12
-
13
-
14
-
15
-
@@ -1,7 +0,0 @@
1
- <svg
2
- viewBox="-74 0 512 512"
3
- xmlns="http://www.w3.org/2000/svg"
4
- id="icon"
5
- >
6
- <path d="m361.414062 443.589844-108.269531-263.902344c-6.003906-14.640625-9.050781-30.085938-9.050781-45.910156v-69.757813c0-7.511719 2.925781-14.574219 8.238281-19.886719 6.476563-6.476562 10.046875-15.089843 10.046875-24.25v-9.882812c0-5.523438-4.480468-10-10-10h-139.621094c-5.523437 0-10 4.476562-10 10v9.882812c0 9.160157 3.566407 17.773438 10.042969 24.25 5.3125 5.3125 8.238281 12.375 8.238281 19.890626v69.753906c0 15.824218-3.042968 31.269531-9.050781 45.910156l-29.75 72.515625c-.011719.027344-.023437.054687-.035156.082031l-78.484375 191.304688c-6.285156 15.324218-4.53125 32.6875 4.695312 46.441406 9.226563 13.757812 24.621094 21.96875 41.183594 21.96875h265.9375c16.5625 0 31.960938-8.210938 41.1875-21.96875 9.222656-13.757812 10.976563-31.117188 4.691406-46.441406zm-230.921874-256.3125c7-17.058594 10.546874-35.058594 10.546874-53.5v-69.757813c0-12.851562-5.003906-24.9375-14.09375-34.027343-2.671874-2.671876-4.15625-6.21875-4.1875-9.992188h119.621094c-.03125 3.773438-1.515625 7.316406-4.191406 9.992188-9.085938 9.089843-14.09375 21.171874-14.09375 34.027343v69.753907c0 18.441406 3.550781 36.441406 10.546875 53.5l24.144531 58.851562h-152.4375zm209.617187 291.613281c-5.585937 8.332031-14.542969 13.109375-24.574219 13.109375h-265.9375c-10.027344 0-18.984375-4.777344-24.574218-13.109375-4.214844-6.285156-5.824219-13.574219-4.730469-20.761719h16.476562c5.519531 0 10-4.480468 10-10 0-5.523437-4.480469-10-10-10h-9.1875l11.484375-28h16.867188c5.523437 0 10-4.480468 10-10 0-5.523437-4.476563-10-10-10h-8.660156l11.484374-28h17.34375c5.523438 0 10-4.480468 10-10 0-5.523437-4.476562-10-10-10h-9.136718l11.488281-28h17.8125c5.523437 0 10-4.480468 10-10 0-5.523437-4.476563-10-10-10h-9.609375l11.488281-28h168.84375l75.921875 185.054688c3.804688 9.277344 2.785156 19.378906-2.800781 27.707031zm0 0"/><path d="m312.03125 444.214844c-2.09375-5.113282-7.929688-7.558594-13.042969-5.46875-5.109375 2.09375-7.558593 7.929687-5.46875 13.042968l.054688.125c1.585937 3.871094 5.316406 6.214844 9.257812 6.214844 1.261719 0 2.542969-.238281 3.785157-.746094 5.109374-2.09375 7.558593-7.933593 5.464843-13.042968zm0 0"/><path d="m297.898438 409.761719-35.8125-87.289063c-2.09375-5.109375-7.933594-7.554687-13.046876-5.457031-5.109374 2.09375-7.550781 7.9375-5.457031 13.046875l35.8125 87.289062c1.585938 3.871094 5.316407 6.207032 9.257813 6.207032 1.261718 0 2.546875-.238282 3.789062-.75 5.109375-2.09375 7.554688-7.9375 5.457032-13.046875zm0 0"/>
7
- </svg>
@@ -1,9 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- viewBox="0 0 24 24"
4
- id="icon"
5
- >
6
- <path
7
- fill="currentColor"
8
- d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm1 18h-2v-8h2v8zm-1-12.25c.69 0 1.25.56 1.25 1.25s-.56 1.25-1.25 1.25-1.25-.56-1.25-1.25.56-1.25 1.25-1.25z"/>
9
- </svg>
@@ -1,11 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- viewBox="0 0 512 512"
4
- style="enable-background:new 0 0 512 512;"
5
- id="icon"
6
- >
7
- <path d="M497.938,430.063l-126.914-126.91C389.287,272.988,400,237.762,400,200C400,89.719,310.281,0,200,0
8
- C89.719,0,0,89.719,0,200c0,110.281,89.719,200,200,200c37.762,0,72.984-10.711,103.148-28.973l126.914,126.91
9
- C439.438,507.313,451.719,512,464,512c12.281,0,24.563-4.688,33.938-14.063C516.688,479.195,516.688,448.805,497.938,430.063z
10
- M64,200c0-74.992,61.016-136,136-136s136,61.008,136,136s-61.016,136-136,136S64,274.992,64,200z"/>
11
- </svg>
@@ -1,11 +0,0 @@
1
- <svg
2
- viewBox="0 0 16 16"
3
- xmlns="http://www.w3.org/2000/svg"
4
- id="toolbar_compilation_icon"
5
- >
6
- <path
7
- fill="currentColor"
8
- d="M 2.5 2 C 1.671875 2 1 2.671875 1 3.5 L 1 12.5 C 1 13.328125 1.671875 14 2.5 14 L 13.5 14 C 14.328125 14 15 13.328125 15 12.5 L 15 5.5 C 15 4.671875 14.328125 4 13.5 4 L 6.796875 4 L 6.144531 2.789063 C 5.882813 2.300781 5.378906 2 4.824219 2 Z"
9
- />
10
- </svg>
11
-
@@ -1,10 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- id="toolbar-power-icon"
4
- viewBox="0 0 24 24"
5
- >
6
- <path d="M0 0h24v24H0V0z" fill="none" />
7
- <path
8
- 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"
9
- />
10
- </svg>
@@ -1,10 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- id="toolbar-power-off-icon"
4
- viewBox="0 0 24 24"
5
- >
6
- <path d="M0 0h24v24H0V0z" fill="none" />
7
- <path
8
- d="M10 3H8v1.88l2 2zm6 6v3.88l1.8 1.8.2-.2V9c0-1.1-.9-2-2-2V3h-2v4h-3.88l2 2H16zM4.12 3.84L2.71 5.25 6 8.54v5.96L9.5 18v3h5v-3l.48-.48 4.47 4.47 1.41-1.41L4.12 3.84zm8.38 13.33V19h-1v-1.83L8 13.65v-3.11l5.57 5.57-1.07 1.06z"
9
- />
10
- </svg>
@@ -1,10 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- id="toolbar-dots-icon"
4
- viewBox="0 0 24 24"
5
- >
6
- <path d="M0 0h24v24H0V0z" fill="none" />
7
- <path
8
- d="M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"
9
- />
10
- </svg>
@@ -1,9 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- id="toolbar-settings-icon"
4
- viewBox="0 0 24 24"
5
- >
6
- <path
7
- d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"
8
- />
9
- </svg>
@@ -1,10 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- id="toolbar-palette-icon"
4
- viewBox="0 0 24 24"
5
- >
6
- <path
7
- d="M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9c.83 0 1.5-.67 1.5-1.5 0-.39-.15-.74-.39-1.01-.23-.26-.38-.61-.38-.99 0-.83.67-1.5 1.5-1.5H16c2.76 0 5-2.24 5-5 0-4.42-4.03-8-9-8zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12zm3-4C8.67 8 8 7.33 8 6.5S8.67 5 9.5 5s1.5.67 1.5 1.5S10.33 8 9.5 8zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 5 14.5 5s1.5.67 1.5 1.5S15.33 8 14.5 8zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 9 17.5 9s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"
8
- />
9
- <path d="M0 0h24v24H0z" fill="none" />
10
- </svg>
@@ -1,10 +0,0 @@
1
- <svg
2
- xmlns="http://www.w3.org/2000/svg"
3
- id="toolbar-cross-icon"
4
- viewBox="0 0 24 24"
5
- >
6
- <path
7
- d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
8
- />
9
- <path d="M0 0h24v24H0z" fill="none" />
10
- </svg>