diff --git a/.versionrc.json b/.versionrc.json index 186e98aac7f..c79ffe96a7e 100644 --- a/.versionrc.json +++ b/.versionrc.json @@ -1,4 +1,7 @@ { + "scripts": { + "postbump": "export VERSION=$(jq -r .version package.json); sed -i -E \"s/@faker-js\\/faker@v[0-9]+\\.[0-9]+\\.[0-9]+(-(alpha|beta|rc)\\.[0-9]+)?/@faker-js\\/faker@v$VERSION/g\" docs/guide/usage.md; git add docs/guide/usage.md" + }, "skip": { "tag": true }, diff --git a/eslint.config.ts b/eslint.config.ts index aeebdf0e24d..6077b0a64d7 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -162,7 +162,6 @@ const config: ReturnType = tseslint.config( // TODO @Shinigami92 2023-09-23: The following rules currently conflict with our code. // Each rule should be checked whether it should be enabled/configured and the problems fixed, or stay disabled permanently. - 'unicorn/consistent-function-scoping': 'off', 'unicorn/prefer-export-from': 'off', 'unicorn/prevent-abbreviations': 'off', }, diff --git a/package.json b/package.json index 9ee17832b9a..9d877092b40 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "docs:test:e2e:ci": "run-s docs:build:ci docs:test:e2e:run", "docs:test:e2e:run": "run-p --race docs:serve \"cypress run\"", "docs:test:e2e:open": "run-p --race docs:serve \"cypress open\"", - "release": "commit-and-tag-version", + "release": "commit-and-tag-version --commit-all", "prepublishOnly": "pnpm run clean && pnpm install && pnpm run build", "preflight": "pnpm install && run-s generate format lint build test:update-snapshots ts-check" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e0efddfb1e8..20bca369ab6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,7 +37,7 @@ importers: version: 2.1.4(vitest@2.1.4) '@vitest/eslint-plugin': specifier: 1.1.7 - version: 1.1.7(@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)(vitest@2.1.4) + version: 1.1.7(@typescript-eslint/utils@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)(vitest@2.1.4) '@vitest/ui': specifier: 2.1.4 version: 2.1.4(vitest@2.1.4) @@ -97,7 +97,7 @@ importers: version: 24.0.0 tsup: specifier: 8.3.5 - version: 8.3.5(jiti@2.3.3)(postcss@8.4.48)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(jiti@2.3.3)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.0) tsx: specifier: 4.19.2 version: 4.19.2 @@ -112,7 +112,7 @@ importers: version: 13.12.0 vitepress: specifier: 1.4.3 - version: 1.4.3(@algolia/client-search@5.13.0)(@types/node@22.8.6)(postcss@8.4.48)(search-insights@2.17.2)(typescript@5.6.3) + version: 1.4.3(@algolia/client-search@5.14.2)(@types/node@22.8.6)(postcss@8.4.49)(search-insights@2.17.2)(typescript@5.6.3) vitest: specifier: 2.1.4 version: 2.1.4(@types/node@22.8.6)(@vitest/ui@2.1.4)(jsdom@25.0.1) @@ -125,76 +125,76 @@ importers: packages: - '@algolia/autocomplete-core@1.17.6': - resolution: {integrity: sha512-lkDoW4I7h2kKlIgf3pUt1LqvxyYKkVyiypoGLlUnhPSnCpmeOwudM6rNq6YYsCmdQtnDQoW5lUNNuj6ASg3qeg==} + '@algolia/autocomplete-core@1.17.7': + resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} - '@algolia/autocomplete-plugin-algolia-insights@1.17.6': - resolution: {integrity: sha512-17NnaacuFzSWVuZu4NKzVeaFIe9Abpw8w+/gjc7xhZFtqj+GadufzodIdchwiB2eM2cDdiR3icW7gbNTB3K2YA==} + '@algolia/autocomplete-plugin-algolia-insights@1.17.7': + resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==} peerDependencies: search-insights: '>= 1 < 3' - '@algolia/autocomplete-preset-algolia@1.17.6': - resolution: {integrity: sha512-Cvg5JENdSCMuClwhJ1ON1/jSuojaYMiUW2KePm18IkdCzPJj/NXojaOxw58RFtQFpJgfVW8h2E8mEoDtLlMdeA==} + '@algolia/autocomplete-preset-algolia@1.17.7': + resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/autocomplete-shared@1.17.6': - resolution: {integrity: sha512-aq/3V9E00Tw2GC/PqgyPGXtqJUlVc17v4cn1EUhSc+O/4zd04Uwb3UmPm8KDaYQQOrkt1lwvCj2vG2wRE5IKhw==} + '@algolia/autocomplete-shared@1.17.7': + resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/client-abtesting@5.13.0': - resolution: {integrity: sha512-6CoQjlMi1pmQYMQO8tXfuGxSPf6iKX5FP9MuMe6IWmvC81wwTvOehnwchyBl2wuPVhcw2Ar53K53mQ60DAC64g==} + '@algolia/client-abtesting@5.14.2': + resolution: {integrity: sha512-7fq1tWIy1aNJEaNHxWy3EwDkuo4k22+NBnxq9QlYVSLLXtr6HqmAm6bQgNNzGT3vm21iKqWO9efk+HIhEM1SzQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@5.13.0': - resolution: {integrity: sha512-pS3qyXiWTwKnrt/jE79fqkNqZp7kjsFNlJDcBGkSWid74DNc6DmArlkvPqyLxnoaYGjUGACT6g56n7E3mVV2TA==} + '@algolia/client-analytics@5.14.2': + resolution: {integrity: sha512-5Nm5cOOyAGcY+hKNJVmR2jgoGn1nvoANS8W5EfB8yAaUqUxL3lFNUHSkFafAMTCOcVKNDkZQYjUDbOOfdYJLqw==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.13.0': - resolution: {integrity: sha512-2SP6bGGWOTN920MLZv8s7yIR3OqY03vEe4U+vb2MGdL8a/8EQznF3L/nTC/rGf/hvEfZlX2tGFxPJaF2waravg==} + '@algolia/client-common@5.14.2': + resolution: {integrity: sha512-BW1Qzhh9tMKEsWSQQsiOEcHAd6g7zxq9RpPVmyxbDO/O4eA4vyN+Qz5Jzo686kuYdIQKqIPCEtob/JM89tk57g==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.13.0': - resolution: {integrity: sha512-ldHTe+LVgC6L4Wr6doAQQ7Ku0jAdhaaPg1T+IHzmmiRZb2Uq5OsjW2yC65JifOmzPCiMkIZE2mGRpWgkn5ktlw==} + '@algolia/client-insights@5.14.2': + resolution: {integrity: sha512-17zg6pqifKORvvrMIqW6HhwUry9RKRXLgADrgFjZ6PZvGB4oVs12dwRG2/HMrIlpxd9cjeQfdlEgHj6lbAf6QA==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.13.0': - resolution: {integrity: sha512-RnCfOSN4OUJDuMNHFca2M8lY64Tmw0kQOZikge4TknTqHmlbKJb8IbJE7Rol79Z80W2Y+B1ydcjV7DPje4GMRA==} + '@algolia/client-personalization@5.14.2': + resolution: {integrity: sha512-5IYt8vbmTA52xyuaZKFwiRoDPeh7hiOC9aBZqqp9fVs6BU01djI/T8pGJXawvwczltCPYzNsdbllV3rqiDbxmQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.13.0': - resolution: {integrity: sha512-pYo0jbLUtPDN1r341UHTaF2fgN5rbaZfDZqjPRKPM+FRlRmxFxqFQm1UUfpkSUWYGn7lECwDpbKYiKUf81MTwA==} + '@algolia/client-query-suggestions@5.14.2': + resolution: {integrity: sha512-gvCX/cczU76Bu1sGcxxTdoIwxe+FnuC1IlW9SF/gzxd3ZzsgzBpzD2puIJqt9fHQsjLxVGkJqKev2FtExnJYZg==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.13.0': - resolution: {integrity: sha512-s2ge3uZ6Zg2sPSFibqijgEYsuorxcc8KVHg3I95nOPHvFHdnBtSHymhZvq4sp/fu8ijt/Y8jLwkuqm5myn+2Sg==} + '@algolia/client-search@5.14.2': + resolution: {integrity: sha512-0imdBZDjqxrshw0+eyJUgnkRAbS2W93UQ3BVj8VjN4xQylIMf0fWs72W7MZFdHlH78JJYydevgzqvGMcV0Z1CA==} engines: {node: '>= 14.0.0'} - '@algolia/ingestion@1.13.0': - resolution: {integrity: sha512-fm5LEOe4FPDOc1D+M9stEs8hfcdmbdD+pt9og5shql6ueTZJANDbFoQhDOpiPJizR/ps1GwmjkWfUEywx3sV+Q==} + '@algolia/ingestion@1.14.2': + resolution: {integrity: sha512-/p4rBNkW0fgCpCwrwre+jHfzlFQsLemgaAQqyui8NPxw95Wgf3p+DKxYzcmh8dygT7ub7FwztTW+uURLX1uqIQ==} engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.13.0': - resolution: {integrity: sha512-e8Hshlnm2G5fapyUgWTBwhJ22yXcnLtPC4LWZKx7KOvv35GcdoHtlUBX94I/sWCJLraUr65JvR8qOo3LXC43dg==} + '@algolia/monitoring@1.14.2': + resolution: {integrity: sha512-81R57Y/mS0uNhWpu6cNEfkbkADLW4bP0BNjuPpxAypobv7WzYycUnbMvv1YkN6OsociB4+3M7HfsVzj4Nc09vA==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.13.0': - resolution: {integrity: sha512-53/wW96oaj1FKMzGdFcZ/epygfTppLDUvgI1thLkd475EtVZCH3ZZVUNCEvf1AtnNyH1RnItkFzX8ayWCpx2PQ==} + '@algolia/recommend@5.14.2': + resolution: {integrity: sha512-OwELnAZxCUyfjYjqsrFmC7Vfa12kqwbDdLUV0oi4j+4pxDsfPgkiZ6iCH2uPw6X8VK88Hl3InPt+RPaZvcrCWg==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.13.0': - resolution: {integrity: sha512-NV6oSCt5lFuzfsVQoSBpewEWf/h4ySr7pv2bfwu9yF/jc/g39pig8+YpuqsxlRWBm/lTGVA2V0Ai9ySwrNumIA==} + '@algolia/requester-browser-xhr@5.14.2': + resolution: {integrity: sha512-irUvkK+TGBhyivtNCIIbVgNUgbUoHOSk8m/kFX4ddto/PUPmLFRRNNnMHtJ1+OzrJ/uD3Am4FUK2Yt+xgQr05w==} engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.13.0': - resolution: {integrity: sha512-094bK4rumf+rXJazxv3mq6eKRM0ep5AxIo8T0YmOdldswQt79apeufFiPLN19nHEWH22xR2FelimD+T/wRSP+Q==} + '@algolia/requester-fetch@5.14.2': + resolution: {integrity: sha512-UNBg5mM4MIYdxPuVjyDL22BC6P87g7WuM91Z1Ky0J19aEGvCSF+oR+9autthROFXdRnAa1rACOjuqn95iBbKpw==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.13.0': - resolution: {integrity: sha512-JY5xhEYMgki53Wm+A6R2jUpOUdD0zZnBq+PC5R1TGMNOYL1s6JjDrJeMsvaI2YWxYMUSoCnRoltN/yf9RI8n3A==} + '@algolia/requester-node-http@5.14.2': + resolution: {integrity: sha512-CTFA03YiLcnpP+JoLRqjHt5pqDHuKWJpLsIBY/60Gmw8pjALZ3TwvbAquRX4Vy+yrin178NxMuU+ilZ54f2IrQ==} engines: {node: '>= 14.0.0'} '@ampproject/remapping@2.3.0': @@ -236,14 +236,14 @@ packages: '@cypress/xvfb@1.2.4': resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} - '@docsearch/css@3.7.0': - resolution: {integrity: sha512-1OorbTwi1eeDmr0v5t+ckSRlt1zM5GHjm92iIl3kUu7im3GHuP+csf6E0WBg8pdXQczTWP9J9+o9n+Vg6DH5cQ==} + '@docsearch/css@3.8.0': + resolution: {integrity: sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==} - '@docsearch/js@3.7.0': - resolution: {integrity: sha512-ScfqOIKrSr8SImbpxVaD59xc/bytbL8QEM2GUpe3aICmoICflWp5DyTRzAdFky16HY+yEOAVZXt3COXQ1NOCWw==} + '@docsearch/js@3.8.0': + resolution: {integrity: sha512-PVuV629f5UcYRtBWqK7ID6vNL5647+2ADJypwTjfeBIrJfwPuHtzLy39hMGMfFK+0xgRyhTR0FZ83EkdEraBlg==} - '@docsearch/react@3.7.0': - resolution: {integrity: sha512-8e6tdDfkYoxafEEPuX5eE1h9cTkLvhe4KgoFkO5JCddXSQONnN1FHcDZRI4r8894eMpbYq6rdJF0dVYh8ikwNQ==} + '@docsearch/react@3.8.0': + resolution: {integrity: sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -716,8 +716,8 @@ packages: resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.1.0': - resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@9.14.0': @@ -728,8 +728,8 @@ packages: resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.2': - resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==} + '@eslint/plugin-kit@0.2.3': + resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanfs/core@0.19.1': @@ -805,110 +805,110 @@ packages: '@polka/url@1.0.0-next.28': resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} - '@rollup/rollup-android-arm-eabi@4.25.0': - resolution: {integrity: sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA==} + '@rollup/rollup-android-arm-eabi@4.27.2': + resolution: {integrity: sha512-Tj+j7Pyzd15wAdSJswvs5CJzJNV+qqSUcr/aCD+jpQSBtXvGnV0pnrjoc8zFTe9fcKCatkpFpOO7yAzpO998HA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.25.0': - resolution: {integrity: sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg==} + '@rollup/rollup-android-arm64@4.27.2': + resolution: {integrity: sha512-xsPeJgh2ThBpUqlLgRfiVYBEf/P1nWlWvReG+aBWfNv3XEBpa6ZCmxSVnxJgLgkNz4IbxpLy64h2gCmAAQLneQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.25.0': - resolution: {integrity: sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg==} + '@rollup/rollup-darwin-arm64@4.27.2': + resolution: {integrity: sha512-KnXU4m9MywuZFedL35Z3PuwiTSn/yqRIhrEA9j+7OSkji39NzVkgxuxTYg5F8ryGysq4iFADaU5osSizMXhU2A==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.25.0': - resolution: {integrity: sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA==} + '@rollup/rollup-darwin-x64@4.27.2': + resolution: {integrity: sha512-Hj77A3yTvUeCIx/Vi+4d4IbYhyTwtHj07lVzUgpUq9YpJSEiGJj4vXMKwzJ3w5zp5v3PFvpJNgc/J31smZey6g==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.25.0': - resolution: {integrity: sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g==} + '@rollup/rollup-freebsd-arm64@4.27.2': + resolution: {integrity: sha512-RjgKf5C3xbn8gxvCm5VgKZ4nn0pRAIe90J0/fdHUsgztd3+Zesb2lm2+r6uX4prV2eUByuxJNdt647/1KPRq5g==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.25.0': - resolution: {integrity: sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw==} + '@rollup/rollup-freebsd-x64@4.27.2': + resolution: {integrity: sha512-duq21FoXwQtuws+V9H6UZ+eCBc7fxSpMK1GQINKn3fAyd9DFYKPJNcUhdIKOrMFjLEJgQskoMoiuizMt+dl20g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.25.0': - resolution: {integrity: sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA==} + '@rollup/rollup-linux-arm-gnueabihf@4.27.2': + resolution: {integrity: sha512-6npqOKEPRZkLrMcvyC/32OzJ2srdPzCylJjiTJT2c0bwwSGm7nz2F9mNQ1WrAqCBZROcQn91Fno+khFhVijmFA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.25.0': - resolution: {integrity: sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ==} + '@rollup/rollup-linux-arm-musleabihf@4.27.2': + resolution: {integrity: sha512-V9Xg6eXtgBtHq2jnuQwM/jr2mwe2EycnopO8cbOvpzFuySCGtKlPCI3Hj9xup/pJK5Q0388qfZZy2DqV2J8ftw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.25.0': - resolution: {integrity: sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A==} + '@rollup/rollup-linux-arm64-gnu@4.27.2': + resolution: {integrity: sha512-uCFX9gtZJoQl2xDTpRdseYuNqyKkuMDtH6zSrBTA28yTfKyjN9hQ2B04N5ynR8ILCoSDOrG/Eg+J2TtJ1e/CSA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.25.0': - resolution: {integrity: sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw==} + '@rollup/rollup-linux-arm64-musl@4.27.2': + resolution: {integrity: sha512-/PU9P+7Rkz8JFYDHIi+xzHabOu9qEWR07L5nWLIUsvserrxegZExKCi2jhMZRd0ATdboKylu/K5yAXbp7fYFvA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.25.0': - resolution: {integrity: sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.27.2': + resolution: {integrity: sha512-eCHmol/dT5odMYi/N0R0HC8V8QE40rEpkyje/ZAXJYNNoSfrObOvG/Mn+s1F/FJyB7co7UQZZf6FuWnN6a7f4g==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.25.0': - resolution: {integrity: sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA==} + '@rollup/rollup-linux-riscv64-gnu@4.27.2': + resolution: {integrity: sha512-DEP3Njr9/ADDln3kNi76PXonLMSSMiCir0VHXxmGSHxCxDfQ70oWjHcJGfiBugzaqmYdTC7Y+8Int6qbnxPBIQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.25.0': - resolution: {integrity: sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ==} + '@rollup/rollup-linux-s390x-gnu@4.27.2': + resolution: {integrity: sha512-NHGo5i6IE/PtEPh5m0yw5OmPMpesFnzMIS/lzvN5vknnC1sXM5Z/id5VgcNPgpD+wHmIcuYYgW+Q53v+9s96lQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.25.0': - resolution: {integrity: sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig==} + '@rollup/rollup-linux-x64-gnu@4.27.2': + resolution: {integrity: sha512-PaW2DY5Tan+IFvNJGHDmUrORadbe/Ceh8tQxi8cmdQVCCYsLoQo2cuaSj+AU+YRX8M4ivS2vJ9UGaxfuNN7gmg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.25.0': - resolution: {integrity: sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ==} + '@rollup/rollup-linux-x64-musl@4.27.2': + resolution: {integrity: sha512-dOlWEMg2gI91Qx5I/HYqOD6iqlJspxLcS4Zlg3vjk1srE67z5T2Uz91yg/qA8sY0XcwQrFzWWiZhMNERylLrpQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.25.0': - resolution: {integrity: sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww==} + '@rollup/rollup-win32-arm64-msvc@4.27.2': + resolution: {integrity: sha512-euMIv/4x5Y2/ImlbGl88mwKNXDsvzbWUlT7DFky76z2keajCtcbAsN9LUdmk31hAoVmJJYSThgdA0EsPeTr1+w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.25.0': - resolution: {integrity: sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg==} + '@rollup/rollup-win32-ia32-msvc@4.27.2': + resolution: {integrity: sha512-RsnE6LQkUHlkC10RKngtHNLxb7scFykEbEwOFDjr3CeCMG+Rr+cKqlkKc2/wJ1u4u990urRHCbjz31x84PBrSQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.25.0': - resolution: {integrity: sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg==} + '@rollup/rollup-win32-x64-msvc@4.27.2': + resolution: {integrity: sha512-foJM5vv+z2KQmn7emYdDLyTbkoO5bkHZE1oth2tWbQNGW7mX32d46Hz6T0MqXdWS2vBZhaEtHqdy9WYwGfiliA==} cpu: [x64] os: [win32] - '@shikijs/core@1.22.2': - resolution: {integrity: sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==} + '@shikijs/core@1.23.0': + resolution: {integrity: sha512-J4Fo22oBlfRHAXec+1AEzcowv+Qdf4ZQkuP/X/UHYH9+KA9LvyFXSXyS+HxuBRFfon+u7bsmKdRBjoZlbDVRkQ==} - '@shikijs/engine-javascript@1.22.2': - resolution: {integrity: sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==} + '@shikijs/engine-javascript@1.23.0': + resolution: {integrity: sha512-CcrppseWShG+8Efp1iil9divltuXVdCaU4iu+CKvzTGZO5RmXyAiSx668M7VbX8+s/vt1ZKu75Vn/jWi8O3G/Q==} - '@shikijs/engine-oniguruma@1.22.2': - resolution: {integrity: sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==} + '@shikijs/engine-oniguruma@1.23.0': + resolution: {integrity: sha512-gS8bZLqVvmZXX+E5JUMJICsBp+kx6gj79MH/UEpKHKIqnUzppgbmEn6zLa6mB5D+sHse2gFei3YYJxQe1EzZXQ==} - '@shikijs/transformers@1.22.2': - resolution: {integrity: sha512-8f78OiBa6pZDoZ53lYTmuvpFPlWtevn23bzG+azpPVvZg7ITax57o/K3TC91eYL3OMJOO0onPbgnQyZjRos8XQ==} + '@shikijs/transformers@1.23.0': + resolution: {integrity: sha512-YzQN+m8nXNZjI7ZRk+8IdFa13qiOqIqjcm4jIQ31RzgMoHtpd9Ruma1hssnt2ETH3ixr8HEh+0zAuB9w/OBfnw==} - '@shikijs/types@1.22.2': - resolution: {integrity: sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==} + '@shikijs/types@1.23.0': + resolution: {integrity: sha512-HiwzsihRao+IbPk7FER/EQT/D0dEEK3n5LAtHDzL5iRT+JMblA7y9uitUnjEnHeLkKigNM+ZplrP7MuEyyc5kA==} '@shikijs/vscode-textmate@9.3.0': resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} @@ -1007,8 +1007,8 @@ packages: resolution: {integrity: sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.13.0': - resolution: {integrity: sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==} + '@typescript-eslint/scope-manager@8.14.0': + resolution: {integrity: sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@8.12.2': @@ -1024,8 +1024,8 @@ packages: resolution: {integrity: sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.13.0': - resolution: {integrity: sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==} + '@typescript-eslint/types@8.14.0': + resolution: {integrity: sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@8.12.2': @@ -1037,8 +1037,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.13.0': - resolution: {integrity: sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==} + '@typescript-eslint/typescript-estree@8.14.0': + resolution: {integrity: sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1052,8 +1052,8 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/utils@8.13.0': - resolution: {integrity: sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==} + '@typescript-eslint/utils@8.14.0': + resolution: {integrity: sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1062,15 +1062,15 @@ packages: resolution: {integrity: sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.13.0': - resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==} + '@typescript-eslint/visitor-keys@8.14.0': + resolution: {integrity: sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vitejs/plugin-vue@5.1.4': - resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==} + '@vitejs/plugin-vue@5.2.0': + resolution: {integrity: sha512-7n7KdUEtx/7Yl7I/WVAMZ1bEb0eVvXF3ummWTeLcs/9gvo9pJhuLdouSXGjdZ/MKD1acf1I272+X0RMua4/R3g==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 @@ -1115,6 +1115,9 @@ packages: '@vitest/pretty-format@2.1.4': resolution: {integrity: sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==} + '@vitest/pretty-format@2.1.5': + resolution: {integrity: sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==} + '@vitest/runner@2.1.4': resolution: {integrity: sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==} @@ -1144,9 +1147,15 @@ packages: '@vue/compiler-core@3.5.12': resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + '@vue/compiler-dom@3.5.12': resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} + '@vue/compiler-sfc@3.5.12': resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} @@ -1156,14 +1165,14 @@ packages: '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} - '@vue/devtools-api@7.6.3': - resolution: {integrity: sha512-H2TRzFA9hNezdtM6I0y3RCMhIg5T3gib/p9qI2IAS8gB9tvkAv4JZHAZZl5BZHhO7btuHkvHzU5qpO/vdsjYMg==} + '@vue/devtools-api@7.6.4': + resolution: {integrity: sha512-5AaJ5ELBIuevmFMZYYLuOO9HUuY/6OlkOELHE7oeDhy4XD/hSODIzktlsvBOsn+bto3aD0psj36LGzwVu5Ip8w==} - '@vue/devtools-kit@7.6.3': - resolution: {integrity: sha512-ETsFc8GlOp04rSFN79tB2TpVloWfsSx9BoCSElV3w3CaJTSBfz42KsIi5Ka+dNTJs1jY7QVLTDeoBmUGgA9h2A==} + '@vue/devtools-kit@7.6.4': + resolution: {integrity: sha512-Zs86qIXXM9icU0PiGY09PQCle4TI750IPLmAJzW5Kf9n9t5HzSYf6Rz6fyzSwmfMPiR51SUKJh9sXVZu78h2QA==} - '@vue/devtools-shared@7.6.3': - resolution: {integrity: sha512-wJW5QF27i16+sNQIaes8QoEZg1eqEgF83GkiPUlEQe9k7ZoHXHV7PRrnrxOKem42sIHPU813J2V/ZK1uqTJe6g==} + '@vue/devtools-shared@7.6.4': + resolution: {integrity: sha512-nD6CUvBEel+y7zpyorjiUocy0nh77DThZJ0k1GRnJeOmY3ATq2fWijEp7wk37gb023Cb0R396uYh5qMSBQ5WFg==} '@vue/language-core@2.1.10': resolution: {integrity: sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==} @@ -1190,6 +1199,9 @@ packages: '@vue/shared@3.5.12': resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + '@vueuse/core@11.2.0': resolution: {integrity: sha512-JIUwRcOqOWzcdu1dGlfW04kaJhW3EXnnjJJfLTtddJanymTL7lF1C0+dVVZ/siLfc73mWn+cGP1PE1PKPruRSA==} @@ -1268,12 +1280,12 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - algoliasearch@5.13.0: - resolution: {integrity: sha512-04lyQX3Ev/oLYQx+aagamQDXvkUUfX1mwrLrus15+9fNaYj28GDxxEzbwaRfvmHFcZyoxvup7mMtDTTw8SrTEQ==} + algoliasearch@5.14.2: + resolution: {integrity: sha512-aYjI4WLamMxbhdJ2QAA99VbDCJOGzMOdT2agh57bi40n86ufkhZSIAf6mkocr7NmtBLtwCnSHvD5NJ+Ky5elWw==} engines: {node: '>= 14.0.0'} - alien-signals@0.2.1: - resolution: {integrity: sha512-FlEQrDJe9r2RI4cDlnK2zYqJezvx1uJaWEuwxsnlFqnPwvJbgitNBRumWrLDv8lA+7cCikpMxfJD2TTHiaTklA==} + alien-signals@0.2.2: + resolution: {integrity: sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -1473,8 +1485,8 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ci-info@4.0.0: - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + ci-info@4.1.0: + resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} engines: {node: '>=8'} clean-regexp@1.0.0: @@ -1786,8 +1798,11 @@ packages: ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - electron-to-chromium@1.5.55: - resolution: {integrity: sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==} + electron-to-chromium@1.5.62: + resolution: {integrity: sha512-t8c+zLmJHa9dJy96yBZRXGQYoiCEnHYgFwn1asvSPZSUdVxnB62A4RASd7k41ytG3ErFBA0TpHlKg9D9SQBmLg==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2028,8 +2043,8 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - focus-trap@7.6.1: - resolution: {integrity: sha512-nB8y4nQl8PshahLpGKZOq1sb0xrMVFSn6at7u/qOsBZTlZRzaapISGENcB6mOkoezbClZyiMwEF/dGY8AZ00rA==} + focus-trap@7.6.2: + resolution: {integrity: sha512-9FhUxK1hVju2+AiQIDJ5Dd//9R2n2RAfJ0qfhF4IHGHgcoEUTMpbTeG/zbEuwaiYXfuAH6XE0/aCyxDdRM+W5w==} foreground-child@3.3.0: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} @@ -2567,20 +2582,20 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromark-util-character@2.1.0: - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - micromark-util-encode@2.0.0: - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - micromark-util-sanitize-uri@2.0.0: - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - micromark-util-symbol@2.0.0: - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - micromark-util-types@2.0.0: - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + micromark-util-types@2.0.1: + resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -2698,8 +2713,8 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - oniguruma-to-js@0.4.3: - resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} + oniguruma-to-es@0.1.2: + resolution: {integrity: sha512-sBYKVJlIMB0WPO+tSu/NNB1ytSFeHyyJZ3Ayxfx3f/QUuXu0lvZk0VB4K7npmdlHSC0ldqanzh/sUSlAbgCTfw==} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} @@ -2869,8 +2884,8 @@ packages: yaml: optional: true - postcss@8.4.48: - resolution: {integrity: sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==} + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} preact@10.24.3: @@ -2977,6 +2992,12 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} + regex-recursion@4.2.1: + resolution: {integrity: sha512-QHNZyZAeKdndD1G3bKAbBEKOSSK4KOHQrAJ01N1LJeb0SoH4DJIeFhp0uUpETgONifS4+P3sOgoA1dhzgrQvhA==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + regex@4.4.0: resolution: {integrity: sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==} @@ -3025,8 +3046,8 @@ packages: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true - rollup@4.25.0: - resolution: {integrity: sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg==} + rollup@4.27.2: + resolution: {integrity: sha512-KreA+PzWmk2yaFmZVwe6GB2uBD86nXl86OsDkt1bJS9p3vqWuEQ6HnJJ+j/mZi/q0920P99/MVRlB4L3crpF5w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3082,8 +3103,8 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - shiki@1.22.2: - resolution: {integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==} + shiki@1.23.0: + resolution: {integrity: sha512-xfdu9DqPkIpExH29cmiTlgo0/jBki5la1Tkfhsv+Wu5TT3APLNHslR1acxuKJOCWqVdSc+pIbs/2ozjVRGppdg==} side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} @@ -3289,8 +3310,8 @@ packages: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} - tinypool@1.0.1: - resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@1.2.0: @@ -3301,11 +3322,11 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tldts-core@6.1.60: - resolution: {integrity: sha512-XHjoxak8SFQnHnmYHb3PcnW5TZ+9ErLZemZei3azuIRhQLw4IExsVbL3VZJdHcLeNaXq6NqawgpDPpjBOg4B5g==} + tldts-core@6.1.61: + resolution: {integrity: sha512-In7VffkDWUPgwa+c9picLUxvb0RltVwTkSgMNFgvlGSWveCzGBemBqTsgJCL4EDFWZ6WH0fKTsot6yNhzy3ZzQ==} - tldts@6.1.60: - resolution: {integrity: sha512-TYVHm7G9NCnhgqOsFalbX6MG1Po5F4efF+tLfoeiOGQq48Oqgwcgz8upY2R1BHWa4aDrj28RYx0dkYJ63qCFMg==} + tldts@6.1.61: + resolution: {integrity: sha512-rv8LUyez4Ygkopqn+M6OLItAOT9FF3REpPQDkdMx5ix8w4qkuE7Vo2o/vw1nxKQYmJDV8JpAMJQr1b+lTKf0FA==} hasBin: true tmp@0.2.3: @@ -3493,8 +3514,8 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite@5.4.10: - resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} + vite@5.4.11: + resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3715,110 +3736,110 @@ packages: snapshots: - '@algolia/autocomplete-core@1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2)': + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2) - '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) search-insights: 2.17.2 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)': + '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)': dependencies: - '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) - '@algolia/client-search': 5.13.0 - algoliasearch: 5.13.0 + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) + '@algolia/client-search': 5.14.2 + algoliasearch: 5.14.2 - '@algolia/autocomplete-shared@1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)': + '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)': dependencies: - '@algolia/client-search': 5.13.0 - algoliasearch: 5.13.0 + '@algolia/client-search': 5.14.2 + algoliasearch: 5.14.2 - '@algolia/client-abtesting@5.13.0': + '@algolia/client-abtesting@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - '@algolia/client-analytics@5.13.0': + '@algolia/client-analytics@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - '@algolia/client-common@5.13.0': {} + '@algolia/client-common@5.14.2': {} - '@algolia/client-insights@5.13.0': + '@algolia/client-insights@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - '@algolia/client-personalization@5.13.0': + '@algolia/client-personalization@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - '@algolia/client-query-suggestions@5.13.0': + '@algolia/client-query-suggestions@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - '@algolia/client-search@5.13.0': + '@algolia/client-search@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - '@algolia/ingestion@1.13.0': + '@algolia/ingestion@1.14.2': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - '@algolia/monitoring@1.13.0': + '@algolia/monitoring@1.14.2': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - '@algolia/recommend@5.13.0': + '@algolia/recommend@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - '@algolia/requester-browser-xhr@5.13.0': + '@algolia/requester-browser-xhr@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 + '@algolia/client-common': 5.14.2 - '@algolia/requester-fetch@5.13.0': + '@algolia/requester-fetch@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 + '@algolia/client-common': 5.14.2 - '@algolia/requester-node-http@5.13.0': + '@algolia/requester-node-http@5.14.2': dependencies: - '@algolia/client-common': 5.13.0 + '@algolia/client-common': 5.14.2 '@ampproject/remapping@2.3.0': dependencies: @@ -3877,11 +3898,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@docsearch/css@3.7.0': {} + '@docsearch/css@3.8.0': {} - '@docsearch/js@3.7.0(@algolia/client-search@5.13.0)(search-insights@2.17.2)': + '@docsearch/js@3.8.0(@algolia/client-search@5.14.2)(search-insights@2.17.2)': dependencies: - '@docsearch/react': 3.7.0(@algolia/client-search@5.13.0)(search-insights@2.17.2) + '@docsearch/react': 3.8.0(@algolia/client-search@5.14.2)(search-insights@2.17.2) preact: 10.24.3 transitivePeerDependencies: - '@algolia/client-search' @@ -3890,12 +3911,12 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.7.0(@algolia/client-search@5.13.0)(search-insights@2.17.2)': + '@docsearch/react@3.8.0(@algolia/client-search@5.14.2)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-core': 1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2) - '@algolia/autocomplete-preset-algolia': 1.17.6(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) - '@docsearch/css': 3.7.0 - algoliasearch: 5.13.0 + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2) + '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) + '@docsearch/css': 3.8.0 + algoliasearch: 5.14.2 optionalDependencies: search-insights: 2.17.2 transitivePeerDependencies: @@ -4141,7 +4162,7 @@ snapshots: '@eslint/core@0.7.0': {} - '@eslint/eslintrc@3.1.0': + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.3.7(supports-color@8.1.1) @@ -4159,7 +4180,7 @@ snapshots: '@eslint/object-schema@2.1.4': {} - '@eslint/plugin-kit@0.2.2': + '@eslint/plugin-kit@0.2.3': dependencies: levn: 0.4.1 @@ -4225,85 +4246,85 @@ snapshots: '@polka/url@1.0.0-next.28': {} - '@rollup/rollup-android-arm-eabi@4.25.0': + '@rollup/rollup-android-arm-eabi@4.27.2': optional: true - '@rollup/rollup-android-arm64@4.25.0': + '@rollup/rollup-android-arm64@4.27.2': optional: true - '@rollup/rollup-darwin-arm64@4.25.0': + '@rollup/rollup-darwin-arm64@4.27.2': optional: true - '@rollup/rollup-darwin-x64@4.25.0': + '@rollup/rollup-darwin-x64@4.27.2': optional: true - '@rollup/rollup-freebsd-arm64@4.25.0': + '@rollup/rollup-freebsd-arm64@4.27.2': optional: true - '@rollup/rollup-freebsd-x64@4.25.0': + '@rollup/rollup-freebsd-x64@4.27.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.25.0': + '@rollup/rollup-linux-arm-gnueabihf@4.27.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.25.0': + '@rollup/rollup-linux-arm-musleabihf@4.27.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.25.0': + '@rollup/rollup-linux-arm64-gnu@4.27.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.25.0': + '@rollup/rollup-linux-arm64-musl@4.27.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.25.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.27.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.25.0': + '@rollup/rollup-linux-riscv64-gnu@4.27.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.25.0': + '@rollup/rollup-linux-s390x-gnu@4.27.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.25.0': + '@rollup/rollup-linux-x64-gnu@4.27.2': optional: true - '@rollup/rollup-linux-x64-musl@4.25.0': + '@rollup/rollup-linux-x64-musl@4.27.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.25.0': + '@rollup/rollup-win32-arm64-msvc@4.27.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.25.0': + '@rollup/rollup-win32-ia32-msvc@4.27.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.25.0': + '@rollup/rollup-win32-x64-msvc@4.27.2': optional: true - '@shikijs/core@1.22.2': + '@shikijs/core@1.23.0': dependencies: - '@shikijs/engine-javascript': 1.22.2 - '@shikijs/engine-oniguruma': 1.22.2 - '@shikijs/types': 1.22.2 + '@shikijs/engine-javascript': 1.23.0 + '@shikijs/engine-oniguruma': 1.23.0 + '@shikijs/types': 1.23.0 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 - '@shikijs/engine-javascript@1.22.2': + '@shikijs/engine-javascript@1.23.0': dependencies: - '@shikijs/types': 1.22.2 + '@shikijs/types': 1.23.0 '@shikijs/vscode-textmate': 9.3.0 - oniguruma-to-js: 0.4.3 + oniguruma-to-es: 0.1.2 - '@shikijs/engine-oniguruma@1.22.2': + '@shikijs/engine-oniguruma@1.23.0': dependencies: - '@shikijs/types': 1.22.2 + '@shikijs/types': 1.23.0 '@shikijs/vscode-textmate': 9.3.0 - '@shikijs/transformers@1.22.2': + '@shikijs/transformers@1.23.0': dependencies: - shiki: 1.22.2 + shiki: 1.23.0 - '@shikijs/types@1.22.2': + '@shikijs/types@1.23.0': dependencies: '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -4312,7 +4333,7 @@ snapshots: '@stylistic/eslint-plugin@2.10.1(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) eslint: 9.14.0(jiti@2.3.3) eslint-visitor-keys: 4.2.0 espree: 10.3.0 @@ -4423,10 +4444,10 @@ snapshots: '@typescript-eslint/types': 8.12.2 '@typescript-eslint/visitor-keys': 8.12.2 - '@typescript-eslint/scope-manager@8.13.0': + '@typescript-eslint/scope-manager@8.14.0': dependencies: - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/visitor-keys': 8.13.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/visitor-keys': 8.14.0 '@typescript-eslint/type-utils@8.12.2(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: @@ -4442,7 +4463,7 @@ snapshots: '@typescript-eslint/types@8.12.2': {} - '@typescript-eslint/types@8.13.0': {} + '@typescript-eslint/types@8.14.0': {} '@typescript-eslint/typescript-estree@8.12.2(typescript@5.6.3)': dependencies: @@ -4459,10 +4480,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.13.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.14.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/visitor-keys': 8.13.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/visitor-keys': 8.14.0 debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.2 is-glob: 4.0.3 @@ -4485,12 +4506,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': + '@typescript-eslint/utils@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.3.3)) - '@typescript-eslint/scope-manager': 8.13.0 - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.14.0 + '@typescript-eslint/types': 8.14.0 + '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) eslint: 9.14.0(jiti@2.3.3) transitivePeerDependencies: - supports-color @@ -4501,16 +4522,16 @@ snapshots: '@typescript-eslint/types': 8.12.2 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.13.0': + '@typescript-eslint/visitor-keys@8.14.0': dependencies: - '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/types': 8.14.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-vue@5.1.4(vite@5.4.10(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3))': + '@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3))': dependencies: - vite: 5.4.10(@types/node@22.8.6) + vite: 5.4.11(@types/node@22.8.6) vue: 3.5.12(typescript@5.6.3) '@vitest/coverage-v8@2.1.4(vitest@2.1.4)': @@ -4531,9 +4552,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/eslint-plugin@1.1.7(@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)(vitest@2.1.4)': + '@vitest/eslint-plugin@1.1.7(@typescript-eslint/utils@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)(vitest@2.1.4)': dependencies: - '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) eslint: 9.14.0(jiti@2.3.3) optionalDependencies: typescript: 5.6.3 @@ -4546,18 +4567,22 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.4(vite@5.4.10(@types/node@22.8.6))': + '@vitest/mocker@2.1.4(vite@5.4.11(@types/node@22.8.6))': dependencies: '@vitest/spy': 2.1.4 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.10(@types/node@22.8.6) + vite: 5.4.11(@types/node@22.8.6) '@vitest/pretty-format@2.1.4': dependencies: tinyrainbow: 1.2.0 + '@vitest/pretty-format@2.1.5': + dependencies: + tinyrainbow: 1.2.0 + '@vitest/runner@2.1.4': dependencies: '@vitest/utils': 2.1.4 @@ -4610,11 +4635,24 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 + '@vue/compiler-core@3.5.13': + dependencies: + '@babel/parser': 7.26.2 + '@vue/shared': 3.5.13 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + '@vue/compiler-dom@3.5.12': dependencies: '@vue/compiler-core': 3.5.12 '@vue/shared': 3.5.12 + '@vue/compiler-dom@3.5.13': + dependencies: + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 + '@vue/compiler-sfc@3.5.12': dependencies: '@babel/parser': 7.26.2 @@ -4624,7 +4662,7 @@ snapshots: '@vue/shared': 3.5.12 estree-walker: 2.0.2 magic-string: 0.30.12 - postcss: 8.4.48 + postcss: 8.4.49 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.12': @@ -4637,13 +4675,13 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 - '@vue/devtools-api@7.6.3': + '@vue/devtools-api@7.6.4': dependencies: - '@vue/devtools-kit': 7.6.3 + '@vue/devtools-kit': 7.6.4 - '@vue/devtools-kit@7.6.3': + '@vue/devtools-kit@7.6.4': dependencies: - '@vue/devtools-shared': 7.6.3 + '@vue/devtools-shared': 7.6.4 birpc: 0.2.19 hookable: 5.5.3 mitt: 3.0.1 @@ -4651,17 +4689,17 @@ snapshots: speakingurl: 14.0.1 superjson: 2.2.1 - '@vue/devtools-shared@7.6.3': + '@vue/devtools-shared@7.6.4': dependencies: rfdc: 1.4.1 '@vue/language-core@2.1.10(typescript@5.6.3)': dependencies: '@volar/language-core': 2.4.10 - '@vue/compiler-dom': 3.5.12 + '@vue/compiler-dom': 3.5.13 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.12 - alien-signals: 0.2.1 + '@vue/shared': 3.5.13 + alien-signals: 0.2.2 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 @@ -4692,6 +4730,8 @@ snapshots: '@vue/shared@3.5.12': {} + '@vue/shared@3.5.13': {} + '@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3))': dependencies: '@types/web-bluetooth': 0.0.20 @@ -4702,13 +4742,13 @@ snapshots: - '@vue/composition-api' - vue - '@vueuse/integrations@11.2.0(focus-trap@7.6.1)(vue@3.5.12(typescript@5.6.3))': + '@vueuse/integrations@11.2.0(focus-trap@7.6.2)(vue@3.5.12(typescript@5.6.3))': dependencies: '@vueuse/core': 11.2.0(vue@3.5.12(typescript@5.6.3)) '@vueuse/shared': 11.2.0(vue@3.5.12(typescript@5.6.3)) vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) optionalDependencies: - focus-trap: 7.6.1 + focus-trap: 7.6.2 transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4753,23 +4793,23 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - algoliasearch@5.13.0: + algoliasearch@5.14.2: dependencies: - '@algolia/client-abtesting': 5.13.0 - '@algolia/client-analytics': 5.13.0 - '@algolia/client-common': 5.13.0 - '@algolia/client-insights': 5.13.0 - '@algolia/client-personalization': 5.13.0 - '@algolia/client-query-suggestions': 5.13.0 - '@algolia/client-search': 5.13.0 - '@algolia/ingestion': 1.13.0 - '@algolia/monitoring': 1.13.0 - '@algolia/recommend': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-abtesting': 5.14.2 + '@algolia/client-analytics': 5.14.2 + '@algolia/client-common': 5.14.2 + '@algolia/client-insights': 5.14.2 + '@algolia/client-personalization': 5.14.2 + '@algolia/client-query-suggestions': 5.14.2 + '@algolia/client-search': 5.14.2 + '@algolia/ingestion': 1.14.2 + '@algolia/monitoring': 1.14.2 + '@algolia/recommend': 5.14.2 + '@algolia/requester-browser-xhr': 5.14.2 + '@algolia/requester-fetch': 5.14.2 + '@algolia/requester-node-http': 5.14.2 - alien-signals@0.2.1: {} + alien-signals@0.2.2: {} ansi-colors@4.1.3: {} @@ -4853,7 +4893,7 @@ snapshots: browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001680 - electron-to-chromium: 1.5.55 + electron-to-chromium: 1.5.62 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -4934,7 +4974,7 @@ snapshots: ci-info@3.9.0: {} - ci-info@4.0.0: {} + ci-info@4.1.0: {} clean-regexp@1.0.0: dependencies: @@ -5301,7 +5341,9 @@ snapshots: jsbn: 0.1.1 safer-buffer: 2.1.2 - electron-to-chromium@1.5.55: {} + electron-to-chromium@1.5.62: {} + + emoji-regex-xs@1.0.0: {} emoji-regex@8.0.0: {} @@ -5457,7 +5499,7 @@ snapshots: dependencies: '@babel/helper-validator-identifier': 7.25.9 '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.3.3)) - ci-info: 4.0.0 + ci-info: 4.1.0 clean-regexp: 1.0.0 core-js-compat: 3.39.0 eslint: 9.14.0(jiti@2.3.3) @@ -5488,9 +5530,9 @@ snapshots: '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.18.0 '@eslint/core': 0.7.0 - '@eslint/eslintrc': 3.1.0 + '@eslint/eslintrc': 3.2.0 '@eslint/js': 9.14.0 - '@eslint/plugin-kit': 0.2.2 + '@eslint/plugin-kit': 0.2.3 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.1 @@ -5649,7 +5691,7 @@ snapshots: flatted@3.3.1: {} - focus-trap@7.6.1: + focus-trap@7.6.2: dependencies: tabbable: 6.2.0 @@ -6169,7 +6211,7 @@ snapshots: '@types/mdast': 4.0.4 '@ungap/structured-clone': 1.2.0 devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.0 + micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -6195,22 +6237,22 @@ snapshots: merge2@1.4.1: {} - micromark-util-character@2.1.0: + micromark-util-character@2.1.1: dependencies: - micromark-util-symbol: 2.0.0 - micromark-util-types: 2.0.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.1 - micromark-util-encode@2.0.0: {} + micromark-util-encode@2.0.1: {} - micromark-util-sanitize-uri@2.0.0: + micromark-util-sanitize-uri@2.0.1: dependencies: - micromark-util-character: 2.1.0 - micromark-util-encode: 2.0.0 - micromark-util-symbol: 2.0.0 + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - micromark-util-symbol@2.0.0: {} + micromark-util-symbol@2.0.1: {} - micromark-util-types@2.0.0: {} + micromark-util-types@2.0.1: {} micromatch@4.0.8: dependencies: @@ -6320,9 +6362,11 @@ snapshots: dependencies: mimic-fn: 2.1.0 - oniguruma-to-js@0.4.3: + oniguruma-to-es@0.1.2: dependencies: + emoji-regex-xs: 1.0.0 regex: 4.4.0 + regex-recursion: 4.2.1 optionator@0.9.4: dependencies: @@ -6447,16 +6491,16 @@ snapshots: pluralize@8.0.0: {} - postcss-load-config@6.0.1(jiti@2.3.3)(postcss@8.4.48)(tsx@4.19.2)(yaml@2.6.0): + postcss-load-config@6.0.1(jiti@2.3.3)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0): dependencies: lilconfig: 3.1.2 optionalDependencies: jiti: 2.3.3 - postcss: 8.4.48 + postcss: 8.4.49 tsx: 4.19.2 yaml: 2.6.0 - postcss@8.4.48: + postcss@8.4.49: dependencies: nanoid: 3.3.7 picocolors: 1.1.1 @@ -6563,6 +6607,12 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 + regex-recursion@4.2.1: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + regex@4.4.0: {} regexp-tree@0.1.27: {} @@ -6602,28 +6652,28 @@ snapshots: dependencies: glob: 10.4.5 - rollup@4.25.0: + rollup@4.27.2: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.25.0 - '@rollup/rollup-android-arm64': 4.25.0 - '@rollup/rollup-darwin-arm64': 4.25.0 - '@rollup/rollup-darwin-x64': 4.25.0 - '@rollup/rollup-freebsd-arm64': 4.25.0 - '@rollup/rollup-freebsd-x64': 4.25.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.25.0 - '@rollup/rollup-linux-arm-musleabihf': 4.25.0 - '@rollup/rollup-linux-arm64-gnu': 4.25.0 - '@rollup/rollup-linux-arm64-musl': 4.25.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.25.0 - '@rollup/rollup-linux-riscv64-gnu': 4.25.0 - '@rollup/rollup-linux-s390x-gnu': 4.25.0 - '@rollup/rollup-linux-x64-gnu': 4.25.0 - '@rollup/rollup-linux-x64-musl': 4.25.0 - '@rollup/rollup-win32-arm64-msvc': 4.25.0 - '@rollup/rollup-win32-ia32-msvc': 4.25.0 - '@rollup/rollup-win32-x64-msvc': 4.25.0 + '@rollup/rollup-android-arm-eabi': 4.27.2 + '@rollup/rollup-android-arm64': 4.27.2 + '@rollup/rollup-darwin-arm64': 4.27.2 + '@rollup/rollup-darwin-x64': 4.27.2 + '@rollup/rollup-freebsd-arm64': 4.27.2 + '@rollup/rollup-freebsd-x64': 4.27.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.27.2 + '@rollup/rollup-linux-arm-musleabihf': 4.27.2 + '@rollup/rollup-linux-arm64-gnu': 4.27.2 + '@rollup/rollup-linux-arm64-musl': 4.27.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.27.2 + '@rollup/rollup-linux-riscv64-gnu': 4.27.2 + '@rollup/rollup-linux-s390x-gnu': 4.27.2 + '@rollup/rollup-linux-x64-gnu': 4.27.2 + '@rollup/rollup-linux-x64-musl': 4.27.2 + '@rollup/rollup-win32-arm64-msvc': 4.27.2 + '@rollup/rollup-win32-ia32-msvc': 4.27.2 + '@rollup/rollup-win32-x64-msvc': 4.27.2 fsevents: 2.3.3 rrweb-cssom@0.7.1: {} @@ -6649,7 +6699,7 @@ snapshots: htmlparser2: 8.0.2 is-plain-object: 5.0.0 parse-srcset: 1.0.2 - postcss: 8.4.48 + postcss: 8.4.49 saxes@6.0.0: dependencies: @@ -6678,12 +6728,12 @@ snapshots: shell-quote@1.8.1: {} - shiki@1.22.2: + shiki@1.23.0: dependencies: - '@shikijs/core': 1.22.2 - '@shikijs/engine-javascript': 1.22.2 - '@shikijs/engine-oniguruma': 1.22.2 - '@shikijs/types': 1.22.2 + '@shikijs/core': 1.23.0 + '@shikijs/engine-javascript': 1.23.0 + '@shikijs/engine-oniguruma': 1.23.0 + '@shikijs/types': 1.23.0 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -6906,17 +6956,17 @@ snapshots: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.0.1: {} + tinypool@1.0.2: {} tinyrainbow@1.2.0: {} tinyspy@3.0.2: {} - tldts-core@6.1.60: {} + tldts-core@6.1.61: {} - tldts@6.1.60: + tldts@6.1.61: dependencies: - tldts-core: 6.1.60 + tldts-core: 6.1.61 tmp@0.2.3: {} @@ -6928,7 +6978,7 @@ snapshots: tough-cookie@5.0.0: dependencies: - tldts: 6.1.60 + tldts: 6.1.61 tr46@1.0.1: dependencies: @@ -6957,7 +7007,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.3.5(jiti@2.3.3)(postcss@8.4.48)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.0): + tsup@8.3.5(jiti@2.3.3)(postcss@8.4.49)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.0): dependencies: bundle-require: 5.0.0(esbuild@0.24.0) cac: 6.7.14 @@ -6967,16 +7017,16 @@ snapshots: esbuild: 0.24.0 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.3.3)(postcss@8.4.48)(tsx@4.19.2)(yaml@2.6.0) + postcss-load-config: 6.0.1(jiti@2.3.3)(postcss@8.4.49)(tsx@4.19.2)(yaml@2.6.0) resolve-from: 5.0.0 - rollup: 4.25.0 + rollup: 4.27.2 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.1 tinyglobby: 0.2.10 tree-kill: 1.2.2 optionalDependencies: - postcss: 8.4.48 + postcss: 8.4.49 typescript: 5.6.3 transitivePeerDependencies: - jiti @@ -7098,7 +7148,7 @@ snapshots: cac: 6.7.14 debug: 4.3.7(supports-color@8.1.1) pathe: 1.1.2 - vite: 5.4.10(@types/node@22.8.6) + vite: 5.4.11(@types/node@22.8.6) transitivePeerDependencies: - '@types/node' - less @@ -7110,36 +7160,36 @@ snapshots: - supports-color - terser - vite@5.4.10(@types/node@22.8.6): + vite@5.4.11(@types/node@22.8.6): dependencies: esbuild: 0.21.5 - postcss: 8.4.48 - rollup: 4.25.0 + postcss: 8.4.49 + rollup: 4.27.2 optionalDependencies: '@types/node': 22.8.6 fsevents: 2.3.3 - vitepress@1.4.3(@algolia/client-search@5.13.0)(@types/node@22.8.6)(postcss@8.4.48)(search-insights@2.17.2)(typescript@5.6.3): + vitepress@1.4.3(@algolia/client-search@5.14.2)(@types/node@22.8.6)(postcss@8.4.49)(search-insights@2.17.2)(typescript@5.6.3): dependencies: - '@docsearch/css': 3.7.0 - '@docsearch/js': 3.7.0(@algolia/client-search@5.13.0)(search-insights@2.17.2) - '@shikijs/core': 1.22.2 - '@shikijs/transformers': 1.22.2 - '@shikijs/types': 1.22.2 + '@docsearch/css': 3.8.0 + '@docsearch/js': 3.8.0(@algolia/client-search@5.14.2)(search-insights@2.17.2) + '@shikijs/core': 1.23.0 + '@shikijs/transformers': 1.23.0 + '@shikijs/types': 1.23.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.4(vite@5.4.10(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3)) - '@vue/devtools-api': 7.6.3 - '@vue/shared': 3.5.12 + '@vitejs/plugin-vue': 5.2.0(vite@5.4.11(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3)) + '@vue/devtools-api': 7.6.4 + '@vue/shared': 3.5.13 '@vueuse/core': 11.2.0(vue@3.5.12(typescript@5.6.3)) - '@vueuse/integrations': 11.2.0(focus-trap@7.6.1)(vue@3.5.12(typescript@5.6.3)) - focus-trap: 7.6.1 + '@vueuse/integrations': 11.2.0(focus-trap@7.6.2)(vue@3.5.12(typescript@5.6.3)) + focus-trap: 7.6.2 mark.js: 8.11.1 minisearch: 7.1.0 - shiki: 1.22.2 - vite: 5.4.10(@types/node@22.8.6) + shiki: 1.23.0 + vite: 5.4.11(@types/node@22.8.6) vue: 3.5.12(typescript@5.6.3) optionalDependencies: - postcss: 8.4.48 + postcss: 8.4.49 transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -7171,8 +7221,8 @@ snapshots: vitest@2.1.4(@types/node@22.8.6)(@vitest/ui@2.1.4)(jsdom@25.0.1): dependencies: '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(vite@5.4.10(@types/node@22.8.6)) - '@vitest/pretty-format': 2.1.4 + '@vitest/mocker': 2.1.4(vite@5.4.11(@types/node@22.8.6)) + '@vitest/pretty-format': 2.1.5 '@vitest/runner': 2.1.4 '@vitest/snapshot': 2.1.4 '@vitest/spy': 2.1.4 @@ -7185,9 +7235,9 @@ snapshots: std-env: 3.8.0 tinybench: 2.9.0 tinyexec: 0.3.1 - tinypool: 1.0.1 + tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.10(@types/node@22.8.6) + vite: 5.4.11(@types/node@22.8.6) vite-node: 2.1.4(@types/node@22.8.6) why-is-node-running: 2.3.0 optionalDependencies: diff --git a/scripts/apidocs/processing/class.ts b/scripts/apidocs/processing/class.ts index a2c465b8ece..33fa213e4cc 100644 --- a/scripts/apidocs/processing/class.ts +++ b/scripts/apidocs/processing/class.ts @@ -13,7 +13,7 @@ import { processClassConstructors, processClassMethods, processInterfaceMethods, - processProjectFunctions, + processUtilityFunctions, } from './method'; /** @@ -192,12 +192,7 @@ export function processProjectUtilities(project: Project): RawApiDocsPage { deprecated: undefined, description: 'A list of all the utilities available in Faker.js.', examples: [], - methods: processProjectFunctions( - project, - 'mergeLocales', - 'generateMersenne32Randomizer', - 'generateMersenne53Randomizer' - ), + methods: processUtilityFunctions(project), }; } diff --git a/scripts/apidocs/processing/method.ts b/scripts/apidocs/processing/method.ts index b9d1aa3824c..ce978ad8c58 100644 --- a/scripts/apidocs/processing/method.ts +++ b/scripts/apidocs/processing/method.ts @@ -11,7 +11,6 @@ import { type MethodDeclaration, } from 'ts-morph'; import { groupBy } from '../../../src/internal/group-by'; -import { valuesForKeys } from '../utils/value-checks'; import { newProcessingError } from './error'; import type { RawApiDocsSignature, @@ -138,12 +137,11 @@ function getAllFunctions( ); } -export function processProjectFunctions( - project: Project, - ...names: string[] -): RawApiDocsMethod[] { +export function processUtilityFunctions(project: Project): RawApiDocsMethod[] { return processMethodLikes( - valuesForKeys(getAllFunctions(project), names), + Object.values(getAllFunctions(project)).filter((fn) => + fn.getSourceFile().getFilePath().includes('/src/utils/') + ), (f) => f.getNameOrThrow() ); } diff --git a/src/modules/color/index.ts b/src/modules/color/index.ts index 2b355062168..10d7023a245 100644 --- a/src/modules/color/index.ts +++ b/src/modules/color/index.ts @@ -101,6 +101,15 @@ function toBinary(values: number[]): string { return binary.join(' '); } +/** + * Converts the given value to a percentage (`round(value * 100)`). + * + * @param value The value to convert to a percentage. + */ +function toPercentage(value: number): number { + return Math.round(value * 100); +} + /** * Converts an array of numbers into CSS accepted format. * @@ -113,7 +122,6 @@ function toCSS( cssFunction: CssFunctionType = 'rgb', space: CssSpaceType = 'sRGB' ): string { - const percentage = (value: number) => Math.round(value * 100); switch (cssFunction) { case 'rgba': { return `rgba(${values[0]}, ${values[1]}, ${values[2]}, ${values[3]})`; @@ -124,35 +132,35 @@ function toCSS( } case 'cmyk': { - return `cmyk(${percentage(values[0])}%, ${percentage( + return `cmyk(${toPercentage(values[0])}%, ${toPercentage( values[1] - )}%, ${percentage(values[2])}%, ${percentage(values[3])}%)`; + )}%, ${toPercentage(values[2])}%, ${toPercentage(values[3])}%)`; } case 'hsl': { - return `hsl(${values[0]}deg ${percentage(values[1])}% ${percentage( + return `hsl(${values[0]}deg ${toPercentage(values[1])}% ${toPercentage( values[2] )}%)`; } case 'hsla': { - return `hsl(${values[0]}deg ${percentage(values[1])}% ${percentage( + return `hsl(${values[0]}deg ${toPercentage(values[1])}% ${toPercentage( values[2] - )}% / ${percentage(values[3])})`; + )}% / ${toPercentage(values[3])})`; } case 'hwb': { - return `hwb(${values[0]} ${percentage(values[1])}% ${percentage( + return `hwb(${values[0]} ${toPercentage(values[1])}% ${toPercentage( values[2] )}%)`; } case 'lab': { - return `lab(${percentage(values[0])}% ${values[1]} ${values[2]})`; + return `lab(${toPercentage(values[0])}% ${values[1]} ${values[2]})`; } case 'lch': { - return `lch(${percentage(values[0])}% ${values[1]} ${values[2]})`; + return `lch(${toPercentage(values[0])}% ${values[1]} ${values[2]})`; } case 'rgb': { diff --git a/src/modules/food/index.ts b/src/modules/food/index.ts index 45b91f3047e..8dd77741282 100644 --- a/src/modules/food/index.ts +++ b/src/modules/food/index.ts @@ -1,4 +1,17 @@ import { ModuleBase } from '../../internal/module-base'; + +/** + * Converts the given string to title case. + * + * @param text The text to convert. + */ +function toTitleCase(text: string): string { + return text + .split(' ') + .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) + .join(' '); +} + /** * Module for generating food-related data. * @@ -47,11 +60,6 @@ export class FoodModule extends ModuleBase { */ dish(): string { // A 50/50 mix of specific dishes and dish_patterns - const toTitleCase = (s: string) => - s - .split(' ') - .map((w) => w.charAt(0).toUpperCase() + w.slice(1)) - .join(' '); if (this.faker.datatype.boolean()) { return toTitleCase( this.faker.helpers.fake(this.faker.definitions.food.dish_pattern) diff --git a/src/modules/internet/index.ts b/src/modules/internet/index.ts index 115bd21581d..4c78f4cb825 100644 --- a/src/modules/internet/index.ts +++ b/src/modules/internet/index.ts @@ -1,4 +1,5 @@ import { FakerError } from '../../errors/faker-error'; +import type { Faker } from '../../faker'; import { toBase64Url } from '../../internal/base64'; import { deprecated } from '../../internal/deprecated'; import { ModuleBase } from '../../internal/module-base'; @@ -102,6 +103,50 @@ const ipv4Networks: Record = { [IPv4Network.Multicast]: '224.0.0.0/4', }; +/** + * Checks whether the given string is a valid slug for `domainWord`s. + * + * @param slug The slug to check. + */ +function isValidDomainWordSlug(slug: string): boolean { + return /^[a-z][a-z-]*[a-z]$/i.exec(slug) !== null; +} + +/** + * Tries various ways to produce a valid domain word slug, falling back to a random string if needed. + * + * @param faker The faker instance to use. + * @param word The initial word to slugify. + */ +function makeValidDomainWordSlug(faker: Faker, word: string): string { + const slug1 = faker.helpers.slugify(word); + if (isValidDomainWordSlug(slug1)) { + return slug1; + } + + const slug2 = faker.helpers.slugify(faker.lorem.word()); + if (isValidDomainWordSlug(slug2)) { + return slug2; + } + + return faker.string.alpha({ + casing: 'lower', + length: faker.number.int({ min: 4, max: 8 }), + }); +} + +/** + * Generates a random color in hex format with the given base color. + * + * @param faker The faker instance to use. + * @param base The base color to use. + */ +function colorFromBase(faker: Faker, base: number): string { + return Math.floor((faker.number.int(256) + base) / 2) + .toString(16) + .padStart(2, '0'); +} + /** * Module to generate internet related entries. * @@ -597,29 +642,12 @@ export class InternetModule extends ModuleBase { domainWord(): string { // Generate an ASCII "word" in the form `noun-adjective` // For locales with non-ASCII characters, we fall back to lorem words, or a random string - const isValidSlug = (slug: string): boolean => { - return /^[a-z][a-z-]*[a-z]$/i.exec(slug) !== null; - }; - - const makeValidSlug = (word: string): string => { - const slug1 = this.faker.helpers.slugify(word); - if (isValidSlug(slug1)) { - return slug1; - } - const slug2 = this.faker.helpers.slugify(this.faker.lorem.word()); - if (isValidSlug(slug2)) { - return slug2; - } - - return this.faker.string.alpha({ - casing: 'lower', - length: this.faker.number.int({ min: 4, max: 8 }), - }); - }; - - const word1 = makeValidSlug(this.faker.word.adjective()); - const word2 = makeValidSlug(this.faker.word.noun()); + const word1 = makeValidDomainWordSlug( + this.faker, + this.faker.word.adjective() + ); + const word2 = makeValidDomainWordSlug(this.faker, this.faker.word.noun()); return `${word1}-${word2}`.toLowerCase(); } @@ -819,14 +847,9 @@ export class InternetModule extends ModuleBase { ): string { const { redBase = 0, greenBase = 0, blueBase = 0 } = options; - const colorFromBase = (base: number): string => - Math.floor((this.faker.number.int(256) + base) / 2) - .toString(16) - .padStart(2, '0'); - - const red = colorFromBase(redBase); - const green = colorFromBase(greenBase); - const blue = colorFromBase(blueBase); + const red = colorFromBase(this.faker, redBase); + const green = colorFromBase(this.faker, greenBase); + const blue = colorFromBase(this.faker, blueBase); return `#${red}${green}${blue}`; } diff --git a/src/modules/system/index.ts b/src/modules/system/index.ts index aec3525e747..1c387e519d8 100644 --- a/src/modules/system/index.ts +++ b/src/modules/system/index.ts @@ -263,17 +263,17 @@ export class SystemModule extends ModuleBase { let suffix: string; let prefix = ''; - const digit = () => this.faker.string.numeric({ allowLeadingZeros: true }); switch (interfaceSchema) { case 'index': { - suffix = digit(); + suffix = this.faker.string.numeric(); break; } case 'slot': { - suffix = `${digit()}${ - this.faker.helpers.maybe(() => `f${digit()}`) ?? '' - }${this.faker.helpers.maybe(() => `d${digit()}`) ?? ''}`; + suffix = `${this.faker.string.numeric()}${ + this.faker.helpers.maybe(() => `f${this.faker.string.numeric()}`) ?? + '' + }${this.faker.helpers.maybe(() => `d${this.faker.string.numeric()}`) ?? ''}`; break; } @@ -283,10 +283,13 @@ export class SystemModule extends ModuleBase { } case 'pci': { - prefix = this.faker.helpers.maybe(() => `P${digit()}`) ?? ''; - suffix = `${digit()}s${digit()}${ - this.faker.helpers.maybe(() => `f${digit()}`) ?? '' - }${this.faker.helpers.maybe(() => `d${digit()}`) ?? ''}`; + prefix = + this.faker.helpers.maybe(() => `P${this.faker.string.numeric()}`) ?? + ''; + suffix = `${this.faker.string.numeric()}s${this.faker.string.numeric()}${ + this.faker.helpers.maybe(() => `f${this.faker.string.numeric()}`) ?? + '' + }${this.faker.helpers.maybe(() => `d${this.faker.string.numeric()}`) ?? ''}`; break; } } diff --git a/test/modules/date.spec.ts b/test/modules/date.spec.ts index e30da8d9580..19a2d0a7504 100644 --- a/test/modules/date.spec.ts +++ b/test/modules/date.spec.ts @@ -12,6 +12,19 @@ const converterMap = [ const NON_SEEDED_BASED_RUN = 5; const refDate = '2021-02-21T17:09:15.711Z'; +function calculateAge(birthdate: Date, refDate: Date): number { + let age = refDate.getFullYear() - birthdate.getFullYear(); + if ( + refDate.getMonth() < birthdate.getMonth() || + (refDate.getMonth() === birthdate.getMonth() && + refDate.getDate() < birthdate.getDate()) + ) { + age--; + } + + return age; +} + describe('date', () => { seededTests(faker, 'date', (t) => { t.describe('anytime', (t) => { @@ -530,19 +543,6 @@ describe('date', () => { }); describe('birthdate', () => { - function calculateAge(birthdate: Date, refDate: Date): number { - let age = refDate.getFullYear() - birthdate.getFullYear(); - if ( - refDate.getMonth() < birthdate.getMonth() || - (refDate.getMonth() === birthdate.getMonth() && - refDate.getDate() < birthdate.getDate()) - ) { - age--; - } - - return age; - } - it('returns a random birthdate', () => { const birthdate = faker.date.birthdate(); expect(birthdate).toBeInstanceOf(Date); diff --git a/test/modules/git.spec.ts b/test/modules/git.spec.ts index e4692b20477..164b19c6e86 100644 --- a/test/modules/git.spec.ts +++ b/test/modules/git.spec.ts @@ -8,6 +8,16 @@ const NON_SEEDED_BASED_RUN = 5; const refDate = '2020-01-01T00:00:00.000Z'; +function isValidCommitAuthor(email: string): boolean { + // `validator.isEmail()` does not support display names + // that contain unquoted characters like . output by Git so we need + // to quote the display name + const quotedEmail = email.replace(/^(.*) { seededTests(faker, 'git', (t) => { t.itEach('branch', 'commitMessage'); @@ -56,27 +66,18 @@ describe('git', () => { expect(parts.length).toBeLessThanOrEqual(7); expect(parts[0]).toMatch(/^commit [a-f0-9]+$/); - const isValidAuthor = (email: string) => { - // `validator.isEmail()` does not support display names - // that contain unquoted characters like . output by Git so we need - // to quote the display name - const quotedEmail = email.replace(/^(.*) char === '0' || char === '1'); +} + describe('number', () => { seededTests(faker, 'number', (t) => { t.describeEach( @@ -259,10 +267,6 @@ describe('number', () => { }); describe('float', () => { - function isFloat(value: number) { - return value % 1 !== 0; - } - it('should return a float between 0 and 1 (inclusive) by default', () => { const actual = faker.number.float(); @@ -405,10 +409,6 @@ describe('number', () => { }); describe('binary', () => { - function isBinary(str: string) { - return [...str].every((char) => char === '0' || char === '1'); - } - it('generates single binary character when no additional argument was provided', () => { const binary = faker.number.binary(); diff --git a/test/scripts/apidocs/__snapshots__/verify-jsdoc-tags.spec.ts.snap b/test/scripts/apidocs/__snapshots__/verify-jsdoc-tags.spec.ts.snap new file mode 100644 index 00000000000..bc3ee0a01a3 --- /dev/null +++ b/test/scripts/apidocs/__snapshots__/verify-jsdoc-tags.spec.ts.snap @@ -0,0 +1,435 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`check docs completeness > all modules and methods are present 1`] = ` +[ + [ + "faker", + [ + "constructor", + "getMetadata", + "seed", + "setDefaultRefDate", + ], + ], + [ + "simpleFaker", + [ + "constructor", + "seed", + "setDefaultRefDate", + ], + ], + [ + "randomizer", + [ + "next", + "seed", + ], + ], + [ + "utils", + [ + "generateMersenne32Randomizer", + "generateMersenne53Randomizer", + "mergeLocales", + ], + ], + [ + "airline", + [ + "aircraftType", + "airline", + "airplane", + "airport", + "flightNumber", + "recordLocator", + "seat", + ], + ], + [ + "animal", + [ + "bear", + "bird", + "cat", + "cetacean", + "cow", + "crocodilia", + "dog", + "fish", + "horse", + "insect", + "lion", + "petName", + "rabbit", + "rodent", + "snake", + "type", + ], + ], + [ + "book", + [ + "author", + "format", + "genre", + "publisher", + "series", + "title", + ], + ], + [ + "color", + [ + "cmyk", + "colorByCSSColorSpace", + "cssSupportedFunction", + "cssSupportedSpace", + "hsl", + "human", + "hwb", + "lab", + "lch", + "rgb", + "space", + ], + ], + [ + "commerce", + [ + "department", + "isbn", + "price", + "product", + "productAdjective", + "productDescription", + "productMaterial", + "productName", + ], + ], + [ + "company", + [ + "buzzAdjective", + "buzzNoun", + "buzzPhrase", + "buzzVerb", + "catchPhrase", + "catchPhraseAdjective", + "catchPhraseDescriptor", + "catchPhraseNoun", + "name", + ], + ], + [ + "database", + [ + "collation", + "column", + "engine", + "mongodbObjectId", + "type", + ], + ], + [ + "datatype", + [ + "boolean", + ], + ], + [ + "date", + [ + "anytime", + "between", + "betweens", + "birthdate", + "future", + "month", + "past", + "recent", + "soon", + "timeZone", + "weekday", + ], + ], + [ + "finance", + [ + "accountName", + "accountNumber", + "amount", + "bic", + "bitcoinAddress", + "creditCardCVV", + "creditCardIssuer", + "creditCardNumber", + "currency", + "currencyCode", + "currencyName", + "currencySymbol", + "ethereumAddress", + "iban", + "litecoinAddress", + "maskedNumber", + "pin", + "routingNumber", + "transactionDescription", + "transactionType", + ], + ], + [ + "food", + [ + "adjective", + "description", + "dish", + "ethnicCategory", + "fruit", + "ingredient", + "meat", + "spice", + "vegetable", + ], + ], + [ + "git", + [ + "branch", + "commitDate", + "commitEntry", + "commitMessage", + "commitSha", + ], + ], + [ + "hacker", + [ + "abbreviation", + "adjective", + "ingverb", + "noun", + "phrase", + "verb", + ], + ], + [ + "helpers", + [ + "arrayElement", + "arrayElements", + "enumValue", + "fake", + "fromRegExp", + "maybe", + "multiple", + "mustache", + "objectEntry", + "objectKey", + "objectValue", + "rangeToNumber", + "replaceCreditCardSymbols", + "replaceSymbols", + "shuffle", + "slugify", + "uniqueArray", + "weightedArrayElement", + ], + ], + [ + "image", + [ + "avatar", + "avatarGitHub", + "avatarLegacy", + "dataUri", + "url", + "urlLoremFlickr", + "urlPicsumPhotos", + "urlPlaceholder", + ], + ], + [ + "internet", + [ + "color", + "displayName", + "domainName", + "domainSuffix", + "domainWord", + "email", + "emoji", + "exampleEmail", + "httpMethod", + "httpStatusCode", + "ip", + "ipv4", + "ipv6", + "jwt", + "jwtAlgorithm", + "mac", + "password", + "port", + "protocol", + "url", + "userAgent", + "username", + "userName", + ], + ], + [ + "location", + [ + "buildingNumber", + "cardinalDirection", + "city", + "continent", + "country", + "countryCode", + "county", + "direction", + "latitude", + "longitude", + "nearbyGPSCoordinate", + "ordinalDirection", + "secondaryAddress", + "state", + "street", + "streetAddress", + "timeZone", + "zipCode", + ], + ], + [ + "lorem", + [ + "lines", + "paragraph", + "paragraphs", + "sentence", + "sentences", + "slug", + "text", + "word", + "words", + ], + ], + [ + "music", + [ + "album", + "artist", + "genre", + "songName", + ], + ], + [ + "number", + [ + "bigInt", + "binary", + "float", + "hex", + "int", + "octal", + "romanNumeral", + ], + ], + [ + "person", + [ + "bio", + "firstName", + "fullName", + "gender", + "jobArea", + "jobDescriptor", + "jobTitle", + "jobType", + "lastName", + "middleName", + "prefix", + "sex", + "sexType", + "suffix", + "zodiacSign", + ], + ], + [ + "phone", + [ + "imei", + "number", + ], + ], + [ + "science", + [ + "chemicalElement", + "unit", + ], + ], + [ + "string", + [ + "alpha", + "alphanumeric", + "binary", + "fromCharacters", + "hexadecimal", + "nanoid", + "numeric", + "octal", + "sample", + "symbol", + "ulid", + "uuid", + ], + ], + [ + "system", + [ + "commonFileExt", + "commonFileName", + "commonFileType", + "cron", + "directoryPath", + "fileExt", + "fileName", + "filePath", + "fileType", + "mimeType", + "networkInterface", + "semver", + ], + ], + [ + "vehicle", + [ + "bicycle", + "color", + "fuel", + "manufacturer", + "model", + "type", + "vehicle", + "vin", + "vrm", + ], + ], + [ + "word", + [ + "adjective", + "adverb", + "conjunction", + "interjection", + "noun", + "preposition", + "sample", + "verb", + "words", + ], + ], +] +`; diff --git a/test/scripts/apidocs/verify-jsdoc-tags.spec.ts b/test/scripts/apidocs/verify-jsdoc-tags.spec.ts index 0456d8ee477..e476c60be01 100644 --- a/test/scripts/apidocs/verify-jsdoc-tags.spec.ts +++ b/test/scripts/apidocs/verify-jsdoc-tags.spec.ts @@ -78,6 +78,18 @@ function assertDescription(description: string): void { } } +describe('check docs completeness', () => { + it('all modules and methods are present', () => { + // This could be converted to an Object, but that would erase the order of the pages + const pageContents = modules.map((m) => [ + m.camelTitle, + m.methods.map((m) => m.name), + ]); + + expect(pageContents).toMatchSnapshot(); + }); +}); + describe('verify JSDoc tags', () => { describe.each(modules.map((m) => [m.camelTitle, m]))( '%s', diff --git a/test/utils/mersenne.spec.ts b/test/utils/mersenne.spec.ts index fe1b4bbc2cb..623023af37c 100644 --- a/test/utils/mersenne.spec.ts +++ b/test/utils/mersenne.spec.ts @@ -22,6 +22,10 @@ function newTwister(seed: number = randomSeed()): MersenneTwister19937 { return twister; } +function randomSeed(): number { + return Math.ceil(Math.random() * 1_000_000_000); +} + describe('MersenneTwister19937', () => { describe('genrandInt32()', () => { it('should be able to return 0', () => {