diff --git a/.vitepress/config/cn.ts b/.vitepress/config/cn.ts index 97f12d9..311b0b8 100644 --- a/.vitepress/config/cn.ts +++ b/.vitepress/config/cn.ts @@ -21,13 +21,14 @@ export const cn = defineConfig({ { text: '多节点', link: '/guide/network/multi-node-networking' }, { text: '子网代理(点对网)', link: '/guide/network/point-to-networking' }, { text: '网对网', link: '/guide/network/network-to-network' }, - { text: '无公网IP', link: '/guide/network/networking-without-public-ip' }, - { text: '使用 WireGuard 客户端接入', link: '/guide/network/use-easytier-with-wirefuard-client' }, + { text: '无公网 IP', link: '/guide/network/networking-without-public-ip' }, + { text: '使用 WireGuard 客户端接入', link: '/guide/network/use-easytier-with-wireguard-client' }, { text: 'SOCKS5', link: '/guide/network/socks5' }, - { text: '无 TUN 模式 (免 Root 权限)', link: '/guide/network/no-root' }, + { text: '无 TUN 模式(免 Root 权限)', link: '/guide/network/no-root' }, { text: '自建公共服务器', link: '/guide/network/host-public-server' }, - { text: '注册为windows服务(开机自启)', link: '/guide/network/install-as-a-windows-service' }, - { text: '将服务安装为 Linux Systemd 服务', link: '/guide/network/install-as-a-systemd-service' }, + { text: '安装为 Windows 服务(开机自启)', link: '/guide/network/install-as-a-windows-service' }, + { text: '安装为 Linux systemd 服务', link: '/guide/network/install-as-a-systemd-service' }, + { text: '安装为 macOS 服务', link: '/guide/network/install-as-a-macos-service' }, { text: '其他配置', link: '/guide/network/configurations' }, { text: '配置文件', link: '/guide/network/config-file' }, ], diff --git a/.vitepress/config/en.ts b/.vitepress/config/en.ts index fc00273..e8cba8d 100644 --- a/.vitepress/config/en.ts +++ b/.vitepress/config/en.ts @@ -2,32 +2,33 @@ import { defineConfig } from 'vitepress' export const en = defineConfig({ lang: 'en', - description: 'a simple, safe and decentralized VPN networking solution implemented with the Rust language and Tokio framework.', + description: 'A simple, safe and decentralized VPN networking solution implemented with the Rust language and Tokio framework', themeConfig: { sidebar: [ { - text: 'Getting Started', + text: 'Getting started', items: [ { text: 'Introduction', link: '/en/guide/introduction' }, - { text: 'installation', link: '/en/guide/installation' }, + { text: 'Installation', link: '/en/guide/installation' }, ], }, { text: 'Networking', link: '/en/guide/networking', items: [ - { text: 'Two Node', link: '/en/guide/network/two-node-networking' }, - { text: 'Multi Node', link: '/en/guide/network/multi-node-networking' }, + { text: 'Peer to Peer Networking', link: '/en/guide/network/two-node-networking' }, + { text: 'Multi Peers Networking', link: '/en/guide/network/multi-node-networking' }, { text: 'Subnet Proxy', link: '/en/guide/network/point-to-networking' }, { text: 'Network to Network', link: '/en/guide/network/network-to-network' }, { text: 'Without Public IP', link: '/en/guide/network/networking-without-public-ip' }, - { text: 'Use WireGuard Client', link: '/en/guide/network/use-easytier-with-wirefuard-client' }, + { text: 'Use WireGuard Client', link: '/en/guide/network/use-easytier-with-wireguard-client' }, { text: 'SOCKS5', link: '/en/guide/network/socks5' }, - { text: 'No TUN Mode (No Root Permission Required', link: '/en/guide/network/no-root' }, - { text: 'Self-Hosted Public Server', link: '/en/guide/network/host-public-server' }, - { text: 'Installing as a Windows Service (Auto-Start on Boot)', link: '/en/guide/network/install-as-a-windows-service' }, + { text: 'Rootless mode (no TUN)', link: '/en/guide/network/no-root' }, + { text: 'Self-hosted Public Server', link: '/en/guide/network/host-public-server' }, + { text: 'Installing as a Windows Service (Auto start on boot)', link: '/en/guide/network/install-as-a-windows-service' }, { text: 'Installing as a Linux Systemd Service', link: '/en/guide/network/install-as-a-systemd-service' }, + { text: 'Installing as a macOS Service', link: '/en/guide/network/install-as-a-macos-service' }, { text: 'Other Configurations', link: '/en/guide/network/configurations' }, { text: 'Configuration File', link: '/en/guide/network/config-file' }, ], diff --git a/en/guide/network/install-as-a-macos-service.md b/en/guide/network/install-as-a-macos-service.md new file mode 100644 index 0000000..96e6695 --- /dev/null +++ b/en/guide/network/install-as-a-macos-service.md @@ -0,0 +1,33 @@ +# Installing as macOS service + +Download and install [serviceman](https://webinstall.dev/serviceman) + +Open terminal and run the following commands to register easytier service: + +```bash +# Start easytier with configuration file +sudo serviceman add -name easytier -system \ +--workdir /var/log/easytier \ +-groupname wheel -username root \ +-cap-net-bind \ +-- easytier-core -c ~/.config/easytier.toml + +# or you can register easytier service without configuration +sudo serviceman add -name easytier -system \ +--workdir /var/log/easytier \ +-groupname wheel -username root \ +-cap-net-bind \ +-- easytier-core --ipv4 x.x.x.x --network-name xxx --network-secret yyy --peers tcp://peer_host:11010 +``` + +Start easytier service: + +```bash +sudo serviceman start easytier +``` + +Stop easytier service: + +```bash +sudo serviceman stop easytier +``` diff --git a/en/guide/network/use-easytier-with-wirefuard-client.md b/en/guide/network/use-easytier-with-wireguard-client.md similarity index 100% rename from en/guide/network/use-easytier-with-wirefuard-client.md rename to en/guide/network/use-easytier-with-wireguard-client.md diff --git a/guide/network/install-as-a-macos-service.md b/guide/network/install-as-a-macos-service.md new file mode 100644 index 0000000..49f75ed --- /dev/null +++ b/guide/network/install-as-a-macos-service.md @@ -0,0 +1,33 @@ +# 安装为 macOS 服务 + +下载并安装 [serviceman](https://webinstall.dev/serviceman)。 + +打开终端,运行如下命令注册服务: + +```bash +# 使用配置文件注册 easytier 服务 +sudo serviceman add -name easytier -system \ +--workdir /var/log/easytier \ +-groupname wheel -username root \ +-cap-net-bind \ +-- easytier-core -c ~/.config/easytier.toml + +# 不使用配置文件注册 easytier 服务 +sudo serviceman add -name easytier -system \ +--workdir /var/log/easytier \ +-groupname wheel -username root \ +-cap-net-bind \ +-- easytier-core --ipv4 x.x.x.x --network-name xxx --network-secret yyy --peers tcp://peer_host:11010 +``` + +启动 easytier 服务: + +```bash +sudo serviceman start easytier +``` + +关闭 easytier 服务: + +```bash +sudo serviceman stop easytier +``` diff --git a/guide/network/use-easytier-with-wirefuard-client.md b/guide/network/use-easytier-with-wireguard-client.md similarity index 100% rename from guide/network/use-easytier-with-wirefuard-client.md rename to guide/network/use-easytier-with-wireguard-client.md diff --git a/package-lock.json b/package-lock.json index 313b9c6..71b0ced 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "devDependencies": { "@antfu/eslint-config": "^2.25.1", - "eslint": "^9.6.0", + "eslint": "^9.12.0", "eslint-plugin-format": "^0.1.2", "mermaid": "^10.9.1", "vitepress": "^1.4.1", @@ -1153,9 +1153,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", - "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", "dev": true, "dependencies": { "@eslint/object-schema": "^2.1.4", @@ -1188,6 +1188,15 @@ "node": "*" } }, + "node_modules/@eslint/core": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz", + "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", @@ -1246,9 +1255,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz", - "integrity": "sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==", + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz", + "integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1263,6 +1272,40 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", + "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", + "dev": true, + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz", + "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz", + "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.0", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -1277,9 +1320,9 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", - "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true, "engines": { "node": ">=18.18" @@ -3623,27 +3666,31 @@ } }, "node_modules/eslint": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.0.tgz", - "integrity": "sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==", + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz", + "integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.17.1", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.6.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.9.0", + "@eslint/js": "9.12.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.5", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.0", - "@nodelib/fs.walk": "^1.2.8", + "@humanwhocodes/retry": "^0.3.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.2", - "eslint-visitor-keys": "^4.0.0", - "espree": "^10.1.0", + "eslint-scope": "^8.1.0", + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -3653,14 +3700,11 @@ "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, "bin": { @@ -4387,9 +4431,9 @@ } }, "node_modules/eslint-scope": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", - "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -4403,9 +4447,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", - "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4437,14 +4481,14 @@ } }, "node_modules/espree": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", - "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", "dev": true, "dependencies": { "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" + "eslint-visitor-keys": "^4.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5010,15 +5054,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-what": { "version": "4.1.16", "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", @@ -8603,9 +8638,9 @@ "dev": true }, "@eslint/config-array": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", - "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", "dev": true, "requires": { "@eslint/object-schema": "^2.1.4", @@ -8634,6 +8669,12 @@ } } }, + "@eslint/core": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz", + "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==", + "dev": true + }, "@eslint/eslintrc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", @@ -8679,9 +8720,9 @@ } }, "@eslint/js": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz", - "integrity": "sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==", + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz", + "integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==", "dev": true }, "@eslint/object-schema": { @@ -8690,6 +8731,31 @@ "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true }, + "@eslint/plugin-kit": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", + "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", + "dev": true, + "requires": { + "levn": "^0.4.1" + } + }, + "@humanfs/core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz", + "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==", + "dev": true + }, + "@humanfs/node": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz", + "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==", + "dev": true, + "requires": { + "@humanfs/core": "^0.19.0", + "@humanwhocodes/retry": "^0.3.0" + } + }, "@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -8697,9 +8763,9 @@ "dev": true }, "@humanwhocodes/retry": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", - "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", "dev": true }, "@jridgewell/sourcemap-codec": { @@ -10353,27 +10419,31 @@ "dev": true }, "eslint": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.9.0.tgz", - "integrity": "sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA==", + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz", + "integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.17.1", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.6.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.9.0", + "@eslint/js": "9.12.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.5", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.0", - "@nodelib/fs.walk": "^1.2.8", + "@humanwhocodes/retry": "^0.3.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.0.2", - "eslint-visitor-keys": "^4.0.0", - "espree": "^10.1.0", + "eslint-scope": "^8.1.0", + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -10383,14 +10453,11 @@ "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, "dependencies": { @@ -10871,9 +10938,9 @@ "requires": {} }, "eslint-scope": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", - "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -10881,20 +10948,20 @@ } }, "eslint-visitor-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", - "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", "dev": true }, "espree": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", - "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", "dev": true, "requires": { "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" + "eslint-visitor-keys": "^4.1.0" } }, "esquery": { @@ -11309,12 +11376,6 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, "is-what": { "version": "4.1.16", "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", diff --git a/package.json b/package.json index e4866fe..31f2d51 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@antfu/eslint-config": "^2.25.1", - "eslint": "^9.6.0", + "eslint": "^9.12.0", "eslint-plugin-format": "^0.1.2", "mermaid": "^10.9.1", "vitepress": "^1.4.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b63e94c..209a6aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,13 +10,13 @@ importers: devDependencies: '@antfu/eslint-config': specifier: ^2.25.1 - version: 2.25.1(@typescript-eslint/utils@8.0.1(eslint@9.6.0)(typescript@5.4.5))(@vue/compiler-sfc@3.5.12)(eslint-plugin-format@0.1.2(eslint@9.6.0))(eslint@9.6.0)(typescript@5.4.5) + version: 2.25.1(@typescript-eslint/utils@8.0.1(eslint@9.12.0)(typescript@5.4.5))(@vue/compiler-sfc@3.5.12)(eslint-plugin-format@0.1.2(eslint@9.12.0))(eslint@9.12.0)(typescript@5.4.5) eslint: - specifier: ^9.6.0 - version: 9.6.0 + specifier: ^9.12.0 + version: 9.12.0 eslint-plugin-format: specifier: ^0.1.2 - version: 0.1.2(eslint@9.6.0) + version: 0.1.2(eslint@9.12.0) mermaid: specifier: ^10.9.1 version: 10.9.1 @@ -374,28 +374,48 @@ packages: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.17.0': - resolution: {integrity: sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.18.0': + resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.6.0': + resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.6.0': - resolution: {integrity: sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A==} + '@eslint/js@9.12.0': + resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.2.0': + resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.0': + resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.5': + resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==} + engines: {node: '>=18.18.0'} + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/retry@0.3.0': - resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} '@jridgewell/sourcemap-codec@1.5.0': @@ -569,9 +589,6 @@ packages: '@types/eslint@9.6.0': resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -1182,15 +1199,6 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.5: resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} @@ -1428,8 +1436,8 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@8.0.1: - resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + eslint-scope@8.1.0: + resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: @@ -1440,23 +1448,32 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.6.0: - resolution: {integrity: sha512-ElQkdLMEEqQNM9Njff+2Y4q2afHk7JpkPvrd7Xh7xefwgQynqPxwf55J7di9+MEibWUGdNjFF9ITG9Pck5M84w==} + eslint-visitor-keys@4.1.0: + resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.12.0: + resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true espree@10.1.0: resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@10.2.0: + resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - esquery@1.6.0: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} @@ -1662,10 +1679,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-what@4.1.16: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} @@ -2588,46 +2601,46 @@ snapshots: '@algolia/logger-common': 4.23.3 '@algolia/requester-common': 4.23.3 - '@antfu/eslint-config@2.25.1(@typescript-eslint/utils@8.0.1(eslint@9.6.0)(typescript@5.4.5))(@vue/compiler-sfc@3.5.12)(eslint-plugin-format@0.1.2(eslint@9.6.0))(eslint@9.6.0)(typescript@5.4.5)': + '@antfu/eslint-config@2.25.1(@typescript-eslint/utils@8.0.1(eslint@9.12.0)(typescript@5.4.5))(@vue/compiler-sfc@3.5.12)(eslint-plugin-format@0.1.2(eslint@9.12.0))(eslint@9.12.0)(typescript@5.4.5)': dependencies: '@antfu/install-pkg': 0.3.3 '@clack/prompts': 0.7.0 - '@stylistic/eslint-plugin': 2.6.2(eslint@9.6.0)(typescript@5.4.5) - '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5) - '@typescript-eslint/parser': 8.0.1(eslint@9.6.0)(typescript@5.4.5) - '@vitest/eslint-plugin': 1.0.1(@typescript-eslint/utils@8.0.1(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5) - eslint: 9.6.0 + '@stylistic/eslint-plugin': 2.6.2(eslint@9.12.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.12.0)(typescript@5.4.5))(eslint@9.12.0)(typescript@5.4.5) + '@typescript-eslint/parser': 8.0.1(eslint@9.12.0)(typescript@5.4.5) + '@vitest/eslint-plugin': 1.0.1(@typescript-eslint/utils@8.0.1(eslint@9.12.0)(typescript@5.4.5))(eslint@9.12.0)(typescript@5.4.5) + eslint: 9.12.0 eslint-config-flat-gitignore: 0.1.8 eslint-flat-config-utils: 0.3.0 - eslint-merge-processors: 0.1.0(eslint@9.6.0) - eslint-plugin-antfu: 2.3.4(eslint@9.6.0) - eslint-plugin-command: 0.2.3(eslint@9.6.0) - eslint-plugin-eslint-comments: 3.2.0(eslint@9.6.0) - eslint-plugin-import-x: 3.1.0(eslint@9.6.0)(typescript@5.4.5) - eslint-plugin-jsdoc: 50.0.1(eslint@9.6.0) - eslint-plugin-jsonc: 2.16.0(eslint@9.6.0) - eslint-plugin-markdown: 5.1.0(eslint@9.6.0) - eslint-plugin-n: 17.10.2(eslint@9.6.0) + eslint-merge-processors: 0.1.0(eslint@9.12.0) + eslint-plugin-antfu: 2.3.4(eslint@9.12.0) + eslint-plugin-command: 0.2.3(eslint@9.12.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@9.12.0) + eslint-plugin-import-x: 3.1.0(eslint@9.12.0)(typescript@5.4.5) + eslint-plugin-jsdoc: 50.0.1(eslint@9.12.0) + eslint-plugin-jsonc: 2.16.0(eslint@9.12.0) + eslint-plugin-markdown: 5.1.0(eslint@9.12.0) + eslint-plugin-n: 17.10.2(eslint@9.12.0) eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-perfectionist: 3.1.3(eslint@9.6.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.6.0)) - eslint-plugin-regexp: 2.6.0(eslint@9.6.0) - eslint-plugin-toml: 0.11.1(eslint@9.6.0) - eslint-plugin-unicorn: 55.0.0(eslint@9.6.0) - eslint-plugin-unused-imports: 4.1.3(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0) - eslint-plugin-vue: 9.27.0(eslint@9.6.0) - eslint-plugin-yml: 1.14.0(eslint@9.6.0) - eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.6.0) + eslint-plugin-perfectionist: 3.1.3(eslint@9.12.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.12.0)) + eslint-plugin-regexp: 2.6.0(eslint@9.12.0) + eslint-plugin-toml: 0.11.1(eslint@9.12.0) + eslint-plugin-unicorn: 55.0.0(eslint@9.12.0) + eslint-plugin-unused-imports: 4.1.3(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.12.0)(typescript@5.4.5))(eslint@9.12.0)(typescript@5.4.5))(eslint@9.12.0) + eslint-plugin-vue: 9.27.0(eslint@9.12.0) + eslint-plugin-yml: 1.14.0(eslint@9.12.0) + eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.12.0) globals: 15.9.0 jsonc-eslint-parser: 2.4.0 local-pkg: 0.5.0 parse-gitignore: 2.0.0 picocolors: 1.0.1 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 9.4.3(eslint@9.6.0) + vue-eslint-parser: 9.4.3(eslint@9.12.0) yaml-eslint-parser: 1.2.3 yargs: 17.7.2 optionalDependencies: - eslint-plugin-format: 0.1.2(eslint@9.6.0) + eslint-plugin-format: 0.1.2(eslint@9.12.0) transitivePeerDependencies: - '@typescript-eslint/utils' - '@vue/compiler-sfc' @@ -2716,7 +2729,7 @@ snapshots: '@es-joy/jsdoccomment@0.43.1': dependencies: '@types/eslint': 8.56.10 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@typescript-eslint/types': 7.8.0 comment-parser: 1.4.1 esquery: 1.6.0 @@ -2797,26 +2810,30 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.6.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.12.0)': dependencies: - eslint: 9.6.0 + eslint: 9.12.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.0': {} - '@eslint/config-array@0.17.0': + '@eslint-community/regexpp@4.11.1': {} + + '@eslint/config-array@0.18.0': dependencies: '@eslint/object-schema': 2.1.4 - debug: 4.3.4 + debug: 4.3.5 minimatch: 3.1.2 transitivePeerDependencies: - supports-color + '@eslint/core@0.6.0': {} + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.4 - espree: 10.1.0 + debug: 4.3.5 + espree: 10.2.0 globals: 14.0.0 ignore: 5.3.1 import-fresh: 3.3.0 @@ -2826,13 +2843,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.6.0': {} + '@eslint/js@9.12.0': {} '@eslint/object-schema@2.1.4': {} + '@eslint/plugin-kit@0.2.0': + dependencies: + levn: 0.4.1 + + '@humanfs/core@0.19.0': {} + + '@humanfs/node@0.16.5': + dependencies: + '@humanfs/core': 0.19.0 + '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.3.0': {} + '@humanwhocodes/retry@0.3.1': {} '@jridgewell/sourcemap-codec@1.5.0': {} @@ -2947,49 +2975,49 @@ snapshots: '@shikijs/vscode-textmate@9.3.0': {} - '@stylistic/eslint-plugin-js@2.6.2(eslint@9.6.0)': + '@stylistic/eslint-plugin-js@2.6.2(eslint@9.12.0)': dependencies: '@types/eslint': 9.6.0 acorn: 8.12.1 - eslint: 9.6.0 + eslint: 9.12.0 eslint-visitor-keys: 4.0.0 espree: 10.1.0 - '@stylistic/eslint-plugin-jsx@2.6.2(eslint@9.6.0)': + '@stylistic/eslint-plugin-jsx@2.6.2(eslint@9.12.0)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.2(eslint@9.6.0) + '@stylistic/eslint-plugin-js': 2.6.2(eslint@9.12.0) '@types/eslint': 9.6.0 - eslint: 9.6.0 + eslint: 9.12.0 estraverse: 5.3.0 picomatch: 4.0.2 - '@stylistic/eslint-plugin-plus@2.6.2(eslint@9.6.0)(typescript@5.4.5)': + '@stylistic/eslint-plugin-plus@2.6.2(eslint@9.12.0)(typescript@5.4.5)': dependencies: '@types/eslint': 9.6.0 - '@typescript-eslint/utils': 8.0.0(eslint@9.6.0)(typescript@5.4.5) - eslint: 9.6.0 + '@typescript-eslint/utils': 8.0.0(eslint@9.12.0)(typescript@5.4.5) + eslint: 9.12.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin-ts@2.6.2(eslint@9.6.0)(typescript@5.4.5)': + '@stylistic/eslint-plugin-ts@2.6.2(eslint@9.12.0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.2(eslint@9.6.0) + '@stylistic/eslint-plugin-js': 2.6.2(eslint@9.12.0) '@types/eslint': 9.6.0 - '@typescript-eslint/utils': 8.0.0(eslint@9.6.0)(typescript@5.4.5) - eslint: 9.6.0 + '@typescript-eslint/utils': 8.0.0(eslint@9.12.0)(typescript@5.4.5) + eslint: 9.12.0 transitivePeerDependencies: - supports-color - typescript - '@stylistic/eslint-plugin@2.6.2(eslint@9.6.0)(typescript@5.4.5)': + '@stylistic/eslint-plugin@2.6.2(eslint@9.12.0)(typescript@5.4.5)': dependencies: - '@stylistic/eslint-plugin-js': 2.6.2(eslint@9.6.0) - '@stylistic/eslint-plugin-jsx': 2.6.2(eslint@9.6.0) - '@stylistic/eslint-plugin-plus': 2.6.2(eslint@9.6.0)(typescript@5.4.5) - '@stylistic/eslint-plugin-ts': 2.6.2(eslint@9.6.0)(typescript@5.4.5) + '@stylistic/eslint-plugin-js': 2.6.2(eslint@9.12.0) + '@stylistic/eslint-plugin-jsx': 2.6.2(eslint@9.12.0) + '@stylistic/eslint-plugin-plus': 2.6.2(eslint@9.12.0)(typescript@5.4.5) + '@stylistic/eslint-plugin-ts': 2.6.2(eslint@9.12.0)(typescript@5.4.5) '@types/eslint': 9.6.0 - eslint: 9.6.0 + eslint: 9.12.0 transitivePeerDependencies: - supports-color - typescript @@ -3008,16 +3036,14 @@ snapshots: '@types/eslint@8.56.10': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 '@types/eslint@9.6.0': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 - '@types/estree@1.0.5': {} - '@types/estree@1.0.6': {} '@types/hast@3.0.4': @@ -3055,15 +3081,15 @@ snapshots: '@types/web-bluetooth@0.0.20': {} - '@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.12.0)(typescript@5.4.5))(eslint@9.12.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 8.0.1(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/parser': 8.0.1(eslint@9.12.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 8.0.1 - '@typescript-eslint/type-utils': 8.0.1(eslint@9.6.0)(typescript@5.4.5) - '@typescript-eslint/utils': 8.0.1(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 8.0.1(eslint@9.12.0)(typescript@5.4.5) + '@typescript-eslint/utils': 8.0.1(eslint@9.12.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 8.0.1 - eslint: 9.6.0 + eslint: 9.12.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -3073,14 +3099,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.0.1(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/parser@8.0.1(eslint@9.12.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 8.0.1 '@typescript-eslint/types': 8.0.1 '@typescript-eslint/typescript-estree': 8.0.1(typescript@5.4.5) '@typescript-eslint/visitor-keys': 8.0.1 debug: 4.3.5 - eslint: 9.6.0 + eslint: 9.12.0 optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: @@ -3101,10 +3127,10 @@ snapshots: '@typescript-eslint/types': 8.0.1 '@typescript-eslint/visitor-keys': 8.0.1 - '@typescript-eslint/type-utils@8.0.1(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@8.0.1(eslint@9.12.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/typescript-estree': 8.0.1(typescript@5.4.5) - '@typescript-eslint/utils': 8.0.1(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/utils': 8.0.1(eslint@9.12.0)(typescript@5.4.5) debug: 4.3.5 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: @@ -3164,38 +3190,38 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.8.0(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/utils@7.8.0(eslint@9.12.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.8.0 '@typescript-eslint/types': 7.8.0 '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - eslint: 9.6.0 + eslint: 9.12.0 semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.0.0(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/utils@8.0.0(eslint@9.12.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) '@typescript-eslint/scope-manager': 8.0.0 '@typescript-eslint/types': 8.0.0 '@typescript-eslint/typescript-estree': 8.0.0(typescript@5.4.5) - eslint: 9.6.0 + eslint: 9.12.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.0.1(eslint@9.6.0)(typescript@5.4.5)': + '@typescript-eslint/utils@8.0.1(eslint@9.12.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) '@typescript-eslint/scope-manager': 8.0.1 '@typescript-eslint/types': 8.0.1 '@typescript-eslint/typescript-estree': 8.0.1(typescript@5.4.5) - eslint: 9.6.0 + eslint: 9.12.0 transitivePeerDependencies: - supports-color - typescript @@ -3222,11 +3248,11 @@ snapshots: vite: 5.4.9 vue: 3.5.12(typescript@5.4.5) - '@vitest/eslint-plugin@1.0.1(@typescript-eslint/utils@8.0.1(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5)': + '@vitest/eslint-plugin@1.0.1(@typescript-eslint/utils@8.0.1(eslint@9.12.0)(typescript@5.4.5))(eslint@9.12.0)(typescript@5.4.5)': dependencies: - eslint: 9.6.0 + eslint: 9.12.0 optionalDependencies: - '@typescript-eslint/utils': 8.0.1(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/utils': 8.0.1(eslint@9.12.0)(typescript@5.4.5) typescript: 5.4.5 '@vue/compiler-core@3.5.12': @@ -3691,10 +3717,6 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4: - dependencies: - ms: 2.1.2 - debug@4.3.5: dependencies: ms: 2.1.2 @@ -3778,9 +3800,9 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.5.0(eslint@9.6.0): + eslint-compat-utils@0.5.0(eslint@9.12.0): dependencies: - eslint: 9.6.0 + eslint: 9.12.0 semver: 7.6.3 eslint-config-flat-gitignore@0.1.8: @@ -3793,9 +3815,9 @@ snapshots: '@types/eslint': 9.6.0 pathe: 1.1.2 - eslint-formatting-reporter@0.0.0(eslint@9.6.0): + eslint-formatting-reporter@0.0.0(eslint@9.12.0): dependencies: - eslint: 9.6.0 + eslint: 9.12.0 prettier-linter-helpers: 1.0.0 eslint-import-resolver-node@0.3.9: @@ -3806,52 +3828,52 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-merge-processors@0.1.0(eslint@9.6.0): + eslint-merge-processors@0.1.0(eslint@9.12.0): dependencies: - eslint: 9.6.0 + eslint: 9.12.0 eslint-parser-plain@0.1.0: {} - eslint-plugin-antfu@2.3.4(eslint@9.6.0): + eslint-plugin-antfu@2.3.4(eslint@9.12.0): dependencies: '@antfu/utils': 0.7.10 - eslint: 9.6.0 + eslint: 9.12.0 - eslint-plugin-command@0.2.3(eslint@9.6.0): + eslint-plugin-command@0.2.3(eslint@9.12.0): dependencies: '@es-joy/jsdoccomment': 0.43.1 - eslint: 9.6.0 + eslint: 9.12.0 - eslint-plugin-es-x@7.6.0(eslint@9.6.0): + eslint-plugin-es-x@7.6.0(eslint@9.12.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) '@eslint-community/regexpp': 4.10.0 - eslint: 9.6.0 - eslint-compat-utils: 0.5.0(eslint@9.6.0) + eslint: 9.12.0 + eslint-compat-utils: 0.5.0(eslint@9.12.0) - eslint-plugin-eslint-comments@3.2.0(eslint@9.6.0): + eslint-plugin-eslint-comments@3.2.0(eslint@9.12.0): dependencies: escape-string-regexp: 1.0.5 - eslint: 9.6.0 + eslint: 9.12.0 ignore: 5.3.1 - eslint-plugin-format@0.1.2(eslint@9.6.0): + eslint-plugin-format@0.1.2(eslint@9.12.0): dependencies: '@dprint/formatter': 0.3.0 '@dprint/markdown': 0.17.1 '@dprint/toml': 0.6.2 - eslint: 9.6.0 - eslint-formatting-reporter: 0.0.0(eslint@9.6.0) + eslint: 9.12.0 + eslint-formatting-reporter: 0.0.0(eslint@9.12.0) eslint-parser-plain: 0.1.0 prettier: 3.3.2 synckit: 0.9.0 - eslint-plugin-import-x@3.1.0(eslint@9.6.0)(typescript@5.4.5): + eslint-plugin-import-x@3.1.0(eslint@9.12.0)(typescript@5.4.5): dependencies: - '@typescript-eslint/utils': 7.8.0(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.12.0)(typescript@5.4.5) debug: 4.3.5 doctrine: 3.0.0 - eslint: 9.6.0 + eslint: 9.12.0 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.4 is-glob: 4.0.3 @@ -3863,14 +3885,14 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.0.1(eslint@9.6.0): + eslint-plugin-jsdoc@50.0.1(eslint@9.12.0): dependencies: '@es-joy/jsdoccomment': 0.46.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.5 escape-string-regexp: 4.0.0 - eslint: 9.6.0 + eslint: 9.12.0 espree: 10.1.0 esquery: 1.6.0 parse-imports: 2.1.1 @@ -3880,30 +3902,30 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.16.0(eslint@9.6.0): + eslint-plugin-jsonc@2.16.0(eslint@9.12.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) - eslint: 9.6.0 - eslint-compat-utils: 0.5.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) + eslint: 9.12.0 + eslint-compat-utils: 0.5.0(eslint@9.12.0) espree: 9.6.1 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 synckit: 0.6.2 - eslint-plugin-markdown@5.1.0(eslint@9.6.0): + eslint-plugin-markdown@5.1.0(eslint@9.12.0): dependencies: - eslint: 9.6.0 + eslint: 9.12.0 mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-n@17.10.2(eslint@9.6.0): + eslint-plugin-n@17.10.2(eslint@9.12.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) enhanced-resolve: 5.17.0 - eslint: 9.6.0 - eslint-plugin-es-x: 7.6.0(eslint@9.6.0) + eslint: 9.12.0 + eslint-plugin-es-x: 7.6.0(eslint@9.12.0) get-tsconfig: 4.7.4 globals: 15.9.0 ignore: 5.3.1 @@ -3912,48 +3934,48 @@ snapshots: eslint-plugin-no-only-tests@3.1.0: {} - eslint-plugin-perfectionist@3.1.3(eslint@9.6.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.6.0)): + eslint-plugin-perfectionist@3.1.3(eslint@9.12.0)(typescript@5.4.5)(vue-eslint-parser@9.4.3(eslint@9.12.0)): dependencies: '@typescript-eslint/types': 8.0.1 - '@typescript-eslint/utils': 8.0.1(eslint@9.6.0)(typescript@5.4.5) - eslint: 9.6.0 + '@typescript-eslint/utils': 8.0.1(eslint@9.12.0)(typescript@5.4.5) + eslint: 9.12.0 minimatch: 10.0.1 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.6.0) + vue-eslint-parser: 9.4.3(eslint@9.12.0) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-regexp@2.6.0(eslint@9.6.0): + eslint-plugin-regexp@2.6.0(eslint@9.12.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) '@eslint-community/regexpp': 4.10.0 comment-parser: 1.4.1 - eslint: 9.6.0 + eslint: 9.12.0 jsdoc-type-pratt-parser: 4.0.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.11.1(eslint@9.6.0): + eslint-plugin-toml@0.11.1(eslint@9.12.0): dependencies: debug: 4.3.5 - eslint: 9.6.0 - eslint-compat-utils: 0.5.0(eslint@9.6.0) + eslint: 9.12.0 + eslint-compat-utils: 0.5.0(eslint@9.12.0) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@55.0.0(eslint@9.6.0): + eslint-plugin-unicorn@55.0.0(eslint@9.12.0): dependencies: '@babel/helper-validator-identifier': 7.24.5 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.37.0 - eslint: 9.6.0 + eslint: 9.12.0 esquery: 1.6.0 globals: 15.9.0 indent-string: 4.0.0 @@ -3966,48 +3988,48 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-unused-imports@4.1.3(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0): + eslint-plugin-unused-imports@4.1.3(@typescript-eslint/eslint-plugin@8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.12.0)(typescript@5.4.5))(eslint@9.12.0)(typescript@5.4.5))(eslint@9.12.0): dependencies: - eslint: 9.6.0 + eslint: 9.12.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.6.0)(typescript@5.4.5))(eslint@9.6.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 8.0.1(@typescript-eslint/parser@8.0.1(eslint@9.12.0)(typescript@5.4.5))(eslint@9.12.0)(typescript@5.4.5) - eslint-plugin-vue@9.27.0(eslint@9.6.0): + eslint-plugin-vue@9.27.0(eslint@9.12.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) - eslint: 9.6.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) + eslint: 9.12.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.16 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.6.0) + vue-eslint-parser: 9.4.3(eslint@9.12.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-yml@1.14.0(eslint@9.6.0): + eslint-plugin-yml@1.14.0(eslint@9.12.0): dependencies: debug: 4.3.5 - eslint: 9.6.0 - eslint-compat-utils: 0.5.0(eslint@9.6.0) + eslint: 9.12.0 + eslint-compat-utils: 0.5.0(eslint@9.12.0) lodash: 4.17.21 natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.6.0): + eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.12.0): dependencies: '@vue/compiler-sfc': 3.5.12 - eslint: 9.6.0 + eslint: 9.12.0 eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.0.1: + eslint-scope@8.1.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -4016,25 +4038,31 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.6.0: + eslint-visitor-keys@4.1.0: {} + + eslint@9.12.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/config-array': 0.17.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0) + '@eslint-community/regexpp': 4.11.1 + '@eslint/config-array': 0.18.0 + '@eslint/core': 0.6.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.6.0 + '@eslint/js': 9.12.0 + '@eslint/plugin-kit': 0.2.0 + '@humanfs/node': 0.16.5 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.3.0 - '@nodelib/fs.walk': 1.2.8 + '@humanwhocodes/retry': 0.3.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.5 escape-string-regexp: 4.0.0 - eslint-scope: 8.0.1 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 - esquery: 1.5.0 + eslint-scope: 8.1.0 + eslint-visitor-keys: 4.1.0 + espree: 10.2.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -4043,14 +4071,11 @@ snapshots: ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -4061,15 +4086,17 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.12.1) eslint-visitor-keys: 4.0.0 - espree@9.6.1: + espree@10.2.0: dependencies: acorn: 8.12.1 acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 4.1.0 - esquery@1.5.0: + espree@9.6.1: dependencies: - estraverse: 5.3.0 + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 3.4.3 esquery@1.6.0: dependencies: @@ -4258,8 +4285,6 @@ snapshots: is-number@7.0.0: {} - is-path-inside@3.0.3: {} - is-what@4.1.16: {} isexe@2.0.0: {} @@ -5113,10 +5138,10 @@ snapshots: dependencies: vue: 3.5.12(typescript@5.4.5) - vue-eslint-parser@9.4.3(eslint@9.6.0): + vue-eslint-parser@9.4.3(eslint@9.12.0): dependencies: debug: 4.3.5 - eslint: 9.6.0 + eslint: 9.12.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1