Compare commits

...

2 Commits

Author SHA1 Message Date
Yeicor
0c0db36718 Automatically update version to 0.9.2 2024-11-15 22:14:45 +00:00
Yeicor
4343c52466 Automatically configure default preload URL if the backend serves the frontend directly.
Fixes #207
2024-11-15 23:10:30 +01:00
8 changed files with 197 additions and 65 deletions

View File

@@ -5,7 +5,7 @@ The following npm package may be included in this product:
- @google/model-viewer@4.0.0
This package contains the following license and notice below:
This package contains the following license:
Apache License
Version 2.0, January 2004
@@ -216,7 +216,7 @@ The following npm packages may be included in this product:
- source-map-js@1.2.0
- source-map-js@1.2.1
These packages each contain the following license and notice below:
These packages each contain the following license:
Copyright (c) 2009-2011, Mozilla Foundation and contributors
All rights reserved.
@@ -255,7 +255,7 @@ The following npm packages may be included in this product:
- ndarray-ops@1.2.2
- uniq@1.0.1
These packages each contain the following license and notice below:
These packages each contain the following license:
The MIT License (MIT)
@@ -285,7 +285,7 @@ The following npm package may be included in this product:
- ndarray@1.0.19
This package contains the following license and notice below:
This package contains the following license:
The MIT License (MIT)
@@ -315,7 +315,7 @@ The following npm package may be included in this product:
- promise-worker-transferable@1.0.4
This package contains the following license and notice below:
This package contains the following license:
Apache License
Version 2.0, January 2004
@@ -525,7 +525,7 @@ The following npm package may be included in this product:
- detect-libc@2.0.3
This package contains the following license and notice below:
This package contains the following license:
Apache License
Version 2.0, January 2004
@@ -736,7 +736,7 @@ The following npm packages may be included in this product:
- @types/ndarray@1.0.14
- @types/trusted-types@2.0.7
These packages each contain the following license and notice below:
These packages each contain the following license:
MIT License
@@ -766,7 +766,7 @@ The following npm package may be included in this product:
- lie@3.3.0
This package contains the following license and notice below:
This package contains the following license:
#Copyright (c) 2014-2018 Calvin Metcalf, Jordan Harband
@@ -782,7 +782,7 @@ The following npm package may be included in this product:
- sharp@0.33.4
This package contains the following license and notice below:
This package contains the following license:
Apache License
Version 2.0, January 2004
@@ -982,7 +982,7 @@ The following npm package may be included in this product:
- typescript@5.6.3
This package contains the following license and notice below:
This package contains the following license:
Apache License
@@ -1048,7 +1048,7 @@ The following npm packages may be included in this product:
- lit-element@3.3.3
- lit@2.8.0
These packages each contain the following license and notice below:
These packages each contain the following license:
BSD 3-Clause License
@@ -1085,7 +1085,7 @@ The following npm package may be included in this product:
- lit-html@2.8.0
This package contains the following license and notice below:
This package contains the following license:
BSD 3-Clause License
@@ -1122,7 +1122,7 @@ The following npm package may be included in this product:
- @lit-labs/ssr-dom-shim@1.2.0
This package contains the following license and notice below:
This package contains the following license:
BSD-3-Clause
@@ -1132,7 +1132,7 @@ The following npm package may be included in this product:
- color-string@1.9.1
This package contains the following license and notice below:
This package contains the following license:
Copyright (c) 2011 Heather Arthur <fayearthur@gmail.com>
@@ -1161,7 +1161,7 @@ The following npm package may be included in this product:
- color-convert@2.0.1
This package contains the following license and notice below:
This package contains the following license:
Copyright (c) 2011-2016 Heather Arthur <fayearthur@gmail.com>
@@ -1190,7 +1190,7 @@ The following npm package may be included in this product:
- immediate@3.0.6
This package contains the following license and notice below:
This package contains the following license:
Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier
@@ -1219,7 +1219,7 @@ The following npm package may be included in this product:
- color@4.2.3
This package contains the following license and notice below:
This package contains the following license:
Copyright (c) 2012 Heather Arthur
@@ -1248,7 +1248,7 @@ The following npm package may be included in this product:
- @babel/parser@7.25.3
This package contains the following license and notice below:
This package contains the following license:
Copyright (C) 2012-2014 by various contributors (see AUTHORS)
@@ -1276,7 +1276,7 @@ The following npm package may be included in this product:
- is-promise@2.2.2
This package contains the following license and notice below:
This package contains the following license:
Copyright (c) 2014 Forbes Lindesay
@@ -1304,7 +1304,7 @@ The following npm package may be included in this product:
- estree-walker@2.0.2
This package contains the following license and notice below:
This package contains the following license:
Copyright (c) 2015-20 [these people](https://github.com/Rich-Harris/estree-walker/graphs/contributors)
@@ -1320,7 +1320,7 @@ The following npm package may be included in this product:
- csstype@3.1.3
This package contains the following license and notice below:
This package contains the following license:
Copyright (c) 2017-2018 Fredrik Nicol
@@ -1348,7 +1348,7 @@ The following npm package may be included in this product:
- entities@4.5.0
This package contains the following license and notice below:
This package contains the following license:
Copyright (c) Felix Böhm
All rights reserved.
@@ -1368,7 +1368,7 @@ The following npm package may be included in this product:
- magic-string@0.30.11
This package contains the following license and notice below:
This package contains the following license:
Copyright 2018 Rich Harris
@@ -1384,7 +1384,7 @@ The following npm package may be included in this product:
- picocolors@1.1.0
This package contains the following license and notice below:
This package contains the following license:
ISC License
@@ -1408,7 +1408,7 @@ The following npm package may be included in this product:
- to-fast-properties@2.0.0
This package contains the following license and notice below:
This package contains the following license:
MIT License
@@ -1429,7 +1429,7 @@ The following npm packages may be included in this product:
- @babel/helper-validator-identifier@7.24.7
- @babel/types@7.25.2
These packages each contain the following license and notice below:
These packages each contain the following license:
MIT License
@@ -1460,7 +1460,7 @@ The following npm package may be included in this product:
- three-mesh-bvh@0.8.2
This package contains the following license and notice below:
This package contains the following license:
MIT License
@@ -1490,7 +1490,7 @@ The following npm package may be included in this product:
- three-orientation-gizmo@1.1.0
This package contains the following license and notice below:
This package contains the following license:
MIT License
@@ -1520,7 +1520,7 @@ The following npm package may be included in this product:
- @monogrid/gainmap-js@3.0.3
This package contains the following license and notice below:
This package contains the following license:
MIT License
@@ -1550,7 +1550,7 @@ The following npm package may be included in this product:
- @jamescoyle/vue-icon@0.1.2
This package contains the following license and notice below:
This package contains the following license:
MIT License
@@ -1581,7 +1581,7 @@ The following npm packages may be included in this product:
- @mdi/js@7.4.47
- @mdi/svg@7.4.47
These packages each contain the following license and notice below:
These packages each contain the following license:
Pictogrammers Free License
--------------------------
@@ -1610,7 +1610,7 @@ The following npm package may be included in this product:
- semver@7.6.2
This package contains the following license and notice below:
This package contains the following license:
The ISC License
@@ -1634,7 +1634,7 @@ The following npm package may be included in this product:
- @jridgewell/sourcemap-codec@1.5.0
This package contains the following license and notice below:
This package contains the following license:
The MIT License
@@ -1664,7 +1664,7 @@ The following npm package may be included in this product:
- three@0.125.2
This package contains the following license and notice below:
This package contains the following license:
The MIT License
@@ -1694,7 +1694,7 @@ The following npm package may be included in this product:
- three@0.169.0
This package contains the following license and notice below:
This package contains the following license:
The MIT License
@@ -1724,7 +1724,7 @@ The following npm package may be included in this product:
- is-arrayish@0.3.2
This package contains the following license and notice below:
This package contains the following license:
The MIT License (MIT)
@@ -1754,7 +1754,7 @@ The following npm package may be included in this product:
- simple-swizzle@0.2.2
This package contains the following license and notice below:
This package contains the following license:
The MIT License (MIT)
@@ -1782,9 +1782,9 @@ THE SOFTWARE.
The following npm package may be included in this product:
- vuetify@3.7.3
- vuetify@3.7.4
This package contains the following license and notice below:
This package contains the following license:
The MIT License (MIT)
@@ -1823,7 +1823,7 @@ The following npm packages may be included in this product:
- @vue/shared@3.5.12
- vue@3.5.12
These packages each contain the following license and notice below:
These packages each contain the following license:
The MIT License (MIT)
@@ -1853,7 +1853,7 @@ The following npm package may be included in this product:
- ktx-parse@0.7.1
This package contains the following license and notice below:
This package contains the following license:
The MIT License (MIT)
@@ -1883,9 +1883,9 @@ The following npm packages may be included in this product:
- ndarray-lanczos@0.3.0
- ndarray-pixels@4.1.0
- property-graph@2.0.0
- property-graph@3.0.0
These packages each contain the following license and notice below:
These packages each contain the following license:
The MIT License (MIT)
@@ -1913,11 +1913,11 @@ SOFTWARE.
The following npm packages may be included in this product:
- @gltf-transform/core@4.0.10
- @gltf-transform/extensions@4.0.10
- @gltf-transform/functions@4.0.10
- @gltf-transform/core@4.1.0
- @gltf-transform/extensions@4.1.0
- @gltf-transform/functions@4.1.0
These packages each contain the following license and notice below:
These packages each contain the following license:
The MIT License (MIT)
@@ -1947,7 +1947,7 @@ The following npm package may be included in this product:
- is-buffer@1.1.6
This package contains the following license and notice below:
This package contains the following license:
The MIT License (MIT)
@@ -1977,7 +1977,7 @@ The following npm package may be included in this product:
- postcss@8.4.47
This package contains the following license and notice below:
This package contains the following license:
The MIT License (MIT)
@@ -2006,7 +2006,7 @@ The following npm package may be included in this product:
- nanoid@3.3.7
This package contains the following license and notice below:
This package contains the following license:
The MIT License (MIT)
@@ -2035,7 +2035,7 @@ The following npm package may be included in this product:
- color-name@1.1.4
This package contains the following license and notice below:
This package contains the following license:
The MIT License (MIT)
Copyright (c) 2015 Dmitry Ivanov

View File

@@ -43,7 +43,7 @@ export class NetworkManager extends EventTarget {
* Updates will be emitted as "update" events, including the download URL and the model name.
*/
async load(url: string) {
if (url.startsWith("dev+")) {
if (url.startsWith("dev+") || url.startsWith("dev ")) {
let baseUrl = new URL(url.slice(4));
baseUrl.searchParams.set("api_updates", "true");
await this.monitorDevServer(baseUrl);

View File

@@ -10,7 +10,7 @@ export const settings = {
// @ts-ignore
// new URL('../../assets/logo_build/img.jpg.glb', import.meta.url).href,
// Websocket URLs automatically listen for new models from the python backend
"dev+http://127.0.0.1:32323/"
'<auto>', // Get the default preload URL if not overridden
],
loadHelpers: true,
edgeWidth: 0, /* The default line size for edges, set to 0 to use basic gl.LINEs */
@@ -64,4 +64,22 @@ function parseSetting(name: string, value: string): any {
const url = new URL(window.location.href);
url.searchParams.forEach((value, key) => {
if (key in settings) (settings as any)[key] = parseSetting(key, value);
})
})
// Get the default preload URL if not overridden (requires a fetch that is avoided if possible)
for (let i = 0; i < settings.preload.length; i++) {
let url = settings.preload[i];
if (url === '<auto>') {
const possibleBackend = new URL("./?api_updates=true", window.location.href)
await fetch(possibleBackend, {method: "HEAD"}).then((response) => {
if (response.ok && response.headers.get("Content-Type") === "text/event-stream") {
// Frontend served by the backend: default to this URL for updates
url = "dev+" + possibleBackend.href;
}
}).catch((error) => console.error("Failed to check for backend:", error));
if (url === '<auto>') { // Fallback to the default preload URL of localhost
url = "dev+http://localhost:32323";
}
}
settings.preload[i] = url;
}

View File

@@ -1,6 +1,6 @@
{
"name": "yet-another-cad-viewer",
"version": "0.9.1",
"version": "0.9.2",
"description": "",
"license": "MIT",
"private": true,
@@ -42,6 +42,7 @@
"terser": "^5.36.0",
"typescript": "~5.6.3",
"vite": "^5.4.10",
"vite-plugin-top-level-await": "^1.4.4",
"vue-tsc": "^2.1.10"
}
}

View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "yacv-server"
version = "0.9.1"
version = "0.9.2"
description = "Yet Another CAD Viewer (server)"
authors = ["Yeicor <4929005+Yeicor@users.noreply.github.com>"]
license = "MIT"

View File

@@ -5,6 +5,7 @@ import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import {name, version} from './package.json'
import {execSync} from 'child_process'
import topLevelAwait from "vite-plugin-top-level-await";
// https://vitejs.dev/config/
export default defineConfig({
@@ -18,6 +19,12 @@ export default defineConfig({
}
}),
vueJsx(),
topLevelAwait({
// The export name of top-level await promise for each chunk module
promiseExportName: "__tla",
// The function to generate import names of top-level await promise in each chunk module
promiseImportName: i => `__tla_${i}`
}),
],
resolve: {
alias: {

View File

@@ -1,7 +1,7 @@
import io
import os
import urllib.parse
from http import HTTPStatus
from http import HTTPStatus, HTTPMethod
from http.server import SimpleHTTPRequestHandler
from yacv_server.mylogger import logger
@@ -71,6 +71,19 @@ class HTTPHandler(SimpleHTTPRequestHandler):
def _api_updates(self):
"""Handles a publish-only websocket connection that send show_object events along with their hashes and URLs"""
self.send_response(HTTPStatus.OK)
self.send_header("Content-Type", "text/event-stream")
self.send_header("Cache-Control", "no-cache")
if not self.requestline.startswith(HTTPMethod.HEAD):
# Chunked transfer encoding!
self.send_header("Transfer-Encoding", "chunked")
else:
self.send_header("Content-Length", "0")
self.end_headers()
if self.requestline.startswith(HTTPMethod.HEAD):
return
# Keep a shared read lock to know if any frontend is still working before shutting down
with self.yacv.frontend_lock.r_locked():
@@ -81,13 +94,6 @@ class HTTPHandler(SimpleHTTPRequestHandler):
self.yacv.at_least_one_client.set()
logger.debug('Updates client connected')
self.send_response(HTTPStatus.OK)
self.send_header("Content-Type", "text/event-stream")
self.send_header("Cache-Control", "no-cache")
# Chunked transfer encoding!
self.send_header("Transfer-Encoding", "chunked")
self.end_headers()
def write_chunk(_chunk_data: str):
self.wfile.write(hex(len(_chunk_data))[2:].encode('utf-8'))
self.wfile.write(b'\r\n')
@@ -107,7 +113,7 @@ class HTTPHandler(SimpleHTTPRequestHandler):
# noinspection PyUnresolvedReferences
to_send = data.to_json()
write_chunk(f'data: {to_send}\n\n')
except BrokenPipeError: # Client disconnected normally
except (BrokenPipeError, ConnectionResetError): # Client disconnected normally
pass
finally:
subscription.close()

100
yarn.lock
View File

@@ -954,6 +954,11 @@
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
"@rollup/plugin-virtual@^3.0.2":
version "3.0.2"
resolved "https://registry.yarnpkg.com/@rollup/plugin-virtual/-/plugin-virtual-3.0.2.tgz#17e17eeecb4c9fa1c0a6e72c9e5f66382fddbb82"
integrity sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==
"@rollup/rollup-android-arm-eabi@4.22.4":
version "4.22.4"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz#8b613b9725e8f9479d142970b106b6ae878610d5"
@@ -1080,6 +1085,87 @@
"@sigstore/core" "^2.0.0"
"@sigstore/protobuf-specs" "^0.3.2"
"@swc/core-darwin-arm64@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.9.2.tgz#98b60a56229c4341c1263723f985e04f3f82d499"
integrity sha512-nETmsCoY29krTF2PtspEgicb3tqw7Ci5sInTI03EU5zpqYbPjoPH99BVTjj0OsF53jP5MxwnLI5Hm21lUn1d6A==
"@swc/core-darwin-x64@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.9.2.tgz#6bb1be573878acf42aa6abd6b602ef0136cc00de"
integrity sha512-9gD+bwBz8ZByjP6nZTXe/hzd0tySIAjpDHgkFiUrc+5zGF+rdTwhcNrzxNHJmy6mw+PW38jqII4uspFHUqqxuQ==
"@swc/core-linux-arm-gnueabihf@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.9.2.tgz#e63f57f2e214f06d711bed830d53af0597749647"
integrity sha512-kYq8ief1Qrn+WmsTWAYo4r+Coul4dXN6cLFjiPZ29Cv5pyU+GFvSPAB4bEdMzwy99rCR0u2P10UExaeCjurjvg==
"@swc/core-linux-arm64-gnu@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.9.2.tgz#cb26240fe5769c1675ac75717ec836e99a7f7e93"
integrity sha512-n0W4XiXlmEIVqxt+rD3ZpkogsEWUk1jJ+i5bQNgB+1JuWh0fBE8c/blDgTQXa0GB5lTPVDZQussgdNOCnAZwiA==
"@swc/core-linux-arm64-musl@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.9.2.tgz#0e4733e4e4398bee0c030a4e97279f78a65d4e61"
integrity sha512-8xzrOmsyCC1zrx2Wzx/h8dVsdewO1oMCwBTLc1gSJ/YllZYTb04pNm6NsVbzUX2tKddJVRgSJXV10j/NECLwpA==
"@swc/core-linux-x64-gnu@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.9.2.tgz#6b4b86d06537004cc4477915b67f7d94d1b6ba33"
integrity sha512-kZrNz/PjRQKcchWF6W292jk3K44EoVu1ad5w+zbS4jekIAxsM8WwQ1kd+yjUlN9jFcF8XBat5NKIs9WphJCVXg==
"@swc/core-linux-x64-musl@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.9.2.tgz#d6de84dbdcf69b1fdb45c8ae232b7d23ba92c7e2"
integrity sha512-TTIpR4rjMkhX1lnFR+PSXpaL83TrQzp9znRdp2TzYrODlUd/R20zOwSo9vFLCyH6ZoD47bccY7QeGZDYT3nlRg==
"@swc/core-win32-arm64-msvc@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.9.2.tgz#a5c477f0296e499890f55cfaa7c0100152b1900b"
integrity sha512-+Eg2d4icItKC0PMjZxH7cSYFLWk0aIp94LNmOw6tPq0e69ax6oh10upeq0D1fjWsKLmOJAWEvnXlayZcijEXDw==
"@swc/core-win32-ia32-msvc@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.9.2.tgz#66bbfea8cfcf6b602b8fb0d9ee788e92c8a736ed"
integrity sha512-nLWBi4vZDdM/LkiQmPCakof8Dh1/t5EM7eudue04V1lIcqx9YHVRS3KMwEaCoHLGg0c312Wm4YgrWQd9vwZ5zQ==
"@swc/core-win32-x64-msvc@1.9.2":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.9.2.tgz#f609fefac8f412b445cb0a2bfec73a657e41d4db"
integrity sha512-ik/k+JjRJBFkXARukdU82tSVx0CbExFQoQ78qTO682esbYXzjdB5eLVkoUbwen299pnfr88Kn4kyIqFPTje8Xw==
"@swc/core@^1.7.0":
version "1.9.2"
resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.9.2.tgz#226bdc5033ba0af85c0bf814b16bdc1df0070d35"
integrity sha512-dYyEkO6mRYtZFpnOsnYzv9rY69fHAHoawYOjGOEcxk9WYtaJhowMdP/w6NcOKnz2G7GlZaenjkzkMa6ZeQeMsg==
dependencies:
"@swc/counter" "^0.1.3"
"@swc/types" "^0.1.15"
optionalDependencies:
"@swc/core-darwin-arm64" "1.9.2"
"@swc/core-darwin-x64" "1.9.2"
"@swc/core-linux-arm-gnueabihf" "1.9.2"
"@swc/core-linux-arm64-gnu" "1.9.2"
"@swc/core-linux-arm64-musl" "1.9.2"
"@swc/core-linux-x64-gnu" "1.9.2"
"@swc/core-linux-x64-musl" "1.9.2"
"@swc/core-win32-arm64-msvc" "1.9.2"
"@swc/core-win32-ia32-msvc" "1.9.2"
"@swc/core-win32-x64-msvc" "1.9.2"
"@swc/counter@^0.1.3":
version "0.1.3"
resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9"
integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==
"@swc/types@^0.1.15":
version "0.1.15"
resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.15.tgz#9a3b3873d93382750b823aaeabca787bd3fa7c96"
integrity sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==
dependencies:
"@swc/counter" "^0.1.3"
"@tsconfig/node20@^20.1.4":
version "20.1.4"
resolved "https://registry.yarnpkg.com/@tsconfig/node20/-/node20-20.1.4.tgz#3457d42eddf12d3bde3976186ab0cd22b85df928"
@@ -3230,6 +3316,11 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2:
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
uuid@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-10.0.0.tgz#5a95aa454e6e002725c79055fd42aaba30ca6294"
integrity sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==
validate-npm-package-license@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -3243,6 +3334,15 @@ validate-npm-package-name@^6.0.0:
resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-6.0.0.tgz#3add966c853cfe36e0e8e6a762edd72ae6f1d6ac"
integrity sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==
vite-plugin-top-level-await@^1.4.4:
version "1.4.4"
resolved "https://registry.yarnpkg.com/vite-plugin-top-level-await/-/vite-plugin-top-level-await-1.4.4.tgz#4900e06bfb7179de20aaa9b4730d04022a9e259e"
integrity sha512-QyxQbvcMkgt+kDb12m2P8Ed35Sp6nXP+l8ptGrnHV9zgYDUpraO0CPdlqLSeBqvY2DToR52nutDG7mIHuysdiw==
dependencies:
"@rollup/plugin-virtual" "^3.0.2"
"@swc/core" "^1.7.0"
uuid "^10.0.0"
vite@^5.4.10:
version "5.4.10"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.10.tgz#d358a7bd8beda6cf0f3b7a450a8c7693a4f80c18"