mirror of
https://github.com/OpenSquawk/OpenSquawk
synced 2026-08-04 16:22:48 +08:00
feat(live-atc): local speech bridge discovery composable
This commit is contained in:
Binary file not shown.
22
app/composables/useLocalSpeechBridge.test.ts
Normal file
22
app/composables/useLocalSpeechBridge.test.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { describe, it, expect, vi, beforeEach } from 'vitest'
|
||||
import { probeLocalSpeech } from './useLocalSpeechBridge'
|
||||
|
||||
describe('probeLocalSpeech', () => {
|
||||
beforeEach(() => vi.restoreAllMocks())
|
||||
|
||||
it('returns the base url of the first ready port', async () => {
|
||||
vi.stubGlobal('fetch', vi.fn(async (url: string) => {
|
||||
if (url.includes('8765')) return { ok: true, json: async () => ({ ok: true, ready: false }) } as any
|
||||
if (url.includes('8766')) return { ok: true, json: async () => ({ ok: true, ready: true }) } as any
|
||||
throw new Error('refused')
|
||||
}))
|
||||
const base = await probeLocalSpeech([8765, 8766, 8767])
|
||||
expect(base).toBe('http://127.0.0.1:8766')
|
||||
})
|
||||
|
||||
it('returns null when nothing is ready', async () => {
|
||||
vi.stubGlobal('fetch', vi.fn(async () => { throw new Error('refused') }))
|
||||
const base = await probeLocalSpeech([8765, 8766])
|
||||
expect(base).toBeNull()
|
||||
})
|
||||
})
|
||||
45
app/composables/useLocalSpeechBridge.ts
Normal file
45
app/composables/useLocalSpeechBridge.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { ref } from 'vue'
|
||||
|
||||
const PORTS = [8765, 8766, 8767, 8768, 8769, 8770]
|
||||
const HEALTH_TIMEOUT_MS = 1200
|
||||
const RECHECK_MS = 15_000
|
||||
|
||||
export async function probeLocalSpeech(ports: number[] = PORTS): Promise<string | null> {
|
||||
for (const port of ports) {
|
||||
const base = `http://127.0.0.1:${port}`
|
||||
try {
|
||||
const ctrl = new AbortController()
|
||||
const timeout = setTimeout(() => ctrl.abort(), HEALTH_TIMEOUT_MS)
|
||||
const response = await fetch(`${base}/health`, { signal: ctrl.signal })
|
||||
clearTimeout(timeout)
|
||||
if (!response.ok) continue
|
||||
const body = await response.json()
|
||||
if (body?.ok && body?.ready) return base
|
||||
} catch {
|
||||
// Port closed/refused: probe the next one.
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
const localBase = ref<string | null>(null)
|
||||
let started = false
|
||||
|
||||
export function useLocalSpeechBridge() {
|
||||
const refresh = async () => {
|
||||
localBase.value = await probeLocalSpeech()
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined' && !started) {
|
||||
started = true
|
||||
void refresh()
|
||||
setInterval(() => void refresh(), RECHECK_MS)
|
||||
}
|
||||
|
||||
return {
|
||||
localBase,
|
||||
/** Absolute endpoint URL, or null while no ready local Bridge is found. */
|
||||
localUrl: (path: string) => (localBase.value ? localBase.value + path : null),
|
||||
refresh,
|
||||
}
|
||||
}
|
||||
@@ -47,6 +47,7 @@
|
||||
"@types/three": "^0.183.0",
|
||||
"tsx": "^4.21.0",
|
||||
"typescript": "^5.9.3",
|
||||
"vitest": "^4.1.10",
|
||||
"vue-tsc": "^3.2.4"
|
||||
}
|
||||
}
|
||||
|
||||
689
yarn.lock
689
yarn.lock
@@ -680,6 +680,16 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@emnapi/core@npm:1.11.1":
|
||||
version: 1.11.1
|
||||
resolution: "@emnapi/core@npm:1.11.1"
|
||||
dependencies:
|
||||
"@emnapi/wasi-threads": "npm:1.2.2"
|
||||
tslib: "npm:^2.4.0"
|
||||
checksum: 10c0/2c6defdac2d1d26090384655d7d6c9614fa553853b1760597686749e9375dc2aa0dae80a2615b81c254600f5d531d07d8466cde0d331a8caae64b93f3ca5937e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@emnapi/core@npm:^1.7.1":
|
||||
version: 1.8.1
|
||||
resolution: "@emnapi/core@npm:1.8.1"
|
||||
@@ -690,6 +700,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@emnapi/runtime@npm:1.11.1":
|
||||
version: 1.11.1
|
||||
resolution: "@emnapi/runtime@npm:1.11.1"
|
||||
dependencies:
|
||||
tslib: "npm:^2.4.0"
|
||||
checksum: 10c0/04332fb62076afc440aa23316c04bec42f584ca8b074e5507d08e2b33a47cbe0493b1aadb8f3c1057b64ae1e17f5bde1a7bc37f7facc9d0bc25c18197cbd366f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@emnapi/runtime@npm:^1.7.0, @emnapi/runtime@npm:^1.7.1":
|
||||
version: 1.8.1
|
||||
resolution: "@emnapi/runtime@npm:1.8.1"
|
||||
@@ -708,6 +727,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@emnapi/wasi-threads@npm:1.2.2":
|
||||
version: 1.2.2
|
||||
resolution: "@emnapi/wasi-threads@npm:1.2.2"
|
||||
dependencies:
|
||||
tslib: "npm:^2.4.0"
|
||||
checksum: 10c0/f0dc8269d6b20ae5a7c7b36e7a6a333452009d461038ef4febb29da2f3f78c1e2b1576d7e8970a5c5789ed3caedc1f80f5b0c2a5373bdaf8d03b20432bb55747
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/aix-ppc64@npm:0.25.12":
|
||||
version: 0.25.12
|
||||
resolution: "@esbuild/aix-ppc64@npm:0.25.12"
|
||||
@@ -1529,6 +1557,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@napi-rs/wasm-runtime@npm:^1.1.6":
|
||||
version: 1.1.6
|
||||
resolution: "@napi-rs/wasm-runtime@npm:1.1.6"
|
||||
dependencies:
|
||||
"@tybys/wasm-util": "npm:^0.10.3"
|
||||
peerDependencies:
|
||||
"@emnapi/core": ^1.7.1
|
||||
"@emnapi/runtime": ^1.7.1
|
||||
checksum: 10c0/344518bf3ef65051dda4c00969f293aa4a21ab7dc7822b3f48519b17cd5eaa3f0bc34898d115d50ba59b1817a0cb905d46f7a7223c8249239cd14c28db388e10
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@nodelib/fs.scandir@npm:2.1.5":
|
||||
version: 2.1.5
|
||||
resolution: "@nodelib/fs.scandir@npm:2.1.5"
|
||||
@@ -2324,6 +2364,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@oxc-project/types@npm:=0.139.0":
|
||||
version: 0.139.0
|
||||
resolution: "@oxc-project/types@npm:0.139.0"
|
||||
checksum: 10c0/ad57d1bee4b972ecf6784183da12ac6865edfff326bd83712fb75262b901868bc2b72d6fb502465a5f0dbaaded2910003f73365caf3821901dad565cc0b7fdf2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@oxc-project/types@npm:^0.112.0":
|
||||
version: 0.112.0
|
||||
resolution: "@oxc-project/types@npm:0.112.0"
|
||||
@@ -2680,6 +2727,115 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-android-arm64@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-android-arm64@npm:1.1.5"
|
||||
conditions: os=android & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-darwin-arm64@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-darwin-arm64@npm:1.1.5"
|
||||
conditions: os=darwin & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-darwin-x64@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-darwin-x64@npm:1.1.5"
|
||||
conditions: os=darwin & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-freebsd-x64@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-freebsd-x64@npm:1.1.5"
|
||||
conditions: os=freebsd & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-linux-arm-gnueabihf@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.1.5"
|
||||
conditions: os=linux & cpu=arm
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-linux-arm64-gnu@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.1.5"
|
||||
conditions: os=linux & cpu=arm64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-linux-arm64-musl@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-linux-arm64-musl@npm:1.1.5"
|
||||
conditions: os=linux & cpu=arm64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-linux-ppc64-gnu@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.1.5"
|
||||
conditions: os=linux & cpu=ppc64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-linux-s390x-gnu@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.1.5"
|
||||
conditions: os=linux & cpu=s390x & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-linux-x64-gnu@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-linux-x64-gnu@npm:1.1.5"
|
||||
conditions: os=linux & cpu=x64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-linux-x64-musl@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-linux-x64-musl@npm:1.1.5"
|
||||
conditions: os=linux & cpu=x64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-openharmony-arm64@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-openharmony-arm64@npm:1.1.5"
|
||||
conditions: os=openharmony & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-wasm32-wasi@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-wasm32-wasi@npm:1.1.5"
|
||||
dependencies:
|
||||
"@emnapi/core": "npm:1.11.1"
|
||||
"@emnapi/runtime": "npm:1.11.1"
|
||||
"@napi-rs/wasm-runtime": "npm:^1.1.6"
|
||||
conditions: cpu=wasm32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-win32-arm64-msvc@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.1.5"
|
||||
conditions: os=win32 & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/binding-win32-x64-msvc@npm:1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "@rolldown/binding-win32-x64-msvc@npm:1.1.5"
|
||||
conditions: os=win32 & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/pluginutils@npm:1.0.0-rc.2":
|
||||
version: 1.0.0-rc.2
|
||||
resolution: "@rolldown/pluginutils@npm:1.0.0-rc.2"
|
||||
@@ -2687,6 +2843,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/pluginutils@npm:^1.0.0":
|
||||
version: 1.0.1
|
||||
resolution: "@rolldown/pluginutils@npm:1.0.1"
|
||||
checksum: 10c0/99d9b06d90196823e4d8c841f258db7a16e5dbba5824a2962b05d907b79f1ba929d56f22dd744fd530936e568c865ee56a719dc31e57e13bc0a8eb4764a8d8dd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@rolldown/pluginutils@npm:^1.0.0-rc.2":
|
||||
version: 1.0.0-rc.4
|
||||
resolution: "@rolldown/pluginutils@npm:1.0.0-rc.4"
|
||||
@@ -3017,6 +3180,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@standard-schema/spec@npm:^1.1.0":
|
||||
version: 1.1.0
|
||||
resolution: "@standard-schema/spec@npm:1.1.0"
|
||||
checksum: 10c0/d90f55acde4b2deb983529c87e8025fa693de1a5e8b49ecc6eb84d1fd96328add0e03d7d551442156c7432fd78165b2c26ff561b970a9a881f046abb78d6a526
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tweenjs/tween.js@npm:~23.1.3":
|
||||
version: 23.1.3
|
||||
resolution: "@tweenjs/tween.js@npm:23.1.3"
|
||||
@@ -3033,6 +3203,32 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@tybys/wasm-util@npm:^0.10.3":
|
||||
version: 0.10.3
|
||||
resolution: "@tybys/wasm-util@npm:0.10.3"
|
||||
dependencies:
|
||||
tslib: "npm:^2.4.0"
|
||||
checksum: 10c0/fd2bd2a79c6cd8c79ed1cf7a0fa375c64589264c88a27acaf9756d556b453ea222b62a4f68dd2fbb8b3a78b6bab3b1f4fb2431b6afc6aeda8344b53a521a1cd3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/chai@npm:^5.2.2":
|
||||
version: 5.2.3
|
||||
resolution: "@types/chai@npm:5.2.3"
|
||||
dependencies:
|
||||
"@types/deep-eql": "npm:*"
|
||||
assertion-error: "npm:^2.0.1"
|
||||
checksum: 10c0/e0ef1de3b6f8045a5e473e867c8565788c444271409d155588504840ad1a53611011f85072188c2833941189400228c1745d78323dac13fcede9c2b28bacfb2f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/deep-eql@npm:*":
|
||||
version: 4.0.2
|
||||
resolution: "@types/deep-eql@npm:4.0.2"
|
||||
checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/estree@npm:*, @types/estree@npm:1.0.8, @types/estree@npm:^1.0.0":
|
||||
version: 1.0.8
|
||||
resolution: "@types/estree@npm:1.0.8"
|
||||
@@ -3507,6 +3703,88 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/expect@npm:4.1.10":
|
||||
version: 4.1.10
|
||||
resolution: "@vitest/expect@npm:4.1.10"
|
||||
dependencies:
|
||||
"@standard-schema/spec": "npm:^1.1.0"
|
||||
"@types/chai": "npm:^5.2.2"
|
||||
"@vitest/spy": "npm:4.1.10"
|
||||
"@vitest/utils": "npm:4.1.10"
|
||||
chai: "npm:^6.2.2"
|
||||
tinyrainbow: "npm:^3.1.0"
|
||||
checksum: 10c0/a817ad0d9bd6a039776a7228d54fb8319c17e4af15917407f5566ac61781a8511f591d302519d6999217399915bc3c0290028189fc73f5c38f80cb01b6f19c8d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/mocker@npm:4.1.10":
|
||||
version: 4.1.10
|
||||
resolution: "@vitest/mocker@npm:4.1.10"
|
||||
dependencies:
|
||||
"@vitest/spy": "npm:4.1.10"
|
||||
estree-walker: "npm:^3.0.3"
|
||||
magic-string: "npm:^0.30.21"
|
||||
peerDependencies:
|
||||
msw: ^2.4.9
|
||||
vite: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
peerDependenciesMeta:
|
||||
msw:
|
||||
optional: true
|
||||
vite:
|
||||
optional: true
|
||||
checksum: 10c0/4aa70b0df58681652e2e28093437fb2e8f4d02a6d03f5619abc266ac1c5ae5f43326148061d13ae6e071e0f6cfcf7634659af63644de8ce098a7c98949a3d1ad
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/pretty-format@npm:4.1.10":
|
||||
version: 4.1.10
|
||||
resolution: "@vitest/pretty-format@npm:4.1.10"
|
||||
dependencies:
|
||||
tinyrainbow: "npm:^3.1.0"
|
||||
checksum: 10c0/1a5daba730ffe23f2000bff484b4b2842f3b178d93663cb487b215516b8d3b62caa3e2bb2a3c63307b61a9fe58fb9bfff38559bc0c5e49d8aa403d6803a1d918
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/runner@npm:4.1.10":
|
||||
version: 4.1.10
|
||||
resolution: "@vitest/runner@npm:4.1.10"
|
||||
dependencies:
|
||||
"@vitest/utils": "npm:4.1.10"
|
||||
pathe: "npm:^2.0.3"
|
||||
checksum: 10c0/554b72639de9694271b99be8ae273fe12ec793093ec91cce143816cd1187d40b7138a4d9d4de4f456cfca9567de986825bff97e107c05b9eb4abc130e854286d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/snapshot@npm:4.1.10":
|
||||
version: 4.1.10
|
||||
resolution: "@vitest/snapshot@npm:4.1.10"
|
||||
dependencies:
|
||||
"@vitest/pretty-format": "npm:4.1.10"
|
||||
"@vitest/utils": "npm:4.1.10"
|
||||
magic-string: "npm:^0.30.21"
|
||||
pathe: "npm:^2.0.3"
|
||||
checksum: 10c0/e71398725f51af5fd0c07bb4b957d0f987daf9b4c564ac24cb2a4d1afde1a6939f535ac17761a32dcc41b0a1e6d4088af66dc44df89fdebebb92aabed1a92b5f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/spy@npm:4.1.10":
|
||||
version: 4.1.10
|
||||
resolution: "@vitest/spy@npm:4.1.10"
|
||||
checksum: 10c0/e5c08012560af6727fd66741c5cda25560d7c5442103d0c83e4276a9b0dd90b9da6cdf823a461195229a16c6ff87768ce788a68d0fa29dea73ee285618668178
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@vitest/utils@npm:4.1.10":
|
||||
version: 4.1.10
|
||||
resolution: "@vitest/utils@npm:4.1.10"
|
||||
dependencies:
|
||||
"@vitest/pretty-format": "npm:4.1.10"
|
||||
convert-source-map: "npm:^2.0.0"
|
||||
tinyrainbow: "npm:^3.1.0"
|
||||
checksum: 10c0/05b0ecec6997ec22fc08377e57dbd8fa37992e05961f3a7a916d98b1ab56d15c2a87dbd83d392b628242bdc156b1705e7fa60a3bf0c54bdb51158c153e05fc5d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@volar/language-core@npm:2.4.27":
|
||||
version: 2.4.27
|
||||
resolution: "@volar/language-core@npm:2.4.27"
|
||||
@@ -4108,6 +4386,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"assertion-error@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "assertion-error@npm:2.0.1"
|
||||
checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"ast-kit@npm:^2.1.2, ast-kit@npm:^2.1.3":
|
||||
version: 2.2.0
|
||||
resolution: "ast-kit@npm:2.2.0"
|
||||
@@ -4490,6 +4775,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"chai@npm:^6.2.2":
|
||||
version: 6.2.2
|
||||
resolution: "chai@npm:6.2.2"
|
||||
checksum: 10c0/e6c69e5f0c11dffe6ea13d0290936ebb68fcc1ad688b8e952e131df6a6d5797d5e860bc55cef1aca2e950c3e1f96daf79e9d5a70fb7dbaab4e46355e2635ed53
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"chalk@npm:^4.1.2":
|
||||
version: 4.1.2
|
||||
resolution: "chalk@npm:4.1.2"
|
||||
@@ -5137,7 +5429,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"detect-libc@npm:^2.0.0, detect-libc@npm:^2.1.2":
|
||||
"detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.3, detect-libc@npm:^2.1.2":
|
||||
version: 2.1.2
|
||||
resolution: "detect-libc@npm:2.1.2"
|
||||
checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4
|
||||
@@ -5653,6 +5945,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"expect-type@npm:^1.3.0":
|
||||
version: 1.4.0
|
||||
resolution: "expect-type@npm:1.4.0"
|
||||
checksum: 10c0/d40d76b8570695d36587beb3cc28494da2ca3ec8f04e67f5622ed2d372d850e401a9adef19c6835e1a8173903f157c79540b34c7b3fbd7cd8ce726cc903c57b7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"exponential-backoff@npm:^3.1.1":
|
||||
version: 3.1.3
|
||||
resolution: "exponential-backoff@npm:3.1.3"
|
||||
@@ -6864,6 +7163,126 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-android-arm64@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-android-arm64@npm:1.33.0"
|
||||
conditions: os=android & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-darwin-arm64@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-darwin-arm64@npm:1.33.0"
|
||||
conditions: os=darwin & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-darwin-x64@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-darwin-x64@npm:1.33.0"
|
||||
conditions: os=darwin & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-freebsd-x64@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-freebsd-x64@npm:1.33.0"
|
||||
conditions: os=freebsd & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-linux-arm-gnueabihf@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-linux-arm-gnueabihf@npm:1.33.0"
|
||||
conditions: os=linux & cpu=arm
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-linux-arm64-gnu@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-linux-arm64-gnu@npm:1.33.0"
|
||||
conditions: os=linux & cpu=arm64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-linux-arm64-musl@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-linux-arm64-musl@npm:1.33.0"
|
||||
conditions: os=linux & cpu=arm64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-linux-x64-gnu@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-linux-x64-gnu@npm:1.33.0"
|
||||
conditions: os=linux & cpu=x64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-linux-x64-musl@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-linux-x64-musl@npm:1.33.0"
|
||||
conditions: os=linux & cpu=x64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-win32-arm64-msvc@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-win32-arm64-msvc@npm:1.33.0"
|
||||
conditions: os=win32 & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss-win32-x64-msvc@npm:1.33.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss-win32-x64-msvc@npm:1.33.0"
|
||||
conditions: os=win32 & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lightningcss@npm:^1.32.0":
|
||||
version: 1.33.0
|
||||
resolution: "lightningcss@npm:1.33.0"
|
||||
dependencies:
|
||||
detect-libc: "npm:^2.0.3"
|
||||
lightningcss-android-arm64: "npm:1.33.0"
|
||||
lightningcss-darwin-arm64: "npm:1.33.0"
|
||||
lightningcss-darwin-x64: "npm:1.33.0"
|
||||
lightningcss-freebsd-x64: "npm:1.33.0"
|
||||
lightningcss-linux-arm-gnueabihf: "npm:1.33.0"
|
||||
lightningcss-linux-arm64-gnu: "npm:1.33.0"
|
||||
lightningcss-linux-arm64-musl: "npm:1.33.0"
|
||||
lightningcss-linux-x64-gnu: "npm:1.33.0"
|
||||
lightningcss-linux-x64-musl: "npm:1.33.0"
|
||||
lightningcss-win32-arm64-msvc: "npm:1.33.0"
|
||||
lightningcss-win32-x64-msvc: "npm:1.33.0"
|
||||
dependenciesMeta:
|
||||
lightningcss-android-arm64:
|
||||
optional: true
|
||||
lightningcss-darwin-arm64:
|
||||
optional: true
|
||||
lightningcss-darwin-x64:
|
||||
optional: true
|
||||
lightningcss-freebsd-x64:
|
||||
optional: true
|
||||
lightningcss-linux-arm-gnueabihf:
|
||||
optional: true
|
||||
lightningcss-linux-arm64-gnu:
|
||||
optional: true
|
||||
lightningcss-linux-arm64-musl:
|
||||
optional: true
|
||||
lightningcss-linux-x64-gnu:
|
||||
optional: true
|
||||
lightningcss-linux-x64-musl:
|
||||
optional: true
|
||||
lightningcss-win32-arm64-msvc:
|
||||
optional: true
|
||||
lightningcss-win32-x64-msvc:
|
||||
optional: true
|
||||
checksum: 10c0/ce1f8279fbae636dbf37fa6e7385d5f98ed881d72af3362f24afbd4685e19c1fcdfecf17e5dd77f2ebee3d0c23ade276230d85842d07292229a2cffba8ff20a3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lilconfig@npm:^3.1.1, lilconfig@npm:^3.1.3":
|
||||
version: 3.1.3
|
||||
resolution: "lilconfig@npm:3.1.3"
|
||||
@@ -7459,6 +7878,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"nanoid@npm:^3.3.16":
|
||||
version: 3.3.16
|
||||
resolution: "nanoid@npm:3.3.16"
|
||||
bin:
|
||||
nanoid: bin/nanoid.cjs
|
||||
checksum: 10c0/bbf2dcffe22d2b62d16de2711752070b539c0f644c7916f823ad6521986b2078cbe524f2d6240f58c46e9141ea0c7b87a029e100c0f7f175228cacaf30e41bba
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"nanoid@npm:^5.1.5":
|
||||
version: 5.1.6
|
||||
resolution: "nanoid@npm:5.1.6"
|
||||
@@ -8019,6 +8447,7 @@ __metadata:
|
||||
three: "npm:^0.183.1"
|
||||
tsx: "npm:^4.21.0"
|
||||
typescript: "npm:^5.9.3"
|
||||
vitest: "npm:^4.1.10"
|
||||
vue: "npm:^3.5.28"
|
||||
vue-router: "npm:^5.0.2"
|
||||
vue-tsc: "npm:^3.2.4"
|
||||
@@ -8385,6 +8814,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"picomatch@npm:^4.0.4, picomatch@npm:^4.0.5":
|
||||
version: 4.0.5
|
||||
resolution: "picomatch@npm:4.0.5"
|
||||
checksum: 10c0/947bc6b6e1ff1e6c5aaf95b107a0839d12802f4f7b867663f67d47accba939ca1cb582cf99dfc30438efa1c4648ac5990967e783e8929c36b03e8440704ef1bd
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pify@npm:^2.3.0":
|
||||
version: 2.3.0
|
||||
resolution: "pify@npm:2.3.0"
|
||||
@@ -8869,6 +9305,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"postcss@npm:^8.5.17":
|
||||
version: 8.5.22
|
||||
resolution: "postcss@npm:8.5.22"
|
||||
dependencies:
|
||||
nanoid: "npm:^3.3.16"
|
||||
picocolors: "npm:^1.1.1"
|
||||
source-map-js: "npm:^1.2.1"
|
||||
checksum: 10c0/9e143ee457988049d5f187116fd37f2750ae9d8d71cc99eae690b776e549e134b34086cbaa2f0360ecd1729b15d918227bd0fc3a2ffbe341f7212d0827080793
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"pretty-bytes@npm:^7.1.0":
|
||||
version: 7.1.0
|
||||
resolution: "pretty-bytes@npm:7.1.0"
|
||||
@@ -9166,6 +9613,64 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"rolldown@npm:~1.1.5":
|
||||
version: 1.1.5
|
||||
resolution: "rolldown@npm:1.1.5"
|
||||
dependencies:
|
||||
"@oxc-project/types": "npm:=0.139.0"
|
||||
"@rolldown/binding-android-arm64": "npm:1.1.5"
|
||||
"@rolldown/binding-darwin-arm64": "npm:1.1.5"
|
||||
"@rolldown/binding-darwin-x64": "npm:1.1.5"
|
||||
"@rolldown/binding-freebsd-x64": "npm:1.1.5"
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "npm:1.1.5"
|
||||
"@rolldown/binding-linux-arm64-gnu": "npm:1.1.5"
|
||||
"@rolldown/binding-linux-arm64-musl": "npm:1.1.5"
|
||||
"@rolldown/binding-linux-ppc64-gnu": "npm:1.1.5"
|
||||
"@rolldown/binding-linux-s390x-gnu": "npm:1.1.5"
|
||||
"@rolldown/binding-linux-x64-gnu": "npm:1.1.5"
|
||||
"@rolldown/binding-linux-x64-musl": "npm:1.1.5"
|
||||
"@rolldown/binding-openharmony-arm64": "npm:1.1.5"
|
||||
"@rolldown/binding-wasm32-wasi": "npm:1.1.5"
|
||||
"@rolldown/binding-win32-arm64-msvc": "npm:1.1.5"
|
||||
"@rolldown/binding-win32-x64-msvc": "npm:1.1.5"
|
||||
"@rolldown/pluginutils": "npm:^1.0.0"
|
||||
dependenciesMeta:
|
||||
"@rolldown/binding-android-arm64":
|
||||
optional: true
|
||||
"@rolldown/binding-darwin-arm64":
|
||||
optional: true
|
||||
"@rolldown/binding-darwin-x64":
|
||||
optional: true
|
||||
"@rolldown/binding-freebsd-x64":
|
||||
optional: true
|
||||
"@rolldown/binding-linux-arm-gnueabihf":
|
||||
optional: true
|
||||
"@rolldown/binding-linux-arm64-gnu":
|
||||
optional: true
|
||||
"@rolldown/binding-linux-arm64-musl":
|
||||
optional: true
|
||||
"@rolldown/binding-linux-ppc64-gnu":
|
||||
optional: true
|
||||
"@rolldown/binding-linux-s390x-gnu":
|
||||
optional: true
|
||||
"@rolldown/binding-linux-x64-gnu":
|
||||
optional: true
|
||||
"@rolldown/binding-linux-x64-musl":
|
||||
optional: true
|
||||
"@rolldown/binding-openharmony-arm64":
|
||||
optional: true
|
||||
"@rolldown/binding-wasm32-wasi":
|
||||
optional: true
|
||||
"@rolldown/binding-win32-arm64-msvc":
|
||||
optional: true
|
||||
"@rolldown/binding-win32-x64-msvc":
|
||||
optional: true
|
||||
bin:
|
||||
rolldown: ./bin/cli.mjs
|
||||
checksum: 10c0/93072aa9d95882f9fa5cd57fe7db6a48efd6f85a25a32137425052ecca02df653651eed0c33a865c33511681bd6a40691d5c88900b8e95ce1334f4f75ba826ff
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"rollup-plugin-visualizer@npm:^6.0.5":
|
||||
version: 6.0.5
|
||||
resolution: "rollup-plugin-visualizer@npm:6.0.5"
|
||||
@@ -9549,6 +10054,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"siginfo@npm:^2.0.0":
|
||||
version: 2.0.0
|
||||
resolution: "siginfo@npm:2.0.0"
|
||||
checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"signal-exit@npm:^3.0.7":
|
||||
version: 3.0.7
|
||||
resolution: "signal-exit@npm:3.0.7"
|
||||
@@ -9719,6 +10231,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"stackback@npm:0.0.2":
|
||||
version: 0.0.2
|
||||
resolution: "stackback@npm:0.0.2"
|
||||
checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"standard-as-callback@npm:^2.1.0":
|
||||
version: 2.1.0
|
||||
resolution: "standard-as-callback@npm:2.1.0"
|
||||
@@ -9747,6 +10266,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"std-env@npm:^4.0.0-rc.1":
|
||||
version: 4.2.0
|
||||
resolution: "std-env@npm:4.2.0"
|
||||
checksum: 10c0/40ac525ce7b7c556abc332a7376f14356eeb1a7f17f6ff9a003eb9f52326ff1f3745d3e1b43452675b1ec6fcc319f1b1d6f3b0d386cf3f91058479ad883cff69
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"streamx@npm:^2.15.0":
|
||||
version: 2.23.0
|
||||
resolution: "streamx@npm:2.23.0"
|
||||
@@ -10072,6 +10598,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tinybench@npm:^2.9.0":
|
||||
version: 2.9.0
|
||||
resolution: "tinybench@npm:2.9.0"
|
||||
checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tinyexec@npm:^1.0.1, tinyexec@npm:^1.0.2":
|
||||
version: 1.0.2
|
||||
resolution: "tinyexec@npm:1.0.2"
|
||||
@@ -10089,6 +10622,23 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tinyglobby@npm:^0.2.17":
|
||||
version: 0.2.17
|
||||
resolution: "tinyglobby@npm:0.2.17"
|
||||
dependencies:
|
||||
fdir: "npm:^6.5.0"
|
||||
picomatch: "npm:^4.0.4"
|
||||
checksum: 10c0/7f7bb0f197c88bc4b20c231e0deca4240ca3bf313a88f5a7fee93a872b84966a4d50220947c0455ad07a60b3b360961c5b7fd979222aeb716a9f99b412002e4c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"tinyrainbow@npm:^3.1.0":
|
||||
version: 3.1.0
|
||||
resolution: "tinyrainbow@npm:3.1.0"
|
||||
checksum: 10c0/f11cf387a26c5c9255bec141a90ac511b26172981b10c3e50053bc6700ea7d2336edcc4a3a21dbb8412fe7c013477d2ba4d7e4877800f3f8107be5105aad6511
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"to-regex-range@npm:^5.0.1":
|
||||
version: 5.0.1
|
||||
resolution: "to-regex-range@npm:5.0.1"
|
||||
@@ -10785,6 +11335,63 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0":
|
||||
version: 8.1.5
|
||||
resolution: "vite@npm:8.1.5"
|
||||
dependencies:
|
||||
fsevents: "npm:~2.3.3"
|
||||
lightningcss: "npm:^1.32.0"
|
||||
picomatch: "npm:^4.0.5"
|
||||
postcss: "npm:^8.5.17"
|
||||
rolldown: "npm:~1.1.5"
|
||||
tinyglobby: "npm:^0.2.17"
|
||||
peerDependencies:
|
||||
"@types/node": ^20.19.0 || >=22.12.0
|
||||
"@vitejs/devtools": ^0.3.0
|
||||
esbuild: ^0.27.0 || ^0.28.0
|
||||
jiti: ">=1.21.0"
|
||||
less: ^4.0.0
|
||||
sass: ^1.70.0
|
||||
sass-embedded: ^1.70.0
|
||||
stylus: ">=0.54.8"
|
||||
sugarss: ^5.0.0
|
||||
terser: ^5.16.0
|
||||
tsx: ^4.8.1
|
||||
yaml: ^2.4.2
|
||||
dependenciesMeta:
|
||||
fsevents:
|
||||
optional: true
|
||||
peerDependenciesMeta:
|
||||
"@types/node":
|
||||
optional: true
|
||||
"@vitejs/devtools":
|
||||
optional: true
|
||||
esbuild:
|
||||
optional: true
|
||||
jiti:
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
sass-embedded:
|
||||
optional: true
|
||||
stylus:
|
||||
optional: true
|
||||
sugarss:
|
||||
optional: true
|
||||
terser:
|
||||
optional: true
|
||||
tsx:
|
||||
optional: true
|
||||
yaml:
|
||||
optional: true
|
||||
bin:
|
||||
vite: bin/vite.js
|
||||
checksum: 10c0/3231e24dd4394d0bc8b4f0f5d6d6a2eda8737e5053042892b4163564456a03d67f953c4c7498621f9517eebc30a492ea136c728a767a122eb84bf6d7cf60e1e6
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"vite@npm:^7.3.1":
|
||||
version: 7.3.1
|
||||
resolution: "vite@npm:7.3.1"
|
||||
@@ -10840,6 +11447,74 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"vitest@npm:^4.1.10":
|
||||
version: 4.1.10
|
||||
resolution: "vitest@npm:4.1.10"
|
||||
dependencies:
|
||||
"@vitest/expect": "npm:4.1.10"
|
||||
"@vitest/mocker": "npm:4.1.10"
|
||||
"@vitest/pretty-format": "npm:4.1.10"
|
||||
"@vitest/runner": "npm:4.1.10"
|
||||
"@vitest/snapshot": "npm:4.1.10"
|
||||
"@vitest/spy": "npm:4.1.10"
|
||||
"@vitest/utils": "npm:4.1.10"
|
||||
es-module-lexer: "npm:^2.0.0"
|
||||
expect-type: "npm:^1.3.0"
|
||||
magic-string: "npm:^0.30.21"
|
||||
obug: "npm:^2.1.1"
|
||||
pathe: "npm:^2.0.3"
|
||||
picomatch: "npm:^4.0.3"
|
||||
std-env: "npm:^4.0.0-rc.1"
|
||||
tinybench: "npm:^2.9.0"
|
||||
tinyexec: "npm:^1.0.2"
|
||||
tinyglobby: "npm:^0.2.15"
|
||||
tinyrainbow: "npm:^3.1.0"
|
||||
vite: "npm:^6.0.0 || ^7.0.0 || ^8.0.0"
|
||||
why-is-node-running: "npm:^2.3.0"
|
||||
peerDependencies:
|
||||
"@edge-runtime/vm": "*"
|
||||
"@opentelemetry/api": ^1.9.0
|
||||
"@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0
|
||||
"@vitest/browser-playwright": 4.1.10
|
||||
"@vitest/browser-preview": 4.1.10
|
||||
"@vitest/browser-webdriverio": 4.1.10
|
||||
"@vitest/coverage-istanbul": 4.1.10
|
||||
"@vitest/coverage-v8": 4.1.10
|
||||
"@vitest/ui": 4.1.10
|
||||
happy-dom: "*"
|
||||
jsdom: "*"
|
||||
vite: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
peerDependenciesMeta:
|
||||
"@edge-runtime/vm":
|
||||
optional: true
|
||||
"@opentelemetry/api":
|
||||
optional: true
|
||||
"@types/node":
|
||||
optional: true
|
||||
"@vitest/browser-playwright":
|
||||
optional: true
|
||||
"@vitest/browser-preview":
|
||||
optional: true
|
||||
"@vitest/browser-webdriverio":
|
||||
optional: true
|
||||
"@vitest/coverage-istanbul":
|
||||
optional: true
|
||||
"@vitest/coverage-v8":
|
||||
optional: true
|
||||
"@vitest/ui":
|
||||
optional: true
|
||||
happy-dom:
|
||||
optional: true
|
||||
jsdom:
|
||||
optional: true
|
||||
vite:
|
||||
optional: false
|
||||
bin:
|
||||
vitest: ./vitest.mjs
|
||||
checksum: 10c0/ff07294a57f9c62f3b503f7cf88a52ee0753ed26389a49cda430387a3898f39d80af47180b0af19e27acab5bd11ae95706bd4b44ce8befc97d3ae49af6ca4fc1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"vscode-uri@npm:^3.0.8, vscode-uri@npm:^3.1.0":
|
||||
version: 3.1.0
|
||||
resolution: "vscode-uri@npm:3.1.0"
|
||||
@@ -11109,6 +11784,18 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"why-is-node-running@npm:^2.3.0":
|
||||
version: 2.3.0
|
||||
resolution: "why-is-node-running@npm:2.3.0"
|
||||
dependencies:
|
||||
siginfo: "npm:^2.0.0"
|
||||
stackback: "npm:0.0.2"
|
||||
bin:
|
||||
why-is-node-running: cli.js
|
||||
checksum: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0":
|
||||
version: 7.0.0
|
||||
resolution: "wrap-ansi@npm:7.0.0"
|
||||
|
||||
Reference in New Issue
Block a user