🐛 fix: idk
This commit is contained in:
parent
b801963c42
commit
046118c6af
12 changed files with 197 additions and 161 deletions
|
|
@ -39,13 +39,13 @@ tauri-plugin-updater = { version = "2.0.0-beta", features = [ "rustls-tls" ] }
|
|||
# rspc is updated on the v0.x branch
|
||||
rspc = { git = "https://github.com/oscartbeaumont/rspc", rev = "9e56e7f5161043f1834594e38bb2bdcdb485d57a", features = [ "specta2" ] }
|
||||
# specta is updated on the main branch
|
||||
specta = { git = "https://github.com/oscartbeaumont/specta", rev = "13fd87c6a1e5c64f296ff76f113314ed6a3fe685", features = [
|
||||
specta = { git = "https://github.com/oscartbeaumont/specta", rev = "d13ce97b70766c2681b63c80daf431c2bf4d255c", features = [
|
||||
"chrono",
|
||||
"uuid",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"derive",
|
||||
"function"
|
||||
# "derive",
|
||||
# "function",
|
||||
] }
|
||||
# tauri-specta is updated via crates.io
|
||||
tauri-specta = { git = "https://github.com/oscartbeaumont/tauri-specta", rev = "a49885967adc01c80e33962e3ecac25fe7497839", features = [
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
"@leeoniya/ufuzzy": "^1.0.14",
|
||||
"@onelauncher/client": "workspace:*",
|
||||
"@rspc/client": "^0.2.3",
|
||||
"@rspc/solid": "^0.2.1",
|
||||
"@rspc/solid-query": "^0.2.3",
|
||||
"@rspc/tauri": "^0.2.0",
|
||||
"@solid-primitives/refs": "^1.0.8",
|
||||
"@solidjs/router": "^0.14.1",
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ use crate::proxy::ClusterPayloadType;
|
|||
pub use crate::store::{Cluster, ClusterPath, JavaOptions, PackageData, State};
|
||||
use crate::utils::io::{self, canonicalize};
|
||||
use crate::{cluster, package};
|
||||
use anyhow::anyhow;
|
||||
use interpulse::api::modded::LoaderVersion;
|
||||
use std::path::PathBuf;
|
||||
|
||||
|
|
@ -223,13 +222,11 @@ pub(crate) async fn get_loader_version(
|
|||
Loader::Fabric => &metadata.fabric,
|
||||
Loader::Quilt => &metadata.quilt,
|
||||
Loader::NeoForge => &metadata.neoforge,
|
||||
Loader::LegacyFabric => &metadata.legacy_fabric,
|
||||
// Loader::LegacyFabric => &metadata.legacy_fabric,
|
||||
_ => return Err(CreateClusterError::MissingManifest(loader.to_string()).into()),
|
||||
};
|
||||
|
||||
let loader_meta = loader_meta
|
||||
.to_owned()
|
||||
.ok_or(anyhow!("missing loader meta"))?;
|
||||
let loader_meta = loader_meta.to_owned();
|
||||
|
||||
let loaders = &loader_meta
|
||||
.game_versions
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ use std::future::Future;
|
|||
use std::path::{Path, PathBuf};
|
||||
use std::sync::Arc;
|
||||
|
||||
use anyhow::anyhow;
|
||||
use tokio::process::Command;
|
||||
use tokio::sync::RwLock;
|
||||
|
||||
|
|
@ -312,10 +311,7 @@ pub async fn get_optimal_java_version(path: &ClusterPath) -> crate::Result<Optio
|
|||
let state = State::get().await?;
|
||||
if let Some(cluster) = get(path, None).await? {
|
||||
let metadata = state.metadata.read().await;
|
||||
let minecraft_metadata = metadata
|
||||
.minecraft
|
||||
.to_owned()
|
||||
.ok_or(anyhow!("misisng minecraft metadata"))?;
|
||||
let minecraft_metadata = metadata.minecraft.to_owned();
|
||||
|
||||
let version = minecraft_metadata
|
||||
.versions
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
//! Metadata management interface
|
||||
|
||||
use crate::State;
|
||||
use anyhow::anyhow;
|
||||
pub use interpulse::api::minecraft::VersionManifest;
|
||||
pub use interpulse::api::modded::Manifest;
|
||||
|
||||
|
|
@ -14,8 +13,7 @@ pub async fn get_minecraft_versions() -> crate::Result<VersionManifest> {
|
|||
.read()
|
||||
.await
|
||||
.minecraft
|
||||
.clone()
|
||||
.ok_or(anyhow!("missing minecraft metadata"))?;
|
||||
.clone();
|
||||
|
||||
Ok(meta)
|
||||
}
|
||||
|
|
@ -29,8 +27,7 @@ pub async fn get_fabric_versions() -> crate::Result<Manifest> {
|
|||
.read()
|
||||
.await
|
||||
.fabric
|
||||
.clone()
|
||||
.ok_or(anyhow!("missing fabric metadata"))?;
|
||||
.clone();
|
||||
|
||||
Ok(meta)
|
||||
}
|
||||
|
|
@ -44,8 +41,7 @@ pub async fn get_quilt_versions() -> crate::Result<Manifest> {
|
|||
.read()
|
||||
.await
|
||||
.quilt
|
||||
.clone()
|
||||
.ok_or(anyhow!("missing quilt metadata"))?;
|
||||
.clone();
|
||||
|
||||
Ok(meta)
|
||||
}
|
||||
|
|
@ -59,8 +55,7 @@ pub async fn get_forge_versions() -> crate::Result<Manifest> {
|
|||
.read()
|
||||
.await
|
||||
.forge
|
||||
.clone()
|
||||
.ok_or(anyhow!("missing forge metadata"))?;
|
||||
.clone();
|
||||
|
||||
Ok(meta)
|
||||
}
|
||||
|
|
@ -74,23 +69,22 @@ pub async fn get_neoforge_versions() -> crate::Result<Manifest> {
|
|||
.read()
|
||||
.await
|
||||
.neoforge
|
||||
.clone()
|
||||
.ok_or(anyhow!("missing neoforce metadata"))?;
|
||||
.clone();
|
||||
|
||||
Ok(meta)
|
||||
}
|
||||
|
||||
/// Get a [`Manifest`] for all available Legacy Fabric versions.
|
||||
#[tracing::instrument]
|
||||
pub async fn get_legacy_fabric_versions() -> crate::Result<Manifest> {
|
||||
let state = State::get().await?;
|
||||
let meta = state
|
||||
.metadata
|
||||
.read()
|
||||
.await
|
||||
.legacy_fabric
|
||||
.clone()
|
||||
.ok_or(anyhow!("missing legacyfabric metadata"))?;
|
||||
// /// Get a [`Manifest`] for all available Legacy Fabric versions.
|
||||
// #[tracing::instrument]
|
||||
// pub async fn get_legacy_fabric_versions() -> crate::Result<Manifest> {
|
||||
// let state = State::get().await?;
|
||||
// let meta = state
|
||||
// .metadata
|
||||
// .read()
|
||||
// .await
|
||||
// .legacy_fabric
|
||||
// .clone()
|
||||
// .ok_or(anyhow!("missing legacyfabric metadata"))?;
|
||||
|
||||
Ok(meta)
|
||||
}
|
||||
// Ok(meta)
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -75,10 +75,10 @@ pub async fn download_version_info(
|
|||
"downloading minecraft version info for minecraft version {}",
|
||||
&version_id
|
||||
);
|
||||
let mut info = ip::api::minecraft::fetch_version_info(version).await?;
|
||||
let mut info = fetch_version_info(version, &st.fetch_semaphore).await?;
|
||||
|
||||
if let Some(loader) = loader {
|
||||
let partial = ip::api::modded::fetch_partial_version(&loader.url).await?;
|
||||
let partial = fetch_partial_version(&loader.url, &st.fetch_semaphore).await?;
|
||||
info = ip::api::modded::merge_partial_version(partial, info);
|
||||
}
|
||||
|
||||
|
|
@ -96,6 +96,14 @@ pub async fn download_version_info(
|
|||
Ok(result)
|
||||
}
|
||||
|
||||
pub async fn fetch_version_info(version: &ip::api::minecraft::Version, semaphore: &FetchSemaphore) -> crate::Result<ip::api::minecraft::VersionInfo> {
|
||||
Ok(serde_json::from_slice(&fetch(&version.url, Some(&version.sha1), semaphore).await?)?)
|
||||
}
|
||||
|
||||
pub async fn fetch_partial_version(url: &str, semaphore: &FetchSemaphore) -> crate::Result<ip::api::modded::PartialVersionInfo> {
|
||||
Ok(serde_json::from_slice(&fetch(url, None, semaphore).await?)?)
|
||||
}
|
||||
|
||||
#[tracing::instrument(skip_all)]
|
||||
#[onelauncher_debug::debugger]
|
||||
pub async fn download_assets_index(
|
||||
|
|
@ -117,7 +125,7 @@ pub async fn download_assets_index(
|
|||
.await
|
||||
.and_then(|ref it| Ok(serde_json::from_slice(it)?))
|
||||
} else {
|
||||
let index = ip::api::minecraft::fetch_assets_index(version).await?;
|
||||
let index = fetch_assets_index(version, &st.fetch_semaphore).await?;
|
||||
write(&path, &serde_json::to_vec(&index)?, &st.io_semaphore).await?;
|
||||
tracing::info!("downloaded assets index");
|
||||
Ok(index)
|
||||
|
|
@ -131,6 +139,10 @@ pub async fn download_assets_index(
|
|||
Ok(result)
|
||||
}
|
||||
|
||||
pub async fn fetch_assets_index(version: &ip::api::minecraft::VersionInfo, semaphore: &FetchSemaphore) -> crate::Result<AssetsIndex> {
|
||||
Ok(serde_json::from_slice(&fetch(&version.asset_index.url, Some(&version.asset_index.sha1), semaphore).await?)?)
|
||||
}
|
||||
|
||||
#[tracing::instrument(skip(st, index))]
|
||||
#[onelauncher_debug::debugger]
|
||||
pub async fn download_assets(
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ use crate::store::{
|
|||
};
|
||||
use crate::utils::io::{self, IOError};
|
||||
|
||||
use anyhow::anyhow;
|
||||
use chrono::Utc;
|
||||
use interpulse as ip;
|
||||
use interpulse::api::minecraft::{RuleAction, VersionInfo};
|
||||
|
|
@ -72,10 +71,7 @@ pub async fn install_minecraft(
|
|||
let instance_path = &io::canonicalize(cluster.get_full_path().await?)?;
|
||||
let metadata = state.metadata.read().await;
|
||||
|
||||
let version_manifest = metadata
|
||||
.minecraft
|
||||
.to_owned()
|
||||
.ok_or(anyhow!("missing metadata"))?;
|
||||
let version_manifest = metadata.minecraft.to_owned();
|
||||
|
||||
let version_idx = version_manifest
|
||||
.versions
|
||||
|
|
@ -277,10 +273,7 @@ pub async fn launch_minecraft(
|
|||
let instance_path = cluster.get_full_path().await?;
|
||||
let instance_path = &io::canonicalize(instance_path)?;
|
||||
|
||||
let version_manifest = metadata
|
||||
.minecraft
|
||||
.to_owned()
|
||||
.ok_or(anyhow!("missing minecraft metadata"))?;
|
||||
let version_manifest = metadata.minecraft.to_owned();
|
||||
|
||||
let version_index = version_manifest
|
||||
.versions
|
||||
|
|
|
|||
|
|
@ -1,96 +1,73 @@
|
|||
//! Handles fetching metadata via interpulse.
|
||||
|
||||
use interpulse::api::minecraft::{
|
||||
// fetch_version_manifest,
|
||||
VersionManifest as MinecraftManifest
|
||||
};
|
||||
use interpulse::api::modded::{
|
||||
// fetch_manifest as fetch_modded_manifest,
|
||||
Manifest as ModdedManifest,
|
||||
};
|
||||
use interpulse::api::minecraft::VersionManifest as MinecraftManifest;
|
||||
use interpulse::api::modded::Manifest as ModdedManifest;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::utils::http::{read_json, write, IoSemaphore};
|
||||
use crate::utils::http::{fetch, read_json, write, FetchSemaphore, IoSemaphore};
|
||||
use crate::utils::io::copy;
|
||||
use crate::State;
|
||||
|
||||
use super::Directories;
|
||||
|
||||
/// The metadata url used in production.
|
||||
#[cfg(not(debug_assertions))]
|
||||
/// The metadata url.
|
||||
const METADATA_URL: &str = "https://meta.polyfrost.org";
|
||||
|
||||
/// The metadata url used in development.
|
||||
#[cfg(debug_assertions)]
|
||||
const METADATA_URL: &str = "localhost:5543";
|
||||
|
||||
/// A structure of manifests and metadata fetching utilities.
|
||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||
pub struct Metadata {
|
||||
/// The [`MinecraftManifest`] associated with core Minecraft versions.
|
||||
pub minecraft: Option<MinecraftManifest>,
|
||||
pub minecraft: MinecraftManifest,
|
||||
/// The [`ModdedManifest`] associated with core Fabric versions.
|
||||
pub fabric: Option<ModdedManifest>,
|
||||
pub fabric: ModdedManifest,
|
||||
/// The [`ModdedManifest`] associated with core Quilt versions.
|
||||
pub quilt: Option<ModdedManifest>,
|
||||
pub quilt: ModdedManifest,
|
||||
/// The [`ModdedManifest`] associated with core NeoForge versions.
|
||||
pub neoforge: Option<ModdedManifest>,
|
||||
pub neoforge: ModdedManifest,
|
||||
/// The [`ModdedManifest`] associated with core Forge versions.
|
||||
pub forge: Option<ModdedManifest>,
|
||||
/// The [`ModdedManifest`] associated with core Legacy Fabric versions.
|
||||
pub legacy_fabric: Option<ModdedManifest>,
|
||||
pub forge: ModdedManifest,
|
||||
// /// The [`ModdedManifest`] associated with core Legacy Fabric versions.
|
||||
// pub legacy_fabric: Option<ModdedManifest>,
|
||||
}
|
||||
|
||||
impl Metadata {
|
||||
/// Get the formatted manifest for a specific [`Metadata`] type.
|
||||
fn get_manifest(name: &str) -> String {
|
||||
format!("{METADATA_URL}/{name}/v0/manifest.json")
|
||||
fn get_manifest(name: &str, version: usize) -> String {
|
||||
format!("{METADATA_URL}/{name}/{version}/manifest.json")
|
||||
}
|
||||
|
||||
/// Fetch all available metadata types and get a new [`Metadata`] structure.
|
||||
pub async fn fetch() -> crate::Result<Self> {
|
||||
// let (minecraft, fabric, quilt, neoforge, forge, legacy_fabric) = tokio::try_join! {
|
||||
// async {
|
||||
// let url = Self::get_manifest("minecraft");
|
||||
// fetch_version_manifest(Some(&url)).await
|
||||
// },
|
||||
// async {
|
||||
// let url = Self::get_manifest("fabric");
|
||||
// fetch_modded_manifest(&url).await
|
||||
// },
|
||||
// async {
|
||||
// let url = Self::get_manifest("quilt");
|
||||
// fetch_modded_manifest(&url).await
|
||||
// },
|
||||
// async {
|
||||
// let url = Self::get_manifest("neo");
|
||||
// fetch_modded_manifest(&url).await
|
||||
// },
|
||||
// async {
|
||||
// let url = Self::get_manifest("forge");
|
||||
// fetch_modded_manifest(&url).await
|
||||
// },
|
||||
// async {
|
||||
// let url = Self::get_manifest("legacy-fabric");
|
||||
// fetch_modded_manifest(&url).await
|
||||
// },
|
||||
// }?;
|
||||
let semaphore = &State::get().await?.fetch_semaphore;
|
||||
let (minecraft, fabric, quilt, neoforge, forge) = tokio::try_join! {
|
||||
async {
|
||||
let url = Self::get_manifest("minecraft", interpulse::api::minecraft::CURRENT_FORMAT_VERSION);
|
||||
fetch_version_manifest(Some(&url), semaphore).await
|
||||
},
|
||||
async {
|
||||
let url = Self::get_manifest("fabric", interpulse::api::modded::CURRENT_FABRIC_FORMAT_VERSION);
|
||||
fetch_modded_manifest(&url, semaphore).await
|
||||
},
|
||||
async {
|
||||
let url = Self::get_manifest("quilt", interpulse::api::modded::CURRENT_QUILT_FORMAT_VERSION);
|
||||
fetch_modded_manifest(&url, &semaphore).await
|
||||
},
|
||||
async {
|
||||
let url = Self::get_manifest("neo", interpulse::api::modded::CURRENT_NEOFORGE_FORMAT_VERSION);
|
||||
fetch_modded_manifest(&url, &semaphore).await
|
||||
},
|
||||
async {
|
||||
let url = Self::get_manifest("forge", interpulse::api::modded::CURRENT_FORGE_FORMAT_VERSION);
|
||||
fetch_modded_manifest(&url, &semaphore).await
|
||||
},
|
||||
}?;
|
||||
|
||||
// Ok(Self {
|
||||
// minecraft,
|
||||
// fabric,
|
||||
// quilt,
|
||||
// neoforge,
|
||||
// forge,
|
||||
// legacy_fabric,
|
||||
// })
|
||||
Ok(Self {
|
||||
minecraft: None,
|
||||
fabric: None,
|
||||
quilt: None,
|
||||
neoforge: None,
|
||||
forge: None,
|
||||
legacy_fabric: None,
|
||||
minecraft,
|
||||
fabric,
|
||||
quilt,
|
||||
neoforge,
|
||||
forge,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -187,3 +164,11 @@ impl Metadata {
|
|||
};
|
||||
}
|
||||
}
|
||||
|
||||
async fn fetch_version_manifest(url: Option<&str>, semaphore: &FetchSemaphore) -> crate::Result<MinecraftManifest> {
|
||||
Ok(serde_json::from_slice(&fetch(url.unwrap_or(interpulse::api::minecraft::VERSION_MANIFEST_URL), None, semaphore).await?)?)
|
||||
}
|
||||
|
||||
async fn fetch_modded_manifest(url: &str, semaphore: &FetchSemaphore) -> crate::Result<ModdedManifest> {
|
||||
Ok(serde_json::from_slice(&fetch(url, None, semaphore).await?)?)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
"release:node": "pnpm bumpp -r"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@flowr/eslint-config": "^3.8.6",
|
||||
"@flowr/eslint-config": "^3.8.7",
|
||||
"@types/node": "^20.14.10",
|
||||
"@vitest/ui": "^2.0.2",
|
||||
"bumpp": "^9.4.1",
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
"types": "./src/index.ts",
|
||||
"dependencies": {
|
||||
"@rspc/client": "^0.2.3",
|
||||
"@rspc/solid": "^0.2.1",
|
||||
"@rspc/solid-query": "^0.2.3",
|
||||
"@rspc/tauri": "^0.2.0",
|
||||
"@solid-primitives/deep": "^0.2.9",
|
||||
"@tanstack/solid-query": "^5.51.2",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"tauri": "tsx tauri.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@flowr/utils": "^3.8.6",
|
||||
"@flowr/utils": "^3.8.7",
|
||||
"@iarna/toml": "^2.2.5",
|
||||
"execa": "^9.3.0",
|
||||
"semver": "^7.6.2",
|
||||
|
|
|
|||
147
pnpm-lock.yaml
generated
147
pnpm-lock.yaml
generated
|
|
@ -9,8 +9,8 @@ importers:
|
|||
.:
|
||||
devDependencies:
|
||||
'@flowr/eslint-config':
|
||||
specifier: ^3.8.6
|
||||
version: 3.8.6(@unocss/eslint-plugin@0.61.3(eslint@9.7.0)(typescript@5.5.3))(eslint-plugin-solid@0.14.1(eslint@9.7.0)(typescript@5.5.3))(eslint-plugin-vue@9.27.0(eslint@9.7.0))(eslint-processor-vue-blocks@0.1.2(eslint@9.7.0))(eslint@9.7.0)(typescript@5.5.3)(vitest@2.0.2(@types/node@20.14.10)(@vitest/ui@2.0.2)(jsdom@24.1.0)(sass@1.77.8))(vue-eslint-parser@9.4.3(eslint@9.7.0))
|
||||
specifier: ^3.8.7
|
||||
version: 3.8.7(@unocss/eslint-plugin@0.61.3(eslint@9.7.0)(typescript@5.5.3))(eslint-plugin-solid@0.14.1(eslint@9.7.0)(typescript@5.5.3))(eslint-plugin-vue@9.27.0(eslint@9.7.0))(eslint-processor-vue-blocks@0.1.2(eslint@9.7.0))(eslint@9.7.0)(typescript@5.5.3)(vitest@2.0.2(@types/node@20.14.10)(@vitest/ui@2.0.2)(jsdom@24.1.0)(sass@1.77.8))(vue-eslint-parser@9.4.3(eslint@9.7.0))
|
||||
'@types/node':
|
||||
specifier: ^20.14.10
|
||||
version: 20.14.10
|
||||
|
|
@ -59,9 +59,9 @@ importers:
|
|||
'@rspc/client':
|
||||
specifier: ^0.2.3
|
||||
version: 0.2.3
|
||||
'@rspc/solid':
|
||||
specifier: ^0.2.1
|
||||
version: 0.2.1(@tanstack/solid-query@5.51.2(solid-js@1.8.18))(solid-js@1.8.18)
|
||||
'@rspc/solid-query':
|
||||
specifier: ^0.2.3
|
||||
version: 0.2.3(@tanstack/solid-query@5.51.2(solid-js@1.8.18))(solid-js@1.8.18)
|
||||
'@rspc/tauri':
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.0(@tauri-apps/api@2.0.0-beta.14)
|
||||
|
|
@ -144,9 +144,9 @@ importers:
|
|||
'@rspc/client':
|
||||
specifier: ^0.2.3
|
||||
version: 0.2.3
|
||||
'@rspc/solid':
|
||||
specifier: ^0.2.1
|
||||
version: 0.2.1(@tanstack/solid-query@5.51.2(solid-js@1.8.18))(solid-js@1.8.18)
|
||||
'@rspc/solid-query':
|
||||
specifier: ^0.2.3
|
||||
version: 0.2.3(@tanstack/solid-query@5.51.2(solid-js@1.8.18))(solid-js@1.8.18)
|
||||
'@rspc/tauri':
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.0(@tauri-apps/api@2.0.0-beta.15)
|
||||
|
|
@ -172,8 +172,8 @@ importers:
|
|||
packages/scripts:
|
||||
dependencies:
|
||||
'@flowr/utils':
|
||||
specifier: ^3.8.6
|
||||
version: 3.8.6
|
||||
specifier: ^3.8.7
|
||||
version: 3.8.7
|
||||
'@iarna/toml':
|
||||
specifier: ^2.2.5
|
||||
version: 2.2.5
|
||||
|
|
@ -559,8 +559,8 @@ packages:
|
|||
resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@flowr/eslint-config@3.8.6':
|
||||
resolution: {integrity: sha512-ZLUIShis4QuuBh5nkUlgYsjGxAQjMo7b7dd5L78b0jmSwlCuquFtYyt0OJTzFYgSDzmYaoXkWKNSOaPq8aO+/Q==}
|
||||
'@flowr/eslint-config@3.8.7':
|
||||
resolution: {integrity: sha512-OE/lqaN8MSuEsCpWnRvOkTWgpGO+1rQKhmfKEDFV/f+AXUgzdBQqkjxtIQ1xqBG/sOEYwnQAKrFZvopWoFiy6A==}
|
||||
engines: {node: '>=20'}
|
||||
peerDependencies:
|
||||
'@eslint-react/eslint-plugin': ^1.5.8
|
||||
|
|
@ -617,8 +617,8 @@ packages:
|
|||
vue-eslint-parser:
|
||||
optional: true
|
||||
|
||||
'@flowr/utils@3.8.6':
|
||||
resolution: {integrity: sha512-yszQHaoJBHU9vaAK5cOgSZrDRi9QEyWdGNpbSP7jCYlAWa4rBeH6Y1en59y3uNnssm8FJcSM1KS9Bx83lK2wgA==}
|
||||
'@flowr/utils@3.8.7':
|
||||
resolution: {integrity: sha512-MLkaK/+wRSp9GrkwE6QE/ilUeYfWTl+6Satp2UQYeb+o1nMuRvCqYeqdVc0xtbdkAubi7YYKL1XMRFcQphpexg==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
'@fontsource/poppins@5.0.14':
|
||||
|
|
@ -786,20 +786,16 @@ packages:
|
|||
'@rspc/client@0.2.0':
|
||||
resolution: {integrity: sha512-IIOfAk4g+bzbfr3cmvm42EocsjtzMO9CRCc95ZMx9mFh5ixHzP4Na1lun+KipGzsFV1QsmV6uYSBg/4Kpnu9iA==}
|
||||
|
||||
'@rspc/client@0.2.1':
|
||||
resolution: {integrity: sha512-sbZfaddxuK0Cwm65H+PeipB9QUCjkLSGWuZ1WE3Lqca7P0tEH1721kOfaS+7iJCkJ+RoVHy6hnVeus/TRc6hwA==}
|
||||
|
||||
'@rspc/client@0.2.3':
|
||||
resolution: {integrity: sha512-1TfoETE2Tt6vHCwcsu1YVNqStq7z0p6mgsMZxardNwMRBDGnpRMdOxU8Aj0ZmIRGEw1R38SXXlxqk5XeHs+mqQ==}
|
||||
|
||||
'@rspc/query-core@0.2.1':
|
||||
resolution: {integrity: sha512-AQQHeQIddhRCVV1+VOGFpnLKuR7wVZnZMOr1V2QKoI6xHE3XJC55uWGQky45VOQZBH7cXwZuiZ0tAF4ao7RyUA==}
|
||||
'@rspc/query-core@0.2.3':
|
||||
resolution: {integrity: sha512-IvaWGlQNw5gVVTKPz5nhmtzFXA9MpJI7fWZsDSI8o4Z/5zpF1lrUcZIrDloqO1iQPJ76EgmtntUwa52VqvcqrA==}
|
||||
peerDependencies:
|
||||
'@rspc/client': 0.2.1
|
||||
'@rspc/client': 0.2.3
|
||||
|
||||
'@rspc/solid@0.2.1':
|
||||
resolution: {integrity: sha512-Xcc4wUyM0iOmEvc3QfFv4snjwJi3dJPpyBkEBcb12VDmSAUcJAY5/n541wn77U6AGbpqRAbD0OQ1vtVFjGumUw==}
|
||||
deprecated: Please use @rspc/solid-query
|
||||
'@rspc/solid-query@0.2.3':
|
||||
resolution: {integrity: sha512-S+UFwTf5BTeJgWLmiifQLDfVauIGRlTbk7tipd4knuDxrUXPTIyUHVUrPlZMdPTU+HLF4UZBe726jdhh6Q+Mug==}
|
||||
peerDependencies:
|
||||
'@tanstack/solid-query': ^5.0.0
|
||||
solid-js: ^1.0.0
|
||||
|
|
@ -1102,6 +1098,10 @@ packages:
|
|||
resolution: {integrity: sha512-iNxuQ0TMVfFiMJ2al4bGd/mY9+aLtBxnHfo7B2xoVzR6cRFgUdBLlMa//MSIjSmVRpCEqNLQnkxpJb96tFG+xw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/scope-manager@8.0.0-alpha.42':
|
||||
resolution: {integrity: sha512-3nS6VEzxUPEMvqadRaGkjZuL+fsjNf5lCYbvS0IQYzqJl7338yhxvPCraHmXe/xlB08p+5BAd6JYAbkTeSXxJw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/type-utils@8.0.0-alpha.41':
|
||||
resolution: {integrity: sha512-+QIA1z/jrox6bbvqlyqBQjotpevieLTycfiuoKuqGcKoskFZV5Rma51BV8LCJacnOafwJtSi+7b8zDo8OsXUvA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
|
@ -1119,6 +1119,10 @@ packages:
|
|||
resolution: {integrity: sha512-n0P2FP3YC3pD3yoiCf4lHqbUP45xlnOk8HkjB+LtKSUZZWLLJ8k1ZXZtQj7MEX22tytCMj//Bmq403xFuCwfIg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/types@8.0.0-alpha.42':
|
||||
resolution: {integrity: sha512-cvfuxLiSVi6EfsgE/1A07JD67pnv+Grf9YMhGAKUsokIvsMcusLSI1h2On6qoyZghJuFXkH3hiMsg7DtxZBtsw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/typescript-estree@7.16.0':
|
||||
resolution: {integrity: sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
|
|
@ -1137,6 +1141,15 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.0.0-alpha.42':
|
||||
resolution: {integrity: sha512-rIHLylSgsfY5hTE68hd8UXcacZxOq4DWAitRKF8xs33hEBDyxInj4FtUglYU420HvFqyVFtVdB7WEFY4cFQ+iA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/utils@7.16.0':
|
||||
resolution: {integrity: sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
|
|
@ -1149,6 +1162,12 @@ packages:
|
|||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
|
||||
'@typescript-eslint/utils@8.0.0-alpha.42':
|
||||
resolution: {integrity: sha512-ousp9L07jDosMqnayZNF8QOJB2FDZP7lSN2lUI7BknV5B1beUoPizWZl0yDHxrk64ldZu5JoqkhAbOcbPNJu5Q==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
|
||||
'@typescript-eslint/visitor-keys@7.16.0':
|
||||
resolution: {integrity: sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
|
|
@ -1157,6 +1176,10 @@ packages:
|
|||
resolution: {integrity: sha512-uetCAUBVC+YarBdZnWzDDgX11PpAEGV8Cw31I3d1xNrhx6/bJGThKX+holEmd3amMdnr4w/XUKH/4YuQOgtjDA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.0.0-alpha.42':
|
||||
resolution: {integrity: sha512-Bf/BObckzDnCS9AslkTsuH1vU+h4rppUrmPbTbhGlPurmss6Lt/Ft9H8vQ8wXeN8rk0drRhML2Feo6aODLeKdA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@unocss/astro@0.61.3':
|
||||
resolution: {integrity: sha512-VTgO+nm7PW7/VJt1kf1/4qTqMp4X4CdNG1XjYRGmCTONW+yHhFUEC1NAXt7t2wKEvCYSf5ObmjYowr2qM+GafQ==}
|
||||
peerDependencies:
|
||||
|
|
@ -1736,8 +1759,8 @@ packages:
|
|||
vue-eslint-parser:
|
||||
optional: true
|
||||
|
||||
eslint-plugin-petal@3.8.6:
|
||||
resolution: {integrity: sha512-Hb69JOW6n2flEzI1o6BwVlmxZzDg5Omkz515A2kPaAzV3VTOdRTIBGjYqFpGuE5ZBD/sMjdWHlNwfEUansO5EQ==}
|
||||
eslint-plugin-petal@3.8.7:
|
||||
resolution: {integrity: sha512-3TNPJOwA3+5iHoVoZgcfgDBMRW8P3ma4WAXSr2Ct83Pgdd2Ym/lqYDw+HymD8zE5o9LcVdo2b7M/SfrWfbd6CA==}
|
||||
engines: {node: '>=20'}
|
||||
peerDependencies:
|
||||
eslint: '*'
|
||||
|
|
@ -2841,8 +2864,8 @@ packages:
|
|||
resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==}
|
||||
engines: {node: '>=12.20'}
|
||||
|
||||
synckit@0.9.0:
|
||||
resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==}
|
||||
synckit@0.9.1:
|
||||
resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
|
||||
tapable@2.2.1:
|
||||
|
|
@ -3596,7 +3619,7 @@ snapshots:
|
|||
|
||||
'@eslint/object-schema@2.1.4': {}
|
||||
|
||||
'@flowr/eslint-config@3.8.6(@unocss/eslint-plugin@0.61.3(eslint@9.7.0)(typescript@5.5.3))(eslint-plugin-solid@0.14.1(eslint@9.7.0)(typescript@5.5.3))(eslint-plugin-vue@9.27.0(eslint@9.7.0))(eslint-processor-vue-blocks@0.1.2(eslint@9.7.0))(eslint@9.7.0)(typescript@5.5.3)(vitest@2.0.2(@types/node@20.14.10)(@vitest/ui@2.0.2)(jsdom@24.1.0)(sass@1.77.8))(vue-eslint-parser@9.4.3(eslint@9.7.0))':
|
||||
'@flowr/eslint-config@3.8.7(@unocss/eslint-plugin@0.61.3(eslint@9.7.0)(typescript@5.5.3))(eslint-plugin-solid@0.14.1(eslint@9.7.0)(typescript@5.5.3))(eslint-plugin-vue@9.27.0(eslint@9.7.0))(eslint-processor-vue-blocks@0.1.2(eslint@9.7.0))(eslint@9.7.0)(typescript@5.5.3)(vitest@2.0.2(@types/node@20.14.10)(@vitest/ui@2.0.2)(jsdom@24.1.0)(sass@1.77.8))(vue-eslint-parser@9.4.3(eslint@9.7.0))':
|
||||
dependencies:
|
||||
'@antfu/install-pkg': 0.3.3
|
||||
'@clack/prompts': 0.7.0
|
||||
|
|
@ -3614,7 +3637,7 @@ snapshots:
|
|||
eslint-plugin-markdown: 5.1.0(eslint@9.7.0)
|
||||
eslint-plugin-n: 17.9.0(eslint@9.7.0)
|
||||
eslint-plugin-perfectionist: 2.11.0(eslint@9.7.0)(typescript@5.5.3)(vue-eslint-parser@9.4.3(eslint@9.7.0))
|
||||
eslint-plugin-petal: 3.8.6(eslint@9.7.0)
|
||||
eslint-plugin-petal: 3.8.7(eslint@9.7.0)
|
||||
eslint-plugin-regexp: 2.6.0(eslint@9.7.0)
|
||||
eslint-plugin-toml: 0.11.1(eslint@9.7.0)
|
||||
eslint-plugin-unicorn: 54.0.0(eslint@9.7.0)
|
||||
|
|
@ -3640,7 +3663,7 @@ snapshots:
|
|||
- typescript
|
||||
- vitest
|
||||
|
||||
'@flowr/utils@3.8.6': {}
|
||||
'@flowr/utils@3.8.7': {}
|
||||
|
||||
'@fontsource/poppins@5.0.14': {}
|
||||
|
||||
|
|
@ -3775,19 +3798,17 @@ snapshots:
|
|||
|
||||
'@rspc/client@0.2.0': {}
|
||||
|
||||
'@rspc/client@0.2.1': {}
|
||||
|
||||
'@rspc/client@0.2.3': {}
|
||||
|
||||
'@rspc/query-core@0.2.1(@rspc/client@0.2.1)':
|
||||
'@rspc/query-core@0.2.3(@rspc/client@0.2.3)':
|
||||
dependencies:
|
||||
'@rspc/client': 0.2.1
|
||||
'@rspc/client': 0.2.3
|
||||
'@tanstack/query-core': 5.51.1
|
||||
|
||||
'@rspc/solid@0.2.1(@tanstack/solid-query@5.51.2(solid-js@1.8.18))(solid-js@1.8.18)':
|
||||
'@rspc/solid-query@0.2.3(@tanstack/solid-query@5.51.2(solid-js@1.8.18))(solid-js@1.8.18)':
|
||||
dependencies:
|
||||
'@rspc/client': 0.2.1
|
||||
'@rspc/query-core': 0.2.1(@rspc/client@0.2.1)
|
||||
'@rspc/client': 0.2.3
|
||||
'@rspc/query-core': 0.2.3(@rspc/client@0.2.3)
|
||||
'@tanstack/solid-query': 5.51.2(solid-js@1.8.18)
|
||||
solid-js: 1.8.18
|
||||
|
||||
|
|
@ -3865,7 +3886,7 @@ snapshots:
|
|||
'@stylistic/eslint-plugin-plus@2.6.0-beta.0(eslint@9.7.0)(typescript@5.5.3)':
|
||||
dependencies:
|
||||
'@types/eslint': 8.56.10
|
||||
'@typescript-eslint/utils': 8.0.0-alpha.41(eslint@9.7.0)(typescript@5.5.3)
|
||||
'@typescript-eslint/utils': 8.0.0-alpha.42(eslint@9.7.0)(typescript@5.5.3)
|
||||
eslint: 9.7.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
|
@ -3875,7 +3896,7 @@ snapshots:
|
|||
dependencies:
|
||||
'@stylistic/eslint-plugin-js': 2.6.0-beta.0(eslint@9.7.0)
|
||||
'@types/eslint': 8.56.10
|
||||
'@typescript-eslint/utils': 8.0.0-alpha.41(eslint@9.7.0)(typescript@5.5.3)
|
||||
'@typescript-eslint/utils': 8.0.0-alpha.42(eslint@9.7.0)(typescript@5.5.3)
|
||||
eslint: 9.7.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
|
@ -4086,6 +4107,11 @@ snapshots:
|
|||
'@typescript-eslint/types': 8.0.0-alpha.41
|
||||
'@typescript-eslint/visitor-keys': 8.0.0-alpha.41
|
||||
|
||||
'@typescript-eslint/scope-manager@8.0.0-alpha.42':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.0.0-alpha.42
|
||||
'@typescript-eslint/visitor-keys': 8.0.0-alpha.42
|
||||
|
||||
'@typescript-eslint/type-utils@8.0.0-alpha.41(eslint@9.7.0)(typescript@5.5.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 8.0.0-alpha.41(typescript@5.5.3)
|
||||
|
|
@ -4102,6 +4128,8 @@ snapshots:
|
|||
|
||||
'@typescript-eslint/types@8.0.0-alpha.41': {}
|
||||
|
||||
'@typescript-eslint/types@8.0.0-alpha.42': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@7.16.0(typescript@5.5.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.16.0
|
||||
|
|
@ -4132,6 +4160,21 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.0.0-alpha.42(typescript@5.5.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.0.0-alpha.42
|
||||
'@typescript-eslint/visitor-keys': 8.0.0-alpha.42
|
||||
debug: 4.3.5
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.5
|
||||
semver: 7.6.2
|
||||
ts-api-utils: 1.3.0(typescript@5.5.3)
|
||||
optionalDependencies:
|
||||
typescript: 5.5.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@7.16.0(eslint@9.7.0)(typescript@5.5.3)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0)
|
||||
|
|
@ -4154,6 +4197,17 @@ snapshots:
|
|||
- supports-color
|
||||
- typescript
|
||||
|
||||
'@typescript-eslint/utils@8.0.0-alpha.42(eslint@9.7.0)(typescript@5.5.3)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@9.7.0)
|
||||
'@typescript-eslint/scope-manager': 8.0.0-alpha.42
|
||||
'@typescript-eslint/types': 8.0.0-alpha.42
|
||||
'@typescript-eslint/typescript-estree': 8.0.0-alpha.42(typescript@5.5.3)
|
||||
eslint: 9.7.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
'@typescript-eslint/visitor-keys@7.16.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.16.0
|
||||
|
|
@ -4164,6 +4218,11 @@ snapshots:
|
|||
'@typescript-eslint/types': 8.0.0-alpha.41
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.0.0-alpha.42':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.0.0-alpha.42
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@unocss/astro@0.61.3(rollup@4.18.1)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.8))':
|
||||
dependencies:
|
||||
'@unocss/core': 0.61.3
|
||||
|
|
@ -4205,7 +4264,7 @@ snapshots:
|
|||
'@unocss/config': 0.61.3
|
||||
'@unocss/core': 0.61.3
|
||||
magic-string: 0.30.10
|
||||
synckit: 0.9.0
|
||||
synckit: 0.9.1
|
||||
transitivePeerDependencies:
|
||||
- eslint
|
||||
- supports-color
|
||||
|
|
@ -4821,7 +4880,7 @@ snapshots:
|
|||
parse-imports: 2.1.1
|
||||
semver: 7.6.2
|
||||
spdx-expression-parse: 4.0.0
|
||||
synckit: 0.9.0
|
||||
synckit: 0.9.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
|
|
@ -4867,9 +4926,9 @@ snapshots:
|
|||
- supports-color
|
||||
- typescript
|
||||
|
||||
eslint-plugin-petal@3.8.6(eslint@9.7.0):
|
||||
eslint-plugin-petal@3.8.7(eslint@9.7.0):
|
||||
dependencies:
|
||||
'@flowr/utils': 3.8.6
|
||||
'@flowr/utils': 3.8.7
|
||||
eslint: 9.7.0
|
||||
|
||||
eslint-plugin-regexp@2.6.0(eslint@9.7.0):
|
||||
|
|
@ -6020,7 +6079,7 @@ snapshots:
|
|||
dependencies:
|
||||
tslib: 2.6.3
|
||||
|
||||
synckit@0.9.0:
|
||||
synckit@0.9.1:
|
||||
dependencies:
|
||||
'@pkgr/core': 0.1.1
|
||||
tslib: 2.6.3
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue