diff --git a/README.md b/README.md index 03efa056..319099cf 100644 --- a/README.md +++ b/README.md @@ -947,13 +947,13 @@ module.exports = { ## Props -| Name | Description | Type | Default | -| ------------------------------------------------------ | --------------------------------------------------------------------------------------------- | ------------- | -------- | -| v-model /
modelValue (Vue 3) /
value (Vue 2) | binding value | any | | -| mode /
v-model:mode (Vue 3) /
:mode.sync (Vue 2) | edit mode | [Mode](#Mode) | `'tree'` | -| debounce | debounce delay to update the binding value when typing, in milliseconds | number | `100` | -| stringified | whether to keep the binding value as stringified JSON in text mode | boolean | `true` | -| ... | properties of [svelte-jsoneditor](https://github.com/josdejong/svelte-jsoneditor/#properties) | | | +| Name | Description | Type | Default | +| ------------------------------------------------------ | --------------------------------------------------------------------------------------------- | ------- | ----------- | +| v-model /
modelValue (Vue 3) /
value (Vue 2) | binding value | any | | +| mode /
v-model:mode (Vue 3) /
:mode.sync (Vue 2) | edit mode | `Mode` | `Mode.tree` | +| debounce | debounce delay to update the binding value when typing, in milliseconds | number | `100` | +| stringified | whether to keep the binding value as stringified JSON in text mode | boolean | `true` | +| ... | properties of [svelte-jsoneditor](https://github.com/josdejong/svelte-jsoneditor/#properties) | | | ### parsed JSON vs. stringified JSON @@ -998,8 +998,14 @@ FAQ: How to keep the value as parsed JSON in text mode: > - Adjust the `debounce` value based on the size of your JSON. > - Will output empty value when the input value is invalid. -```html - +```vue + + + ``` ### Naming convention diff --git a/docs/README.zh-CN.md b/docs/README.zh-CN.md index 5ef03d8b..2b6bca28 100644 --- a/docs/README.zh-CN.md +++ b/docs/README.zh-CN.md @@ -945,13 +945,13 @@ module.exports = { ## 属性 -| 名称 | 说明 | 类型 | 默认值 | -| ------------------------------------------------------ | -------------------------------------------------------------------------------------- | ------------- | -------- | -| v-model /
modelValue (Vue 3) /
value (Vue 2) | 绑定值 | any | | -| mode /
v-model:mode (Vue 3) /
:mode.sync (Vue 2) | 编辑模式 | [Mode](#Mode) | `'tree'` | -| debounce | 输入时更新绑定值的去抖延迟 (毫秒) | number | `100` | -| stringified | 在 text 模式下保持绑定值为 stringified JSON | boolean | `true` | -| ... | [svelte-jsoneditor](https://github.com/josdejong/svelte-jsoneditor/#properties) 的属性 | | | +| 名称 | 说明 | 类型 | 默认值 | +| ------------------------------------------------------ | -------------------------------------------------------------------------------------- | ------- | ----------- | +| v-model /
modelValue (Vue 3) /
value (Vue 2) | 绑定值 | any | | +| mode /
v-model:mode (Vue 3) /
:mode.sync (Vue 2) | 编辑模式 | `Mode` | `Mode.tree` | +| debounce | 输入时更新绑定值的去抖延迟 (毫秒) | number | `100` | +| stringified | 在 text 模式下保持绑定值为 stringified JSON | boolean | `true` | +| ... | [svelte-jsoneditor](https://github.com/josdejong/svelte-jsoneditor/#properties) 的属性 | | | ### parsed JSON vs. stringified JSON @@ -996,8 +996,14 @@ FAQ: 如何在 text 模式下保持绑定值是 parsed JSON: > - 请根据你的 JSON 大小来调整 `debounce` 的值 > - 输入值无效时会输出空 -```html - +```vue + + + ``` ### 命名惯例 diff --git a/jsr.json b/jsr.json index b8af9577..5ad6ae0c 100644 --- a/jsr.json +++ b/jsr.json @@ -1,6 +1,6 @@ { "name": "@cloydlau/json-editor-vue", - "version": "0.15.0", + "version": "0.15.1", "exports": "./dist/json-editor-vue.mjs", "publish": { "include": [ diff --git a/package.json b/package.json index 7a7b1bdb..2a130b48 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "json-editor-vue", "PascalCasedName": "JsonEditorVue", - "version": "0.15.0", + "version": "0.15.1", "private": false, "description": "Vue 2.6/2.7/3 & Nuxt 2/3 isomorphic JSON editor, viewer, formatter and validator.", "author": { @@ -55,6 +55,7 @@ "test-unit": "vitest run", "coverage": "vitest run --coverage", "doc": "vitepress dev --open /README", + "downloads-count": "esno ./scripts/downloads-count.mts", "build": "vite build", "release": "esno ./scripts/release.mts", "lint": "eslint \"**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx,vue,json,md,html,css,scss,sass}\" --ignore-pattern stats.html", @@ -76,18 +77,19 @@ "vue-demi": "^0.14.7" }, "devDependencies": { - "@antfu/eslint-config": "^2.15.0", + "@antfu/eslint-config": "^2.16.1", "@commitlint/cli": "^19.3.0", "@commitlint/config-conventional": "^19.2.2", "@types/cross-spawn": "^6.0.6", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.12.7", + "@types/node": "^20.12.8", "@types/prompts": "^2.4.9", "@types/semver": "^7.5.8", "@vitejs/plugin-vue": "^5.0.4", - "@vitest/ui": "^1.5.0", - "@vue/compiler-sfc": "^3.4.24", + "@vitest/ui": "^1.5.3", + "@vue/compiler-sfc": "^3.4.26", "@vue/test-utils": "^2.4.5", + "axios": "^1.6.8", "case-police": "^0.6.1", "cross-spawn": "^7.0.3", "del": "^7.1.0", @@ -110,13 +112,13 @@ "simple-git-hooks": "^2.11.1", "typescript": "^5.4.5", "unplugin-auto-import": "^0.17.5", - "unplugin-vue-components": "^0.26.0", - "vite": "^5.2.10", + "unplugin-vue-components": "^0.27.0", + "vite": "^5.2.11", "vite-plugin-dts": "^3.9.0", - "vitepress": "^1.1.3", - "vitest": "^1.5.0", - "vue": "^3.4.24", - "vue-global-config": "^0.6.0", + "vitepress": "^1.1.4", + "vitest": "^1.5.3", + "vue": "^3.4.26", + "vue-global-config": "^0.6.1", "zhlint": "^0.8.1" }, "simple-git-hooks": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fbd3a8f0..6b411e9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,20 +10,20 @@ importers: dependencies: '@vue/composition-api': specifier: '>=1' - version: 1.7.2(vue@3.4.24(typescript@5.4.5)) + version: 1.7.2(vue@3.4.26(typescript@5.4.5)) vanilla-jsoneditor: specifier: ^0.23.2 version: 0.23.2(@lezer/common@1.2.1) vue-demi: specifier: ^0.14.7 - version: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) + version: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) devDependencies: '@antfu/eslint-config': - specifier: ^2.15.0 - version: 2.15.0(@vue/compiler-sfc@3.4.24)(eslint-plugin-format@0.1.1(eslint-ts-patch@8.57.0-0))(eslint-ts-patch@8.57.0-0)(svelte@4.2.15)(typescript@5.4.5)(vitest@1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(happy-dom@14.7.1)(sass@1.75.0)) + specifier: ^2.16.1 + version: 2.16.1(@vue/compiler-sfc@3.4.26)(eslint-plugin-format@0.1.1(eslint-ts-patch@8.57.0-0))(eslint-ts-patch@8.57.0-0)(svelte@4.2.15)(typescript@5.4.5)(vitest@1.5.3(@types/node@20.12.8)(@vitest/ui@1.5.3)(happy-dom@14.7.1)(sass@1.76.0)) '@commitlint/cli': specifier: ^19.3.0 - version: 19.3.0(@types/node@20.12.7)(typescript@5.4.5) + version: 19.3.0(@types/node@20.12.8)(typescript@5.4.5) '@commitlint/config-conventional': specifier: ^19.2.2 version: 19.2.2 @@ -34,8 +34,8 @@ importers: specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^20.12.7 - version: 20.12.7 + specifier: ^20.12.8 + version: 20.12.8 '@types/prompts': specifier: ^2.4.9 version: 2.4.9 @@ -44,16 +44,19 @@ importers: version: 7.5.8 '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.24(typescript@5.4.5)) + version: 5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0))(vue@3.4.26(typescript@5.4.5)) '@vitest/ui': - specifier: ^1.5.0 - version: 1.5.0(vitest@1.5.0) + specifier: ^1.5.3 + version: 1.5.3(vitest@1.5.3) '@vue/compiler-sfc': - specifier: ^3.4.24 - version: 3.4.24 + specifier: ^3.4.26 + version: 3.4.26 '@vue/test-utils': specifier: ^2.4.5 version: 2.4.5 + axios: + specifier: ^1.6.8 + version: 1.6.8 case-police: specifier: ^0.6.1 version: 0.6.1 @@ -107,7 +110,7 @@ importers: version: 2.4.2 rollup-plugin-visualizer: specifier: ^5.12.0 - version: 5.12.0(rollup@4.16.4) + version: 5.12.0(rollup@4.17.2) semver: specifier: ^7.6.0 version: 7.6.0 @@ -119,38 +122,34 @@ importers: version: 5.4.5 unplugin-auto-import: specifier: ^0.17.5 - version: 0.17.5(@vueuse/core@10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)))(rollup@4.16.4) + version: 0.17.5(@vueuse/core@10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)))(rollup@4.17.2) unplugin-vue-components: - specifier: ^0.26.0 - version: 0.26.0(@babel/parser@7.24.4)(rollup@4.16.4)(vue@3.4.24(typescript@5.4.5)) + specifier: ^0.27.0 + version: 0.27.0(@babel/parser@7.24.5)(rollup@4.17.2)(vue@3.4.26(typescript@5.4.5)) vite: - specifier: ^5.2.10 - version: 5.2.10(@types/node@20.12.7)(sass@1.75.0) + specifier: ^5.2.11 + version: 5.2.11(@types/node@20.12.8)(sass@1.76.0) vite-plugin-dts: specifier: ^3.9.0 - version: 3.9.0(@types/node@20.12.7)(rollup@4.16.4)(typescript@5.4.5)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)) + version: 3.9.0(@types/node@20.12.8)(rollup@4.17.2)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0)) vitepress: - specifier: ^1.1.3 - version: 1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(postcss@8.4.38)(sass@1.75.0)(search-insights@2.13.0)(typescript@5.4.5) + specifier: ^1.1.4 + version: 1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.8)(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(axios@1.6.8)(postcss@8.4.38)(sass@1.76.0)(search-insights@2.13.0)(typescript@5.4.5) vitest: - specifier: ^1.5.0 - version: 1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(happy-dom@14.7.1)(sass@1.75.0) + specifier: ^1.5.3 + version: 1.5.3(@types/node@20.12.8)(@vitest/ui@1.5.3)(happy-dom@14.7.1)(sass@1.76.0) vue: - specifier: ^3.4.24 - version: 3.4.24(typescript@5.4.5) + specifier: ^3.4.26 + version: 3.4.26(typescript@5.4.5) vue-global-config: - specifier: ^0.6.0 - version: 0.6.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) + specifier: ^0.6.1 + version: 0.6.1(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) zhlint: specifier: ^0.8.1 version: 0.8.1 packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - '@algolia/autocomplete-core@1.9.3': resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} @@ -220,8 +219,8 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@antfu/eslint-config@2.15.0': - resolution: {integrity: sha512-qoqw+0N8bqz0vBIigGJamaIf1LdzXcmCDuleygJAF3EtACLieKyIMvpOdc2TU9AnuPbMBFCkN40340UWRChELw==} + '@antfu/eslint-config@2.16.1': + resolution: {integrity: sha512-7oHCor9ZgVb8FguStNZMOZLRdyYdr1/t6EhhWVSXZjuq7086OFdlksdav6jcflOzazo0doRlP12urzoYq+r1cg==} hasBin: true peerDependencies: '@eslint-react/eslint-plugin': ^1.5.8 @@ -263,8 +262,8 @@ packages: svelte-eslint-parser: optional: true - '@antfu/install-pkg@0.3.2': - resolution: {integrity: sha512-FFYqME8+UHlPnRlX/vn+8cTD4Wo/nG/lzRxpABs3XANBmdJdNImVz3QvjNAE/W3PSCNbG387FOz8o5WelnWOlg==} + '@antfu/install-pkg@0.3.3': + resolution: {integrity: sha512-nHHsk3NXQ6xkCfiRRC8Nfrg8pU5kkr3P3Y9s9dKqiuRmBD0Yap7fymNDjGFKeWhZQHqqbCS5CfeMy9wtExM24w==} '@antfu/utils@0.7.7': resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} @@ -277,21 +276,21 @@ packages: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + '@babel/helper-validator-identifier@7.24.5': + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.2': - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + '@babel/highlight@7.24.5': + resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.24.4': - resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + '@babel/parser@7.24.5': + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/types@7.24.0': - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + '@babel/types@7.24.5': + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} engines: {node: '>=6.9.0'} '@clack/core@0.3.4': @@ -319,8 +318,8 @@ packages: '@codemirror/language@6.10.1': resolution: {integrity: sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ==} - '@codemirror/lint@6.5.0': - resolution: {integrity: sha512-+5YyicIaaAZKU8K43IQi8TBy6mF6giGeWAH7N96Z5LC30Wm5JMjqxOYIE9mxwMG1NbhT2mA3l9hA4uuKUM3E5g==} + '@codemirror/lint@6.7.0': + resolution: {integrity: sha512-LTLOL2nT41ADNSCCCCw8Q/UmdAFzB23OUYSjsHTdsVaH0XEo+orhuqbDNWzrzodm14w6FOxqxpmy4LF8Lixqjw==} '@codemirror/search@6.5.6': resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==} @@ -436,276 +435,138 @@ packages: resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==} engines: {node: '>=16'} - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.20.2': resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.20.2': resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.20.2': resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.20.2': resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.20.2': resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.20.2': resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.20.2': resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.20.2': resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.20.2': resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.20.2': resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.20.2': resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.20.2': resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.20.2': resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.20.2': resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.20.2': resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.20.2': resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.20.2': resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.20.2': resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.20.2': resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.20.2': resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} @@ -779,6 +640,10 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jsdevtools/ez-spawn@3.0.4': + resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} + engines: {node: '>=10'} + '@lezer/common@1.2.1': resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==} @@ -846,92 +711,92 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.16.4': - resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==} + '@rollup/rollup-android-arm-eabi@4.17.2': + resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.16.4': - resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==} + '@rollup/rollup-android-arm64@4.17.2': + resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.16.4': - resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==} + '@rollup/rollup-darwin-arm64@4.17.2': + resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.16.4': - resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==} + '@rollup/rollup-darwin-x64@4.17.2': + resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.16.4': - resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==} + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': + resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.16.4': - resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==} + '@rollup/rollup-linux-arm-musleabihf@4.17.2': + resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.16.4': - resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==} + '@rollup/rollup-linux-arm64-gnu@4.17.2': + resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.16.4': - resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==} + '@rollup/rollup-linux-arm64-musl@4.17.2': + resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-powerpc64le-gnu@4.16.4': - resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==} + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': + resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.16.4': - resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==} + '@rollup/rollup-linux-riscv64-gnu@4.17.2': + resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.16.4': - resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==} + '@rollup/rollup-linux-s390x-gnu@4.17.2': + resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.16.4': - resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==} + '@rollup/rollup-linux-x64-gnu@4.17.2': + resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.16.4': - resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==} + '@rollup/rollup-linux-x64-musl@4.17.2': + resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-win32-arm64-msvc@4.16.4': - resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==} + '@rollup/rollup-win32-arm64-msvc@4.17.2': + resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.16.4': - resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==} + '@rollup/rollup-win32-ia32-msvc@4.17.2': + resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.16.4': - resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==} + '@rollup/rollup-win32-x64-msvc@4.17.2': + resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} cpu: [x64] os: [win32] @@ -957,11 +822,11 @@ packages: '@rushstack/ts-command-line@4.19.1': resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} - '@shikijs/core@1.3.0': - resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} + '@shikijs/core@1.4.0': + resolution: {integrity: sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==} - '@shikijs/transformers@1.3.0': - resolution: {integrity: sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==} + '@shikijs/transformers@1.4.0': + resolution: {integrity: sha512-kzvlWmWYYSeaLKRce/kgmFFORUtBtFahfXRKndor0b60ocYiXufBQM6d6w1PlMuUkdk55aor9xLvy9wy7hTEJg==} '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -969,31 +834,31 @@ packages: '@sphinxxxx/color-conversion@2.2.2': resolution: {integrity: sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==} - '@stylistic/eslint-plugin-js@1.7.2': - resolution: {integrity: sha512-ZYX7C5p7zlHbACwFLU+lISVh6tdcRP/++PWegh2Sy0UgMT5kU0XkPa2tKWEtJYzZmPhJxu9LxbnWcnE/tTwSDQ==} + '@stylistic/eslint-plugin-js@1.8.0': + resolution: {integrity: sha512-jdvnzt+pZPg8TfclZlTZPiUbbima93ylvQ+wNgHLNmup3obY6heQvgewSu9i2CfS61BnRByv+F9fxQLPoNeHag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-jsx@1.7.2': - resolution: {integrity: sha512-lNZR5PR0HLJPs+kY0y8fy6KroKlYqA5PwsYWpVYWzqZWiL5jgAeUo4s9yLFYjJjzildJ5MsTVMy/xP81Qz6GXg==} + '@stylistic/eslint-plugin-jsx@1.8.0': + resolution: {integrity: sha512-PC7tYXipF03TTilGJva1amAham7qOAFXT5r5jLTY6iIxkFqyb6H7Ljx5pv8d7n98VyIVidOEKY/AP8vNzAFNKg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin-plus@1.7.2': - resolution: {integrity: sha512-luUfRVbBVtt0+/FNt8/76BANJEzb/nHWasHD7UUjyMrch2U9xUKpObrkTCzqBuisKek+uFupwGjqXqDP07+fQw==} + '@stylistic/eslint-plugin-plus@1.8.0': + resolution: {integrity: sha512-TkrjzzYmTuAaLvFwtxomsgMUD8g8PREOQOQzTfKmiJ6oc4XOyFW4q/L9ES1J3UFSLybNCwbhu36lhXJut1w2Sg==} peerDependencies: eslint: '*' - '@stylistic/eslint-plugin-ts@1.7.2': - resolution: {integrity: sha512-szX89YPocwCe4T0eT3alj7MwEzDHt5+B+kb/vQfSSLIjI9CGgoWrgj50zU8PtaDctTh4ZieFBzU/lRmkSUo0RQ==} + '@stylistic/eslint-plugin-ts@1.8.0': + resolution: {integrity: sha512-WuCIhz4JEHxzhAWjrBASMGj6Or1wAjDqTsRIck3DRRrw/FJ8C/8AAuHPk8ECHNSDI5PZ0OT72nF2uSUn0aQq1w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' - '@stylistic/eslint-plugin@1.7.2': - resolution: {integrity: sha512-TesaPR4AOCeD4unwu9gZCdTe8SsUpykriICuwXV8GFBgESuVbfVp+S8g6xTWe9ntVR803bNMtnr2UhxHW0iFqg==} + '@stylistic/eslint-plugin@1.8.0': + resolution: {integrity: sha512-JRR0lCDU97AiE0X6qTc/uf8Hv0yETUdyJgoNzTLUIWdhVJVe/KGPnFmEsO1iXfNUIS6vhv3JJ5vaZ2qtXhZe1g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: '>=8.40.0' @@ -1019,8 +884,8 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/linkify-it@3.0.5': - resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + '@types/linkify-it@5.0.0': + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} '@types/lodash-es@4.17.12': resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} @@ -1028,20 +893,20 @@ packages: '@types/lodash@4.17.0': resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} - '@types/markdown-it@14.0.1': - resolution: {integrity: sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==} + '@types/markdown-it@14.1.1': + resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==} '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} - '@types/mdurl@1.0.5': - resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + '@types/mdurl@2.0.0': + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node@20.12.7': - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + '@types/node@20.12.8': + resolution: {integrity: sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1087,6 +952,10 @@ packages: resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@7.8.0': + resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/type-utils@7.7.1': resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1105,6 +974,10 @@ packages: resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@7.8.0': + resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/typescript-estree@6.21.0': resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1123,6 +996,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@7.8.0': + resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/utils@6.21.0': resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1135,6 +1017,12 @@ packages: peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@7.8.0': + resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + '@typescript-eslint/visitor-keys@6.21.0': resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1143,6 +1031,10 @@ packages: resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@7.8.0': + resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} + engines: {node: ^18.18.0 || >=20.0.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1153,25 +1045,25 @@ packages: vite: ^5.0.0 vue: ^3.2.25 - '@vitest/expect@1.5.0': - resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==} + '@vitest/expect@1.5.3': + resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==} - '@vitest/runner@1.5.0': - resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==} + '@vitest/runner@1.5.3': + resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==} - '@vitest/snapshot@1.5.0': - resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==} + '@vitest/snapshot@1.5.3': + resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==} - '@vitest/spy@1.5.0': - resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==} + '@vitest/spy@1.5.3': + resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==} - '@vitest/ui@1.5.0': - resolution: {integrity: sha512-ETcToK2TzICf/Oartvt19IH7yR4oCs8GrQk5hRhZ5oZFaSdDHTh6o3EdzyxOaY24NZ20cXYYNGjj1se/5vHfFg==} + '@vitest/ui@1.5.3': + resolution: {integrity: sha512-DoSA5YxcUmeBEK7kJHzXiL2I0d9AijWI33arnUrwiWFDxgZPDxTjvSVsiXhe8qfqhloIHkwazl5E2rhlDd/ErA==} peerDependencies: - vitest: 1.5.0 + vitest: 1.5.3 - '@vitest/utils@1.5.0': - resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==} + '@vitest/utils@1.5.3': + resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==} '@volar/language-core@1.11.1': resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} @@ -1182,33 +1074,33 @@ packages: '@volar/typescript@1.11.1': resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} - '@vue/compiler-core@3.4.24': - resolution: {integrity: sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A==} + '@vue/compiler-core@3.4.26': + resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} - '@vue/compiler-dom@3.4.24': - resolution: {integrity: sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA==} + '@vue/compiler-dom@3.4.26': + resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} - '@vue/compiler-sfc@3.4.24': - resolution: {integrity: sha512-nRAlJUK02FTWfA2nuvNBAqsDZuERGFgxZ8sGH62XgFSvMxO2URblzulExsmj4gFZ8e+VAyDooU9oAoXfEDNxTA==} + '@vue/compiler-sfc@3.4.26': + resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==} - '@vue/compiler-ssr@3.4.24': - resolution: {integrity: sha512-ZsAtr4fhaUFnVcDqwW3bYCSDwq+9Gk69q2r/7dAHDrOMw41kylaMgOP4zRnn6GIEJkQznKgrMOGPMFnLB52RbQ==} + '@vue/compiler-ssr@3.4.26': + resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==} '@vue/composition-api@1.7.2': resolution: {integrity: sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==} peerDependencies: vue: '>= 2.5 < 2.7' - '@vue/devtools-api@7.1.2': - resolution: {integrity: sha512-AKd49cN3BdRgttmX5Aw8op7sx6jmaPwaILcDjaa05UKc1yIHDYST7P8yGZs6zd2pKFETAQz40gmyG7+b57slsQ==} + '@vue/devtools-api@7.1.3': + resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==} - '@vue/devtools-kit@7.1.2': - resolution: {integrity: sha512-UTrcUSOhlI9eXqbPMHUWwA6NQiiPT3onzXsVk2JHGR8ZFFSkzsWTTpHyVA1woG8zvgu2HNV/wigW2k87p858zw==} + '@vue/devtools-kit@7.1.3': + resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==} peerDependencies: vue: ^3.0.0 - '@vue/devtools-shared@7.1.2': - resolution: {integrity: sha512-r9cUf93VMhKSsxF2/cBbf6Lm1nRBx+r1pRuji5CiAf3JIPYPOjeEqJ13OuwP1fauYh1tyBFcCxt3eJPvHT59gg==} + '@vue/devtools-shared@7.1.3': + resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==} '@vue/language-core@1.8.27': resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} @@ -1218,22 +1110,22 @@ packages: typescript: optional: true - '@vue/reactivity@3.4.24': - resolution: {integrity: sha512-nup3fSYg4i4LtNvu9slF/HF/0dkMQYfepUdORBcMSsankzRPzE7ypAFurpwyRBfU1i7Dn1kcwpYsE1wETSh91g==} + '@vue/reactivity@3.4.26': + resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==} - '@vue/runtime-core@3.4.24': - resolution: {integrity: sha512-c7iMfj6cJMeAG3s5yOn9Rc5D9e2/wIuaozmGf/ICGCY3KV5H7mbTVdvEkd4ZshTq7RUZqj2k7LMJWVx+EBiY1g==} + '@vue/runtime-core@3.4.26': + resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==} - '@vue/runtime-dom@3.4.24': - resolution: {integrity: sha512-uXKzuh/Emfad2Y7Qm0ABsLZZV6H3mAJ5ZVqmAOlrNQRf+T5mxpPGZBfec1hkP41t6h6FwF6RSGCs/gd8WbuySQ==} + '@vue/runtime-dom@3.4.26': + resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==} - '@vue/server-renderer@3.4.24': - resolution: {integrity: sha512-H+DLK4sQF6sRgzKyofmlEVBIV/9KrQU6HIV7nt6yIwSGGKvSwlV8pqJlebUKLpbXaNHugdSfAbP6YmXF69lxow==} + '@vue/server-renderer@3.4.26': + resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==} peerDependencies: - vue: 3.4.24 + vue: 3.4.26 - '@vue/shared@3.4.24': - resolution: {integrity: sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==} + '@vue/shared@3.4.26': + resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} '@vue/test-utils@2.4.5': resolution: {integrity: sha512-oo2u7vktOyKUked36R93NB7mg2B+N7Plr8lxp2JBGwr18ch6EggFjixSCdIVVLkT6Qr0z359Xvnafc9dcKyDUg==} @@ -1317,8 +1209,8 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} algoliasearch@4.23.3: resolution: {integrity: sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==} @@ -1378,6 +1270,12 @@ packages: assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + axobject-query@4.0.0: resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==} @@ -1421,12 +1319,15 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001612: - resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==} + caniuse-lite@1.0.30001615: + resolution: {integrity: sha512-1IpazM5G3r38meiae0bHRnPhz+CBQ3ZLqbQMtrg+AsTPKAXgW38JNsXkyZ+v8waCsDmPq87lmfun5Q2AGysNEQ==} case-police@0.6.1: resolution: {integrity: sha512-tOgkG3HhtzNVHU+HVHqbpVJ3CICPDihtlgoM2C4dx0RLeo6qcNVeBgiYJN5Bln+stxKrnKrw89CFgqYQDqwZQg==} @@ -1524,6 +1425,10 @@ packages: colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} @@ -1661,6 +1566,10 @@ packages: resolution: {integrity: sha512-v2KyNk7efxhlyHpjEvfyxaAihKKK0nWCuf6ZtqZcFFpQRG0bJ12Qsr0RpvsICMjAAZ8DOVCxrlqpxISlMHC4Kg==} engines: {node: '>=14.16'} + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} @@ -1693,8 +1602,8 @@ packages: engines: {node: '>=14'} hasBin: true - electron-to-chromium@1.4.747: - resolution: {integrity: sha512-+FnSWZIAvFHbsNVmUxhEqWiaOiPMcfum1GQzlWCg/wLigVtshOsjXHyEFfmt6cFK6+HkS3QOJBv6/3OPumbBfw==} + electron-to-chromium@1.4.754: + resolution: {integrity: sha512-7Kr5jUdns5rL/M9wFFmMZAgFDuL2YOnanFH4OI4iFzUqyh3XOL7nAGbSlSMZdzKMIyyTpNSbqZsWG9odwLeKvA==} emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -1720,11 +1629,6 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} @@ -1755,8 +1659,8 @@ packages: eslint-config-flat-gitignore@0.1.5: resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} - eslint-flat-config-utils@0.2.3: - resolution: {integrity: sha512-tfrMNXZfuN4q7sFi1Cr//BN3qdI7c8fLJhbshlp8l9PZIqZ7eVeeyd2Regtu/P9kjOlv18lRlBALzsZaF7ByUg==} + eslint-flat-config-utils@0.2.4: + resolution: {integrity: sha512-k7MJkSIfF0bs5eQu1KXyV0AhsvdsqSt1pQfZNLwf6qkozuHQV6aNHg5f8+3Ya+WTzpB+e7I3hMhs4qBwx7nEkw==} eslint-formatting-reporter@0.0.0: resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==} @@ -1779,6 +1683,11 @@ packages: peerDependencies: eslint: '*' + eslint-plugin-command@0.1.5: + resolution: {integrity: sha512-CYJYYs2RT3l+W8dEVuB77hU81HYkqJ/bcP5tWlmW+jbAHJ32B7qyzTm7Se7e8LvWRXwaoFh7g2VGuMvidKkTLQ==} + peerDependencies: + eslint: '*' + eslint-plugin-es-x@7.6.0: resolution: {integrity: sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1820,8 +1729,8 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-n@17.2.1: - resolution: {integrity: sha512-uW1+df2bo06kR7ix6nB614RUlvjRPrYxlaX832O6e1MCJp4V7YozEdvMgCYuvn4ltnjPu1FVYhQ2KRrmTNoJfg==} + eslint-plugin-n@17.4.0: + resolution: {integrity: sha512-RtgGgNpYxECwE9dFr+D66RtbN0B8r/fY6ZF8EVsmK2YnZxE8/n9LNQhgnkL9z37UFZjYVmvMuC32qu7fQBsLVQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -1830,8 +1739,8 @@ packages: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@2.9.0: - resolution: {integrity: sha512-ipFtDrqtF99qVVo+FE1fo6aHyLLp7hg6PNGfzY5KxQjcl0XCbyEFvjtR1NfkHDTN9rdFeEDxg59LLOv3VOAHAw==} + eslint-plugin-perfectionist@2.10.0: + resolution: {integrity: sha512-P+tdrkHeMWBc55+DZsoDOAftV1WCsEoHaKm6JC7zajFus/syfT4vUPBFb3atGFSuyaVnGQGHlcKpP9X3Q0gH/w==} peerDependencies: astro-eslint-parser: ^0.16.0 eslint: '>=8.0.0' @@ -1860,8 +1769,8 @@ packages: peerDependencies: eslint: '>=8.56.0' - eslint-plugin-unused-imports@3.1.0: - resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} + eslint-plugin-unused-imports@3.2.0: + resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': 6 - 7 @@ -2017,10 +1926,23 @@ packages: focus-trap@7.5.4: resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} @@ -2087,12 +2009,8 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - - globals@15.0.0: - resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} + globals@15.1.0: + resolution: {integrity: sha512-926gJqg+4mkxwYKiFvoomM4J0kWESfk3qfTvRL2/oc/tK/eTDBbrfcKnSa2KtfdxB5onoL7D3A3qIHQFpd4+UA==} engines: {node: '>=18'} globby@11.1.0: @@ -2157,8 +2075,8 @@ packages: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} - import-meta-resolve@4.0.0: - resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -2372,8 +2290,8 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} - jsonrepair@3.6.1: - resolution: {integrity: sha512-3yMISA+ma94/Sr8aDmB6mki6dKRoad4qMjddL+0gdymCnhjWPhzbNCyvx7ji7QroeicTSQW0lm77SC8Ecl/k3w==} + jsonrepair@3.7.0: + resolution: {integrity: sha512-TwE50n4P4gdVfMQF2q+X+IGy4ntFfcuHHE8zjRyBcdtrRK0ORZsjOZD6zmdylk4p277nQBAlHgsEPWtMIQk4LQ==} hasBin: true keyv@4.5.4: @@ -2410,10 +2328,6 @@ packages: resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} engines: {node: '>=18.0.0'} - local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} - local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -2485,8 +2399,8 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} lru-cache@6.0.0: @@ -2658,6 +2572,14 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -2701,8 +2623,8 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + mlly@1.7.0: + resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -2777,8 +2699,8 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} p-limit@2.3.0: @@ -2909,8 +2831,8 @@ packages: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - preact@10.20.2: - resolution: {integrity: sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg==} + preact@10.21.0: + resolution: {integrity: sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -2936,6 +2858,9 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -2943,8 +2868,8 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} @@ -3029,8 +2954,8 @@ packages: rollup: optional: true - rollup@4.16.4: - resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==} + rollup@4.17.2: + resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3045,8 +2970,8 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} - sass@1.75.0: - resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==} + sass@1.76.0: + resolution: {integrity: sha512-nc3LeqvF2FNW5xGF1zxZifdW3ffIz5aBb7I7tSvOoNu7z1RQ6pFt9MBuiPtjgaI62YWrM/txjWlOCFiGtf2xpw==} engines: {node: '>=14.0.0'} hasBin: true @@ -3078,8 +3003,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.3.0: - resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==} + shiki@1.4.0: + resolution: {integrity: sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==} siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -3291,8 +3216,8 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - tsx@4.7.2: - resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} + tsx@4.8.2: + resolution: {integrity: sha512-hmmzS4U4mdy1Cnzpl/NQiPUC2k34EcNSTZYVJThYKhdqTwuBeF+4cG9KUK/PFQ7KHaAaYwqlb7QfmsE2nuj+WA==} engines: {node: '>=18.0.0'} hasBin: true @@ -3373,8 +3298,8 @@ packages: '@vueuse/core': optional: true - unplugin-vue-components@0.26.0: - resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} + unplugin-vue-components@0.27.0: + resolution: {integrity: sha512-77eTEy23sQ0UpzGWnZ9I2mY3cnmXwklz4ITcn3JfxjCoX643ghImkiZ4nFm58sxbdVcc4Fo/o4LIoFnlqEqsSg==} engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 @@ -3390,8 +3315,8 @@ packages: resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} engines: {node: '>=14.0.0'} - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + update-browserslist-db@1.0.14: + resolution: {integrity: sha512-JixKH8GR2pWYshIPUg/NujK3JO7JiqEEUiNArE86NQyrgUuZeTlZQN3xuS/yiV5Kb48ev9K6RqNkaJjXsdg7Jw==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -3426,8 +3351,8 @@ packages: vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} - vite-node@1.5.0: - resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==} + vite-node@1.5.3: + resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3441,8 +3366,8 @@ packages: vite: optional: true - vite@5.2.10: - resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + vite@5.2.11: + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3469,8 +3394,8 @@ packages: terser: optional: true - vitepress@1.1.3: - resolution: {integrity: sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA==} + vitepress@1.1.4: + resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4 @@ -3481,15 +3406,15 @@ packages: postcss: optional: true - vitest@1.5.0: - resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} + vitest@1.5.3: + resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.5.0 - '@vitest/ui': 1.5.0 + '@vitest/browser': 1.5.3 + '@vitest/ui': 1.5.3 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -3506,8 +3431,8 @@ packages: jsdom: optional: true - vue-component-type-helpers@2.0.14: - resolution: {integrity: sha512-DInfgOyXlMyliyqAAD9frK28tTfch0+tMi4qoWJcZlRxUf+NFAtraJBnAsKLep+FOyLMiajkhfyEb3xLK08i7w==} + vue-component-type-helpers@2.0.16: + resolution: {integrity: sha512-qisL/iAfdO++7w+SsfYQJVPj6QKvxp4i1MMxvsNO41z/8zu3KuAw9LkhKUfP/kcOWGDxESp+pQObWppXusejCA==} vue-demi@0.14.7: resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} @@ -3526,8 +3451,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - vue-global-config@0.6.0: - resolution: {integrity: sha512-T9++CQPBWhZbRzD3NAWzcCpA0WFszLZHpTast6K5ME+yRa+d6MHkt7RpKgzGmuiTPo6cUCuc3hltjUqH81mUuw==} + vue-global-config@0.6.1: + resolution: {integrity: sha512-XkQQzmi+fgNhYcwkgXzu7QGG3grZaKQgyQA7YFr1pEKoUorsG0mllE8D8aYqXbaUQZ+dC+yurV15d4ndyfo/9g==} peerDependencies: '@vue/composition-api': '>=1' element-plus: '>=2' @@ -3547,8 +3472,8 @@ packages: peerDependencies: typescript: '*' - vue@3.4.24: - resolution: {integrity: sha512-NPdx7dLGyHmKHGRRU5bMRYVE+rechR+KDU5R2tSTNG36PuMwbfAJ+amEvOAw7BPfZp5sQulNELSLm5YUkau+Sg==} + vue@3.4.26: + resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3587,6 +3512,10 @@ packages: engines: {node: '>=8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -3621,8 +3550,8 @@ packages: resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} - yaml@2.4.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + yaml@2.4.2: + resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} engines: {node: '>= 14'} hasBin: true @@ -3656,8 +3585,6 @@ packages: snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0)': dependencies: '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.13.0) @@ -3767,34 +3694,35 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@2.15.0(@vue/compiler-sfc@3.4.24)(eslint-plugin-format@0.1.1(eslint-ts-patch@8.57.0-0))(eslint-ts-patch@8.57.0-0)(svelte@4.2.15)(typescript@5.4.5)(vitest@1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(happy-dom@14.7.1)(sass@1.75.0))': + '@antfu/eslint-config@2.16.1(@vue/compiler-sfc@3.4.26)(eslint-plugin-format@0.1.1(eslint-ts-patch@8.57.0-0))(eslint-ts-patch@8.57.0-0)(svelte@4.2.15)(typescript@5.4.5)(vitest@1.5.3(@types/node@20.12.8)(@vitest/ui@1.5.3)(happy-dom@14.7.1)(sass@1.76.0))': dependencies: - '@antfu/install-pkg': 0.3.2 + '@antfu/install-pkg': 0.3.3 '@clack/prompts': 0.7.0 - '@stylistic/eslint-plugin': 1.7.2(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) + '@stylistic/eslint-plugin': 1.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) '@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) '@typescript-eslint/parser': 7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) eslint: eslint-ts-patch@8.57.0-0 eslint-config-flat-gitignore: 0.1.5 - eslint-flat-config-utils: 0.2.3 + eslint-flat-config-utils: 0.2.4 eslint-merge-processors: 0.1.0(eslint-ts-patch@8.57.0-0) eslint-plugin-antfu: 2.1.2(eslint-ts-patch@8.57.0-0) + eslint-plugin-command: 0.1.5(eslint-ts-patch@8.57.0-0) eslint-plugin-eslint-comments: 3.2.0(eslint-ts-patch@8.57.0-0) eslint-plugin-import-x: 0.5.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) eslint-plugin-jsdoc: 48.2.3(eslint-ts-patch@8.57.0-0) eslint-plugin-jsonc: 2.15.1(eslint-ts-patch@8.57.0-0) eslint-plugin-markdown: 4.0.1(eslint-ts-patch@8.57.0-0) - eslint-plugin-n: 17.2.1(eslint-ts-patch@8.57.0-0) + eslint-plugin-n: 17.4.0(eslint-ts-patch@8.57.0-0) eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-perfectionist: 2.9.0(eslint-ts-patch@8.57.0-0)(svelte@4.2.15)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint-ts-patch@8.57.0-0)) + eslint-plugin-perfectionist: 2.10.0(eslint-ts-patch@8.57.0-0)(svelte@4.2.15)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint-ts-patch@8.57.0-0)) eslint-plugin-toml: 0.11.0(eslint-ts-patch@8.57.0-0) eslint-plugin-unicorn: 52.0.0(eslint-ts-patch@8.57.0-0) - eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0) - eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)(vitest@1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(happy-dom@14.7.1)(sass@1.75.0)) + eslint-plugin-unused-imports: 3.2.0(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0) + eslint-plugin-vitest: 0.5.4(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)(vitest@1.5.3(@types/node@20.12.8)(@vitest/ui@1.5.3)(happy-dom@14.7.1)(sass@1.76.0)) eslint-plugin-vue: 9.25.0(eslint-ts-patch@8.57.0-0) eslint-plugin-yml: 1.14.0(eslint-ts-patch@8.57.0-0) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.24)(eslint-ts-patch@8.57.0-0) - globals: 15.0.0 + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.4.26)(eslint-ts-patch@8.57.0-0) + globals: 15.1.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 @@ -3812,36 +3740,36 @@ snapshots: - typescript - vitest - '@antfu/install-pkg@0.3.2': + '@antfu/install-pkg@0.3.3': dependencies: - execa: 8.0.1 + '@jsdevtools/ez-spawn': 3.0.4 '@antfu/utils@0.7.7': {} '@babel/code-frame@7.24.2': dependencies: - '@babel/highlight': 7.24.2 + '@babel/highlight': 7.24.5 picocolors: 1.0.0 '@babel/helper-string-parser@7.24.1': {} - '@babel/helper-validator-identifier@7.22.20': {} + '@babel/helper-validator-identifier@7.24.5': {} - '@babel/highlight@7.24.2': + '@babel/highlight@7.24.5': dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.5 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.0 - '@babel/parser@7.24.4': + '@babel/parser@7.24.5': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 - '@babel/types@7.24.0': + '@babel/types@7.24.5': dependencies: '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.5 to-fast-properties: 2.0.0 '@clack/core@0.3.4': @@ -3883,7 +3811,7 @@ snapshots: '@lezer/lr': 1.4.0 style-mod: 4.1.2 - '@codemirror/lint@6.5.0': + '@codemirror/lint@6.7.0': dependencies: '@codemirror/state': 6.4.1 '@codemirror/view': 6.26.3 @@ -3903,11 +3831,11 @@ snapshots: style-mod: 4.1.2 w3c-keyname: 2.2.8 - '@commitlint/cli@19.3.0(@types/node@20.12.7)(typescript@5.4.5)': + '@commitlint/cli@19.3.0(@types/node@20.12.8)(typescript@5.4.5)': dependencies: '@commitlint/format': 19.3.0 '@commitlint/lint': 19.2.2 - '@commitlint/load': 19.2.0(@types/node@20.12.7)(typescript@5.4.5) + '@commitlint/load': 19.2.0(@types/node@20.12.8)(typescript@5.4.5) '@commitlint/read': 19.2.1 '@commitlint/types': 19.0.3 execa: 8.0.1 @@ -3924,7 +3852,7 @@ snapshots: '@commitlint/config-validator@19.0.3': dependencies: '@commitlint/types': 19.0.3 - ajv: 8.12.0 + ajv: 8.13.0 '@commitlint/ensure@19.0.3': dependencies: @@ -3954,7 +3882,7 @@ snapshots: '@commitlint/rules': 19.0.3 '@commitlint/types': 19.0.3 - '@commitlint/load@19.2.0(@types/node@20.12.7)(typescript@5.4.5)': + '@commitlint/load@19.2.0(@types/node@20.12.8)(typescript@5.4.5)': dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/execute-rule': 19.0.0 @@ -3962,7 +3890,7 @@ snapshots: '@commitlint/types': 19.0.3 chalk: 5.3.0 cosmiconfig: 9.0.0(typescript@5.4.5) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.7)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.8)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -3991,7 +3919,7 @@ snapshots: '@commitlint/config-validator': 19.0.3 '@commitlint/types': 19.0.3 global-directory: 4.0.1 - import-meta-resolve: 4.0.0 + import-meta-resolve: 4.1.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 @@ -4019,7 +3947,7 @@ snapshots: '@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)': dependencies: '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) - preact: 10.20.2 + preact: 10.21.0 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -4050,141 +3978,72 @@ snapshots: esquery: 1.5.0 jsdoc-type-pratt-parser: 4.0.0 - '@esbuild/aix-ppc64@0.19.12': - optional: true - '@esbuild/aix-ppc64@0.20.2': optional: true - '@esbuild/android-arm64@0.19.12': - optional: true - '@esbuild/android-arm64@0.20.2': optional: true - '@esbuild/android-arm@0.19.12': - optional: true - '@esbuild/android-arm@0.20.2': optional: true - '@esbuild/android-x64@0.19.12': - optional: true - '@esbuild/android-x64@0.20.2': optional: true - '@esbuild/darwin-arm64@0.19.12': - optional: true - '@esbuild/darwin-arm64@0.20.2': optional: true - '@esbuild/darwin-x64@0.19.12': - optional: true - '@esbuild/darwin-x64@0.20.2': optional: true - '@esbuild/freebsd-arm64@0.19.12': - optional: true - '@esbuild/freebsd-arm64@0.20.2': optional: true - '@esbuild/freebsd-x64@0.19.12': - optional: true - '@esbuild/freebsd-x64@0.20.2': optional: true - '@esbuild/linux-arm64@0.19.12': - optional: true - '@esbuild/linux-arm64@0.20.2': optional: true - '@esbuild/linux-arm@0.19.12': - optional: true - '@esbuild/linux-arm@0.20.2': optional: true - '@esbuild/linux-ia32@0.19.12': - optional: true - '@esbuild/linux-ia32@0.20.2': optional: true - '@esbuild/linux-loong64@0.19.12': - optional: true - '@esbuild/linux-loong64@0.20.2': optional: true - '@esbuild/linux-mips64el@0.19.12': - optional: true - '@esbuild/linux-mips64el@0.20.2': optional: true - '@esbuild/linux-ppc64@0.19.12': - optional: true - '@esbuild/linux-ppc64@0.20.2': optional: true - '@esbuild/linux-riscv64@0.19.12': - optional: true - '@esbuild/linux-riscv64@0.20.2': optional: true - '@esbuild/linux-s390x@0.19.12': - optional: true - '@esbuild/linux-s390x@0.20.2': optional: true - '@esbuild/linux-x64@0.19.12': - optional: true - '@esbuild/linux-x64@0.20.2': optional: true - '@esbuild/netbsd-x64@0.19.12': - optional: true - '@esbuild/netbsd-x64@0.20.2': optional: true - '@esbuild/openbsd-x64@0.19.12': - optional: true - '@esbuild/openbsd-x64@0.20.2': optional: true - '@esbuild/sunos-x64@0.19.12': - optional: true - '@esbuild/sunos-x64@0.20.2': optional: true - '@esbuild/win32-arm64@0.19.12': - optional: true - '@esbuild/win32-arm64@0.20.2': optional: true - '@esbuild/win32-ia32@0.19.12': - optional: true - '@esbuild/win32-ia32@0.20.2': optional: true - '@esbuild/win32-x64@0.19.12': - optional: true - '@esbuild/win32-x64@0.20.2': optional: true @@ -4268,6 +4127,13 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + '@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 + '@lezer/common@1.2.1': {} '@lezer/highlight@1.2.0': @@ -4284,23 +4150,23 @@ snapshots: dependencies: '@lezer/common': 1.2.1 - '@microsoft/api-extractor-model@7.28.13(@types/node@20.12.7)': + '@microsoft/api-extractor-model@7.28.13(@types/node@20.12.8)': dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.7) + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.8) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.43.0(@types/node@20.12.7)': + '@microsoft/api-extractor@7.43.0(@types/node@20.12.8)': dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@20.12.7) + '@microsoft/api-extractor-model': 7.28.13(@types/node@20.12.8) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.7) + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.8) '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.10.0(@types/node@20.12.7) - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) + '@rushstack/terminal': 0.10.0(@types/node@20.12.8) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.8) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -4346,63 +4212,63 @@ snapshots: '@codemirror/state': 6.4.1 '@codemirror/view': 6.26.3 - '@rollup/pluginutils@5.1.0(rollup@4.16.4)': + '@rollup/pluginutils@5.1.0(rollup@4.17.2)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.16.4 + rollup: 4.17.2 - '@rollup/rollup-android-arm-eabi@4.16.4': + '@rollup/rollup-android-arm-eabi@4.17.2': optional: true - '@rollup/rollup-android-arm64@4.16.4': + '@rollup/rollup-android-arm64@4.17.2': optional: true - '@rollup/rollup-darwin-arm64@4.16.4': + '@rollup/rollup-darwin-arm64@4.17.2': optional: true - '@rollup/rollup-darwin-x64@4.16.4': + '@rollup/rollup-darwin-x64@4.17.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.16.4': + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.16.4': + '@rollup/rollup-linux-arm-musleabihf@4.17.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.16.4': + '@rollup/rollup-linux-arm64-gnu@4.17.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.16.4': + '@rollup/rollup-linux-arm64-musl@4.17.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.16.4': + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.16.4': + '@rollup/rollup-linux-riscv64-gnu@4.17.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.16.4': + '@rollup/rollup-linux-s390x-gnu@4.17.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.16.4': + '@rollup/rollup-linux-x64-gnu@4.17.2': optional: true - '@rollup/rollup-linux-x64-musl@4.16.4': + '@rollup/rollup-linux-x64-musl@4.17.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.16.4': + '@rollup/rollup-win32-arm64-msvc@4.17.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.16.4': + '@rollup/rollup-win32-ia32-msvc@4.17.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.16.4': + '@rollup/rollup-win32-x64-msvc@4.17.2': optional: true - '@rushstack/node-core-library@4.0.2(@types/node@20.12.7)': + '@rushstack/node-core-library@4.0.2(@types/node@20.12.8)': dependencies: fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -4411,40 +4277,40 @@ snapshots: semver: 7.5.4 z-schema: 5.0.5 optionalDependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 '@rushstack/rig-package@0.5.2': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.10.0(@types/node@20.12.7)': + '@rushstack/terminal@0.10.0(@types/node@20.12.8)': dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.7) + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.8) supports-color: 8.1.1 optionalDependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 - '@rushstack/ts-command-line@4.19.1(@types/node@20.12.7)': + '@rushstack/ts-command-line@4.19.1(@types/node@20.12.8)': dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.7) + '@rushstack/terminal': 0.10.0(@types/node@20.12.8) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 transitivePeerDependencies: - '@types/node' - '@shikijs/core@1.3.0': {} + '@shikijs/core@1.4.0': {} - '@shikijs/transformers@1.3.0': + '@shikijs/transformers@1.4.0': dependencies: - shiki: 1.3.0 + shiki: 1.4.0 '@sinclair/typebox@0.27.8': {} '@sphinxxxx/color-conversion@2.2.2': {} - '@stylistic/eslint-plugin-js@1.7.2(eslint-ts-patch@8.57.0-0)': + '@stylistic/eslint-plugin-js@1.8.0(eslint-ts-patch@8.57.0-0)': dependencies: '@types/eslint': 8.56.10 acorn: 8.11.3 @@ -4453,15 +4319,15 @@ snapshots: eslint-visitor-keys: 3.4.3 espree: 9.6.1 - '@stylistic/eslint-plugin-jsx@1.7.2(eslint-ts-patch@8.57.0-0)': + '@stylistic/eslint-plugin-jsx@1.8.0(eslint-ts-patch@8.57.0-0)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.2(eslint-ts-patch@8.57.0-0) + '@stylistic/eslint-plugin-js': 1.8.0(eslint-ts-patch@8.57.0-0) '@types/eslint': 8.56.10 eslint: eslint-ts-patch@8.57.0-0 estraverse: 5.3.0 picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@1.7.2(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)': + '@stylistic/eslint-plugin-plus@1.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)': dependencies: '@types/eslint': 8.56.10 '@typescript-eslint/utils': 6.21.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) @@ -4470,9 +4336,9 @@ snapshots: - supports-color - typescript - '@stylistic/eslint-plugin-ts@1.7.2(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)': + '@stylistic/eslint-plugin-ts@1.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.2(eslint-ts-patch@8.57.0-0) + '@stylistic/eslint-plugin-js': 1.8.0(eslint-ts-patch@8.57.0-0) '@types/eslint': 8.56.10 '@typescript-eslint/utils': 6.21.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) eslint: eslint-ts-patch@8.57.0-0 @@ -4480,12 +4346,12 @@ snapshots: - supports-color - typescript - '@stylistic/eslint-plugin@1.7.2(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)': + '@stylistic/eslint-plugin@1.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 1.7.2(eslint-ts-patch@8.57.0-0) - '@stylistic/eslint-plugin-jsx': 1.7.2(eslint-ts-patch@8.57.0-0) - '@stylistic/eslint-plugin-plus': 1.7.2(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) - '@stylistic/eslint-plugin-ts': 1.7.2(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) + '@stylistic/eslint-plugin-js': 1.8.0(eslint-ts-patch@8.57.0-0) + '@stylistic/eslint-plugin-jsx': 1.8.0(eslint-ts-patch@8.57.0-0) + '@stylistic/eslint-plugin-plus': 1.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) + '@stylistic/eslint-plugin-ts': 1.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) '@types/eslint': 8.56.10 eslint: eslint-ts-patch@8.57.0-0 transitivePeerDependencies: @@ -4496,11 +4362,11 @@ snapshots: '@types/conventional-commits-parser@5.0.0': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 '@types/debug@4.1.12': dependencies: @@ -4515,7 +4381,7 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/linkify-it@3.0.5': {} + '@types/linkify-it@5.0.0': {} '@types/lodash-es@4.17.12': dependencies: @@ -4523,20 +4389,20 @@ snapshots: '@types/lodash@4.17.0': {} - '@types/markdown-it@14.0.1': + '@types/markdown-it@14.1.1': dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 + '@types/linkify-it': 5.0.0 + '@types/mdurl': 2.0.0 '@types/mdast@3.0.15': dependencies: '@types/unist': 2.0.10 - '@types/mdurl@1.0.5': {} + '@types/mdurl@2.0.0': {} '@types/ms@0.7.34': {} - '@types/node@20.12.7': + '@types/node@20.12.8': dependencies: undici-types: 5.26.5 @@ -4544,7 +4410,7 @@ snapshots: '@types/prompts@2.4.9': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 kleur: 3.0.3 '@types/semver@7.5.8': {} @@ -4596,6 +4462,11 @@ snapshots: '@typescript-eslint/types': 7.7.1 '@typescript-eslint/visitor-keys': 7.7.1 + '@typescript-eslint/scope-manager@7.8.0': + dependencies: + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/type-utils@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)': dependencies: '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5) @@ -4612,6 +4483,8 @@ snapshots: '@typescript-eslint/types@7.7.1': {} + '@typescript-eslint/types@7.8.0': {} + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 6.21.0 @@ -4642,6 +4515,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@6.21.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.57.0-0) @@ -4670,6 +4558,20 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@7.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.57.0-0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + eslint: eslint-ts-patch@8.57.0-0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/visitor-keys@6.21.0': dependencies: '@typescript-eslint/types': 6.21.0 @@ -4680,47 +4582,52 @@ snapshots: '@typescript-eslint/types': 7.7.1 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@7.8.0': + dependencies: + '@typescript-eslint/types': 7.8.0 + eslint-visitor-keys: 3.4.3 + '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-vue@5.0.4(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.24(typescript@5.4.5))': + '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0))(vue@3.4.26(typescript@5.4.5))': dependencies: - vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0) - vue: 3.4.24(typescript@5.4.5) + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0) + vue: 3.4.26(typescript@5.4.5) - '@vitest/expect@1.5.0': + '@vitest/expect@1.5.3': dependencies: - '@vitest/spy': 1.5.0 - '@vitest/utils': 1.5.0 + '@vitest/spy': 1.5.3 + '@vitest/utils': 1.5.3 chai: 4.4.1 - '@vitest/runner@1.5.0': + '@vitest/runner@1.5.3': dependencies: - '@vitest/utils': 1.5.0 + '@vitest/utils': 1.5.3 p-limit: 5.0.0 pathe: 1.1.2 - '@vitest/snapshot@1.5.0': + '@vitest/snapshot@1.5.3': dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 - '@vitest/spy@1.5.0': + '@vitest/spy@1.5.3': dependencies: tinyspy: 2.2.1 - '@vitest/ui@1.5.0(vitest@1.5.0)': + '@vitest/ui@1.5.3(vitest@1.5.3)': dependencies: - '@vitest/utils': 1.5.0 + '@vitest/utils': 1.5.3 fast-glob: 3.3.2 fflate: 0.8.2 flatted: 3.3.1 pathe: 1.1.2 picocolors: 1.0.0 sirv: 2.0.4 - vitest: 1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(happy-dom@14.7.1)(sass@1.75.0) + vitest: 1.5.3(@types/node@20.12.8)(@vitest/ui@1.5.3)(happy-dom@14.7.1)(sass@1.76.0) - '@vitest/utils@1.5.0': + '@vitest/utils@1.5.3': dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -4740,56 +4647,56 @@ snapshots: '@volar/language-core': 1.11.1 path-browserify: 1.0.1 - '@vue/compiler-core@3.4.24': + '@vue/compiler-core@3.4.26': dependencies: - '@babel/parser': 7.24.4 - '@vue/shared': 3.4.24 + '@babel/parser': 7.24.5 + '@vue/shared': 3.4.26 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.24': + '@vue/compiler-dom@3.4.26': dependencies: - '@vue/compiler-core': 3.4.24 - '@vue/shared': 3.4.24 + '@vue/compiler-core': 3.4.26 + '@vue/shared': 3.4.26 - '@vue/compiler-sfc@3.4.24': + '@vue/compiler-sfc@3.4.26': dependencies: - '@babel/parser': 7.24.4 - '@vue/compiler-core': 3.4.24 - '@vue/compiler-dom': 3.4.24 - '@vue/compiler-ssr': 3.4.24 - '@vue/shared': 3.4.24 + '@babel/parser': 7.24.5 + '@vue/compiler-core': 3.4.26 + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 estree-walker: 2.0.2 magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.24': + '@vue/compiler-ssr@3.4.26': dependencies: - '@vue/compiler-dom': 3.4.24 - '@vue/shared': 3.4.24 + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.26 - '@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5))': + '@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5))': dependencies: - vue: 3.4.24(typescript@5.4.5) + vue: 3.4.26(typescript@5.4.5) - '@vue/devtools-api@7.1.2(vue@3.4.24(typescript@5.4.5))': + '@vue/devtools-api@7.1.3(vue@3.4.26(typescript@5.4.5))': dependencies: - '@vue/devtools-kit': 7.1.2(vue@3.4.24(typescript@5.4.5)) + '@vue/devtools-kit': 7.1.3(vue@3.4.26(typescript@5.4.5)) transitivePeerDependencies: - vue - '@vue/devtools-kit@7.1.2(vue@3.4.24(typescript@5.4.5))': + '@vue/devtools-kit@7.1.3(vue@3.4.26(typescript@5.4.5))': dependencies: - '@vue/devtools-shared': 7.1.2 + '@vue/devtools-shared': 7.1.3 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.24(typescript@5.4.5) + vue: 3.4.26(typescript@5.4.5) - '@vue/devtools-shared@7.1.2': + '@vue/devtools-shared@7.1.3': dependencies: rfdc: 1.3.1 @@ -4797,8 +4704,8 @@ snapshots: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.24 - '@vue/shared': 3.4.24 + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.26 computeds: 0.0.1 minimatch: 9.0.4 muggle-string: 0.3.1 @@ -4807,50 +4714,51 @@ snapshots: optionalDependencies: typescript: 5.4.5 - '@vue/reactivity@3.4.24': + '@vue/reactivity@3.4.26': dependencies: - '@vue/shared': 3.4.24 + '@vue/shared': 3.4.26 - '@vue/runtime-core@3.4.24': + '@vue/runtime-core@3.4.26': dependencies: - '@vue/reactivity': 3.4.24 - '@vue/shared': 3.4.24 + '@vue/reactivity': 3.4.26 + '@vue/shared': 3.4.26 - '@vue/runtime-dom@3.4.24': + '@vue/runtime-dom@3.4.26': dependencies: - '@vue/runtime-core': 3.4.24 - '@vue/shared': 3.4.24 + '@vue/runtime-core': 3.4.26 + '@vue/shared': 3.4.26 csstype: 3.1.3 - '@vue/server-renderer@3.4.24(vue@3.4.24(typescript@5.4.5))': + '@vue/server-renderer@3.4.26(vue@3.4.26(typescript@5.4.5))': dependencies: - '@vue/compiler-ssr': 3.4.24 - '@vue/shared': 3.4.24 - vue: 3.4.24(typescript@5.4.5) + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 + vue: 3.4.26(typescript@5.4.5) - '@vue/shared@3.4.24': {} + '@vue/shared@3.4.26': {} '@vue/test-utils@2.4.5': dependencies: js-beautify: 1.15.1 - vue-component-type-helpers: 2.0.14 + vue-component-type-helpers: 2.0.16 - '@vueuse/core@10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5))': + '@vueuse/core@10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) - vue-demi: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + vue-demi: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(focus-trap@7.5.4)(vue@3.4.24(typescript@5.4.5))': + '@vueuse/integrations@10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(axios@1.6.8)(focus-trap@7.5.4)(vue@3.4.26(typescript@5.4.5))': dependencies: - '@vueuse/core': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) - '@vueuse/shared': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) - vue-demi: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) + '@vueuse/core': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + '@vueuse/shared': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + vue-demi: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) optionalDependencies: + axios: 1.6.8 focus-trap: 7.5.4 transitivePeerDependencies: - '@vue/composition-api' @@ -4858,9 +4766,9 @@ snapshots: '@vueuse/metadata@10.9.0': {} - '@vueuse/shared@10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5))': + '@vueuse/shared@10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5))': dependencies: - vue-demi: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) + vue-demi: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4892,7 +4800,7 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.12.0: + ajv@8.13.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -4958,6 +4866,16 @@ snapshots: assertion-error@1.1.0: {} + asynckit@0.4.0: {} + + axios@1.6.8: + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + axobject-query@4.0.0: dependencies: dequal: 2.0.3 @@ -4985,10 +4903,10 @@ snapshots: browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001612 - electron-to-chromium: 1.4.747 + caniuse-lite: 1.0.30001615 + electron-to-chromium: 1.4.754 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) + update-browserslist-db: 1.0.14(browserslist@4.23.0) builtin-modules@3.3.0: {} @@ -4998,9 +4916,11 @@ snapshots: cac@6.7.14: {} + call-me-maybe@1.0.2: {} + callsites@3.1.0: {} - caniuse-lite@1.0.30001612: {} + caniuse-lite@1.0.30001615: {} case-police@0.6.1: {} @@ -5111,6 +5031,10 @@ snapshots: colorette@2.0.20: {} + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + commander@10.0.1: {} commander@11.1.0: {} @@ -5155,9 +5079,9 @@ snapshots: dependencies: browserslist: 4.23.0 - cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.7)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5): + cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.8)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5): dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 cosmiconfig: 9.0.0(typescript@5.4.5) jiti: 1.21.0 typescript: 5.4.5 @@ -5232,6 +5156,8 @@ snapshots: rimraf: 3.0.2 slash: 4.0.0 + delayed-stream@1.0.0: {} + dequal@2.0.3: {} diff-sequences@29.6.3: {} @@ -5259,7 +5185,7 @@ snapshots: minimatch: 9.0.1 semver: 7.6.0 - electron-to-chromium@1.4.747: {} + electron-to-chromium@1.4.754: {} emoji-regex@10.3.0: {} @@ -5280,32 +5206,6 @@ snapshots: dependencies: is-arrayish: 0.2.1 - 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 - esbuild@0.20.2: optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 @@ -5350,7 +5250,7 @@ snapshots: find-up: 7.0.0 parse-gitignore: 2.0.0 - eslint-flat-config-utils@0.2.3: + eslint-flat-config-utils@0.2.4: dependencies: '@types/eslint': 8.56.10 pathe: 1.1.2 @@ -5378,6 +5278,10 @@ snapshots: dependencies: eslint: eslint-ts-patch@8.57.0-0 + eslint-plugin-command@0.1.5(eslint-ts-patch@8.57.0-0): + dependencies: + eslint: eslint-ts-patch@8.57.0-0 + eslint-plugin-es-x@7.6.0(eslint-ts-patch@8.57.0-0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.57.0-0) @@ -5404,7 +5308,7 @@ snapshots: eslint-plugin-import-x@0.5.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5): dependencies: - '@typescript-eslint/utils': 7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) debug: 4.3.4 doctrine: 3.0.0 eslint: eslint-ts-patch@8.57.0-0 @@ -5450,23 +5354,23 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-n@17.2.1(eslint-ts-patch@8.57.0-0): + eslint-plugin-n@17.4.0(eslint-ts-patch@8.57.0-0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.57.0-0) enhanced-resolve: 5.16.0 eslint: eslint-ts-patch@8.57.0-0 eslint-plugin-es-x: 7.6.0(eslint-ts-patch@8.57.0-0) get-tsconfig: 4.7.3 - globals: 14.0.0 + globals: 15.1.0 ignore: 5.3.1 minimatch: 9.0.4 semver: 7.6.0 eslint-plugin-no-only-tests@3.1.0: {} - eslint-plugin-perfectionist@2.9.0(eslint-ts-patch@8.57.0-0)(svelte@4.2.15)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint-ts-patch@8.57.0-0)): + eslint-plugin-perfectionist@2.10.0(eslint-ts-patch@8.57.0-0)(svelte@4.2.15)(typescript@5.4.5)(vue-eslint-parser@9.4.2(eslint-ts-patch@8.57.0-0)): dependencies: - '@typescript-eslint/utils': 6.21.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) eslint: eslint-ts-patch@8.57.0-0 minimatch: 9.0.4 natural-compare-lite: 1.4.0 @@ -5489,7 +5393,7 @@ snapshots: eslint-plugin-unicorn@52.0.0(eslint-ts-patch@8.57.0-0): dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.5 '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.57.0-0) '@eslint/eslintrc': 2.1.4 ci-info: 4.0.0 @@ -5509,20 +5413,20 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0): + eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0): dependencies: eslint: eslint-ts-patch@8.57.0-0 eslint-rule-composer: 0.3.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) - eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)(vitest@1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(happy-dom@14.7.1)(sass@1.75.0)): + eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5)(vitest@1.5.3(@types/node@20.12.8)(@vitest/ui@1.5.3)(happy-dom@14.7.1)(sass@1.76.0)): dependencies: - '@typescript-eslint/utils': 7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) eslint: eslint-ts-patch@8.57.0-0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.7.1(@typescript-eslint/parser@7.7.1(eslint-ts-patch@8.57.0-0)(typescript@5.4.5))(eslint-ts-patch@8.57.0-0)(typescript@5.4.5) - vitest: 1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(happy-dom@14.7.1)(sass@1.75.0) + vitest: 1.5.3(@types/node@20.12.8)(@vitest/ui@1.5.3)(happy-dom@14.7.1)(sass@1.76.0) transitivePeerDependencies: - supports-color - typescript @@ -5552,9 +5456,9 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.24)(eslint-ts-patch@8.57.0-0): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.4.26)(eslint-ts-patch@8.57.0-0): dependencies: - '@vue/compiler-sfc': 3.4.24 + '@vue/compiler-sfc': 3.4.26 eslint: eslint-ts-patch@8.57.0-0 eslint-rule-composer@0.3.0: {} @@ -5611,7 +5515,7 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -5619,7 +5523,7 @@ snapshots: esno@4.7.0: dependencies: - tsx: 4.7.2 + tsx: 4.8.2 espree@9.6.1: dependencies: @@ -5723,11 +5627,19 @@ snapshots: dependencies: tabbable: 6.2.0 + follow-redirects@1.15.6: {} + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + format@0.2.2: {} fs-extra@7.0.1: @@ -5794,9 +5706,7 @@ snapshots: dependencies: type-fest: 0.20.2 - globals@14.0.0: {} - - globals@15.0.0: {} + globals@15.1.0: {} globby@11.1.0: dependencies: @@ -5854,7 +5764,7 @@ snapshots: import-lazy@4.0.0: {} - import-meta-resolve@4.0.0: {} + import-meta-resolve@4.1.0: {} imurmurhash@0.1.4: {} @@ -6015,7 +5925,7 @@ snapshots: jsonparse@1.3.1: {} - jsonrepair@3.6.1: {} + jsonrepair@3.7.0: {} keyv@4.5.4: dependencies: @@ -6060,11 +5970,9 @@ snapshots: rfdc: 1.3.1 wrap-ansi: 9.0.0 - local-pkg@0.4.3: {} - local-pkg@0.5.0: dependencies: - mlly: 1.6.1 + mlly: 1.7.0 pkg-types: 1.1.0 locate-character@3.0.0: {} @@ -6123,7 +6031,7 @@ snapshots: dependencies: get-func-name: 2.0.2 - lru-cache@10.2.0: {} + lru-cache@10.2.2: {} lru-cache@6.0.0: dependencies: @@ -6135,8 +6043,8 @@ snapshots: magicast@0.3.4: dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 source-map-js: 1.2.0 mark.js@8.11.1: {} @@ -6469,6 +6377,12 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + mimic-fn@2.1.0: {} mimic-fn@4.0.0: {} @@ -6503,7 +6417,7 @@ snapshots: mitt@3.0.1: {} - mlly@1.6.1: + mlly@1.7.0: dependencies: acorn: 8.11.3 pathe: 1.1.2 @@ -6578,14 +6492,14 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 p-limit@2.3.0: dependencies: @@ -6659,7 +6573,7 @@ snapshots: path-scurry@1.10.2: dependencies: - lru-cache: 10.2.0 + lru-cache: 10.2.2 minipass: 7.0.4 path-type@4.0.0: {} @@ -6687,7 +6601,7 @@ snapshots: pkg-types@1.1.0: dependencies: confbox: 0.1.7 - mlly: 1.6.1 + mlly: 1.7.0 pathe: 1.1.2 pluralize@8.0.0: {} @@ -6703,7 +6617,7 @@ snapshots: picocolors: 1.0.0 source-map-js: 1.2.0 - preact@10.20.2: {} + preact@10.21.0: {} prelude-ls@1.2.1: {} @@ -6717,7 +6631,7 @@ snapshots: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 prompts@2.4.2: dependencies: @@ -6726,11 +6640,13 @@ snapshots: proto-list@1.2.4: {} + proxy-from-env@1.1.0: {} + punycode@2.3.1: {} queue-microtask@1.2.3: {} - react-is@18.2.0: {} + react-is@18.3.1: {} read-pkg-up@7.0.1: dependencies: @@ -6817,35 +6733,35 @@ snapshots: dependencies: glob: 7.2.3 - rollup-plugin-visualizer@5.12.0(rollup@4.16.4): + rollup-plugin-visualizer@5.12.0(rollup@4.17.2): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 4.16.4 + rollup: 4.17.2 - rollup@4.16.4: + rollup@4.17.2: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.16.4 - '@rollup/rollup-android-arm64': 4.16.4 - '@rollup/rollup-darwin-arm64': 4.16.4 - '@rollup/rollup-darwin-x64': 4.16.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.16.4 - '@rollup/rollup-linux-arm-musleabihf': 4.16.4 - '@rollup/rollup-linux-arm64-gnu': 4.16.4 - '@rollup/rollup-linux-arm64-musl': 4.16.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.16.4 - '@rollup/rollup-linux-riscv64-gnu': 4.16.4 - '@rollup/rollup-linux-s390x-gnu': 4.16.4 - '@rollup/rollup-linux-x64-gnu': 4.16.4 - '@rollup/rollup-linux-x64-musl': 4.16.4 - '@rollup/rollup-win32-arm64-msvc': 4.16.4 - '@rollup/rollup-win32-ia32-msvc': 4.16.4 - '@rollup/rollup-win32-x64-msvc': 4.16.4 + '@rollup/rollup-android-arm-eabi': 4.17.2 + '@rollup/rollup-android-arm64': 4.17.2 + '@rollup/rollup-darwin-arm64': 4.17.2 + '@rollup/rollup-darwin-x64': 4.17.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.2 + '@rollup/rollup-linux-arm-musleabihf': 4.17.2 + '@rollup/rollup-linux-arm64-gnu': 4.17.2 + '@rollup/rollup-linux-arm64-musl': 4.17.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2 + '@rollup/rollup-linux-riscv64-gnu': 4.17.2 + '@rollup/rollup-linux-s390x-gnu': 4.17.2 + '@rollup/rollup-linux-x64-gnu': 4.17.2 + '@rollup/rollup-linux-x64-musl': 4.17.2 + '@rollup/rollup-win32-arm64-msvc': 4.17.2 + '@rollup/rollup-win32-ia32-msvc': 4.17.2 + '@rollup/rollup-win32-x64-msvc': 4.17.2 fsevents: 2.3.3 run-applescript@7.0.0: {} @@ -6858,7 +6774,7 @@ snapshots: dependencies: mri: 1.2.0 - sass@1.75.0: + sass@1.76.0: dependencies: chokidar: 3.6.0 immutable: 4.3.5 @@ -6884,9 +6800,9 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.3.0: + shiki@1.4.0: dependencies: - '@shikijs/core': 1.3.0 + '@shikijs/core': 1.4.0 siginfo@2.0.0: {} @@ -7075,9 +6991,9 @@ snapshots: tslib@2.6.2: {} - tsx@4.7.2: + tsx@4.8.2: dependencies: - esbuild: 0.19.12 + esbuild: 0.20.2 get-tsconfig: 4.7.3 optionalDependencies: fsevents: 2.3.3 @@ -7114,16 +7030,16 @@ snapshots: trough: 2.2.0 vfile: 5.3.7 - unimport@3.7.1(rollup@4.16.4): + unimport@3.7.1(rollup@4.17.2): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.10 - mlly: 1.6.1 + mlly: 1.7.0 pathe: 1.1.2 pkg-types: 1.1.0 scule: 1.3.0 @@ -7157,36 +7073,36 @@ snapshots: universalify@0.1.2: {} - unplugin-auto-import@0.17.5(@vueuse/core@10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)))(rollup@4.16.4): + unplugin-auto-import@0.17.5(@vueuse/core@10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)))(rollup@4.17.2): dependencies: '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.10 minimatch: 9.0.4 - unimport: 3.7.1(rollup@4.16.4) + unimport: 3.7.1(rollup@4.17.2) unplugin: 1.10.1 optionalDependencies: - '@vueuse/core': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) + '@vueuse/core': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) transitivePeerDependencies: - rollup - unplugin-vue-components@0.26.0(@babel/parser@7.24.4)(rollup@4.16.4)(vue@3.4.24(typescript@5.4.5)): + unplugin-vue-components@0.27.0(@babel/parser@7.24.5)(rollup@4.17.2)(vue@3.4.26(typescript@5.4.5)): dependencies: '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) chokidar: 3.6.0 debug: 4.3.4 fast-glob: 3.3.2 - local-pkg: 0.4.3 + local-pkg: 0.5.0 magic-string: 0.30.10 minimatch: 9.0.4 resolve: 1.22.8 unplugin: 1.10.1 - vue: 3.4.24(typescript@5.4.5) + vue: 3.4.26(typescript@5.4.5) optionalDependencies: - '@babel/parser': 7.24.4 + '@babel/parser': 7.24.5 transitivePeerDependencies: - rollup - supports-color @@ -7198,7 +7114,7 @@ snapshots: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 - update-browserslist-db@1.0.13(browserslist@4.23.0): + update-browserslist-db@1.0.14(browserslist@4.23.0): dependencies: browserslist: 4.23.0 escalade: 3.1.2 @@ -7230,7 +7146,7 @@ snapshots: '@codemirror/commands': 6.5.0 '@codemirror/lang-json': 6.0.1 '@codemirror/language': 6.10.1 - '@codemirror/lint': 6.5.0 + '@codemirror/lint': 6.7.0 '@codemirror/search': 6.5.6 '@codemirror/state': 6.4.1 '@codemirror/view': 6.26.3 @@ -7238,17 +7154,17 @@ snapshots: '@fortawesome/free-solid-svg-icons': 6.5.2 '@lezer/highlight': 1.2.0 '@replit/codemirror-indentation-markers': 6.5.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3) - ajv: 8.12.0 + ajv: 8.13.0 codemirror-wrapped-line-indent: 1.0.8(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3) diff-sequences: 29.6.3 immutable-json-patch: 6.0.1 jmespath: 0.16.0 json-source-map: 0.6.1 - jsonrepair: 3.6.1 + jsonrepair: 3.7.0 lodash-es: 4.17.21 memoize-one: 6.0.0 natural-compare-lite: 1.4.0 - sass: 1.75.0 + sass: 1.76.0 svelte: 4.2.15 vanilla-picker: 2.12.3 transitivePeerDependencies: @@ -7270,13 +7186,13 @@ snapshots: unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 - vite-node@1.5.0(@types/node@20.12.7)(sass@1.75.0): + vite-node@1.5.3(@types/node@20.12.8)(sass@1.76.0): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0) + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0) transitivePeerDependencies: - '@types/node' - less @@ -7287,10 +7203,10 @@ snapshots: - supports-color - terser - vite-plugin-dts@3.9.0(@types/node@20.12.7)(rollup@4.16.4)(typescript@5.4.5)(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0)): + vite-plugin-dts@3.9.0(@types/node@20.12.8)(rollup@4.17.2)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0)): dependencies: - '@microsoft/api-extractor': 7.43.0(@types/node@20.12.7) - '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + '@microsoft/api-extractor': 7.43.0(@types/node@20.12.8) + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) '@vue/language-core': 1.8.27(typescript@5.4.5) debug: 4.3.4 kolorist: 1.8.0 @@ -7298,39 +7214,39 @@ snapshots: typescript: 5.4.5 vue-tsc: 1.8.27(typescript@5.4.5) optionalDependencies: - vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0) + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite@5.2.10(@types/node@20.12.7)(sass@1.75.0): + vite@5.2.11(@types/node@20.12.8)(sass@1.76.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.16.4 + rollup: 4.17.2 optionalDependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.8 fsevents: 2.3.3 - sass: 1.75.0 + sass: 1.76.0 - vitepress@1.1.3(@algolia/client-search@4.23.3)(@types/node@20.12.7)(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(postcss@8.4.38)(sass@1.75.0)(search-insights@2.13.0)(typescript@5.4.5): + vitepress@1.1.4(@algolia/client-search@4.23.3)(@types/node@20.12.8)(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(axios@1.6.8)(postcss@8.4.38)(sass@1.76.0)(search-insights@2.13.0)(typescript@5.4.5): dependencies: '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) - '@shikijs/core': 1.3.0 - '@shikijs/transformers': 1.3.0 - '@types/markdown-it': 14.0.1 - '@vitejs/plugin-vue': 5.0.4(vite@5.2.10(@types/node@20.12.7)(sass@1.75.0))(vue@3.4.24(typescript@5.4.5)) - '@vue/devtools-api': 7.1.2(vue@3.4.24(typescript@5.4.5)) - '@vueuse/core': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) - '@vueuse/integrations': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(focus-trap@7.5.4)(vue@3.4.24(typescript@5.4.5)) + '@shikijs/core': 1.4.0 + '@shikijs/transformers': 1.4.0 + '@types/markdown-it': 14.1.1 + '@vitejs/plugin-vue': 5.0.4(vite@5.2.11(@types/node@20.12.8)(sass@1.76.0))(vue@3.4.26(typescript@5.4.5)) + '@vue/devtools-api': 7.1.3(vue@3.4.26(typescript@5.4.5)) + '@vueuse/core': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) + '@vueuse/integrations': 10.9.0(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(axios@1.6.8)(focus-trap@7.5.4)(vue@3.4.26(typescript@5.4.5)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - shiki: 1.3.0 - vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0) - vue: 3.4.24(typescript@5.4.5) + shiki: 1.4.0 + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0) + vue: 3.4.26(typescript@5.4.5) optionalDependencies: postcss: 8.4.38 transitivePeerDependencies: @@ -7360,13 +7276,13 @@ snapshots: - typescript - universal-cookie - vitest@1.5.0(@types/node@20.12.7)(@vitest/ui@1.5.0)(happy-dom@14.7.1)(sass@1.75.0): + vitest@1.5.3(@types/node@20.12.8)(@vitest/ui@1.5.3)(happy-dom@14.7.1)(sass@1.76.0): dependencies: - '@vitest/expect': 1.5.0 - '@vitest/runner': 1.5.0 - '@vitest/snapshot': 1.5.0 - '@vitest/spy': 1.5.0 - '@vitest/utils': 1.5.0 + '@vitest/expect': 1.5.3 + '@vitest/runner': 1.5.3 + '@vitest/snapshot': 1.5.3 + '@vitest/spy': 1.5.3 + '@vitest/utils': 1.5.3 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4 @@ -7379,12 +7295,12 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.2.10(@types/node@20.12.7)(sass@1.75.0) - vite-node: 1.5.0(@types/node@20.12.7)(sass@1.75.0) + vite: 5.2.11(@types/node@20.12.8)(sass@1.76.0) + vite-node: 1.5.3(@types/node@20.12.8)(sass@1.76.0) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.12.7 - '@vitest/ui': 1.5.0(vitest@1.5.0) + '@types/node': 20.12.8 + '@vitest/ui': 1.5.3(vitest@1.5.3) happy-dom: 14.7.1 transitivePeerDependencies: - less @@ -7395,13 +7311,13 @@ snapshots: - supports-color - terser - vue-component-type-helpers@2.0.14: {} + vue-component-type-helpers@2.0.16: {} - vue-demi@0.14.7(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)): + vue-demi@0.14.7(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)): dependencies: - vue: 3.4.24(typescript@5.4.5) + vue: 3.4.26(typescript@5.4.5) optionalDependencies: - '@vue/composition-api': 1.7.2(vue@3.4.24(typescript@5.4.5)) + '@vue/composition-api': 1.7.2(vue@3.4.26(typescript@5.4.5)) vue-eslint-parser@9.4.2(eslint-ts-patch@8.57.0-0): dependencies: @@ -7416,12 +7332,12 @@ snapshots: transitivePeerDependencies: - supports-color - vue-global-config@0.6.0(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)): + vue-global-config@0.6.1(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)): dependencies: - vue: 3.4.24(typescript@5.4.5) - vue-demi: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.24(typescript@5.4.5)))(vue@3.4.24(typescript@5.4.5)) + vue: 3.4.26(typescript@5.4.5) + vue-demi: 0.14.7(@vue/composition-api@1.7.2(vue@3.4.26(typescript@5.4.5)))(vue@3.4.26(typescript@5.4.5)) optionalDependencies: - '@vue/composition-api': 1.7.2(vue@3.4.24(typescript@5.4.5)) + '@vue/composition-api': 1.7.2(vue@3.4.26(typescript@5.4.5)) vue-template-compiler@2.7.16: dependencies: @@ -7435,13 +7351,13 @@ snapshots: semver: 7.6.0 typescript: 5.4.5 - vue@3.4.24(typescript@5.4.5): + vue@3.4.26(typescript@5.4.5): dependencies: - '@vue/compiler-dom': 3.4.24 - '@vue/compiler-sfc': 3.4.24 - '@vue/runtime-dom': 3.4.24 - '@vue/server-renderer': 3.4.24(vue@3.4.24(typescript@5.4.5)) - '@vue/shared': 3.4.24 + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-sfc': 3.4.26 + '@vue/runtime-dom': 3.4.26 + '@vue/server-renderer': 3.4.26(vue@3.4.26(typescript@5.4.5)) + '@vue/shared': 3.4.26 optionalDependencies: typescript: 5.4.5 @@ -7466,6 +7382,8 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + word-wrap@1.2.5: {} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -7496,11 +7414,11 @@ snapshots: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.4.1 + yaml: 2.4.2 yaml@2.3.4: {} - yaml@2.4.1: {} + yaml@2.4.2: {} yargs-parser@21.1.1: {} diff --git a/scripts/downloads-count.mts b/scripts/downloads-count.mts new file mode 100644 index 00000000..5e6cae42 --- /dev/null +++ b/scripts/downloads-count.mts @@ -0,0 +1,12 @@ +import axios from 'axios' +import { name } from '../package.json' + +const initialPublishDate = '2020-07-15' +const currentDate = new Date().toISOString().split('T')[0] +const url = `https://api.npmjs.org/downloads/range/${initialPublishDate}:${currentDate}/${name}` + +axios.get(url).then((response) => { + const data = response.data + const totalDownloads = data.downloads.reduce((acc: number, day: any) => acc + day.downloads, 0) + console.log(`Total npm downloads for ${name}: ${totalDownloads}`) +}) diff --git a/src/Component.ts b/src/Component.ts deleted file mode 100644 index 56d51621..00000000 --- a/src/Component.ts +++ /dev/null @@ -1,253 +0,0 @@ -import { debounce } from 'lodash-es' -import type { Mode } from 'vanilla-jsoneditor' -import { JSONEditor } from 'vanilla-jsoneditor' -import { computed, defineComponent, getCurrentInstance, h, isVue3, onMounted, onUnmounted, ref, unref, watch, watchEffect } from 'vue-demi' -import type { PropType } from 'vue-demi' -import { conclude } from 'vue-global-config' -import { PascalCasedName as name } from '../package.json' -import { globalAttrs, globalProps } from './install' - -type ModelValueProp = 'modelValue' | 'value' - -const defaultMode = 'tree' -const modelValueProp: ModelValueProp = isVue3 ? 'modelValue' : 'value' -const updateModelValue = isVue3 ? 'update:modelValue' : 'input' -const boolAttrs = [ - 'mainMenuBar', - 'navigationBar', - 'statusBar', - 'askToFormat', - 'readOnly', - 'escapeControlCharacters', - 'escapeUnicodeCharacters', - 'flattenColumns', -] as const - -export default defineComponent({ - name, - props: { - /** - * binding value - * @type {any} - */ - [modelValueProp]: {}, - /** - * edit mode - * @type {Mode} - */ - mode: { - type: String as PropType, - }, - /** - * debounce delay when typing, in milliseconds - * @type {number} - */ - debounce: { - type: Number as PropType, - }, - /** - * whether to keep the value as stringified JSON in text mode - * @type {boolean} - */ - stringified: { - type: Boolean as PropType, - default: undefined, - }, - /** - * properties of [svelte-jsoneditor](https://github.com/josdejong/svelte-jsoneditor/#properties) - * @type {boolean} - */ - ...Object.fromEntries( - boolAttrs.map(boolAttr => [ - boolAttr, - { - type: Boolean as PropType, - default: undefined, - }, - ]), - ), - }, - emits: { - [updateModelValue](_payload: any) { - return true - }, - 'update:mode': function (_payload: Mode) { - return true - }, - }, - setup(props, { attrs, emit, expose }) { - const currentInstance = getCurrentInstance()?.proxy - const jsonEditor = ref() - const preventUpdatingContent = ref(false) - - const computedMode = ref() - watchEffect(() => { - computedMode.value = conclude([props.mode, globalProps.mode], { - type: String as PropType, - }) - jsonEditor.value?.updateProps({ - mode: computedMode.value || defaultMode, - }) - }) - const onChangeMode = (mode: Mode) => { - emit('update:mode', mode) - } - // Synchronize the local `mode` with the global one - if (globalProps.mode !== undefined && props.mode === undefined) { - onChangeMode(globalProps.mode) - } - - const computedDebounce = computed(() => { - return conclude([props.debounce, globalProps.debounce, 100], { - type: Number as PropType, - }) - }) - const computedStringified = computed(() => conclude([props.stringified, globalProps.stringified, true], { - type: Boolean as PropType, - })) - const onChange = debounce((updatedContent: { json?: any, text?: string }) => { - preventUpdatingContent.value = true - if (!computedStringified.value && updatedContent.text) { - if (jsonEditor.value && !jsonEditor.value.validate()) { - updatedContent.json = JSON.parse(updatedContent.text) - } - updatedContent.text = undefined - } - emit( - updateModelValue, - updatedContent.text === undefined - ? updatedContent.json - : updatedContent.text, - ) - }, computedDebounce.value) - - const mergeFunction = (previousValue: (...args: any) => unknown, currentValue: (...args: any) => unknown) => (...args: any) => { - previousValue(...args) - currentValue(...args) - } - - expose?.({ jsonEditor }) - - onUnmounted(() => { - jsonEditor.value?.destroy() - }) - - onMounted(() => { - const initialValue = conclude([props[modelValueProp], globalProps[modelValueProp]]) - const initialBoolAttrs = Object.fromEntries( - Array.from(boolAttrs, boolAttr => [boolAttr, conclude([props[boolAttr], globalProps[boolAttr]])]).filter( - ([, v]) => v !== undefined, - ), - ) - const initialAttrs = conclude( - [ - initialBoolAttrs, - attrs, - globalAttrs, - { - onChange, - onChangeMode, - mode: computedMode.value, - ...(initialValue !== undefined && { - content: { - [(typeof initialValue === 'string' && computedMode.value === 'text' && computedStringified.value) - ? 'text' - : 'json']: initialValue, - }, - }), - }, - ], - { - camelizeObjectKeys: true, - mergeFunction, - type: Object, - }, - ) - - jsonEditor.value = new JSONEditor({ - target: currentInstance?.$refs.jsonEditorRef as Element, - props: initialAttrs, - }) - - watch( - () => props[modelValueProp], - (newModelValue: any) => { - if (preventUpdatingContent.value) { - preventUpdatingContent.value = false - return - } - if (jsonEditor.value) { - // jsonEditor.value.update cannot render new props in json - // `undefined` is not accepted by vanilla-jsoneditor - // The default value is `{ text: '' }` - // Only default value can clear the editor - jsonEditor.value.set( - [undefined, ''].includes(newModelValue) - ? { - text: '', - } - : { - [(typeof newModelValue === 'string' && computedMode.value === 'text' && computedStringified.value) - ? 'text' - : 'json']: newModelValue, - }, - ) - } - }, - { - deep: true, - }, - ) - - watch( - () => Array.from(boolAttrs, boolAttr => props[boolAttr]), - (values) => { - jsonEditor.value?.updateProps( - Object.fromEntries(Array.from(values, (v, i) => [boolAttrs[i], v]).filter(([, v]) => v !== undefined)), - ) - }, - ) - - watch( - () => attrs, - (newAttrs) => { - // Functions need to be merged again - const defaultFunctionAttrs: { - onChange?: (...args: any) => unknown - onChangeMode?: (...args: any) => unknown - } = {} - if (newAttrs.onChange || newAttrs['on-change']) { - defaultFunctionAttrs.onChange = onChange - } - if (newAttrs.onChangeMode || newAttrs['on-change-mode']) { - defaultFunctionAttrs.onChangeMode = onChangeMode - } - jsonEditor.value?.updateProps( - Object.getOwnPropertyNames(defaultFunctionAttrs).length > 0 - ? conclude([newAttrs, defaultFunctionAttrs], { - camelizeObjectKeys: true, - mergeFunction, - type: Object, - }) - : newAttrs, - ) - }, - { - deep: true, - }, - ) - - // There's no `expose` in @vue/composition-api - if (!expose) { - expose = (exposed: Record | undefined): void => { - for (const k in exposed) { - (currentInstance as any)[k] = unref(exposed[k]) - } - } - expose({ jsonEditor }) - } - }) - - return () => h('div', { ref: 'jsonEditorRef' }) - }, -}) diff --git a/src/index.ts b/src/index.ts index 8e81d085..6417b45d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,264 @@ -import ComponentWithInstall from './install' +import { debounce } from 'lodash-es' +import { JSONEditor, Mode } from 'vanilla-jsoneditor' +import { computed, defineComponent, getCurrentInstance, h, isVue3, onMounted, onUnmounted, ref, unref, watch, watchEffect } from 'vue-demi' +import type { App, Plugin, PropType } from 'vue-demi' +import { conclude, resolveConfig } from 'vue-global-config' +import { PascalCasedName as name } from '../package.json' -export default ComponentWithInstall +type SFCWithInstall = T & Plugin + +const propsGlobal: Record = {} +const attrsGlobal: Record = {} + +enum ModelValueProp { + vue3 = 'modelValue', + vue2 = 'value', +} +const modelValueProp: ModelValueProp = isVue3 ? ModelValueProp.vue3 : ModelValueProp.vue2 + +enum UpdateModelValue { + vue3 = 'update:modelValue', + vue2 = 'input', +} +const updateModelValue = isVue3 ? UpdateModelValue.vue3 : UpdateModelValue.vue2 + +const boolAttrs = [ + 'mainMenuBar', + 'navigationBar', + 'statusBar', + 'askToFormat', + 'readOnly', + 'escapeControlCharacters', + 'escapeUnicodeCharacters', + 'flattenColumns', +] as const + +const props = { + [modelValueProp]: {}, + mode: { + type: String as PropType, + }, + debounce: { + type: Number as PropType, + }, + stringified: { + type: Boolean as PropType, + default: undefined, + }, + ...Object.fromEntries( + boolAttrs.map(boolAttr => [ + boolAttr, + { + type: Boolean as PropType, + default: undefined, + }, + ]), + ), +} as { + [key in ModelValueProp]: object +} & { + mode: { type: PropType } + debounce: { type: PropType } + stringified: { type: PropType, default: undefined } +} & { + [key in typeof boolAttrs[number]]: { + type: PropType + default: undefined + } +} + +const JsonEditorVue = defineComponent({ + name, + install(app: App, options?: typeof props): void { + const optionsGlobal = resolveConfig(options || {}, { props }) + Object.assign(propsGlobal, optionsGlobal.props) + Object.assign(attrsGlobal, optionsGlobal.attrs) + app.component(name, this) + }, + props, + emits: { + [updateModelValue](_payload: any) { + return true + }, + 'update:mode': function (_payload: Mode) { + return true + }, + }, + setup(props, { attrs, emit, expose }) { + const currentInstance = getCurrentInstance()?.proxy + const jsonEditor = ref() + const preventUpdatingContent = ref(false) + + const modeComputed = ref() + watchEffect(() => { + modeComputed.value = conclude([props.mode, propsGlobal.mode], { + type: String as PropType, + }) + jsonEditor.value?.updateProps({ + mode: modeComputed.value || Mode.tree, + }) + }) + const onChangeMode = (mode: Mode) => { + emit('update:mode', mode) + } + // Synchronize the local `mode` with the global one + if (propsGlobal.mode !== undefined && props.mode === undefined) { + onChangeMode(propsGlobal.mode) + } + + const debounceComputed = computed(() => { + return conclude([props.debounce, propsGlobal.debounce, 100], { + type: Number as PropType, + }) + }) + const stringifiedComputed = computed(() => conclude([props.stringified, propsGlobal.stringified, true], { + type: Boolean as PropType, + })) + const onChange = debounce((updatedContent: { json?: any, text?: string }) => { + preventUpdatingContent.value = true + if (!stringifiedComputed.value && updatedContent.text) { + if (jsonEditor.value && !jsonEditor.value.validate()) { + updatedContent.json = JSON.parse(updatedContent.text) + } + updatedContent.text = undefined + } + emit( + updateModelValue, + updatedContent.text === undefined + ? updatedContent.json + : updatedContent.text, + ) + }, debounceComputed.value) + + const mergeFunction = (previousValue: (...args: any) => unknown, currentValue: (...args: any) => unknown) => (...args: any) => { + previousValue(...args) + currentValue(...args) + } + + expose?.({ jsonEditor }) + + onUnmounted(() => { + jsonEditor.value?.destroy() + }) + + onMounted(() => { + const initialValue = conclude([props[modelValueProp], propsGlobal[modelValueProp]]) + const initialBoolAttrs = Object.fromEntries( + Array.from(boolAttrs, boolAttr => [boolAttr, conclude([props[boolAttr], propsGlobal[boolAttr]])]).filter( + ([, v]) => v !== undefined, + ), + ) + const initialAttrs = conclude( + [ + initialBoolAttrs, + attrs, + attrsGlobal, + { + onChange, + onChangeMode, + mode: modeComputed.value, + ...(initialValue !== undefined && { + content: { + [(typeof initialValue === 'string' && modeComputed.value === 'text' && stringifiedComputed.value) + ? 'text' + : 'json']: initialValue, + }, + }), + }, + ], + { + camelizeObjectKeys: true, + mergeFunction, + type: Object, + }, + ) + + jsonEditor.value = new JSONEditor({ + target: currentInstance?.$refs.jsonEditorRef as Element, + props: initialAttrs, + }) + + watch( + () => props[modelValueProp], + (newModelValue: any) => { + if (preventUpdatingContent.value) { + preventUpdatingContent.value = false + return + } + if (jsonEditor.value) { + // jsonEditor.value.update cannot render new props in json + // `undefined` is not accepted by vanilla-jsoneditor + // The default value is `{ text: '' }` + // Only default value can clear the editor + jsonEditor.value.set( + [undefined, ''].includes(newModelValue) + ? { + text: '', + } + : { + [(typeof newModelValue === 'string' && modeComputed.value === 'text' && stringifiedComputed.value) + ? 'text' + : 'json']: newModelValue, + }, + ) + } + }, + { + deep: true, + }, + ) + + watch( + () => Array.from(boolAttrs, boolAttr => props[boolAttr]), + (values) => { + jsonEditor.value?.updateProps( + Object.fromEntries(Array.from(values, (v, i) => [boolAttrs[i], v]).filter(([, v]) => v !== undefined)), + ) + }, + ) + + watch( + () => attrs, + (newAttrs) => { + // Functions need to be merged again + const defaultFunctionAttrs: { + onChange?: (...args: any) => unknown + onChangeMode?: (...args: any) => unknown + } = {} + if (newAttrs.onChange || newAttrs['on-change']) { + defaultFunctionAttrs.onChange = onChange + } + if (newAttrs.onChangeMode || newAttrs['on-change-mode']) { + defaultFunctionAttrs.onChangeMode = onChangeMode + } + jsonEditor.value?.updateProps( + Object.getOwnPropertyNames(defaultFunctionAttrs).length > 0 + ? conclude([newAttrs, defaultFunctionAttrs], { + camelizeObjectKeys: true, + mergeFunction, + type: Object, + }) + : newAttrs, + ) + }, + { + deep: true, + }, + ) + + // There's no `expose` in @vue/composition-api + if (!expose) { + expose = (exposed: Record | undefined): void => { + for (const k in exposed) { + (currentInstance as any)[k] = unref(exposed[k]) + } + } + expose({ jsonEditor }) + } + }) + + return () => h('div', { ref: 'jsonEditorRef' }) + }, +}) + +export default JsonEditorVue as SFCWithInstall diff --git a/src/install.ts b/src/install.ts deleted file mode 100644 index 80bf6881..00000000 --- a/src/install.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { resolveConfig } from 'vue-global-config' -import type { App } from 'vue-demi' -import Component from './Component' - -const globalProps: Record = {} -const globalAttrs: Record = {} - -type SFCWithInstall = typeof Component & { - install: (app: App, options?: Record) => void -} - -function withInstall(sfc: typeof Component): SFCWithInstall { - (sfc as SFCWithInstall).install = (app: App, options = {}): void => { - const { props, attrs } = resolveConfig(options, { props: Component.props }) - Object.assign(globalProps, props) - Object.assign(globalAttrs, attrs) - app.component(sfc.name as string, sfc as object) - } - - return sfc as SFCWithInstall -} - -export { globalProps, globalAttrs } -export default withInstall(Component)