From 63c92de7be0ba49bff107d9a2b6c911f98c8bc61 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Thu, 21 Dec 2023 15:01:40 +0100 Subject: [PATCH 01/15] feat: use shikiji for more accurate highlight (#190) --- package.json | 6 +- pnpm-lock.yaml | 3301 +++++++++++++++++++++------------------ src/monaco/Monaco.vue | 6 +- src/monaco/env.ts | 7 - src/monaco/highlight.ts | 23 + 5 files changed, 1813 insertions(+), 1530 deletions(-) create mode 100644 src/monaco/highlight.ts diff --git a/package.json b/package.json index de758838..3f77c758 100644 --- a/package.json +++ b/package.json @@ -79,10 +79,8 @@ "fflate": "^0.8.2", "hash-sum": "^2.0.0", "monaco-editor-core": "^0.46.0", - "monaco-editor-textmate": "^4.0.0", - "monaco-textmate": "^3.0.1", - "monaco-volar": "^0.4.0", - "onigasm": "^2.2.5", + "shikiji": "^0.9.6", + "shikiji-monaco": "^0.9.6", "path-browserify": "^1.0.1", "prettier": "^3.2.5", "rimraf": "^5.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4c9ed9bc..c3099409 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,515 +1,353 @@ -lockfileVersion: '6.1' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -devDependencies: - '@babel/types': - specifier: ^7.24.0 - version: 7.24.0 - '@emmetio/abbreviation': - specifier: ^2.3.3 - version: 2.3.3 - '@emmetio/codemirror-plugin': - specifier: ^1.2.4 - version: 1.2.4 - '@emmetio/css-abbreviation': - specifier: ^2.1.8 - version: 2.1.8 - '@mdi/js': - specifier: 6.2.95 - version: 6.2.95 - '@microsoft/api-extractor': - specifier: ^7.42.3 - version: 7.42.3(@types/node@20.11.25) - '@rollup/plugin-replace': - specifier: ^5.0.5 - version: 5.0.5 - '@types/codemirror': - specifier: ^5.60.15 - version: 5.60.15 - '@types/node': - specifier: ^20.11.25 - version: 20.11.25 - '@types/prettier': - specifier: ^2.7.3 - version: 2.7.3 - '@vitejs/plugin-vue': - specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) - '@volar/cdn': - specifier: ~1.11.1 - version: 1.11.1 - '@volar/monaco': - specifier: ~1.9.2 - version: 1.9.2 - '@volar/typescript': - specifier: ~2.1.2 - version: 2.1.2 - '@vue/language-service': - specifier: 2.0.6 - version: 2.0.6(typescript@5.4.2) - bumpp: - specifier: ^9.4.0 - version: 9.4.0 - codemirror: - specifier: ^5.65.14 - version: 5.65.14 - emmet: - specifier: ^2.4.6 - version: 2.4.6 - emmet-monaco-es: - specifier: ^5.3.2 - version: 5.3.2(monaco-editor@0.43.0) - fflate: - specifier: ^0.8.2 - version: 0.8.2 - hash-sum: - specifier: ^2.0.0 - version: 2.0.0 - monaco-editor-core: - specifier: ^0.46.0 - version: 0.46.0 - monaco-editor-textmate: - specifier: ^4.0.0 - version: 4.0.0(monaco-editor@0.43.0)(monaco-textmate@3.0.1) - monaco-textmate: - specifier: ^3.0.1 - version: 3.0.1(onigasm@2.2.5) - monaco-volar: - specifier: ^0.4.0 - version: 0.4.0 - onigasm: - specifier: ^2.2.5 - version: 2.2.5 - path-browserify: - specifier: ^1.0.1 - version: 1.0.1 - prettier: - specifier: ^3.2.5 - version: 3.2.5 - rimraf: - specifier: ^5.0.5 - version: 5.0.5 - sass: - specifier: ^1.71.1 - version: 1.71.1 - sucrase: - specifier: ^3.35.0 - version: 3.35.0 - typescript: - specifier: ^5.4.2 - version: 5.4.2 - vite: - specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) - vite-plugin-vuetify: - specifier: ^2.0.2 - version: 2.0.2(vite@5.1.5)(vue@3.4.21)(vuetify@3.5.8) - vue: - specifier: ^3.4.21 - version: 3.4.21(typescript@5.4.2) - vue-tsc: - specifier: 2.0.6 - version: 2.0.6(typescript@5.4.2) - vuetify: - specifier: 3.5.8 - version: 3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21) +importers: + + .: + devDependencies: + '@babel/types': + specifier: ^7.24.0 + version: 7.24.0 + '@emmetio/abbreviation': + specifier: ^2.3.3 + version: 2.3.3 + '@emmetio/codemirror-plugin': + specifier: ^1.2.4 + version: 1.2.4 + '@emmetio/css-abbreviation': + specifier: ^2.1.8 + version: 2.1.8 + '@mdi/js': + specifier: 6.2.95 + version: 6.2.95 + '@microsoft/api-extractor': + specifier: ^7.42.3 + version: 7.42.3(@types/node@20.11.25) + '@rollup/plugin-replace': + specifier: ^5.0.5 + version: 5.0.5 + '@types/codemirror': + specifier: ^5.60.15 + version: 5.60.15 + '@types/node': + specifier: ^20.11.25 + version: 20.11.25 + '@types/prettier': + specifier: ^2.7.3 + version: 2.7.3 + '@vitejs/plugin-vue': + specifier: ^5.0.4 + version: 5.0.4(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2)) + '@volar/cdn': + specifier: ~1.11.1 + version: 1.11.1 + '@volar/monaco': + specifier: ~1.9.2 + version: 1.9.2 + '@volar/typescript': + specifier: ~2.1.2 + version: 2.1.2 + '@vue/language-service': + specifier: 2.0.6 + version: 2.0.6(typescript@5.4.2) + bumpp: + specifier: ^9.4.0 + version: 9.4.0 + codemirror: + specifier: ^5.65.14 + version: 5.65.14 + emmet: + specifier: ^2.4.6 + version: 2.4.6 + emmet-monaco-es: + specifier: ^5.3.2 + version: 5.3.2(monaco-editor@0.43.0) + fflate: + specifier: ^0.8.2 + version: 0.8.2 + hash-sum: + specifier: ^2.0.0 + version: 2.0.0 + monaco-editor-core: + specifier: ^0.46.0 + version: 0.46.0 + path-browserify: + specifier: ^1.0.1 + version: 1.0.1 + prettier: + specifier: ^3.2.5 + version: 3.2.5 + rimraf: + specifier: ^5.0.5 + version: 5.0.5 + sass: + specifier: ^1.71.1 + version: 1.71.1 + shikiji: + specifier: ^0.9.6 + version: 0.9.19 + shikiji-monaco: + specifier: ^0.9.6 + version: 0.9.19 + sucrase: + specifier: ^3.35.0 + version: 3.35.0 + typescript: + specifier: ^5.4.2 + version: 5.4.2 + vite: + specifier: ^5.1.5 + version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite-plugin-vuetify: + specifier: ^2.0.2 + version: 2.0.2(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8) + vue: + specifier: ^3.4.21 + version: 3.4.21(typescript@5.4.2) + vue-tsc: + specifier: 2.0.6 + version: 2.0.6(typescript@5.4.2) + vuetify: + specifier: 3.5.8 + version: 3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21(typescript@5.4.2)) packages: - /@babel/helper-string-parser@7.23.4: + '@babel/helper-string-parser@7.23.4': resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.22.20: + '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - dev: true - /@babel/parser@7.24.0: + '@babel/parser@7.24.0': resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - /@babel/types@7.24.0: + '@babel/types@7.24.0': resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - /@emmetio/abbreviation@2.3.3: + '@emmetio/abbreviation@2.3.3': resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} - dependencies: - '@emmetio/scanner': 1.0.4 - dev: true - /@emmetio/codemirror-plugin@1.2.4: + '@emmetio/codemirror-plugin@1.2.4': resolution: {integrity: sha512-wVw2gqI6X+uVWYVRtTVymzTgbo4hEZIcPCNj4xrXw4l/+L3Qa+tAC/yf+Xy9nenRPCqRq0RLqGiQL+Qf/wYE9Q==} - dev: true - /@emmetio/css-abbreviation@2.1.8: + '@emmetio/css-abbreviation@2.1.8': resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} - dependencies: - '@emmetio/scanner': 1.0.4 - dev: true - /@emmetio/scanner@1.0.4: + '@emmetio/scanner@1.0.4': resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} - dev: true - /@esbuild/aix-ppc64@0.19.12: + '@esbuild/aix-ppc64@0.19.12': resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.19.12: + '@esbuild/android-arm64@0.19.12': resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.19.12: + '@esbuild/android-arm@0.19.12': resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.19.12: + '@esbuild/android-x64@0.19.12': resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.19.12: + '@esbuild/darwin-arm64@0.19.12': resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.19.12: + '@esbuild/darwin-x64@0.19.12': resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.19.12: + '@esbuild/freebsd-arm64@0.19.12': resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.19.12: + '@esbuild/freebsd-x64@0.19.12': resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.19.12: + '@esbuild/linux-arm64@0.19.12': resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.19.12: + '@esbuild/linux-arm@0.19.12': resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.19.12: + '@esbuild/linux-ia32@0.19.12': resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.19.12: + '@esbuild/linux-loong64@0.19.12': resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.19.12: + '@esbuild/linux-mips64el@0.19.12': resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.19.12: + '@esbuild/linux-ppc64@0.19.12': resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.19.12: + '@esbuild/linux-riscv64@0.19.12': resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.19.12: + '@esbuild/linux-s390x@0.19.12': resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.19.12: + '@esbuild/linux-x64@0.19.12': resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.19.12: + '@esbuild/netbsd-x64@0.19.12': resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.19.12: + '@esbuild/openbsd-x64@0.19.12': resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.19.12: + '@esbuild/sunos-x64@0.19.12': resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.19.12: + '@esbuild/win32-arm64@0.19.12': resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.19.12: + '@esbuild/win32-ia32@0.19.12': resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.19.12: + '@esbuild/win32-x64@0.19.12': resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@isaacs/cliui@8.0.2: + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true - /@johnsoncodehk/pug-beautify@0.2.2: + '@johnsoncodehk/pug-beautify@0.2.2': resolution: {integrity: sha512-qqNS/YD0Nck5wtQLCPHAfGVgWbbGafxSPjNh0ekYPFSNNqnDH2kamnduzYly8IiADmeVx/MfAE1njMEjVeHTMA==} - dev: true - /@jridgewell/gen-mapping@0.3.3: + '@jridgewell/gen-mapping@0.3.3': resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - dev: true - /@jridgewell/resolve-uri@3.1.0: + '@jridgewell/resolve-uri@3.1.0': resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/set-array@1.1.2: + '@jridgewell/set-array@1.1.2': resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/sourcemap-codec@1.4.14: + '@jridgewell/sourcemap-codec@1.4.14': resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - /@jridgewell/sourcemap-codec@1.4.15: + '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - /@jridgewell/trace-mapping@0.3.18: + '@jridgewell/trace-mapping@0.3.18': resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /@jsdevtools/ez-spawn@3.0.4: + '@jsdevtools/ez-spawn@3.0.4': resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} engines: {node: '>=10'} - dependencies: - call-me-maybe: 1.0.2 - cross-spawn: 7.0.3 - string-argv: 0.3.2 - type-detect: 4.0.8 - dev: true - /@mdi/js@6.2.95: + '@mdi/js@6.2.95': resolution: {integrity: sha512-fbD22sEBathqVSQWcxshEtzhhRNFmMnV64z6T7DClRbQ9N5axorykt3Suv2zPzLDyiqH7UhNRu0VPvPCPDNpnQ==} - dev: true - /@microsoft/api-extractor-model@7.28.13(@types/node@20.11.25): + '@microsoft/api-extractor-model@7.28.13': resolution: {integrity: sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw==} - dependencies: - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) - transitivePeerDependencies: - - '@types/node' - dev: true - /@microsoft/api-extractor@7.42.3(@types/node@20.11.25): + '@microsoft/api-extractor@7.42.3': resolution: {integrity: sha512-JNLJFpGHz6ekjS6bvYXxUBeRGnSHeCMFNvRbCQ+7XXB/ZFrgLSMPwWtEq40AiWAy+oyG5a4RSNwdJTp0B2USvQ==} hasBin: true - dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@20.11.25) - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) - '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.10.0(@types/node@20.11.25) - '@rushstack/ts-command-line': 4.19.1(@types/node@20.11.25) - lodash: 4.17.21 - minimatch: 3.0.8 - resolve: 1.22.2 - semver: 7.5.4 - source-map: 0.6.1 - typescript: 5.3.3 - transitivePeerDependencies: - - '@types/node' - dev: true - /@microsoft/tsdoc-config@0.16.2: + '@microsoft/tsdoc-config@0.16.2': resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} - dependencies: - '@microsoft/tsdoc': 0.14.2 - ajv: 6.12.6 - jju: 1.4.0 - resolve: 1.19.0 - dev: true - /@microsoft/tsdoc@0.14.2: + '@microsoft/tsdoc@0.14.2': resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - dev: true - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true - /@pkgjs/parseargs@0.11.0: + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - requiresBuild: true - dev: true - optional: true - /@rollup/plugin-replace@5.0.5: + '@rollup/plugin-replace@5.0.5': resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -517,12 +355,8 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@rollup/pluginutils': 5.0.4 - magic-string: 0.30.8 - dev: true - /@rollup/pluginutils@5.0.4: + '@rollup/pluginutils@5.0.4': resolution: {integrity: sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -530,675 +364,346 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@types/estree': 1.0.1 - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - /@rollup/rollup-android-arm-eabi@4.12.1: + '@rollup/rollup-android-arm-eabi@4.12.1': resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-android-arm64@4.12.1: + '@rollup/rollup-android-arm64@4.12.1': resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-arm64@4.12.1: + '@rollup/rollup-darwin-arm64@4.12.1': resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-x64@4.12.1: + '@rollup/rollup-darwin-x64@4.12.1': resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.1: + '@rollup/rollup-linux-arm-gnueabihf@4.12.1': resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.1: + '@rollup/rollup-linux-arm64-gnu@4.12.1': resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.12.1: + '@rollup/rollup-linux-arm64-musl@4.12.1': resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.1: + '@rollup/rollup-linux-riscv64-gnu@4.12.1': resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-gnu@4.12.1: + '@rollup/rollup-linux-x64-gnu@4.12.1': resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-musl@4.12.1: + '@rollup/rollup-linux-x64-musl@4.12.1': resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.1: + '@rollup/rollup-win32-arm64-msvc@4.12.1': resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.1: + '@rollup/rollup-win32-ia32-msvc@4.12.1': resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.12.1: + '@rollup/rollup-win32-x64-msvc@4.12.1': resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.25): + '@rushstack/node-core-library@4.0.2': resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - dependencies: - '@types/node': 20.11.25 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.2 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - /@rushstack/rig-package@0.5.2: + '@rushstack/rig-package@0.5.2': resolution: {integrity: sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA==} - dependencies: - resolve: 1.22.2 - strip-json-comments: 3.1.1 - dev: true - /@rushstack/terminal@0.10.0(@types/node@20.11.25): + '@rushstack/terminal@0.10.0': resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) - '@types/node': 20.11.25 - supports-color: 8.1.1 - dev: true - /@rushstack/ts-command-line@4.19.1(@types/node@20.11.25): + '@rushstack/ts-command-line@4.19.1': resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.25) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true - /@types/argparse@1.0.38: + '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - /@types/codemirror@5.60.15: + '@types/codemirror@5.60.15': resolution: {integrity: sha512-dTOvwEQ+ouKJ/rE9LT1Ue2hmP6H1mZv5+CCnNWu2qtiOe2LQa9lCprEY20HxiDmV/Bxh+dXjywmy5aKvoGjULA==} - dependencies: - '@types/tern': 0.23.4 - dev: true - /@types/estree@1.0.1: + '@types/estree@1.0.1': resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} - dev: true - /@types/estree@1.0.5: + '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - /@types/node@20.11.25: + '@types/node@20.11.25': resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} - dependencies: - undici-types: 5.26.5 - dev: true - /@types/prettier@2.7.3: + '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - dev: true - /@types/tern@0.23.4: + '@types/tern@0.23.4': resolution: {integrity: sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==} - dependencies: - '@types/estree': 1.0.1 - dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.1.5)(vue@3.4.21): + '@vitejs/plugin-vue@5.0.4': resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 - dependencies: - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) - vue: 3.4.21(typescript@5.4.2) - dev: true - /@volar/cdn@1.11.1: + '@volar/cdn@1.11.1': resolution: {integrity: sha512-iB2+ZQNHwR6fJpLm8rD8x5uWMFSA3B4237vj6E3QvFmcOXuAYEiHUGPtn3jeFBhxLqJMb/SvcooqZd5hd7e4Vg==} - dependencies: - '@volar/language-service': 1.11.1 - dev: true - /@volar/language-core@1.11.1: + '@volar/language-core@1.11.1': resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} - dependencies: - '@volar/source-map': 1.11.1 - dev: true - /@volar/language-core@1.9.2: + '@volar/language-core@1.9.2': resolution: {integrity: sha512-9GTes/IUPOl0YoV5RQWhCP5a4EDFFfJZGwZn1xA5ug1FO0G6GOVoJI6tQatujtcQmDOQlOM5/0NewnlumygPkQ==} - dependencies: - '@volar/source-map': 1.9.2 - dev: true - /@volar/language-core@2.1.2: + '@volar/language-core@2.1.2': resolution: {integrity: sha512-5qsDp0Gf6fE09UWCeK7bkVn6NxMwC9OqFWQkMMkeej8h8XjyABPdRygC2RCrqDrfVdGijqlMQeXs6yRS+vfZYA==} - dependencies: - '@volar/source-map': 2.1.2 - dev: true - /@volar/language-service@1.11.1: + '@volar/language-service@1.11.1': resolution: {integrity: sha512-dKo8z1UzQRPHnlXxwfONGrasS1wEWXMoLQiohZ8KgWqZALbekZCwdGImLZD4DeFGNjk3HTTdfeCzo3KjwohjEQ==} - dependencies: - '@volar/language-core': 1.11.1 - '@volar/source-map': 1.11.1 - vscode-languageserver-protocol: 3.17.5 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 - dev: true - /@volar/language-service@1.9.2: + '@volar/language-service@1.9.2': resolution: {integrity: sha512-DcM9FfEEkzpMgoQr8jCSdAYFsBOXIjSEFVEtt69sQ8Pz05kOaxehH8KoxvSb2tKl1N9lTeQPiM+0jF5opYvxkg==} - dependencies: - '@volar/language-core': 1.9.2 - '@volar/source-map': 1.9.2 - vscode-languageserver-protocol: 3.17.5 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 - dev: true - /@volar/language-service@2.1.2: + '@volar/language-service@2.1.2': resolution: {integrity: sha512-CmVbbKdqzVq+0FT67hfELdHpboqXhKXh6EjypypuFX5ptIRftHZdkaq3/lCCa46EHxS5tvE44jn+s7faN4iRDA==} - dependencies: - '@volar/language-core': 2.1.2 - vscode-languageserver-protocol: 3.17.5 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 - dev: true - /@volar/monaco@1.9.2: + '@volar/monaco@1.9.2': resolution: {integrity: sha512-CSiOFHcbmgxrRVbIaOAjPwOdtsCq3D3iu69nyxYZTuiwMjC2BRKchHuVsdQTa1DfNaxmMTBIsGAYRIPc3hPijw==} - dependencies: - '@volar/language-service': 1.9.2 - vscode-uri: 3.0.8 - dev: true - /@volar/source-map@1.11.1: + '@volar/source-map@1.11.1': resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} - dependencies: - muggle-string: 0.3.1 - dev: true - /@volar/source-map@1.9.2: + '@volar/source-map@1.9.2': resolution: {integrity: sha512-rYTvV/HMf2CSRkd6oiVxcjX4rnSxEsVfJmw1KTmD4VTBXlz1+b16VIysQX4+1p/eZd2TyCeFblyylIxbZ+YOGg==} - dependencies: - muggle-string: 0.3.1 - dev: true - /@volar/source-map@2.1.2: + '@volar/source-map@2.1.2': resolution: {integrity: sha512-yFJqsuLm1OaWrsz9E3yd3bJcYIlHqdZ8MbmIoZLrAzMYQDcoF26/INIhgziEXSdyHc8xd7rd/tJdSnUyh0gH4Q==} - dependencies: - muggle-string: 0.4.1 - dev: true - /@volar/typescript@2.1.2: + '@volar/typescript@2.1.2': resolution: {integrity: sha512-lhTancZqamvaLvoz0u/uth8dpudENNt2LFZOWCw9JZiX14xRFhdhfzmphiCRb7am9E6qAJSbdS/gMt1utXAoHQ==} - dependencies: - '@volar/language-core': 2.1.2 - path-browserify: 1.0.1 - dev: true - /@vscode/emmet-helper@2.9.2: + '@vscode/emmet-helper@2.9.2': resolution: {integrity: sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==} - dependencies: - emmet: 2.4.6 - jsonc-parser: 2.3.1 - vscode-languageserver-textdocument: 1.0.11 - vscode-languageserver-types: 3.17.5 - vscode-uri: 2.1.2 - dev: true - /@vscode/l10n@0.0.16: + '@vscode/l10n@0.0.16': resolution: {integrity: sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==} - dev: true - /@vscode/l10n@0.0.18: + '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} - dev: true - /@vue/compiler-core@3.4.21: + '@vue/compiler-core@3.4.21': resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} - dependencies: - '@babel/parser': 7.24.0 - '@vue/shared': 3.4.21 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - dev: true - /@vue/compiler-dom@3.4.21: + '@vue/compiler-dom@3.4.21': resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} - dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 - dev: true - /@vue/compiler-sfc@3.4.21: + '@vue/compiler-sfc@3.4.21': resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} - dependencies: - '@babel/parser': 7.24.0 - '@vue/compiler-core': 3.4.21 - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - estree-walker: 2.0.2 - magic-string: 0.30.8 - postcss: 8.4.35 - source-map-js: 1.0.2 - dev: true - /@vue/compiler-ssr@3.4.21: + '@vue/compiler-ssr@3.4.21': resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} - dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - dev: true - /@vue/language-core@2.0.6(typescript@5.4.2): + '@vue/language-core@2.0.6': resolution: {integrity: sha512-UzqU12tzf9XLqRO3TiWPwRNpP4fyUzE6MAfOQWQNZ4jy6a30ARRUpmODDKq6O8C4goMc2AlPqTmjOHPjHkilSg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@volar/language-core': 2.1.2 - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - computeds: 0.0.1 - minimatch: 9.0.3 - path-browserify: 1.0.1 - typescript: 5.4.2 - vue-template-compiler: 2.7.14 - dev: true - /@vue/language-service@2.0.6(typescript@5.4.2): + '@vue/language-service@2.0.6': resolution: {integrity: sha512-lMKLtkt88RyJryS50blkRuaMnL0Vcjo7Lt6rtFEmw9WVv9NShqWnSpMNXyBr9gns8OJaJmQd6kl9VBAYQ6uaWA==} - dependencies: - '@volar/language-core': 2.1.2 - '@volar/language-service': 2.1.2 - '@volar/typescript': 2.1.2 - '@vue/compiler-dom': 3.4.21 - '@vue/language-core': 2.0.6(typescript@5.4.2) - '@vue/shared': 3.4.21 - computeds: 0.0.1 - path-browserify: 1.0.1 - volar-service-css: 0.0.31(@volar/language-service@2.1.2) - volar-service-emmet: 0.0.31(@volar/language-service@2.1.2) - volar-service-html: 0.0.31(@volar/language-service@2.1.2) - volar-service-json: 0.0.31(@volar/language-service@2.1.2) - volar-service-pug: 0.0.31 - volar-service-pug-beautify: 0.0.31(@volar/language-service@2.1.2) - volar-service-typescript: 0.0.31-patch.1(@volar/language-service@2.1.2)(@volar/typescript@2.1.2) - volar-service-typescript-twoslash-queries: 0.0.31(@volar/language-service@2.1.2) - vscode-html-languageservice: 5.1.0 - vscode-languageserver-textdocument: 1.0.11 - transitivePeerDependencies: - - typescript - dev: true - /@vue/reactivity@3.4.21: + '@vue/reactivity@3.4.21': resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} - dependencies: - '@vue/shared': 3.4.21 - dev: true - /@vue/runtime-core@3.4.21: + '@vue/runtime-core@3.4.21': resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} - dependencies: - '@vue/reactivity': 3.4.21 - '@vue/shared': 3.4.21 - dev: true - /@vue/runtime-dom@3.4.21: + '@vue/runtime-dom@3.4.21': resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} - dependencies: - '@vue/runtime-core': 3.4.21 - '@vue/shared': 3.4.21 - csstype: 3.1.3 - dev: true - /@vue/server-renderer@3.4.21(vue@3.4.21): + '@vue/server-renderer@3.4.21': resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} peerDependencies: vue: 3.4.21 - dependencies: - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.4.2) - dev: true - /@vue/shared@3.4.21: + '@vue/shared@3.4.21': resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - dev: true - /@vuetify/loader-shared@2.0.2(vue@3.4.21)(vuetify@3.5.8): + '@vuetify/loader-shared@2.0.2': resolution: {integrity: sha512-91itRxkTRKUhEZhWR/ICfYml1WkVxC7/DIeJEyUzzzLQxRo9wpyk+rhFtwHUUJE2O8wL1VG9L6TkR5SIUswwKQ==} peerDependencies: vue: ^3.0.0 vuetify: ^3.0.0 - dependencies: - upath: 2.0.1 - vue: 3.4.21(typescript@5.4.2) - vuetify: 3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21) - dev: true - /acorn@7.4.1: + acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} hasBin: true - dev: true - /acorn@8.11.3: + acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true - dev: true - /ajv@6.12.6: + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - /ansi-regex@5.0.1: + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true - /ansi-regex@6.0.1: + ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@6.2.1: + ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - dev: true - /any-promise@1.3.0: + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: true - /anymatch@3.1.3: + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - /argparse@1.0.10: + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - /argparse@2.0.1: + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - /balanced-match@1.0.2: + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - /binary-extensions@2.2.0: + binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - dev: true - /brace-expansion@1.1.11: + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - /brace-expansion@2.0.1: + brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - /braces@3.0.2: + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /bumpp@9.4.0: + bumpp@9.4.0: resolution: {integrity: sha512-T+N+B5mSSvsTt7kgxGXCKQd957IxmEZwMn2nWirspGUY08u/cBNrpQDMXk43fzLegZtKtXS1v9S06vq2zf6lXQ==} engines: {node: '>=10'} hasBin: true - dependencies: - '@jsdevtools/ez-spawn': 3.0.4 - c12: 1.10.0 - cac: 6.7.14 - escalade: 3.1.2 - fast-glob: 3.3.2 - js-yaml: 4.1.0 - prompts: 2.4.2 - semver: 7.6.0 - dev: true - /c12@1.10.0: + c12@1.10.0: resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} - dependencies: - chokidar: 3.6.0 - confbox: 0.1.3 - defu: 6.1.4 - dotenv: 16.4.5 - giget: 1.2.1 - jiti: 1.21.0 - mlly: 1.6.1 - ohash: 1.1.3 - pathe: 1.1.2 - perfect-debounce: 1.0.0 - pkg-types: 1.0.3 - rc9: 2.1.1 - dev: true - /cac@6.7.14: + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - dev: true - /call-bind@1.0.2: + call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 - dev: true - /call-me-maybe@1.0.2: + call-me-maybe@1.0.2: resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - dev: true - /character-parser@2.2.0: + character-parser@2.2.0: resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==} - dependencies: - is-regex: 1.1.4 - dev: true - /chokidar@3.6.0: + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /chownr@2.0.0: + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - dev: true - /citty@0.1.6: + citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} - dependencies: - consola: 3.2.3 - dev: true - /codemirror@5.65.14: + codemirror@5.65.14: resolution: {integrity: sha512-VSNugIBDGt0OU9gDjeVr6fNkoFQznrWEUdAApMlXQNbfE8gGO19776D6MwSqF/V/w/sDwonsQ0z7KmmI9guScg==} - dev: true - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /commander@4.1.1: + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - dev: true - /commander@9.5.0: + commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} - requiresBuild: true - dev: true - optional: true - /computeds@0.0.1: + computeds@0.0.1: resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} - dev: true - /concat-map@0.0.1: + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - /confbox@0.1.3: + confbox@0.1.3: resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} - dev: true - /consola@3.2.3: + consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} - dev: true - /cross-spawn@7.0.3: + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - /csstype@3.1.3: + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: true - /de-indent@1.0.2: + de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - dev: true - /debug@4.3.4: + debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -1206,1052 +711,607 @@ packages: peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.2 - dev: true - /defu@6.1.4: + defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - dev: true - /destr@2.0.0: + destr@2.0.0: resolution: {integrity: sha512-FJ9RDpf3GicEBvzI3jxc2XhHzbqD8p4ANw/1kPsFBfTvP1b7Gn/Lg1vO7R9J4IVgoMbyUmFrFGZafJ1hPZpvlg==} - dev: true - /dotenv@16.4.5: + dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - dev: true - /eastasianwidth@0.2.0: + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true - /emmet-monaco-es@5.3.2(monaco-editor@0.43.0): + emmet-monaco-es@5.3.2: resolution: {integrity: sha512-fb8z9lUVtqXx4IGQQceMwuz7/hYDJdLQj40ZOMQOtBJ4qLTo5XT9H0u/DhfCSWyOktTxZZxiYfkQsGasrv6u0w==} peerDependencies: monaco-editor: '>=0.22.0' - dependencies: - emmet: 2.4.6 - monaco-editor: 0.43.0 - dev: true - /emmet@2.4.6: + emmet@2.4.6: resolution: {integrity: sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==} - dependencies: - '@emmetio/abbreviation': 2.3.3 - '@emmetio/css-abbreviation': 2.1.8 - dev: true - /emoji-regex@8.0.0: + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - /emoji-regex@9.2.2: + emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true - /entities@4.5.0: + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: true - /esbuild@0.19.12: + esbuild@0.19.12: resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - dev: true - /escalade@3.1.2: + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} - dev: true - /estree-walker@2.0.2: + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - /execa@8.0.1: + execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - /fast-deep-equal@3.1.3: + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - /fast-glob@3.3.2: + fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - /fast-json-stable-stringify@2.1.0: + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - /fast-plist@0.1.3: - resolution: {integrity: sha512-d9cEfo/WcOezgPLAC/8t8wGb6YOD6JTCPMw2QcG2nAdFmyY+9rTUizCTaGjIZAloWENTEUMAPpkUAIJJJ0i96A==} - dev: true - - /fastq@1.15.0: + fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - dev: true - /fflate@0.8.2: + fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - dev: true - /fill-range@7.0.1: + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /flat@5.0.2: + flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - dev: true - /foreground-child@3.1.1: + foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - dev: true - /fs-extra@7.0.1: + fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - /fs-minipass@2.1.0: + fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: true - /fsevents@2.3.3: + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - requiresBuild: true - dev: true - optional: true - /function-bind@1.1.1: + function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - /get-intrinsic@1.2.1: + get-intrinsic@1.2.1: resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 - dev: true - /get-stream@8.0.1: + get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - dev: true - /giget@1.2.1: + giget@1.2.1: resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} hasBin: true - dependencies: - citty: 0.1.6 - consola: 3.2.3 - defu: 6.1.4 - node-fetch-native: 1.6.2 - nypm: 0.3.8 - ohash: 1.1.3 - pathe: 1.1.2 - tar: 6.2.0 - dev: true - /glob-parent@5.1.2: + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob@10.3.10: + glob@10.3.10: resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 5.0.0 - path-scurry: 1.10.1 - dev: true - /graceful-fs@4.2.11: + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /has-proto@1.0.1: + has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} - dev: true - /has-symbols@1.0.3: + has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - dev: true - /has-tostringtag@1.0.0: + has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - /has@1.0.3: + has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - /hash-sum@2.0.0: + hash-sum@2.0.0: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} - dev: true - /he@1.2.0: + he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - dev: true - /human-signals@5.0.0: + human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - dev: true - /immutable@4.3.4: + immutable@4.3.4: resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} - dev: true - /import-lazy@4.0.0: + import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} - dev: true - /is-binary-path@2.1.0: + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - /is-core-module@2.12.1: + is-core-module@2.12.1: resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} - dependencies: - has: 1.0.3 - dev: true - /is-expression@4.0.0: + is-expression@4.0.0: resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} - dependencies: - acorn: 7.4.1 - object-assign: 4.1.1 - dev: true - /is-extglob@2.1.1: + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true - /is-fullwidth-code-point@3.0.0: + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true - /is-glob@4.0.3: + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /is-regex@1.1.4: + is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - /is-stream@3.0.0: + is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /isexe@2.0.0: + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - /jackspeak@2.3.6: + jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: true - /jiti@1.21.0: + jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true - dev: true - /jju@1.4.0: + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - /js-yaml@4.1.0: + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - /json-schema-traverse@0.4.1: + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - /jsonc-parser@2.3.1: + jsonc-parser@2.3.1: resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} - dev: true - /jsonc-parser@3.2.1: + jsonc-parser@3.2.1: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - /jsonfile@4.0.0: + jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - /kleur@3.0.3: + kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - dev: true - /lines-and-columns@1.2.4: + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - /lodash.get@4.4.2: + lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - /lodash.isequal@4.5.0: + lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true - /lodash@4.17.21: + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true - /lru-cache@10.2.0: + lru-cache@10.2.0: resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} - dev: true - - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 - dev: true - /lru-cache@6.0.0: + lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - /magic-string@0.30.8: + magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /merge-stream@2.0.0: + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - /merge2@1.4.1: + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true - /micromatch@4.0.5: + micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - /mimic-fn@4.0.0: + mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - dev: true - /minimatch@3.0.8: + minimatch@3.0.8: resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} - dependencies: - brace-expansion: 1.1.11 - dev: true - /minimatch@9.0.3: + minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minipass@3.3.6: + minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} - dependencies: - yallist: 4.0.0 - dev: true - /minipass@5.0.0: + minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} - dev: true - /minizlib@2.1.2: + minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - dev: true - /mkdirp@1.0.4: + mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true - dev: true - /mlly@1.6.1: + mlly@1.6.1: resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - /monaco-editor-core@0.46.0: + monaco-editor-core@0.46.0: resolution: {integrity: sha512-JA5BzCaC0nUB5zUhzGUfecNhVNxEXpJxp6YNBYLr0SPyv0DKSIeBpF21WVkpwYm00UJaVc4m3TTcwB9/Gzd/nw==} - dev: true - - /monaco-editor-textmate@4.0.0(monaco-editor@0.43.0)(monaco-textmate@3.0.1): - resolution: {integrity: sha512-Clwup5LJzVfwURQrS+odSEC5/hZBEG36pQnvBKt4OtBndF8r2xLeXUZcK/AqEBK2u0Npy7frFp9hG7m66Ol9hA==} - peerDependencies: - monaco-editor: 0.x.x - monaco-textmate: ^3.0.0 - dependencies: - monaco-editor: 0.43.0 - monaco-textmate: 3.0.1(onigasm@2.2.5) - dev: true - /monaco-editor@0.43.0: + monaco-editor@0.43.0: resolution: {integrity: sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q==} - dev: true - - /monaco-textmate@3.0.1(onigasm@2.2.5): - resolution: {integrity: sha512-ZxxY3OsqUczYP1sGqo97tu+CJmMBwuSW+dL0WEBdDhOZ5G1zntw72hvBc68ZQAirosWvbDKgN1dL5k173QtFww==} - peerDependencies: - onigasm: ^2.0.0 - dependencies: - fast-plist: 0.1.3 - onigasm: 2.2.5 - dev: true - - /monaco-volar@0.4.0: - resolution: {integrity: sha512-QnUg8cs17BOLacmuIki0Zri0tPQOHOw14LcQFKWigyIo2ChRJnO7grhxQsHOdyOL7vkHxSkMno84wIT8+sEv/A==} - dependencies: - onigasm: 2.2.5 - dev: true - /ms@2.1.2: + ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - /muggle-string@0.3.1: + muggle-string@0.3.1: resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} - dev: true - /muggle-string@0.4.1: + muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} - dev: true - /mz@2.7.0: + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: true - /nanoid@3.3.7: + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true - /node-fetch-native@1.6.2: + node-fetch-native@1.6.2: resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} - dev: true - /normalize-path@3.0.0: + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true - /npm-run-path@5.3.0: + npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - /nypm@0.3.8: + nypm@0.3.8: resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} engines: {node: ^14.16.0 || >=16.10.0} hasBin: true - dependencies: - citty: 0.1.6 - consola: 3.2.3 - execa: 8.0.1 - pathe: 1.1.2 - ufo: 1.4.0 - dev: true - /object-assign@4.1.1: + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - dev: true - /ohash@1.1.3: + ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} - dev: true - /onetime@6.0.0: + onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /onigasm@2.2.5: - resolution: {integrity: sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==} - dependencies: - lru-cache: 5.1.1 - dev: true - /path-browserify@1.0.1: + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: true - /path-key@3.1.1: + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true - /path-key@4.0.0: + path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - dev: true - /path-parse@1.0.7: + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - /path-scurry@1.10.1: + path-scurry@1.10.1: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 10.2.0 - minipass: 5.0.0 - dev: true - /pathe@1.1.2: + pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - /perfect-debounce@1.0.0: + perfect-debounce@1.0.0: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - dev: true - /picocolors@1.0.0: + picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - /picomatch@2.3.1: + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true - /pirates@4.0.6: + pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - dev: true - /pkg-types@1.0.3: + pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - /postcss@8.4.35: + postcss@8.4.35: resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - /prettier@3.2.5: + prettier@3.2.5: resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true - dev: true - /prompts@2.4.2: + prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: true - /pug-error@2.0.0: + pug-error@2.0.0: resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==} - dev: true - /pug-lexer@5.0.1: + pug-lexer@5.0.1: resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} - dependencies: - character-parser: 2.2.0 - is-expression: 4.0.0 - pug-error: 2.0.0 - dev: true - /pug-parser@6.0.0: + pug-parser@6.0.0: resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} - dependencies: - pug-error: 2.0.0 - token-stream: 1.0.0 - dev: true - /punycode@2.3.0: + punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - dev: true - /queue-microtask@1.2.3: + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - /rc9@2.1.1: + rc9@2.1.1: resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} - dependencies: - defu: 6.1.4 - destr: 2.0.0 - flat: 5.0.2 - dev: true - /readdirp@3.6.0: + readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - /resolve@1.19.0: + resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - dependencies: - is-core-module: 2.12.1 - path-parse: 1.0.7 - dev: true - /resolve@1.22.2: + resolve@1.22.2: resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true - dependencies: - is-core-module: 2.12.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - /reusify@1.0.4: + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - /rimraf@5.0.5: + rimraf@5.0.5: resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} engines: {node: '>=14'} hasBin: true - dependencies: - glob: 10.3.10 - dev: true - /rollup@4.12.1: + rollup@4.12.1: resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.1 - '@rollup/rollup-android-arm64': 4.12.1 - '@rollup/rollup-darwin-arm64': 4.12.1 - '@rollup/rollup-darwin-x64': 4.12.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.1 - '@rollup/rollup-linux-arm64-gnu': 4.12.1 - '@rollup/rollup-linux-arm64-musl': 4.12.1 - '@rollup/rollup-linux-riscv64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-gnu': 4.12.1 - '@rollup/rollup-linux-x64-musl': 4.12.1 - '@rollup/rollup-win32-arm64-msvc': 4.12.1 - '@rollup/rollup-win32-ia32-msvc': 4.12.1 - '@rollup/rollup-win32-x64-msvc': 4.12.1 - fsevents: 2.3.3 - dev: true - /run-parallel@1.2.0: + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - /sass@1.71.1: + sass@1.71.1: resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} engines: {node: '>=14.0.0'} hasBin: true - dependencies: - chokidar: 3.6.0 - immutable: 4.3.4 - source-map-js: 1.0.2 - dev: true - /semver@7.5.4: + semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.6.0: + semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /shebang-command@2.0.0: + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - /shebang-regex@3.0.0: + shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true - /signal-exit@4.1.0: + shikiji-core@0.9.19: + resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==} + deprecated: Deprecated, use @shikijs/core instead + + shikiji-monaco@0.9.19: + resolution: {integrity: sha512-rTSjHavIjfJ7eb1Dapw0rR1Ybm3kOadO039PXjISmzvzZLoPmMJhJdu5r8WFVg7DWP1jYRi8eFPcbGhlAXra9w==} + deprecated: Deprecated, use @shikijs/monaco instead + + shikiji@0.9.19: + resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==} + deprecated: Deprecated, use shiki instead + + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - dev: true - /sisteransi@1.0.5: + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true - /source-map-js@1.0.2: + source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - dev: true - /source-map@0.6.1: + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true - /sprintf-js@1.0.3: + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - /string-argv@0.3.2: + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} - dev: true - /string-width@4.2.3: + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - /string-width@5.1.2: + string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - dev: true - /strip-ansi@6.0.1: + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - /strip-ansi@7.1.0: + strip-ansi@7.1.0: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - dev: true - /strip-final-newline@3.0.0: + strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - dev: true - /strip-json-comments@3.1.1: + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - dev: true - /sucrase@3.35.0: + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - commander: 4.1.1 - glob: 10.3.10 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - dev: true - /supports-color@8.1.1: + supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true - /tar@6.2.0: + tar@6.2.0: resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - dev: true - /thenify-all@1.6.0: + thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 - dev: true - /thenify@3.3.1: + thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 - dev: true - /to-fast-properties@2.0.0: + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - dev: true - /to-regex-range@5.0.1: + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - /token-stream@1.0.0: + token-stream@1.0.0: resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} - dev: true - /ts-interface-checker@0.1.13: + ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true - /type-detect@4.0.8: + type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - dev: true - /typescript-auto-import-cache@0.3.2: + typescript-auto-import-cache@0.3.2: resolution: {integrity: sha512-+laqe5SFL1vN62FPOOJSUDTZxtgsoOXjneYOXIpx5rQ4UMiN89NAtJLpqLqyebv9fgQ/IMeeTX+mQyRnwvJzvg==} - dependencies: - semver: 7.6.0 - dev: true - /typescript@5.3.3: + typescript@5.3.3: resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true - dev: true - /typescript@5.4.2: + typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true - dev: true - /ufo@1.4.0: + ufo@1.4.0: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true - /undici-types@5.26.5: + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true - /universalify@0.1.2: + universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - dev: true - /upath@2.0.1: + upath@2.0.1: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} - dev: true - /uri-js@4.4.1: + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - dev: true - /validator@13.9.0: + validator@13.9.0: resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} engines: {node: '>= 0.10'} - dev: true - /vite-plugin-vuetify@2.0.2(vite@5.1.5)(vue@3.4.21)(vuetify@3.5.8): + vite-plugin-vuetify@2.0.2: resolution: {integrity: sha512-steZz+B3Fj06mzQ9RyV1ewwQ8yGIU+l/Pi3KQhKhyRJSMS5vKCh2jThglbUBLdJER5vv4jxl0FJujPuKJ41tJw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: '>=5' vue: ^3.0.0 vuetify: ^3.0.0 - dependencies: - '@vuetify/loader-shared': 2.0.2(vue@3.4.21)(vuetify@3.5.8) - debug: 4.3.4 - upath: 2.0.1 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) - vue: 3.4.21(typescript@5.4.2) - vuetify: 3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21) - transitivePeerDependencies: - - supports-color - dev: true - /vite@5.1.5(@types/node@20.11.25)(sass@1.71.1): + vite@5.1.5: resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2278,105 +1338,59 @@ packages: optional: true terser: optional: true - dependencies: - '@types/node': 20.11.25 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.1 - sass: 1.71.1 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /volar-service-css@0.0.31(@volar/language-service@2.1.2): + volar-service-css@0.0.31: resolution: {integrity: sha512-YDY+qwqYipkXVwh63f9Lk7x/48j9lsxVeXj9lsj5Fp1VAwpPoVpWQhAq3oNp3my9gyS8lEbdIPl0rJzBcJCuUA==} peerDependencies: '@volar/language-service': ~2.1.0 peerDependenciesMeta: '@volar/language-service': optional: true - dependencies: - '@volar/language-service': 2.1.2 - vscode-css-languageservice: 6.2.12 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 - dev: true - /volar-service-emmet@0.0.31(@volar/language-service@2.1.2): + volar-service-emmet@0.0.31: resolution: {integrity: sha512-d+KfC0axTB6Ku4v70So3GEqsEzrE9zifDvwnqHUrg+Bts05kCFlRgDCLziXmddKhtaaJJ6oSizHr7WcFUyesww==} peerDependencies: '@volar/language-service': ~2.1.0 peerDependenciesMeta: '@volar/language-service': optional: true - dependencies: - '@volar/language-service': 2.1.2 - '@vscode/emmet-helper': 2.9.2 - vscode-html-languageservice: 5.1.0 - dev: true - /volar-service-html@0.0.31(@volar/language-service@2.1.2): + volar-service-html@0.0.31: resolution: {integrity: sha512-duMjl/VLvPWtmYsIAUtwYw/esFY3FWnVmH7537UpnfY9ncYTX/G43xmoVd+oQJPWh7xi8zwFeUQgZAA6T45Bhg==} peerDependencies: '@volar/language-service': ~2.1.0 peerDependenciesMeta: '@volar/language-service': optional: true - dependencies: - '@volar/language-service': 2.1.2 - vscode-html-languageservice: 5.1.0 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 - dev: true - /volar-service-json@0.0.31(@volar/language-service@2.1.2): + volar-service-json@0.0.31: resolution: {integrity: sha512-LdADOPbO1+toDP/0oG6plOnzE34tA8oB/aJqdOJFv8OIyMtxn0kCprtyhzVWLMCpz3TgpkBSiAI3BuMMYXcDlQ==} peerDependencies: '@volar/language-service': ~2.1.0 peerDependenciesMeta: '@volar/language-service': optional: true - dependencies: - '@volar/language-service': 2.1.2 - vscode-json-languageservice: 5.3.9 - vscode-uri: 3.0.8 - dev: true - /volar-service-pug-beautify@0.0.31(@volar/language-service@2.1.2): + volar-service-pug-beautify@0.0.31: resolution: {integrity: sha512-Y1Dhiipn/+2GNYFxgToSS4DGxDE7rAU5S9rkbleASCksAKFFWknxLF0aBmcvhnDqcVHyvIjoeIqGtQw2xx3wrw==} peerDependencies: '@volar/language-service': ~2.1.0 peerDependenciesMeta: '@volar/language-service': optional: true - dependencies: - '@johnsoncodehk/pug-beautify': 0.2.2 - '@volar/language-service': 2.1.2 - dev: true - /volar-service-pug@0.0.31: + volar-service-pug@0.0.31: resolution: {integrity: sha512-hnzdMb9lq74FgKy3LI3nNW4SARWbPy+FwMr6VLaII0R8F3IOvx5w+2nJSzboivPDJ0F5xHASPTWO53G5mXK+vQ==} - dependencies: - '@volar/language-service': 2.1.2 - pug-lexer: 5.0.1 - pug-parser: 6.0.0 - volar-service-html: 0.0.31(@volar/language-service@2.1.2) - vscode-html-languageservice: 5.1.0 - vscode-languageserver-textdocument: 1.0.11 - dev: true - /volar-service-typescript-twoslash-queries@0.0.31(@volar/language-service@2.1.2): + volar-service-typescript-twoslash-queries@0.0.31: resolution: {integrity: sha512-NsI1izFST7H6GN7WQow/GEPykPLGt0zlIJl+05bX9W6pXY8kD6PUSz7U+v5TSbUMMmjFFn8IkAAHopbH11OWrA==} peerDependencies: '@volar/language-service': ~2.1.0 peerDependenciesMeta: '@volar/language-service': optional: true - dependencies: - '@volar/language-service': 2.1.2 - dev: true - /volar-service-typescript@0.0.31-patch.1(@volar/language-service@2.1.2)(@volar/typescript@2.1.2): + volar-service-typescript@0.0.31-patch.1: resolution: {integrity: sha512-q9Dv9lg3fyLopMgXll4Xal862YLVHw4PShFcllHqIQXUMiPzQndZ7dA7B/3OldVFYeJLWP44w/M+90tjdxtl7w==} peerDependencies: '@volar/language-service': ~2.1.0 @@ -2384,112 +1398,56 @@ packages: peerDependenciesMeta: '@volar/language-service': optional: true - dependencies: - '@volar/language-service': 2.1.2 - '@volar/typescript': 2.1.2 - path-browserify: 1.0.1 - semver: 7.6.0 - typescript-auto-import-cache: 0.3.2 - vscode-languageserver-textdocument: 1.0.11 - vscode-nls: 5.2.0 - dev: true - /vscode-css-languageservice@6.2.12: + vscode-css-languageservice@6.2.12: resolution: {integrity: sha512-PS9r7HgNjqzRl3v91sXpCyZPc8UDotNo6gntFNtGCKPhGA9Frk7g/VjX1Mbv3F00pn56D+rxrFzR9ep4cawOgA==} - dependencies: - '@vscode/l10n': 0.0.18 - vscode-languageserver-textdocument: 1.0.11 - vscode-languageserver-types: 3.17.5 - vscode-uri: 3.0.8 - dev: true - /vscode-html-languageservice@5.1.0: + vscode-html-languageservice@5.1.0: resolution: {integrity: sha512-cGOu5+lrz+2dDXSGS15y24lDtPaML1T8K/SfqgFbLmCZ1btYOxceFieR+ybTS2es/A67kRc62m2cKFLUQPWG5g==} - dependencies: - '@vscode/l10n': 0.0.16 - vscode-languageserver-textdocument: 1.0.11 - vscode-languageserver-types: 3.17.5 - vscode-uri: 3.0.8 - dev: true - /vscode-json-languageservice@5.3.9: + vscode-json-languageservice@5.3.9: resolution: {integrity: sha512-0IcymTw0ZYX5Zcx+7KLLwTRvg0FzXUVnM1hrUH+sPhqEX0fHGg2h5UUOSp1f8ydGS7/xxzlFI3TR01yaHs6Y0Q==} - dependencies: - '@vscode/l10n': 0.0.18 - jsonc-parser: 3.2.1 - vscode-languageserver-textdocument: 1.0.11 - vscode-languageserver-types: 3.17.5 - vscode-uri: 3.0.8 - dev: true - /vscode-jsonrpc@8.2.0: + vscode-jsonrpc@8.2.0: resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} engines: {node: '>=14.0.0'} - dev: true - /vscode-languageserver-protocol@3.17.5: + vscode-languageserver-protocol@3.17.5: resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - dev: true - /vscode-languageserver-textdocument@1.0.11: + vscode-languageserver-textdocument@1.0.11: resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} - dev: true - /vscode-languageserver-types@3.17.5: + vscode-languageserver-types@3.17.5: resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - dev: true - /vscode-nls@5.2.0: + vscode-nls@5.2.0: resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} - dev: true - /vscode-uri@2.1.2: + vscode-uri@2.1.2: resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} - dev: true - /vscode-uri@3.0.8: + vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - dev: true - /vue-template-compiler@2.7.14: + vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} - dependencies: - de-indent: 1.0.2 - he: 1.2.0 - dev: true - /vue-tsc@2.0.6(typescript@5.4.2): + vue-tsc@2.0.6: resolution: {integrity: sha512-kK50W4XqQL34vHRkxlRWLicrT6+F9xfgCgJ4KSmCHcytKzc1u3c94XXgI+CjmhOSxyw0krpExF7Obo7y4+0dVQ==} hasBin: true peerDependencies: typescript: '*' - dependencies: - '@volar/typescript': 2.1.2 - '@vue/language-core': 2.0.6(typescript@5.4.2) - semver: 7.6.0 - typescript: 5.4.2 - dev: true - /vue@3.4.21(typescript@5.4.2): + vue@3.4.21: resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-sfc': 3.4.21 - '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) - '@vue/shared': 3.4.21 - typescript: 5.4.2 - dev: true - /vuetify@3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21): + vuetify@3.5.8: resolution: {integrity: sha512-8nGS+lKejZkev55HFwIfsRt+9fOqbeDQNmXxfmLKAlnUT8FtynVwbjAwHMtX/OQAQ3ZwRaR1ptqQQmx3OgxzbQ==} engines: {node: ^12.20 || >=14.13} peerDependencies: @@ -2507,54 +1465,1369 @@ packages: optional: true webpack-plugin-vuetify: optional: true - dependencies: - typescript: 5.4.2 - vite-plugin-vuetify: 2.0.2(vite@5.1.5)(vue@3.4.21)(vuetify@3.5.8) - vue: 3.4.21(typescript@5.4.2) - dev: true - /which@2.0.2: + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - /wrap-ansi@7.0.0: + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - /wrap-ansi@8.1.0: + wrap-ansi@8.1.0: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - dev: true - - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true - /yallist@4.0.0: + yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - /z-schema@5.0.5: + z-schema@5.0.5: resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} engines: {node: '>=8.0.0'} hasBin: true + +snapshots: + + '@babel/helper-string-parser@7.23.4': {} + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/parser@7.24.0': + dependencies: + '@babel/types': 7.24.0 + + '@babel/types@7.24.0': + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + '@emmetio/abbreviation@2.3.3': + dependencies: + '@emmetio/scanner': 1.0.4 + + '@emmetio/codemirror-plugin@1.2.4': {} + + '@emmetio/css-abbreviation@2.1.8': + dependencies: + '@emmetio/scanner': 1.0.4 + + '@emmetio/scanner@1.0.4': {} + + '@esbuild/aix-ppc64@0.19.12': + optional: true + + '@esbuild/android-arm64@0.19.12': + optional: true + + '@esbuild/android-arm@0.19.12': + optional: true + + '@esbuild/android-x64@0.19.12': + optional: true + + '@esbuild/darwin-arm64@0.19.12': + optional: true + + '@esbuild/darwin-x64@0.19.12': + optional: true + + '@esbuild/freebsd-arm64@0.19.12': + optional: true + + '@esbuild/freebsd-x64@0.19.12': + optional: true + + '@esbuild/linux-arm64@0.19.12': + optional: true + + '@esbuild/linux-arm@0.19.12': + optional: true + + '@esbuild/linux-ia32@0.19.12': + optional: true + + '@esbuild/linux-loong64@0.19.12': + optional: true + + '@esbuild/linux-mips64el@0.19.12': + optional: true + + '@esbuild/linux-ppc64@0.19.12': + optional: true + + '@esbuild/linux-riscv64@0.19.12': + optional: true + + '@esbuild/linux-s390x@0.19.12': + optional: true + + '@esbuild/linux-x64@0.19.12': + optional: true + + '@esbuild/netbsd-x64@0.19.12': + optional: true + + '@esbuild/openbsd-x64@0.19.12': + optional: true + + '@esbuild/sunos-x64@0.19.12': + optional: true + + '@esbuild/win32-arm64@0.19.12': + optional: true + + '@esbuild/win32-ia32@0.19.12': + optional: true + + '@esbuild/win32-x64@0.19.12': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@johnsoncodehk/pug-beautify@0.2.2': {} + + '@jridgewell/gen-mapping@0.3.3': + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + + '@jridgewell/resolve-uri@3.1.0': {} + + '@jridgewell/set-array@1.1.2': {} + + '@jridgewell/sourcemap-codec@1.4.14': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.18': + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + '@jsdevtools/ez-spawn@3.0.4': + dependencies: + call-me-maybe: 1.0.2 + cross-spawn: 7.0.3 + string-argv: 0.3.2 + type-detect: 4.0.8 + + '@mdi/js@6.2.95': {} + + '@microsoft/api-extractor-model@7.28.13(@types/node@20.11.25)': + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor@7.42.3(@types/node@20.11.25)': + dependencies: + '@microsoft/api-extractor-model': 7.28.13(@types/node@20.11.25) + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) + '@rushstack/rig-package': 0.5.2 + '@rushstack/terminal': 0.10.0(@types/node@20.11.25) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.11.25) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.2 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.3.3 + transitivePeerDependencies: + - '@types/node' + + '@microsoft/tsdoc-config@0.16.2': + dependencies: + '@microsoft/tsdoc': 0.14.2 + ajv: 6.12.6 + jju: 1.4.0 + resolve: 1.19.0 + + '@microsoft/tsdoc@0.14.2': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@rollup/plugin-replace@5.0.5': + dependencies: + '@rollup/pluginutils': 5.0.4 + magic-string: 0.30.8 + + '@rollup/pluginutils@5.0.4': + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + + '@rollup/rollup-android-arm-eabi@4.12.1': + optional: true + + '@rollup/rollup-android-arm64@4.12.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.12.1': + optional: true + + '@rollup/rollup-darwin-x64@4.12.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.12.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.12.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.12.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.12.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.12.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.12.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.12.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.12.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.12.1': + optional: true + + '@rushstack/node-core-library@4.0.2(@types/node@20.11.25)': + dependencies: + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.2 + semver: 7.5.4 + z-schema: 5.0.5 + optionalDependencies: + '@types/node': 20.11.25 + + '@rushstack/rig-package@0.5.2': + dependencies: + resolve: 1.22.2 + strip-json-comments: 3.1.1 + + '@rushstack/terminal@0.10.0(@types/node@20.11.25)': + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 20.11.25 + + '@rushstack/ts-command-line@4.19.1(@types/node@20.11.25)': + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.11.25) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + + '@types/argparse@1.0.38': {} + + '@types/codemirror@5.60.15': + dependencies: + '@types/tern': 0.23.4 + + '@types/estree@1.0.1': {} + + '@types/estree@1.0.5': {} + + '@types/node@20.11.25': + dependencies: + undici-types: 5.26.5 + + '@types/prettier@2.7.3': {} + + '@types/tern@0.23.4': + dependencies: + '@types/estree': 1.0.1 + + '@vitejs/plugin-vue@5.0.4(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2))': + dependencies: + vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vue: 3.4.21(typescript@5.4.2) + + '@volar/cdn@1.11.1': + dependencies: + '@volar/language-service': 1.11.1 + + '@volar/language-core@1.11.1': + dependencies: + '@volar/source-map': 1.11.1 + + '@volar/language-core@1.9.2': + dependencies: + '@volar/source-map': 1.9.2 + + '@volar/language-core@2.1.2': + dependencies: + '@volar/source-map': 2.1.2 + + '@volar/language-service@1.11.1': + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + + '@volar/language-service@1.9.2': + dependencies: + '@volar/language-core': 1.9.2 + '@volar/source-map': 1.9.2 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + + '@volar/language-service@2.1.2': + dependencies: + '@volar/language-core': 2.1.2 + vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + + '@volar/monaco@1.9.2': + dependencies: + '@volar/language-service': 1.9.2 + vscode-uri: 3.0.8 + + '@volar/source-map@1.11.1': + dependencies: + muggle-string: 0.3.1 + + '@volar/source-map@1.9.2': + dependencies: + muggle-string: 0.3.1 + + '@volar/source-map@2.1.2': + dependencies: + muggle-string: 0.4.1 + + '@volar/typescript@2.1.2': + dependencies: + '@volar/language-core': 2.1.2 + path-browserify: 1.0.1 + + '@vscode/emmet-helper@2.9.2': + dependencies: + emmet: 2.4.6 + jsonc-parser: 2.3.1 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 2.1.2 + + '@vscode/l10n@0.0.16': {} + + '@vscode/l10n@0.0.18': {} + + '@vue/compiler-core@3.4.21': + dependencies: + '@babel/parser': 7.24.0 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + '@vue/compiler-dom@3.4.21': + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-sfc@3.4.21': + dependencies: + '@babel/parser': 7.24.0 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.8 + postcss: 8.4.35 + source-map-js: 1.0.2 + + '@vue/compiler-ssr@3.4.21': + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/language-core@2.0.6(typescript@5.4.2)': + dependencies: + '@volar/language-core': 2.1.2 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.3 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.14 + optionalDependencies: + typescript: 5.4.2 + + '@vue/language-service@2.0.6(typescript@5.4.2)': + dependencies: + '@volar/language-core': 2.1.2 + '@volar/language-service': 2.1.2 + '@volar/typescript': 2.1.2 + '@vue/compiler-dom': 3.4.21 + '@vue/language-core': 2.0.6(typescript@5.4.2) + '@vue/shared': 3.4.21 + computeds: 0.0.1 + path-browserify: 1.0.1 + volar-service-css: 0.0.31(@volar/language-service@2.1.2) + volar-service-emmet: 0.0.31(@volar/language-service@2.1.2) + volar-service-html: 0.0.31(@volar/language-service@2.1.2) + volar-service-json: 0.0.31(@volar/language-service@2.1.2) + volar-service-pug: 0.0.31 + volar-service-pug-beautify: 0.0.31(@volar/language-service@2.1.2) + volar-service-typescript: 0.0.31-patch.1(@volar/language-service@2.1.2)(@volar/typescript@2.1.2) + volar-service-typescript-twoslash-queries: 0.0.31(@volar/language-service@2.1.2) + vscode-html-languageservice: 5.1.0 + vscode-languageserver-textdocument: 1.0.11 + transitivePeerDependencies: + - typescript + + '@vue/reactivity@3.4.21': + dependencies: + '@vue/shared': 3.4.21 + + '@vue/runtime-core@3.4.21': + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/runtime-dom@3.4.21': + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + + '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.4.2))': + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.4.2) + + '@vue/shared@3.4.21': {} + + '@vuetify/loader-shared@2.0.2(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8)': + dependencies: + upath: 2.0.1 + vue: 3.4.21(typescript@5.4.2) + vuetify: 3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21(typescript@5.4.2)) + + acorn@7.4.1: {} + + acorn@8.11.3: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + balanced-match@1.0.2: {} + + binary-extensions@2.2.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.2: + dependencies: + fill-range: 7.0.1 + + bumpp@9.4.0: + dependencies: + '@jsdevtools/ez-spawn': 3.0.4 + c12: 1.10.0 + cac: 6.7.14 + escalade: 3.1.2 + fast-glob: 3.3.2 + js-yaml: 4.1.0 + prompts: 2.4.2 + semver: 7.6.0 + + c12@1.10.0: + dependencies: + chokidar: 3.6.0 + confbox: 0.1.3 + defu: 6.1.4 + dotenv: 16.4.5 + giget: 1.2.1 + jiti: 1.21.0 + mlly: 1.6.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + + cac@6.7.14: {} + + call-bind@1.0.2: + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + + call-me-maybe@1.0.2: {} + + character-parser@2.2.0: + dependencies: + is-regex: 1.1.4 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chownr@2.0.0: {} + + citty@0.1.6: + dependencies: + consola: 3.2.3 + + codemirror@5.65.14: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commander@4.1.1: {} + + commander@9.5.0: + optional: true + + computeds@0.0.1: {} + + concat-map@0.0.1: {} + + confbox@0.1.3: {} + + consola@3.2.3: {} + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + csstype@3.1.3: {} + + de-indent@1.0.2: {} + + debug@4.3.4: + dependencies: + ms: 2.1.2 + + defu@6.1.4: {} + + destr@2.0.0: {} + + dotenv@16.4.5: {} + + eastasianwidth@0.2.0: {} + + emmet-monaco-es@5.3.2(monaco-editor@0.43.0): + dependencies: + emmet: 2.4.6 + monaco-editor: 0.43.0 + + emmet@2.4.6: + dependencies: + '@emmetio/abbreviation': 2.3.3 + '@emmetio/css-abbreviation': 2.1.8 + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + entities@4.5.0: {} + + esbuild@0.19.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + escalade@3.1.2: {} + + estree-walker@2.0.2: {} + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + fast-json-stable-stringify@2.1.0: {} + + fastq@1.15.0: + dependencies: + reusify: 1.0.4 + + fflate@0.8.2: {} + + fill-range@7.0.1: + dependencies: + to-regex-range: 5.0.1 + + flat@5.0.2: {} + + foreground-child@3.1.1: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.1: {} + + get-intrinsic@1.2.1: + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + + get-stream@8.0.1: {} + + giget@1.2.1: + dependencies: + citty: 0.1.6 + consola: 3.2.3 + defu: 6.1.4 + node-fetch-native: 1.6.2 + nypm: 0.3.8 + ohash: 1.1.3 + pathe: 1.1.2 + tar: 6.2.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob@10.3.10: + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 5.0.0 + path-scurry: 1.10.1 + + graceful-fs@4.2.11: {} + + has-flag@4.0.0: {} + + has-proto@1.0.1: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.0: + dependencies: + has-symbols: 1.0.3 + + has@1.0.3: + dependencies: + function-bind: 1.1.1 + + hash-sum@2.0.0: {} + + he@1.2.0: {} + + human-signals@5.0.0: {} + + immutable@4.3.4: {} + + import-lazy@4.0.0: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.2.0 + + is-core-module@2.12.1: + dependencies: + has: 1.0.3 + + is-expression@4.0.0: + dependencies: + acorn: 7.4.1 + object-assign: 4.1.1 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + is-regex@1.1.4: + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + is-stream@3.0.0: {} + + isexe@2.0.0: {} + + jackspeak@2.3.6: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.0: {} + + jju@1.4.0: {} + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + json-schema-traverse@0.4.1: {} + + jsonc-parser@2.3.1: {} + + jsonc-parser@3.2.1: {} + + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + + kleur@3.0.3: {} + + lines-and-columns@1.2.4: {} + + lodash.get@4.4.2: {} + + lodash.isequal@4.5.0: {} + + lodash@4.17.21: {} + + lru-cache@10.2.0: {} + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + magic-string@0.30.8: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.5: + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + mimic-fn@4.0.0: {} + + minimatch@3.0.8: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp@1.0.4: {} + + mlly@1.6.1: + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + + monaco-editor-core@0.46.0: {} + + monaco-editor@0.43.0: {} + + ms@2.1.2: {} + + muggle-string@0.3.1: {} + + muggle-string@0.4.1: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.7: {} + + node-fetch-native@1.6.2: {} + + normalize-path@3.0.0: {} + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nypm@0.3.8: + dependencies: + citty: 0.1.6 + consola: 3.2.3 + execa: 8.0.1 + pathe: 1.1.2 + ufo: 1.4.0 + + object-assign@4.1.1: {} + + ohash@1.1.3: {} + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + path-browserify@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@1.10.1: + dependencies: + lru-cache: 10.2.0 + minipass: 5.0.0 + + pathe@1.1.2: {} + + perfect-debounce@1.0.0: {} + + picocolors@1.0.0: {} + + picomatch@2.3.1: {} + + pirates@4.0.6: {} + + pkg-types@1.0.3: + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + + postcss@8.4.35: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + prettier@3.2.5: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + pug-error@2.0.0: {} + + pug-lexer@5.0.1: + dependencies: + character-parser: 2.2.0 + is-expression: 4.0.0 + pug-error: 2.0.0 + + pug-parser@6.0.0: + dependencies: + pug-error: 2.0.0 + token-stream: 1.0.0 + + punycode@2.3.0: {} + + queue-microtask@1.2.3: {} + + rc9@2.1.1: + dependencies: + defu: 6.1.4 + destr: 2.0.0 + flat: 5.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + resolve@1.19.0: + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + + resolve@1.22.2: + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.0.4: {} + + rimraf@5.0.5: + dependencies: + glob: 10.3.10 + + rollup@4.12.1: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.1 + '@rollup/rollup-android-arm64': 4.12.1 + '@rollup/rollup-darwin-arm64': 4.12.1 + '@rollup/rollup-darwin-x64': 4.12.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.1 + '@rollup/rollup-linux-arm64-gnu': 4.12.1 + '@rollup/rollup-linux-arm64-musl': 4.12.1 + '@rollup/rollup-linux-riscv64-gnu': 4.12.1 + '@rollup/rollup-linux-x64-gnu': 4.12.1 + '@rollup/rollup-linux-x64-musl': 4.12.1 + '@rollup/rollup-win32-arm64-msvc': 4.12.1 + '@rollup/rollup-win32-ia32-msvc': 4.12.1 + '@rollup/rollup-win32-x64-msvc': 4.12.1 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + sass@1.71.1: + dependencies: + chokidar: 3.6.0 + immutable: 4.3.4 + source-map-js: 1.0.2 + + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + + semver@7.6.0: + dependencies: + lru-cache: 6.0.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shikiji-core@0.9.19: {} + + shikiji-monaco@0.9.19: + dependencies: + shikiji-core: 0.9.19 + + shikiji@0.9.19: + dependencies: + shikiji-core: 0.9.19 + + signal-exit@4.1.0: {} + + sisteransi@1.0.5: {} + + source-map-js@1.0.2: {} + + source-map@0.6.1: {} + + sprintf-js@1.0.3: {} + + string-argv@0.3.2: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-final-newline@3.0.0: {} + + strip-json-comments@3.1.1: {} + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 10.3.10 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + tar@6.2.0: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + token-stream@1.0.0: {} + + ts-interface-checker@0.1.13: {} + + type-detect@4.0.8: {} + + typescript-auto-import-cache@0.3.2: + dependencies: + semver: 7.6.0 + + typescript@5.3.3: {} + + typescript@5.4.2: {} + + ufo@1.4.0: {} + + undici-types@5.26.5: {} + + universalify@0.1.2: {} + + upath@2.0.1: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.0 + + validator@13.9.0: {} + + vite-plugin-vuetify@2.0.2(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8): + dependencies: + '@vuetify/loader-shared': 2.0.2(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8) + debug: 4.3.4 + upath: 2.0.1 + vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vue: 3.4.21(typescript@5.4.2) + vuetify: 3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21(typescript@5.4.2)) + transitivePeerDependencies: + - supports-color + + vite@5.1.5(@types/node@20.11.25)(sass@1.71.1): + dependencies: + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.1 + optionalDependencies: + '@types/node': 20.11.25 + fsevents: 2.3.3 + sass: 1.71.1 + + volar-service-css@0.0.31(@volar/language-service@2.1.2): + dependencies: + vscode-css-languageservice: 6.2.12 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.1.2 + + volar-service-emmet@0.0.31(@volar/language-service@2.1.2): + dependencies: + '@vscode/emmet-helper': 2.9.2 + vscode-html-languageservice: 5.1.0 + optionalDependencies: + '@volar/language-service': 2.1.2 + + volar-service-html@0.0.31(@volar/language-service@2.1.2): + dependencies: + vscode-html-languageservice: 5.1.0 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.1.2 + + volar-service-json@0.0.31(@volar/language-service@2.1.2): + dependencies: + vscode-json-languageservice: 5.3.9 + vscode-uri: 3.0.8 + optionalDependencies: + '@volar/language-service': 2.1.2 + + volar-service-pug-beautify@0.0.31(@volar/language-service@2.1.2): + dependencies: + '@johnsoncodehk/pug-beautify': 0.2.2 + optionalDependencies: + '@volar/language-service': 2.1.2 + + volar-service-pug@0.0.31: + dependencies: + '@volar/language-service': 2.1.2 + pug-lexer: 5.0.1 + pug-parser: 6.0.0 + volar-service-html: 0.0.31(@volar/language-service@2.1.2) + vscode-html-languageservice: 5.1.0 + vscode-languageserver-textdocument: 1.0.11 + + volar-service-typescript-twoslash-queries@0.0.31(@volar/language-service@2.1.2): + optionalDependencies: + '@volar/language-service': 2.1.2 + + volar-service-typescript@0.0.31-patch.1(@volar/language-service@2.1.2)(@volar/typescript@2.1.2): + dependencies: + '@volar/typescript': 2.1.2 + path-browserify: 1.0.1 + semver: 7.6.0 + typescript-auto-import-cache: 0.3.2 + vscode-languageserver-textdocument: 1.0.11 + vscode-nls: 5.2.0 + optionalDependencies: + '@volar/language-service': 2.1.2 + + vscode-css-languageservice@6.2.12: + dependencies: + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + + vscode-html-languageservice@5.1.0: + dependencies: + '@vscode/l10n': 0.0.16 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + + vscode-json-languageservice@5.3.9: + dependencies: + '@vscode/l10n': 0.0.18 + jsonc-parser: 3.2.1 + vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-types: 3.17.5 + vscode-uri: 3.0.8 + + vscode-jsonrpc@8.2.0: {} + + vscode-languageserver-protocol@3.17.5: + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + + vscode-languageserver-textdocument@1.0.11: {} + + vscode-languageserver-types@3.17.5: {} + + vscode-nls@5.2.0: {} + + vscode-uri@2.1.2: {} + + vscode-uri@3.0.8: {} + + vue-template-compiler@2.7.14: + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + vue-tsc@2.0.6(typescript@5.4.2): + dependencies: + '@volar/typescript': 2.1.2 + '@vue/language-core': 2.0.6(typescript@5.4.2) + semver: 7.6.0 + typescript: 5.4.2 + + vue@3.4.21(typescript@5.4.2): + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.4.2)) + '@vue/shared': 3.4.21 + optionalDependencies: + typescript: 5.4.2 + + vuetify@3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21(typescript@5.4.2)): + dependencies: + vue: 3.4.21(typescript@5.4.2) + optionalDependencies: + typescript: 5.4.2 + vite-plugin-vuetify: 2.0.2(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8) + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + yallist@4.0.0: {} + + z-schema@5.0.5: dependencies: lodash.get: 4.4.2 lodash.isequal: 4.5.0 validator: 13.9.0 optionalDependencies: commander: 9.5.0 - dev: true diff --git a/src/monaco/Monaco.vue b/src/monaco/Monaco.vue index 230cbfcd..930fcf68 100644 --- a/src/monaco/Monaco.vue +++ b/src/monaco/Monaco.vue @@ -13,7 +13,6 @@ import { import * as monaco from 'monaco-editor-core' import { initMonaco } from './env' import { getOrCreateModel } from './utils' -import { loadGrammars, loadTheme } from 'monaco-volar' import { Store } from '../store' import type { PreviewMode } from '../editor/types' import parserBabel from 'prettier/parser-babel' @@ -49,7 +48,7 @@ const extension = computed(() => props.filename.split('.').at(-1)) const replTheme = inject>('theme')! onMounted(async () => { - const theme = await loadTheme(monaco.editor) + const theme = await import('./highlight').then(r => r.registerHighlighter()) ready.value = true await nextTick() @@ -72,7 +71,6 @@ onMounted(async () => { inlineSuggest: { enabled: false, }, - 'semanticHighlighting.enabled': true, fixedOverflowWidgets: true, }) editor.value = editorInstance @@ -141,8 +139,6 @@ onMounted(async () => { ) } - await loadGrammars(monaco, editorInstance) - editorInstance.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, () => { // ignore save event }) diff --git a/src/monaco/env.ts b/src/monaco/env.ts index c5476f71..db0d6034 100644 --- a/src/monaco/env.ts +++ b/src/monaco/env.ts @@ -4,8 +4,6 @@ import * as monaco from 'monaco-editor-core' import { editor, languages, Uri } from 'monaco-editor-core' import editorWorker from 'monaco-editor-core/esm/vs/editor/editor.worker?worker' import { emmetHTML } from 'emmet-monaco-es' -import * as onigasm from 'onigasm' -import onigasmWasm from 'onigasm/lib/onigasm.wasm?url' import { watchEffect } from 'vue' import { Store } from '../store' import { getOrCreateModel } from './utils' @@ -16,7 +14,6 @@ let initted = false export function initMonaco(store: Store) { if (initted) return loadMonacoEnv(store) - loadWasm() emmetHTML(monaco as any, ['vue', 'html']) watchEffect(() => { @@ -65,10 +62,6 @@ export function initMonaco(store: Store) { initted = true } -export function loadWasm() { - return onigasm.loadWASM(onigasmWasm) -} - export class WorkerHost { onFetchCdnFile(uri: string, text: string) { getOrCreateModel(Uri.parse(uri), undefined, text) diff --git a/src/monaco/highlight.ts b/src/monaco/highlight.ts new file mode 100644 index 00000000..d826db96 --- /dev/null +++ b/src/monaco/highlight.ts @@ -0,0 +1,23 @@ +import * as monaco from 'monaco-editor-core' +import { getHighlighterCore } from 'shikiji/core' +import { getWasmInlined } from 'shikiji/wasm' +import { shikijiToMonaco } from 'shikiji-monaco' + +import langVue from 'shikiji/langs/vue.mjs' +import themeDark from 'shikiji/themes/dark-plus.mjs' +import themeLight from 'shikiji/themes/light-plus.mjs' + + +export async function registerHighlighter() { + const highlighter = await getHighlighterCore({ + themes: [themeDark, themeLight], + langs: [langVue], + loadWasm: getWasmInlined + }) + monaco.languages.register({ id: 'vue' }) + shikijiToMonaco(highlighter, monaco) + return { + light: themeLight.name!, + dark: themeDark.name! + } +} From 538338f66d149aefbe51d0e4683b3bdafdb97450 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Wed, 7 Feb 2024 11:32:43 +0100 Subject: [PATCH 02/15] chore: move to shiki (#216) --- package.json | 4 +- pnpm-lock.yaml | 356 +++++++++++++++++++++++++++++++++++++--- src/monaco/highlight.ts | 18 +- 3 files changed, 341 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 3f77c758..b3e2eae3 100644 --- a/package.json +++ b/package.json @@ -79,8 +79,8 @@ "fflate": "^0.8.2", "hash-sum": "^2.0.0", "monaco-editor-core": "^0.46.0", - "shikiji": "^0.9.6", - "shikiji-monaco": "^0.9.6", + "shiki": "^1.0.0-rc.0", + "@shikijs/monaco": "^1.0.0-rc.0", "path-browserify": "^1.0.1", "prettier": "^3.2.5", "rimraf": "^5.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c3099409..cf7b9e74 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,9 @@ importers: '@rollup/plugin-replace': specifier: ^5.0.5 version: 5.0.5 + '@shikijs/monaco': + specifier: ^1.0.0-rc.0 + version: 1.29.2 '@types/codemirror': specifier: ^5.60.15 version: 5.60.15 @@ -86,12 +89,9 @@ importers: sass: specifier: ^1.71.1 version: 1.71.1 - shikiji: - specifier: ^0.9.6 - version: 0.9.19 - shikiji-monaco: - specifier: ^0.9.6 - version: 0.9.19 + shiki: + specifier: ^1.0.0-rc.0 + version: 1.29.2 sucrase: specifier: ^3.35.0 version: 3.35.0 @@ -452,6 +452,30 @@ packages: '@rushstack/ts-command-line@4.19.1': resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} + '@shikijs/core@1.29.2': + resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} + + '@shikijs/engine-javascript@1.29.2': + resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} + + '@shikijs/engine-oniguruma@1.29.2': + resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} + + '@shikijs/langs@1.29.2': + resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} + + '@shikijs/monaco@1.29.2': + resolution: {integrity: sha512-VLugI+Hit6rxBr+S//p3qz4EReuMfhSjBYpFtqkg3qvt6KG+MQIzIxuogznsWOcVabyeHN48n/e+Acn6TBxSFg==} + + '@shikijs/themes@1.29.2': + resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} + + '@shikijs/types@1.29.2': + resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -464,6 +488,12 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/node@20.11.25': resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} @@ -473,6 +503,12 @@ packages: '@types/tern@0.23.4': resolution: {integrity: sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + '@vitejs/plugin-vue@5.0.4': resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -648,6 +684,15 @@ packages: call-me-maybe@1.0.2: resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + character-parser@2.2.0: resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==} @@ -672,6 +717,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -715,9 +763,16 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + destr@2.0.0: resolution: {integrity: sha512-FJ9RDpf3GicEBvzI3jxc2XhHzbqD8p4ANw/1kPsFBfTvP1b7Gn/Lg1vO7R9J4IVgoMbyUmFrFGZafJ1hPZpvlg==} + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} @@ -733,6 +788,9 @@ packages: emmet@2.4.6: resolution: {integrity: sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==} + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -849,10 +907,19 @@ packages: hash-sum@2.0.0: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} @@ -956,6 +1023,9 @@ packages: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -963,6 +1033,21 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -1048,6 +1133,9 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} + oniguruma-to-es@2.3.0: + resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -1099,6 +1187,9 @@ packages: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} + property-information@7.0.0: + resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==} + pug-error@2.0.0: resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==} @@ -1122,6 +1213,15 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + regex-recursion@5.1.1: + resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} @@ -1169,17 +1269,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shikiji-core@0.9.19: - resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==} - deprecated: Deprecated, use @shikijs/core instead - - shikiji-monaco@0.9.19: - resolution: {integrity: sha512-rTSjHavIjfJ7eb1Dapw0rR1Ybm3kOadO039PXjISmzvzZLoPmMJhJdu5r8WFVg7DWP1jYRi8eFPcbGhlAXra9w==} - deprecated: Deprecated, use @shikijs/monaco instead - - shikiji@0.9.19: - resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==} - deprecated: Deprecated, use shiki instead + shiki@1.29.2: + resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} @@ -1196,6 +1287,9 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -1211,6 +1305,9 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -1262,6 +1359,9 @@ packages: token-stream@1.0.0: resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -1288,6 +1388,21 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -1303,6 +1418,12 @@ packages: resolution: {integrity: sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==} engines: {node: '>= 0.10'} + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vite-plugin-vuetify@2.0.2: resolution: {integrity: sha512-steZz+B3Fj06mzQ9RyV1ewwQ8yGIU+l/Pi3KQhKhyRJSMS5vKCh2jThglbUBLdJER5vv4jxl0FJujPuKJ41tJw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -1487,6 +1608,9 @@ packages: engines: {node: '>=8.0.0'} hasBin: true + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: '@babel/helper-string-parser@7.23.4': {} @@ -1755,6 +1879,47 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@shikijs/core@1.29.2': + dependencies: + '@shikijs/engine-javascript': 1.29.2 + '@shikijs/engine-oniguruma': 1.29.2 + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + + '@shikijs/engine-javascript@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 2.3.0 + + '@shikijs/engine-oniguruma@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 + + '@shikijs/monaco@1.29.2': + dependencies: + '@shikijs/core': 1.29.2 + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/themes@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 + + '@shikijs/types@1.29.2': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + '@types/argparse@1.0.38': {} '@types/codemirror@5.60.15': @@ -1765,6 +1930,14 @@ snapshots: '@types/estree@1.0.5': {} + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 + '@types/node@20.11.25': dependencies: undici-types: 5.26.5 @@ -1775,6 +1948,10 @@ snapshots: dependencies: '@types/estree': 1.0.1 + '@types/unist@3.0.3': {} + + '@ungap/structured-clone@1.3.0': {} + '@vitejs/plugin-vue@5.0.4(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2))': dependencies: vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) @@ -2033,6 +2210,12 @@ snapshots: call-me-maybe@1.0.2: {} + ccount@2.0.1: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + character-parser@2.2.0: dependencies: is-regex: 1.1.4 @@ -2063,6 +2246,8 @@ snapshots: color-name@1.1.4: {} + comma-separated-tokens@2.0.3: {} + commander@4.1.1: {} commander@9.5.0: @@ -2092,8 +2277,14 @@ snapshots: defu@6.1.4: {} + dequal@2.0.3: {} + destr@2.0.0: {} + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + dotenv@16.4.5: {} eastasianwidth@0.2.0: {} @@ -2108,6 +2299,8 @@ snapshots: '@emmetio/abbreviation': 2.3.3 '@emmetio/css-abbreviation': 2.1.8 + emoji-regex-xs@1.0.0: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -2250,8 +2443,28 @@ snapshots: hash-sum@2.0.0: {} + hast-util-to-html@9.0.5: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 7.0.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + he@1.2.0: {} + html-void-elements@3.0.0: {} + human-signals@5.0.0: {} immutable@4.3.4: {} @@ -2334,10 +2547,39 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.3 + merge-stream@2.0.0: {} merge2@1.4.1: {} + micromark-util-character@2.1.1: + dependencies: + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-encode@2.0.1: {} + + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 + + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + micromatch@4.0.5: dependencies: braces: 3.0.2 @@ -2415,6 +2657,12 @@ snapshots: dependencies: mimic-fn: 4.0.0 + oniguruma-to-es@2.3.0: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 + path-browserify@1.0.1: {} path-key@3.1.1: {} @@ -2457,6 +2705,8 @@ snapshots: kleur: 3.0.3 sisteransi: 1.0.5 + property-information@7.0.0: {} + pug-error@2.0.0: {} pug-lexer@5.0.1: @@ -2484,6 +2734,17 @@ snapshots: dependencies: picomatch: 2.3.1 + regex-recursion@5.1.1: + dependencies: + regex: 5.1.1 + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + + regex@5.1.1: + dependencies: + regex-utilities: 2.3.0 + resolve@1.19.0: dependencies: is-core-module: 2.12.1 @@ -2544,15 +2805,16 @@ snapshots: shebang-regex@3.0.0: {} - shikiji-core@0.9.19: {} - - shikiji-monaco@0.9.19: - dependencies: - shikiji-core: 0.9.19 - - shikiji@0.9.19: + shiki@1.29.2: dependencies: - shikiji-core: 0.9.19 + '@shikijs/core': 1.29.2 + '@shikijs/engine-javascript': 1.29.2 + '@shikijs/engine-oniguruma': 1.29.2 + '@shikijs/langs': 1.29.2 + '@shikijs/themes': 1.29.2 + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 signal-exit@4.1.0: {} @@ -2562,6 +2824,8 @@ snapshots: source-map@0.6.1: {} + space-separated-tokens@2.0.2: {} + sprintf-js@1.0.3: {} string-argv@0.3.2: {} @@ -2578,6 +2842,11 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -2631,6 +2900,8 @@ snapshots: token-stream@1.0.0: {} + trim-lines@3.0.1: {} + ts-interface-checker@0.1.13: {} type-detect@4.0.8: {} @@ -2647,6 +2918,29 @@ snapshots: undici-types@5.26.5: {} + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.3 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + universalify@0.1.2: {} upath@2.0.1: {} @@ -2657,6 +2951,16 @@ snapshots: validator@13.9.0: {} + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile-message: 4.0.2 + vite-plugin-vuetify@2.0.2(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8): dependencies: '@vuetify/loader-shared': 2.0.2(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8) @@ -2831,3 +3135,5 @@ snapshots: validator: 13.9.0 optionalDependencies: commander: 9.5.0 + + zwitch@2.0.4: {} diff --git a/src/monaco/highlight.ts b/src/monaco/highlight.ts index d826db96..80f31473 100644 --- a/src/monaco/highlight.ts +++ b/src/monaco/highlight.ts @@ -1,23 +1,21 @@ import * as monaco from 'monaco-editor-core' -import { getHighlighterCore } from 'shikiji/core' -import { getWasmInlined } from 'shikiji/wasm' -import { shikijiToMonaco } from 'shikiji-monaco' - -import langVue from 'shikiji/langs/vue.mjs' -import themeDark from 'shikiji/themes/dark-plus.mjs' -import themeLight from 'shikiji/themes/light-plus.mjs' +import { getHighlighterCore } from 'shiki/core' +import { shikiToMonaco } from '@shikijs/monaco' +import langVue from 'shiki/langs/vue.mjs' +import themeDark from 'shiki/themes/dark-plus.mjs' +import themeLight from 'shiki/themes/light-plus.mjs' export async function registerHighlighter() { const highlighter = await getHighlighterCore({ themes: [themeDark, themeLight], langs: [langVue], - loadWasm: getWasmInlined + loadWasm: import('shiki/wasm'), }) monaco.languages.register({ id: 'vue' }) - shikijiToMonaco(highlighter, monaco) + shikiToMonaco(highlighter, monaco) return { light: themeLight.name!, - dark: themeDark.name! + dark: themeDark.name!, } } From 04f6e10a664fa7626e61403cc253ffab71fbdc0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Sat, 10 Feb 2024 18:39:35 +0800 Subject: [PATCH 03/15] feat: register language configuration ref https://github.com/Kingwl/monaco-volar/pull/25 --- src/monaco/env.ts | 46 +-- src/monaco/language-configs.ts | 529 +++++++++++++++++++++++++++++++++ 2 files changed, 555 insertions(+), 20 deletions(-) create mode 100644 src/monaco/language-configs.ts diff --git a/src/monaco/env.ts b/src/monaco/env.ts index db0d6034..a6373971 100644 --- a/src/monaco/env.ts +++ b/src/monaco/env.ts @@ -9,6 +9,7 @@ import { Store } from '../store' import { getOrCreateModel } from './utils' import type { CreateData } from './vue.worker' import vueWorker from './vue.worker?worker' +import * as languageConfigs from './language-configs' let initted = false export function initMonaco(store: Store) { @@ -39,26 +40,6 @@ export function initMonaco(store: Store) { } }) - // Support for go to definition - editor.registerEditorOpener({ - openCodeEditor(_, resource) { - if (resource.toString().startsWith(jsDelivrUriBase + '/')) { - return true - } - - const path = resource.path - if (/^\//.test(path)) { - const fileName = path.replace('/', '') - if (fileName !== store.state.activeFile.filename) { - store.setActive(fileName) - return true - } - } - - return false - }, - }) - initted = true } @@ -171,7 +152,32 @@ export function loadMonacoEnv(store: Store) { languages.register({ id: 'vue', extensions: ['.vue'] }) languages.register({ id: 'javascript', extensions: ['.js'] }) languages.register({ id: 'typescript', extensions: ['.ts'] }) + languages.register({ id: 'css', extensions: ['.css'] }) + languages.setLanguageConfiguration('vue', languageConfigs.vue) + languages.setLanguageConfiguration('javascript', languageConfigs.js) + languages.setLanguageConfiguration('typescript', languageConfigs.ts) + languages.setLanguageConfiguration('css', languageConfigs.css) store.reloadLanguageTools = () => reloadLanguageTools(store) languages.onLanguage('vue', () => store.reloadLanguageTools!()) + + // Support for go to definition + editor.registerEditorOpener({ + openCodeEditor(_, resource) { + if (resource.toString().startsWith(jsDelivrUriBase + '/')) { + return true + } + + const path = resource.path + if (/^\//.test(path)) { + const fileName = path.replace('/', '') + if (fileName !== store.state.activeFile.filename) { + store.setActive(fileName) + return true + } + } + + return false + }, + }) } diff --git a/src/monaco/language-configs.ts b/src/monaco/language-configs.ts new file mode 100644 index 00000000..6a8e7cc5 --- /dev/null +++ b/src/monaco/language-configs.ts @@ -0,0 +1,529 @@ +import { languages } from 'monaco-editor-core' + +// export const html: languages.LanguageConfiguration = { +// comments: { +// blockComment: [''], +// }, +// brackets: [ +// [''], +// ['{', '}'], +// ['(', ')'], +// ], +// autoClosingPairs: [ +// { open: '{', close: '}' }, +// { open: '[', close: ']' }, +// { open: '(', close: ')' }, +// { open: "'", close: "'" }, +// { open: '"', close: '"' }, +// { open: '', notIn: ['comment', 'string'] }, +// ], +// surroundingPairs: [ +// { open: "'", close: "'" }, +// { open: '"', close: '"' }, +// { open: '{', close: '}' }, +// { open: '[', close: ']' }, +// { open: '(', close: ')' }, +// { open: '<', close: '>' }, +// ], +// colorizedBracketPairs: [], +// folding: { +// markers: { +// start: /^\s*/, +// end: /^\s*/, +// }, +// }, +// wordPattern: new RegExp( +// '(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\$\\^\\&\\*\\(\\)\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\\'\\"\\,\\.\\<\\>\\/\\s]+)', +// ), +// onEnterRules: [ +// { +// beforeText: new RegExp( +// '<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w-.\\d]*)(?:(?:[^\'"/>]|"[^"]*"|\'[^\']*\')*?(?!\\/)>)[^<]*$', +// 'i', +// ), +// afterText: new RegExp('^<\\/([_:\\w][_:\\w-.\\d]*)\\s*>', 'i'), +// action: { +// indentAction: languages.IndentAction.IndentOutdent, +// }, +// }, +// { +// beforeText: new RegExp( +// '<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr))([_:\\w][_:\\w-.\\d]*)(?:(?:[^\'"/>]|"[^"]*"|\'[^\']*\')*?(?!\\/)>)[^<]*$', +// 'i', +// ), +// action: { +// indentAction: languages.IndentAction.Indent, +// }, +// }, +// ], +// indentationRules: { +// increaseIndentPattern: new RegExp( +// '<(?!\\?|(?:area|base|br|col|frame|hr|html|img|input|keygen|link|menuitem|meta|param|source|track|wbr)\\b|[^>]*\\/>)([-_\\.A-Za-z0-9]+)(?=\\s|>)\\b[^>]*>(?!.*<\\/\\1>)|)|\\{[^}"\']*$', +// ), +// decreaseIndentPattern: new RegExp( +// '^\\s*(<\\/(?!html)[-_\\.A-Za-z0-9]+\\b[^>]*>|-->|\\})', +// ), +// }, +// } + +export const css: languages.LanguageConfiguration = { + comments: { + blockComment: ['/*', '*/'], + }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] }, + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: "'", close: "'", notIn: ['string', 'comment'] }, + ], + surroundingPairs: [ + { + open: "'", + close: "'", + }, + { + open: '"', + close: '"', + }, + { + open: '{', + close: '}', + }, + { + open: '[', + close: ']', + }, + { + open: '(', + close: ')', + }, + ], + folding: { + markers: { + start: new RegExp('^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/'), + end: new RegExp('^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/'), + }, + }, + indentationRules: { + increaseIndentPattern: new RegExp('(^.*\\{[^}]*$)'), + decreaseIndentPattern: new RegExp('^\\s*\\}'), + }, + wordPattern: new RegExp( + '(#?-?\\d*\\.\\d\\w*%?)|(::?[\\w-]*(?=[^,{;]*[,{]))|(([@#.!])?[\\w-?]+%?|[@#!.])', + ), +} + +export const vue: languages.LanguageConfiguration = { + comments: { + blockComment: [''], + }, + brackets: [ + [''], + ['<', '>'], + ['{', '}'], + ['(', ')'], + ], + autoClosingPairs: [ + { + open: '{', + close: '}', + }, + { + open: '[', + close: ']', + }, + { + open: '(', + close: ')', + }, + { + open: "'", + close: "'", + }, + { + open: '"', + close: '"', + }, + { + open: '', + notIn: ['comment', 'string'], + }, + { + open: '`', + close: '`', + notIn: ['string', 'comment'], + }, + { + open: '/**', + close: ' */', + notIn: ['string'], + }, + ], + autoCloseBefore: ';:.,=}])><`\'" \n\t', + surroundingPairs: [ + { + open: "'", + close: "'", + }, + { + open: '"', + close: '"', + }, + { + open: '{', + close: '}', + }, + { + open: '[', + close: ']', + }, + { + open: '(', + close: ')', + }, + { + open: '<', + close: '>', + }, + { + open: '`', + close: '`', + }, + ], + colorizedBracketPairs: [], + folding: { + markers: { + start: /^\s*/, + end: /^\s*/, + }, + }, + wordPattern: + /(-?\d*\.\d\w*)|([^\`\@\~\!\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>/\?\s]+)/, + onEnterRules: [ + { + beforeText: + /<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr|script|style))([_:\w][_:\w-.\d]*)(?:(?:[^'"/>]|"[^"]*"|'[^']*')*?(?!\/)>)[^<]*$/i, + afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>/i, + action: { + indentAction: languages.IndentAction.IndentOutdent, + }, + }, + { + beforeText: + /<(?!(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr|script|style))([_:\w][_:\w-.\d]*)(?:(?:[^'"/>]|"[^"]*"|'[^']*')*?(?!\/)>)[^<]*$/i, + action: { + indentAction: languages.IndentAction.Indent, + }, + }, + ], + indentationRules: { + increaseIndentPattern: + /<(?!\?|(?:area|base|br|col|frame|hr|html|img|input|keygen|link|menuitem|meta|param|source|track|wbr|script|style)\b|[^>]*\/>)([-_\.A-Za-z0-9]+)(?=\s|>)\b[^>]*>(?!\s*\()(?!.*<\/\1>)|)|\{[^}"']*$/i, + decreaseIndentPattern: /^\s*(<\/(?!html)[-_\.A-Za-z0-9]+\b[^>]*>|-->|\})/, + }, +} + +export const js: languages.LanguageConfiguration = { + comments: { + lineComment: '//', + blockComment: ['/*', '*/'], + }, + brackets: [ + ['${', '}'], + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { + open: '{', + close: '}', + }, + { + open: '[', + close: ']', + }, + { + open: '(', + close: ')', + }, + { + open: "'", + close: "'", + notIn: ['string', 'comment'], + }, + { + open: '"', + close: '"', + notIn: ['string'], + }, + { + open: '`', + close: '`', + notIn: ['string', 'comment'], + }, + { + open: '/**', + close: ' */', + notIn: ['string'], + }, + ], + surroundingPairs: [ + { + open: "'", + close: "'", + }, + { + open: '"', + close: '"', + }, + { + open: '{', + close: '}', + }, + { + open: '[', + close: ']', + }, + { + open: '(', + close: ')', + }, + { + open: '<', + close: '>', + }, + { + open: '`', + close: '`', + }, + ], + autoCloseBefore: ';:.,=}])>` \n\t', + folding: { + markers: { + start: /^\s*\/\/\s*#?region\b/, + end: /^\s*\/\/\s*#?endregion\b/, + }, + }, + wordPattern: + /(-?\d*\.\d\w*)|([^\`\~\@\!\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>/\?\s]+)/, + indentationRules: { + decreaseIndentPattern: /^((?!.*?\/\*).*\*\/)?\s*[\}\]].*$/, + increaseIndentPattern: + /^((?!\/\/).)*(\{([^}"'`/]*|(\t|[ ])*\/\/.*)|\([^)"'`/]*|\[[^\]"'`/]*)$/, + unIndentedLinePattern: + /^(\t|[ ])*[ ]\*[^/]*\*\/\s*$|^(\t|[ ])*[ ]\*\/\s*$|^(\t|[ ])*[ ]\*([ ]([^\*]|\*(?!\/))*)?$/, + }, + onEnterRules: [ + { + beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/, + afterText: /^\s*\*\/$/, + action: { + indentAction: languages.IndentAction.IndentOutdent, + appendText: ' * ', + }, + }, + { + beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/, + action: { + indentAction: languages.IndentAction.None, + appendText: ' * ', + }, + }, + { + beforeText: /^(\t|[ ])*[ ]\*([ ]([^\*]|\*(?!\/))*)?$/, + previousLineText: /(?=^(\s*(\/\*\*|\*)).*)(?=(?!(\s*\*\/)))/, + action: { + indentAction: languages.IndentAction.None, + appendText: '* ', + }, + }, + { + beforeText: /^(\t|[ ])*[ ]\*\/\s*$/, + action: { + indentAction: languages.IndentAction.None, + removeText: 1, + }, + }, + { + beforeText: /^(\t|[ ])*[ ]\*[^/]*\*\/\s*$/, + action: { + indentAction: languages.IndentAction.None, + removeText: 1, + }, + }, + { + beforeText: /^\s*(\bcase\s.+:|\bdefault:)$/, + afterText: /^(?!\s*(\bcase\b|\bdefault\b))/, + action: { + indentAction: languages.IndentAction.Indent, + }, + }, + { + previousLineText: /^\s*(((else ?)?if|for|while)\s*\(.*\)\s*|else\s*)$/, + beforeText: /^\s+([^{i\s]|i(?!f\b))/, + action: { + indentAction: languages.IndentAction.Outdent, + }, + }, + ], +} + +export const ts: languages.LanguageConfiguration = { + comments: { + lineComment: '//', + blockComment: ['/*', '*/'], + }, + brackets: [ + ['${', '}'], + ['{', '}'], + ['[', ']'], + ['(', ')'], + ], + autoClosingPairs: [ + { + open: '{', + close: '}', + }, + { + open: '[', + close: ']', + }, + { + open: '(', + close: ')', + }, + { + open: "'", + close: "'", + notIn: ['string', 'comment'], + }, + { + open: '"', + close: '"', + notIn: ['string'], + }, + { + open: '`', + close: '`', + notIn: ['string', 'comment'], + }, + { + open: '/**', + close: ' */', + notIn: ['string'], + }, + ], + surroundingPairs: [ + { + open: "'", + close: "'", + }, + { + open: '"', + close: '"', + }, + { + open: '{', + close: '}', + }, + { + open: '[', + close: ']', + }, + { + open: '(', + close: ')', + }, + { + open: '<', + close: '>', + }, + { + open: '`', + close: '`', + }, + ], + colorizedBracketPairs: [ + ['(', ')'], + ['[', ']'], + ['{', '}'], + ['<', '>'], + ], + autoCloseBefore: ';:.,=}])>` \n\t', + folding: { + markers: { + start: /^\s*\/\/\s*#?region\b/, + end: /^\s*\/\/\s*#?endregion\b/, + }, + }, + wordPattern: + /(-?\d*\.\d\w*)|([^\`\~\@\!\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>/\?\s]+)/, + indentationRules: { + decreaseIndentPattern: /^((?!.*?\/\*).*\*\/)?\s*[\}\]].*$/, + increaseIndentPattern: + /^((?!\/\/).)*(\{([^}"'`/]*|(\t|[ ])*\/\/.*)|\([^)"'`/]*|\[[^\]"'`/]*)$/, + unIndentedLinePattern: + /^(\t|[ ])*[ ]\*[^/]*\*\/\s*$|^(\t|[ ])*[ ]\*\/\s*$|^(\t|[ ])*[ ]\*([ ]([^\*]|\*(?!\/))*)?$/, + }, + onEnterRules: [ + { + beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/, + afterText: /^\s*\*\/$/, + action: { + indentAction: languages.IndentAction.IndentOutdent, + appendText: ' * ', + }, + }, + { + beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/, + action: { + indentAction: languages.IndentAction.None, + appendText: ' * ', + }, + }, + { + beforeText: /^(\t|[ ])*[ ]\*([ ]([^\*]|\*(?!\/))*)?$/, + previousLineText: /(?=^(\s*(\/\*\*|\*)).*)(?=(?!(\s*\*\/)))/, + action: { + indentAction: languages.IndentAction.None, + appendText: '* ', + }, + }, + { + beforeText: /^(\t|[ ])*[ ]\*\/\s*$/, + action: { + indentAction: languages.IndentAction.None, + removeText: 1, + }, + }, + { + beforeText: /^(\t|[ ])*[ ]\*[^/]*\*\/\s*$/, + action: { + indentAction: languages.IndentAction.None, + removeText: 1, + }, + }, + { + beforeText: /^\s*(\bcase\s.+:|\bdefault:)$/, + afterText: /^(?!\s*(\bcase\b|\bdefault\b))/, + action: { + indentAction: languages.IndentAction.Indent, + }, + }, + { + previousLineText: /^\s*(((else ?)?if|for|while)\s*\(.*\)\s*|else\s*)$/, + beforeText: /^\s+([^{i\s]|i(?!f\b))/, + action: { + indentAction: languages.IndentAction.Outdent, + }, + }, + ], +} From bf95383edaf252708d5690532958c99714156fbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kevin=20Deng=20=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90?= Date: Tue, 2 Jul 2024 09:28:56 +0800 Subject: [PATCH 04/15] feat: volar 2.x (#225) Co-authored-by: Johnson Chu --- package.json | 10 +- pnpm-lock.yaml | 591 +++++++++++++++++++++------------------ src/monaco/Monaco.vue | 3 +- src/monaco/env.ts | 20 +- src/monaco/vue.worker.ts | 137 ++++----- 5 files changed, 415 insertions(+), 346 deletions(-) diff --git a/package.json b/package.json index b3e2eae3..d5998565 100644 --- a/package.json +++ b/package.json @@ -68,10 +68,9 @@ "@types/node": "^20.11.25", "@types/prettier": "^2.7.3", "@vitejs/plugin-vue": "^5.0.4", - "@volar/cdn": "~1.11.1", - "@volar/monaco": "~1.9.2", - "@volar/typescript": "~2.1.2", - "@vue/language-service": "2.0.6", + "@volar/jsdelivr": "~2.4.0-alpha.8", + "@volar/monaco": "~2.4.0-alpha.8", + "@vue/language-service": "2.0.24", "bumpp": "^9.4.0", "codemirror": "^5.65.14", "emmet": "^2.4.6", @@ -89,8 +88,9 @@ "typescript": "^5.4.2", "vite": "^5.1.5", "vite-plugin-vuetify": "^2.0.2", + "vscode-uri": "^3.0.8", "vue": "^3.4.21", - "vue-tsc": "2.0.6", + "vue-tsc": "~2.0.24", "vuetify": "3.5.8" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf7b9e74..9345fb72 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,18 +44,15 @@ importers: '@vitejs/plugin-vue': specifier: ^5.0.4 version: 5.0.4(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2)) - '@volar/cdn': - specifier: ~1.11.1 - version: 1.11.1 + '@volar/jsdelivr': + specifier: ~2.4.0-alpha.8 + version: 2.4.0-alpha.8 '@volar/monaco': - specifier: ~1.9.2 - version: 1.9.2 - '@volar/typescript': - specifier: ~2.1.2 - version: 2.1.2 + specifier: ~2.4.0-alpha.8 + version: 2.4.12 '@vue/language-service': - specifier: 2.0.6 - version: 2.0.6(typescript@5.4.2) + specifier: 2.0.24 + version: 2.0.24(typescript@5.4.2) bumpp: specifier: ^9.4.0 version: 9.4.0 @@ -64,7 +61,7 @@ importers: version: 5.65.14 emmet: specifier: ^2.4.6 - version: 2.4.6 + version: 2.4.7 emmet-monaco-es: specifier: ^5.3.2 version: 5.3.2(monaco-editor@0.43.0) @@ -104,12 +101,15 @@ importers: vite-plugin-vuetify: specifier: ^2.0.2 version: 2.0.2(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8) + vscode-uri: + specifier: ^3.0.8 + version: 3.0.8 vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.4.2) vue-tsc: - specifier: 2.0.6 - version: 2.0.6(typescript@5.4.2) + specifier: ~2.0.24 + version: 2.0.29(typescript@5.4.2) vuetify: specifier: 3.5.8 version: 3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21(typescript@5.4.2)) @@ -142,9 +142,21 @@ packages: '@emmetio/css-abbreviation@2.1.8': resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} + '@emmetio/css-parser@0.4.0': + resolution: {integrity: sha512-z7wkxRSZgrQHXVzObGkXG+Vmj3uRlpM11oCZ9pbaz0nFejvCDmAiNDpY75+wgXOcffKpj4rzGtwGaZxfJKsJxw==} + + '@emmetio/html-matcher@1.3.0': + resolution: {integrity: sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==} + '@emmetio/scanner@1.0.4': resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} + '@emmetio/stream-reader-utils@0.1.0': + resolution: {integrity: sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==} + + '@emmetio/stream-reader@2.2.0': + resolution: {integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==} + '@esbuild/aix-ppc64@0.19.12': resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} @@ -516,47 +528,35 @@ packages: vite: ^5.0.0 vue: ^3.2.25 - '@volar/cdn@1.11.1': - resolution: {integrity: sha512-iB2+ZQNHwR6fJpLm8rD8x5uWMFSA3B4237vj6E3QvFmcOXuAYEiHUGPtn3jeFBhxLqJMb/SvcooqZd5hd7e4Vg==} - - '@volar/language-core@1.11.1': - resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} - - '@volar/language-core@1.9.2': - resolution: {integrity: sha512-9GTes/IUPOl0YoV5RQWhCP5a4EDFFfJZGwZn1xA5ug1FO0G6GOVoJI6tQatujtcQmDOQlOM5/0NewnlumygPkQ==} + '@volar/jsdelivr@2.4.0-alpha.8': + resolution: {integrity: sha512-/QF977lNhP12bX97tFw3/tYxgUw3ndTZSE4vLRRa1/fBjVGtVKChBWpCoGwk5QCfMveRaxRVPLdP8MBpg9Riyg==} - '@volar/language-core@2.1.2': - resolution: {integrity: sha512-5qsDp0Gf6fE09UWCeK7bkVn6NxMwC9OqFWQkMMkeej8h8XjyABPdRygC2RCrqDrfVdGijqlMQeXs6yRS+vfZYA==} + '@volar/language-core@2.4.0-alpha.8': + resolution: {integrity: sha512-iHRSw4BT4upJCHRDaT/lLejx2/A9Od1aW02HyQjZcNziXSLKHiAem/WmU6cUh75JTUfwAA/V+mApqMgVR+WTog==} - '@volar/language-service@1.11.1': - resolution: {integrity: sha512-dKo8z1UzQRPHnlXxwfONGrasS1wEWXMoLQiohZ8KgWqZALbekZCwdGImLZD4DeFGNjk3HTTdfeCzo3KjwohjEQ==} + '@volar/language-core@2.4.12': + resolution: {integrity: sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==} - '@volar/language-service@1.9.2': - resolution: {integrity: sha512-DcM9FfEEkzpMgoQr8jCSdAYFsBOXIjSEFVEtt69sQ8Pz05kOaxehH8KoxvSb2tKl1N9lTeQPiM+0jF5opYvxkg==} + '@volar/language-service@2.4.0-alpha.8': + resolution: {integrity: sha512-dB3pqhKz8cSjCcR77Hhn1THFGsqxlbHm+q77zNPimdzF4UXrUS7iZDieQRV2NL/awHDyK7QnBtSJE3BsZquD3Q==} - '@volar/language-service@2.1.2': - resolution: {integrity: sha512-CmVbbKdqzVq+0FT67hfELdHpboqXhKXh6EjypypuFX5ptIRftHZdkaq3/lCCa46EHxS5tvE44jn+s7faN4iRDA==} + '@volar/language-service@2.4.12': + resolution: {integrity: sha512-nifOPGYYPnCmxja6/ML/Gl2EgFkUdw4gLbYqbh8FjqX3gSpXSZl/0ebqORjKo1KW56YWHWRZd1jFutEtCiRYhA==} - '@volar/monaco@1.9.2': - resolution: {integrity: sha512-CSiOFHcbmgxrRVbIaOAjPwOdtsCq3D3iu69nyxYZTuiwMjC2BRKchHuVsdQTa1DfNaxmMTBIsGAYRIPc3hPijw==} + '@volar/monaco@2.4.12': + resolution: {integrity: sha512-M2YAHk8wc6ComwqfKftzbBgwpw2dx+9KaQDEIIH9iVRh/EGySU/0oZim5rBIezpgfPa0CaK5jYuWC12fU2zARA==} - '@volar/source-map@1.11.1': - resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + '@volar/source-map@2.4.0-alpha.8': + resolution: {integrity: sha512-ocaN3Ac30KzxceXqgGGLoO7atrLk9tR8+6F6fPZM+g5RrCgyHRogzpM3GGqQ1/gg+MKF+5SZAs0LhbaS3QEvqA==} - '@volar/source-map@1.9.2': - resolution: {integrity: sha512-rYTvV/HMf2CSRkd6oiVxcjX4rnSxEsVfJmw1KTmD4VTBXlz1+b16VIysQX4+1p/eZd2TyCeFblyylIxbZ+YOGg==} + '@volar/source-map@2.4.12': + resolution: {integrity: sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==} - '@volar/source-map@2.1.2': - resolution: {integrity: sha512-yFJqsuLm1OaWrsz9E3yd3bJcYIlHqdZ8MbmIoZLrAzMYQDcoF26/INIhgziEXSdyHc8xd7rd/tJdSnUyh0gH4Q==} + '@volar/typescript@2.4.12': + resolution: {integrity: sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==} - '@volar/typescript@2.1.2': - resolution: {integrity: sha512-lhTancZqamvaLvoz0u/uth8dpudENNt2LFZOWCw9JZiX14xRFhdhfzmphiCRb7am9E6qAJSbdS/gMt1utXAoHQ==} - - '@vscode/emmet-helper@2.9.2': - resolution: {integrity: sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==} - - '@vscode/l10n@0.0.16': - resolution: {integrity: sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==} + '@vscode/emmet-helper@2.9.3': + resolution: {integrity: sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==} '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} @@ -573,16 +573,27 @@ packages: '@vue/compiler-ssr@3.4.21': resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} - '@vue/language-core@2.0.6': - resolution: {integrity: sha512-UzqU12tzf9XLqRO3TiWPwRNpP4fyUzE6MAfOQWQNZ4jy6a30ARRUpmODDKq6O8C4goMc2AlPqTmjOHPjHkilSg==} + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + + '@vue/language-core@2.0.24': + resolution: {integrity: sha512-997YD6Lq/66LXr3ZOLNxDCmyn13z9NP8LU1UZn9hGCDWhzlbXAIP0hOgL3w3x4RKEaWTaaRtsHP9DzHvmduruQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/language-core@2.0.29': + resolution: {integrity: sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@vue/language-service@2.0.6': - resolution: {integrity: sha512-lMKLtkt88RyJryS50blkRuaMnL0Vcjo7Lt6rtFEmw9WVv9NShqWnSpMNXyBr9gns8OJaJmQd6kl9VBAYQ6uaWA==} + '@vue/language-service@2.0.24': + resolution: {integrity: sha512-CoiTPlc73I/LCji9rnI0Z89GVBOoejUfBzIzEg+6TFw8Eelp2fncgLAvgR8vmOWRVaLn0XgmL2wa0jgtLLderg==} '@vue/reactivity@3.4.21': resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} @@ -601,6 +612,12 @@ packages: '@vue/shared@3.4.21': resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + '@vue/shared@3.4.31': + resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==} + + '@vue/typescript-plugin@2.0.24': + resolution: {integrity: sha512-UjC6iKiyJ1pn0CbcsDW3IyiNb7z7vtABI3b9tDZ8xLGDvVLduZ0qwzq22b5jg2cVEIhLdjbQ4quaEoZflltfTw==} + '@vuetify/loader-shared@2.0.2': resolution: {integrity: sha512-91itRxkTRKUhEZhWR/ICfYml1WkVxC7/DIeJEyUzzzLQxRo9wpyk+rhFtwHUUJE2O8wL1VG9L6TkR5SIUswwKQ==} peerDependencies: @@ -671,8 +688,13 @@ packages: engines: {node: '>=10'} hasBin: true - c12@1.10.0: - resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} + c12@1.11.1: + resolution: {integrity: sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==} + peerDependencies: + magicast: ^0.3.4 + peerDependenciesMeta: + magicast: + optional: true cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} @@ -734,8 +756,8 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - confbox@0.1.3: - resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} @@ -751,8 +773,8 @@ packages: de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -767,8 +789,8 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - destr@2.0.0: - resolution: {integrity: sha512-FJ9RDpf3GicEBvzI3jxc2XhHzbqD8p4ANw/1kPsFBfTvP1b7Gn/Lg1vO7R9J4IVgoMbyUmFrFGZafJ1hPZpvlg==} + destr@2.0.5: + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -785,8 +807,8 @@ packages: peerDependencies: monaco-editor: '>=0.22.0' - emmet@2.4.6: - resolution: {integrity: sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==} + emmet@2.4.7: + resolution: {integrity: sha512-O5O5QNqtdlnQM2bmKHtJgyChcrFMgQuulI+WdiOw2NArzprUqqxUW6bgYtKvzKgrsYpuLWalOkdhNP+1jluhCA==} emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -837,12 +859,8 @@ packages: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - - foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + foreground-child@3.2.1: + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} fs-extra@7.0.1: @@ -868,8 +886,8 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - giget@1.2.1: - resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} + giget@1.2.3: + resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} hasBin: true glob-parent@5.1.2: @@ -972,8 +990,8 @@ packages: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true jju@1.4.0: @@ -989,8 +1007,8 @@ packages: jsonc-parser@2.3.1: resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} - jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -1080,8 +1098,8 @@ packages: engines: {node: '>=10'} hasBin: true - mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} monaco-editor-core@0.46.0: resolution: {integrity: sha512-JA5BzCaC0nUB5zUhzGUfecNhVNxEXpJxp6YNBYLr0SPyv0DKSIeBpF21WVkpwYm00UJaVc4m3TTcwB9/Gzd/nw==} @@ -1089,12 +1107,15 @@ packages: monaco-editor@0.43.0: resolution: {integrity: sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q==} + monaco-languageserver-types@0.4.0: + resolution: {integrity: sha512-QQ3BZiU5LYkJElGncSNb5AKoJ/LCs6YBMCJMAz9EA7v+JaOdn3kx2cXpPTcZfKA5AEsR0vc97sAw+5mdNhVBmw==} + + monaco-types@0.1.0: + resolution: {integrity: sha512-aWK7SN9hAqNYi0WosPoMjenMeXJjwCxDibOqWffyQ/qXdzB/86xshGQobRferfmNz7BSNQ8GB0MD0oby9/5fTQ==} + ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - muggle-string@0.3.1: - resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} - muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} @@ -1106,8 +1127,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - node-fetch-native@1.6.2: - resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} + node-fetch-native@1.6.6: + resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -1150,9 +1171,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -1171,8 +1192,8 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pkg-types@1.1.2: + resolution: {integrity: sha512-VEGf1he2DR5yowYRl0XJhWJq5ktm9gYIsH+y8sNJpHlxch7JPDaufgrsl4vYjd9hMUY8QVjoNncKbow9I7exyA==} postcss@8.4.35: resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} @@ -1206,8 +1227,8 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - rc9@2.1.1: - resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -1256,8 +1277,8 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true @@ -1369,8 +1390,8 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - typescript-auto-import-cache@0.3.2: - resolution: {integrity: sha512-+laqe5SFL1vN62FPOOJSUDTZxtgsoOXjneYOXIpx5rQ4UMiN89NAtJLpqLqyebv9fgQ/IMeeTX+mQyRnwvJzvg==} + typescript-auto-import-cache@0.3.5: + resolution: {integrity: sha512-fAIveQKsoYj55CozUiBoj4b/7WpN0i4o74wiGY5JVUEoD0XiqDk1tJqTEjgzL2/AizKQrXxyRosSebyDzBZKjw==} typescript@5.3.3: resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} @@ -1382,8 +1403,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -1460,74 +1481,73 @@ packages: terser: optional: true - volar-service-css@0.0.31: - resolution: {integrity: sha512-YDY+qwqYipkXVwh63f9Lk7x/48j9lsxVeXj9lsj5Fp1VAwpPoVpWQhAq3oNp3my9gyS8lEbdIPl0rJzBcJCuUA==} + volar-service-css@0.0.56: + resolution: {integrity: sha512-Pdbk5QayLNWJislbik4Lo0QLLyd4pTqcgZCE2gaEQp9ozHCtrRNj3vY7KAh4BTgfiOqTSAj/UhViOXVAtdF3yg==} peerDependencies: - '@volar/language-service': ~2.1.0 + '@volar/language-service': ~2.4.0-alpha.1 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-emmet@0.0.31: - resolution: {integrity: sha512-d+KfC0axTB6Ku4v70So3GEqsEzrE9zifDvwnqHUrg+Bts05kCFlRgDCLziXmddKhtaaJJ6oSizHr7WcFUyesww==} + volar-service-emmet@0.0.56: + resolution: {integrity: sha512-2WqvOMTYBOpNAHtEWj0C9d8Wyco8aY4KL+9lfdFCWJd7RYU6R6mIlbrvcdSP2De8b5Z7gwTCUm6Kcjt8qOCvjQ==} peerDependencies: - '@volar/language-service': ~2.1.0 + '@volar/language-service': ~2.4.0-alpha.1 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-html@0.0.31: - resolution: {integrity: sha512-duMjl/VLvPWtmYsIAUtwYw/esFY3FWnVmH7537UpnfY9ncYTX/G43xmoVd+oQJPWh7xi8zwFeUQgZAA6T45Bhg==} + volar-service-html@0.0.56: + resolution: {integrity: sha512-OwDRiASNqFxAFdO55CZ0/XKnPt7WGw8CoaM/g6QzExikPZ92ySbK/kvh1zi6WR3w+hP6C4BNeVITzOk9tjgNGw==} peerDependencies: - '@volar/language-service': ~2.1.0 + '@volar/language-service': ~2.4.0-alpha.1 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-json@0.0.31: - resolution: {integrity: sha512-LdADOPbO1+toDP/0oG6plOnzE34tA8oB/aJqdOJFv8OIyMtxn0kCprtyhzVWLMCpz3TgpkBSiAI3BuMMYXcDlQ==} + volar-service-json@0.0.56: + resolution: {integrity: sha512-eYXfOYTJLOw9UeA2YNtxGp/Lgu4pKk9u72I/HI+TcqLdMJKoXpOwLF6nUEhZVTy9LqTSRF0QvgXFa4q4mcLwIg==} peerDependencies: - '@volar/language-service': ~2.1.0 + '@volar/language-service': ~2.4.0-alpha.1 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-pug-beautify@0.0.31: - resolution: {integrity: sha512-Y1Dhiipn/+2GNYFxgToSS4DGxDE7rAU5S9rkbleASCksAKFFWknxLF0aBmcvhnDqcVHyvIjoeIqGtQw2xx3wrw==} + volar-service-pug-beautify@0.0.56: + resolution: {integrity: sha512-ai79ljMfKH2bjcVjUET0zAwpVjDNtMCjizkttxCkNHCMTYIc1muhHIEj1+nNAw4zrDT51lxZgW6OJMTXQ+BW9A==} peerDependencies: - '@volar/language-service': ~2.1.0 + '@volar/language-service': ~2.4.0-alpha.1 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-pug@0.0.31: - resolution: {integrity: sha512-hnzdMb9lq74FgKy3LI3nNW4SARWbPy+FwMr6VLaII0R8F3IOvx5w+2nJSzboivPDJ0F5xHASPTWO53G5mXK+vQ==} + volar-service-pug@0.0.56: + resolution: {integrity: sha512-NaobSQiuAFBTzBE7YHAyHyCZXqVNFFbXvuXTtXsJP6LR1lvBWg7IUgg45kzV1OS146qq2cmY3lryhlNRHwCmmg==} - volar-service-typescript-twoslash-queries@0.0.31: - resolution: {integrity: sha512-NsI1izFST7H6GN7WQow/GEPykPLGt0zlIJl+05bX9W6pXY8kD6PUSz7U+v5TSbUMMmjFFn8IkAAHopbH11OWrA==} + volar-service-typescript-twoslash-queries@0.0.56: + resolution: {integrity: sha512-VqOp3xQucUzLpJCOEQcAiAUlbv6c1laTbFsM/pc06S/+l78eHPDbnivoSwL+0MKbNoLwLsS5w0OwBfwQ2Dn2Jg==} peerDependencies: - '@volar/language-service': ~2.1.0 + '@volar/language-service': ~2.4.0-alpha.1 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-typescript@0.0.31-patch.1: - resolution: {integrity: sha512-q9Dv9lg3fyLopMgXll4Xal862YLVHw4PShFcllHqIQXUMiPzQndZ7dA7B/3OldVFYeJLWP44w/M+90tjdxtl7w==} + volar-service-typescript@0.0.56: + resolution: {integrity: sha512-p16fn61j4IiNLhLl7ZxdnRRDpRLWiqIRhZm1xLgek4JshCCy5Z7KShYG6LVZXK3hNvXxM8f61PIl0KDCCzStKA==} peerDependencies: - '@volar/language-service': ~2.1.0 - '@volar/typescript': ~2.1.0 + '@volar/language-service': ~2.4.0-alpha.1 peerDependenciesMeta: '@volar/language-service': optional: true - vscode-css-languageservice@6.2.12: - resolution: {integrity: sha512-PS9r7HgNjqzRl3v91sXpCyZPc8UDotNo6gntFNtGCKPhGA9Frk7g/VjX1Mbv3F00pn56D+rxrFzR9ep4cawOgA==} + vscode-css-languageservice@6.3.0: + resolution: {integrity: sha512-nU92imtkgzpCL0xikrIb8WvedV553F2BENzgz23wFuok/HLN5BeQmroMy26pUwFxV2eV8oNRmYCUv8iO7kSMhw==} - vscode-html-languageservice@5.1.0: - resolution: {integrity: sha512-cGOu5+lrz+2dDXSGS15y24lDtPaML1T8K/SfqgFbLmCZ1btYOxceFieR+ybTS2es/A67kRc62m2cKFLUQPWG5g==} + vscode-html-languageservice@5.3.3: + resolution: {integrity: sha512-AK/jJM0VIWRrlfqkDBMZxNMnxYT5I2uoMVRoNJ5ePSplnSaT9mbYjqJlxxeLvUrOW7MEH0vVIDzU48u44QZE0w==} - vscode-json-languageservice@5.3.9: - resolution: {integrity: sha512-0IcymTw0ZYX5Zcx+7KLLwTRvg0FzXUVnM1hrUH+sPhqEX0fHGg2h5UUOSp1f8ydGS7/xxzlFI3TR01yaHs6Y0Q==} + vscode-json-languageservice@5.4.0: + resolution: {integrity: sha512-NCkkCr63OHVkE4lcb0xlUAaix6vE5gHQW4NrswbLEh3ArXj81lrGuFTsGEYEUXlNHdnc53vWPcjeSy/nMTrfXg==} vscode-jsonrpc@8.2.0: resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} @@ -1539,6 +1559,9 @@ packages: vscode-languageserver-textdocument@1.0.11: resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + vscode-languageserver-textdocument@1.0.12: + resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + vscode-languageserver-types@3.17.5: resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} @@ -1551,14 +1574,17 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + vue-template-compiler@2.7.14: resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} - vue-tsc@2.0.6: - resolution: {integrity: sha512-kK50W4XqQL34vHRkxlRWLicrT6+F9xfgCgJ4KSmCHcytKzc1u3c94XXgI+CjmhOSxyw0krpExF7Obo7y4+0dVQ==} + vue-tsc@2.0.29: + resolution: {integrity: sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==} hasBin: true peerDependencies: - typescript: '*' + typescript: '>=5.0.0' vue@3.4.21: resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} @@ -1637,8 +1663,21 @@ snapshots: dependencies: '@emmetio/scanner': 1.0.4 + '@emmetio/css-parser@0.4.0': + dependencies: + '@emmetio/stream-reader': 2.2.0 + '@emmetio/stream-reader-utils': 0.1.0 + + '@emmetio/html-matcher@1.3.0': + dependencies: + '@emmetio/scanner': 1.0.4 + '@emmetio/scanner@1.0.4': {} + '@emmetio/stream-reader-utils@0.1.0': {} + + '@emmetio/stream-reader@2.2.0': {} + '@esbuild/aix-ppc64@0.19.12': optional: true @@ -1957,77 +1996,56 @@ snapshots: vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) vue: 3.4.21(typescript@5.4.2) - '@volar/cdn@1.11.1': - dependencies: - '@volar/language-service': 1.11.1 - - '@volar/language-core@1.11.1': - dependencies: - '@volar/source-map': 1.11.1 + '@volar/jsdelivr@2.4.0-alpha.8': {} - '@volar/language-core@1.9.2': + '@volar/language-core@2.4.0-alpha.8': dependencies: - '@volar/source-map': 1.9.2 + '@volar/source-map': 2.4.0-alpha.8 - '@volar/language-core@2.1.2': + '@volar/language-core@2.4.12': dependencies: - '@volar/source-map': 2.1.2 + '@volar/source-map': 2.4.12 - '@volar/language-service@1.11.1': + '@volar/language-service@2.4.0-alpha.8': dependencies: - '@volar/language-core': 1.11.1 - '@volar/source-map': 1.11.1 + '@volar/language-core': 2.4.0-alpha.8 vscode-languageserver-protocol: 3.17.5 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - '@volar/language-service@1.9.2': + '@volar/language-service@2.4.12': dependencies: - '@volar/language-core': 1.9.2 - '@volar/source-map': 1.9.2 + '@volar/language-core': 2.4.12 vscode-languageserver-protocol: 3.17.5 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - '@volar/language-service@2.1.2': + '@volar/monaco@2.4.12': dependencies: - '@volar/language-core': 2.1.2 - vscode-languageserver-protocol: 3.17.5 - vscode-languageserver-textdocument: 1.0.11 + '@volar/language-service': 2.4.12 + '@volar/typescript': 2.4.12 + monaco-languageserver-types: 0.4.0 + monaco-types: 0.1.0 vscode-uri: 3.0.8 - '@volar/monaco@1.9.2': - dependencies: - '@volar/language-service': 1.9.2 - vscode-uri: 3.0.8 + '@volar/source-map@2.4.0-alpha.8': {} - '@volar/source-map@1.11.1': - dependencies: - muggle-string: 0.3.1 + '@volar/source-map@2.4.12': {} - '@volar/source-map@1.9.2': + '@volar/typescript@2.4.12': dependencies: - muggle-string: 0.3.1 - - '@volar/source-map@2.1.2': - dependencies: - muggle-string: 0.4.1 - - '@volar/typescript@2.1.2': - dependencies: - '@volar/language-core': 2.1.2 + '@volar/language-core': 2.4.12 path-browserify: 1.0.1 + vscode-uri: 3.0.8 - '@vscode/emmet-helper@2.9.2': + '@vscode/emmet-helper@2.9.3': dependencies: - emmet: 2.4.6 + emmet: 2.4.7 jsonc-parser: 2.3.1 vscode-languageserver-textdocument: 1.0.11 vscode-languageserver-types: 3.17.5 vscode-uri: 2.1.2 - '@vscode/l10n@0.0.16': {} - '@vscode/l10n@0.0.18': {} '@vue/compiler-core@3.4.21': @@ -2060,38 +2078,59 @@ snapshots: '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 - '@vue/language-core@2.0.6(typescript@5.4.2)': + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/language-core@2.0.24(typescript@5.4.2)': dependencies: - '@volar/language-core': 2.1.2 + '@volar/language-core': 2.4.12 '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/shared': 3.4.31 computeds: 0.0.1 minimatch: 9.0.3 + muggle-string: 0.4.1 path-browserify: 1.0.1 vue-template-compiler: 2.7.14 optionalDependencies: typescript: 5.4.2 - '@vue/language-service@2.0.6(typescript@5.4.2)': + '@vue/language-core@2.0.29(typescript@5.4.2)': dependencies: - '@volar/language-core': 2.1.2 - '@volar/language-service': 2.1.2 - '@volar/typescript': 2.1.2 + '@volar/language-core': 2.4.12 '@vue/compiler-dom': 3.4.21 - '@vue/language-core': 2.0.6(typescript@5.4.2) - '@vue/shared': 3.4.21 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.4.31 computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.4.1 path-browserify: 1.0.1 - volar-service-css: 0.0.31(@volar/language-service@2.1.2) - volar-service-emmet: 0.0.31(@volar/language-service@2.1.2) - volar-service-html: 0.0.31(@volar/language-service@2.1.2) - volar-service-json: 0.0.31(@volar/language-service@2.1.2) - volar-service-pug: 0.0.31 - volar-service-pug-beautify: 0.0.31(@volar/language-service@2.1.2) - volar-service-typescript: 0.0.31-patch.1(@volar/language-service@2.1.2)(@volar/typescript@2.1.2) - volar-service-typescript-twoslash-queries: 0.0.31(@volar/language-service@2.1.2) - vscode-html-languageservice: 5.1.0 + optionalDependencies: + typescript: 5.4.2 + + '@vue/language-service@2.0.24(typescript@5.4.2)': + dependencies: + '@volar/language-core': 2.4.12 + '@volar/language-service': 2.4.0-alpha.8 + '@volar/typescript': 2.4.12 + '@vue/compiler-dom': 3.4.21 + '@vue/language-core': 2.0.24(typescript@5.4.2) + '@vue/shared': 3.4.31 + '@vue/typescript-plugin': 2.0.24(typescript@5.4.2) + computeds: 0.0.1 + path-browserify: 1.0.1 + volar-service-css: 0.0.56(@volar/language-service@2.4.0-alpha.8) + volar-service-emmet: 0.0.56(@volar/language-service@2.4.0-alpha.8) + volar-service-html: 0.0.56(@volar/language-service@2.4.0-alpha.8) + volar-service-json: 0.0.56(@volar/language-service@2.4.0-alpha.8) + volar-service-pug: 0.0.56 + volar-service-pug-beautify: 0.0.56(@volar/language-service@2.4.0-alpha.8) + volar-service-typescript: 0.0.56(@volar/language-service@2.4.0-alpha.8) + volar-service-typescript-twoslash-queries: 0.0.56(@volar/language-service@2.4.0-alpha.8) + vscode-html-languageservice: 5.3.3 vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 transitivePeerDependencies: - typescript @@ -2118,6 +2157,16 @@ snapshots: '@vue/shared@3.4.21': {} + '@vue/shared@3.4.31': {} + + '@vue/typescript-plugin@2.0.24(typescript@5.4.2)': + dependencies: + '@volar/typescript': 2.4.12 + '@vue/language-core': 2.0.24(typescript@5.4.2) + '@vue/shared': 3.4.31 + transitivePeerDependencies: + - typescript + '@vuetify/loader-shared@2.0.2(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8)': dependencies: upath: 2.0.1 @@ -2178,28 +2227,30 @@ snapshots: bumpp@9.4.0: dependencies: '@jsdevtools/ez-spawn': 3.0.4 - c12: 1.10.0 + c12: 1.11.1 cac: 6.7.14 escalade: 3.1.2 fast-glob: 3.3.2 js-yaml: 4.1.0 prompts: 2.4.2 - semver: 7.6.0 + semver: 7.6.2 + transitivePeerDependencies: + - magicast - c12@1.10.0: + c12@1.11.1: dependencies: chokidar: 3.6.0 - confbox: 0.1.3 + confbox: 0.1.7 defu: 6.1.4 dotenv: 16.4.5 - giget: 1.2.1 - jiti: 1.21.0 - mlly: 1.6.1 + giget: 1.2.3 + jiti: 1.21.6 + mlly: 1.7.1 ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.0.3 - rc9: 2.1.1 + pkg-types: 1.1.2 + rc9: 2.1.2 cac@6.7.14: {} @@ -2257,7 +2308,7 @@ snapshots: concat-map@0.0.1: {} - confbox@0.1.3: {} + confbox@0.1.7: {} consola@3.2.3: {} @@ -2271,7 +2322,7 @@ snapshots: de-indent@1.0.2: {} - debug@4.3.4: + debug@4.3.5: dependencies: ms: 2.1.2 @@ -2279,7 +2330,7 @@ snapshots: dequal@2.0.3: {} - destr@2.0.0: {} + destr@2.0.5: {} devlop@1.1.0: dependencies: @@ -2291,10 +2342,10 @@ snapshots: emmet-monaco-es@5.3.2(monaco-editor@0.43.0): dependencies: - emmet: 2.4.6 + emmet: 2.4.7 monaco-editor: 0.43.0 - emmet@2.4.6: + emmet@2.4.7: dependencies: '@emmetio/abbreviation': 2.3.3 '@emmetio/css-abbreviation': 2.1.8 @@ -2371,9 +2422,7 @@ snapshots: dependencies: to-regex-range: 5.0.1 - flat@5.0.2: {} - - foreground-child@3.1.1: + foreground-child@3.2.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 @@ -2402,12 +2451,12 @@ snapshots: get-stream@8.0.1: {} - giget@1.2.1: + giget@1.2.3: dependencies: citty: 0.1.6 consola: 3.2.3 defu: 6.1.4 - node-fetch-native: 1.6.2 + node-fetch-native: 1.6.6 nypm: 0.3.8 ohash: 1.1.3 pathe: 1.1.2 @@ -2419,11 +2468,11 @@ snapshots: glob@10.3.10: dependencies: - foreground-child: 3.1.1 + foreground-child: 3.2.1 jackspeak: 2.3.6 minimatch: 9.0.3 minipass: 5.0.0 - path-scurry: 1.10.1 + path-scurry: 1.11.1 graceful-fs@4.2.11: {} @@ -2509,7 +2558,7 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@1.21.0: {} + jiti@1.21.6: {} jju@1.4.0: {} @@ -2521,7 +2570,7 @@ snapshots: jsonc-parser@2.3.1: {} - jsonc-parser@3.2.1: {} + jsonc-parser@3.3.1: {} jsonfile@4.0.0: optionalDependencies: @@ -2608,20 +2657,26 @@ snapshots: mkdirp@1.0.4: {} - mlly@1.6.1: + mlly@1.7.1: dependencies: acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 + pkg-types: 1.1.2 + ufo: 1.5.3 monaco-editor-core@0.46.0: {} monaco-editor@0.43.0: {} - ms@2.1.2: {} + monaco-languageserver-types@0.4.0: + dependencies: + monaco-types: 0.1.0 + vscode-languageserver-protocol: 3.17.5 + vscode-uri: 3.0.8 - muggle-string@0.3.1: {} + monaco-types@0.1.0: {} + + ms@2.1.2: {} muggle-string@0.4.1: {} @@ -2633,7 +2688,7 @@ snapshots: nanoid@3.3.7: {} - node-fetch-native@1.6.2: {} + node-fetch-native@1.6.6: {} normalize-path@3.0.0: {} @@ -2647,7 +2702,7 @@ snapshots: consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 - ufo: 1.4.0 + ufo: 1.5.3 object-assign@4.1.1: {} @@ -2671,7 +2726,7 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.1: + path-scurry@1.11.1: dependencies: lru-cache: 10.2.0 minipass: 5.0.0 @@ -2686,10 +2741,10 @@ snapshots: pirates@4.0.6: {} - pkg-types@1.0.3: + pkg-types@1.1.2: dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 + confbox: 0.1.7 + mlly: 1.7.1 pathe: 1.1.2 postcss@8.4.35: @@ -2724,11 +2779,10 @@ snapshots: queue-microtask@1.2.3: {} - rc9@2.1.1: + rc9@2.1.2: dependencies: defu: 6.1.4 - destr: 2.0.0 - flat: 5.0.2 + destr: 2.0.5 readdirp@3.6.0: dependencies: @@ -2795,9 +2849,7 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + semver@7.6.2: {} shebang-command@2.0.0: dependencies: @@ -2906,15 +2958,15 @@ snapshots: type-detect@4.0.8: {} - typescript-auto-import-cache@0.3.2: + typescript-auto-import-cache@0.3.5: dependencies: - semver: 7.6.0 + semver: 7.6.2 typescript@5.3.3: {} typescript@5.4.2: {} - ufo@1.4.0: {} + ufo@1.5.3: {} undici-types@5.26.5: {} @@ -2964,7 +3016,7 @@ snapshots: vite-plugin-vuetify@2.0.2(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8): dependencies: '@vuetify/loader-shared': 2.0.2(vue@3.4.21(typescript@5.4.2))(vuetify@3.5.8) - debug: 4.3.4 + debug: 4.3.5 upath: 2.0.1 vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) vue: 3.4.21(typescript@5.4.2) @@ -2982,84 +3034,89 @@ snapshots: fsevents: 2.3.3 sass: 1.71.1 - volar-service-css@0.0.31(@volar/language-service@2.1.2): + volar-service-css@0.0.56(@volar/language-service@2.4.0-alpha.8): dependencies: - vscode-css-languageservice: 6.2.12 + vscode-css-languageservice: 6.3.0 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 optionalDependencies: - '@volar/language-service': 2.1.2 + '@volar/language-service': 2.4.0-alpha.8 - volar-service-emmet@0.0.31(@volar/language-service@2.1.2): + volar-service-emmet@0.0.56(@volar/language-service@2.4.0-alpha.8): dependencies: - '@vscode/emmet-helper': 2.9.2 - vscode-html-languageservice: 5.1.0 + '@emmetio/css-parser': 0.4.0 + '@emmetio/html-matcher': 1.3.0 + '@vscode/emmet-helper': 2.9.3 + vscode-uri: 3.0.8 optionalDependencies: - '@volar/language-service': 2.1.2 + '@volar/language-service': 2.4.0-alpha.8 - volar-service-html@0.0.31(@volar/language-service@2.1.2): + volar-service-html@0.0.56(@volar/language-service@2.4.0-alpha.8): dependencies: - vscode-html-languageservice: 5.1.0 + vscode-html-languageservice: 5.3.3 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 optionalDependencies: - '@volar/language-service': 2.1.2 + '@volar/language-service': 2.4.0-alpha.8 - volar-service-json@0.0.31(@volar/language-service@2.1.2): + volar-service-json@0.0.56(@volar/language-service@2.4.0-alpha.8): dependencies: - vscode-json-languageservice: 5.3.9 + vscode-json-languageservice: 5.4.0 vscode-uri: 3.0.8 optionalDependencies: - '@volar/language-service': 2.1.2 + '@volar/language-service': 2.4.0-alpha.8 - volar-service-pug-beautify@0.0.31(@volar/language-service@2.1.2): + volar-service-pug-beautify@0.0.56(@volar/language-service@2.4.0-alpha.8): dependencies: '@johnsoncodehk/pug-beautify': 0.2.2 optionalDependencies: - '@volar/language-service': 2.1.2 + '@volar/language-service': 2.4.0-alpha.8 - volar-service-pug@0.0.31: + volar-service-pug@0.0.56: dependencies: - '@volar/language-service': 2.1.2 + '@volar/language-service': 2.4.0-alpha.8 + muggle-string: 0.4.1 pug-lexer: 5.0.1 pug-parser: 6.0.0 - volar-service-html: 0.0.31(@volar/language-service@2.1.2) - vscode-html-languageservice: 5.1.0 + volar-service-html: 0.0.56(@volar/language-service@2.4.0-alpha.8) + vscode-html-languageservice: 5.3.3 vscode-languageserver-textdocument: 1.0.11 - volar-service-typescript-twoslash-queries@0.0.31(@volar/language-service@2.1.2): + volar-service-typescript-twoslash-queries@0.0.56(@volar/language-service@2.4.0-alpha.8): + dependencies: + vscode-uri: 3.0.8 optionalDependencies: - '@volar/language-service': 2.1.2 + '@volar/language-service': 2.4.0-alpha.8 - volar-service-typescript@0.0.31-patch.1(@volar/language-service@2.1.2)(@volar/typescript@2.1.2): + volar-service-typescript@0.0.56(@volar/language-service@2.4.0-alpha.8): dependencies: - '@volar/typescript': 2.1.2 path-browserify: 1.0.1 - semver: 7.6.0 - typescript-auto-import-cache: 0.3.2 + semver: 7.6.2 + typescript-auto-import-cache: 0.3.5 vscode-languageserver-textdocument: 1.0.11 vscode-nls: 5.2.0 + vscode-uri: 3.0.8 optionalDependencies: - '@volar/language-service': 2.1.2 + '@volar/language-service': 2.4.0-alpha.8 - vscode-css-languageservice@6.2.12: + vscode-css-languageservice@6.3.0: dependencies: '@vscode/l10n': 0.0.18 vscode-languageserver-textdocument: 1.0.11 vscode-languageserver-types: 3.17.5 vscode-uri: 3.0.8 - vscode-html-languageservice@5.1.0: + vscode-html-languageservice@5.3.3: dependencies: - '@vscode/l10n': 0.0.16 - vscode-languageserver-textdocument: 1.0.11 + '@vscode/l10n': 0.0.18 + vscode-languageserver-textdocument: 1.0.12 vscode-languageserver-types: 3.17.5 - vscode-uri: 3.0.8 + vscode-uri: 3.1.0 - vscode-json-languageservice@5.3.9: + vscode-json-languageservice@5.4.0: dependencies: '@vscode/l10n': 0.0.18 - jsonc-parser: 3.2.1 + jsonc-parser: 3.3.1 vscode-languageserver-textdocument: 1.0.11 vscode-languageserver-types: 3.17.5 vscode-uri: 3.0.8 @@ -3073,6 +3130,8 @@ snapshots: vscode-languageserver-textdocument@1.0.11: {} + vscode-languageserver-textdocument@1.0.12: {} + vscode-languageserver-types@3.17.5: {} vscode-nls@5.2.0: {} @@ -3081,16 +3140,18 @@ snapshots: vscode-uri@3.0.8: {} + vscode-uri@3.1.0: {} + vue-template-compiler@2.7.14: dependencies: de-indent: 1.0.2 he: 1.2.0 - vue-tsc@2.0.6(typescript@5.4.2): + vue-tsc@2.0.29(typescript@5.4.2): dependencies: - '@volar/typescript': 2.1.2 - '@vue/language-core': 2.0.6(typescript@5.4.2) - semver: 7.6.0 + '@volar/typescript': 2.4.12 + '@vue/language-core': 2.0.29(typescript@5.4.2) + semver: 7.6.2 typescript: 5.4.2 vue@3.4.21(typescript@5.4.2): diff --git a/src/monaco/Monaco.vue b/src/monaco/Monaco.vue index 930fcf68..d53103be 100644 --- a/src/monaco/Monaco.vue +++ b/src/monaco/Monaco.vue @@ -77,6 +77,7 @@ onMounted(async () => { // Support for semantic highlighting const t = (editorInstance as any)._themeService._theme + t.semanticHighlighting = true t.getTokenStyleMetadata = ( type: string, modifiers: string[], @@ -91,7 +92,7 @@ onMounted(async () => { return { foreground: 11 } case 'variable': case 'property': - return { foreground: _readonly ? 21 : 9 } + return { foreground: _readonly ? 19 : 9 } default: return { foreground: 0 } } diff --git a/src/monaco/env.ts b/src/monaco/env.ts index a6373971..820f9e69 100644 --- a/src/monaco/env.ts +++ b/src/monaco/env.ts @@ -1,4 +1,3 @@ -import { jsDelivrUriBase } from '@volar/cdn' import * as volar from '@volar/monaco' import * as monaco from 'monaco-editor-core' import { editor, languages, Uri } from 'monaco-editor-core' @@ -10,6 +9,7 @@ import { getOrCreateModel } from './utils' import type { CreateData } from './vue.worker' import vueWorker from './vue.worker?worker' import * as languageConfigs from './language-configs' +import type { LanguageService } from '@vue/language-service' let initted = false export function initMonaco(store: Store) { @@ -33,7 +33,8 @@ export function initMonaco(store: Store) { for (const model of editor.getModels()) { const uri = model.uri.toString() if (store.state.files[uri.substring('file:///'.length)]) continue - if (uri.startsWith(jsDelivrUriBase + '/')) continue + + if (uri.startsWith('file:///node_modules')) continue if (uri.startsWith('inmemory://')) continue model.dispose() @@ -79,7 +80,7 @@ export async function reloadLanguageTools(store: Store) { } } - const worker = editor.createWebWorker({ + const worker = editor.createWebWorker({ moduleId: 'vs/language/vue/vueWorker', label: 'vue', host: new WorkerHost(), @@ -90,23 +91,22 @@ export async function reloadLanguageTools(store: Store) { }) const languageId = ['vue', 'javascript', 'typescript'] const getSyncUris = () => - Object.keys(store.state.files).map((filename) => - Uri.parse(`file:///${filename}`) - ) - const { dispose: disposeMarkers } = volar.editor.activateMarkers( + Object.keys(store.state.files).map((filename) => Uri.parse(`file:///${filename}`)) + + const { dispose: disposeMarkers } = volar.activateMarkers( worker, languageId, 'vue', getSyncUris, editor ) - const { dispose: disposeAutoInsertion } = volar.editor.activateAutoInsertion( + const { dispose: disposeAutoInsertion } = volar.activateAutoInsertion( worker, languageId, getSyncUris, editor ) - const { dispose: disposeProvides } = await volar.languages.registerProvides( + const { dispose: disposeProvides } = await volar.registerProviders( worker, languageId, getSyncUris, @@ -164,7 +164,7 @@ export function loadMonacoEnv(store: Store) { // Support for go to definition editor.registerEditorOpener({ openCodeEditor(_, resource) { - if (resource.toString().startsWith(jsDelivrUriBase + '/')) { + if (resource.toString().startsWith('file:///node_modules')) { return true } diff --git a/src/monaco/vue.worker.ts b/src/monaco/vue.worker.ts index 1988cfa2..b6b4040a 100644 --- a/src/monaco/vue.worker.ts +++ b/src/monaco/vue.worker.ts @@ -2,17 +2,18 @@ import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker' import type * as monaco from 'monaco-editor-core' import { - createJsDelivrFs, - createJsDelivrUriResolver, - decorateServiceEnvironment, -} from '@volar/cdn' -import { VueCompilerOptions, resolveConfig } from '@vue/language-service' -import { - createLanguageService, - createLanguageHost, - createServiceEnvironment, + type LanguageServiceEnvironment, + createTypeScriptWorkerService, } from '@volar/monaco/worker' +import { createNpmFileSystem } from '@volar/jsdelivr' +import { + type VueCompilerOptions, + getFullLanguageServicePlugins, + createVueLanguagePlugin, + resolveVueCompilerOptions, +} from '@vue/language-service' import type { WorkerHost, WorkerMessage } from './env' +import { URI } from 'vscode-uri' export interface CreateData { tsconfig: { @@ -22,24 +23,13 @@ export interface CreateData { dependencies: Record } -let locale: string - let ts: typeof import('typescript') -let tsLocalized: any +let locale: string | undefined self.onmessage = async (msg: MessageEvent) => { if (msg.data?.event === 'init') { - if (msg.data.tsLocale) { - locale = msg.data.tsLocale - } - - ;[ts, tsLocalized] = await Promise.all([ - importTsFromCdn(msg.data.tsVersion), - locale && - fetchJson( - `https://cdn.jsdelivr.net/npm/typescript@${msg.data.tsVersion}/lib/${locale}/diagnosticMessages.generated.json` - ), - ]) + locale = msg.data.tsLocale + ts = await importTsFromCdn(msg.data.tsVersion) self.postMessage('inited') return } @@ -49,44 +39,72 @@ self.onmessage = async (msg: MessageEvent) => { ctx: monaco.worker.IWorkerContext, { tsconfig, dependencies }: CreateData ) => { + const asFileName = (uri: URI) => uri.path + const asUri = (fileName: string): URI => URI.file(fileName) + const env: LanguageServiceEnvironment = { + workspaceFolders: [URI.file('/')], + locale, + fs: createNpmFileSystem( + (uri) => { + if (uri.scheme === 'file') { + if (uri.path === '/node_modules') { + return '' + } else if (uri.path.startsWith('/node_modules/')) { + return uri.path.slice('/node_modules/'.length) + } + } + }, + (pkgName) => dependencies[pkgName], + (path, content) => { + ctx.host.onFetchCdnFile( + asUri('/node_modules/' + path).toString(), + content, + ) + }, + ), + } + const { options: compilerOptions } = ts.convertCompilerOptionsFromJson( tsconfig?.compilerOptions || {}, '' ) - const env = createServiceEnvironment() - const host = createLanguageHost( - ctx.getMirrorModels, - env, - '/src', - compilerOptions - ) - const jsDelivrFs = createJsDelivrFs(ctx.host.onFetchCdnFile) - const jsDelivrUriResolver = createJsDelivrUriResolver( - '/node_modules', - dependencies + const vueCompilerOptions = resolveVueCompilerOptions( + tsconfig.vueCompilerOptions || {}, ) - if (locale) { - env.locale = locale - } - if (tsLocalized) { - host.getLocalizedDiagnosticMessages = () => tsLocalized - } - - decorateServiceEnvironment(env, jsDelivrUriResolver, jsDelivrFs) - - return createLanguageService( - { typescript: ts as any }, + return createTypeScriptWorkerService({ + typescript: ts, + compilerOptions, + workerContext: ctx, env, - resolveConfig( - {}, - compilerOptions, - tsconfig.vueCompilerOptions || {}, - ts as any - ), - host - ) - } + uriConverter: { + asFileName, + asUri, + }, + languagePlugins: [ + createVueLanguagePlugin( + ts, + asFileName, + () => '', // TODO getProjectVersion + (fileName) => { + const uri = asUri(fileName) + for (const model of ctx.getMirrorModels()) { + if (model.uri.toString() === uri.toString()) { + return true + } + } + return false + }, + compilerOptions, + vueCompilerOptions, + ), + ], + languageServicePlugins: getFullLanguageServicePlugins(ts), + setup({ project }) { + project.vue = { compilerOptions: vueCompilerOptions } + }, + }) + }, ) } @@ -99,14 +117,3 @@ async function importTsFromCdn(tsVersion: string) { globalThis.module = _module return ts as typeof import('typescript') } - -async function fetchJson(url: string) { - try { - const res = await fetch(url) - if (res.status === 200) { - return await res.json() - } - } catch { - // ignore - } -} From 91d02de9e65f4bd4daee2c22b7e5eea45038b01d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Wed, 3 Jul 2024 17:33:03 +0800 Subject: [PATCH 05/15] refactor: replace deprecated shiki API --- src/monaco/highlight.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/monaco/highlight.ts b/src/monaco/highlight.ts index 80f31473..3c609c90 100644 --- a/src/monaco/highlight.ts +++ b/src/monaco/highlight.ts @@ -1,5 +1,5 @@ import * as monaco from 'monaco-editor-core' -import { getHighlighterCore } from 'shiki/core' +import { createHighlighterCore } from 'shiki/core' import { shikiToMonaco } from '@shikijs/monaco' import langVue from 'shiki/langs/vue.mjs' @@ -7,7 +7,7 @@ import themeDark from 'shiki/themes/dark-plus.mjs' import themeLight from 'shiki/themes/light-plus.mjs' export async function registerHighlighter() { - const highlighter = await getHighlighterCore({ + const highlighter = await createHighlighterCore({ themes: [themeDark, themeLight], langs: [langVue], loadWasm: import('shiki/wasm'), From 4869478bc2df8b4880b3298dc1df7725e392eda4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Mon, 12 Aug 2024 10:37:13 +0800 Subject: [PATCH 06/15] fix: rollback & pin volar version --- package.json | 4 +-- pnpm-lock.yaml | 73 ++++++++++++++++++++++++++++++++------------------ 2 files changed, 49 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index d5998565..047fd4af 100644 --- a/package.json +++ b/package.json @@ -68,8 +68,8 @@ "@types/node": "^20.11.25", "@types/prettier": "^2.7.3", "@vitejs/plugin-vue": "^5.0.4", - "@volar/jsdelivr": "~2.4.0-alpha.8", - "@volar/monaco": "~2.4.0-alpha.8", + "@volar/jsdelivr": "2.4.0-alpha.12", + "@volar/monaco": "2.4.0-alpha.12", "@vue/language-service": "2.0.24", "bumpp": "^9.4.0", "codemirror": "^5.65.14", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9345fb72..f37c4a67 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,11 +45,11 @@ importers: specifier: ^5.0.4 version: 5.0.4(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2)) '@volar/jsdelivr': - specifier: ~2.4.0-alpha.8 - version: 2.4.0-alpha.8 + specifier: 2.4.0-alpha.12 + version: 2.4.0-alpha.12 '@volar/monaco': - specifier: ~2.4.0-alpha.8 - version: 2.4.12 + specifier: 2.4.0-alpha.12 + version: 2.4.0-alpha.12 '@vue/language-service': specifier: 2.0.24 version: 2.0.24(typescript@5.4.2) @@ -528,8 +528,11 @@ packages: vite: ^5.0.0 vue: ^3.2.25 - '@volar/jsdelivr@2.4.0-alpha.8': - resolution: {integrity: sha512-/QF977lNhP12bX97tFw3/tYxgUw3ndTZSE4vLRRa1/fBjVGtVKChBWpCoGwk5QCfMveRaxRVPLdP8MBpg9Riyg==} + '@volar/jsdelivr@2.4.0-alpha.12': + resolution: {integrity: sha512-GJuuvAdK9DO2oGLT+v/ZardVaTXQc+gNPlfdq4zbtYoc4ViPcrbfEM3weLpg4cm/Cj6iCSoXq/m+m48z417eoA==} + + '@volar/language-core@2.4.0-alpha.12': + resolution: {integrity: sha512-Dj9qTifcGGgzFLfMbU5dCo13kHyNuEyvPJhtWDnoVBBmgwW3GMwFmgWnNxBhjf63m5x0gux1okaxX2CLN7qSww==} '@volar/language-core@2.4.0-alpha.8': resolution: {integrity: sha512-iHRSw4BT4upJCHRDaT/lLejx2/A9Od1aW02HyQjZcNziXSLKHiAem/WmU6cUh75JTUfwAA/V+mApqMgVR+WTog==} @@ -537,14 +540,17 @@ packages: '@volar/language-core@2.4.12': resolution: {integrity: sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==} + '@volar/language-service@2.4.0-alpha.12': + resolution: {integrity: sha512-R6MQ/qOlKqBvc7LmdV+K/f64uuAa5zJpyYHpKLzuR0y4iKvWKblxwzggumII6XLBGFwkgMoW3v2RIIz1WXxTqg==} + '@volar/language-service@2.4.0-alpha.8': resolution: {integrity: sha512-dB3pqhKz8cSjCcR77Hhn1THFGsqxlbHm+q77zNPimdzF4UXrUS7iZDieQRV2NL/awHDyK7QnBtSJE3BsZquD3Q==} - '@volar/language-service@2.4.12': - resolution: {integrity: sha512-nifOPGYYPnCmxja6/ML/Gl2EgFkUdw4gLbYqbh8FjqX3gSpXSZl/0ebqORjKo1KW56YWHWRZd1jFutEtCiRYhA==} + '@volar/monaco@2.4.0-alpha.12': + resolution: {integrity: sha512-O26Tn6qxQKVWBXCzcfedTolrU42GfjGGMjEkG7alm2211+9XtcqGTpkLS2XFFJI7RId+3kLmVDhEfCzKDx1oZg==} - '@volar/monaco@2.4.12': - resolution: {integrity: sha512-M2YAHk8wc6ComwqfKftzbBgwpw2dx+9KaQDEIIH9iVRh/EGySU/0oZim5rBIezpgfPa0CaK5jYuWC12fU2zARA==} + '@volar/source-map@2.4.0-alpha.12': + resolution: {integrity: sha512-LXATFSj4D7T9sEm7FFj6iBgHjKjrdhAgRPcechVKiNCMQdr3r3GVkkeu8aM+1peaMH3LsCqoDxVZEmh2r7CHiw==} '@volar/source-map@2.4.0-alpha.8': resolution: {integrity: sha512-ocaN3Ac30KzxceXqgGGLoO7atrLk9tR8+6F6fPZM+g5RrCgyHRogzpM3GGqQ1/gg+MKF+5SZAs0LhbaS3QEvqA==} @@ -552,6 +558,9 @@ packages: '@volar/source-map@2.4.12': resolution: {integrity: sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==} + '@volar/typescript@2.4.0-alpha.12': + resolution: {integrity: sha512-mLg+OQauMTv/+08a7WBWJo1sev/wc8t2is0zhBZIlFU+j5mG89FM4+4089c2p/zoUFZ400Q/VNg2BPfhpZ8wSA==} + '@volar/typescript@2.4.12': resolution: {integrity: sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==} @@ -1107,8 +1116,8 @@ packages: monaco-editor@0.43.0: resolution: {integrity: sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q==} - monaco-languageserver-types@0.4.0: - resolution: {integrity: sha512-QQ3BZiU5LYkJElGncSNb5AKoJ/LCs6YBMCJMAz9EA7v+JaOdn3kx2cXpPTcZfKA5AEsR0vc97sAw+5mdNhVBmw==} + monaco-languageserver-types@0.3.4: + resolution: {integrity: sha512-d58sP5yNhjs8uG1ESXs0hFnuX2YfdMhiGeWhdgTUZyG9aaWgyI4dDwrK1khf1mPF2u9Sljv42sfYqPFZnqYMYg==} monaco-types@0.1.0: resolution: {integrity: sha512-aWK7SN9hAqNYi0WosPoMjenMeXJjwCxDibOqWffyQ/qXdzB/86xshGQobRferfmNz7BSNQ8GB0MD0oby9/5fTQ==} @@ -1996,7 +2005,11 @@ snapshots: vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) vue: 3.4.21(typescript@5.4.2) - '@volar/jsdelivr@2.4.0-alpha.8': {} + '@volar/jsdelivr@2.4.0-alpha.12': {} + + '@volar/language-core@2.4.0-alpha.12': + dependencies: + '@volar/source-map': 2.4.0-alpha.12 '@volar/language-core@2.4.0-alpha.8': dependencies: @@ -2006,32 +2019,40 @@ snapshots: dependencies: '@volar/source-map': 2.4.12 - '@volar/language-service@2.4.0-alpha.8': + '@volar/language-service@2.4.0-alpha.12': dependencies: - '@volar/language-core': 2.4.0-alpha.8 + '@volar/language-core': 2.4.0-alpha.12 vscode-languageserver-protocol: 3.17.5 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.1.0 - '@volar/language-service@2.4.12': + '@volar/language-service@2.4.0-alpha.8': dependencies: - '@volar/language-core': 2.4.12 + '@volar/language-core': 2.4.0-alpha.8 vscode-languageserver-protocol: 3.17.5 vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - '@volar/monaco@2.4.12': + '@volar/monaco@2.4.0-alpha.12': dependencies: - '@volar/language-service': 2.4.12 - '@volar/typescript': 2.4.12 - monaco-languageserver-types: 0.4.0 + '@volar/language-service': 2.4.0-alpha.12 + '@volar/typescript': 2.4.0-alpha.12 + monaco-languageserver-types: 0.3.4 monaco-types: 0.1.0 - vscode-uri: 3.0.8 + vscode-uri: 3.1.0 + + '@volar/source-map@2.4.0-alpha.12': {} '@volar/source-map@2.4.0-alpha.8': {} '@volar/source-map@2.4.12': {} + '@volar/typescript@2.4.0-alpha.12': + dependencies: + '@volar/language-core': 2.4.0-alpha.12 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + '@volar/typescript@2.4.12': dependencies: '@volar/language-core': 2.4.12 @@ -2668,11 +2689,11 @@ snapshots: monaco-editor@0.43.0: {} - monaco-languageserver-types@0.4.0: + monaco-languageserver-types@0.3.4: dependencies: monaco-types: 0.1.0 vscode-languageserver-protocol: 3.17.5 - vscode-uri: 3.0.8 + vscode-uri: 3.1.0 monaco-types@0.1.0: {} From 6ae587e57f0bd8afc006a6530ed06bcd85e75716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Tue, 27 Aug 2024 16:47:21 +0800 Subject: [PATCH 07/15] fix: debounce reloadLanguageTools in monaco closes #275 closes #263 --- src/monaco/env.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/monaco/env.ts b/src/monaco/env.ts index 820f9e69..db123333 100644 --- a/src/monaco/env.ts +++ b/src/monaco/env.ts @@ -10,6 +10,7 @@ import type { CreateData } from './vue.worker' import vueWorker from './vue.worker?worker' import * as languageConfigs from './language-configs' import type { LanguageService } from '@vue/language-service' +import { debounce } from '../utils' let initted = false export function initMonaco(store: Store) { @@ -158,7 +159,12 @@ export function loadMonacoEnv(store: Store) { languages.setLanguageConfiguration('typescript', languageConfigs.ts) languages.setLanguageConfiguration('css', languageConfigs.css) - store.reloadLanguageTools = () => reloadLanguageTools(store) + let languageToolsPromise: Promise | undefined + store.reloadLanguageTools = debounce(async () => { + ;(languageToolsPromise ||= reloadLanguageTools(store)).finally(() => { + languageToolsPromise = undefined + }) + }, 250) languages.onLanguage('vue', () => store.reloadLanguageTools!()) // Support for go to definition From 1c76b7e558fc0d26489cfb444b0eae474657baeb Mon Sep 17 00:00:00 2001 From: Johnson Chu Date: Sun, 8 Sep 2024 04:38:55 +0800 Subject: [PATCH 08/15] chore: update to 2.1.6 --- package.json | 8 +- pnpm-lock.yaml | 436 +++++++++++++++++++++++---------------- src/monaco/env.ts | 4 +- src/monaco/vue.worker.ts | 16 +- 4 files changed, 263 insertions(+), 201 deletions(-) diff --git a/package.json b/package.json index 047fd4af..113a924c 100644 --- a/package.json +++ b/package.json @@ -68,9 +68,9 @@ "@types/node": "^20.11.25", "@types/prettier": "^2.7.3", "@vitejs/plugin-vue": "^5.0.4", - "@volar/jsdelivr": "2.4.0-alpha.12", - "@volar/monaco": "2.4.0-alpha.12", - "@vue/language-service": "2.0.24", + "@volar/jsdelivr": "~2.4.4", + "@volar/monaco": "~2.4.4", + "@vue/language-service": "2.1.6", "bumpp": "^9.4.0", "codemirror": "^5.65.14", "emmet": "^2.4.6", @@ -90,7 +90,7 @@ "vite-plugin-vuetify": "^2.0.2", "vscode-uri": "^3.0.8", "vue": "^3.4.21", - "vue-tsc": "~2.0.24", + "vue-tsc": "~2.1.6", "vuetify": "3.5.8" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f37c4a67..5f41aa24 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,14 +45,14 @@ importers: specifier: ^5.0.4 version: 5.0.4(vite@5.1.5(@types/node@20.11.25)(sass@1.71.1))(vue@3.4.21(typescript@5.4.2)) '@volar/jsdelivr': - specifier: 2.4.0-alpha.12 - version: 2.4.0-alpha.12 + specifier: ~2.4.4 + version: 2.4.4 '@volar/monaco': - specifier: 2.4.0-alpha.12 - version: 2.4.0-alpha.12 + specifier: ~2.4.4 + version: 2.4.4 '@vue/language-service': - specifier: 2.0.24 - version: 2.0.24(typescript@5.4.2) + specifier: 2.1.6 + version: 2.1.6(typescript@5.4.2) bumpp: specifier: ^9.4.0 version: 9.4.0 @@ -108,8 +108,8 @@ importers: specifier: ^3.4.21 version: 3.4.21(typescript@5.4.2) vue-tsc: - specifier: ~2.0.24 - version: 2.0.29(typescript@5.4.2) + specifier: ~2.1.6 + version: 2.1.10(typescript@5.4.2) vuetify: specifier: 3.5.8 version: 3.5.8(typescript@5.4.2)(vite-plugin-vuetify@2.0.2)(vue@3.4.21(typescript@5.4.2)) @@ -120,19 +120,36 @@ packages: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.24.0': resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.27.0': + resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/types@7.24.0': resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} + '@babel/types@7.27.0': + resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} + engines: {node: '>=6.9.0'} + '@emmetio/abbreviation@2.3.3': resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} @@ -528,42 +545,36 @@ packages: vite: ^5.0.0 vue: ^3.2.25 - '@volar/jsdelivr@2.4.0-alpha.12': - resolution: {integrity: sha512-GJuuvAdK9DO2oGLT+v/ZardVaTXQc+gNPlfdq4zbtYoc4ViPcrbfEM3weLpg4cm/Cj6iCSoXq/m+m48z417eoA==} - - '@volar/language-core@2.4.0-alpha.12': - resolution: {integrity: sha512-Dj9qTifcGGgzFLfMbU5dCo13kHyNuEyvPJhtWDnoVBBmgwW3GMwFmgWnNxBhjf63m5x0gux1okaxX2CLN7qSww==} - - '@volar/language-core@2.4.0-alpha.8': - resolution: {integrity: sha512-iHRSw4BT4upJCHRDaT/lLejx2/A9Od1aW02HyQjZcNziXSLKHiAem/WmU6cUh75JTUfwAA/V+mApqMgVR+WTog==} + '@volar/jsdelivr@2.4.4': + resolution: {integrity: sha512-PdVyrdbOtLnBD0ZtYklSP7nfDT2159fv15GKCqmO2A5Vjd3oHSAcmgMWFN+Pp4PUpSv/9PBCgsfgMdnIDUJsWQ==} '@volar/language-core@2.4.12': resolution: {integrity: sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==} - '@volar/language-service@2.4.0-alpha.12': - resolution: {integrity: sha512-R6MQ/qOlKqBvc7LmdV+K/f64uuAa5zJpyYHpKLzuR0y4iKvWKblxwzggumII6XLBGFwkgMoW3v2RIIz1WXxTqg==} - - '@volar/language-service@2.4.0-alpha.8': - resolution: {integrity: sha512-dB3pqhKz8cSjCcR77Hhn1THFGsqxlbHm+q77zNPimdzF4UXrUS7iZDieQRV2NL/awHDyK7QnBtSJE3BsZquD3Q==} + '@volar/language-core@2.4.4': + resolution: {integrity: sha512-kO9k4kTLfxpg+6lq7/KAIv3m2d62IHuCL6GbVgYZTpfKvIGoAIlDxK7pFcB/eczN2+ydg/vnyaeZ6SGyZrJw2w==} - '@volar/monaco@2.4.0-alpha.12': - resolution: {integrity: sha512-O26Tn6qxQKVWBXCzcfedTolrU42GfjGGMjEkG7alm2211+9XtcqGTpkLS2XFFJI7RId+3kLmVDhEfCzKDx1oZg==} + '@volar/language-service@2.4.12': + resolution: {integrity: sha512-nifOPGYYPnCmxja6/ML/Gl2EgFkUdw4gLbYqbh8FjqX3gSpXSZl/0ebqORjKo1KW56YWHWRZd1jFutEtCiRYhA==} - '@volar/source-map@2.4.0-alpha.12': - resolution: {integrity: sha512-LXATFSj4D7T9sEm7FFj6iBgHjKjrdhAgRPcechVKiNCMQdr3r3GVkkeu8aM+1peaMH3LsCqoDxVZEmh2r7CHiw==} + '@volar/language-service@2.4.4': + resolution: {integrity: sha512-QXfZV3IpJdcNQcdWFEG+iXOIb3NiC6/cNIQeH2QAOMx2vpkshuMcWD7AzrhVavobircOXJNiGmRGwqf2okYE3A==} - '@volar/source-map@2.4.0-alpha.8': - resolution: {integrity: sha512-ocaN3Ac30KzxceXqgGGLoO7atrLk9tR8+6F6fPZM+g5RrCgyHRogzpM3GGqQ1/gg+MKF+5SZAs0LhbaS3QEvqA==} + '@volar/monaco@2.4.4': + resolution: {integrity: sha512-ioGwu1MXski+hd3jEL+Cbmkk7DjDxXC1NWyTVeIXAERg2qCUH8JyxylGat2UzcOi+/Z09h5NhcX5NqhBNWHSQQ==} '@volar/source-map@2.4.12': resolution: {integrity: sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==} - '@volar/typescript@2.4.0-alpha.12': - resolution: {integrity: sha512-mLg+OQauMTv/+08a7WBWJo1sev/wc8t2is0zhBZIlFU+j5mG89FM4+4089c2p/zoUFZ400Q/VNg2BPfhpZ8wSA==} + '@volar/source-map@2.4.4': + resolution: {integrity: sha512-xG3PZqOP2haG8XG4Pg3PD1UGDAdqZg24Ru8c/qYjYAnmcj6GBR64mstx+bZux5QOyRaJK+/lNM/RnpvBD3489g==} '@volar/typescript@2.4.12': resolution: {integrity: sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==} + '@volar/typescript@2.4.4': + resolution: {integrity: sha512-QQMQRVj0fVHJ3XdRKiS1LclhG0VBXdFYlyuHRQF/xLk2PuJuHNWP26MDZNvEVCvnyUQuUQhIAfylwY5TGPgc6w==} + '@vscode/emmet-helper@2.9.3': resolution: {integrity: sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==} @@ -573,9 +584,15 @@ packages: '@vue/compiler-core@3.4.21': resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + '@vue/compiler-dom@3.4.21': resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} + '@vue/compiler-sfc@3.4.21': resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} @@ -585,24 +602,24 @@ packages: '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} - '@vue/language-core@2.0.24': - resolution: {integrity: sha512-997YD6Lq/66LXr3ZOLNxDCmyn13z9NP8LU1UZn9hGCDWhzlbXAIP0hOgL3w3x4RKEaWTaaRtsHP9DzHvmduruQ==} + '@vue/language-core@2.1.10': + resolution: {integrity: sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@vue/language-core@2.0.29': - resolution: {integrity: sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ==} + '@vue/language-core@2.1.6': + resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@vue/language-service@2.0.24': - resolution: {integrity: sha512-CoiTPlc73I/LCji9rnI0Z89GVBOoejUfBzIzEg+6TFw8Eelp2fncgLAvgR8vmOWRVaLn0XgmL2wa0jgtLLderg==} + '@vue/language-service@2.1.6': + resolution: {integrity: sha512-FZ3Fn0MslS/fdBm0U2A/JUmq0HBtvkm/6OcHfw23mE7olm0yCAOV0i8xKqqbrwZeSDoEfk48zzTSEE9Zj6RmBg==} '@vue/reactivity@3.4.21': resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} @@ -624,8 +641,11 @@ packages: '@vue/shared@3.4.31': resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==} - '@vue/typescript-plugin@2.0.24': - resolution: {integrity: sha512-UjC6iKiyJ1pn0CbcsDW3IyiNb7z7vtABI3b9tDZ8xLGDvVLduZ0qwzq22b5jg2cVEIhLdjbQ4quaEoZflltfTw==} + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + + '@vue/typescript-plugin@2.1.6': + resolution: {integrity: sha512-FGwinnIuwZPELbRPZmtA+G4YyLT+lxjGSZQpNvgrzvy3MZBJZzm4UU87DIA7Lb2xbbYpTMAM6P6TAWwioCNZIg==} '@vuetify/loader-shared@2.0.2': resolution: {integrity: sha512-91itRxkTRKUhEZhWR/ICfYml1WkVxC7/DIeJEyUzzzLQxRo9wpyk+rhFtwHUUJE2O8wL1VG9L6TkR5SIUswwKQ==} @@ -643,9 +663,17 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + alien-signals@0.2.2: + resolution: {integrity: sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A==} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -697,8 +725,8 @@ packages: engines: {node: '>=10'} hasBin: true - c12@1.11.1: - resolution: {integrity: sha512-KDU0TvSvVdaYcQKQ6iPHATGz/7p/KiVjPg4vQrB6Jg/wX9R0yl5RZxWm9IoZqaIHD2+6PZd81+KMGwRr/lRIUg==} + c12@1.11.2: + resolution: {integrity: sha512-oBs8a4uvSDO9dm8b7OCFW7+dgtVrwmwnrVXYzLm43ta7ep2jCn/0MhoUFygIWtxhyy6+/MG7/agvpY0U1Iemew==} peerDependencies: magicast: ^0.3.4 peerDependenciesMeta: @@ -768,6 +796,9 @@ packages: confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -1110,14 +1141,17 @@ packages: mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + monaco-editor-core@0.46.0: resolution: {integrity: sha512-JA5BzCaC0nUB5zUhzGUfecNhVNxEXpJxp6YNBYLr0SPyv0DKSIeBpF21WVkpwYm00UJaVc4m3TTcwB9/Gzd/nw==} monaco-editor@0.43.0: resolution: {integrity: sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q==} - monaco-languageserver-types@0.3.4: - resolution: {integrity: sha512-d58sP5yNhjs8uG1ESXs0hFnuX2YfdMhiGeWhdgTUZyG9aaWgyI4dDwrK1khf1mPF2u9Sljv42sfYqPFZnqYMYg==} + monaco-languageserver-types@0.4.0: + resolution: {integrity: sha512-QQ3BZiU5LYkJElGncSNb5AKoJ/LCs6YBMCJMAz9EA7v+JaOdn3kx2cXpPTcZfKA5AEsR0vc97sAw+5mdNhVBmw==} monaco-types@0.1.0: resolution: {integrity: sha512-aWK7SN9hAqNYi0WosPoMjenMeXJjwCxDibOqWffyQ/qXdzB/86xshGQobRferfmNz7BSNQ8GB0MD0oby9/5fTQ==} @@ -1187,6 +1221,9 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + perfect-debounce@1.0.0: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} @@ -1201,8 +1238,8 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - pkg-types@1.1.2: - resolution: {integrity: sha512-VEGf1he2DR5yowYRl0XJhWJq5ktm9gYIsH+y8sNJpHlxch7JPDaufgrsl4vYjd9hMUY8QVjoNncKbow9I7exyA==} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} postcss@8.4.35: resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} @@ -1313,6 +1350,10 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -1415,6 +1456,9 @@ packages: ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -1490,73 +1534,73 @@ packages: terser: optional: true - volar-service-css@0.0.56: - resolution: {integrity: sha512-Pdbk5QayLNWJislbik4Lo0QLLyd4pTqcgZCE2gaEQp9ozHCtrRNj3vY7KAh4BTgfiOqTSAj/UhViOXVAtdF3yg==} + volar-service-css@0.0.62: + resolution: {integrity: sha512-JwNyKsH3F8PuzZYuqPf+2e+4CTU8YoyUHEHVnoXNlrLe7wy9U3biomZ56llN69Ris7TTy/+DEX41yVxQpM4qvg==} peerDependencies: - '@volar/language-service': ~2.4.0-alpha.1 + '@volar/language-service': ~2.4.0 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-emmet@0.0.56: - resolution: {integrity: sha512-2WqvOMTYBOpNAHtEWj0C9d8Wyco8aY4KL+9lfdFCWJd7RYU6R6mIlbrvcdSP2De8b5Z7gwTCUm6Kcjt8qOCvjQ==} + volar-service-emmet@0.0.62: + resolution: {integrity: sha512-U4dxWDBWz7Pi4plpbXf4J4Z/ss6kBO3TYrACxWNsE29abu75QzVS0paxDDhI6bhqpbDFXlpsDhZ9aXVFpnfGRQ==} peerDependencies: - '@volar/language-service': ~2.4.0-alpha.1 + '@volar/language-service': ~2.4.0 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-html@0.0.56: - resolution: {integrity: sha512-OwDRiASNqFxAFdO55CZ0/XKnPt7WGw8CoaM/g6QzExikPZ92ySbK/kvh1zi6WR3w+hP6C4BNeVITzOk9tjgNGw==} + volar-service-html@0.0.62: + resolution: {integrity: sha512-Zw01aJsZRh4GTGUjveyfEzEqpULQUdQH79KNEiKVYHZyuGtdBRYCHlrus1sueSNMxwwkuF5WnOHfvBzafs8yyQ==} peerDependencies: - '@volar/language-service': ~2.4.0-alpha.1 + '@volar/language-service': ~2.4.0 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-json@0.0.56: - resolution: {integrity: sha512-eYXfOYTJLOw9UeA2YNtxGp/Lgu4pKk9u72I/HI+TcqLdMJKoXpOwLF6nUEhZVTy9LqTSRF0QvgXFa4q4mcLwIg==} + volar-service-json@0.0.62: + resolution: {integrity: sha512-Ot+jP+/LzKcaGF7nzrn+gwpzAleb4ej5buO05M8KxfwfODte7o1blARKRoJ3Nv7ls0DBM38Dd5vjzvA9c/9Jtg==} peerDependencies: - '@volar/language-service': ~2.4.0-alpha.1 + '@volar/language-service': ~2.4.0 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-pug-beautify@0.0.56: - resolution: {integrity: sha512-ai79ljMfKH2bjcVjUET0zAwpVjDNtMCjizkttxCkNHCMTYIc1muhHIEj1+nNAw4zrDT51lxZgW6OJMTXQ+BW9A==} + volar-service-pug-beautify@0.0.62: + resolution: {integrity: sha512-dAFNuNEwTnnVthYoNJhoStwhf/PojzglwCrdhOb2nBegTG3xXMWRFmQzb0JfIlt2wq2wfUq5j+JJswgSD3KluQ==} peerDependencies: - '@volar/language-service': ~2.4.0-alpha.1 + '@volar/language-service': ~2.4.0 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-pug@0.0.56: - resolution: {integrity: sha512-NaobSQiuAFBTzBE7YHAyHyCZXqVNFFbXvuXTtXsJP6LR1lvBWg7IUgg45kzV1OS146qq2cmY3lryhlNRHwCmmg==} + volar-service-pug@0.0.62: + resolution: {integrity: sha512-C0/O8uGnRfijWKE0zFXxJ/o7BbLebzretsEaiMkvBDIxm5oe7HRDzQr6CgknV/WVgiohZ74v+0CwBPl2YmcPUQ==} - volar-service-typescript-twoslash-queries@0.0.56: - resolution: {integrity: sha512-VqOp3xQucUzLpJCOEQcAiAUlbv6c1laTbFsM/pc06S/+l78eHPDbnivoSwL+0MKbNoLwLsS5w0OwBfwQ2Dn2Jg==} + volar-service-typescript-twoslash-queries@0.0.62: + resolution: {integrity: sha512-KxFt4zydyJYYI0kFAcWPTh4u0Ha36TASPZkAnNY784GtgajerUqM80nX/W1d0wVhmcOFfAxkVsf/Ed+tiYU7ng==} peerDependencies: - '@volar/language-service': ~2.4.0-alpha.1 + '@volar/language-service': ~2.4.0 peerDependenciesMeta: '@volar/language-service': optional: true - volar-service-typescript@0.0.56: - resolution: {integrity: sha512-p16fn61j4IiNLhLl7ZxdnRRDpRLWiqIRhZm1xLgek4JshCCy5Z7KShYG6LVZXK3hNvXxM8f61PIl0KDCCzStKA==} + volar-service-typescript@0.0.62: + resolution: {integrity: sha512-p7MPi71q7KOsH0eAbZwPBiKPp9B2+qrdHAd6VY5oTo9BUXatsOAdakTm9Yf0DUj6uWBAaOT01BSeVOPwucMV1g==} peerDependencies: - '@volar/language-service': ~2.4.0-alpha.1 + '@volar/language-service': ~2.4.0 peerDependenciesMeta: '@volar/language-service': optional: true - vscode-css-languageservice@6.3.0: - resolution: {integrity: sha512-nU92imtkgzpCL0xikrIb8WvedV553F2BENzgz23wFuok/HLN5BeQmroMy26pUwFxV2eV8oNRmYCUv8iO7kSMhw==} + vscode-css-languageservice@6.3.1: + resolution: {integrity: sha512-1BzTBuJfwMc3A0uX4JBdJgoxp74cjj4q2mDJdp49yD/GuAq4X0k5WtK6fNcMYr+FfJ9nqgR6lpfCSZDkARJ5qQ==} vscode-html-languageservice@5.3.3: resolution: {integrity: sha512-AK/jJM0VIWRrlfqkDBMZxNMnxYT5I2uoMVRoNJ5ePSplnSaT9mbYjqJlxxeLvUrOW7MEH0vVIDzU48u44QZE0w==} - vscode-json-languageservice@5.4.0: - resolution: {integrity: sha512-NCkkCr63OHVkE4lcb0xlUAaix6vE5gHQW4NrswbLEh3ArXj81lrGuFTsGEYEUXlNHdnc53vWPcjeSy/nMTrfXg==} + vscode-json-languageservice@5.4.1: + resolution: {integrity: sha512-5czFGNyVPxz3ZJYl8R3a3SuIj5gjhmGF4Wv05MRPvD4DEnHK6b8km4VbNMJNHBlTCh7A0aHzUbPVzo+0C18mCA==} vscode-jsonrpc@8.2.0: resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} @@ -1565,9 +1609,6 @@ packages: vscode-languageserver-protocol@3.17.5: resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - vscode-languageserver-textdocument@1.0.11: - resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} - vscode-languageserver-textdocument@1.0.12: resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} @@ -1586,11 +1627,8 @@ packages: vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - vue-template-compiler@2.7.14: - resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} - - vue-tsc@2.0.29: - resolution: {integrity: sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q==} + vue-tsc@2.1.10: + resolution: {integrity: sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA==} hasBin: true peerDependencies: typescript: '>=5.0.0' @@ -1650,18 +1688,31 @@ snapshots: '@babel/helper-string-parser@7.23.4': {} + '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/parser@7.24.0': dependencies: '@babel/types': 7.24.0 + '@babel/parser@7.27.0': + dependencies: + '@babel/types': 7.27.0 + '@babel/types@7.24.0': dependencies: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + '@babel/types@7.27.0': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@emmetio/abbreviation@2.3.3': dependencies: '@emmetio/scanner': 1.0.4 @@ -2005,65 +2056,59 @@ snapshots: vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) vue: 3.4.21(typescript@5.4.2) - '@volar/jsdelivr@2.4.0-alpha.12': {} - - '@volar/language-core@2.4.0-alpha.12': - dependencies: - '@volar/source-map': 2.4.0-alpha.12 - - '@volar/language-core@2.4.0-alpha.8': - dependencies: - '@volar/source-map': 2.4.0-alpha.8 + '@volar/jsdelivr@2.4.4': {} '@volar/language-core@2.4.12': dependencies: '@volar/source-map': 2.4.12 - '@volar/language-service@2.4.0-alpha.12': + '@volar/language-core@2.4.4': + dependencies: + '@volar/source-map': 2.4.4 + + '@volar/language-service@2.4.12': dependencies: - '@volar/language-core': 2.4.0-alpha.12 + '@volar/language-core': 2.4.12 vscode-languageserver-protocol: 3.17.5 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 - '@volar/language-service@2.4.0-alpha.8': + '@volar/language-service@2.4.4': dependencies: - '@volar/language-core': 2.4.0-alpha.8 + '@volar/language-core': 2.4.4 vscode-languageserver-protocol: 3.17.5 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.1.0 - '@volar/monaco@2.4.0-alpha.12': + '@volar/monaco@2.4.4': dependencies: - '@volar/language-service': 2.4.0-alpha.12 - '@volar/typescript': 2.4.0-alpha.12 - monaco-languageserver-types: 0.3.4 + '@volar/language-service': 2.4.4 + '@volar/typescript': 2.4.4 + monaco-languageserver-types: 0.4.0 monaco-types: 0.1.0 vscode-uri: 3.1.0 - '@volar/source-map@2.4.0-alpha.12': {} - - '@volar/source-map@2.4.0-alpha.8': {} - '@volar/source-map@2.4.12': {} - '@volar/typescript@2.4.0-alpha.12': + '@volar/source-map@2.4.4': {} + + '@volar/typescript@2.4.12': dependencies: - '@volar/language-core': 2.4.0-alpha.12 + '@volar/language-core': 2.4.12 path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@volar/typescript@2.4.12': + '@volar/typescript@2.4.4': dependencies: - '@volar/language-core': 2.4.12 + '@volar/language-core': 2.4.4 path-browserify: 1.0.1 - vscode-uri: 3.0.8 + vscode-uri: 3.1.0 '@vscode/emmet-helper@2.9.3': dependencies: emmet: 2.4.7 jsonc-parser: 2.3.1 - vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-textdocument: 1.0.12 vscode-languageserver-types: 3.17.5 vscode-uri: 2.1.2 @@ -2077,11 +2122,24 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.0.2 + '@vue/compiler-core@3.5.13': + dependencies: + '@babel/parser': 7.27.0 + '@vue/shared': 3.5.13 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + '@vue/compiler-dom@3.4.21': dependencies: '@vue/compiler-core': 3.4.21 '@vue/shared': 3.4.21 + '@vue/compiler-dom@3.5.13': + dependencies: + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 + '@vue/compiler-sfc@3.4.21': dependencies: '@babel/parser': 7.24.0 @@ -2104,20 +2162,20 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 - '@vue/language-core@2.0.24(typescript@5.4.2)': + '@vue/language-core@2.1.10(typescript@5.4.2)': dependencies: '@volar/language-core': 2.4.12 - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.31 - computeds: 0.0.1 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.13 + alien-signals: 0.2.2 minimatch: 9.0.3 muggle-string: 0.4.1 path-browserify: 1.0.1 - vue-template-compiler: 2.7.14 optionalDependencies: typescript: 5.4.2 - '@vue/language-core@2.0.29(typescript@5.4.2)': + '@vue/language-core@2.1.6(typescript@5.4.2)': dependencies: '@volar/language-core': 2.4.12 '@vue/compiler-dom': 3.4.21 @@ -2130,28 +2188,28 @@ snapshots: optionalDependencies: typescript: 5.4.2 - '@vue/language-service@2.0.24(typescript@5.4.2)': + '@vue/language-service@2.1.6(typescript@5.4.2)': dependencies: '@volar/language-core': 2.4.12 - '@volar/language-service': 2.4.0-alpha.8 + '@volar/language-service': 2.4.12 '@volar/typescript': 2.4.12 '@vue/compiler-dom': 3.4.21 - '@vue/language-core': 2.0.24(typescript@5.4.2) + '@vue/language-core': 2.1.6(typescript@5.4.2) '@vue/shared': 3.4.31 - '@vue/typescript-plugin': 2.0.24(typescript@5.4.2) + '@vue/typescript-plugin': 2.1.6(typescript@5.4.2) computeds: 0.0.1 path-browserify: 1.0.1 - volar-service-css: 0.0.56(@volar/language-service@2.4.0-alpha.8) - volar-service-emmet: 0.0.56(@volar/language-service@2.4.0-alpha.8) - volar-service-html: 0.0.56(@volar/language-service@2.4.0-alpha.8) - volar-service-json: 0.0.56(@volar/language-service@2.4.0-alpha.8) - volar-service-pug: 0.0.56 - volar-service-pug-beautify: 0.0.56(@volar/language-service@2.4.0-alpha.8) - volar-service-typescript: 0.0.56(@volar/language-service@2.4.0-alpha.8) - volar-service-typescript-twoslash-queries: 0.0.56(@volar/language-service@2.4.0-alpha.8) + volar-service-css: 0.0.62(@volar/language-service@2.4.12) + volar-service-emmet: 0.0.62(@volar/language-service@2.4.12) + volar-service-html: 0.0.62(@volar/language-service@2.4.12) + volar-service-json: 0.0.62(@volar/language-service@2.4.12) + volar-service-pug: 0.0.62 + volar-service-pug-beautify: 0.0.62(@volar/language-service@2.4.12) + volar-service-typescript: 0.0.62(@volar/language-service@2.4.12) + volar-service-typescript-twoslash-queries: 0.0.62(@volar/language-service@2.4.12) vscode-html-languageservice: 5.3.3 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.1.0 transitivePeerDependencies: - typescript @@ -2180,10 +2238,12 @@ snapshots: '@vue/shared@3.4.31': {} - '@vue/typescript-plugin@2.0.24(typescript@5.4.2)': + '@vue/shared@3.5.13': {} + + '@vue/typescript-plugin@2.1.6(typescript@5.4.2)': dependencies: '@volar/typescript': 2.4.12 - '@vue/language-core': 2.0.24(typescript@5.4.2) + '@vue/language-core': 2.1.6(typescript@5.4.2) '@vue/shared': 3.4.31 transitivePeerDependencies: - typescript @@ -2198,6 +2258,8 @@ snapshots: acorn@8.11.3: {} + acorn@8.14.1: {} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -2205,6 +2267,8 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + alien-signals@0.2.2: {} + ansi-regex@5.0.1: {} ansi-regex@6.0.1: {} @@ -2248,7 +2312,7 @@ snapshots: bumpp@9.4.0: dependencies: '@jsdevtools/ez-spawn': 3.0.4 - c12: 1.11.1 + c12: 1.11.2 cac: 6.7.14 escalade: 3.1.2 fast-glob: 3.3.2 @@ -2258,7 +2322,7 @@ snapshots: transitivePeerDependencies: - magicast - c12@1.11.1: + c12@1.11.2: dependencies: chokidar: 3.6.0 confbox: 0.1.7 @@ -2270,7 +2334,7 @@ snapshots: ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.1.2 + pkg-types: 1.3.1 rc9: 2.1.2 cac@6.7.14: {} @@ -2331,6 +2395,8 @@ snapshots: confbox@0.1.7: {} + confbox@0.1.8: {} + consola@3.2.3: {} cross-spawn@7.0.3: @@ -2682,14 +2748,21 @@ snapshots: dependencies: acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.1.2 + pkg-types: 1.3.1 ufo: 1.5.3 + mlly@1.7.4: + dependencies: + acorn: 8.14.1 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + monaco-editor-core@0.46.0: {} monaco-editor@0.43.0: {} - monaco-languageserver-types@0.3.4: + monaco-languageserver-types@0.4.0: dependencies: monaco-types: 0.1.0 vscode-languageserver-protocol: 3.17.5 @@ -2754,6 +2827,8 @@ snapshots: pathe@1.1.2: {} + pathe@2.0.3: {} + perfect-debounce@1.0.0: {} picocolors@1.0.0: {} @@ -2762,11 +2837,11 @@ snapshots: pirates@4.0.6: {} - pkg-types@1.1.2: + pkg-types@1.3.1: dependencies: - confbox: 0.1.7 - mlly: 1.7.1 - pathe: 1.1.2 + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.3 postcss@8.4.35: dependencies: @@ -2895,6 +2970,8 @@ snapshots: source-map-js@1.0.2: {} + source-map-js@1.2.1: {} + source-map@0.6.1: {} space-separated-tokens@2.0.2: {} @@ -2989,6 +3066,8 @@ snapshots: ufo@1.5.3: {} + ufo@1.6.1: {} + undici-types@5.26.5: {} unist-util-is@6.0.0: @@ -3055,77 +3134,77 @@ snapshots: fsevents: 2.3.3 sass: 1.71.1 - volar-service-css@0.0.56(@volar/language-service@2.4.0-alpha.8): + volar-service-css@0.0.62(@volar/language-service@2.4.12): dependencies: - vscode-css-languageservice: 6.3.0 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 + vscode-css-languageservice: 6.3.1 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.0-alpha.8 + '@volar/language-service': 2.4.12 - volar-service-emmet@0.0.56(@volar/language-service@2.4.0-alpha.8): + volar-service-emmet@0.0.62(@volar/language-service@2.4.12): dependencies: '@emmetio/css-parser': 0.4.0 '@emmetio/html-matcher': 1.3.0 '@vscode/emmet-helper': 2.9.3 - vscode-uri: 3.0.8 + vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.0-alpha.8 + '@volar/language-service': 2.4.12 - volar-service-html@0.0.56(@volar/language-service@2.4.0-alpha.8): + volar-service-html@0.0.62(@volar/language-service@2.4.12): dependencies: vscode-html-languageservice: 5.3.3 - vscode-languageserver-textdocument: 1.0.11 - vscode-uri: 3.0.8 + vscode-languageserver-textdocument: 1.0.12 + vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.0-alpha.8 + '@volar/language-service': 2.4.12 - volar-service-json@0.0.56(@volar/language-service@2.4.0-alpha.8): + volar-service-json@0.0.62(@volar/language-service@2.4.12): dependencies: - vscode-json-languageservice: 5.4.0 - vscode-uri: 3.0.8 + vscode-json-languageservice: 5.4.1 + vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.0-alpha.8 + '@volar/language-service': 2.4.12 - volar-service-pug-beautify@0.0.56(@volar/language-service@2.4.0-alpha.8): + volar-service-pug-beautify@0.0.62(@volar/language-service@2.4.12): dependencies: '@johnsoncodehk/pug-beautify': 0.2.2 optionalDependencies: - '@volar/language-service': 2.4.0-alpha.8 + '@volar/language-service': 2.4.12 - volar-service-pug@0.0.56: + volar-service-pug@0.0.62: dependencies: - '@volar/language-service': 2.4.0-alpha.8 + '@volar/language-service': 2.4.12 muggle-string: 0.4.1 pug-lexer: 5.0.1 pug-parser: 6.0.0 - volar-service-html: 0.0.56(@volar/language-service@2.4.0-alpha.8) + volar-service-html: 0.0.62(@volar/language-service@2.4.12) vscode-html-languageservice: 5.3.3 - vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-textdocument: 1.0.12 - volar-service-typescript-twoslash-queries@0.0.56(@volar/language-service@2.4.0-alpha.8): + volar-service-typescript-twoslash-queries@0.0.62(@volar/language-service@2.4.12): dependencies: - vscode-uri: 3.0.8 + vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.0-alpha.8 + '@volar/language-service': 2.4.12 - volar-service-typescript@0.0.56(@volar/language-service@2.4.0-alpha.8): + volar-service-typescript@0.0.62(@volar/language-service@2.4.12): dependencies: path-browserify: 1.0.1 semver: 7.6.2 typescript-auto-import-cache: 0.3.5 - vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-textdocument: 1.0.12 vscode-nls: 5.2.0 - vscode-uri: 3.0.8 + vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.0-alpha.8 + '@volar/language-service': 2.4.12 - vscode-css-languageservice@6.3.0: + vscode-css-languageservice@6.3.1: dependencies: '@vscode/l10n': 0.0.18 - vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-textdocument: 1.0.12 vscode-languageserver-types: 3.17.5 - vscode-uri: 3.0.8 + vscode-uri: 3.1.0 vscode-html-languageservice@5.3.3: dependencies: @@ -3134,13 +3213,13 @@ snapshots: vscode-languageserver-types: 3.17.5 vscode-uri: 3.1.0 - vscode-json-languageservice@5.4.0: + vscode-json-languageservice@5.4.1: dependencies: '@vscode/l10n': 0.0.18 jsonc-parser: 3.3.1 - vscode-languageserver-textdocument: 1.0.11 + vscode-languageserver-textdocument: 1.0.12 vscode-languageserver-types: 3.17.5 - vscode-uri: 3.0.8 + vscode-uri: 3.1.0 vscode-jsonrpc@8.2.0: {} @@ -3149,8 +3228,6 @@ snapshots: vscode-jsonrpc: 8.2.0 vscode-languageserver-types: 3.17.5 - vscode-languageserver-textdocument@1.0.11: {} - vscode-languageserver-textdocument@1.0.12: {} vscode-languageserver-types@3.17.5: {} @@ -3163,15 +3240,10 @@ snapshots: vscode-uri@3.1.0: {} - vue-template-compiler@2.7.14: - dependencies: - de-indent: 1.0.2 - he: 1.2.0 - - vue-tsc@2.0.29(typescript@5.4.2): + vue-tsc@2.1.10(typescript@5.4.2): dependencies: '@volar/typescript': 2.4.12 - '@vue/language-core': 2.0.29(typescript@5.4.2) + '@vue/language-core': 2.1.10(typescript@5.4.2) semver: 7.6.2 typescript: 5.4.2 diff --git a/src/monaco/env.ts b/src/monaco/env.ts index db123333..2a10cbb4 100644 --- a/src/monaco/env.ts +++ b/src/monaco/env.ts @@ -9,7 +9,7 @@ import { getOrCreateModel } from './utils' import type { CreateData } from './vue.worker' import vueWorker from './vue.worker?worker' import * as languageConfigs from './language-configs' -import type { LanguageService } from '@vue/language-service' +import type { WorkerLanguageService } from '@volar/monaco/worker' import { debounce } from '../utils' let initted = false @@ -81,7 +81,7 @@ export async function reloadLanguageTools(store: Store) { } } - const worker = editor.createWebWorker({ + const worker = editor.createWebWorker({ moduleId: 'vs/language/vue/vueWorker', label: 'vue', host: new WorkerHost(), diff --git a/src/monaco/vue.worker.ts b/src/monaco/vue.worker.ts index b6b4040a..4115150d 100644 --- a/src/monaco/vue.worker.ts +++ b/src/monaco/vue.worker.ts @@ -3,7 +3,7 @@ import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker' import type * as monaco from 'monaco-editor-core' import { type LanguageServiceEnvironment, - createTypeScriptWorkerService, + createTypeScriptWorkerLanguageService, } from '@volar/monaco/worker' import { createNpmFileSystem } from '@volar/jsdelivr' import { @@ -72,7 +72,7 @@ self.onmessage = async (msg: MessageEvent) => { tsconfig.vueCompilerOptions || {}, ) - return createTypeScriptWorkerService({ + return createTypeScriptWorkerLanguageService({ typescript: ts, compilerOptions, workerContext: ctx, @@ -84,19 +84,9 @@ self.onmessage = async (msg: MessageEvent) => { languagePlugins: [ createVueLanguagePlugin( ts, - asFileName, - () => '', // TODO getProjectVersion - (fileName) => { - const uri = asUri(fileName) - for (const model of ctx.getMirrorModels()) { - if (model.uri.toString() === uri.toString()) { - return true - } - } - return false - }, compilerOptions, vueCompilerOptions, + asFileName, ), ], languageServicePlugins: getFullLanguageServicePlugins(ts), From 6d5032a9da759d9d83271cad91636caf1b0782ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Sun, 8 Sep 2024 07:32:20 +0800 Subject: [PATCH 09/15] feat: export --- src/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/index.ts b/src/index.ts index 172a7069..56a70db0 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,3 +5,5 @@ export { compileFile } from './transform' export type { Props as ReplProps } from './Repl.vue' export type { Store, StoreOptions, SFCOptions, StoreState } from './store' export type { OutputModes } from './output/types' +export { version as languageToolsVersion } from '@vue/language-service/package.json' + From e3eac1720766a512d294955d9badc642cebd3d1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Wed, 9 Oct 2024 19:16:47 +0800 Subject: [PATCH 10/15] refactor: javascript engine of shiki --- src/monaco/Monaco.vue | 9 +++------ src/monaco/highlight.ts | 26 +++++++++++++++++--------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/monaco/Monaco.vue b/src/monaco/Monaco.vue index d53103be..452590f2 100644 --- a/src/monaco/Monaco.vue +++ b/src/monaco/Monaco.vue @@ -4,7 +4,6 @@ import { onBeforeUnmount, ref, shallowRef, - nextTick, inject, watch, computed, @@ -19,6 +18,7 @@ import parserBabel from 'prettier/parser-babel' import parserHtml from 'prettier/parser-html' import parserPostcss from 'prettier/parser-postcss' import prettier from 'prettier/standalone' +import { registerHighlighter } from './highlight' const props = withDefaults( defineProps<{ @@ -37,7 +37,6 @@ const emit = defineEmits<{ }>() const containerRef = ref() -const ready = ref(false) const editor = shallowRef() const store = inject('store')! @@ -47,10 +46,8 @@ const lang = computed(() => (props.mode === 'css' ? 'css' : 'javascript')) const extension = computed(() => props.filename.split('.').at(-1)) const replTheme = inject>('theme')! -onMounted(async () => { - const theme = await import('./highlight').then(r => r.registerHighlighter()) - ready.value = true - await nextTick() +onMounted(() => { + const theme = registerHighlighter() if (!containerRef.value) { throw new Error('Cannot find containerRef') diff --git a/src/monaco/highlight.ts b/src/monaco/highlight.ts index 3c609c90..7e5391a4 100644 --- a/src/monaco/highlight.ts +++ b/src/monaco/highlight.ts @@ -1,19 +1,27 @@ import * as monaco from 'monaco-editor-core' -import { createHighlighterCore } from 'shiki/core' +import { createHighlighterCoreSync } from 'shiki/core' +import { createJavaScriptRegexEngine } from 'shiki/engine-javascript.mjs' import { shikiToMonaco } from '@shikijs/monaco' import langVue from 'shiki/langs/vue.mjs' +import langTsx from 'shiki/langs/tsx.mjs' +import langJsx from 'shiki/langs/jsx.mjs' import themeDark from 'shiki/themes/dark-plus.mjs' import themeLight from 'shiki/themes/light-plus.mjs' -export async function registerHighlighter() { - const highlighter = await createHighlighterCore({ - themes: [themeDark, themeLight], - langs: [langVue], - loadWasm: import('shiki/wasm'), - }) - monaco.languages.register({ id: 'vue' }) - shikiToMonaco(highlighter, monaco) +let registered = false +export function registerHighlighter() { + if (!registered) { + const highlighter = createHighlighterCoreSync({ + themes: [themeDark, themeLight], + langs: [langVue, langTsx, langJsx], + engine: createJavaScriptRegexEngine(), + }) + monaco.languages.register({ id: 'vue' }) + shikiToMonaco(highlighter, monaco) + registered = true + } + return { light: themeLight.name!, dark: themeDark.name!, From 6e29911bcc472ec1dfc2a7eb53e6bd25a9f42c84 Mon Sep 17 00:00:00 2001 From: abdelouahed oumoussa Date: Fri, 18 Apr 2025 01:52:43 +0100 Subject: [PATCH 11/15] chore(deps): update monaco, volar and shiki versions --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 113a924c..2c83639b 100644 --- a/package.json +++ b/package.json @@ -68,18 +68,18 @@ "@types/node": "^20.11.25", "@types/prettier": "^2.7.3", "@vitejs/plugin-vue": "^5.0.4", - "@volar/jsdelivr": "~2.4.4", - "@volar/monaco": "~2.4.4", - "@vue/language-service": "2.1.6", + "@volar/jsdelivr": "~2.4.11", + "@volar/monaco": "~2.4.11", + "@vue/language-service": "2.2.2", "bumpp": "^9.4.0", "codemirror": "^5.65.14", "emmet": "^2.4.6", "emmet-monaco-es": "^5.3.2", "fflate": "^0.8.2", "hash-sum": "^2.0.0", - "monaco-editor-core": "^0.46.0", - "shiki": "^1.0.0-rc.0", - "@shikijs/monaco": "^1.0.0-rc.0", + "monaco-editor-core": "^0.52.2", + "shiki": "^1.29.2", + "@shikijs/monaco": "^1.29.2", "path-browserify": "^1.0.1", "prettier": "^3.2.5", "rimraf": "^5.0.5", From d9a70e0615e998782ab7235da4e3494b33f75966 Mon Sep 17 00:00:00 2001 From: abdelouahed oumoussa Date: Mon, 7 Apr 2025 12:58:54 +0100 Subject: [PATCH 12/15] chore(prettier): migrate to async formatting and updated plugin imports --- src/monaco/Monaco.vue | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/monaco/Monaco.vue b/src/monaco/Monaco.vue index 452590f2..33bed581 100644 --- a/src/monaco/Monaco.vue +++ b/src/monaco/Monaco.vue @@ -14,9 +14,9 @@ import { initMonaco } from './env' import { getOrCreateModel } from './utils' import { Store } from '../store' import type { PreviewMode } from '../editor/types' -import parserBabel from 'prettier/parser-babel' -import parserHtml from 'prettier/parser-html' -import parserPostcss from 'prettier/parser-postcss' +import parserBabel from 'prettier/plugins/babel' +import parserHtml from 'prettier/plugins/html' +import parserPostcss from 'prettier/plugins/postcss' import prettier from 'prettier/standalone' import { registerHighlighter } from './highlight' @@ -145,7 +145,7 @@ onMounted(() => { emit('change', editorInstance.getValue()) }) - editorInstance.onDidBlurEditorWidget(() => { + editorInstance.onDidBlurEditorWidget(async () => { const parser = { vue: 'html', html: 'html', @@ -165,7 +165,7 @@ onMounted(() => { let code = editorInstance.getValue() try { - code = prettier.format(code, options) + code = await prettier.format(code, options) } catch (err) {} if (code !== props.value) { From 3a7a5f8b6e44480d462f7a5d9762a5bfe91bdce0 Mon Sep 17 00:00:00 2001 From: abdelouahed oumoussa Date: Sat, 19 Apr 2025 19:56:20 +0100 Subject: [PATCH 13/15] chore(prettier): use async formatting in codemirror --- src/codemirror/CodeMirror.vue | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/codemirror/CodeMirror.vue b/src/codemirror/CodeMirror.vue index b10686bc..8e8758df 100644 --- a/src/codemirror/CodeMirror.vue +++ b/src/codemirror/CodeMirror.vue @@ -6,9 +6,9 @@ import type { ModeSpec, ModeSpecOptions } from 'codemirror' import { ref, onMounted, watchEffect, inject } from 'vue' import prettier from 'prettier/standalone' -import parserBabel from 'prettier/parser-babel' -import parserHtml from 'prettier/parser-html' -import parserPostcss from 'prettier/parser-postcss' +import parserBabel from 'prettier/plugins/babel' +import parserHtml from 'prettier/plugins/html' +import parserPostcss from 'prettier/plugins/postcss' import { debounce } from '../utils' import CodeMirror from './codemirror' @@ -65,7 +65,7 @@ onMounted(() => { emit('change', editor.getValue()) }) - editor.on('blur', () => { + editor.on('blur', async () => { const parser = props.extension === 'vue' ? 'html' : props.extension === 'html' ? 'html' : props.extension === 'css' ? 'css' @@ -83,7 +83,7 @@ onMounted(() => { let code = editor.getValue() try { - code = prettier.format(code, options) + code = await prettier.format(code, options) } catch (err) {} emit('change', code) From c7ac11999f5acd0ba2737178123bea3f76de1843 Mon Sep 17 00:00:00 2001 From: abdelouahed oumoussa Date: Thu, 1 May 2025 22:58:04 +0100 Subject: [PATCH 14/15] fix(@vue/language-service): reload on script lang change --- src/store.ts | 14 +++++++++++++- src/utils.ts | 10 ++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/store.ts b/src/store.ts index 8ea3a224..ea5f0e87 100644 --- a/src/store.ts +++ b/src/store.ts @@ -1,7 +1,7 @@ import { version, reactive, watchEffect, watch } from 'vue' import * as defaultCompiler from 'vue/compiler-sfc' import { compileFile } from './transform' -import { utoa, atou } from './utils' +import { utoa, atou, hasScriptLangChanged } from './utils' import { SFCScriptCompileOptions, SFCAsyncStyleCompileOptions, @@ -193,6 +193,18 @@ export class ReplStore implements Store { ) ) + // Temporary workaround for https://github.com/vuejs/repl/issues/321 + // which is related to https://github.com/microsoft/TypeScript/issues/57631 + // TODO: remove this when the issue is fixed + watch( + () => this.state.activeFile.code, + (newCode, oldCode) => { + if (this.state.activeFile.language !== 'vue') return + if (hasScriptLangChanged(newCode, oldCode)) + this.reloadLanguageTools?.() + }, + ) + watch( () => [ this.state.files[tsconfigFile]?.code, diff --git a/src/utils.ts b/src/utils.ts index fd458862..e3fa8401 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -31,3 +31,13 @@ export function atou(base64: string): string { // https://base64.guru/developers/javascript/examples/unicode-strings return decodeURIComponent(escape(binary)) } + +// compares the `lang` attribute of the `