Merge branch 'develop' into iceshrimp_mastodon

This commit is contained in:
naskya 2024-06-01 23:00:43 +09:00
commit c7e1ea48a4
No known key found for this signature in database
GPG key ID: 712D413B3A9FED5C
6 changed files with 241 additions and 220 deletions

View file

@ -1,10 +1,13 @@
//! NodeInfo fetcher //! NodeInfo fetcher
//!
//! ref: <https://nodeinfo.diaspora.software/protocol.html>
use crate::federation::nodeinfo::schema::*; use crate::federation::nodeinfo::schema::*;
use crate::util::http_client; use crate::util::http_client;
use isahc::AsyncReadResponseExt; use isahc::AsyncReadResponseExt;
use serde::Deserialize; use serde::Deserialize;
/// Errors that can occur while fetching NodeInfo from a remote server
#[derive(thiserror::Error, Debug)] #[derive(thiserror::Error, Debug)]
pub enum Error { pub enum Error {
#[error("HTTP client aquisition error: {0}")] #[error("HTTP client aquisition error: {0}")]
@ -21,25 +24,23 @@ pub enum Error {
MissingNodeinfo, MissingNodeinfo,
} }
/// Represents the schema of `/.well-known/nodeinfo`.
#[derive(Deserialize, Debug)] #[derive(Deserialize, Debug)]
pub struct NodeinfoLinks { pub struct NodeinfoLinks {
links: Vec<NodeinfoLink>, links: Vec<NodeinfoLink>,
} }
/// Represents one entry of `/.well-known/nodeinfo`.
#[derive(Deserialize, Debug)] #[derive(Deserialize, Debug)]
pub struct NodeinfoLink { pub struct NodeinfoLink {
rel: String, rel: String,
href: String, href: String,
} }
#[inline] /// Fetches `/.well-known/nodeinfo` and parses the result.
fn wellknown_nodeinfo_url(host: &str) -> String {
format!("https://{}/.well-known/nodeinfo", host)
}
async fn fetch_nodeinfo_links(host: &str) -> Result<NodeinfoLinks, Error> { async fn fetch_nodeinfo_links(host: &str) -> Result<NodeinfoLinks, Error> {
let client = http_client::client()?; let client = http_client::client()?;
let wellknown_url = wellknown_nodeinfo_url(host); let wellknown_url = format!("https://{}/.well-known/nodeinfo", host);
let mut wellknown_response = client.get_async(&wellknown_url).await?; let mut wellknown_response = client.get_async(&wellknown_url).await?;
if !wellknown_response.status().is_success() { if !wellknown_response.status().is_success() {
@ -54,6 +55,9 @@ async fn fetch_nodeinfo_links(host: &str) -> Result<NodeinfoLinks, Error> {
Ok(serde_json::from_str(&wellknown_response.text().await?)?) Ok(serde_json::from_str(&wellknown_response.text().await?)?)
} }
/// Check if any of the following relations is present in the given [NodeinfoLinks].
/// * <http://nodeinfo.diaspora.software/ns/schema/2.0>
/// * <http://nodeinfo.diaspora.software/ns/schema/2.1>
fn check_nodeinfo_link(links: NodeinfoLinks) -> Result<String, Error> { fn check_nodeinfo_link(links: NodeinfoLinks) -> Result<String, Error> {
for link in links.links { for link in links.links {
if link.rel == "http://nodeinfo.diaspora.software/ns/schema/2.1" if link.rel == "http://nodeinfo.diaspora.software/ns/schema/2.1"
@ -66,6 +70,7 @@ fn check_nodeinfo_link(links: NodeinfoLinks) -> Result<String, Error> {
Err(Error::MissingNodeinfo) Err(Error::MissingNodeinfo)
} }
/// Fetches the nodeinfo from the given URL and parses the result.
async fn fetch_nodeinfo_impl(nodeinfo_link: &str) -> Result<Nodeinfo20, Error> { async fn fetch_nodeinfo_impl(nodeinfo_link: &str) -> Result<Nodeinfo20, Error> {
let client = http_client::client()?; let client = http_client::client()?;
let mut response = client.get_async(nodeinfo_link).await?; let mut response = client.get_async(nodeinfo_link).await?;
@ -85,7 +90,7 @@ async fn fetch_nodeinfo_impl(nodeinfo_link: &str) -> Result<Nodeinfo20, Error> {
// for napi export // for napi export
type Nodeinfo = Nodeinfo20; type Nodeinfo = Nodeinfo20;
/// Fetches and returns the NodeInfo of a remote server. /// Fetches and returns the NodeInfo (version 2.0) of a remote server.
#[crate::export] #[crate::export]
pub async fn fetch_nodeinfo(host: &str) -> Result<Nodeinfo, Error> { pub async fn fetch_nodeinfo(host: &str) -> Result<Nodeinfo, Error> {
tracing::info!("fetching from {}", host); tracing::info!("fetching from {}", host);

View file

@ -9,6 +9,7 @@ use sea_orm::{ColumnTrait, DbErr, EntityTrait, PaginatorTrait, QueryFilter};
use serde_json::json; use serde_json::json;
use std::collections::HashMap; use std::collections::HashMap;
/// Errors that can occur while generating NodeInfo of the local server
#[derive(thiserror::Error, Debug)] #[derive(thiserror::Error, Debug)]
pub enum Error { pub enum Error {
#[error("Database error: {0}")] #[error("Database error: {0}")]
@ -19,6 +20,14 @@ pub enum Error {
Json(#[from] serde_json::Error), Json(#[from] serde_json::Error),
} }
/// Fetches the number of total/active local users and local posts.
///
/// # Return value
/// A tuple containing the following information in this order:
/// * the total number of local users
/// * the total number of local users active in the last 6 months
/// * the total number of local users active in the last month (MAU)
/// * the total number of posts from local users
async fn statistics() -> Result<(u64, u64, u64, u64), DbErr> { async fn statistics() -> Result<(u64, u64, u64, u64), DbErr> {
let db = db_conn().await?; let db = db_conn().await?;
@ -49,6 +58,8 @@ async fn statistics() -> Result<(u64, u64, u64, u64), DbErr> {
) )
} }
/// Generates NodeInfo (version 2.1) of the local server.
/// This function doesn't use caches and returns the latest information.
async fn generate_nodeinfo_2_1() -> Result<Nodeinfo21, Error> { async fn generate_nodeinfo_2_1() -> Result<Nodeinfo21, Error> {
let (local_users, local_active_halfyear, local_active_month, local_posts) = let (local_users, local_active_halfyear, local_active_month, local_posts) =
statistics().await?; statistics().await?;

View file

@ -1,4 +1,6 @@
//! NodeInfo handler //! NodeInfo handler
//!
//! ref: <https://nodeinfo.diaspora.software/>
pub mod fetch; pub mod fetch;
pub mod generate; pub mod generate;

View file

@ -1,4 +1,6 @@
//! Schema definitions of NodeInfo version 2.0 and 2.1 //! Schema definitions of NodeInfo version 2.0 and 2.1
//!
//! ref: <https://nodeinfo.diaspora.software/schema.html>
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::collections::HashMap; use std::collections::HashMap;

View file

@ -33,7 +33,7 @@
"@peertube/http-signature": "1.7.0", "@peertube/http-signature": "1.7.0",
"@redocly/openapi-core": "1.14.0", "@redocly/openapi-core": "1.14.0",
"@sinonjs/fake-timers": "11.2.2", "@sinonjs/fake-timers": "11.2.2",
"adm-zip": "0.5.10", "adm-zip": "0.5.13",
"ajv": "8.14.0", "ajv": "8.14.0",
"archiver": "7.0.1", "archiver": "7.0.1",
"async-lock": "1.4.0", "async-lock": "1.4.0",
@ -170,7 +170,7 @@
"@types/websocket": "1.0.10", "@types/websocket": "1.0.10",
"@types/ws": "8.5.10", "@types/ws": "8.5.10",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"eslint": "9.3.0", "eslint": "9.4.0",
"mocha": "10.4.0", "mocha": "10.4.0",
"pug": "3.0.3", "pug": "3.0.3",
"strict-event-emitter-types": "2.0.0", "strict-event-emitter-types": "2.0.0",

View file

@ -76,8 +76,8 @@ importers:
specifier: 11.2.2 specifier: 11.2.2
version: 11.2.2 version: 11.2.2
adm-zip: adm-zip:
specifier: 0.5.10 specifier: 0.5.13
version: 0.5.10 version: 0.5.13
ajv: ajv:
specifier: 8.14.0 specifier: 8.14.0
version: 8.14.0 version: 8.14.0
@ -486,8 +486,8 @@ importers:
specifier: 7.0.3 specifier: 7.0.3
version: 7.0.3 version: 7.0.3
eslint: eslint:
specifier: 9.3.0 specifier: 9.4.0
version: 9.3.0 version: 9.4.0
mocha: mocha:
specifier: 10.4.0 specifier: 10.4.0
version: 10.4.0 version: 10.4.0
@ -532,10 +532,10 @@ importers:
devDependencies: devDependencies:
'@eslint-sets/eslint-config-vue3': '@eslint-sets/eslint-config-vue3':
specifier: 5.13.0 specifier: 5.13.0
version: 5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5) version: 5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)
'@eslint-sets/eslint-config-vue3-ts': '@eslint-sets/eslint-config-vue3-ts':
specifier: 3.3.0 specifier: 3.3.0
version: 3.3.0(@babel/core@7.24.6)(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5) version: 3.3.0(@babel/core@7.24.6)(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)
'@misskey-dev/browser-image-resizer': '@misskey-dev/browser-image-resizer':
specifier: 2024.1.0 specifier: 2024.1.0
version: 2024.1.0 version: 2024.1.0
@ -640,7 +640,7 @@ importers:
version: 3.0.12 version: 3.0.12
eslint-plugin-file-progress: eslint-plugin-file-progress:
specifier: 1.4.0 specifier: 1.4.0
version: 1.4.0(eslint@9.3.0) version: 1.4.0(eslint@9.4.0)
eventemitter3: eventemitter3:
specifier: 5.0.1 specifier: 5.0.1
version: 5.0.1 version: 5.0.1
@ -1380,29 +1380,30 @@ packages:
typescript: typescript:
optional: true optional: true
'@eslint/config-array@0.15.1':
resolution: {integrity: sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.1.0': '@eslint/eslintrc@3.1.0':
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.3.0': '@eslint/js@9.4.0':
resolution: {integrity: sha512-niBqk8iwv96+yuTwjM6bWg8ovzAPF9qkICsGtcoa5/dmqcEMfdwNAX7+/OHcJHc7wj7XqPxH98oAHytFYlw6Sw==} resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.3':
resolution: {integrity: sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@fastify/busboy@2.1.1': '@fastify/busboy@2.1.1':
resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
engines: {node: '>=14'} engines: {node: '>=14'}
'@humanwhocodes/config-array@0.13.0':
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
engines: {node: '>=10.10.0'}
'@humanwhocodes/module-importer@1.0.1': '@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'} engines: {node: '>=12.22'}
'@humanwhocodes/object-schema@2.0.3':
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
'@humanwhocodes/retry@0.3.0': '@humanwhocodes/retry@0.3.0':
resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
engines: {node: '>=18.18'} engines: {node: '>=18.18'}
@ -2720,9 +2721,9 @@ packages:
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
hasBin: true hasBin: true
adm-zip@0.5.10: adm-zip@0.5.13:
resolution: {integrity: sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==} resolution: {integrity: sha512-4U51tTl9J8UVEcuKGr6zRzY95tWoAa9l+ureGBNmsfleszjZblm5NyEEL/ZQxkhi86co5mZhSvL2T7gkZ6feYQ==}
engines: {node: '>=6.0'} engines: {node: '>=12.0'}
agent-base@7.1.1: agent-base@7.1.1:
resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
@ -4188,8 +4189,8 @@ packages:
resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@9.3.0: eslint@9.4.0:
resolution: {integrity: sha512-5Iv4CsZW030lpUqHBapdPo3MJetAPtejVW8B84GIcIIv8+ohFaddXsrn1Gn8uD9ijDb+kcYKFUVmC8qG8B2ORQ==} resolution: {integrity: sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true hasBin: true
@ -7822,11 +7823,11 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@babel/eslint-parser@7.24.6(@babel/core@7.24.6)(eslint@9.3.0)': '@babel/eslint-parser@7.24.6(@babel/core@7.24.6)(eslint@9.4.0)':
dependencies: dependencies:
'@babel/core': 7.24.6 '@babel/core': 7.24.6
'@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1
eslint: 9.3.0 eslint: 9.4.0
eslint-visitor-keys: 2.1.0 eslint-visitor-keys: 2.1.0
semver: 6.3.1 semver: 6.3.1
@ -8316,32 +8317,32 @@ snapshots:
'@esbuild/win32-x64@0.20.2': '@esbuild/win32-x64@0.20.2':
optional: true optional: true
'@eslint-community/eslint-utils@4.4.0(eslint@9.3.0)': '@eslint-community/eslint-utils@4.4.0(eslint@9.4.0)':
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.10.0': {} '@eslint-community/regexpp@4.10.0': {}
'@eslint-sets/eslint-config-basic@3.3.0(@babel/core@7.24.6)(@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(prettier@2.8.8)': '@eslint-sets/eslint-config-basic@3.3.0(@babel/core@7.24.6)(@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(prettier@2.8.8)':
dependencies: dependencies:
'@babel/eslint-parser': 7.24.6(@babel/core@7.24.6)(eslint@9.3.0) '@babel/eslint-parser': 7.24.6(@babel/core@7.24.6)(eslint@9.4.0)
eslint: 9.3.0 eslint: 9.4.0
eslint-config-prettier: 8.10.0(eslint@9.3.0) eslint-config-prettier: 8.10.0(eslint@9.4.0)
eslint-plugin-eslint-comments: 3.2.0(eslint@9.3.0) eslint-plugin-eslint-comments: 3.2.0(eslint@9.4.0)
eslint-plugin-html: 7.1.0 eslint-plugin-html: 7.1.0
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)
eslint-plugin-jsonc: 2.16.0(eslint@9.3.0) eslint-plugin-jsonc: 2.16.0(eslint@9.4.0)
eslint-plugin-markdown: 3.0.1(eslint@9.3.0) eslint-plugin-markdown: 3.0.1(eslint@9.4.0)
eslint-plugin-n: 15.7.0(eslint@9.3.0) eslint-plugin-n: 15.7.0(eslint@9.4.0)
eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@9.3.0))(eslint@9.3.0)(prettier@2.8.8) eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@9.4.0))(eslint@9.4.0)(prettier@2.8.8)
eslint-plugin-promise: 5.2.0(eslint@9.3.0) eslint-plugin-promise: 5.2.0(eslint@9.4.0)
eslint-plugin-tsdoc: 0.2.17 eslint-plugin-tsdoc: 0.2.17
eslint-plugin-unicorn: 45.0.2(eslint@9.3.0) eslint-plugin-unicorn: 45.0.2(eslint@9.4.0)
eslint-plugin-yml: 1.14.0(eslint@9.3.0) eslint-plugin-yml: 1.14.0(eslint@9.4.0)
jsonc-eslint-parser: 2.4.0 jsonc-eslint-parser: 2.4.0
prettier: 2.8.8 prettier: 2.8.8
vue-eslint-parser: 9.4.2(eslint@9.3.0) vue-eslint-parser: 9.4.2(eslint@9.4.0)
yaml-eslint-parser: 1.2.3 yaml-eslint-parser: 1.2.3
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
@ -8350,25 +8351,25 @@ snapshots:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
'@eslint-sets/eslint-config-basic@5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5)': '@eslint-sets/eslint-config-basic@5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)':
dependencies: dependencies:
'@babel/eslint-parser': 7.24.6(@babel/core@7.24.6)(eslint@9.3.0) '@babel/eslint-parser': 7.24.6(@babel/core@7.24.6)(eslint@9.4.0)
eslint: 9.3.0 eslint: 9.4.0
eslint-config-prettier: 9.1.0(eslint@9.3.0) eslint-config-prettier: 9.1.0(eslint@9.4.0)
eslint-plugin-eslint-comments: 3.2.0(eslint@9.3.0) eslint-plugin-eslint-comments: 3.2.0(eslint@9.4.0)
eslint-plugin-html: 7.1.0 eslint-plugin-html: 7.1.0
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)
eslint-plugin-jsonc: 2.16.0(eslint@9.3.0) eslint-plugin-jsonc: 2.16.0(eslint@9.4.0)
eslint-plugin-markdown: 3.0.1(eslint@9.3.0) eslint-plugin-markdown: 3.0.1(eslint@9.4.0)
eslint-plugin-n: 16.6.2(eslint@9.3.0) eslint-plugin-n: 16.6.2(eslint@9.4.0)
eslint-plugin-prettier: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@9.3.0))(eslint@9.3.0)(prettier@2.8.8) eslint-plugin-prettier: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@9.4.0))(eslint@9.4.0)(prettier@2.8.8)
eslint-plugin-promise: 6.2.0(eslint@9.3.0) eslint-plugin-promise: 6.2.0(eslint@9.4.0)
eslint-plugin-tsdoc: 0.2.17 eslint-plugin-tsdoc: 0.2.17
eslint-plugin-unicorn: 40.1.0(eslint@9.3.0) eslint-plugin-unicorn: 40.1.0(eslint@9.4.0)
eslint-plugin-yml: 1.14.0(eslint@9.3.0) eslint-plugin-yml: 1.14.0(eslint@9.4.0)
jsonc-eslint-parser: 2.4.0 jsonc-eslint-parser: 2.4.0
prettier: 2.8.8 prettier: 2.8.8
vue-eslint-parser: 9.4.2(eslint@9.3.0) vue-eslint-parser: 9.4.2(eslint@9.4.0)
yaml-eslint-parser: 1.2.3 yaml-eslint-parser: 1.2.3
optionalDependencies: optionalDependencies:
typescript: 5.4.5 typescript: 5.4.5
@ -8380,14 +8381,14 @@ snapshots:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
'@eslint-sets/eslint-config-ts@3.3.0(@babel/core@7.24.6)(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5)': '@eslint-sets/eslint-config-ts@3.3.0(@babel/core@7.24.6)(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-sets/eslint-config-basic': 3.3.0(@babel/core@7.24.6)(@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(prettier@2.8.8) '@eslint-sets/eslint-config-basic': 3.3.0(@babel/core@7.24.6)(@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(prettier@2.8.8)
'@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/parser': 5.62.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 5.62.0(eslint@9.4.0)(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
eslint-config-prettier: 8.10.0(eslint@9.3.0) eslint-config-prettier: 8.10.0(eslint@9.4.0)
eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@9.3.0))(eslint@9.3.0)(prettier@2.8.8) eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@9.4.0))(eslint@9.4.0)(prettier@2.8.8)
eslint-plugin-tsdoc: 0.2.17 eslint-plugin-tsdoc: 0.2.17
prettier: 2.8.8 prettier: 2.8.8
typescript: 5.4.5 typescript: 5.4.5
@ -8397,14 +8398,14 @@ snapshots:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
'@eslint-sets/eslint-config-ts@5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5)': '@eslint-sets/eslint-config-ts@5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-sets/eslint-config-basic': 5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5) '@eslint-sets/eslint-config-basic': 5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/parser': 6.21.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@9.4.0)(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
eslint-config-prettier: 9.1.0(eslint@9.3.0) eslint-config-prettier: 9.1.0(eslint@9.4.0)
eslint-plugin-prettier: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@9.3.0))(eslint@9.3.0)(prettier@2.8.8) eslint-plugin-prettier: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@9.4.0))(eslint@9.4.0)(prettier@2.8.8)
eslint-plugin-tsdoc: 0.2.17 eslint-plugin-tsdoc: 0.2.17
prettier: 2.8.8 prettier: 2.8.8
optionalDependencies: optionalDependencies:
@ -8416,44 +8417,44 @@ snapshots:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
'@eslint-sets/eslint-config-vue3-ts@3.3.0(@babel/core@7.24.6)(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5)': '@eslint-sets/eslint-config-vue3-ts@3.3.0(@babel/core@7.24.6)(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-sets/eslint-config-ts': 3.3.0(@babel/core@7.24.6)(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5) '@eslint-sets/eslint-config-ts': 3.3.0(@babel/core@7.24.6)(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)
'@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/parser': 5.62.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 5.62.0(eslint@9.4.0)(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
eslint-config-prettier: 8.10.0(eslint@9.3.0) eslint-config-prettier: 8.10.0(eslint@9.4.0)
eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@9.3.0))(eslint@9.3.0)(prettier@2.8.8) eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@9.4.0))(eslint@9.4.0)(prettier@2.8.8)
eslint-plugin-tsdoc: 0.2.17 eslint-plugin-tsdoc: 0.2.17
eslint-plugin-vitest-globals: 1.5.0 eslint-plugin-vitest-globals: 1.5.0
eslint-plugin-vue: 9.26.0(eslint@9.3.0) eslint-plugin-vue: 9.26.0(eslint@9.4.0)
eslint-plugin-vue-scoped-css: 2.8.0(eslint@9.3.0)(vue-eslint-parser@9.4.2(eslint@9.3.0)) eslint-plugin-vue-scoped-css: 2.8.0(eslint@9.4.0)(vue-eslint-parser@9.4.2(eslint@9.4.0))
prettier: 2.8.8 prettier: 2.8.8
typescript: 5.4.5 typescript: 5.4.5
vue-eslint-parser: 9.4.2(eslint@9.3.0) vue-eslint-parser: 9.4.2(eslint@9.4.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
- eslint-import-resolver-typescript - eslint-import-resolver-typescript
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
'@eslint-sets/eslint-config-vue3@5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5)': '@eslint-sets/eslint-config-vue3@5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-sets/eslint-config-basic': 5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5) '@eslint-sets/eslint-config-basic': 5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)
'@eslint-sets/eslint-config-ts': 5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(eslint@9.3.0)(prettier@2.8.8)(typescript@5.4.5) '@eslint-sets/eslint-config-ts': 5.13.0(@babel/core@7.24.6)(@types/eslint@8.56.10)(eslint@9.4.0)(prettier@2.8.8)(typescript@5.4.5)
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/parser': 6.21.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@9.4.0)(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
eslint-config-prettier: 9.1.0(eslint@9.3.0) eslint-config-prettier: 9.1.0(eslint@9.4.0)
eslint-plugin-jsdoc: 48.2.7(eslint@9.3.0) eslint-plugin-jsdoc: 48.2.7(eslint@9.4.0)
eslint-plugin-prettier: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@9.3.0))(eslint@9.3.0)(prettier@2.8.8) eslint-plugin-prettier: 5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@9.4.0))(eslint@9.4.0)(prettier@2.8.8)
eslint-plugin-tsdoc: 0.2.17 eslint-plugin-tsdoc: 0.2.17
eslint-plugin-vitest-globals: 1.5.0 eslint-plugin-vitest-globals: 1.5.0
eslint-plugin-vue: 9.26.0(eslint@9.3.0) eslint-plugin-vue: 9.26.0(eslint@9.4.0)
eslint-plugin-vue-scoped-css: 2.8.0(eslint@9.3.0)(vue-eslint-parser@9.4.2(eslint@9.3.0)) eslint-plugin-vue-scoped-css: 2.8.0(eslint@9.4.0)(vue-eslint-parser@9.4.2(eslint@9.4.0))
local-pkg: 0.5.0 local-pkg: 0.5.0
prettier: 2.8.8 prettier: 2.8.8
vue-eslint-parser: 9.4.2(eslint@9.3.0) vue-eslint-parser: 9.4.2(eslint@9.4.0)
optionalDependencies: optionalDependencies:
typescript: 5.4.5 typescript: 5.4.5
transitivePeerDependencies: transitivePeerDependencies:
@ -8463,6 +8464,14 @@ snapshots:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
'@eslint/config-array@0.15.1':
dependencies:
'@eslint/object-schema': 2.1.3
debug: 4.3.4(supports-color@8.1.1)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
'@eslint/eslintrc@3.1.0': '@eslint/eslintrc@3.1.0':
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
@ -8477,22 +8486,14 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@eslint/js@9.3.0': {} '@eslint/js@9.4.0': {}
'@eslint/object-schema@2.1.3': {}
'@fastify/busboy@2.1.1': {} '@fastify/busboy@2.1.1': {}
'@humanwhocodes/config-array@0.13.0':
dependencies:
'@humanwhocodes/object-schema': 2.0.3
debug: 4.3.4(supports-color@8.1.1)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
'@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/module-importer@1.0.1': {}
'@humanwhocodes/object-schema@2.0.3': {}
'@humanwhocodes/retry@0.3.0': {} '@humanwhocodes/retry@0.3.0': {}
'@img/sharp-darwin-arm64@0.33.4': '@img/sharp-darwin-arm64@0.33.4':
@ -9510,15 +9511,15 @@ snapshots:
dependencies: dependencies:
'@types/yargs-parser': 21.0.3 '@types/yargs-parser': 21.0.3
'@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.10.0 '@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 5.62.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 5.62.0(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/type-utils': 5.62.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/type-utils': 5.62.0(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/utils': 5.62.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/utils': 5.62.0(eslint@9.4.0)(typescript@5.4.5)
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 9.3.0 eslint: 9.4.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.3.1 ignore: 5.3.1
natural-compare-lite: 1.4.0 natural-compare-lite: 1.4.0
@ -9529,16 +9530,16 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.10.0 '@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 6.21.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/scope-manager': 6.21.0
'@typescript-eslint/type-utils': 6.21.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/type-utils': 6.21.0(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/utils': 6.21.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/utils': 6.21.0(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/visitor-keys': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 9.3.0 eslint: 9.4.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.3.1 ignore: 5.3.1
natural-compare: 1.4.0 natural-compare: 1.4.0
@ -9549,26 +9550,26 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/types': 5.62.0 '@typescript-eslint/types': 5.62.0
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 9.3.0 eslint: 9.4.0
optionalDependencies: optionalDependencies:
typescript: 5.4.5 typescript: 5.4.5
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/scope-manager': 6.21.0
'@typescript-eslint/types': 6.21.0 '@typescript-eslint/types': 6.21.0
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5)
'@typescript-eslint/visitor-keys': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 9.3.0 eslint: 9.4.0
optionalDependencies: optionalDependencies:
typescript: 5.4.5 typescript: 5.4.5
transitivePeerDependencies: transitivePeerDependencies:
@ -9584,24 +9585,24 @@ snapshots:
'@typescript-eslint/types': 6.21.0 '@typescript-eslint/types': 6.21.0
'@typescript-eslint/visitor-keys': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0
'@typescript-eslint/type-utils@5.62.0(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/type-utils@5.62.0(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
'@typescript-eslint/utils': 5.62.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/utils': 5.62.0(eslint@9.4.0)(typescript@5.4.5)
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 9.3.0 eslint: 9.4.0
tsutils: 3.21.0(typescript@5.4.5) tsutils: 3.21.0(typescript@5.4.5)
optionalDependencies: optionalDependencies:
typescript: 5.4.5 typescript: 5.4.5
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/type-utils@6.21.0(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/type-utils@6.21.0(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5)
'@typescript-eslint/utils': 6.21.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/utils': 6.21.0(eslint@9.4.0)(typescript@5.4.5)
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 9.3.0 eslint: 9.4.0
ts-api-utils: 1.3.0(typescript@5.4.5) ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies: optionalDependencies:
typescript: 5.4.5 typescript: 5.4.5
@ -9643,30 +9644,30 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/utils@5.62.0(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/utils@5.62.0(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
'@types/semver': 7.5.8 '@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/types': 5.62.0 '@typescript-eslint/types': 5.62.0
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
eslint-scope: 5.1.1 eslint-scope: 5.1.1
semver: 7.6.2 semver: 7.6.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- typescript - typescript
'@typescript-eslint/utils@6.21.0(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/utils@6.21.0(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
'@types/semver': 7.5.8 '@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/scope-manager': 6.21.0
'@typescript-eslint/types': 6.21.0 '@typescript-eslint/types': 6.21.0
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
semver: 7.6.2 semver: 7.6.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -9878,7 +9879,7 @@ snapshots:
acorn@8.11.3: {} acorn@8.11.3: {}
adm-zip@0.5.10: {} adm-zip@0.5.13: {}
agent-base@7.1.1: agent-base@7.1.1:
dependencies: dependencies:
@ -11143,18 +11144,18 @@ snapshots:
escape-string-regexp@5.0.0: {} escape-string-regexp@5.0.0: {}
eslint-compat-utils@0.5.0(eslint@9.3.0): eslint-compat-utils@0.5.0(eslint@9.4.0):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
semver: 7.6.2 semver: 7.6.2
eslint-config-prettier@8.10.0(eslint@9.3.0): eslint-config-prettier@8.10.0(eslint@9.4.0):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
eslint-config-prettier@9.1.0(eslint@9.3.0): eslint-config-prettier@9.1.0(eslint@9.4.0):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
eslint-formatter-pretty@4.1.0: eslint-formatter-pretty@4.1.0:
dependencies: dependencies:
@ -11175,56 +11176,56 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-module-utils@2.8.1(@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.3.0): eslint-module-utils@2.8.1(@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0):
dependencies: dependencies:
debug: 3.2.7 debug: 3.2.7
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 5.62.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 5.62.0(eslint@9.4.0)(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.3.0): eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0):
dependencies: dependencies:
debug: 3.2.7 debug: 3.2.7
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 6.21.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@9.4.0)(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-es-x@7.6.0(eslint@9.3.0): eslint-plugin-es-x@7.6.0(eslint@9.4.0):
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
'@eslint-community/regexpp': 4.10.0 '@eslint-community/regexpp': 4.10.0
eslint: 9.3.0 eslint: 9.4.0
eslint-compat-utils: 0.5.0(eslint@9.3.0) eslint-compat-utils: 0.5.0(eslint@9.4.0)
eslint-plugin-es@4.1.0(eslint@9.3.0): eslint-plugin-es@4.1.0(eslint@9.4.0):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
eslint-utils: 2.1.0 eslint-utils: 2.1.0
regexpp: 3.2.0 regexpp: 3.2.0
eslint-plugin-eslint-comments@3.2.0(eslint@9.3.0): eslint-plugin-eslint-comments@3.2.0(eslint@9.4.0):
dependencies: dependencies:
escape-string-regexp: 1.0.5 escape-string-regexp: 1.0.5
eslint: 9.3.0 eslint: 9.4.0
ignore: 5.3.1 ignore: 5.3.1
eslint-plugin-file-progress@1.4.0(eslint@9.3.0): eslint-plugin-file-progress@1.4.0(eslint@9.4.0):
dependencies: dependencies:
chalk: 4.1.2 chalk: 4.1.2
eslint: 9.3.0 eslint: 9.4.0
ora: 5.4.1 ora: 5.4.1
eslint-plugin-html@7.1.0: eslint-plugin-html@7.1.0:
dependencies: dependencies:
htmlparser2: 8.0.2 htmlparser2: 8.0.2
eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0): eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0):
dependencies: dependencies:
array-includes: 3.1.8 array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5 array.prototype.findlastindex: 1.2.5
@ -11232,9 +11233,9 @@ snapshots:
array.prototype.flatmap: 1.3.2 array.prototype.flatmap: 1.3.2
debug: 3.2.7 debug: 3.2.7
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 9.3.0 eslint: 9.4.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.62.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.3.0) eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.62.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0)
hasown: 2.0.2 hasown: 2.0.2
is-core-module: 2.13.1 is-core-module: 2.13.1
is-glob: 4.0.3 is-glob: 4.0.3
@ -11245,13 +11246,13 @@ snapshots:
semver: 6.3.1 semver: 6.3.1
tsconfig-paths: 3.15.0 tsconfig-paths: 3.15.0
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 5.62.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 5.62.0(eslint@9.4.0)(typescript@5.4.5)
transitivePeerDependencies: transitivePeerDependencies:
- eslint-import-resolver-typescript - eslint-import-resolver-typescript
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0): eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0):
dependencies: dependencies:
array-includes: 3.1.8 array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5 array.prototype.findlastindex: 1.2.5
@ -11259,9 +11260,9 @@ snapshots:
array.prototype.flatmap: 1.3.2 array.prototype.flatmap: 1.3.2
debug: 3.2.7 debug: 3.2.7
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 9.3.0 eslint: 9.4.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.3.0) eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.4.0)
hasown: 2.0.2 hasown: 2.0.2
is-core-module: 2.13.1 is-core-module: 2.13.1
is-glob: 4.0.3 is-glob: 4.0.3
@ -11272,62 +11273,62 @@ snapshots:
semver: 6.3.1 semver: 6.3.1
tsconfig-paths: 3.15.0 tsconfig-paths: 3.15.0
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 6.21.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@9.4.0)(typescript@5.4.5)
transitivePeerDependencies: transitivePeerDependencies:
- eslint-import-resolver-typescript - eslint-import-resolver-typescript
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
eslint-plugin-jsdoc@48.2.7(eslint@9.3.0): eslint-plugin-jsdoc@48.2.7(eslint@9.4.0):
dependencies: dependencies:
'@es-joy/jsdoccomment': 0.43.1 '@es-joy/jsdoccomment': 0.43.1
are-docs-informative: 0.0.2 are-docs-informative: 0.0.2
comment-parser: 1.4.1 comment-parser: 1.4.1
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint: 9.3.0 eslint: 9.4.0
esquery: 1.5.0 esquery: 1.5.0
semver: 7.6.2 semver: 7.6.2
spdx-expression-parse: 4.0.0 spdx-expression-parse: 4.0.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-jsonc@2.16.0(eslint@9.3.0): eslint-plugin-jsonc@2.16.0(eslint@9.4.0):
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
eslint: 9.3.0 eslint: 9.4.0
eslint-compat-utils: 0.5.0(eslint@9.3.0) eslint-compat-utils: 0.5.0(eslint@9.4.0)
espree: 9.6.1 espree: 9.6.1
graphemer: 1.4.0 graphemer: 1.4.0
jsonc-eslint-parser: 2.4.0 jsonc-eslint-parser: 2.4.0
natural-compare: 1.4.0 natural-compare: 1.4.0
synckit: 0.6.2 synckit: 0.6.2
eslint-plugin-markdown@3.0.1(eslint@9.3.0): eslint-plugin-markdown@3.0.1(eslint@9.4.0):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
mdast-util-from-markdown: 0.8.5 mdast-util-from-markdown: 0.8.5
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-n@15.7.0(eslint@9.3.0): eslint-plugin-n@15.7.0(eslint@9.4.0):
dependencies: dependencies:
builtins: 5.1.0 builtins: 5.1.0
eslint: 9.3.0 eslint: 9.4.0
eslint-plugin-es: 4.1.0(eslint@9.3.0) eslint-plugin-es: 4.1.0(eslint@9.4.0)
eslint-utils: 3.0.0(eslint@9.3.0) eslint-utils: 3.0.0(eslint@9.4.0)
ignore: 5.3.1 ignore: 5.3.1
is-core-module: 2.13.1 is-core-module: 2.13.1
minimatch: 3.1.2 minimatch: 3.1.2
resolve: 1.22.8 resolve: 1.22.8
semver: 7.6.2 semver: 7.6.2
eslint-plugin-n@16.6.2(eslint@9.3.0): eslint-plugin-n@16.6.2(eslint@9.4.0):
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
builtins: 5.1.0 builtins: 5.1.0
eslint: 9.3.0 eslint: 9.4.0
eslint-plugin-es-x: 7.6.0(eslint@9.3.0) eslint-plugin-es-x: 7.6.0(eslint@9.4.0)
get-tsconfig: 4.7.5 get-tsconfig: 4.7.5
globals: 13.24.0 globals: 13.24.0
ignore: 5.3.1 ignore: 5.3.1
@ -11337,44 +11338,44 @@ snapshots:
resolve: 1.22.8 resolve: 1.22.8
semver: 7.6.2 semver: 7.6.2
eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0(eslint@9.3.0))(eslint@9.3.0)(prettier@2.8.8): eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0(eslint@9.4.0))(eslint@9.4.0)(prettier@2.8.8):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
prettier: 2.8.8 prettier: 2.8.8
prettier-linter-helpers: 1.0.0 prettier-linter-helpers: 1.0.0
optionalDependencies: optionalDependencies:
eslint-config-prettier: 8.10.0(eslint@9.3.0) eslint-config-prettier: 8.10.0(eslint@9.4.0)
eslint-plugin-prettier@5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@9.3.0))(eslint@9.3.0)(prettier@2.8.8): eslint-plugin-prettier@5.1.3(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@9.4.0))(eslint@9.4.0)(prettier@2.8.8):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
prettier: 2.8.8 prettier: 2.8.8
prettier-linter-helpers: 1.0.0 prettier-linter-helpers: 1.0.0
synckit: 0.8.8 synckit: 0.8.8
optionalDependencies: optionalDependencies:
'@types/eslint': 8.56.10 '@types/eslint': 8.56.10
eslint-config-prettier: 9.1.0(eslint@9.3.0) eslint-config-prettier: 9.1.0(eslint@9.4.0)
eslint-plugin-promise@5.2.0(eslint@9.3.0): eslint-plugin-promise@5.2.0(eslint@9.4.0):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
eslint-plugin-promise@6.2.0(eslint@9.3.0): eslint-plugin-promise@6.2.0(eslint@9.4.0):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
eslint-plugin-tsdoc@0.2.17: eslint-plugin-tsdoc@0.2.17:
dependencies: dependencies:
'@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc': 0.14.2
'@microsoft/tsdoc-config': 0.16.2 '@microsoft/tsdoc-config': 0.16.2
eslint-plugin-unicorn@40.1.0(eslint@9.3.0): eslint-plugin-unicorn@40.1.0(eslint@9.4.0):
dependencies: dependencies:
'@babel/helper-validator-identifier': 7.24.6 '@babel/helper-validator-identifier': 7.24.6
ci-info: 3.9.0 ci-info: 3.9.0
clean-regexp: 1.0.0 clean-regexp: 1.0.0
eslint: 9.3.0 eslint: 9.4.0
eslint-utils: 3.0.0(eslint@9.3.0) eslint-utils: 3.0.0(eslint@9.4.0)
esquery: 1.5.0 esquery: 1.5.0
indent-string: 4.0.0 indent-string: 4.0.0
is-builtin-module: 3.2.1 is-builtin-module: 3.2.1
@ -11386,13 +11387,13 @@ snapshots:
semver: 7.6.2 semver: 7.6.2
strip-indent: 3.0.0 strip-indent: 3.0.0
eslint-plugin-unicorn@45.0.2(eslint@9.3.0): eslint-plugin-unicorn@45.0.2(eslint@9.4.0):
dependencies: dependencies:
'@babel/helper-validator-identifier': 7.24.6 '@babel/helper-validator-identifier': 7.24.6
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
ci-info: 3.9.0 ci-info: 3.9.0
clean-regexp: 1.0.0 clean-regexp: 1.0.0
eslint: 9.3.0 eslint: 9.4.0
esquery: 1.5.0 esquery: 1.5.0
indent-string: 4.0.0 indent-string: 4.0.0
is-builtin-module: 3.2.1 is-builtin-module: 3.2.1
@ -11408,40 +11409,40 @@ snapshots:
eslint-plugin-vitest-globals@1.5.0: {} eslint-plugin-vitest-globals@1.5.0: {}
eslint-plugin-vue-scoped-css@2.8.0(eslint@9.3.0)(vue-eslint-parser@9.4.2(eslint@9.3.0)): eslint-plugin-vue-scoped-css@2.8.0(eslint@9.4.0)(vue-eslint-parser@9.4.2(eslint@9.4.0)):
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
eslint: 9.3.0 eslint: 9.4.0
eslint-compat-utils: 0.5.0(eslint@9.3.0) eslint-compat-utils: 0.5.0(eslint@9.4.0)
lodash: 4.17.21 lodash: 4.17.21
postcss: 8.4.38 postcss: 8.4.38
postcss-safe-parser: 6.0.0(postcss@8.4.38) postcss-safe-parser: 6.0.0(postcss@8.4.38)
postcss-scss: 4.0.9(postcss@8.4.38) postcss-scss: 4.0.9(postcss@8.4.38)
postcss-selector-parser: 6.1.0 postcss-selector-parser: 6.1.0
postcss-styl: 0.12.3 postcss-styl: 0.12.3
vue-eslint-parser: 9.4.2(eslint@9.3.0) vue-eslint-parser: 9.4.2(eslint@9.4.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-vue@9.26.0(eslint@9.3.0): eslint-plugin-vue@9.26.0(eslint@9.4.0):
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
eslint: 9.3.0 eslint: 9.4.0
globals: 13.24.0 globals: 13.24.0
natural-compare: 1.4.0 natural-compare: 1.4.0
nth-check: 2.1.1 nth-check: 2.1.1
postcss-selector-parser: 6.1.0 postcss-selector-parser: 6.1.0
semver: 7.6.2 semver: 7.6.2
vue-eslint-parser: 9.4.2(eslint@9.3.0) vue-eslint-parser: 9.4.2(eslint@9.4.0)
xml-name-validator: 4.0.0 xml-name-validator: 4.0.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-yml@1.14.0(eslint@9.3.0): eslint-plugin-yml@1.14.0(eslint@9.4.0):
dependencies: dependencies:
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 9.3.0 eslint: 9.4.0
eslint-compat-utils: 0.5.0(eslint@9.3.0) eslint-compat-utils: 0.5.0(eslint@9.4.0)
lodash: 4.17.21 lodash: 4.17.21
natural-compare: 1.4.0 natural-compare: 1.4.0
yaml-eslint-parser: 1.2.3 yaml-eslint-parser: 1.2.3
@ -11469,9 +11470,9 @@ snapshots:
dependencies: dependencies:
eslint-visitor-keys: 1.3.0 eslint-visitor-keys: 1.3.0
eslint-utils@3.0.0(eslint@9.3.0): eslint-utils@3.0.0(eslint@9.4.0):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
eslint-visitor-keys: 2.1.0 eslint-visitor-keys: 2.1.0
eslint-visitor-keys@1.3.0: {} eslint-visitor-keys@1.3.0: {}
@ -11482,13 +11483,13 @@ snapshots:
eslint-visitor-keys@4.0.0: {} eslint-visitor-keys@4.0.0: {}
eslint@9.3.0: eslint@9.4.0:
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
'@eslint-community/regexpp': 4.10.0 '@eslint-community/regexpp': 4.10.0
'@eslint/config-array': 0.15.1
'@eslint/eslintrc': 3.1.0 '@eslint/eslintrc': 3.1.0
'@eslint/js': 9.3.0 '@eslint/js': 9.4.0
'@humanwhocodes/config-array': 0.13.0
'@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.3.0 '@humanwhocodes/retry': 0.3.0
'@nodelib/fs.walk': 1.2.8 '@nodelib/fs.walk': 1.2.8
@ -11929,7 +11930,7 @@ snapshots:
fs.realpath: 1.0.0 fs.realpath: 1.0.0
inflight: 1.0.6 inflight: 1.0.6
inherits: 2.0.4 inherits: 2.0.4
minimatch: 5.0.1 minimatch: 5.1.6
once: 1.4.0 once: 1.4.0
globals@11.12.0: {} globals@11.12.0: {}
@ -13081,7 +13082,7 @@ snapshots:
content-disposition: 0.5.4 content-disposition: 0.5.4
content-type: 1.0.5 content-type: 1.0.5
cookies: 0.8.0 cookies: 0.8.0
debug: 4.3.3 debug: 4.3.4(supports-color@8.1.1)
delegates: 1.0.0 delegates: 1.0.0
depd: 2.0.0 depd: 2.0.0
destroy: 1.2.0 destroy: 1.2.0
@ -15191,10 +15192,10 @@ snapshots:
dependencies: dependencies:
'@types/sortablejs': 1.15.8 '@types/sortablejs': 1.15.8
vue-eslint-parser@9.4.2(eslint@9.3.0): vue-eslint-parser@9.4.2(eslint@9.4.0):
dependencies: dependencies:
debug: 4.3.4(supports-color@8.1.1) debug: 4.3.4(supports-color@8.1.1)
eslint: 9.3.0 eslint: 9.4.0
eslint-scope: 7.2.2 eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
espree: 9.6.1 espree: 9.6.1