diff --git a/.github/renovate.json5 b/.github/renovate.json5 index cef9edbd4..32d9ec60a 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -5,6 +5,8 @@ "prConcurrentLimit": 1, // auto-merge if build is OK "automerge": true, + // ignore js-beautify updates until https://github.com/vuejs/test-utils/pull/1834 is resolved + "ignoreDeps": ["js-beautify"], "packageRules": [ // group vitest packages update { diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 53f6f5fd7..a40d39c8a 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -86,6 +86,7 @@ export default defineConfig({ text: 'Reusability and Composition', link: '/guide/advanced/reusability-composition' }, + { text: 'Testing v-model', link: '/guide/advanced/v-model' }, { text: 'Testing Vuex', link: '/guide/advanced/vuex' }, { text: 'Testing Vue Router', link: '/guide/advanced/vue-router' }, { text: 'Testing Teleport', link: '/guide/advanced/teleport' }, diff --git a/docs/guide/advanced/v-model.md b/docs/guide/advanced/v-model.md new file mode 100644 index 000000000..50dfcbc06 --- /dev/null +++ b/docs/guide/advanced/v-model.md @@ -0,0 +1,96 @@ +# Testing `v-model` + +When writing components that rely on `v-model` interaction (`update:modelValue` event), you need to handle the `event` and `props`. + +Check ["vmodel integration" Discussion](https://github.com/vuejs/test-utils/discussions/279) for some community solutions. + +Check [VueJS VModel event documentation](https://vuejs.org/guide/components/events.html#usage-with-v-model). + +## A Simple Example + +Here a simple Editor component: + +```js +const Editor = { + props: { + label: String, + modelValue: String + }, + template: `
+ + +
` +} +``` + +This component will just behave as an input component: + +```js +const App { + components: { + Editor + }, + template: `` + data(){ + return { + text: 'test' + } + } +} +``` + +Now when we type on the input, it will update `text` on our component. + +To test this behavior: + +```js +test('modelValue should be updated', async () => { + const wrapper = mount(Editor, { + props: { + modelValue: 'initialText', + 'onUpdate:modelValue': (e) => wrapper.setProps({ modelValue: e }) + } + }) + + await wrapper.find('input').setValue('test') + expect(wrapper.props('modelValue')).toBe('test') +}) +``` + +# Multiple `v-model` + +In some situations we can have multiple `v-model` targeting specific properties. + +Example an Money Editor, we can have `currency` and `modelValue` properties. + +```js +const MoneyEditor = { + template: `
+ + +
`, + props: ['currency', 'modelValue'] +} +``` + +We can test both by: + +```js +test('modelValue and currency should be updated', async () => { + const wrapper = mount(MoneyEditor, { + props: { + modelValue: 'initialText', + 'onUpdate:modelValue': (e) => wrapper.setProps({ modelValue: e }), + currency: '$', + 'onUpdate:currency': (e) => wrapper.setProps({ currency: e }) + } + }) + + const [currencyInput, modelValueInput] = wrapper.findAll('input') + await modelValueInput.setValue('test') + await currencyInput.setValue('£') + + expect(wrapper.props('modelValue')).toBe('test') + expect(wrapper.props('currency')).toBe('£') +}) +``` diff --git a/package.json b/package.json index e5e20c2ae..ed5f0c629 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vue/test-utils", - "version": "2.2.0", + "version": "2.2.1", "license": "MIT", "main": "dist/vue-test-utils.cjs.js", "unpkg": "dist/vue-test-utils.browser.js", @@ -22,24 +22,24 @@ "dist/index.d.ts" ], "devDependencies": { - "@rollup/plugin-commonjs": "23.0.0", - "@rollup/plugin-json": "5.0.0", - "@rollup/plugin-node-resolve": "15.0.0", - "@rollup/plugin-replace": "5.0.0", - "@rollup/plugin-typescript": "9.0.1", + "@rollup/plugin-commonjs": "23.0.2", + "@rollup/plugin-json": "5.0.1", + "@rollup/plugin-node-resolve": "15.0.1", + "@rollup/plugin-replace": "5.0.1", + "@rollup/plugin-typescript": "9.0.2", "@types/js-beautify": "1.13.3", - "@types/node": "18.0.6", - "@typescript-eslint/eslint-plugin": "5.40.1", - "@typescript-eslint/parser": "5.40.1", - "@vitejs/plugin-vue": "3.1.2", - "@vitejs/plugin-vue-jsx": "2.0.1", + "@types/node": "18.11.7", + "@typescript-eslint/eslint-plugin": "5.41.0", + "@typescript-eslint/parser": "5.41.0", + "@vitejs/plugin-vue": "3.2.0", + "@vitejs/plugin-vue-jsx": "2.1.0", "@vitest/coverage-c8": "0.24.3", "@vue/compat": "3.2.41", "@vue/compiler-dom": "3.2.41", "@vue/compiler-sfc": "3.2.41", "@vue/runtime-core": "3.2.41", "c8": "7.12.0", - "eslint": "8.25.0", + "eslint": "8.26.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-prettier": "4.2.1", "husky": "8.0.1", @@ -52,14 +52,14 @@ "rollup": "3.2.3", "tslib": "2.4.0", "typescript": "4.8.4", - "unplugin-vue-components": "0.22.8", - "vite": "3.1.8", + "unplugin-vue-components": "0.22.9", + "vite": "3.2.0", "vitepress": "0.22.4", "vitest": "0.24.3", "vue": "3.2.41", "vue-class-component": "8.0.0-rc.1", - "vue-router": "4.1.5", - "vue-tsc": "1.0.8", + "vue-router": "4.1.6", + "vue-tsc": "1.0.9", "vuex": "4.1.0" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e5e921bab..e23e023d2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,24 +1,24 @@ lockfileVersion: 5.4 specifiers: - '@rollup/plugin-commonjs': 23.0.0 - '@rollup/plugin-json': 5.0.0 - '@rollup/plugin-node-resolve': 15.0.0 - '@rollup/plugin-replace': 5.0.0 - '@rollup/plugin-typescript': 9.0.1 + '@rollup/plugin-commonjs': 23.0.2 + '@rollup/plugin-json': 5.0.1 + '@rollup/plugin-node-resolve': 15.0.1 + '@rollup/plugin-replace': 5.0.1 + '@rollup/plugin-typescript': 9.0.2 '@types/js-beautify': 1.13.3 - '@types/node': 18.0.6 - '@typescript-eslint/eslint-plugin': 5.40.1 - '@typescript-eslint/parser': 5.40.1 - '@vitejs/plugin-vue': 3.1.2 - '@vitejs/plugin-vue-jsx': 2.0.1 + '@types/node': 18.11.7 + '@typescript-eslint/eslint-plugin': 5.41.0 + '@typescript-eslint/parser': 5.41.0 + '@vitejs/plugin-vue': 3.2.0 + '@vitejs/plugin-vue-jsx': 2.1.0 '@vitest/coverage-c8': 0.24.3 '@vue/compat': 3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 '@vue/runtime-core': 3.2.41 c8: 7.12.0 - eslint: 8.25.0 + eslint: 8.26.0 eslint-config-prettier: 8.5.0 eslint-plugin-prettier: 4.2.1 husky: 8.0.1 @@ -31,37 +31,37 @@ specifiers: rollup: 3.2.3 tslib: 2.4.0 typescript: 4.8.4 - unplugin-vue-components: 0.22.8 - vite: 3.1.8 + unplugin-vue-components: 0.22.9 + vite: 3.2.0 vitepress: 0.22.4 vitest: 0.24.3 vue: 3.2.41 vue-class-component: 8.0.0-rc.1 - vue-router: 4.1.5 - vue-tsc: 1.0.8 + vue-router: 4.1.6 + vue-tsc: 1.0.9 vuex: 4.1.0 devDependencies: - '@rollup/plugin-commonjs': 23.0.0_rollup@3.2.3 - '@rollup/plugin-json': 5.0.0_rollup@3.2.3 - '@rollup/plugin-node-resolve': 15.0.0_rollup@3.2.3 - '@rollup/plugin-replace': 5.0.0_rollup@3.2.3 - '@rollup/plugin-typescript': 9.0.1_bvn3ed5hy3sfde644tygjdj4ia + '@rollup/plugin-commonjs': 23.0.2_rollup@3.2.3 + '@rollup/plugin-json': 5.0.1_rollup@3.2.3 + '@rollup/plugin-node-resolve': 15.0.1_rollup@3.2.3 + '@rollup/plugin-replace': 5.0.1_rollup@3.2.3 + '@rollup/plugin-typescript': 9.0.2_bvn3ed5hy3sfde644tygjdj4ia '@types/js-beautify': 1.13.3 - '@types/node': 18.0.6 - '@typescript-eslint/eslint-plugin': 5.40.1_ukgdydjtebaxmxfqp5v5ulh64y - '@typescript-eslint/parser': 5.40.1_z4bbprzjrhnsfa24uvmcbu7f5q - '@vitejs/plugin-vue': 3.1.2_vite@3.1.8+vue@3.2.41 - '@vitejs/plugin-vue-jsx': 2.0.1_vite@3.1.8+vue@3.2.41 + '@types/node': 18.11.7 + '@typescript-eslint/eslint-plugin': 5.41.0_huremdigmcnkianavgfk3x6iou + '@typescript-eslint/parser': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m + '@vitejs/plugin-vue': 3.2.0_vite@3.2.0+vue@3.2.41 + '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.0+vue@3.2.41 '@vitest/coverage-c8': 0.24.3_jsdom@20.0.1 '@vue/compat': 3.2.41_vue@3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 '@vue/runtime-core': 3.2.41 c8: 7.12.0 - eslint: 8.25.0 - eslint-config-prettier: 8.5.0_eslint@8.25.0 - eslint-plugin-prettier: 4.2.1_hvbqyfstm4urdpm6ffpwfka4e4 + eslint: 8.26.0 + eslint-config-prettier: 8.5.0_eslint@8.26.0 + eslint-plugin-prettier: 4.2.1_aniwkeyvlpmwkidetuytnokvcm husky: 8.0.1 js-beautify: 1.14.6 jsdom: 20.0.1 @@ -72,14 +72,14 @@ devDependencies: rollup: 3.2.3 tslib: 2.4.0 typescript: 4.8.4 - unplugin-vue-components: 0.22.8_vue@3.2.41 - vite: 3.1.8 + unplugin-vue-components: 0.22.9_rollup@3.2.3+vue@3.2.41 + vite: 3.2.0 vitepress: 0.22.4 vitest: 0.24.3_jsdom@20.0.1 vue: 3.2.41 vue-class-component: 8.0.0-rc.1_vue@3.2.41 - vue-router: 4.1.5_vue@3.2.41 - vue-tsc: 1.0.8_typescript@4.8.4 + vue-router: 4.1.6_vue@3.2.41 + vue-tsc: 1.0.9_typescript@4.8.4 vuex: 4.1.0_vue@3.2.41 packages: @@ -205,8 +205,8 @@ packages: '@jridgewell/trace-mapping': 0.3.14 dev: true - /@antfu/utils/0.5.2: - resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} + /@antfu/utils/0.6.0: + resolution: {integrity: sha512-VauUKmo22NYo3y6fIjGjVU7LJyhaedYL9kyabdvIIIl7P+qbNPbQiaLwwk4UOU4McFfA2eg+aIWpEYhkHzsE9Q==} dev: true /@babel/code-frame/7.18.6: @@ -216,25 +216,25 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data/7.19.0: - resolution: {integrity: sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==} + /@babel/compat-data/7.19.4: + resolution: {integrity: sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.19.0: - resolution: {integrity: sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==} + /@babel/core/7.19.6: + resolution: {integrity: sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.19.0 - '@babel/helper-compilation-targets': 7.19.0_@babel+core@7.19.0 - '@babel/helper-module-transforms': 7.19.0 - '@babel/helpers': 7.19.0 - '@babel/parser': 7.19.0 + '@babel/generator': 7.19.6 + '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.6 + '@babel/helper-module-transforms': 7.19.6 + '@babel/helpers': 7.19.4 + '@babel/parser': 7.19.6 '@babel/template': 7.18.10 - '@babel/traverse': 7.19.0 - '@babel/types': 7.19.0 + '@babel/traverse': 7.19.6 + '@babel/types': 7.19.4 convert-source-map: 1.8.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -244,11 +244,11 @@ packages: - supports-color dev: true - /@babel/generator/7.19.0: - resolution: {integrity: sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==} + /@babel/generator/7.19.6: + resolution: {integrity: sha512-oHGRUQeoX1QrKeJIKVe0hwjGqNnVYsM5Nep5zo0uE0m42sLH+Fsd2pStJ5sRM1bNyTUUoz0pe2lTeMJrb/taTA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.0 + '@babel/types': 7.19.4 '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 dev: true @@ -257,29 +257,29 @@ packages: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.0 + '@babel/types': 7.19.4 dev: true - /@babel/helper-compilation-targets/7.19.0_@babel+core@7.19.0: - resolution: {integrity: sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==} + /@babel/helper-compilation-targets/7.19.3_@babel+core@7.19.6: + resolution: {integrity: sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.19.0 - '@babel/core': 7.19.0 + '@babel/compat-data': 7.19.4 + '@babel/core': 7.19.6 '@babel/helper-validator-option': 7.18.6 - browserslist: 4.21.1 + browserslist: 4.21.4 semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.19.0_@babel+core@7.19.0: + /@babel/helper-create-class-features-plugin/7.19.0_@babel+core@7.19.6: resolution: {integrity: sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.19.0 + '@babel/core': 7.19.6 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 @@ -301,42 +301,42 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.18.10 - '@babel/types': 7.19.0 + '@babel/types': 7.19.4 dev: true /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.0 + '@babel/types': 7.19.4 dev: true /@babel/helper-member-expression-to-functions/7.18.9: resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.0 + '@babel/types': 7.19.4 dev: true /@babel/helper-module-imports/7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.0 + '@babel/types': 7.19.4 dev: true - /@babel/helper-module-transforms/7.19.0: - resolution: {integrity: sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==} + /@babel/helper-module-transforms/7.19.6: + resolution: {integrity: sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.18.6 + '@babel/helper-simple-access': 7.19.4 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.18.10 - '@babel/traverse': 7.19.0 - '@babel/types': 7.19.0 + '@babel/traverse': 7.19.6 + '@babel/types': 7.19.4 transitivePeerDependencies: - supports-color dev: true @@ -345,12 +345,7 @@ packages: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.0 - dev: true - - /@babel/helper-plugin-utils/7.18.6: - resolution: {integrity: sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==} - engines: {node: '>=6.9.0'} + '@babel/types': 7.19.4 dev: true /@babel/helper-plugin-utils/7.19.0: @@ -365,33 +360,33 @@ packages: '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-member-expression-to-functions': 7.18.9 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/traverse': 7.19.0 - '@babel/types': 7.19.0 + '@babel/traverse': 7.19.6 + '@babel/types': 7.19.4 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-simple-access/7.18.6: - resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} + /@babel/helper-simple-access/7.19.4: + resolution: {integrity: sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.0 + '@babel/types': 7.19.4 dev: true /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.19.0 + '@babel/types': 7.19.4 dev: true - /@babel/helper-string-parser/7.18.10: - resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==} + /@babel/helper-string-parser/7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-identifier/7.18.6: - resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} + /@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} dev: true @@ -400,13 +395,13 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helpers/7.19.0: - resolution: {integrity: sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==} + /@babel/helpers/7.19.4: + resolution: {integrity: sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.18.10 - '@babel/traverse': 7.19.0 - '@babel/types': 7.19.0 + '@babel/traverse': 7.19.6 + '@babel/types': 7.19.4 transitivePeerDependencies: - supports-color dev: true @@ -415,7 +410,7 @@ packages: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 chalk: 2.4.2 js-tokens: 4.0.0 dev: true @@ -428,45 +423,44 @@ packages: '@babel/types': 7.19.0 dev: true - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.19.0: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@babel/parser/7.19.6: + resolution: {integrity: sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==} + engines: {node: '>=6.0.0'} + hasBin: true dependencies: - '@babel/core': 7.19.0 - '@babel/helper-plugin-utils': 7.18.6 + '@babel/types': 7.19.4 dev: true - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.19.0: + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.19.6: resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.19.0 + '@babel/core': 7.19.6 '@babel/helper-plugin-utils': 7.19.0 dev: true - /@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.19.0: + /@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.19.6: resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.19.0 + '@babel/core': 7.19.6 '@babel/helper-plugin-utils': 7.19.0 dev: true - /@babel/plugin-transform-typescript/7.19.0_@babel+core@7.19.0: - resolution: {integrity: sha512-DOOIywxPpkQHXijXv+s9MDAyZcLp12oYRl3CMWZ6u7TjSoCBq/KqHR/nNFR3+i2xqheZxoF0H2XyL7B6xeSRuA==} + /@babel/plugin-transform-typescript/7.19.3_@babel+core@7.19.6: + resolution: {integrity: sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.19.0 - '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.0 + '@babel/core': 7.19.6 + '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.6 '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.19.0 + '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.19.6 transitivePeerDependencies: - supports-color dev: true @@ -476,22 +470,22 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.19.0 - '@babel/types': 7.19.0 + '@babel/parser': 7.19.6 + '@babel/types': 7.19.4 dev: true - /@babel/traverse/7.19.0: - resolution: {integrity: sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==} + /@babel/traverse/7.19.6: + resolution: {integrity: sha512-6l5HrUCzFM04mfbG09AagtYyR2P0B71B1wN7PfSPiksDPz2k5H9CBC1tcZpz2M8OxbKTPccByoOJ22rUKbpmQQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.19.0 + '@babel/generator': 7.19.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.19.0 - '@babel/types': 7.19.0 + '@babel/parser': 7.19.6 + '@babel/types': 7.19.4 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -502,8 +496,17 @@ packages: resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.18.10 - '@babel/helper-validator-identifier': 7.18.6 + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + dev: true + + /@babel/types/7.19.4: + resolution: {integrity: sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 dev: true @@ -584,8 +587,8 @@ packages: - supports-color dev: true - /@humanwhocodes/config-array/0.10.5: - resolution: {integrity: sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug==} + /@humanwhocodes/config-array/0.11.6: + resolution: {integrity: sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -668,8 +671,8 @@ packages: fastq: 1.13.0 dev: true - /@rollup/plugin-commonjs/23.0.0_rollup@3.2.3: - resolution: {integrity: sha512-JbrTRyDNtLQj/rhl7RFUuYXwQ2fac+33oLDAu2k++WD95zweyo28UAomLVA0JMGx4vmCa7Nw4T6k/1F6lelExg==} + /@rollup/plugin-commonjs/23.0.2_rollup@3.2.3: + resolution: {integrity: sha512-e9ThuiRf93YlVxc4qNIurvv+Hp9dnD+4PjOqQs5vAYfcZ3+AXSrcdzXnVjWxcGQOa6KGJFcRZyUI3ktWLavFjg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.68.0||^3.0.0 @@ -677,17 +680,17 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 4.2.1 + '@rollup/pluginutils': 5.0.2_rollup@3.2.3 commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.0.3 is-reference: 1.2.1 - magic-string: 0.26.5 + magic-string: 0.26.7 rollup: 3.2.3 dev: true - /@rollup/plugin-json/5.0.0_rollup@3.2.3: - resolution: {integrity: sha512-LsWDA5wJs/ggzakVuKQhZo7HPRcQZgBa3jWIVxQSFxaRToUGNi8ZBh3+k/gQ+1eInVYJgn4WBRCUkmoDrmmGzw==} + /@rollup/plugin-json/5.0.1_rollup@3.2.3: + resolution: {integrity: sha512-QCwhZZLvM8nRcTHyR1vOgyTMiAnjiNj1ebD/BMRvbO1oc/z14lZH6PfxXeegee2B6mky/u9fia4fxRM4TqrUaw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0 @@ -695,12 +698,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 4.2.1 + '@rollup/pluginutils': 5.0.2_rollup@3.2.3 rollup: 3.2.3 dev: true - /@rollup/plugin-node-resolve/15.0.0_rollup@3.2.3: - resolution: {integrity: sha512-iwJbzfTzlzDDQcGmkS7EkCKwe2kSkdBrjX87Fy/KrNjr6UNnLpod0t6X66e502LRe5JJCA4FFqrEscWPnZAkig==} + /@rollup/plugin-node-resolve/15.0.1_rollup@3.2.3: + resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0 @@ -708,7 +711,7 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 4.2.1 + '@rollup/pluginutils': 5.0.2_rollup@3.2.3 '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-builtin-module: 3.2.0 @@ -717,8 +720,8 @@ packages: rollup: 3.2.3 dev: true - /@rollup/plugin-replace/5.0.0_rollup@3.2.3: - resolution: {integrity: sha512-TiPmjMuBjQM+KLWK16O5TAM/eW4yXBYyQ17FbfeNzBC1t2kzX2aXoa8AlS9XTSmg6/2TNvkER1lMEEeN4Lhavw==} + /@rollup/plugin-replace/5.0.1_rollup@3.2.3: + resolution: {integrity: sha512-Z3MfsJ4CK17BfGrZgvrcp/l6WXoKb0kokULO+zt/7bmcyayokDaQ2K3eDJcRLCTAlp5FPI4/gz9MHAsosz4Rag==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0 @@ -726,13 +729,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 4.2.1 - magic-string: 0.26.5 + '@rollup/pluginutils': 5.0.2_rollup@3.2.3 + magic-string: 0.26.7 rollup: 3.2.3 dev: true - /@rollup/plugin-typescript/9.0.1_bvn3ed5hy3sfde644tygjdj4ia: - resolution: {integrity: sha512-fj+CTk8+HvFCEwwDQdNgWd0lIJVXtMQ0Z3vH/ZgzFSbK2s1zs5wjZrjzrhViTTN+UF49+P69/tybgKRdGHpj/Q==} + /@rollup/plugin-typescript/9.0.2_bvn3ed5hy3sfde644tygjdj4ia: + resolution: {integrity: sha512-/sS93vmHUMjzDUsl5scNQr1mUlNE1QjBBvOhmRwJCH8k2RRhDIm3c977B3wdu3t3Ap17W6dDeXP3hj1P1Un1bA==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.14.0||^3.0.0 @@ -744,19 +747,26 @@ packages: tslib: optional: true dependencies: - '@rollup/pluginutils': 4.2.1 + '@rollup/pluginutils': 5.0.2_rollup@3.2.3 resolve: 1.22.1 rollup: 3.2.3 tslib: 2.4.0 typescript: 4.8.4 dev: true - /@rollup/pluginutils/4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} + /@rollup/pluginutils/5.0.2_rollup@3.2.3: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true dependencies: + '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 + rollup: 3.2.3 dev: true /@tootallnate/once/2.0.0: @@ -774,8 +784,8 @@ packages: resolution: {integrity: sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==} dev: true - /@types/estree/0.0.52: - resolution: {integrity: sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ==} + /@types/estree/1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true /@types/istanbul-lib-coverage/2.0.4: @@ -790,8 +800,8 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/node/18.0.6: - resolution: {integrity: sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw==} + /@types/node/18.11.7: + resolution: {integrity: sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ==} dev: true /@types/resolve/1.20.2: @@ -802,8 +812,8 @@ packages: resolution: {integrity: sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==} dev: true - /@typescript-eslint/eslint-plugin/5.40.1_ukgdydjtebaxmxfqp5v5ulh64y: - resolution: {integrity: sha512-FsWboKkWdytGiXT5O1/R9j37YgcjO8MKHSUmWnIEjVaz0krHkplPnYi7mwdb+5+cs0toFNQb0HIrN7zONdIEWg==} + /@typescript-eslint/eslint-plugin/5.41.0_huremdigmcnkianavgfk3x6iou: + resolution: {integrity: sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -813,12 +823,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.40.1_z4bbprzjrhnsfa24uvmcbu7f5q - '@typescript-eslint/scope-manager': 5.40.1 - '@typescript-eslint/type-utils': 5.40.1_z4bbprzjrhnsfa24uvmcbu7f5q - '@typescript-eslint/utils': 5.40.1_z4bbprzjrhnsfa24uvmcbu7f5q + '@typescript-eslint/parser': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/scope-manager': 5.41.0 + '@typescript-eslint/type-utils': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/utils': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m debug: 4.3.4 - eslint: 8.25.0 + eslint: 8.26.0 ignore: 5.2.0 regexpp: 3.2.0 semver: 7.3.7 @@ -828,8 +838,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.40.1_z4bbprzjrhnsfa24uvmcbu7f5q: - resolution: {integrity: sha512-IK6x55va5w4YvXd4b3VrXQPldV9vQTxi5ov+g4pMANsXPTXOcfjx08CRR1Dfrcc51syPtXHF5bgLlMHYFrvQtg==} + /@typescript-eslint/parser/5.41.0_wyqvi574yv7oiwfeinomdzmc3m: + resolution: {integrity: sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -838,26 +848,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.40.1 - '@typescript-eslint/types': 5.40.1 - '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 + '@typescript-eslint/scope-manager': 5.41.0 + '@typescript-eslint/types': 5.41.0 + '@typescript-eslint/typescript-estree': 5.41.0_typescript@4.8.4 debug: 4.3.4 - eslint: 8.25.0 + eslint: 8.26.0 typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.40.1: - resolution: {integrity: sha512-jkn4xsJiUQucI16OLCXrLRXDZ3afKhOIqXs4R3O+M00hdQLKR58WuyXPZZjhKLFCEP2g+TXdBRtLQ33UfAdRUg==} + /@typescript-eslint/scope-manager/5.41.0: + resolution: {integrity: sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.40.1 - '@typescript-eslint/visitor-keys': 5.40.1 + '@typescript-eslint/types': 5.41.0 + '@typescript-eslint/visitor-keys': 5.41.0 dev: true - /@typescript-eslint/type-utils/5.40.1_z4bbprzjrhnsfa24uvmcbu7f5q: - resolution: {integrity: sha512-DLAs+AHQOe6n5LRraXiv27IYPhleF0ldEmx6yBqBgBLaNRKTkffhV1RPsjoJBhVup2zHxfaRtan8/YRBgYhU9Q==} + /@typescript-eslint/type-utils/5.41.0_wyqvi574yv7oiwfeinomdzmc3m: + resolution: {integrity: sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -866,23 +876,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 - '@typescript-eslint/utils': 5.40.1_z4bbprzjrhnsfa24uvmcbu7f5q + '@typescript-eslint/typescript-estree': 5.41.0_typescript@4.8.4 + '@typescript-eslint/utils': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m debug: 4.3.4 - eslint: 8.25.0 + eslint: 8.26.0 tsutils: 3.21.0_typescript@4.8.4 typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.40.1: - resolution: {integrity: sha512-Icg9kiuVJSwdzSQvtdGspOlWNjVDnF3qVIKXdJ103o36yRprdl3Ge5cABQx+csx960nuMF21v8qvO31v9t3OHw==} + /@typescript-eslint/types/5.41.0: + resolution: {integrity: sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.40.1_typescript@4.8.4: - resolution: {integrity: sha512-5QTP/nW5+60jBcEPfXy/EZL01qrl9GZtbgDZtDPlfW5zj/zjNrdI2B5zMUHmOsfvOr2cWqwVdWjobCiHcedmQA==} + /@typescript-eslint/typescript-estree/5.41.0_typescript@4.8.4: + resolution: {integrity: sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -890,8 +900,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.40.1 - '@typescript-eslint/visitor-keys': 5.40.1 + '@typescript-eslint/types': 5.41.0 + '@typescript-eslint/visitor-keys': 5.41.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -902,46 +912,45 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.40.1_z4bbprzjrhnsfa24uvmcbu7f5q: - resolution: {integrity: sha512-a2TAVScoX9fjryNrW6BZRnreDUszxqm9eQ9Esv8n5nXApMW0zeANUYlwh/DED04SC/ifuBvXgZpIK5xeJHQ3aw==} + /@typescript-eslint/utils/5.41.0_wyqvi574yv7oiwfeinomdzmc3m: + resolution: {integrity: sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 '@types/semver': 7.3.12 - '@typescript-eslint/scope-manager': 5.40.1 - '@typescript-eslint/types': 5.40.1 - '@typescript-eslint/typescript-estree': 5.40.1_typescript@4.8.4 - eslint: 8.25.0 + '@typescript-eslint/scope-manager': 5.41.0 + '@typescript-eslint/types': 5.41.0 + '@typescript-eslint/typescript-estree': 5.41.0_typescript@4.8.4 + eslint: 8.26.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.25.0 + eslint-utils: 3.0.0_eslint@8.26.0 semver: 7.3.7 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.40.1: - resolution: {integrity: sha512-A2DGmeZ+FMja0geX5rww+DpvILpwo1OsiQs0M+joPWJYsiEFBLsH0y1oFymPNul6Z5okSmHpP4ivkc2N0Cgfkw==} + /@typescript-eslint/visitor-keys/5.41.0: + resolution: {integrity: sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.40.1 + '@typescript-eslint/types': 5.41.0 eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-vue-jsx/2.0.1_vite@3.1.8+vue@3.2.41: - resolution: {integrity: sha512-lmiR1k9+lrF7LMczO0pxtQ8mOn6XeppJDHxnpxkJQpT5SiKz4SKhKdeNstXaTNuR8qZhUo5X0pJlcocn72Y4Jg==} + /@vitejs/plugin-vue-jsx/2.1.0_vite@3.2.0+vue@3.2.41: + resolution: {integrity: sha512-vvL8MHKN0hUf5LE+/rCk1rduwzW6NihD6xEfM4s1gGCSWQFYd5zLdxBs++z3S7AV/ynr7Yig5Xp1Bm0wlB4IAA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^3.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.19.0 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.19.0 - '@babel/plugin-transform-typescript': 7.19.0_@babel+core@7.19.0 - '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.0 - vite: 3.1.8 + '@babel/core': 7.19.6 + '@babel/plugin-transform-typescript': 7.19.3_@babel+core@7.19.6 + '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.6 + vite: 3.2.0 vue: 3.2.41 transitivePeerDependencies: - supports-color @@ -958,14 +967,14 @@ packages: vue: 3.2.41 dev: true - /@vitejs/plugin-vue/3.1.2_vite@3.1.8+vue@3.2.41: - resolution: {integrity: sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ==} + /@vitejs/plugin-vue/3.2.0_vite@3.2.0+vue@3.2.41: + resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^3.0.0 vue: ^3.2.25 dependencies: - vite: 3.1.8 + vite: 3.2.0 vue: 3.2.41 dev: true @@ -983,35 +992,36 @@ packages: - less - sass - stylus + - sugarss - supports-color - terser dev: true - /@volar/language-core/1.0.8: - resolution: {integrity: sha512-uxYSOqBk8ZFSzGjUIPOBEFPOg8F3CE6cLO5meK95DODGIlUlPytGiy9sy8QZ9w7RpUH4XMOX3MH/G48SLgP07A==} + /@volar/language-core/1.0.9: + resolution: {integrity: sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==} dependencies: - '@volar/source-map': 1.0.8 + '@volar/source-map': 1.0.9 '@vue/reactivity': 3.2.41 muggle-string: 0.1.0 dev: true - /@volar/source-map/1.0.8: - resolution: {integrity: sha512-uKMe+alyfl1Abs5SviKejFoe7x9g6jDPVpVt63Tet4qn1Ziy7tFsvtCpM2Y1Ko5qw2nLIeloLslPqm9/gmbBLQ==} + /@volar/source-map/1.0.9: + resolution: {integrity: sha512-fazB/vy5ZEJ3yKx4fabJyGNI3CBkdLkfEIRVu6+1P3VixK0Mn+eqyUIkLBrzGYaeFM3GybhCLCvsVdNz0Fu/CQ==} dependencies: muggle-string: 0.1.0 dev: true - /@volar/typescript/1.0.8: - resolution: {integrity: sha512-2oY1Apvzcs/5tAn7p1tRlDxNgal5ezaK0h9cutcWALeimsaQBAEE2NAirCrLMHl8DneuDce0tzJqHaQeHw9RmQ==} + /@volar/typescript/1.0.9: + resolution: {integrity: sha512-dVziu+ShQUWuMukM6bvK2v2O446/gG6l1XkTh2vfkccw1IzjfbiP1TWQoNo1ipTfZOtu5YJGYAx+o5HNrGXWfQ==} dependencies: - '@volar/language-core': 1.0.8 + '@volar/language-core': 1.0.9 dev: true - /@volar/vue-language-core/1.0.8: - resolution: {integrity: sha512-cXb7oTybxcm1vpz003agdYQHyxij7UAaSub60d7W1aMWpqb2iaCbVaq9izgQFlrpC4/JnVs+cJPb/Q6fAUVxBg==} + /@volar/vue-language-core/1.0.9: + resolution: {integrity: sha512-tofNoR8ShPFenHT1YVMuvoXtXWwoQE+fiXVqSmW0dSKZqEDjWQ3YeXSd0a6aqyKaIbvR7kWWGp34WbpQlwf9Ww==} dependencies: - '@volar/language-core': 1.0.8 - '@volar/source-map': 1.0.8 + '@volar/language-core': 1.0.9 + '@volar/source-map': 1.0.9 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 '@vue/reactivity': 3.2.41 @@ -1020,25 +1030,25 @@ packages: vue-template-compiler: 2.7.10 dev: true - /@volar/vue-typescript/1.0.8: - resolution: {integrity: sha512-6jBvA7iwBkRqS2VQx2gLJgfLcF3hcODyJ6Lmiw2tN8D/LVfFCovvzJgPvIQb9Y4i+rha1Y0cpsYOUt9XW2Z7ZA==} + /@volar/vue-typescript/1.0.9: + resolution: {integrity: sha512-ZLe4y9YNbviACa7uAMCilzxA76gbbSlKfjspXBzk6fCobd8QCIig+VyDYcjANIlm2HhgSCX8jYTzhCKlegh4mw==} dependencies: - '@volar/typescript': 1.0.8 - '@volar/vue-language-core': 1.0.8 + '@volar/typescript': 1.0.9 + '@volar/vue-language-core': 1.0.9 dev: true /@vue/babel-helper-vue-transform-on/1.0.2: resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} dev: true - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.19.0: + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.19.6: resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} dependencies: '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.0 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.6 '@babel/template': 7.18.10 - '@babel/traverse': 7.19.0 - '@babel/types': 7.19.0 + '@babel/traverse': 7.19.6 + '@babel/types': 7.19.4 '@vue/babel-helper-vue-transform-on': 1.0.2 camelcase: 6.3.0 html-tags: 3.2.0 @@ -1062,7 +1072,7 @@ packages: /@vue/compiler-core/3.2.41: resolution: {integrity: sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==} dependencies: - '@babel/parser': 7.19.0 + '@babel/parser': 7.19.6 '@vue/shared': 3.2.41 estree-walker: 2.0.2 source-map: 0.6.1 @@ -1101,10 +1111,14 @@ packages: resolution: {integrity: sha512-pF1G4wky+hkifDiZSWn8xfuLOJI1ZXtuambpBEYaf7Xaf6zC/pM29rvAGpd3qaGXnr4BAXU1Pxz/VfvBGwexGA==} dev: true + /@vue/devtools-api/6.4.5: + resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} + dev: true + /@vue/reactivity-transform/3.2.41: resolution: {integrity: sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==} dependencies: - '@babel/parser': 7.19.0 + '@babel/parser': 7.19.6 '@vue/compiler-core': 3.2.41 '@vue/shared': 3.2.41 estree-walker: 2.0.2 @@ -1320,15 +1334,15 @@ packages: fill-range: 7.0.1 dev: true - /browserslist/4.21.1: - resolution: {integrity: sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==} + /browserslist/4.21.4: + resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001363 - electron-to-chromium: 1.4.177 - node-releases: 2.0.5 - update-browserslist-db: 1.0.4_browserslist@4.21.1 + caniuse-lite: 1.0.30001425 + electron-to-chromium: 1.4.284 + node-releases: 2.0.6 + update-browserslist-db: 1.0.10_browserslist@4.21.4 dev: true /builtin-modules/3.3.0: @@ -1365,8 +1379,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001363: - resolution: {integrity: sha512-HpQhpzTGGPVMnCjIomjt+jvyUu8vNFo3TaDiZ/RcoTrlOq/5+tC8zHdsbgFB6MxmaY+jCpsH09aD80Bb4Ow3Sg==} + /caniuse-lite/1.0.30001425: + resolution: {integrity: sha512-/pzFv0OmNG6W0ym80P3NtapU0QEiDS3VuYAZMGoLLqiC7f6FJFe1MjpQDREGApeenD9wloeytmVDj+JLXPC6qw==} dev: true /chai/4.3.6: @@ -1629,8 +1643,8 @@ packages: sigmund: 1.0.1 dev: true - /electron-to-chromium/1.4.177: - resolution: {integrity: sha512-FYPir3NSBEGexSZUEeht81oVhHfLFl6mhUKSkjHN/iB/TwEIt/WHQrqVGfTLN5gQxwJCQkIJBe05eOXjI7omgg==} + /electron-to-chromium/1.4.284: + resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} dev: true /emoji-regex/8.0.0: @@ -2092,16 +2106,16 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier/8.5.0_eslint@8.25.0: + /eslint-config-prettier/8.5.0_eslint@8.26.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.25.0 + eslint: 8.26.0 dev: true - /eslint-plugin-prettier/4.2.1_hvbqyfstm4urdpm6ffpwfka4e4: + /eslint-plugin-prettier/4.2.1_aniwkeyvlpmwkidetuytnokvcm: resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2112,8 +2126,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.25.0 - eslint-config-prettier: 8.5.0_eslint@8.25.0 + eslint: 8.26.0 + eslint-config-prettier: 8.5.0_eslint@8.26.0 prettier: 2.7.1 prettier-linter-helpers: 1.0.0 dev: true @@ -2134,13 +2148,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.25.0: + /eslint-utils/3.0.0_eslint@8.26.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.25.0 + eslint: 8.26.0 eslint-visitor-keys: 2.1.0 dev: true @@ -2154,14 +2168,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.25.0: - resolution: {integrity: sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==} + /eslint/8.26.0: + resolution: {integrity: sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: '@eslint/eslintrc': 1.3.3 - '@humanwhocodes/config-array': 0.10.5 + '@humanwhocodes/config-array': 0.11.6 '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -2169,7 +2184,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.25.0 + eslint-utils: 3.0.0_eslint@8.26.0 eslint-visitor-keys: 3.3.0 espree: 9.4.0 esquery: 1.4.0 @@ -2179,12 +2194,12 @@ packages: find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.15.0 - globby: 11.1.0 grapheme-splitter: 1.0.4 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 + is-path-inside: 3.0.3 js-sdsl: 4.1.4 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 @@ -2613,6 +2628,11 @@ packages: engines: {node: '>=0.12.0'} dev: true + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + /is-potential-custom-element-name/1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true @@ -2620,7 +2640,7 @@ packages: /is-reference/1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 0.0.52 + '@types/estree': 1.0.0 dev: true /is-stream/3.0.0: @@ -2864,8 +2884,8 @@ packages: sourcemap-codec: 1.4.8 dev: true - /magic-string/0.26.5: - resolution: {integrity: sha512-yXUIYOOQnEHKHOftp5shMWpB9ImfgfDJpapa38j/qMtTj5QHWucvxP4lUtuRmHT9vAzvtpHkWKXW9xBwimXeNg==} + /magic-string/0.26.7: + resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} engines: {node: '>=12'} dependencies: sourcemap-codec: 1.4.8 @@ -2948,8 +2968,8 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /node-releases/2.0.5: - resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==} + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} dev: true /nopt/6.0.0: @@ -3115,6 +3135,15 @@ packages: source-map-js: 1.0.2 dev: true + /postcss/8.4.18: + resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /preact/10.8.2: resolution: {integrity: sha512-AKGt0BsDSiAYzVS78jZ9qRwuorY2CoSZtf1iOC6gLb/3QyZt+fLT09aYJBjRc/BEcRc4j+j3ggERMdNE43i1LQ==} dev: true @@ -3235,14 +3264,6 @@ packages: glob: 7.2.3 dev: true - /rollup/2.78.1: - resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - /rollup/2.79.1: resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} engines: {node: '>=10.0.0'} @@ -3567,8 +3588,8 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /unplugin-vue-components/0.22.8_vue@3.2.41: - resolution: {integrity: sha512-Musnwdtr6uj9Zopo4oeh4lp9+fJ2ArXVDzSiZxF4YC9v+pLnasKVKEEAjdXuQQ3u3KtntVw6PCscyAt52eS75g==} + /unplugin-vue-components/0.22.9_rollup@3.2.3+vue@3.2.41: + resolution: {integrity: sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==} engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 @@ -3577,23 +3598,24 @@ packages: '@babel/parser': optional: true dependencies: - '@antfu/utils': 0.5.2 - '@rollup/pluginutils': 4.2.1 + '@antfu/utils': 0.6.0 + '@rollup/pluginutils': 5.0.2_rollup@3.2.3 chokidar: 3.5.3 debug: 4.3.4 fast-glob: 3.2.12 local-pkg: 0.4.2 - magic-string: 0.26.5 + magic-string: 0.26.7 minimatch: 5.1.0 resolve: 1.22.1 - unplugin: 0.9.6 + unplugin: 0.10.1 vue: 3.2.41 transitivePeerDependencies: + - rollup - supports-color dev: true - /unplugin/0.9.6: - resolution: {integrity: sha512-YYLtfoNiie/lxswy1GOsKXgnLJTE27la/PeCGznSItk+8METYZErO+zzV9KQ/hXhPwzIJsfJ4s0m1Rl7ZCWZ4Q==} + /unplugin/0.10.1: + resolution: {integrity: sha512-y1hdBitiLOJvCmer0/IGrMGmHplsm2oFRGWleoAJTRQ8aMHxHOe9gLntYlh1WNLKufBuQ2sOTrHF+KWH4xE8Ag==} dependencies: acorn: 8.8.0 chokidar: 3.5.3 @@ -3601,13 +3623,13 @@ packages: webpack-virtual-modules: 0.4.5 dev: true - /update-browserslist-db/1.0.4_browserslist@4.21.1: - resolution: {integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==} + /update-browserslist-db/1.0.10_browserslist@4.21.4: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.1 + browserslist: 4.21.4 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -3651,21 +3673,22 @@ packages: optional: true dependencies: esbuild: 0.14.48 - postcss: 8.4.16 + postcss: 8.4.18 resolve: 1.22.1 rollup: 2.79.1 optionalDependencies: fsevents: 2.3.2 dev: true - /vite/3.1.8: - resolution: {integrity: sha512-m7jJe3nufUbuOfotkntGFupinL/fmuTNuQmiVE7cH2IZMuf4UbfbGYMUT3jVWgGYuRVLY9j8NnrRqgw5rr5QTg==} + /vite/3.2.0: + resolution: {integrity: sha512-Ovj7+cqIdM1I0LPCk2CWxzgADXMix3NLXpUT6g7P7zg/a9grk/TaC3qn9YMg7w7M0POIVCBOp1aBANJW+RH7oA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: less: '*' sass: '*' stylus: '*' + sugarss: '*' terser: ^5.4.0 peerDependenciesMeta: less: @@ -3674,13 +3697,15 @@ packages: optional: true stylus: optional: true + sugarss: + optional: true terser: optional: true dependencies: esbuild: 0.15.11 - postcss: 8.4.16 + postcss: 8.4.18 resolve: 1.22.1 - rollup: 2.78.1 + rollup: 2.79.1 optionalDependencies: fsevents: 2.3.2 dev: true @@ -3730,7 +3755,7 @@ packages: dependencies: '@types/chai': 4.3.3 '@types/chai-subset': 1.3.3 - '@types/node': 18.0.6 + '@types/node': 18.11.7 chai: 4.3.6 debug: 4.3.4 jsdom: 20.0.1 @@ -3739,11 +3764,12 @@ packages: tinybench: 2.3.1 tinypool: 0.3.0 tinyspy: 1.0.2 - vite: 3.1.8 + vite: 3.2.0 transitivePeerDependencies: - less - sass - stylus + - sugarss - supports-color - terser dev: true @@ -3756,12 +3782,12 @@ packages: vue: 3.2.41 dev: true - /vue-router/4.1.5_vue@3.2.41: - resolution: {integrity: sha512-IsvoF5D2GQ/EGTs/Th4NQms9gd2NSqV+yylxIyp/OYp8xOwxmU8Kj/74E9DTSYAyH5LX7idVUngN3JSj1X4xcQ==} + /vue-router/4.1.6_vue@3.2.41: + resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} peerDependencies: vue: ^3.2.0 dependencies: - '@vue/devtools-api': 6.2.0 + '@vue/devtools-api': 6.4.5 vue: 3.2.41 dev: true @@ -3772,14 +3798,14 @@ packages: he: 1.2.0 dev: true - /vue-tsc/1.0.8_typescript@4.8.4: - resolution: {integrity: sha512-+0sJ+QVH7SHLt8mV/uIw4xlHDk1mWigZkMFugfZTv8rlHpM3S2tCVZ0BWEGclT/0rKdO8j+St+mljpvhWPN/eQ==} + /vue-tsc/1.0.9_typescript@4.8.4: + resolution: {integrity: sha512-vRmHD1K6DmBymNhoHjQy/aYKTRQNLGOu2/ESasChG9Vy113K6CdP0NlhR0bzgFJfv2eFB9Ez/9L5kIciUajBxQ==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/vue-language-core': 1.0.8 - '@volar/vue-typescript': 1.0.8 + '@volar/vue-language-core': 1.0.9 + '@volar/vue-typescript': 1.0.9 typescript: 4.8.4 dev: true diff --git a/src/vnodeTransformers/util.ts b/src/vnodeTransformers/util.ts index 3a3987b5a..2e5986615 100644 --- a/src/vnodeTransformers/util.ts +++ b/src/vnodeTransformers/util.ts @@ -20,6 +20,8 @@ export type VTUVNodeTypeTransformer = ( instance: InstanceArgsType ) => VNodeTransformerInputComponentType +const isTeleport = (type: any): boolean => type.__isTeleport + export const createVNodeTransformer = ({ transformers }: { @@ -31,15 +33,20 @@ export const createVNodeTransformer = ({ > = new WeakMap() return (args: VNodeTransformerArgsType, instance: InstanceArgsType) => { - const [originalType, ...restVNodeArgs] = args + const [originalType, props, children, ...restVNodeArgs] = args if (!isComponent(originalType)) { - return [originalType, ...restVNodeArgs] + return [originalType, props, children, ...restVNodeArgs] } const cachedTransformation = transformationCache.get(originalType) if (cachedTransformation) { - return [cachedTransformation, ...restVNodeArgs] + // https://github.com/vuejs/test-utils/issues/1829 + // Teleport should return child nodes as a function + if (isTeleport(originalType)) { + return [cachedTransformation, props, () => children, ...restVNodeArgs] + } + return [cachedTransformation, props, children, ...restVNodeArgs] } const componentType: VNodeTransformerInputComponentType = originalType @@ -53,8 +60,12 @@ export const createVNodeTransformer = ({ transformationCache.set(originalType, transformedType) registerStub({ source: originalType, stub: transformedType }) + // https://github.com/vuejs/test-utils/issues/1829 + // Teleport should return child nodes as a function + if (isTeleport(originalType)) { + return [transformedType, props, () => children, ...restVNodeArgs] + } } - - return [transformedType, ...restVNodeArgs] + return [transformedType, props, children, ...restVNodeArgs] } } diff --git a/tests/element.spec.ts b/tests/element.spec.ts index d164caac0..9d4d39d6d 100644 --- a/tests/element.spec.ts +++ b/tests/element.spec.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from 'vitest' +import { describe, expect, it, vi } from 'vitest' import { defineComponent, h } from 'vue' import { mount } from '../src' @@ -107,6 +107,7 @@ describe('element', () => { }) it('returns correct element for component which renders other component with array of vnodes in default slot', () => { + const spy = vi.spyOn(console, 'warn').mockImplementation(() => {}) const Nested = { template: '
' } @@ -114,5 +115,9 @@ describe('element', () => { const wrapper = mount(Root) expect(wrapper.element.innerHTML).toBe('
foo
bar
') + // we're expecting a warning from Vue as we're using non-function slots + expect(spy.mock.calls[0][0]).toContain( + 'Non-function value encountered for default slot' + ) }) }) diff --git a/tests/findAllComponents.spec.ts b/tests/findAllComponents.spec.ts index 7785d7d7d..155a8f696 100644 --- a/tests/findAllComponents.spec.ts +++ b/tests/findAllComponents.spec.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from 'vitest' +import { describe, expect, it, vi } from 'vitest' import { mount } from '../src' import Hello from './components/Hello.vue' import { DefineComponent, defineComponent, h } from 'vue' @@ -100,6 +100,7 @@ describe('findAllComponents', () => { }) it('findAllComponents with non-function slots', () => { + const spy = vi.spyOn(console, 'warn').mockImplementation(() => {}) const ComponentA = defineComponent({ template: '
' }) @@ -119,5 +120,9 @@ describe('findAllComponents', () => { }) expect(wrapper.findAll('span')).toHaveLength(3) expect(wrapper.findAllComponents(ComponentB)).toHaveLength(3) + // we're expecting a warning from Vue as we're using non-function slots + expect(spy.mock.calls[0][0]).toContain( + 'Non-function value encountered for default slot' + ) }) }) diff --git a/tests/mountingOptions/global.stubs.spec.ts b/tests/mountingOptions/global.stubs.spec.ts index 09d9327c0..c410bb402 100644 --- a/tests/mountingOptions/global.stubs.spec.ts +++ b/tests/mountingOptions/global.stubs.spec.ts @@ -512,6 +512,7 @@ describe('mounting options: stubs', () => { }) it('opts in to stubbing teleport ', () => { + const spy = vi.spyOn(console, 'warn') const Comp = { template: `
` } @@ -528,6 +529,9 @@ describe('mounting options: stubs', () => { '
\n' + '' ) + // Make sure that we don't have a warning when stubbing teleport + // https://github.com/vuejs/test-utils/issues/1829 + expect(spy).not.toHaveBeenCalled() }) it('does not stub teleport with shallow', () => { pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy