diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bd9e472394a7..49c94096f7de 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -200,11 +200,11 @@ importers: specifier: ^6.3.4 version: 6.3.4 tsx: - specifier: ^3.9.0 - version: 3.9.0 + specifier: ^4.7.2 + version: 4.7.2 vite: specifier: ^5.2.6 - version: 5.2.6(@types/node@20.11.5)(less@4.1.3) + version: 5.2.10(@types/node@20.11.5)(less@4.1.3) vitest: specifier: workspace:* version: link:../../packages/vitest @@ -252,23 +252,23 @@ importers: examples/marko: devDependencies: '@marko/compiler': - specifier: latest - version: 5.35.11 + specifier: ^5.36.1 + version: 5.36.1 '@marko/testing-library': - specifier: latest - version: 6.1.5(marko@5.32.7) + specifier: ^6.2.0 + version: 6.2.0(marko@5.34.2) '@marko/vite': - specifier: latest - version: 4.1.1(@marko/compiler@5.35.11)(vite@5.2.6) + specifier: ^4.1.10 + version: 4.1.10(@marko/compiler@5.36.1)(vite@5.2.6) '@vitest/ui': specifier: latest version: link:../../packages/ui jsdom: - specifier: latest + specifier: ^24.0.0 version: 24.0.0 marko: - specifier: latest - version: 5.32.7 + specifier: ^5.34.2 + version: 5.34.2 vite: specifier: ^5.2.6 version: 5.2.6(@types/node@20.11.5) @@ -1318,24 +1318,39 @@ importers: '@vitest/web-worker': specifier: workspace:^ version: link:../../packages/web-worker + axios: + specifier: ^0.26.1 + version: 0.26.1(debug@4.3.4) debug: specifier: ^4.3.4 version: 4.3.4(supports-color@8.1.1) strip-ansi: specifier: ^7.1.0 version: 7.1.0 + sweetalert2: + specifier: ^11.6.16 + version: 11.6.16 tinyspy: specifier: ^1.0.2 version: 1.0.2 url: specifier: ^0.11.0 version: 0.11.0 + useJwt: + specifier: link:@vueuse/integrations/useJwt + version: link:@vueuse/integrations/useJwt vitest: specifier: workspace:* version: link:../../packages/vitest vitest-environment-custom: specifier: file:./vitest-environment-custom version: file:test/core/vitest-environment-custom + vue: + specifier: ^3.4.26 + version: 3.4.26(typescript@5.2.2) + zustand: + specifier: ^4.1.1 + version: 4.1.1(react@18.2.0) test/coverage-test: devDependencies: @@ -1555,7 +1570,7 @@ importers: version: 8.9.4(axios@0.26.1)(vue@3.4.25) axios: specifier: ^0.26.1 - version: 0.26.1 + version: 0.26.1(debug@4.3.4) tinyspy: specifier: ^0.3.2 version: 0.3.3 @@ -2468,7 +2483,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.23.3 + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color @@ -3530,7 +3545,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/parser': 7.23.6 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 /@babel/template@7.24.0: @@ -3546,12 +3561,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/generator': 7.23.3 + '@babel/generator': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.6 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 @@ -3607,6 +3622,20 @@ packages: resolution: {integrity: sha512-BxOqI5LgsIQP1odU5KMwV9yoijleOPzHL18/YvNqF9KFSGF2K/DLlYAbDQsWqd/1nbaFuSkYD/191dpMtNh4vw==} dev: true + /@chialab/cjs-to-esm@0.18.0: + resolution: {integrity: sha512-fm8X9NhPO5pyUB7gxOZgwxb8lVq1UD4syDJCpqh6x4zGME6RTck7BguWZ4Zgv3GML4fQ4KZtyRwP5eoDgNGrmA==} + engines: {node: '>=18'} + dependencies: + '@chialab/estransform': 0.18.1 + dev: true + + /@chialab/estransform@0.18.1: + resolution: {integrity: sha512-W/WmjpQL2hndD0/XfR0FcPBAUj+aLNeoAVehOjV/Q9bSnioz0GVSAXXhzp59S33ZynxJBBfn8DNiMTVNJmk4Aw==} + engines: {node: '>=18'} + dependencies: + '@parcel/source-map': 2.1.1 + dev: true + /@clack/core@0.3.4: resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} dependencies: @@ -4525,7 +4554,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.23 + '@jridgewell/trace-mapping': 0.3.25 /@jridgewell/gen-mapping@0.3.5: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} @@ -4632,8 +4661,8 @@ packages: relative-import-path: 1.0.0 dev: true - /@marko/compiler@5.35.11: - resolution: {integrity: sha512-AIiNDXYkQDgGY4naI/LhDY9HFcrOGIs33kAZwXocWFdaEFa0L4eb/tMg5kJTchYtM7ioWfMqVRGIeGkDpP9sEw==} + /@marko/compiler@5.36.1: + resolution: {integrity: sha512-a+L44BPOChVYrS4t5kG4t9EVVeCFhQxoNLfSxEHBdyXEzC3auntOG0yEcURkSVClT3/do2GCkFHZ6T8ILO90kQ==} dependencies: '@babel/code-frame': 7.24.2 '@babel/core': 7.24.4 @@ -4662,14 +4691,14 @@ packages: - supports-color dev: true - /@marko/testing-library@6.1.5(marko@5.32.7): - resolution: {integrity: sha512-3C+c47vUTkDSP24BpUltiMp9PAmqOoKK/gjTd596snlTFZo7TGXAC11lQyJtj+04W5mnO2xrXJfiD5xaQXUahQ==} + /@marko/testing-library@6.2.0(marko@5.34.2): + resolution: {integrity: sha512-09R7PuyoBmDF+Q1JvDP8xsVU27hpP533SXy3ILzwzJyQMucvUddjT5VfF3FlSZmFy6RXj4jP6yUCpokEB0RNkg==} peerDependencies: marko: ^3 || ^4 || ^5 dependencies: '@testing-library/dom': 9.3.3 jsdom: 23.2.0 - marko: 5.32.7 + marko: 5.34.2 transitivePeerDependencies: - bufferutil - canvas @@ -4677,428 +4706,37 @@ packages: - utf-8-validate dev: true - /@marko/translator-default@5.32.13(@marko/compiler@5.35.11)(marko@5.32.7): - resolution: {integrity: sha512-KNL3vsy0MbWFmC9HTGvWsCFE950ptv66nvu2h7pkwTytECYGK0L2oy02Yx5TrZdF9/PicsCPzAaw3U2s15Wjmw==} + /@marko/translator-default@6.0.0(@marko/compiler@5.36.1)(marko@5.34.2): + resolution: {integrity: sha512-ldx7s2oYkWvjclLzDbGQyKTC5M7Of/eeFtodDD4WQdTUgxuEKOVTx065V1hKGm5wqHMW4pCKSD3Z+35jrsYYlA==} peerDependencies: '@marko/compiler': ^5.16.1 marko: ^5.17.2 dependencies: '@babel/runtime': 7.24.4 '@marko/babel-utils': 6.4.3 - '@marko/compiler': 5.35.11 - magic-string: 0.30.9 - marko: 5.32.7 + '@marko/compiler': 5.36.1 + magic-string: 0.30.10 + marko: 5.34.2 self-closing-tags: 1.0.1 dev: true - /@marko/vite@4.1.1(@marko/compiler@5.35.11)(vite@5.2.6): - resolution: {integrity: sha512-R9KDq6qiKmwl20a37OzeuNqSkjDD07A9T0Pxhf1vaAA+VYC6R/QB1ZhWekLlCurBToNEnqnO70xril3TzwAqgg==} + /@marko/vite@4.1.10(@marko/compiler@5.36.1)(vite@5.2.6): + resolution: {integrity: sha512-D6rY/P8CgO83kNKQOpZMqWNr9xXeUdrbfkdTgxyKHMCpGigr2ywASaUIh19E9Nz9jp0aRI9w2U0NnXK+gfLCKA==} peerDependencies: '@marko/compiler': ^5 vite: ^5.2.6 dependencies: - '@marko/compiler': 5.35.11 + '@chialab/cjs-to-esm': 0.18.0 + '@marko/compiler': 5.36.1 anymatch: 3.1.3 domelementtype: 2.3.0 domhandler: 5.0.3 - htmlparser2: 9.0.0 + htmlparser2: 9.1.0 resolve: 1.22.8 resolve.exports: 2.0.2 vite: 5.2.6(@types/node@20.11.5) dev: true - /@mdx-js/mdx@1.6.22: - resolution: {integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==} - dependencies: - '@babel/core': 7.12.9 - '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@mdx-js/util': 1.6.22 - babel-plugin-apply-mdx-type-prop: 1.6.22(@babel/core@7.12.9) - babel-plugin-extract-import-names: 1.6.22 - camelcase-css: 2.0.1 - detab: 2.0.4 - hast-util-raw: 6.0.1 - lodash.uniq: 4.5.0 - mdast-util-to-hast: 10.0.1 - remark-footnotes: 2.0.0 - remark-mdx: 1.6.22 - remark-parse: 8.0.3 - remark-squeeze-paragraphs: 4.0.0 - style-to-object: 0.3.0 - unified: 9.2.0 - unist-builder: 2.0.3 - unist-util-visit: 2.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@mdx-js/react@1.6.22(react@17.0.2): - resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==} - peerDependencies: - react: ^16.13.1 || ^17.0.0 - dependencies: - react: 17.0.2 - dev: true - - /@mdx-js/util@1.6.22: - resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==} - dev: true - - /@mrmlnc/readdir-enhanced@2.2.1: - resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} - engines: {node: '>=4'} - dependencies: - call-me-maybe: 1.0.2 - glob-to-regexp: 0.3.0 - dev: true - - /@mswjs/cookies@0.2.2: - resolution: {integrity: sha512-mlN83YSrcFgk7Dm1Mys40DLssI1KdJji2CMKN8eOlBqsTADYzj2+jWzsANsUTFbxDMWPD5e9bfA1RGqBpS3O1g==} - engines: {node: '>=14'} - dependencies: - '@types/set-cookie-parser': 2.4.2 - set-cookie-parser: 2.5.1 - dev: true - - /@mswjs/cookies@1.0.0: - resolution: {integrity: sha512-TdXoBdI+h/EDTsVLCX/34s4+9U0sWi92qFnIGUEikpMCSKLhBeujovyYVSoORNbYgsBH5ga7/tfxyWcEZAxiYA==} - engines: {node: '>=14'} - dev: true - - /@mswjs/interceptors@0.17.6: - resolution: {integrity: sha512-201pBIWehTURb6q8Gheu4Zhvd3Ox1U4BJq5KiOQsYzkWyfiOG4pwcz5hPZIEryztgrf8/sdwABpvY757xMmfrQ==} - engines: {node: '>=14'} - dependencies: - '@open-draft/until': 1.0.3 - '@types/debug': 4.1.12 - '@xmldom/xmldom': 0.8.6 - debug: 4.3.4(supports-color@8.1.1) - headers-polyfill: 3.1.2 - outvariant: 1.3.0 - strict-event-emitter: 0.2.8 - web-encoding: 1.1.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@mswjs/interceptors@0.25.7: - resolution: {integrity: sha512-U7iFYs/qU/5jfz1VDpoYz3xqX9nzhsBXw7q923dv6GiGTy+m2ZLhD33L80R/shHOW/YWjeH6k16GbIHGw+bAng==} - engines: {node: '>=18'} - dependencies: - '@open-draft/deferred-promise': 2.2.0 - '@open-draft/logger': 0.3.0 - '@open-draft/until': 2.1.0 - is-node-process: 1.2.0 - outvariant: 1.4.0 - strict-event-emitter: 0.5.1 - dev: true - - /@mui/base@5.0.0-alpha.95(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-fcxnDeO7rBwzP0buVdI5fn0aA7NQ/AeUV5RzIIH0kOXVVT21HB4JFf41Qhwd0PIq63PXxmc6Fs2mdlzMYuPo9g==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.24.4 - '@emotion/is-prop-valid': 1.2.0 - '@mui/types': 7.2.0(@types/react@18.2.37) - '@mui/utils': 5.10.3(react@18.2.0) - '@popperjs/core': 2.11.6 - '@types/react': 18.2.37 - clsx: 1.2.1 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-is: 18.2.0 - dev: false - - /@mui/core-downloads-tracker@5.10.3: - resolution: {integrity: sha512-mX2S0d1oboKBbWQqWIgRmyALAEzh37yiknpD3mKx8bcoMKbp1VtqzIt0aeHP16Uhsd0eValDFILxLNHWi0oddQ==} - dev: false - - /@mui/material@5.10.3(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-g0lzHcqWHYeOEAxTzcwpM1I7b+wyiRTeXkEdRsspnOpZtb0H/1xg386tMFRGbxBJ4zfVGT+TWublofw7pyQkqw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/react': ^11.5.0 - '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.18.9 - '@emotion/react': 11.10.4(@babel/core@7.24.4)(@types/react@18.2.37)(react@18.2.0) - '@emotion/styled': 11.10.4(@babel/core@7.24.4)(@emotion/react@11.10.4)(@types/react@18.2.37)(react@18.2.0) - '@mui/base': 5.0.0-alpha.95(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) - '@mui/core-downloads-tracker': 5.10.3 - '@mui/system': 5.10.3(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(@types/react@18.2.37)(react@18.2.0) - '@mui/types': 7.2.0(@types/react@18.2.37) - '@mui/utils': 5.10.3(react@18.2.0) - '@types/react': 18.2.37 - '@types/react-transition-group': 4.4.5 - clsx: 1.2.1 - csstype: 3.1.0 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-is: 18.2.0 - react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) - dev: false - - /@mui/private-theming@5.10.3(@types/react@18.2.37)(react@18.2.0): - resolution: {integrity: sha512-LCYIKlkGz2BTSng2BFzzwSJBRZbChIUri2x2Nh8ryk2B1Ho7zpvE7ex6y39LlStG2Frf92NFC/V4YQbmMAjD5A==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.24.4 - '@mui/utils': 5.10.3(react@18.2.0) - '@types/react': 18.2.37 - prop-types: 15.8.1 - react: 18.2.0 - dev: false - - /@mui/private-theming@5.14.14(@types/react@18.2.37)(react@18.2.0): - resolution: {integrity: sha512-n77au3CQj9uu16hak2Y+rvbGSBaJKxziG/gEbOLVGrAuqZ+ycVSkorCfN6Y/4XgYOpG/xvmuiY3JwhAEOzY3iA==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.24.4 - '@mui/utils': 5.14.14(@types/react@18.2.37)(react@18.2.0) - '@types/react': 18.2.37 - prop-types: 15.8.1 - react: 18.2.0 - dev: false - - /@mui/styled-engine@5.10.3(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(react@18.2.0): - resolution: {integrity: sha512-9Uz7eB8xXoiDvpJ9qBxZ/2xGO8xKfA2T23dw4AsQ69SQtGatrOLAapzP2lNr0tfB9xvKucclPFhRO5aLhDFOVQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/react': ^11.4.1 - '@emotion/styled': ^11.3.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - dependencies: - '@babel/runtime': 7.24.4 - '@emotion/cache': 11.10.3 - '@emotion/react': 11.10.4(@babel/core@7.24.4)(@types/react@18.2.37)(react@18.2.0) - '@emotion/styled': 11.10.4(@babel/core@7.24.4)(@emotion/react@11.10.4)(@types/react@18.2.37)(react@18.2.0) - csstype: 3.1.3 - prop-types: 15.8.1 - react: 18.2.0 - dev: false - - /@mui/styled-engine@5.14.14(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(react@18.2.0): - resolution: {integrity: sha512-sF3DS2PVG+cFWvkVHQQaGFpL1h6gSwOW3L91pdxPLQDHDZ5mZ/X0SlXU5XA+WjypoysG4urdAQC7CH/BRvUiqg==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/react': ^11.4.1 - '@emotion/styled': ^11.3.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - dependencies: - '@babel/runtime': 7.24.4 - '@emotion/cache': 11.11.0 - '@emotion/react': 11.10.4(@babel/core@7.24.4)(@types/react@18.2.37)(react@18.2.0) - '@emotion/styled': 11.10.4(@babel/core@7.24.4)(@emotion/react@11.10.4)(@types/react@18.2.37)(react@18.2.0) - csstype: 3.1.3 - prop-types: 15.8.1 - react: 18.2.0 - dev: false - - /@mui/system@5.10.3(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(@types/react@18.2.37)(react@18.2.0): - resolution: {integrity: sha512-uLW/CIz3zk1jr5zH0ahOUqJIrpWP02Mv4emfrplh7Mh5JCb/oumhYaC/ALJJEjzUHKg9wwiyuM0pCwK/kSf1jQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/react': ^11.5.0 - '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.24.4 - '@emotion/react': 11.10.4(@babel/core@7.24.4)(@types/react@18.2.37)(react@18.2.0) - '@emotion/styled': 11.10.4(@babel/core@7.24.4)(@emotion/react@11.10.4)(@types/react@18.2.37)(react@18.2.0) - '@mui/private-theming': 5.10.3(@types/react@18.2.37)(react@18.2.0) - '@mui/styled-engine': 5.10.3(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(react@18.2.0) - '@mui/types': 7.2.0(@types/react@18.2.37) - '@mui/utils': 5.10.3(react@18.2.0) - '@types/react': 18.2.37 - clsx: 1.2.1 - csstype: 3.1.2 - prop-types: 15.8.1 - react: 18.2.0 - dev: false - - /@mui/system@5.14.14(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(@types/react@18.2.37)(react@18.2.0): - resolution: {integrity: sha512-y4InFmCgGGWXnz+iK4jRTWVikY0HgYnABjz4wgiUgEa2W1H8M4ow+27BegExUWPkj4TWthQ2qG9FOGSMtI+PKA==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/react': ^11.5.0 - '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.24.4 - '@emotion/react': 11.10.4(@babel/core@7.24.4)(@types/react@18.2.37)(react@18.2.0) - '@emotion/styled': 11.10.4(@babel/core@7.24.4)(@emotion/react@11.10.4)(@types/react@18.2.37)(react@18.2.0) - '@mui/private-theming': 5.14.14(@types/react@18.2.37)(react@18.2.0) - '@mui/styled-engine': 5.14.14(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(react@18.2.0) - '@mui/types': 7.2.6(@types/react@18.2.37) - '@mui/utils': 5.14.14(@types/react@18.2.37)(react@18.2.0) - '@types/react': 18.2.37 - clsx: 2.0.0 - csstype: 3.1.3 - prop-types: 15.8.1 - react: 18.2.0 - dev: false - - /@mui/types@7.2.0(@types/react@18.2.37): - resolution: {integrity: sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==} - peerDependencies: - '@types/react': '*' - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.37 - dev: false - - /@mui/types@7.2.6(@types/react@18.2.37): - resolution: {integrity: sha512-7sjLQrUmBwufm/M7jw/quNiPK/oor2+pGUQP2CULRcFCArYTq78oJ3D5esTaL0UMkXKJvDqXn6Ike69yAOBQng==} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.37 - dev: false - - /@mui/utils@5.10.3(react@18.2.0): - resolution: {integrity: sha512-4jXMDPfx6bpMVuheLaOpKTjpzw39ogAZLeaLj5+RJec3E37/hAZMYjURfblLfTWMMoGoqkY03mNsZaEwNobBow==} - engines: {node: '>=12.0.0'} - peerDependencies: - react: ^17.0.0 || ^18.0.0 - dependencies: - '@babel/runtime': 7.24.4 - '@types/prop-types': 15.7.9 - '@types/react-is': 17.0.3 - prop-types: 15.8.1 - react: 18.2.0 - react-is: 18.2.0 - dev: false - - /@mui/utils@5.14.14(@types/react@18.2.37)(react@18.2.0): - resolution: {integrity: sha512-3AKp8uksje5sRfVrtgG9Q/2TBsHWVBUtA0NaXliZqGcXo8J+A+Agp0qUW2rJ+ivgPWTCCubz9FZVT2IQZ3bGsw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.24.4 - '@types/prop-types': 15.7.9 - '@types/react': 18.2.37 - prop-types: 15.8.1 - react: 18.2.0 - react-is: 18.2.0 - dev: false - - /@mui/x-date-pickers@5.0.0-beta.0(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(@mui/material@5.10.3)(@mui/system@5.14.14)(date-fns@2.29.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-WfcYe+5j3xbGO9d+uMFem06b9q+9yIcFj0dP3PKCa1zb6m3Tbkigig6vlCuHLKLSXe1P6IQCt+BNVVbU1rfh7A==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/react': ^11.9.0 - '@emotion/styled': ^11.8.1 - '@mui/material': ^5.4.1 - '@mui/system': ^5.4.1 - date-fns: ^2.25.0 - dayjs: ^1.10.7 - luxon: ^1.28.0 || ^2.0.0 - moment: ^2.29.1 - react: ^17.0.2 || ^18.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - date-fns: - optional: true - dayjs: - optional: true - luxon: - optional: true - moment: - optional: true - dependencies: - '@babel/runtime': 7.18.9 - '@date-io/core': 2.15.0 - '@date-io/date-fns': 2.15.0(date-fns@2.29.2) - '@date-io/dayjs': 2.15.0 - '@date-io/luxon': 2.15.0 - '@date-io/moment': 2.15.0 - '@emotion/react': 11.10.4(@babel/core@7.24.4)(@types/react@18.2.37)(react@18.2.0) - '@emotion/styled': 11.10.4(@babel/core@7.24.4)(@emotion/react@11.10.4)(@types/react@18.2.37)(react@18.2.0) - '@mui/material': 5.10.3(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) - '@mui/system': 5.14.14(@emotion/react@11.10.4)(@emotion/styled@11.10.4)(@types/react@18.2.37)(react@18.2.0) - '@mui/utils': 5.10.3(react@18.2.0) - '@types/react-transition-group': 4.4.5 - clsx: 1.2.1 - date-fns: 2.29.2 - prop-types: 15.8.1 - react: 18.2.0 - react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) - rifm: 0.12.1(react@18.2.0) - transitivePeerDependencies: - - react-dom - dev: false - /@next/env@12.1.5: resolution: {integrity: sha512-+34yUJslfJi7Lyx6ELuN8nWcOzi27izfYnZIC1Dqv7kmmfiBVxgzR3BXhlvEMTKC2IRJhXVs2FkMY+buQe3k7Q==} dev: false @@ -5229,23 +4867,15 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - /@npmcli/fs@1.1.1: - resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.6.0 + /@one-ini/wasm@0.1.1: + resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} dev: true - /@npmcli/move-file@1.1.2: - resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} - engines: {node: '>=10'} + /@parcel/source-map@2.1.1: + resolution: {integrity: sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==} + engines: {node: ^12.18.3 || >=14} dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: true - - /@one-ini/wasm@0.1.1: - resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + detect-libc: 1.0.3 dev: true /@pkgjs/parseargs@0.11.0: @@ -5511,6 +5141,21 @@ packages: rollup: 4.9.6 dev: true + /@rollup/pluginutils@5.1.0(rollup@4.16.4): + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^4.9.6 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 4.16.4 + dev: true + /@rollup/pluginutils@5.1.0(rollup@4.9.6): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} @@ -5769,14 +5414,14 @@ packages: resolution: {integrity: sha512-LI8Q8A08dRQpEEiespjTBGcT2i+0Uf3Z03FE+okBlObd4Wf+Sq/YNiLR6ga/7V2z/vhktRwcb/2O3+UZMRiEKg==} dependencies: '@shikijs/twoslash': 1.2.4(typescript@5.2.2) - floating-vue: 5.2.2(vue@3.4.21) + floating-vue: 5.2.2(vue@3.4.26) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.2.4 twoslash: 0.2.5(typescript@5.2.2) twoslash-vue: 0.2.5(typescript@5.2.2) - vue: 3.4.21(typescript@5.2.2) + vue: 3.4.26(typescript@5.2.2) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -7121,7 +6766,7 @@ packages: vite: ^5.2.6 dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.1.0(rollup@4.9.6) + '@rollup/pluginutils': 5.1.0(rollup@4.16.4) '@unocss/config': 0.57.4 '@unocss/core': 0.57.4 '@unocss/inspector': 0.57.4 @@ -7185,6 +6830,15 @@ packages: vite: 5.2.10(@types/node@20.11.5)(less@4.1.3) dev: true + /@vitejs/plugin-basic-ssl@1.0.2(vite@5.2.6): + resolution: {integrity: sha512-DKHKVtpI+eA5fvObVgQ3QtTGU70CcCnedalzqmGSR050AzKZMdUzgC8KmlOneHWH8dF2hJ3wkC9+8FDVAaDRCw==} + engines: {node: '>=14.6.0'} + peerDependencies: + vite: ^5.2.6 + dependencies: + vite: 5.2.6(@types/node@20.11.5) + dev: true + /@vitejs/plugin-react@4.2.1(vite@5.2.10): resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -7255,6 +6909,17 @@ packages: vue: 3.4.21(typescript@5.2.2) dev: true + /@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.26): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.2.6 + vue: ^3.2.25 + dependencies: + vite: 5.2.6(@types/node@20.11.5) + vue: 3.4.26(typescript@5.2.2) + dev: true + /@volar/language-core@1.10.4: resolution: {integrity: sha512-Na69qA6uwVIdA0rHuOc2W3pHtVQQO8hCNim7FOaKNpRJh0oAFnu5r9i7Oopo5C4cnELZkPNjTrbmpcCTiW+CMQ==} dependencies: @@ -7335,6 +7000,16 @@ packages: estree-walker: 2.0.2 source-map-js: 1.2.0 + /@vue/compiler-core@3.4.26: + resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} + dependencies: + '@babel/parser': 7.24.4 + '@vue/shared': 3.4.26 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + dev: true + /@vue/compiler-dom@3.3.8: resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==} dependencies: @@ -7354,6 +7029,13 @@ packages: '@vue/compiler-core': 3.4.25 '@vue/shared': 3.4.25 + /@vue/compiler-dom@3.4.26: + resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} + dependencies: + '@vue/compiler-core': 3.4.26 + '@vue/shared': 3.4.26 + dev: true + /@vue/compiler-sfc@2.7.10: resolution: {integrity: sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==} dependencies: @@ -7403,6 +7085,20 @@ packages: postcss: 8.4.38 source-map-js: 1.2.0 + /@vue/compiler-sfc@3.4.26: + resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==} + dependencies: + '@babel/parser': 7.24.4 + '@vue/compiler-core': 3.4.26 + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 + estree-walker: 2.0.2 + magic-string: 0.30.10 + postcss: 8.4.38 + source-map-js: 1.2.0 + dev: true + /@vue/compiler-ssr@3.3.8: resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==} dependencies: @@ -7422,19 +7118,26 @@ packages: '@vue/compiler-dom': 3.4.25 '@vue/shared': 3.4.25 + /@vue/compiler-ssr@3.4.26: + resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==} + dependencies: + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.26 + dev: true + /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} dev: true - /@vue/devtools-api@7.0.25(vue@3.4.21): + /@vue/devtools-api@7.0.25(vue@3.4.26): resolution: {integrity: sha512-fL6DlRp4MSXCLYcqYvKU7QhQZWE3Hfu7X8pC25BS74coJi7uJeSWs4tmrITcwFihNmC9S5GPiffkMdckkeWjzg==} dependencies: - '@vue/devtools-kit': 7.0.25(vue@3.4.21) + '@vue/devtools-kit': 7.0.25(vue@3.4.26) transitivePeerDependencies: - vue dev: true - /@vue/devtools-kit@7.0.25(vue@3.4.21): + /@vue/devtools-kit@7.0.25(vue@3.4.26): resolution: {integrity: sha512-wbLkSnOTsKHPb1mB9koFHUoSAF8Dp6Ii/ocR2+DeXFY4oKqIjCeJb/4Lihk4rgqEhCy1WwxLfTgNDo83VvDYkQ==} peerDependencies: vue: ^3.0.0 @@ -7444,7 +7147,7 @@ packages: mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.21(typescript@5.2.2) + vue: 3.4.26(typescript@5.2.2) dev: true /@vue/devtools-shared@7.0.25: @@ -7464,7 +7167,7 @@ packages: '@volar/language-core': 1.10.4 '@volar/source-map': 1.10.4 '@vue/compiler-dom': 3.4.25 - '@vue/shared': 3.4.21 + '@vue/shared': 3.4.25 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -7483,9 +7186,9 @@ packages: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 '@vue/compiler-dom': 3.4.25 - '@vue/shared': 3.4.21 + '@vue/shared': 3.4.25 computeds: 0.0.1 - minimatch: 9.0.3 + minimatch: 9.0.4 muggle-string: 0.3.1 path-browserify: 1.0.1 typescript: 5.2.2 @@ -7499,7 +7202,7 @@ packages: '@vue/compiler-core': 3.3.8 '@vue/shared': 3.3.8 estree-walker: 2.0.2 - magic-string: 0.30.9 + magic-string: 0.30.10 dev: true /@vue/reactivity@3.3.8: @@ -7518,6 +7221,12 @@ packages: dependencies: '@vue/shared': 3.4.25 + /@vue/reactivity@3.4.26: + resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==} + dependencies: + '@vue/shared': 3.4.26 + dev: true + /@vue/runtime-core@3.3.8: resolution: {integrity: sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==} dependencies: @@ -7537,6 +7246,13 @@ packages: '@vue/reactivity': 3.4.25 '@vue/shared': 3.4.25 + /@vue/runtime-core@3.4.26: + resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==} + dependencies: + '@vue/reactivity': 3.4.26 + '@vue/shared': 3.4.26 + dev: true + /@vue/runtime-dom@3.3.8: resolution: {integrity: sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==} dependencies: @@ -7559,6 +7275,14 @@ packages: '@vue/shared': 3.4.25 csstype: 3.1.3 + /@vue/runtime-dom@3.4.26: + resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==} + dependencies: + '@vue/runtime-core': 3.4.26 + '@vue/shared': 3.4.26 + csstype: 3.1.3 + dev: true + /@vue/server-renderer@3.3.8(vue@3.3.8): resolution: {integrity: sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==} peerDependencies: @@ -7598,6 +7322,16 @@ packages: '@vue/shared': 3.4.25 vue: 3.4.25(typescript@5.2.2) + /@vue/server-renderer@3.4.26(vue@3.4.26): + resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==} + peerDependencies: + vue: 3.4.26 + dependencies: + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 + vue: 3.4.26(typescript@5.2.2) + dev: true + /@vue/shared@3.3.8: resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} dev: true @@ -7608,6 +7342,10 @@ packages: /@vue/shared@3.4.25: resolution: {integrity: sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==} + /@vue/shared@3.4.26: + resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} + dev: true + /@vue/test-utils@2.3.1(vue@3.4.21): resolution: {integrity: sha512-tRtHRPEETQSUrqXgAewNZHm5iypxDFxwenfdcvMRm1kbGo4bcqHb1XHHlsaIjoDbLkuE2NYiF8vBQDNYrzlrSA==} peerDependencies: @@ -7667,13 +7405,13 @@ packages: - vue dev: false - /@vueuse/core@10.9.0(vue@3.4.21): + /@vueuse/core@10.9.0(vue@3.4.26): resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.26) + vue-demi: 0.14.7(vue@3.4.26) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -7697,7 +7435,7 @@ packages: vue-demi: 0.14.7(vue@3.4.25) dev: false - /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21): + /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.26): resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} peerDependencies: async-validator: '*' @@ -7738,10 +7476,10 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/shared': 10.9.0(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.26) + '@vueuse/shared': 10.9.0(vue@3.4.26) focus-trap: 7.5.4 - vue-demi: 0.14.7(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.26) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -7784,7 +7522,7 @@ packages: dependencies: '@vueuse/core': 8.9.4(vue@3.4.25) '@vueuse/shared': 8.9.4(vue@3.4.25) - axios: 0.26.1 + axios: 0.26.1(debug@4.3.4) vue-demi: 0.14.7(vue@3.4.25) transitivePeerDependencies: - '@vue/composition-api' @@ -7820,10 +7558,10 @@ packages: - vue dev: false - /@vueuse/shared@10.9.0(vue@3.4.21): + /@vueuse/shared@10.9.0(vue@3.4.26): resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - vue-demi: 0.14.7(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.26) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -8026,7 +7764,6 @@ packages: /acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} - dev: false /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} @@ -8418,11 +8155,18 @@ packages: /axios@0.26.1: resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} dependencies: - follow-redirects: 1.15.1 + follow-redirects: 1.15.1(debug@4.3.4) transitivePeerDependencies: - debug dev: false + /axios@0.26.1(debug@4.3.4): + resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} + dependencies: + follow-redirects: 1.15.1(debug@4.3.4) + transitivePeerDependencies: + - debug + /b4a@1.6.4: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: true @@ -9790,6 +9534,12 @@ packages: engines: {node: '>=8'} dev: true + /detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + /detect-libc@2.0.2: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} @@ -11222,7 +10972,7 @@ packages: vue-resize: 2.0.0-alpha.1(vue@3.3.8) dev: true - /floating-vue@5.2.2(vue@3.4.21): + /floating-vue@5.2.2(vue@3.4.26): resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': ^3.2.0 @@ -11232,8 +10982,8 @@ packages: optional: true dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.21(typescript@5.2.2) - vue-resize: 2.0.0-alpha.1(vue@3.4.21) + vue: 3.4.26(typescript@5.2.2) + vue-resize: 2.0.0-alpha.1(vue@3.4.26) dev: true /focus-trap@7.5.4: @@ -11242,7 +10992,7 @@ packages: tabbable: 6.2.0 dev: true - /follow-redirects@1.15.1: + /follow-redirects@1.15.1(debug@4.3.4): resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} engines: {node: '>=4.0'} peerDependencies: @@ -11250,7 +11000,8 @@ packages: peerDependenciesMeta: debug: optional: true - dev: false + dependencies: + debug: 4.3.4(supports-color@8.1.1) /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -11760,25 +11511,6 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true - /graphql-tag@2.12.6(graphql@16.8.1): - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} - engines: {node: '>=10'} - peerDependencies: - graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - dependencies: - graphql: 16.8.1 - tslib: 2.6.2 - dev: false - - /graphql@16.6.0: - resolution: {integrity: sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - dev: true - - /graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - /gtoken@7.0.1: resolution: {integrity: sha512-KcFVtoP1CVFtQu0aSk3AyAt2og66PFhZAlkUOuWKwzMLoulHXG5W5wE5xAnHb+yl3/wEFoqGW7/cDGMU8igDZQ==} engines: {node: '>=14.0.0'} @@ -11890,7 +11622,6 @@ packages: resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} dependencies: '@babel/runtime': 7.18.9 - dev: false /hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} @@ -11947,8 +11678,8 @@ packages: resolution: {integrity: sha512-5pNHk0dSIFLA0ucC2NJv4ikhOdAFKT2X3zo69uAd5fqt3AX4kaXD9F17k/98LKCn5u4Dd9PXeso2iJ0bFw0X+Q==} dev: true - /htmlparser2@9.0.0: - resolution: {integrity: sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ==} + /htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 @@ -12568,17 +12299,7 @@ packages: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - - /iterate-iterator@1.0.2: - resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==} - dev: true - - /iterate-value@1.0.2: - resolution: {integrity: sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==} - dependencies: - es-get-iterator: 1.1.3 - iterate-iterator: 1.0.2 - dev: true + dev: false /jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} @@ -13485,12 +13206,12 @@ packages: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: true - /marko@5.32.7: - resolution: {integrity: sha512-YX+axjIoVGQmycWeYH1Dw9ohEBi+7pNIwGTXKwMaj/Dq7U5/Gx1FcwZbPyWQU2LhZbeOKzlPUyV6Esce4PwlLg==} + /marko@5.34.2: + resolution: {integrity: sha512-u/eN/n4Q0yzK3BfUd4Xarnuv5/WTKKqSCuVbfbIxcNN+PSjfIDdd28kVR2uE3VdGu4n63vfByNPUxZpaSRIHRw==} hasBin: true dependencies: - '@marko/compiler': 5.35.11 - '@marko/translator-default': 5.32.13(@marko/compiler@5.35.11)(marko@5.32.7) + '@marko/compiler': 5.36.1 + '@marko/translator-default': 6.0.0(@marko/compiler@5.36.1)(marko@5.34.2) app-module-path: 2.2.0 argly: 1.2.0 browser-refresh-client: 1.1.4 @@ -13498,7 +13219,7 @@ packages: csstype: 3.1.3 events-light: 1.0.5 listener-tracker: 2.0.0 - minimatch: 9.0.3 + minimatch: 9.0.4 raptor-util: 3.2.0 resolve-from: 5.0.0 self-closing-tags: 1.0.1 @@ -14653,28 +14374,6 @@ packages: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: true - /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - dev: true - - /path-type@1.1.0: - resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dependencies: - graceful-fs: 4.2.11 - pify: 2.3.0 - pinkie-promise: 2.0.1 - dev: true - optional: true - - /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} - dependencies: - pify: 3.0.0 - dev: true - /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -15308,20 +15007,6 @@ packages: strip-indent: 3.0.0 dev: true - /reduce-css-calc@2.1.8: - resolution: {integrity: sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==} - dependencies: - css-unit-converter: 1.1.2 - postcss-value-parser: 3.3.1 - dev: false - - /regenerate-unicode-properties@10.0.1: - resolution: {integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==} - engines: {node: '>=4'} - dependencies: - regenerate: 1.4.2 - dev: true - /regenerate-unicode-properties@10.1.1: resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} engines: {node: '>=4'} @@ -16822,20 +16507,6 @@ packages: punycode: 2.3.1 dev: true - /tr46@3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} - dependencies: - punycode: 2.3.1 - dev: true - - /tr46@4.1.1: - resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} - engines: {node: '>=14'} - dependencies: - punycode: 2.3.1 - dev: true - /tr46@5.0.0: resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} engines: {node: '>=18'} @@ -17072,14 +16743,6 @@ packages: hasBin: true dev: true - /uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true - dev: true - optional: true - /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -17503,6 +17166,14 @@ packages: react: 18.0.0 dev: true + /use-sync-external-store@1.2.0(react@18.2.0): + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: true + /userhome@1.0.0: resolution: {integrity: sha512-ayFKY3H+Pwfy4W98yPdtH1VqH4psDeyW8lYYFzfecR9d6hqLpqhecktvYR3SEEXt7vG0S1JEpciI3g94pMErig==} engines: {node: '>= 0.8.0'} @@ -17753,17 +17424,17 @@ packages: '@shikijs/core': 1.2.4 '@shikijs/transformers': 1.2.4 '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.4(vite@5.2.6)(vue@3.4.21) - '@vue/devtools-api': 7.0.25(vue@3.4.21) - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) + '@vitejs/plugin-vue': 5.0.4(vite@5.2.6)(vue@3.4.26) + '@vue/devtools-api': 7.0.25(vue@3.4.26) + '@vueuse/core': 10.9.0(vue@3.4.26) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 postcss: 8.4.38 shiki: 1.2.4 vite: 5.2.6(@types/node@20.11.5) - vue: 3.4.21(typescript@5.2.2) + vue: 3.4.26(typescript@5.2.2) transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -17863,6 +17534,7 @@ packages: optional: true dependencies: vue: 3.4.21(typescript@5.2.2) + dev: false /vue-demi@0.14.7(vue@3.4.25): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} @@ -17879,6 +17551,21 @@ packages: vue: 3.4.25(typescript@5.2.2) dev: false + /vue-demi@0.14.7(vue@3.4.26): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.26(typescript@5.2.2) + dev: true + /vue-eslint-parser@9.4.2(eslint@9.1.0): resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} @@ -17905,12 +17592,12 @@ packages: vue: 3.3.8(typescript@5.2.2) dev: true - /vue-resize@2.0.0-alpha.1(vue@3.4.21): + /vue-resize@2.0.0-alpha.1(vue@3.4.26): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.21(typescript@5.2.2) + vue: 3.4.26(typescript@5.2.2) dev: true /vue-router@4.2.5(vue@3.3.8): @@ -17996,6 +17683,22 @@ packages: '@vue/shared': 3.4.25 typescript: 5.2.2 + /vue@3.4.26(typescript@5.2.2): + resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-sfc': 3.4.26 + '@vue/runtime-dom': 3.4.26 + '@vue/server-renderer': 3.4.26(vue@3.4.26) + '@vue/shared': 3.4.26 + typescript: 5.2.2 + dev: true + /w3c-hr-time@1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} deprecated: Use your platform's native performance.now() and performance.timeOrigin. @@ -18688,6 +18391,22 @@ packages: use-sync-external-store: 1.2.0(react@18.0.0) dev: true + /zustand@4.1.1(react@18.2.0): + resolution: {integrity: sha512-h4F3WMqsZgvvaE0n3lThx4MM81Ls9xebjvrABNzf5+jb3/03YjNTSgZXeyrvXDArMeV9untvWXRw1tY+ntPYbA==} + engines: {node: '>=12.7.0'} + peerDependencies: + immer: '>=9.0' + react: '>=16.8' + peerDependenciesMeta: + immer: + optional: true + react: + optional: true + dependencies: + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) + dev: true + /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true diff --git a/test/mocks/__mocks__/@vueuse/integrations/useJwt.ts b/test/core/__mocks__/@vueuse/integrations/useJwt.ts similarity index 88% rename from test/mocks/__mocks__/@vueuse/integrations/useJwt.ts rename to test/core/__mocks__/@vueuse/integrations/useJwt.ts index 2dced5c8a68b..1cfe1dadb6cb 100644 --- a/test/mocks/__mocks__/@vueuse/integrations/useJwt.ts +++ b/test/core/__mocks__/@vueuse/integrations/useJwt.ts @@ -1,4 +1,5 @@ import { ref } from 'vue' +import { vi } from 'vitest' export const useJwt = vi.fn(() => ({ payload: ref({ diff --git a/test/mocks/__mocks__/axios.ts b/test/core/__mocks__/axios.ts similarity index 100% rename from test/mocks/__mocks__/axios.ts rename to test/core/__mocks__/axios.ts diff --git a/test/mocks/__mocks__/custom-lib.ts b/test/core/__mocks__/custom-lib.ts similarity index 100% rename from test/mocks/__mocks__/custom-lib.ts rename to test/core/__mocks__/custom-lib.ts diff --git a/test/mocks/__mocks__/extension.js.ts b/test/core/__mocks__/extension.js.ts similarity index 100% rename from test/mocks/__mocks__/extension.js.ts rename to test/core/__mocks__/extension.js.ts diff --git a/test/mocks/__mocks__/virtual-module.ts b/test/core/__mocks__/virtual-module.ts similarity index 100% rename from test/mocks/__mocks__/virtual-module.ts rename to test/core/__mocks__/virtual-module.ts diff --git a/test/mocks/__mocks__/vscode-mocks.ts b/test/core/__mocks__/vscode-mocks.ts similarity index 100% rename from test/mocks/__mocks__/vscode-mocks.ts rename to test/core/__mocks__/vscode-mocks.ts diff --git a/test/mocks/__mocks__/zustand.ts b/test/core/__mocks__/zustand.ts similarity index 90% rename from test/mocks/__mocks__/zustand.ts rename to test/core/__mocks__/zustand.ts index 6d3bc5dd95ac..6bfe4ce3bf86 100644 --- a/test/mocks/__mocks__/zustand.ts +++ b/test/core/__mocks__/zustand.ts @@ -1,4 +1,5 @@ import actualCreate from 'zustand' +import { vi } from 'vitest' // when creating a store, we get its initial state, create a reset function and add it in the set const create = vi.fn((createState) => { diff --git a/test/core/package.json b/test/core/package.json index 5dcee839006f..83dfb316a0ad 100644 --- a/test/core/package.json +++ b/test/core/package.json @@ -18,11 +18,16 @@ "@vitest/test-dep2": "file:./deps/dep2", "@vitest/utils": "workspace:*", "@vitest/web-worker": "workspace:^", + "axios": "^0.26.1", "debug": "^4.3.4", "strip-ansi": "^7.1.0", + "sweetalert2": "^11.6.16", "tinyspy": "^1.0.2", "url": "^0.11.0", + "useJwt": "link:@vueuse/integrations/useJwt", "vitest": "workspace:*", - "vitest-environment-custom": "file:./vitest-environment-custom" + "vitest-environment-custom": "file:./vitest-environment-custom", + "vue": "^3.4.26", + "zustand": "^4.1.1" } } diff --git a/test/mocks/src/A.ts b/test/core/src/mocks/A.ts similarity index 100% rename from test/mocks/src/A.ts rename to test/core/src/mocks/A.ts diff --git a/test/mocks/src/B.ts b/test/core/src/mocks/B.ts similarity index 100% rename from test/mocks/src/B.ts rename to test/core/src/mocks/B.ts diff --git a/test/mocks/src/cyclic-deps/module-1.mjs b/test/core/src/mocks/cyclic-deps/module-1.mjs similarity index 100% rename from test/mocks/src/cyclic-deps/module-1.mjs rename to test/core/src/mocks/cyclic-deps/module-1.mjs diff --git a/test/mocks/src/cyclic-deps/module-2.mjs b/test/core/src/mocks/cyclic-deps/module-2.mjs similarity index 100% rename from test/mocks/src/cyclic-deps/module-2.mjs rename to test/core/src/mocks/cyclic-deps/module-2.mjs diff --git a/test/mocks/src/cyclic-deps/module-3.mjs b/test/core/src/mocks/cyclic-deps/module-3.mjs similarity index 100% rename from test/mocks/src/cyclic-deps/module-3.mjs rename to test/core/src/mocks/cyclic-deps/module-3.mjs diff --git a/test/mocks/src/cyclic-deps/module-4.mjs b/test/core/src/mocks/cyclic-deps/module-4.mjs similarity index 100% rename from test/mocks/src/cyclic-deps/module-4.mjs rename to test/core/src/mocks/cyclic-deps/module-4.mjs diff --git a/test/mocks/src/default.ts b/test/core/src/mocks/default.ts similarity index 100% rename from test/mocks/src/default.ts rename to test/core/src/mocks/default.ts diff --git a/test/mocks/src/dynamic-module.js b/test/core/src/mocks/dynamic-module.js similarity index 100% rename from test/mocks/src/dynamic-module.js rename to test/core/src/mocks/dynamic-module.js diff --git a/test/mocks/src/example.ts b/test/core/src/mocks/example.ts similarity index 100% rename from test/mocks/src/example.ts rename to test/core/src/mocks/example.ts diff --git a/test/mocks/src/export-default-circle-b.ts b/test/core/src/mocks/export-default-circle-b.ts similarity index 100% rename from test/mocks/src/export-default-circle-b.ts rename to test/core/src/mocks/export-default-circle-b.ts diff --git a/test/mocks/src/export-default-circle-index.ts b/test/core/src/mocks/export-default-circle-index.ts similarity index 100% rename from test/mocks/src/export-default-circle-index.ts rename to test/core/src/mocks/export-default-circle-index.ts diff --git a/test/mocks/src/external/cjs-pseudoesm.cjs b/test/core/src/mocks/external/cjs-pseudoesm.cjs similarity index 100% rename from test/mocks/src/external/cjs-pseudoesm.cjs rename to test/core/src/mocks/external/cjs-pseudoesm.cjs diff --git a/test/mocks/src/external/default-cjs.cjs b/test/core/src/mocks/external/default-cjs.cjs similarity index 100% rename from test/mocks/src/external/default-cjs.cjs rename to test/core/src/mocks/external/default-cjs.cjs diff --git a/test/mocks/src/external/default-function.cjs b/test/core/src/mocks/external/default-function.cjs similarity index 100% rename from test/mocks/src/external/default-function.cjs rename to test/core/src/mocks/external/default-function.cjs diff --git a/test/core/src/mocks/external/external.mjs b/test/core/src/mocks/external/external.mjs new file mode 100644 index 000000000000..b2fcb43c972f --- /dev/null +++ b/test/core/src/mocks/external/external.mjs @@ -0,0 +1,3 @@ +import { vi } from 'vitest' + +vi.doMock('axios') diff --git a/test/mocks/src/has space in path.ts b/test/core/src/mocks/has space in path.ts similarity index 100% rename from test/mocks/src/has space in path.ts rename to test/core/src/mocks/has space in path.ts diff --git a/test/mocks/src/integration.ts b/test/core/src/mocks/integration.ts similarity index 100% rename from test/mocks/src/integration.ts rename to test/core/src/mocks/integration.ts diff --git a/test/mocks/src/log.ts b/test/core/src/mocks/log.ts similarity index 100% rename from test/mocks/src/log.ts rename to test/core/src/mocks/log.ts diff --git a/test/mocks/src/main.js b/test/core/src/mocks/main.js similarity index 100% rename from test/mocks/src/main.js rename to test/core/src/mocks/main.js diff --git a/test/mocks/src/moduleA.ts b/test/core/src/mocks/moduleA.ts similarity index 100% rename from test/mocks/src/moduleA.ts rename to test/core/src/mocks/moduleA.ts diff --git a/test/mocks/src/moduleB.ts b/test/core/src/mocks/moduleB.ts similarity index 100% rename from test/mocks/src/moduleB.ts rename to test/core/src/mocks/moduleB.ts diff --git a/test/mocks/src/moduleWithSymbol.ts b/test/core/src/mocks/moduleWithSymbol.ts similarity index 100% rename from test/mocks/src/moduleWithSymbol.ts rename to test/core/src/mocks/moduleWithSymbol.ts diff --git a/test/mocks/src/retry-dynamic-import.ts b/test/core/src/mocks/retry-dynamic-import.ts similarity index 100% rename from test/mocks/src/retry-dynamic-import.ts rename to test/core/src/mocks/retry-dynamic-import.ts diff --git a/test/mocks/src/set-foo.ts b/test/core/src/mocks/set-foo.ts similarity index 100% rename from test/mocks/src/set-foo.ts rename to test/core/src/mocks/set-foo.ts diff --git a/test/mocks/src/squared.js b/test/core/src/mocks/squared.js similarity index 100% rename from test/mocks/src/squared.js rename to test/core/src/mocks/squared.js diff --git a/test/mocks/src/zustand-magic.ts b/test/core/src/mocks/zustand-magic.ts similarity index 100% rename from test/mocks/src/zustand-magic.ts rename to test/core/src/mocks/zustand-magic.ts diff --git a/test/mocks/test/automocking.spec.ts b/test/core/test/mocking/automocking.spec.ts similarity index 82% rename from test/mocks/test/automocking.spec.ts rename to test/core/test/mocking/automocking.spec.ts index 90409235b113..08da30cda31e 100644 --- a/test/mocks/test/automocking.spec.ts +++ b/test/core/test/mocking/automocking.spec.ts @@ -1,14 +1,15 @@ -import type * as exampleModule from '../src/example.js' -import log from '../src/log.js' -import { A } from '../src/moduleA.js' -import { methodSymbol, moduleWithSymbol } from '../src/moduleWithSymbol.js' +import { expect, test, vi } from 'vitest' +import type * as exampleModule from '../../src/mocks/example' +import log from '../../src/mocks/log' +import { A } from '../../src/mocks/moduleA' +import { methodSymbol, moduleWithSymbol } from '../../src/mocks/moduleWithSymbol' -vi.mock('../src/log') -vi.mock('../src/moduleA') -vi.mock('../src/moduleWithSymbol') +vi.mock('../../src/mocks/log') +vi.mock('../../src/mocks/moduleA') +vi.mock('../../src/mocks/moduleWithSymbol') test('all mocked are valid', async () => { - const example = await vi.importMock('../src/example') + const example = await vi.importMock('../../src/mocks/example') // creates a new mocked function with no formal arguments. expect(example.square.name).toEqual('square') diff --git a/test/mocks/test/axios.test.ts b/test/core/test/mocking/axios-mocked.test.ts similarity index 89% rename from test/mocks/test/axios.test.ts rename to test/core/test/mocking/axios-mocked.test.ts index 65004b7e4efe..11a99dc3eb00 100644 --- a/test/mocks/test/axios.test.ts +++ b/test/core/test/mocking/axios-mocked.test.ts @@ -1,4 +1,5 @@ import axios from 'axios' +import { expect, test, vi } from 'vitest' vi.mock('axios') diff --git a/test/mocks/test/axios-not-mocked.test.ts b/test/core/test/mocking/axios-not-mocked.test.ts similarity index 87% rename from test/mocks/test/axios-not-mocked.test.ts rename to test/core/test/mocking/axios-not-mocked.test.ts index 3ec868be557e..e7c0db5949b5 100644 --- a/test/mocks/test/axios-not-mocked.test.ts +++ b/test/core/test/mocking/axios-not-mocked.test.ts @@ -1,4 +1,5 @@ import axios from 'axios' +import { expect, test, vi } from 'vitest' test('mocked axios', async () => { const { default: ax } = await vi.importMock('axios') diff --git a/test/core/test/mocking/circular-mocks.spec.ts b/test/core/test/mocking/circular-mocks.spec.ts new file mode 100644 index 000000000000..b04422b587fb --- /dev/null +++ b/test/core/test/mocking/circular-mocks.spec.ts @@ -0,0 +1,28 @@ +import { expect, test, vi } from 'vitest' +// @ts-expect-error not typed +import { main, mainB } from '../../src/mocks/main.js' +import x from '../../src/mocks/export-default-circle-index.js' + +vi.mock('../../src/mocks/A', async () => ({ + ...(await vi.importActual('../../src/mocks/A')), + funcA: () => 'mockedA', +})) + +vi.mock('../../src/mocks/B', async () => ({ + ...(await vi.importActual('../../src/mocks/B')), + funcB: () => 'mockedB', +})) + +vi.mock('../../src/mocks/export-default-circle-b') + +test('can import actual inside mock factory', () => { + expect(main()).toBe('mockedA') +}) + +test('can import in top level and inside mock factory', () => { + expect(mainB()).toBe('mockedB') +}) + +test('can mock a circular dependency', () => { + expect(x()).toBe(undefined) +}) diff --git a/test/mocks/test/custom-module-directory.spec.ts b/test/core/test/mocking/custom-module-directory.spec.ts similarity index 81% rename from test/mocks/test/custom-module-directory.spec.ts rename to test/core/test/mocking/custom-module-directory.spec.ts index 7f914ceb1b11..f47a5ca0388f 100644 --- a/test/mocks/test/custom-module-directory.spec.ts +++ b/test/core/test/mocking/custom-module-directory.spec.ts @@ -1,5 +1,6 @@ // @ts-expect-error not typed aliased import import getState from 'custom-lib' +import { expect, it, vi } from 'vitest' vi.mock('custom-lib') diff --git a/test/core/test/mocking/cyclic-import-actual.spec.ts b/test/core/test/mocking/cyclic-import-actual.spec.ts new file mode 100644 index 000000000000..5cbe1d510783 --- /dev/null +++ b/test/core/test/mocking/cyclic-import-actual.spec.ts @@ -0,0 +1,13 @@ +import { expect, test, vi } from 'vitest' + +import '../../src/mocks/cyclic-deps/module-1' + +vi.mock('../../src/mocks/cyclic-deps/module-2', async () => { + await vi.importActual('../../src/mocks/cyclic-deps/module-2') + + return { default: () => {} } +}) + +test('some test', () => { + expect(1 + 1).toBe(2) +}) diff --git a/test/mocks/test/cyclic-import-original.spec.ts b/test/core/test/mocking/cyclic-import-original.spec.ts similarity index 56% rename from test/mocks/test/cyclic-import-original.spec.ts rename to test/core/test/mocking/cyclic-import-original.spec.ts index 3cd180a732e9..654922cab19f 100644 --- a/test/mocks/test/cyclic-import-original.spec.ts +++ b/test/core/test/mocking/cyclic-import-original.spec.ts @@ -1,8 +1,8 @@ import { expect, test, vi } from 'vitest' -import '../src/cyclic-deps/module-1.js' +import '../../src/mocks/cyclic-deps/module-1' -vi.mock('../src/cyclic-deps/module-2', async (importOriginal) => { +vi.mock('../../src/mocks/cyclic-deps/module-2', async (importOriginal) => { await importOriginal() return { default: () => {} } diff --git a/test/core/test/mocking/destructured.test.ts b/test/core/test/mocking/destructured.test.ts new file mode 100644 index 000000000000..dc376710e6b1 --- /dev/null +++ b/test/core/test/mocking/destructured.test.ts @@ -0,0 +1,17 @@ +import { expect, test, vi } from 'vitest' +// @ts-expect-error mocked module +import * as squaredModule from '../../../mocks/src/squared' +// @ts-expect-error mocked module +import { squared } from '../../../mocks/src/squared' +import { foo } from '../../../mocks/src/set-foo.js' + +vi.mock('any') + +test('spyOn entire module', () => { + vi.spyOn(squaredModule, 'squared') + expect(squared).not.toHaveBeenCalled() +}) + +test('foo should be 1', () => { + expect(foo).toBe(1) +}) diff --git a/test/mocks/test/error-mock.spec.ts b/test/core/test/mocking/error-mock.spec.ts similarity index 70% rename from test/mocks/test/error-mock.spec.ts rename to test/core/test/mocking/error-mock.spec.ts index e37a0f755097..04fe8a87e069 100644 --- a/test/mocks/test/error-mock.spec.ts +++ b/test/core/test/mocking/error-mock.spec.ts @@ -1,8 +1,10 @@ -vi.mock('../src/default', () => { +import { expect, test, vi } from 'vitest' + +vi.mock('../../src/mocks/default', () => { throw new Error('some error') }) test('when using top level variable, gives helpful message', async () => { - await expect(() => import('../src/default.js').then(m => m.default)).rejects + await expect(() => import('../../src/mocks/default').then(m => m.default)).rejects .toThrowErrorMatchingInlineSnapshot(`[Error: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock]`) }) diff --git a/test/mocks/test/external.test.ts b/test/core/test/mocking/external.test.ts similarity index 54% rename from test/mocks/test/external.test.ts rename to test/core/test/mocking/external.test.ts index fe53d7d0aca2..2138fcfb3fed 100644 --- a/test/mocks/test/external.test.ts +++ b/test/core/test/mocking/external.test.ts @@ -1,9 +1,10 @@ -import '../src/external/external.mjs' +import '../../src/mocks/external/external.mjs' import { expect, test, vi } from 'vitest' import axios from 'axios' -import defaultFunc from '../src/external/default-function.cjs' +// @ts-expect-error mocked module +import defaultFunc from '../../src/mocks/external/default-function.cjs' -vi.mock('../src/external/default-function.cjs') +vi.mock('../../src/mocks/external/default-function.cjs') test('axios is mocked', () => { expect(vi.isMockFunction(axios.get)).toBe(true) diff --git a/test/mocks/test/factory.test.ts b/test/core/test/mocking/factory.test.ts similarity index 61% rename from test/mocks/test/factory.test.ts rename to test/core/test/mocking/factory.test.ts index 03e2eb243aa6..39183c9ae8f1 100644 --- a/test/mocks/test/factory.test.ts +++ b/test/core/test/mocking/factory.test.ts @@ -1,11 +1,12 @@ import axios from 'axios' -import * as example from '../src/example.js' -import * as moduleA from '../src/moduleA.js' -import * as moduleB from '../src/moduleB.js' -import logger from '../src/log.js' +import { describe, expect, it, test, vi } from 'vitest' +import * as example from '../../src/mocks/example' +import * as moduleA from '../../src/mocks/moduleA' +import * as moduleB from '../../src/mocks/moduleB' +import logger from '../../src/mocks/log' vi - .mock('../src/example', () => ({ + .mock('../../src/mocks/example', () => ({ mocked: true, then: 'a then export', ok: undefined, @@ -14,19 +15,19 @@ vi })) // doesn't think comments are mocks -// vi.mock('../src/example', () => ({ +// vi.mock('../../src/mocks/example', () => ({ // mocked: false, // })) -vi.mock('../src/moduleA', async () => { - const actual = await vi.importActual('../src/moduleA') +vi.mock('../../src/mocks/moduleA', async () => { + const actual = await vi.importActual('../../src/mocks/moduleA') return { B: 'B', ...actual, } }) -vi.mock('../src/moduleB', async (importOriginal) => { +vi.mock('../../src/mocks/moduleB', async (importOriginal) => { const actual = await importOriginal() return { ...actual, @@ -43,9 +44,9 @@ vi.mock('axios', () => { } }) -vi.mock('../src/log.ts', async () => { +vi.mock('../../src/mocks/log.ts', async () => { // can import the same module inside and does not go into an infinite loop - const log = await import('../src/log.js') + const log = await import('../../src/mocks/log') return { default: { ...log.default, @@ -54,20 +55,20 @@ vi.mock('../src/log.ts', async () => { } }) -vi.mock('../src/default.ts', () => null) +vi.mock('../../src/mocks/default.ts', () => null) describe('mocking with factory', () => { test('missing exports on mock', () => { - expect(() => example.default).toThrowError('[vitest] No "default" export is defined on the "../src/example" mock') - expect(() => example.boolean).toThrowError('[vitest] No "boolean" export is defined on the "../src/example" mock') - expect(() => example.object).toThrowError('[vitest] No "object" export is defined on the "../src/example" mock') - expect(() => example.array).toThrowError('[vitest] No "array" export is defined on the "../src/example" mock') - expect(() => example.someClasses).toThrowError('[vitest] No "someClasses" export is defined on the "../src/example" mock') + expect(() => example.default).toThrowError('[vitest] No "default" export is defined on the "../../src/mocks/example" mock') + expect(() => example.boolean).toThrowError('[vitest] No "boolean" export is defined on the "../../src/mocks/example" mock') + expect(() => example.object).toThrowError('[vitest] No "object" export is defined on the "../../src/mocks/example" mock') + expect(() => example.array).toThrowError('[vitest] No "array" export is defined on the "../../src/mocks/example" mock') + expect(() => example.someClasses).toThrowError('[vitest] No "someClasses" export is defined on the "../../src/mocks/example" mock') }) it('non-object return on factory gives error', async () => { - await expect(() => import('../src/default.js').then(m => m.default)).rejects - .toThrowError('[vitest] vi.mock("../src/default.ts", factory?: () => unknown) is not returning an object. Did you mean to return an object with a "default" key?') + await expect(() => import('../../src/mocks/default.js').then(m => m.default)).rejects + .toThrowError('[vitest] vi.mock("../../src/mocks/default.ts", factory?: () => unknown) is not returning an object. Did you mean to return an object with a "default" key?') }) test('defined exports on mock', async () => { diff --git a/test/mocks/test/has-extension.spec.ts b/test/core/test/mocking/has-extension.spec.ts similarity index 80% rename from test/mocks/test/has-extension.spec.ts rename to test/core/test/mocking/has-extension.spec.ts index 3b26b04a1e3d..886ae117e0af 100644 --- a/test/mocks/test/has-extension.spec.ts +++ b/test/core/test/mocking/has-extension.spec.ts @@ -1,5 +1,6 @@ // @ts-expect-error mocked module import { mocked } from 'extension.js' +import { expect, test, vi } from 'vitest' vi.mock('extension.js') diff --git a/test/mocks/test/hoisted.test.ts b/test/core/test/mocking/hoisted.test.ts similarity index 85% rename from test/mocks/test/hoisted.test.ts rename to test/core/test/mocking/hoisted.test.ts index 352298ed1cdc..4b4336007a9f 100644 --- a/test/mocks/test/hoisted.test.ts +++ b/test/core/test/mocking/hoisted.test.ts @@ -1,5 +1,5 @@ import { expect, test, vi } from 'vitest' -import { asyncSquare as importedAsyncSquare, square as importedSquare } from '../src/example.js' +import { asyncSquare as importedAsyncSquare, square as importedSquare } from '../../src/mocks/example' const mocks = vi.hoisted(() => { return { @@ -13,7 +13,7 @@ const { asyncSquare } = await vi.hoisted(async () => { } }) -vi.mock('../src/example.ts', () => { +vi.mock('../../src/mocks/example', () => { return { square: mocks.square, asyncSquare, diff --git a/test/mocks/test/integration.test.ts b/test/core/test/mocking/integration.test.ts similarity index 62% rename from test/mocks/test/integration.test.ts rename to test/core/test/mocking/integration.test.ts index 30da75f41cb7..79d84d40d398 100644 --- a/test/mocks/test/integration.test.ts +++ b/test/core/test/mocking/integration.test.ts @@ -1,4 +1,5 @@ -import { createStore } from '../src/integration.js' +import { expect, test, vi } from 'vitest' +import { createStore } from '../../src/mocks/integration' vi.mock('@vueuse/integrations/useJwt') diff --git a/test/mocks/test/nested-default.spec.ts b/test/core/test/mocking/nested-default.spec.ts similarity index 60% rename from test/mocks/test/nested-default.spec.ts rename to test/core/test/mocking/nested-default.spec.ts index aad8ea323695..ab01165bf92e 100644 --- a/test/mocks/test/nested-default.spec.ts +++ b/test/core/test/mocking/nested-default.spec.ts @@ -1,10 +1,12 @@ // @vitest-environment jsdom import sweetalert from 'sweetalert2' -import * as modDefaultCjs from '../src/external/default-cjs.cjs' +import { expect, test, vi } from 'vitest' +// @ts-expect-error mocked module +import * as modDefaultCjs from '../../src/mocks/external/default-cjs.cjs' vi.mock('sweetalert2') -vi.mock('../src/external/default-cjs.cjs') +vi.mock('../../src/mocks/external/default-cjs.cjs') test('default is mocked', () => { expect(vi.isMockFunction(modDefaultCjs.default.fn)).toBe(true) diff --git a/test/mocks/test/retry-dynamic-import.test.ts b/test/core/test/mocking/retry-dynamic-import.test.ts similarity index 63% rename from test/mocks/test/retry-dynamic-import.test.ts rename to test/core/test/mocking/retry-dynamic-import.test.ts index 5fb0de0c154a..af21b5d66e8d 100644 --- a/test/mocks/test/retry-dynamic-import.test.ts +++ b/test/core/test/mocking/retry-dynamic-import.test.ts @@ -1,6 +1,7 @@ -import { retryDynamicImport } from '../src/retry-dynamic-import.js' +import { describe, expect, it, vi } from 'vitest' +import { retryDynamicImport } from '../../src/mocks/retry-dynamic-import.js' -vi.mock('../src/dynamic-module', () => { +vi.mock('../../src/mocks/dynamic-module', () => { return { foo: 'bar' } }) @@ -9,7 +10,7 @@ describe('retry-dynamic-import', () => { expect(await retryDynamicImport()).toEqual({ foo: 'bar' }) }) it('should throw when retry over 3 times', async () => { - vi.doMock('../src/dynamic-module', () => { + vi.doMock('../../src/mocks/dynamic-module', () => { throw new Error('foobar') }) await expect(retryDynamicImport()).rejects.toThrowError(new Error('import dynamic module failed.')) diff --git a/test/mocks/test/self-importing.test.ts b/test/core/test/mocking/self-importing.test.ts similarity index 77% rename from test/mocks/test/self-importing.test.ts rename to test/core/test/mocking/self-importing.test.ts index 8c10267c842c..0a488ca5b7cb 100644 --- a/test/mocks/test/self-importing.test.ts +++ b/test/core/test/mocking/self-importing.test.ts @@ -1,5 +1,6 @@ import zustand from 'zustand' -import { magic } from '../src/zustand-magic.js' +import { describe, expect, test, vi } from 'vitest' +import { magic } from '../../src/mocks/zustand-magic' vi.mock('zustand') diff --git a/test/core/test/mocking/spaced.spec.ts b/test/core/test/mocking/spaced.spec.ts new file mode 100644 index 000000000000..8e556b934b62 --- /dev/null +++ b/test/core/test/mocking/spaced.spec.ts @@ -0,0 +1,8 @@ +import { expect, test, vi } from 'vitest' +import { thisIsOk } from '../../src/mocks/has space in path' + +vi.mock('../../src/mocks/has space in path', () => ({ thisIsOk: true })) + +test('modules with spaces in name is mocked', () => { + expect(thisIsOk).toBe(true) +}) diff --git a/test/mocks/test/tinyspy.test.ts b/test/core/test/mocking/tinyspy.test.ts similarity index 88% rename from test/mocks/test/tinyspy.test.ts rename to test/core/test/mocking/tinyspy.test.ts index 8df920c2545e..13b8e11fa7d6 100644 --- a/test/mocks/test/tinyspy.test.ts +++ b/test/core/test/mocking/tinyspy.test.ts @@ -1,4 +1,5 @@ import type * as tinyspyModule from 'tinyspy' +import { expect, test, vi } from 'vitest' test('tinyspy is not mocked with __mocks__, but automatically mocked', async () => { const tinyspy = await vi.importMock('tinyspy') diff --git a/test/mocks/test/virtual.test.ts b/test/core/test/mocking/virtual.test.ts similarity index 94% rename from test/mocks/test/virtual.test.ts rename to test/core/test/mocking/virtual.test.ts index 1314b98954b4..83e7506bbd72 100644 --- a/test/mocks/test/virtual.test.ts +++ b/test/core/test/mocking/virtual.test.ts @@ -6,6 +6,7 @@ import * as vscodeFactory from 'vscode-factory' // @ts-expect-error virtual module import * as virtual from 'virtual-module' +import { expect, it, vi } from 'vitest' vi.mock('vscode-mocks') vi.mock('vscode-factory', () => { diff --git a/test/mocks/package.json b/test/mocks/package.json deleted file mode 100644 index 4c1e553acb0c..000000000000 --- a/test/mocks/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "@vitest/example-mocks", - "type": "module", - "private": true, - "files": [ - "dist", - "types" - ], - "scripts": { - "coverage": "vitest run --coverage", - "dev": "vite", - "test": "vitest", - "test:ui": "vitest --ui" - }, - "dependencies": { - "@vueuse/integrations": "^8.5.0", - "axios": "^0.26.1", - "tinyspy": "^0.3.2" - }, - "devDependencies": { - "@vitest/ui": "workspace:*", - "react": "^18.0.0", - "sweetalert2": "^11.6.16", - "vite": "latest", - "vitest": "workspace:*", - "vue": "^3.3.8", - "zustand": "^4.1.1" - }, - "stackblitz": { - "startCommand": "npm run test:ui" - } -} diff --git a/test/mocks/projects/custom-lib/index.js b/test/mocks/projects/custom-lib/index.js deleted file mode 100644 index 9b10654538e6..000000000000 --- a/test/mocks/projects/custom-lib/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function () { - return 'original' -} diff --git a/test/mocks/projects/custom-lib/package.json b/test/mocks/projects/custom-lib/package.json deleted file mode 100644 index 3dbc1ca591c0..000000000000 --- a/test/mocks/projects/custom-lib/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "type": "module" -} diff --git a/test/mocks/src/external/external.mjs b/test/mocks/src/external/external.mjs deleted file mode 100644 index 834e4d527d45..000000000000 --- a/test/mocks/src/external/external.mjs +++ /dev/null @@ -1 +0,0 @@ -vi.doMock('axios') diff --git a/test/mocks/test/circular.spec.ts b/test/mocks/test/circular.spec.ts deleted file mode 100644 index 8f587a43456b..000000000000 --- a/test/mocks/test/circular.spec.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { expect, test, vi } from 'vitest' -import { main, mainB } from '../src/main.js' -import x from '../src/export-default-circle-index.js' - -vi.mock('../src/A', async () => ({ - ...(await vi.importActual('../src/A')), - funcA: () => 'mockedA', -})) - -vi.mock('../src/B', async () => ({ - ...(await vi.importActual('../src/B')), - funcB: () => 'mockedB', -})) - -vi.mock('../src/export-default-circle-b') - -test('can import actual inside mock factory', () => { - expect(main()).toBe('mockedA') -}) - -test('can import in top level and inside mock factory', () => { - expect(mainB()).toBe('mockedB') -}) - -test('can mock a circular dependency', () => { - expect(x()).toBe(undefined) -}) diff --git a/test/mocks/test/cyclic-import-actual.spec.ts b/test/mocks/test/cyclic-import-actual.spec.ts deleted file mode 100644 index 6271edc63bc8..000000000000 --- a/test/mocks/test/cyclic-import-actual.spec.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { expect, test, vi } from 'vitest' - -import '../src/cyclic-deps/module-1.js' - -vi.mock('../src/cyclic-deps/module-2', async () => { - await vi.importActual('../src/cyclic-deps/module-2') - - return { default: () => {} } -}) - -test('some test', () => { - expect(1 + 1).toBe(2) -}) diff --git a/test/mocks/test/destructured.test.ts b/test/mocks/test/destructured.test.ts deleted file mode 100644 index e57c77b3f4fb..000000000000 --- a/test/mocks/test/destructured.test.ts +++ /dev/null @@ -1,14 +0,0 @@ -import * as squaredModule from '../src/squared.js' -import { squared } from '../src/squared.js' -import { foo } from '../src/set-foo.js' - -vi.mock('any') - -test('spyOn entire module', () => { - vi.spyOn(squaredModule, 'squared') - expect(squared).not.toHaveBeenCalled() -}) - -test('foo should be 1', () => { - expect(foo).toBe(1) -}) diff --git a/test/mocks/test/spaced.spec.ts b/test/mocks/test/spaced.spec.ts deleted file mode 100644 index 4a16d96a98f9..000000000000 --- a/test/mocks/test/spaced.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { thisIsOk } from '../src/has space in path.js' - -vi.mock('../src/has space in path', () => ({ thisIsOk: true })) - -test('modules with spaces in name is mocked', () => { - expect(thisIsOk).toBe(true) -}) diff --git a/test/mocks/tsconfig.json b/test/mocks/tsconfig.json deleted file mode 100644 index 6d9e09f2d627..000000000000 --- a/test/mocks/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "esnext", - "module": "NodeNext", - "moduleResolution": "nodenext", - "types": ["vitest/globals"] - } -} diff --git a/test/mocks/vite.config.ts b/test/mocks/vite.config.ts deleted file mode 100644 index ee914b24aaac..000000000000 --- a/test/mocks/vite.config.ts +++ /dev/null @@ -1,42 +0,0 @@ -/// - -import { resolve } from 'node:path' -import { defineConfig } from 'vite' - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - { - name: 'example', - resolveId(source) { - if (source === 'virtual-module') - return source - }, - load(id) { - if (id === 'virtual-module') { - return ` - export const value = 'original'; - ` - } - }, - }, - ], - resolve: { - alias: [ - { find: /^custom-lib$/, replacement: resolve(__dirname, 'projects', 'custom-lib') }, - ], - }, - test: { - globals: true, - environment: 'node', - server: { - deps: { - external: [/src\/external/], - }, - }, - deps: { - interopDefault: true, - moduleDirectories: ['node_modules', 'projects'], - }, - }, -})