From 749e9aa3d14c72548774d8e9faf327f26e1487a1 Mon Sep 17 00:00:00 2001 From: Juho Rutila Date: Sat, 4 Nov 2023 14:36:40 +0200 Subject: [PATCH 01/10] chore: install nuxt-vitest and deps --- package.json | 2 + pnpm-lock.yaml | 262 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 260 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index d9a31c6585..a68ce59f1d 100644 --- a/package.json +++ b/package.json @@ -59,8 +59,10 @@ "@nuxt/module-builder": "^0.5.2", "@release-it/conventional-changelog": "^7.0.2", "eslint": "^8.52.0", + "happy-dom": "^12.10.3", "joi": "^17.11.0", "nuxt": "^3.8.0", + "nuxt-vitest": "^0.11.2", "release-it": "^16.2.1", "typescript": "^5.2.2", "unbuild": "^2.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a0b8f78752..b355817745 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,12 +87,18 @@ importers: eslint: specifier: ^8.52.0 version: 8.52.0 + happy-dom: + specifier: ^12.10.3 + version: 12.10.3 joi: specifier: ^17.11.0 version: 17.11.0 nuxt: specifier: ^3.8.0 version: 3.8.0(eslint@8.52.0)(rollup@3.29.1)(typescript@5.2.2)(vite@4.5.0)(vue-tsc@1.8.21) + nuxt-vitest: + specifier: ^0.11.2 + version: 0.11.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.4.0)(happy-dom@12.10.3)(rollup@3.29.1)(vite@4.5.0)(vitest@0.34.6)(vue-router@4.2.5)(vue@3.3.4) release-it: specifier: ^16.2.1 version: 16.2.1(typescript@5.2.2) @@ -107,7 +113,7 @@ importers: version: 0.19.0 vitest: specifier: ^0.34.6 - version: 0.34.6 + version: 0.34.6(happy-dom@12.10.3) vue-tsc: specifier: ^1.8.21 version: 1.8.21(typescript@5.2.2) @@ -2268,6 +2274,10 @@ packages: '@octokit/openapi-types': 18.0.0 dev: true + /@one-ini/wasm@0.1.1: + resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + dev: true + /@parcel/watcher-android-arm64@2.3.0: resolution: {integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==} engines: {node: '>= 10.0.0'} @@ -3414,6 +3424,29 @@ packages: tinyspy: 2.2.0 dev: true + /@vitest/ui@0.33.0(vitest@0.34.6): + resolution: {integrity: sha512-7gbAjLqt30R4bodkJAutdpy4ncv+u5IKTHYTow1c2q+FOxZUC9cKOSqMUxjwaaTwLN+EnDnmXYPtg3CoahaUzQ==} + peerDependencies: + vitest: '>=0.30.1 <1' + dependencies: + '@vitest/utils': 0.33.0 + fast-glob: 3.3.1 + fflate: 0.8.1 + flatted: 3.2.9 + pathe: 1.1.1 + picocolors: 1.0.0 + sirv: 2.0.3 + vitest: 0.34.6(happy-dom@12.10.3) + dev: true + + /@vitest/utils@0.33.0: + resolution: {integrity: sha512-pF1w22ic965sv+EN6uoePkAOTkAPWM03Ri/jXNyMIKBb/XHLDPfhLvf/Fa9g0YECevAIz56oVYXhodLvLQ/awA==} + dependencies: + diff-sequences: 29.6.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + /@vitest/utils@0.34.6: resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} dependencies: @@ -3611,6 +3644,20 @@ packages: resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==} dev: true + /@vue/test-utils@2.4.1(vue@3.3.4): + resolution: {integrity: sha512-VO8nragneNzUZUah6kOjiFmD/gwRjUauG9DROh6oaOeFwX1cZRUNHhdeogE8635cISigXFTtGLUQWx5KCb0xeg==} + peerDependencies: + '@vue/server-renderer': ^3.0.1 + vue: ^3.0.1 + peerDependenciesMeta: + '@vue/server-renderer': + optional: true + dependencies: + js-beautify: 1.14.9 + vue: 3.3.4 + vue-component-type-helpers: 1.8.4 + dev: true + /@vueuse/core@10.5.0(vue@3.3.4): resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==} dependencies: @@ -4164,6 +4211,11 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + /base64-arraybuffer-es6@0.7.0: + resolution: {integrity: sha512-ESyU/U1CFZDJUdr+neHRhNozeCv72Y7Vm0m1DCbjX3KBjT6eYocvAJlSk6+8+HkVwXlT1FNxhGW6q3UKAlCvvw==} + engines: {node: '>=6.0.0'} + dev: true + /base64-js@0.0.8: resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} engines: {node: '>= 0.4'} @@ -4681,6 +4733,11 @@ packages: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: true + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -5074,6 +5131,10 @@ packages: engines: {node: '>= 6'} dev: true + /css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + dev: true + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -5424,6 +5485,12 @@ packages: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} dev: true + /domexception@1.0.1: + resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==} + dependencies: + webidl-conversions: 4.0.2 + dev: true + /domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} @@ -5472,6 +5539,17 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true + /editorconfig@1.0.4: + resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@one-ini/wasm': 0.1.1 + commander: 10.0.1 + minimatch: 9.0.1 + semver: 7.5.4 + dev: true + /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} @@ -6012,6 +6090,12 @@ packages: ufo: 1.3.1 dev: true + /fake-indexeddb@4.0.2: + resolution: {integrity: sha512-SdTwEhnakbgazc7W3WUXOJfGmhH0YfG4d+dRPOFoYDRTL6U5t8tvrmkf2W/C3W1jk2ylV7Wrnj44RASqpX/lEw==} + dependencies: + realistic-structured-clone: 3.0.0 + dev: true + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -6053,6 +6137,10 @@ packages: resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} dev: true + /fflate@0.8.1: + resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==} + dev: true + /figures@5.0.0: resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} engines: {node: '>=14'} @@ -6590,6 +6678,17 @@ packages: uglify-js: 3.17.4 dev: true + /happy-dom@12.10.3: + resolution: {integrity: sha512-JzUXOh0wdNGY54oKng5hliuBkq/+aT1V3YpTM+lrN/GoLQTANZsMaIvmHiHe612rauHvPJnDZkZ+5GZR++1Abg==} + dependencies: + css.escape: 1.5.1 + entities: 4.5.0 + iconv-lite: 0.6.3 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + dev: true + /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true @@ -6961,7 +7060,6 @@ packages: dependencies: safer-buffer: 2.1.2 dev: true - optional: true /icss-utils@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} @@ -7492,6 +7590,17 @@ packages: '@sideway/pinpoint': 2.0.0 dev: true + /js-beautify@1.14.9: + resolution: {integrity: sha512-coM7xq1syLcMyuVGyToxcj2AlzhkDjmfklL8r0JgJ7A76wyGMpJ1oA35mr4APdYNO/o/4YY8H54NQIJzhMbhBg==} + engines: {node: '>=12'} + hasBin: true + dependencies: + config-chain: 1.1.13 + editorconfig: 1.0.4 + glob: 8.1.0 + nopt: 6.0.0 + dev: true + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -7899,7 +8008,7 @@ packages: resolution: {integrity: sha512-C9m5/JqFV1/CMrMFDf1PqmvMc8ohrssmlF5bdgea7nUqqn6D9xzKVTa6DIm0LReCqvEPS35o1UElmb7PmoSfHQ==} dependencies: estree-walker: 3.0.3 - magic-string: 0.30.3 + magic-string: 0.30.5 mlly: 1.4.2 type-level-regexp: 0.1.17 ufo: 1.3.1 @@ -8730,6 +8839,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -9371,6 +9487,36 @@ packages: - vue dev: true + /nuxt-vitest@0.11.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.4.0)(happy-dom@12.10.3)(rollup@3.29.1)(vite@4.5.0)(vitest@0.34.6)(vue-router@4.2.5)(vue@3.3.4): + resolution: {integrity: sha512-iPMpkMAUeQcpIdKvL6NrH0xmHF87V6ztbAKypxqNXNbxYVbqHylJvwPqFGf9hbTGQWpKScb+71/ISt21JgUt/Q==} + peerDependencies: + '@vitejs/plugin-vue': '*' + '@vitejs/plugin-vue-jsx': '*' + vite: '*' + vitest: ^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.33.0 + dependencies: + '@nuxt/kit': 3.8.0(rollup@3.29.1) + '@vitejs/plugin-vue': 4.4.0(vite@4.5.0)(vue@3.3.4) + '@vitejs/plugin-vue-jsx': 3.0.2(vite@4.5.0)(vue@3.3.4) + '@vitest/ui': 0.33.0(vitest@0.34.6) + defu: 6.1.3 + get-port-please: 3.1.1 + perfect-debounce: 1.0.0 + std-env: 3.4.3 + vite: 4.5.0(@types/node@20.6.3) + vitest: 0.34.6(happy-dom@12.10.3) + vitest-environment-nuxt: 0.11.2(happy-dom@12.10.3)(rollup@3.29.1)(vitest@0.34.6)(vue-router@4.2.5)(vue@3.3.4) + transitivePeerDependencies: + - '@testing-library/vue' + - '@vue/server-renderer' + - happy-dom + - jsdom + - rollup + - supports-color + - vue + - vue-router + dev: true + /nuxt@3.8.0(eslint@8.52.0)(rollup@3.29.1)(typescript@5.2.2)(vite@4.5.0)(vue-tsc@1.8.21): resolution: {integrity: sha512-ZnisJYx5AcUl7xlw18m6zfINBpNhld+ZF+jdTLRZxkLjKSFZeFMGqKxOR1jNVSmxfIXM/guK0uV9GPm6HK/z7g==} engines: {node: ^14.18.0 || >=16.10.0} @@ -10650,6 +10796,14 @@ packages: dependencies: picomatch: 2.3.1 + /realistic-structured-clone@3.0.0: + resolution: {integrity: sha512-rOjh4nuWkAqf9PWu6JVpOWD4ndI+JHfgiZeMmujYcPi+fvILUu7g6l26TC1K5aBIp34nV+jE1cDO75EKOfHC5Q==} + dependencies: + domexception: 1.0.1 + typeson: 6.1.0 + typeson-registry: 1.0.0-alpha.39 + dev: true + /rechoir@0.6.2: resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} engines: {node: '>= 0.10'} @@ -11852,6 +12006,13 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true + /tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + dependencies: + punycode: 2.3.0 + dev: true + /trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} dev: true @@ -12015,6 +12176,20 @@ packages: hasBin: true dev: true + /typeson-registry@1.0.0-alpha.39: + resolution: {integrity: sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==} + engines: {node: '>=10.0.0'} + dependencies: + base64-arraybuffer-es6: 0.7.0 + typeson: 6.1.0 + whatwg-url: 8.7.0 + dev: true + + /typeson@6.1.0: + resolution: {integrity: sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA==} + engines: {node: '>=0.1.14'} + dev: true + /ufo@1.3.1: resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} @@ -12741,7 +12916,46 @@ packages: fsevents: 2.3.3 dev: true - /vitest@0.34.6: + /vitest-environment-nuxt@0.11.2(happy-dom@12.10.3)(rollup@3.29.1)(vitest@0.34.6)(vue-router@4.2.5)(vue@3.3.4): + resolution: {integrity: sha512-/X3l1nGZ6CX4mZx1kYm2aBl8DPG+JqU2OXSHvd8CM+6XTdt2Ap/KglkL7yMtAo8zgKHEwuVFzeZjOfEhnQyv8w==} + peerDependencies: + '@testing-library/vue': 7.0.0 + happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 + jsdom: ^22.0.0 + vitest: ^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.33.0 + vue: ^3.2.45 + vue-router: ^4.0.0 + peerDependenciesMeta: + '@testing-library/vue': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@nuxt/kit': 3.8.0(rollup@3.29.1) + '@vue/test-utils': 2.4.1(vue@3.3.4) + defu: 6.1.3 + estree-walker: 3.0.3 + fake-indexeddb: 4.0.2 + h3: 1.8.2 + happy-dom: 12.10.3 + local-pkg: 0.5.0 + magic-string: 0.30.5 + ofetch: 1.3.3 + radix3: 1.1.0 + ufo: 1.3.1 + unenv: 1.7.4 + vitest: 0.34.6(happy-dom@12.10.3) + vue: 3.3.4 + vue-router: 4.2.5(vue@3.3.4) + transitivePeerDependencies: + - '@vue/server-renderer' + - rollup + - supports-color + dev: true + + /vitest@0.34.6(happy-dom@12.10.3): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} hasBin: true @@ -12785,6 +12999,7 @@ packages: cac: 6.7.14 chai: 4.3.10 debug: 4.3.4 + happy-dom: 12.10.3 local-pkg: 0.4.3 magic-string: 0.30.5 pathe: 1.1.1 @@ -12871,6 +13086,10 @@ packages: resolution: {integrity: sha512-LK3wJHs3vJxHG292C8cnsRusgyC5SEZDCzDCD01mdE/AoREFMl2tzLRuzwyuEsOIz13tqgBcnvysN3Lxsa14Fw==} dev: true + /vue-component-type-helpers@1.8.4: + resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==} + dev: true + /vue-demi@0.14.6(vue@3.3.4): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} @@ -12978,6 +13197,20 @@ packages: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true + + /webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + dev: true + + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true + /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} @@ -13024,6 +13257,18 @@ packages: - esbuild - uglify-js + /whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + dependencies: + iconv-lite: 0.6.3 + dev: true + + /whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: true + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -13031,6 +13276,15 @@ packages: webidl-conversions: 3.0.1 dev: true + /whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + dev: true + /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: From 8e6615eccb634672d9484461afb7f58d8f16f7f2 Mon Sep 17 00:00:00 2001 From: Juho Rutila Date: Mon, 6 Nov 2023 19:15:02 +0200 Subject: [PATCH 02/10] test: initial test bench with Button.spec --- package.json | 6 +- pnpm-lock.yaml | 248 ++++++++++++------ test/components/Button.spec.ts | 14 + .../__snapshots__/Button.spec.ts.snap | 14 + test/nuxt/nuxt.config.ts | 7 + test/nuxt/tsconfig.json | 3 + vitest.config.ts | 14 +- 7 files changed, 218 insertions(+), 88 deletions(-) create mode 100644 test/components/Button.spec.ts create mode 100644 test/components/__snapshots__/Button.spec.ts.snap create mode 100644 test/nuxt/nuxt.config.ts create mode 100644 test/nuxt/tsconfig.json diff --git a/package.json b/package.json index a68ce59f1d..a493009547 100644 --- a/package.json +++ b/package.json @@ -58,16 +58,18 @@ "@nuxt/eslint-config": "^0.2.0", "@nuxt/module-builder": "^0.5.2", "@release-it/conventional-changelog": "^7.0.2", + "@testing-library/vue": "^7.0.0", + "@vitejs/plugin-vue": "^4.4.0", "eslint": "^8.52.0", "happy-dom": "^12.10.3", "joi": "^17.11.0", "nuxt": "^3.8.0", - "nuxt-vitest": "^0.11.2", + "nuxt-vitest": "^0.11.3", "release-it": "^16.2.1", "typescript": "^5.2.2", "unbuild": "^2.0.0", "valibot": "^0.19.0", - "vitest": "^0.34.6", + "vitest": "^0.33.0", "vue-tsc": "^1.8.21", "yup": "^1.3.2", "zod": "^3.22.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b355817745..c4874a0d09 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,6 +84,12 @@ importers: '@release-it/conventional-changelog': specifier: ^7.0.2 version: 7.0.2(release-it@16.2.1) + '@testing-library/vue': + specifier: ^7.0.0 + version: 7.0.0(@vue/compiler-sfc@3.3.4)(vue@3.3.4) + '@vitejs/plugin-vue': + specifier: ^4.4.0 + version: 4.4.0(vite@4.5.0)(vue@3.3.4) eslint: specifier: ^8.52.0 version: 8.52.0 @@ -97,8 +103,8 @@ importers: specifier: ^3.8.0 version: 3.8.0(eslint@8.52.0)(rollup@3.29.1)(typescript@5.2.2)(vite@4.5.0)(vue-tsc@1.8.21) nuxt-vitest: - specifier: ^0.11.2 - version: 0.11.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.4.0)(happy-dom@12.10.3)(rollup@3.29.1)(vite@4.5.0)(vitest@0.34.6)(vue-router@4.2.5)(vue@3.3.4) + specifier: ^0.11.3 + version: 0.11.3(@testing-library/vue@7.0.0)(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.4.0)(happy-dom@12.10.3)(rollup@3.29.1)(vite@4.5.0)(vitest@0.33.0)(vue-router@4.2.5)(vue@3.3.4) release-it: specifier: ^16.2.1 version: 16.2.1(typescript@5.2.2) @@ -112,8 +118,8 @@ importers: specifier: ^0.19.0 version: 0.19.0 vitest: - specifier: ^0.34.6 - version: 0.34.6(happy-dom@12.10.3) + specifier: ^0.33.0 + version: 0.33.0(happy-dom@12.10.3) vue-tsc: specifier: ^1.8.21 version: 1.8.21(typescript@5.2.2) @@ -512,8 +518,8 @@ packages: '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.23.0) dev: true - /@babel/runtime@7.22.11: - resolution: {integrity: sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==} + /@babel/runtime@7.23.2: + resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 @@ -1995,7 +2001,7 @@ packages: ufo: 1.3.1 unplugin: 1.5.0 vite: 4.5.0(@types/node@20.6.3) - vite-node: 0.33.0 + vite-node: 0.33.0(@types/node@20.6.3) vite-plugin-checker: 0.6.2(eslint@8.52.0)(typescript@5.2.2)(vite@4.5.0)(vue-tsc@1.8.21) vue: 3.3.4 vue-bundle-renderer: 2.0.0 @@ -3004,6 +3010,36 @@ packages: postcss-selector-parser: 6.0.10 tailwindcss: 3.3.5 + /@testing-library/dom@9.3.3: + resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} + engines: {node: '>=14'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/runtime': 7.23.2 + '@types/aria-query': 5.0.3 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: true + + /@testing-library/vue@7.0.0(@vue/compiler-sfc@3.3.4)(vue@3.3.4): + resolution: {integrity: sha512-JU/q93HGo2qdm1dCgWymkeQlfpC0/0/DBZ2nAHgEAsVZxX11xVIxT7gbXdI7HACQpUbsUWt1zABGU075Fzt9XQ==} + engines: {node: '>=14'} + peerDependencies: + '@vue/compiler-sfc': '>= 3' + vue: '>= 3' + dependencies: + '@babel/runtime': 7.23.2 + '@testing-library/dom': 9.3.3 + '@vue/compiler-sfc': 3.3.4 + '@vue/test-utils': 2.4.1(vue@3.3.4) + vue: 3.3.4 + transitivePeerDependencies: + - '@vue/server-renderer' + dev: true + /@tootallnate/once@2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -3040,6 +3076,10 @@ packages: universalify: 0.1.2 dev: true + /@types/aria-query@5.0.3: + resolution: {integrity: sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA==} + dev: true + /@types/chai-subset@1.3.4: resolution: {integrity: sha512-CCWNXrJYSUIojZ1149ksLl3AN9cmZ5djf+yUoVVV+NuYrtydItQVlL2ZDqyC6M6O9LWRnVf8yYDxbXHO2TfQZg==} dependencies: @@ -3394,37 +3434,37 @@ packages: vue: 3.3.4 dev: true - /@vitest/expect@0.34.6: - resolution: {integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==} + /@vitest/expect@0.33.0: + resolution: {integrity: sha512-sVNf+Gla3mhTCxNJx+wJLDPp/WcstOe0Ksqz4Vec51MmgMth/ia0MGFEkIZmVGeTL5HtjYR4Wl/ZxBxBXZJTzQ==} dependencies: - '@vitest/spy': 0.34.6 - '@vitest/utils': 0.34.6 + '@vitest/spy': 0.33.0 + '@vitest/utils': 0.33.0 chai: 4.3.10 dev: true - /@vitest/runner@0.34.6: - resolution: {integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==} + /@vitest/runner@0.33.0: + resolution: {integrity: sha512-UPfACnmCB6HKRHTlcgCoBh6ppl6fDn+J/xR8dTufWiKt/74Y9bHci5CKB8tESSV82zKYtkBJo9whU3mNvfaisg==} dependencies: - '@vitest/utils': 0.34.6 + '@vitest/utils': 0.33.0 p-limit: 4.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@0.34.6: - resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==} + /@vitest/snapshot@0.33.0: + resolution: {integrity: sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.7.0 dev: true - /@vitest/spy@0.34.6: - resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} + /@vitest/spy@0.33.0: + resolution: {integrity: sha512-Kv+yZ4hnH1WdiAkPUQTpRxW8kGtH8VRTnus7ZTGovFYM1ZezJpvGtb9nPIjPnptHbsyIAxYZsEpVPYgtpjGnrg==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/ui@0.33.0(vitest@0.34.6): + /@vitest/ui@0.33.0(vitest@0.33.0): resolution: {integrity: sha512-7gbAjLqt30R4bodkJAutdpy4ncv+u5IKTHYTow1c2q+FOxZUC9cKOSqMUxjwaaTwLN+EnDnmXYPtg3CoahaUzQ==} peerDependencies: vitest: '>=0.30.1 <1' @@ -3436,7 +3476,7 @@ packages: pathe: 1.1.1 picocolors: 1.0.0 sirv: 2.0.3 - vitest: 0.34.6(happy-dom@12.10.3) + vitest: 0.33.0(happy-dom@12.10.3) dev: true /@vitest/utils@0.33.0: @@ -3447,14 +3487,6 @@ packages: pretty-format: 29.7.0 dev: true - /@vitest/utils@0.34.6: - resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} - dependencies: - diff-sequences: 29.6.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - /@volar/language-core@1.10.5: resolution: {integrity: sha512-xD71j4Ee0Ycq8WsiAE6H/aCThGdTobiZZeD+jFD+bvmbopa1Az296pqJysr3Ck8c7n5+GGF+xlKCS3WxRFYgSQ==} dependencies: @@ -3550,7 +3582,7 @@ packages: '@vue/shared': 3.3.4 estree-walker: 2.0.2 magic-string: 0.30.5 - postcss: 8.4.30 + postcss: 8.4.31 source-map-js: 1.0.2 /@vue/compiler-ssr@3.3.4: @@ -3574,7 +3606,7 @@ packages: '@volar/language-core': 1.10.5 '@volar/source-map': 1.10.5 '@vue/compiler-dom': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/shared': 3.3.7 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -4075,6 +4107,12 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + dependencies: + deep-equal: 2.2.2 + dev: true + /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: @@ -5238,7 +5276,7 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.22.11 + '@babel/runtime': 7.23.2 dev: true /de-indent@1.0.2: @@ -5300,6 +5338,29 @@ packages: /deep-equal@1.0.1: resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} + /deep-equal@2.2.2: + resolution: {integrity: sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.1 + is-arguments: 1.1.1 + is-array-buffer: 3.0.2 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.0 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.11 + dev: true + /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -5473,6 +5534,10 @@ packages: esutils: 2.0.3 dev: true + /dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + dev: true + /dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} dependencies: @@ -7505,12 +7570,23 @@ packages: engines: {node: '>=12'} dev: true + /is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true + /is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + dev: true + /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -7999,6 +8075,11 @@ packages: engines: {node: '>=12'} dev: true + /lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + dev: true + /macos-release@3.2.0: resolution: {integrity: sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -9487,8 +9568,8 @@ packages: - vue dev: true - /nuxt-vitest@0.11.2(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.4.0)(happy-dom@12.10.3)(rollup@3.29.1)(vite@4.5.0)(vitest@0.34.6)(vue-router@4.2.5)(vue@3.3.4): - resolution: {integrity: sha512-iPMpkMAUeQcpIdKvL6NrH0xmHF87V6ztbAKypxqNXNbxYVbqHylJvwPqFGf9hbTGQWpKScb+71/ISt21JgUt/Q==} + /nuxt-vitest@0.11.3(@testing-library/vue@7.0.0)(@vitejs/plugin-vue-jsx@3.0.2)(@vitejs/plugin-vue@4.4.0)(happy-dom@12.10.3)(rollup@3.29.1)(vite@4.5.0)(vitest@0.33.0)(vue-router@4.2.5)(vue@3.3.4): + resolution: {integrity: sha512-jGyrOXbgwlakVaDsQCLtdttXXY2bX4J5r22rr0CTXqIFO3jhnf8e3kAU+zCQe/WSp/xtM+2HZEwrU+jqy5zuDQ==} peerDependencies: '@vitejs/plugin-vue': '*' '@vitejs/plugin-vue-jsx': '*' @@ -9498,14 +9579,14 @@ packages: '@nuxt/kit': 3.8.0(rollup@3.29.1) '@vitejs/plugin-vue': 4.4.0(vite@4.5.0)(vue@3.3.4) '@vitejs/plugin-vue-jsx': 3.0.2(vite@4.5.0)(vue@3.3.4) - '@vitest/ui': 0.33.0(vitest@0.34.6) + '@vitest/ui': 0.33.0(vitest@0.33.0) defu: 6.1.3 get-port-please: 3.1.1 perfect-debounce: 1.0.0 std-env: 3.4.3 vite: 4.5.0(@types/node@20.6.3) - vitest: 0.34.6(happy-dom@12.10.3) - vitest-environment-nuxt: 0.11.2(happy-dom@12.10.3)(rollup@3.29.1)(vitest@0.34.6)(vue-router@4.2.5)(vue@3.3.4) + vitest: 0.33.0(happy-dom@12.10.3) + vitest-environment-nuxt: 0.11.3(@testing-library/vue@7.0.0)(happy-dom@12.10.3)(rollup@3.29.1)(vitest@0.33.0)(vue-router@4.2.5)(vue@3.3.4) transitivePeerDependencies: - '@testing-library/vue' - '@vue/server-renderer' @@ -9644,6 +9725,14 @@ packages: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} dev: true + /object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + dev: true + /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -10526,14 +10615,6 @@ packages: /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.30: - resolution: {integrity: sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -10558,6 +10639,15 @@ packages: engines: {node: ^14.13.1 || >=16.0.0} dev: true + /pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + /pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -10718,6 +10808,10 @@ packages: strip-json-comments: 2.0.1 dev: true + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true @@ -11091,7 +11185,7 @@ packages: rollup: ^3.25.0 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.3 + magic-string: 0.30.5 rollup: 3.29.1 typescript: 5.2.2 optionalDependencies: @@ -11948,8 +12042,8 @@ packages: resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true - /tinypool@0.7.0: - resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} + /tinypool@0.6.0: + resolution: {integrity: sha512-FdswUUo5SxRizcBc6b1GSuLpLjisa8N8qMyYoP3rl+bym+QauhtJP5bvZY1ytt8krKGmMLYIRl36HBZfeAoqhQ==} engines: {node: '>=14.0.0'} dev: true @@ -12261,7 +12355,7 @@ packages: dependencies: acorn: 8.10.0 estree-walker: 3.0.3 - magic-string: 0.30.3 + magic-string: 0.30.5 unplugin: 1.5.0 /undici@5.23.0: @@ -12738,7 +12832,7 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@0.33.0: + /vite-node@0.33.0(@types/node@20.6.3): resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} engines: {node: '>=v14.18.0'} hasBin: true @@ -12760,28 +12854,6 @@ packages: - terser dev: true - /vite-node@0.34.6(@types/node@20.6.3): - resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} - engines: {node: '>=v14.18.0'} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - mlly: 1.4.2 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.6.3) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-plugin-checker@0.6.2(eslint@8.52.0)(typescript@5.2.2)(vite@4.5.0)(vue-tsc@1.8.21): resolution: {integrity: sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==} engines: {node: '>=14.16'} @@ -12916,8 +12988,8 @@ packages: fsevents: 2.3.3 dev: true - /vitest-environment-nuxt@0.11.2(happy-dom@12.10.3)(rollup@3.29.1)(vitest@0.34.6)(vue-router@4.2.5)(vue@3.3.4): - resolution: {integrity: sha512-/X3l1nGZ6CX4mZx1kYm2aBl8DPG+JqU2OXSHvd8CM+6XTdt2Ap/KglkL7yMtAo8zgKHEwuVFzeZjOfEhnQyv8w==} + /vitest-environment-nuxt@0.11.3(@testing-library/vue@7.0.0)(happy-dom@12.10.3)(rollup@3.29.1)(vitest@0.33.0)(vue-router@4.2.5)(vue@3.3.4): + resolution: {integrity: sha512-HJzT3g3/g99D2h7nfGgo+7yaWKOnAtI1PxsptmKhJrD0oa6RcNjfBbMYY+hQVh+2ecSIRUaqykdUPKocOW01yA==} peerDependencies: '@testing-library/vue': 7.0.0 happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 @@ -12934,6 +13006,7 @@ packages: optional: true dependencies: '@nuxt/kit': 3.8.0(rollup@3.29.1) + '@testing-library/vue': 7.0.0(@vue/compiler-sfc@3.3.4)(vue@3.3.4) '@vue/test-utils': 2.4.1(vue@3.3.4) defu: 6.1.3 estree-walker: 3.0.3 @@ -12946,7 +13019,7 @@ packages: radix3: 1.1.0 ufo: 1.3.1 unenv: 1.7.4 - vitest: 0.34.6(happy-dom@12.10.3) + vitest: 0.33.0(happy-dom@12.10.3) vue: 3.3.4 vue-router: 4.2.5(vue@3.3.4) transitivePeerDependencies: @@ -12955,8 +13028,8 @@ packages: - supports-color dev: true - /vitest@0.34.6(happy-dom@12.10.3): - resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} + /vitest@0.33.0(happy-dom@12.10.3): + resolution: {integrity: sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==} engines: {node: '>=v14.18.0'} hasBin: true peerDependencies: @@ -12989,11 +13062,11 @@ packages: '@types/chai': 4.3.9 '@types/chai-subset': 1.3.4 '@types/node': 20.6.3 - '@vitest/expect': 0.34.6 - '@vitest/runner': 0.34.6 - '@vitest/snapshot': 0.34.6 - '@vitest/spy': 0.34.6 - '@vitest/utils': 0.34.6 + '@vitest/expect': 0.33.0 + '@vitest/runner': 0.33.0 + '@vitest/snapshot': 0.33.0 + '@vitest/spy': 0.33.0 + '@vitest/utils': 0.33.0 acorn: 8.10.0 acorn-walk: 8.3.0 cac: 6.7.14 @@ -13007,9 +13080,9 @@ packages: std-env: 3.4.3 strip-literal: 1.3.0 tinybench: 2.5.1 - tinypool: 0.7.0 + tinypool: 0.6.0 vite: 4.5.0(@types/node@20.6.3) - vite-node: 0.34.6(@types/node@20.6.3) + vite-node: 0.33.0(@types/node@20.6.3) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -13295,6 +13368,15 @@ packages: is-symbol: 1.0.4 dev: true + /which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + /which-typed-array@1.1.11: resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} engines: {node: '>= 0.4'} diff --git a/test/components/Button.spec.ts b/test/components/Button.spec.ts new file mode 100644 index 0000000000..75b3becd00 --- /dev/null +++ b/test/components/Button.spec.ts @@ -0,0 +1,14 @@ +// @vitest-environment nuxt +import { describe, it, expect } from 'vitest' +import { mountSuspended } from 'nuxt-vitest/utils' +import Button from '../../src/runtime/components/elements/Button.vue' + +describe.only('Button', () => { + it.each([ + [ 'basic case', { slots: { default: () => 'hello' } } ], + [ 'leading icon', { props: { leading: true, icon: 'heroicons-check' }, slots: { default: () => 'leading icon' } } ], + ])('renders %s correctly', async (_, options) => { + const component = await mountSuspended(Button, options) + expect(component.html()).toMatchSnapshot() + }) +}) diff --git a/test/components/__snapshots__/Button.spec.ts.snap b/test/components/__snapshots__/Button.spec.ts.snap new file mode 100644 index 0000000000..545906442c --- /dev/null +++ b/test/components/__snapshots__/Button.spec.ts.snap @@ -0,0 +1,14 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`Button > renders basic case correctly 1`] = ` +"" +`; + +exports[`Button > renders leading icon correctly 1`] = ` +"" +`; diff --git a/test/nuxt/nuxt.config.ts b/test/nuxt/nuxt.config.ts new file mode 100644 index 0000000000..08efa5ab21 --- /dev/null +++ b/test/nuxt/nuxt.config.ts @@ -0,0 +1,7 @@ +import module from '../../src/module' + +export default defineNuxtConfig({ + modules: [ + module + ] +}) diff --git a/test/nuxt/tsconfig.json b/test/nuxt/tsconfig.json new file mode 100644 index 0000000000..4b34df1571 --- /dev/null +++ b/test/nuxt/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nuxt/tsconfig.json" +} diff --git a/vitest.config.ts b/vitest.config.ts index 6658e4cf37..9aa509b684 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,8 +1,16 @@ /// -import { defineConfig } from 'vite' +import { fileURLToPath } from 'node:url' +import { defineVitestConfig } from 'nuxt-vitest/config' -export default defineConfig({ +export default defineVitestConfig({ test: { - testTimeout: 20000 + testTimeout: 20000, + globals: true, + environment: 'nuxt', + environmentOptions: { + nuxt: { + rootDir: fileURLToPath(new URL('test/nuxt/', import.meta.url)), + } + } } }) \ No newline at end of file From a41e00f21c9b2a8a74898d149bc9297b5388a099 Mon Sep 17 00:00:00 2001 From: Juho Rutila Date: Mon, 6 Nov 2023 20:51:11 +0200 Subject: [PATCH 03/10] test: more snapshot based button tests --- test/components/Button.spec.ts | 28 +++++++++++++++---- .../__snapshots__/Button.spec.ts.snap | 25 +++++++++++++++-- test/nuxt/tsconfig.json | 2 +- 3 files changed, 47 insertions(+), 8 deletions(-) diff --git a/test/components/Button.spec.ts b/test/components/Button.spec.ts index 75b3becd00..7f30979327 100644 --- a/test/components/Button.spec.ts +++ b/test/components/Button.spec.ts @@ -3,12 +3,30 @@ import { describe, it, expect } from 'vitest' import { mountSuspended } from 'nuxt-vitest/utils' import Button from '../../src/runtime/components/elements/Button.vue' +type ButtonOptions = TypeOf + describe.only('Button', () => { it.each([ - [ 'basic case', { slots: { default: () => 'hello' } } ], - [ 'leading icon', { props: { leading: true, icon: 'heroicons-check' }, slots: { default: () => 'leading icon' } } ], - ])('renders %s correctly', async (_, options) => { - const component = await mountSuspended(Button, options) - expect(component.html()).toMatchSnapshot() + [ 'basic case', { } ], + [ 'leading icon', { props: { leading: true, icon: 'heroicons-check' } } ], + [ 'black solid', { props: { color: 'black', variant: 'solid' } } ], + [ 'rounded full', { props: { ui: { rounded: 'rounded-full' } } } ], + [ '' ] + ])('renders %s correctly', async (nameOrHtml: string, options: ButtonOptions) => { + let html + if (options === undefined) { + const app = { + template: nameOrHtml, + components: { UButton: Button } + } + const result = await mountSuspended(app) + html = result.html() + } else { + options.slots = options.slots || { default: () => 'label' } + options.slots.default = options.slots.default || (() => 'label') + const component = await mountSuspended(Button, options) + html = component.html() + } + expect(html).toMatchSnapshot() }) }) diff --git a/test/components/__snapshots__/Button.spec.ts.snap b/test/components/__snapshots__/Button.spec.ts.snap index 545906442c..b475ceafad 100644 --- a/test/components/__snapshots__/Button.spec.ts.snap +++ b/test/components/__snapshots__/Button.spec.ts.snap @@ -1,14 +1,35 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html +exports[`Button > renders correctly 1`] = ` +"" +`; + exports[`Button > renders basic case correctly 1`] = ` "" +`; + +exports[`Button > renders black solid correctly 1`] = ` +"" `; exports[`Button > renders leading icon correctly 1`] = ` -"" +`; + +exports[`Button > renders rounded full correctly 1`] = ` +"" `; diff --git a/test/nuxt/tsconfig.json b/test/nuxt/tsconfig.json index 4b34df1571..f3d313fa32 100644 --- a/test/nuxt/tsconfig.json +++ b/test/nuxt/tsconfig.json @@ -1,3 +1,3 @@ { - "extends": "./.nuxt/tsconfig.json" + // "extends": "./.nuxt/tsconfig.json" } From 6fb1c91c3a8492e14c9d4d4567a23ae1624cc7ac Mon Sep 17 00:00:00 2001 From: Juho Rutila Date: Mon, 6 Nov 2023 21:09:29 +0200 Subject: [PATCH 04/10] test: generalize the renderer --- test/components/Button.spec.ts | 18 +++--------------- test/components/component-render.ts | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 15 deletions(-) create mode 100644 test/components/component-render.ts diff --git a/test/components/Button.spec.ts b/test/components/Button.spec.ts index 7f30979327..c40999a893 100644 --- a/test/components/Button.spec.ts +++ b/test/components/Button.spec.ts @@ -1,7 +1,8 @@ // @vitest-environment nuxt import { describe, it, expect } from 'vitest' -import { mountSuspended } from 'nuxt-vitest/utils' import Button from '../../src/runtime/components/elements/Button.vue' +import type { TypeOf } from 'zod' +import ComponentRender from './component-render' type ButtonOptions = TypeOf @@ -13,20 +14,7 @@ describe.only('Button', () => { [ 'rounded full', { props: { ui: { rounded: 'rounded-full' } } } ], [ '' ] ])('renders %s correctly', async (nameOrHtml: string, options: ButtonOptions) => { - let html - if (options === undefined) { - const app = { - template: nameOrHtml, - components: { UButton: Button } - } - const result = await mountSuspended(app) - html = result.html() - } else { - options.slots = options.slots || { default: () => 'label' } - options.slots.default = options.slots.default || (() => 'label') - const component = await mountSuspended(Button, options) - html = component.html() - } + const html = await ComponentRender(nameOrHtml, options, Button) expect(html).toMatchSnapshot() }) }) diff --git a/test/components/component-render.ts b/test/components/component-render.ts new file mode 100644 index 0000000000..47fdde6a5d --- /dev/null +++ b/test/components/component-render.ts @@ -0,0 +1,21 @@ +import { mountSuspended } from 'nuxt-vitest/utils' +import path from 'path' + +export default async function (nameOrHtml: string, options: any, component: any) { + let html + const name = path.parse(component.__file).name + if (options === undefined) { + const app = { + template: nameOrHtml, + components: { [`U${name}`]: component } + } + const result = await mountSuspended(app) + html = result.html() + } else { + options.slots = options.slots || { default: () => 'label' } + options.slots.default = options.slots.default || (() => 'label') + const cResult = await mountSuspended(component, options) + html = cResult.html() + } + return html +} From 3a82cac57fb56c9fff7331ce4875d320c7812aeb Mon Sep 17 00:00:00 2001 From: Juho Rutila Date: Mon, 6 Nov 2023 21:14:46 +0200 Subject: [PATCH 05/10] test: move button specific stuff to button.spec --- test/components/Button.spec.ts | 4 ++++ test/components/component-render.ts | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/components/Button.spec.ts b/test/components/Button.spec.ts index c40999a893..d3d2dd4c80 100644 --- a/test/components/Button.spec.ts +++ b/test/components/Button.spec.ts @@ -14,6 +14,10 @@ describe.only('Button', () => { [ 'rounded full', { props: { ui: { rounded: 'rounded-full' } } } ], [ '' ] ])('renders %s correctly', async (nameOrHtml: string, options: ButtonOptions) => { + if (options !== undefined) { + options.slots = options.slots || { default: () => 'label' } + options.slots.default = options.slots.default || (() => 'label') + } const html = await ComponentRender(nameOrHtml, options, Button) expect(html).toMatchSnapshot() }) diff --git a/test/components/component-render.ts b/test/components/component-render.ts index 47fdde6a5d..1270163a13 100644 --- a/test/components/component-render.ts +++ b/test/components/component-render.ts @@ -12,8 +12,6 @@ export default async function (nameOrHtml: string, options: any, component: any) const result = await mountSuspended(app) html = result.html() } else { - options.slots = options.slots || { default: () => 'label' } - options.slots.default = options.slots.default || (() => 'label') const cResult = await mountSuspended(component, options) html = cResult.html() } From 48e6c8aa8d2f2ec77cd859b8033ee030e37e215c Mon Sep 17 00:00:00 2001 From: Juho Rutila Date: Mon, 6 Nov 2023 21:18:34 +0200 Subject: [PATCH 06/10] fix: fix ts build --- src/module.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/module.ts b/src/module.ts index bc78d97850..94ef85b36d 100644 --- a/src/module.ts +++ b/src/module.ts @@ -168,6 +168,7 @@ export default defineNuxtModule({ vue: (content) => { return [ ...defaultExtractor(content), + // @ts-ignore ...customSafelistExtractor(options.prefix, content, nuxt.options.appConfig.ui.colors, options.safelistColors) ] } From 2cb68883befe3adb99f73100822f04a71bbf9ba5 Mon Sep 17 00:00:00 2001 From: Juho Rutila Date: Mon, 6 Nov 2023 21:29:54 +0200 Subject: [PATCH 07/10] test: remove only --- test/components/Button.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/components/Button.spec.ts b/test/components/Button.spec.ts index d3d2dd4c80..61a78bb69c 100644 --- a/test/components/Button.spec.ts +++ b/test/components/Button.spec.ts @@ -6,7 +6,7 @@ import ComponentRender from './component-render' type ButtonOptions = TypeOf -describe.only('Button', () => { +describe('Button', () => { it.each([ [ 'basic case', { } ], [ 'leading icon', { props: { leading: true, icon: 'heroicons-check' } } ], From 9da34d0722c7dd84d2f4a35d75c09e5542450933 Mon Sep 17 00:00:00 2001 From: Juho Rutila Date: Mon, 6 Nov 2023 21:30:17 +0200 Subject: [PATCH 08/10] test: add Skeleton tests --- test/components/layout/Skeleton.spec.ts | 14 ++++++++++++++ .../layout/__snapshots__/Skeleton.spec.ts.snap | 5 +++++ 2 files changed, 19 insertions(+) create mode 100644 test/components/layout/Skeleton.spec.ts create mode 100644 test/components/layout/__snapshots__/Skeleton.spec.ts.snap diff --git a/test/components/layout/Skeleton.spec.ts b/test/components/layout/Skeleton.spec.ts new file mode 100644 index 0000000000..d9ed5daa4a --- /dev/null +++ b/test/components/layout/Skeleton.spec.ts @@ -0,0 +1,14 @@ +import { describe, it, expect } from 'vitest' +import Skeleton from '../../../src/runtime/components/layout/Skeleton.vue' +import type { TypeOf } from 'zod' +import ComponentRender from '../component-render' + +describe('Skeleton', () => { + it.each([ + [ 'basic case', { } ], + [ '' ] + ])('renders %s correctly', async (nameOrHtml: string, options: TypeOf) => { + const html = await ComponentRender(nameOrHtml, options, Skeleton) + expect(html).toMatchSnapshot() + }) +}) diff --git a/test/components/layout/__snapshots__/Skeleton.spec.ts.snap b/test/components/layout/__snapshots__/Skeleton.spec.ts.snap new file mode 100644 index 0000000000..d83af9106d --- /dev/null +++ b/test/components/layout/__snapshots__/Skeleton.spec.ts.snap @@ -0,0 +1,5 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`Skeleton > renders correctly 1`] = `"
"`; + +exports[`Skeleton > renders basic case correctly 1`] = `"
"`; From eb13b0c0eb16e975f4cd183b29f6982423a231c6 Mon Sep 17 00:00:00 2001 From: Juho Rutila Date: Mon, 6 Nov 2023 21:52:30 +0200 Subject: [PATCH 09/10] style: lint fix --- vitest.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vitest.config.ts b/vitest.config.ts index 9aa509b684..3f92b5fa59 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -9,7 +9,7 @@ export default defineVitestConfig({ environment: 'nuxt', environmentOptions: { nuxt: { - rootDir: fileURLToPath(new URL('test/nuxt/', import.meta.url)), + rootDir: fileURLToPath(new URL('test/nuxt/', import.meta.url)) } } } From 33f16686bf7c8ebbf5e4abf787fdff37521ada7d Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Thu, 16 Nov 2023 18:21:15 +0100 Subject: [PATCH 10/10] chore(deps): bump `@nuxtjs/color-mode` --- package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 7a9d81f02c..818335fabf 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@headlessui/vue": "^1.7.16", "@iconify-json/heroicons": "^1.1.13", "@nuxt/kit": "^3.8.0", - "@nuxtjs/color-mode": "^3.3.0", + "@nuxtjs/color-mode": "^3.3.2", "@nuxtjs/tailwindcss": "^6.8.1", "@popperjs/core": "^2.11.8", "@tailwindcss/aspect-ratio": "^0.4.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e24076d191..399b0ab004 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,8 +24,8 @@ importers: specifier: ^3.8.0 version: 3.8.0(rollup@3.29.1) '@nuxtjs/color-mode': - specifier: ^3.3.0 - version: 3.3.0(rollup@3.29.1) + specifier: ^3.3.2 + version: 3.3.2(rollup@3.29.1) '@nuxtjs/tailwindcss': specifier: ^6.8.1 version: 6.8.1(rollup@3.29.1)(webpack@5.88.2) @@ -1847,7 +1847,7 @@ packages: '@headlessui/vue': 1.7.16(vue@3.3.4) '@iconify-json/heroicons': 1.1.13 '@nuxt/kit': 3.8.1(rollup@3.29.1) - '@nuxtjs/color-mode': 3.3.0(rollup@3.29.1) + '@nuxtjs/color-mode': 3.3.2(rollup@3.29.1) '@nuxtjs/tailwindcss': 6.8.1(rollup@3.29.1)(webpack@5.88.2) '@popperjs/core': 2.11.8 '@tailwindcss/aspect-ratio': 0.4.2(tailwindcss@3.3.5) @@ -1998,10 +1998,10 @@ packages: - utf-8-validate dev: true - /@nuxtjs/color-mode@3.3.0(rollup@3.29.1): - resolution: {integrity: sha512-YVFNmTISke1eL7uk5p9I1suOsM222FxrqKoF13HS4x94OKCWwPLLeTCEzHZ8orzKnaFUbCXpuL4pRv8gvW+0Kw==} + /@nuxtjs/color-mode@3.3.2(rollup@3.29.1): + resolution: {integrity: sha512-BLpBfrYZngV2QWFQ4HNEFwAXa3Pno43Ge+2XHcZJTTa1Z4KzRLvOwku8yiyV3ovIaaXKGwduBdv3Z5Ocdp0/+g==} dependencies: - '@nuxt/kit': 3.8.0(rollup@3.29.1) + '@nuxt/kit': 3.8.1(rollup@3.29.1) lodash.template: 4.5.0 pathe: 1.1.1 transitivePeerDependencies: