diff --git a/packages/browser/src/client/runner.ts b/packages/browser/src/client/runner.ts index f9319c8bb0e1..ff36a5a7c7f4 100644 --- a/packages/browser/src/client/runner.ts +++ b/packages/browser/src/client/runner.ts @@ -39,8 +39,8 @@ export function createBrowserRunner(original: any, coverageModule: CoverageHandl } } - async onAfterRunSuite() { - await super.onAfterRunSuite?.() + async onAfterRun() { + await super.onAfterRun?.() const coverage = await coverageModule?.takeCoverage?.() await rpc().onAfterSuiteRun({ coverage }) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b103522bdf97..18806755480c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -325,10 +325,10 @@ importers: version: 13.3.0(react-dom@18.0.0)(react@18.0.0) '@types/node': specifier: latest - version: 20.4.1 + version: 20.4.4 '@types/react': specifier: latest - version: 18.2.14 + version: 18.2.15 '@vitejs/plugin-react': specifier: latest version: 4.0.3(vite@4.3.9) @@ -734,10 +734,10 @@ importers: devDependencies: '@sveltejs/vite-plugin-svelte': specifier: latest - version: 2.4.2(svelte@3.59.1)(vite@4.3.9) + version: 2.4.3(svelte@3.59.1)(vite@4.3.9) '@testing-library/svelte': specifier: latest - version: 3.2.2(svelte@3.59.1) + version: 4.0.3(svelte@3.59.1) '@vitest/ui': specifier: latest version: link:../../packages/ui @@ -807,7 +807,7 @@ importers: version: 0.16.4(@vueuse/core@10.2.1)(rollup@3.26.0) unplugin-vue-components: specifier: latest - version: 0.25.1(rollup@3.26.0)(vue@3.3.4) + version: 0.25.0(rollup@3.26.0)(vue@3.3.4) vite: specifier: ^4.3.9 version: 4.3.9(@types/node@18.16.19) @@ -1483,7 +1483,7 @@ importers: version: link:../../packages/vitest webdriverio: specifier: latest - version: 8.12.1(typescript@5.1.6) + version: 8.10.6(typescript@5.1.6) test/base: devDependencies: @@ -1618,7 +1618,7 @@ importers: version: 3.3.4 webdriverio: specifier: latest - version: 8.12.1(typescript@5.1.6) + version: 8.10.6(typescript@5.1.6) test/css: devDependencies: @@ -1931,7 +1931,7 @@ importers: version: link:../../packages/vitest webdriverio: specifier: latest - version: 8.12.1(typescript@5.1.6) + version: 8.10.6(typescript@5.1.6) test/web-worker: devDependencies: @@ -5839,7 +5839,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -5860,7 +5860,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -5897,7 +5897,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 jest-mock: 27.5.1 dev: true @@ -5914,7 +5914,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 20.4.1 + '@types/node': 20.4.4 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -5943,7 +5943,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -6056,7 +6056,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 '@types/yargs': 15.0.14 chalk: 4.1.2 dev: true @@ -6067,7 +6067,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 '@types/yargs': 16.0.5 chalk: 4.1.2 dev: true @@ -6079,7 +6079,7 @@ packages: '@jest/schemas': 29.4.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 '@types/yargs': 17.0.12 chalk: 4.1.2 dev: true @@ -6602,7 +6602,7 @@ packages: engines: {node: '>=14'} hasBin: true dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 playwright-core: 1.28.0 dev: true @@ -8272,7 +8272,7 @@ packages: svelte: ^3.54.0 || ^4.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.2(svelte@3.59.1)(vite@4.3.9) + '@sveltejs/vite-plugin-svelte': 2.4.3(svelte@3.59.1)(vite@4.3.9) '@types/cookie': 0.5.1 cookie: 0.5.0 devalue: 4.3.2 @@ -8291,7 +8291,7 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@3.59.1)(vite@4.3.9): + /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@3.59.1)(vite@4.3.9): resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -8299,7 +8299,7 @@ packages: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.2(svelte@3.59.1)(vite@4.3.9) + '@sveltejs/vite-plugin-svelte': 2.4.3(svelte@3.59.1)(vite@4.3.9) debug: 4.3.4(supports-color@8.1.1) svelte: 3.59.1 vite: 4.3.9(@types/node@18.16.19) @@ -8307,14 +8307,14 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@2.4.2(svelte@3.59.1)(vite@4.3.9): - resolution: {integrity: sha512-ePfcC48ftMKhkT0OFGdOyycYKnnkT6i/buzey+vHRTR/JpQvuPzzhf1PtKqCDQfJRgoPSN2vscXs6gLigx/zGw==} + /@sveltejs/vite-plugin-svelte@2.4.3(svelte@3.59.1)(vite@4.3.9): + resolution: {integrity: sha512-NY2h+B54KHZO3kDURTdARqthn6D4YSIebtfW75NvZ/fwyk4G+AJw3V/i0OBjyN4406Ht9yZcnNWMuRUFnDNNiA==} engines: {node: ^14.18.0 || >= 16} peerDependencies: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@3.59.1)(vite@4.3.9) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@3.59.1)(vite@4.3.9) debug: 4.3.4(supports-color@8.1.1) deepmerge: 4.3.1 kleur: 4.1.5 @@ -8458,13 +8458,13 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@testing-library/svelte@3.2.2(svelte@3.59.1): - resolution: {integrity: sha512-IKwZgqbekC3LpoRhSwhd0JswRGxKdAGkf39UiDXTywK61YyLXbCYoR831e/UUC6EeNW4hiHPY+2WuovxOgI5sw==} + /@testing-library/svelte@4.0.3(svelte@3.59.1): + resolution: {integrity: sha512-GldAnyGEOn5gMwME+hLVQrnfuKZFB+it5YOMnRBHX+nqeHMsSa18HeqkdvGqtqLpvn81xV7R7EYFb500ngUfXA==} engines: {node: '>= 10'} peerDependencies: - svelte: 3.x + svelte: ^3 || ^4 dependencies: - '@testing-library/dom': 8.19.0 + '@testing-library/dom': 9.3.1 svelte: 3.59.1 dev: true @@ -8581,7 +8581,7 @@ packages: /@types/cheerio@0.22.31: resolution: {integrity: sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/codemirror@5.60.8: @@ -8620,7 +8620,7 @@ packages: resolution: {integrity: sha512-xryQlOEIe1TduDWAOphR0ihfebKFSWOXpIsk+70JskCfRfW+xALdnJ0r1ZOTo85F9Qsjk6vtlU7edTYHbls9tA==} dependencies: '@types/cheerio': 0.22.31 - '@types/react': 18.2.14 + '@types/react': 18.2.16 dev: true /@types/eslint-scope@3.7.4: @@ -8651,33 +8651,33 @@ packages: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/fs-extra@9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/glob@8.0.0: resolution: {integrity: sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==} dependencies: '@types/minimatch': 5.1.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/graceful-fs@4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/hast@2.3.4: @@ -8749,7 +8749,7 @@ packages: /@types/jsdom@21.1.1: resolution: {integrity: sha512-cZFuoVLtzKP3gmq9eNosUL1R50U+USkbLtUQ1bYVgl/lKp0FZM7Cq4aIHAL8oIvQ17uSHi7jXPtfDOdjPwBE7A==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true @@ -8761,7 +8761,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/lodash@4.14.195: @@ -8795,7 +8795,7 @@ packages: /@types/node-fetch@2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 form-data: 3.0.1 dev: true @@ -8814,8 +8814,8 @@ packages: resolution: {integrity: sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==} dev: false - /@types/node@20.4.1: - resolution: {integrity: sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==} + /@types/node@20.4.4: + resolution: {integrity: sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==} dev: true /@types/normalize-package-data@2.4.1: @@ -8844,7 +8844,7 @@ packages: /@types/prompts@2.4.4: resolution: {integrity: sha512-p5N9uoTH76lLvSAaYSZtBCdEXzpOOufsRjnhjVSrZGXikVGHX9+cc9ERtHRV4hvBKHyZb1bg4K+56Bd2TqUn4A==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 kleur: 3.0.3 dev: true @@ -8868,19 +8868,19 @@ packages: /@types/react-dom@18.0.6: resolution: {integrity: sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==} dependencies: - '@types/react': 18.2.14 + '@types/react': 18.2.16 dev: true /@types/react-dom@18.0.8: resolution: {integrity: sha512-C3GYO0HLaOkk9dDAz3Dl4sbe4AKUGTCfFIZsz3n/82dPNN8Du533HzKatDxeUYWu24wJgMP1xICqkWk1YOLOIw==} dependencies: - '@types/react': 18.2.14 + '@types/react': 18.2.16 dev: true /@types/react-is@17.0.3: resolution: {integrity: sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==} dependencies: - '@types/react': 18.2.14 + '@types/react': 18.2.16 dev: false /@types/react-test-renderer@17.0.2: @@ -8892,7 +8892,7 @@ packages: /@types/react-transition-group@4.4.5: resolution: {integrity: sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==} dependencies: - '@types/react': 18.2.14 + '@types/react': 18.2.16 dev: false /@types/react@17.0.49: @@ -8911,8 +8911,16 @@ packages: csstype: 3.1.0 dev: true - /@types/react@18.2.14: - resolution: {integrity: sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==} + /@types/react@18.2.15: + resolution: {integrity: sha512-oEjE7TQt1fFTFSbf8kkNuc798ahTUzn3Le67/PWjE8MAfYAD/qB7O8hSTcromLFqHCt9bcdOg5GXMokzTjJ5SA==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.2 + csstype: 3.1.2 + dev: true + + /@types/react@18.2.16: + resolution: {integrity: sha512-LLFWr12ZhBJ4YVw7neWLe6Pk7Ey5R9OCydfuMsz1L8bZxzaawJj2p06Q8/EFEHDeTBQNFLF62X+CG7B2zIyu0Q==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 @@ -8921,7 +8929,7 @@ packages: /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/resolve@1.20.2: @@ -8938,7 +8946,7 @@ packages: /@types/set-cookie-parser@2.4.2: resolution: {integrity: sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/sinonjs__fake-timers@8.1.1: @@ -8980,7 +8988,7 @@ packages: /@types/through@0.0.30: resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/tough-cookie@4.0.2: @@ -9018,7 +9026,7 @@ packages: /@types/webpack-sources@3.2.0: resolution: {integrity: sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 '@types/source-list-map': 0.1.2 source-map: 0.7.4 dev: true @@ -9026,7 +9034,7 @@ packages: /@types/webpack@4.41.32: resolution: {integrity: sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 '@types/tapable': 1.0.8 '@types/uglify-js': 3.17.0 '@types/webpack-sources': 3.2.0 @@ -9041,7 +9049,7 @@ packages: /@types/ws@8.5.5: resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@types/yargs-parser@21.0.0: @@ -9070,7 +9078,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true optional: true @@ -9497,7 +9505,7 @@ packages: '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.5) '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.5) react-refresh: 0.14.0 - vite: 4.3.9(@types/node@20.4.1) + vite: 4.3.9(@types/node@20.4.4) transitivePeerDependencies: - supports-color dev: true @@ -9960,6 +9968,20 @@ packages: vue-demi: 0.14.0(vue@3.2.39) dev: false + /@wdio/config@8.10.6: + resolution: {integrity: sha512-/FuauFRSM5ddC4z8LcbM0RCKm890WlxkdPVAVjm9jQtDlgrndzeLNvXiJoMKBmRIj0BvHM3FImcV9btnp3HORQ==} + engines: {node: ^16.13 || >=18} + dependencies: + '@wdio/logger': 8.10.6 + '@wdio/types': 8.10.4 + '@wdio/utils': 8.10.6 + decamelize: 6.0.0 + deepmerge-ts: 5.0.0 + glob: 10.2.7 + import-meta-resolve: 3.0.0 + read-pkg-up: 9.1.0 + dev: true + /@wdio/config@8.12.1: resolution: {integrity: sha512-6DfTU+5Ugg6HKMSqVNCLEgdFd7l+QnaMoDe2/tZ8zoYNdJlFu0NfClXLL4qnTCCjebmz3eu0/O+aRPJyxo6GGQ==} engines: {node: ^16.13 || >=18} @@ -9974,6 +9996,16 @@ packages: read-pkg-up: 9.1.0 dev: true + /@wdio/logger@8.10.6: + resolution: {integrity: sha512-pJYKecNYS0vu0FxDaii6MYQlYkORDLGdRWi70hrihH20sMZofzMA1tvzRMRk1VTrsUUE4TLJXKdmT2JRMN+OPw==} + engines: {node: ^16.13 || >=18} + dependencies: + chalk: 5.2.0 + loglevel: 1.8.1 + loglevel-plugin-prefix: 0.8.4 + strip-ansi: 7.1.0 + dev: true + /@wdio/logger@8.11.0: resolution: {integrity: sha512-IsuKSaYi7NKEdgA57h8muzlN/MVp1dQG+V4C//7g4m03YJUnNQLvDhJzLjdeNTfvZy61U7foQSyt+3ktNzZkXA==} engines: {node: ^16.13 || >=18} @@ -9984,6 +10016,10 @@ packages: strip-ansi: 7.1.0 dev: true + /@wdio/protocols@8.10.2: + resolution: {integrity: sha512-Iv7Nqq6YsMQR9qvOM2mswUcKwx7bdx3cWVSmbMc8hwGJuNCBI+BP1fzmD9OidUftd1CQNvfugsG8Vq8vQWRyGg==} + dev: true + /@wdio/protocols@8.11.0: resolution: {integrity: sha512-eXTMYt/XoaX53H/Q2qmsn1uWthIC5aSTGtX9YyXD/AkagG2hXeX3lLmzNWBaSIvKR+vWXRYbg3Y/7IvL2s25Wg==} dev: true @@ -9992,14 +10028,24 @@ packages: resolution: {integrity: sha512-VZ1WFHTNKjR8Ga97TtV2SZM6fvRjWbYI2i/f4pJB4PtusorKvONAMJf2LQcUBIyzbVobqr7KSrcjmSwRolI+yw==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /@wdio/types@8.10.4: resolution: {integrity: sha512-aLJ1QQW+hhALeRK3bvMLjIrlUVyhOs3Od+91pR4Z4pLwyeNG1bJZCJRD5bAJK/mm7CnFa0NsdixPS9jJxZcRrw==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 + dev: true + + /@wdio/utils@8.10.6: + resolution: {integrity: sha512-vGdS3VdBLoJ7cjDdZtALFpH1knbsDgOMaJwOJw459/ivM6S4qjDpM8N/AYZb2ribeXZt+0gNj+iFMN9+Y+r/+w==} + engines: {node: ^16.13 || >=18} + dependencies: + '@wdio/logger': 8.10.6 + '@wdio/types': 8.10.4 + import-meta-resolve: 3.0.0 + p-iteration: 1.1.8 dev: true /@wdio/utils@8.12.1: @@ -10568,6 +10614,7 @@ packages: /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + dev: true /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} @@ -10594,6 +10641,7 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 + dev: true /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} @@ -11964,7 +12012,7 @@ packages: engines: {node: '>=12.13.0'} hasBin: true dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.3.0 @@ -12109,6 +12157,7 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + dev: true /cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} @@ -12177,12 +12226,14 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 + dev: true /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true /color-string@1.9.1: resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} @@ -12558,6 +12609,7 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + dev: true /crypto-browserify@3.12.0: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} @@ -13235,6 +13287,10 @@ packages: resolution: {integrity: sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==} dev: true + /devtools-protocol@0.0.1149535: + resolution: {integrity: sha512-vpM8tGaYz2nrN9n8rvUEhQCgU05ocejO5WIJySsftEHxUahQ/fWuNyPxXuQNBEmaISYyMZkxCunhjtSEyBl/Dg==} + dev: true + /devtools-protocol@0.0.1161598: resolution: {integrity: sha512-MQNeVRDiJ9yAfHUlumx7OCweu15GgMIqEIvz/DTZwpZKjT7oGo9FcwUqS7PyH0mDJsWnuJIn41BZ4SPoQbZfew==} dev: true @@ -13243,11 +13299,37 @@ packages: resolution: {integrity: sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==} dev: true + /devtools@8.10.6(typescript@5.1.6): + resolution: {integrity: sha512-oea/qni/q5k5EsU546dtLqVHFvTIXYOQYWKvu31hdieqZA7QN1V5qiLpfUeQT6aTVLNW1DasnBDRmMTkIVaqmg==} + engines: {node: ^16.13 || >=18} + dependencies: + '@types/node': 20.4.4 + '@wdio/config': 8.10.6 + '@wdio/logger': 8.10.6 + '@wdio/protocols': 8.10.2 + '@wdio/types': 8.10.4 + '@wdio/utils': 8.10.6 + chrome-launcher: 0.15.1 + edge-paths: 3.0.5 + import-meta-resolve: 3.0.0 + puppeteer-core: 20.3.0(typescript@5.1.6) + query-selector-shadow-dom: 1.0.1 + ua-parser-js: 1.0.34 + uuid: 9.0.0 + which: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + /devtools@8.12.1(typescript@5.1.6): resolution: {integrity: sha512-R72raQLN1lDSqbr2DVj9SRh07JRyojzmrcLa33VBa2nw3cf5ZyHOHe0DgxlJ/5c2Dfs1+wGNJy16gWKGBq+xgg==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 '@wdio/config': 8.12.1 '@wdio/logger': 8.11.0 '@wdio/protocols': 8.11.0 @@ -13534,6 +13616,7 @@ packages: /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} @@ -15294,6 +15377,7 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 + dev: true /find-up@6.3.0: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} @@ -15368,6 +15452,7 @@ packages: dependencies: cross-spawn: 7.0.3 signal-exit: 3.0.7 + dev: true /foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} @@ -15623,6 +15708,7 @@ packages: /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + dev: true /get-func-name@2.0.0: resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} @@ -16809,6 +16895,7 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + dev: true /is-fullwidth-code-point@4.0.0: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} @@ -17104,6 +17191,7 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true /isobject@2.1.0: resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} @@ -17223,7 +17311,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -17359,7 +17447,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -17377,7 +17465,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 jest-mock: 27.5.1 jest-util: 27.5.1 dev: true @@ -17398,7 +17486,7 @@ packages: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.5 - '@types/node': 20.4.1 + '@types/node': 20.4.4 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 @@ -17421,7 +17509,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.5 - '@types/node': 20.4.1 + '@types/node': 20.4.4 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.10 @@ -17461,7 +17549,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -17541,7 +17629,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 dev: true /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -17602,7 +17690,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.10 @@ -17659,7 +17747,7 @@ packages: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 graceful-fs: 4.2.10 dev: true @@ -17667,7 +17755,7 @@ packages: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 graceful-fs: 4.2.10 dev: true @@ -17706,7 +17794,7 @@ packages: engines: {node: '>= 10.14.2'} dependencies: '@jest/types': 26.6.2 - '@types/node': 20.4.1 + '@types/node': 20.4.4 chalk: 4.1.2 graceful-fs: 4.2.10 is-ci: 2.0.0 @@ -17718,7 +17806,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.10 @@ -17730,7 +17818,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.0.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 chalk: 4.1.2 ci-info: 3.7.0 graceful-fs: 4.2.10 @@ -17755,7 +17843,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.4.1 + '@types/node': 20.4.4 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -17766,7 +17854,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -17775,7 +17863,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -18451,6 +18539,7 @@ packages: engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + dev: true /locate-path@7.1.1: resolution: {integrity: sha512-vJXaRMJgRVD3+cUZs3Mncj2mxpt5mP0EmNOsxRSZRMlbqjvxzDEOIUWXGmavo0ZC9+tNZCBLQ66reA11nbpHZg==} @@ -19941,6 +20030,7 @@ packages: engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true /p-limit@4.0.0: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} @@ -19967,6 +20057,7 @@ packages: engines: {node: '>=10'} dependencies: p-limit: 3.1.0 + dev: true /p-locate@6.0.0: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} @@ -20157,6 +20248,7 @@ packages: /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + dev: true /path-exists@5.0.0: resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} @@ -20175,6 +20267,7 @@ packages: /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + dev: true /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} @@ -21663,6 +21756,7 @@ packages: /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} + dev: true /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} @@ -22289,6 +22383,7 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: true /shebang-regex@1.0.0: resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} @@ -22298,6 +22393,7 @@ packages: /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + dev: true /shell-quote@1.7.4: resolution: {integrity: sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==} @@ -22330,6 +22426,7 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true /signal-exit@4.0.1: resolution: {integrity: sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==} @@ -22789,6 +22886,7 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + dev: true /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} @@ -22888,6 +22986,7 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 + dev: true /strip-ansi@7.0.1: resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} @@ -24182,6 +24281,35 @@ packages: - rollup dev: true + /unplugin-vue-components@0.25.0(rollup@3.26.0)(vue@3.3.4): + resolution: {integrity: sha512-HxrQ4GMSS1RwVww2av3a42cABo/v5AmTRN9iARv6e/xwkrfTyHhLh84kFwXxKkXK61vxDHxaryn694mQmkiVBg==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.4 + '@rollup/pluginutils': 5.0.2(rollup@3.26.0) + chokidar: 3.5.3 + debug: 4.3.4(supports-color@8.1.1) + fast-glob: 3.3.0 + local-pkg: 0.4.3 + magic-string: 0.30.1 + minimatch: 9.0.1 + resolve: 1.22.2 + unplugin: 1.3.1 + vue: 3.3.4 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + /unplugin-vue-components@0.25.1(rollup@2.79.1)(vue@3.3.4): resolution: {integrity: sha512-kzS2ZHVMaGU2XEO2keYQcMjNZkanDSGDdY96uQT9EPe+wqSZwwgbFfKVJ5ti0+8rGAcKHColwKUvctBhq2LJ3A==} engines: {node: '>=14'} @@ -24608,7 +24736,7 @@ packages: fsevents: 2.3.2 dev: false - /vite@4.3.9(@types/node@20.4.1): + /vite@4.3.9(@types/node@20.4.4): resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -24633,7 +24761,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 esbuild: 0.17.18 postcss: 8.4.24 rollup: 3.23.0 @@ -24937,11 +25065,31 @@ packages: resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} dev: true + /webdriver@8.10.6: + resolution: {integrity: sha512-ggsyDMrPfHIrnyIjx6i7Lat4rWWqn7KWbv+fsATHv3FL8q7SZ7dY49IByUUv/Nw9M/a9inOFrVO6sjVx28H0ow==} + engines: {node: ^16.13 || >=18} + dependencies: + '@types/node': 20.4.4 + '@types/ws': 8.5.5 + '@wdio/config': 8.10.6 + '@wdio/logger': 8.10.6 + '@wdio/protocols': 8.10.2 + '@wdio/types': 8.10.4 + '@wdio/utils': 8.10.6 + deepmerge-ts: 5.0.0 + got: 12.6.1 + ky: 0.33.3 + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /webdriver@8.12.1: resolution: {integrity: sha512-Ca+MUYUXfl5gsnX40xAIUgfoa76qQsfX7REGFzMl09Cb7vHKtM17bEOGDaTbXIX4kbkXylyUSAuBpe3gCtDDKg==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 '@types/ws': 8.5.5 '@wdio/config': 8.12.1 '@wdio/logger': 8.11.0 @@ -24957,11 +25105,48 @@ packages: - utf-8-validate dev: true + /webdriverio@8.10.6(typescript@5.1.6): + resolution: {integrity: sha512-8Hme3Uvu5lJaXeB9+CzYrDtqpASgptOW0r/K43mXpdS0lY7OldFvLgEOrFo6K5HvnxmFrjOt37oJY+R1wk+53w==} + engines: {node: ^16.13 || >=18} + dependencies: + '@types/node': 20.4.4 + '@wdio/config': 8.10.6 + '@wdio/logger': 8.10.6 + '@wdio/protocols': 8.10.2 + '@wdio/repl': 8.10.1 + '@wdio/types': 8.10.4 + '@wdio/utils': 8.10.6 + archiver: 5.3.1 + aria-query: 5.3.0 + css-shorthand-properties: 1.1.1 + css-value: 0.0.1 + devtools: 8.10.6(typescript@5.1.6) + devtools-protocol: 0.0.1149535 + grapheme-splitter: 1.0.4 + import-meta-resolve: 3.0.0 + is-plain-obj: 4.1.0 + lodash.clonedeep: 4.5.0 + lodash.zip: 4.2.0 + minimatch: 9.0.1 + puppeteer-core: 20.3.0(typescript@5.1.6) + query-selector-shadow-dom: 1.0.1 + resq: 1.11.0 + rgb2hex: 0.2.5 + serialize-error: 8.1.0 + webdriver: 8.10.6 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + /webdriverio@8.12.1(typescript@5.1.6): resolution: {integrity: sha512-lW0Qo3fy64cVbYWWAZbXxLIOK0pbTARgpY89J+0Sr6zh2K2NKtd/0D11k3WfMeYxd0b0he7E7XC1b6M6w4h75A==} engines: {node: ^16.13 || >=18} dependencies: - '@types/node': 20.4.1 + '@types/node': 20.4.4 '@wdio/config': 8.12.1 '@wdio/logger': 8.11.0 '@wdio/protocols': 8.11.0 @@ -25264,6 +25449,7 @@ packages: hasBin: true dependencies: isexe: 2.0.0 + dev: true /which@3.0.0: resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} @@ -25478,6 +25664,7 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 + dev: true /wrap-ansi@8.0.1: resolution: {integrity: sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==} @@ -25583,6 +25770,7 @@ packages: /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + dev: true /yallist@2.1.2: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} @@ -25616,6 +25804,7 @@ packages: /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} + dev: true /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} @@ -25633,6 +25822,7 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 20.2.9 + dev: true /yargs@17.5.1: resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} @@ -25675,6 +25865,7 @@ packages: /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + dev: true /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} diff --git a/test/coverage-test/coverage-report-tests/__snapshots__/custom.report.test.ts.snap b/test/coverage-test/coverage-report-tests/__snapshots__/custom.report.test.ts.snap index 781868ce6dea..e3973b7d00c1 100644 --- a/test/coverage-test/coverage-report-tests/__snapshots__/custom.report.test.ts.snap +++ b/test/coverage-test/coverage-report-tests/__snapshots__/custom.report.test.ts.snap @@ -22,6 +22,7 @@ exports[`custom json report 1`] = ` "/src/implicitElse.ts", "/src/importEnv.ts", "/src/index.mts", + "/src/multi-suite.ts", "/src/utils.ts", ], } diff --git a/test/coverage-test/coverage-report-tests/__snapshots__/istanbul.report.test.ts.snap b/test/coverage-test/coverage-report-tests/__snapshots__/istanbul.report.test.ts.snap index f29b3e75c6ac..9af54d6026c4 100644 --- a/test/coverage-test/coverage-report-tests/__snapshots__/istanbul.report.test.ts.snap +++ b/test/coverage-test/coverage-report-tests/__snapshots__/istanbul.report.test.ts.snap @@ -1342,6 +1342,89 @@ exports[`istanbul json report 1`] = ` }, }, }, + "/src/multi-suite.ts": { + "b": {}, + "branchMap": {}, + "f": { + "0": 1, + "1": 1, + }, + "fnMap": { + "0": { + "decl": { + "end": { + "column": 8, + "line": 2, + }, + "start": { + "column": 2, + "line": 2, + }, + }, + "loc": { + "end": { + "column": null, + "line": 4, + }, + "start": { + "column": 21, + "line": 2, + }, + }, + "name": "(anonymous_0)", + }, + "1": { + "decl": { + "end": { + "column": 8, + "line": 6, + }, + "start": { + "column": 2, + "line": 6, + }, + }, + "loc": { + "end": { + "column": null, + "line": 8, + }, + "start": { + "column": 21, + "line": 6, + }, + }, + "name": "(anonymous_1)", + }, + }, + "path": "/src/multi-suite.ts", + "s": { + "0": 1, + "1": 1, + }, + "statementMap": { + "0": { + "end": { + "column": null, + "line": 3, + }, + "start": { + "column": 4, + "line": 3, + }, + }, + "1": { + "end": { + "column": null, + "line": 7, + }, + "start": { + "column": 4, + "line": 7, + }, + }, + }, + }, "/src/untested-file.ts": { "b": { "0": [ diff --git a/test/coverage-test/coverage-report-tests/__snapshots__/v8.report.test.ts.snap b/test/coverage-test/coverage-report-tests/__snapshots__/v8.report.test.ts.snap index d561f7561b8b..f558237c431e 100644 --- a/test/coverage-test/coverage-report-tests/__snapshots__/v8.report.test.ts.snap +++ b/test/coverage-test/coverage-report-tests/__snapshots__/v8.report.test.ts.snap @@ -3316,6 +3316,229 @@ exports[`v8 json report 1`] = ` }, }, }, + "/src/multi-suite.ts": { + "all": false, + "b": { + "0": [ + 1, + ], + "1": [ + 1, + ], + }, + "branchMap": { + "0": { + "line": 2, + "loc": { + "end": { + "column": 4, + "line": 4, + }, + "start": { + "column": 2, + "line": 2, + }, + }, + "locations": [ + { + "end": { + "column": 4, + "line": 4, + }, + "start": { + "column": 2, + "line": 2, + }, + }, + ], + "type": "branch", + }, + "1": { + "line": 6, + "loc": { + "end": { + "column": 4, + "line": 8, + }, + "start": { + "column": 2, + "line": 6, + }, + }, + "locations": [ + { + "end": { + "column": 4, + "line": 8, + }, + "start": { + "column": 2, + "line": 6, + }, + }, + ], + "type": "branch", + }, + }, + "f": { + "0": 1, + "1": 1, + }, + "fnMap": { + "0": { + "decl": { + "end": { + "column": 4, + "line": 4, + }, + "start": { + "column": 2, + "line": 2, + }, + }, + "line": 2, + "loc": { + "end": { + "column": 4, + "line": 4, + }, + "start": { + "column": 2, + "line": 2, + }, + }, + "name": "func1", + }, + "1": { + "decl": { + "end": { + "column": 4, + "line": 8, + }, + "start": { + "column": 2, + "line": 6, + }, + }, + "line": 6, + "loc": { + "end": { + "column": 4, + "line": 8, + }, + "start": { + "column": 2, + "line": 6, + }, + }, + "name": "func2", + }, + }, + "path": "/src/multi-suite.ts", + "s": { + "0": 1, + "1": 1, + "2": 1, + "3": 1, + "4": 1, + "5": 1, + "6": 1, + "7": 1, + "8": 1, + }, + "statementMap": { + "0": { + "end": { + "column": 16, + "line": 1, + }, + "start": { + "column": 0, + "line": 1, + }, + }, + "1": { + "end": { + "column": 22, + "line": 2, + }, + "start": { + "column": 0, + "line": 2, + }, + }, + "2": { + "end": { + "column": 15, + "line": 3, + }, + "start": { + "column": 0, + "line": 3, + }, + }, + "3": { + "end": { + "column": 4, + "line": 4, + }, + "start": { + "column": 0, + "line": 4, + }, + }, + "4": { + "end": { + "column": 0, + "line": 5, + }, + "start": { + "column": 0, + "line": 5, + }, + }, + "5": { + "end": { + "column": 22, + "line": 6, + }, + "start": { + "column": 0, + "line": 6, + }, + }, + "6": { + "end": { + "column": 15, + "line": 7, + }, + "start": { + "column": 0, + "line": 7, + }, + }, + "7": { + "end": { + "column": 4, + "line": 8, + }, + "start": { + "column": 0, + "line": 8, + }, + }, + "8": { + "end": { + "column": 1, + "line": 9, + }, + "start": { + "column": 0, + "line": 9, + }, + }, + }, + }, "/src/untested-file.ts": { "all": true, "b": { diff --git a/test/coverage-test/coverage-report-tests/istanbul.report.test.ts b/test/coverage-test/coverage-report-tests/istanbul.report.test.ts index 097de24740c3..38402f18e75e 100644 --- a/test/coverage-test/coverage-report-tests/istanbul.report.test.ts +++ b/test/coverage-test/coverage-report-tests/istanbul.report.test.ts @@ -37,3 +37,16 @@ test('ignored code is excluded from the report', async () => { const utils = await import('../src/utils') expect(utils[functionName]).toBeTypeOf('function') }) + +test('tests with multiple suites are covered', async () => { + const coverageMap = await readCoverageJson() + + const filename = '/src/multi-suite.ts' + const fileCoverage = coverageMap[filename] + + // Assert that all functions are covered + expect(fileCoverage.f).toMatchObject({ + 0: 1, + 1: 1, + }) +}) diff --git a/test/coverage-test/coverage-report-tests/v8.report.test.ts b/test/coverage-test/coverage-report-tests/v8.report.test.ts index 30d8c64873ce..68be7adc6fa5 100644 --- a/test/coverage-test/coverage-report-tests/v8.report.test.ts +++ b/test/coverage-test/coverage-report-tests/v8.report.test.ts @@ -29,3 +29,16 @@ test('ignored code is marked as covered in the report', async () => { const utils = await import('../src/utils') expect(utils[functionName]).toBeTypeOf('function') }) + +test('tests with multiple suites are covered', async () => { + const coverageMap = await readCoverageJson() + + const filename = '/src/multi-suite.ts' + const fileCoverage = coverageMap[filename] + + // Assert that all functions are covered + expect(fileCoverage.f).toMatchObject({ + 0: 1, + 1: 1, + }) +}) diff --git a/test/coverage-test/src/multi-suite.ts b/test/coverage-test/src/multi-suite.ts new file mode 100644 index 000000000000..1f10f5010c12 --- /dev/null +++ b/test/coverage-test/src/multi-suite.ts @@ -0,0 +1,9 @@ +export default { + func1(data: any[]) { + return data + }, + + func2(data: any[]) { + return data + }, +} diff --git a/test/coverage-test/test/coverage.test.ts b/test/coverage-test/test/coverage.test.ts index 6d3e20f399a3..12cf64c44e9b 100644 --- a/test/coverage-test/test/coverage.test.ts +++ b/test/coverage-test/test/coverage.test.ts @@ -1,8 +1,9 @@ -import { expect, test } from 'vitest' +import { describe, expect, test } from 'vitest' import { implicitElse } from '../src/implicitElse' import { useImportEnv } from '../src/importEnv' import { second } from '../src/function-count' import { runDynamicFileCJS, runDynamicFileESM } from '../src/dynamic-files' +import MultiSuite from '../src/multi-suite' // Browser mode crashes with dynamic files. Enable this when browser mode works. // To keep istanbul report consistent between browser and node, skip dynamic tests when istanbul is used. @@ -33,6 +34,23 @@ test('cover function counts', () => { expect(second()).toBe(2) }) +describe('Multiple test suites', () => { + describe('func1()', () => { + test('func1', () => { + const data = ['a', 'b'] + const val = MultiSuite.func1(data) + expect(val).toEqual(data) + }) + }) + describe('func2()', () => { + test('func2', () => { + const data = ['c', 'd'] + const val = MultiSuite.func2(data) + expect(val).toEqual(data) + }) + }) +}) + test.skipIf(skipDynamicFiles)('run dynamic ESM file', async () => { await runDynamicFileESM() })