From 3e5bd01aab6a0f132634f7dff655e9284a2e702b Mon Sep 17 00:00:00 2001 From: MFSGA Date: Fri, 31 Jul 2026 19:32:01 +0800 Subject: [PATCH 1/5] refactor(enhance): remove inactive enhancement integration --- backend/tauri/src/config/core.rs | 194 ++++++++++++++--------------- backend/tauri/src/enhance/chain.rs | 12 +- backend/tauri/src/enhance/mod.rs | 13 +- backend/tauri/src/enhance/utils.rs | 11 +- 4 files changed, 106 insertions(+), 124 deletions(-) diff --git a/backend/tauri/src/config/core.rs b/backend/tauri/src/config/core.rs index 52f10379..c620ab36 100644 --- a/backend/tauri/src/config/core.rs +++ b/backend/tauri/src/config/core.rs @@ -1,84 +1,84 @@ use std::path::PathBuf; - -use anyhow::{Result, anyhow}; -use nyanpasu_utils::runtime::block_on; -use once_cell::sync::OnceCell; - -use crate::{ - config::{ - chimera::IVerge, clash::IClashTemp, draft::Draft, profile::profiles::Profiles, - runtime::IRuntime, - }, - core::state::ManagedState, - enhance, - utils::{dirs, help}, -}; - + +use anyhow::{Result, anyhow}; +use nyanpasu_utils::runtime::block_on; +use once_cell::sync::OnceCell; + +use crate::{ + config::{ + chimera::IVerge, clash::IClashTemp, draft::Draft, profile::profiles::Profiles, + runtime::IRuntime, + }, + core::state::ManagedState, + enhance, + utils::{dirs, help}, +}; + pub const RUNTIME_CONFIG: &str = "clash-config.yaml"; - -/// whole config -pub struct Config { - profiles_config: ManagedState, - verge_config: Draft, - /// 3 - clash_config: Draft, - /// 4 - runtime_config: Draft, -} - -impl Config { - pub fn global() -> &'static Config { - static CONFIG: OnceCell = OnceCell::new(); - - CONFIG.get_or_init(|| Config { - profiles_config: ManagedState::from(Profiles::new()), - verge_config: Draft::from(IVerge::new()), - clash_config: Draft::from(IClashTemp::new()), - runtime_config: Draft::from(IRuntime::new()), - }) - } - - pub fn profiles() -> &'static ManagedState { - &Self::global().profiles_config - } - - pub fn verge() -> Draft { - Self::global().verge_config.clone() - } - - /// 生成配置存好 - pub async fn generate() -> Result<()> { - let (config, exists_keys, postprocessing_outputs) = enhance::enhance().await; - - *Config::runtime().draft() = IRuntime { - config: Some(config), - }; - - Ok(()) - } - - pub fn clash() -> Draft { - Self::global().clash_config.clone() - } - - pub fn runtime() -> Draft { - Self::global().runtime_config.clone() - } - + +/// whole config +pub struct Config { + profiles_config: ManagedState, + verge_config: Draft, + /// 3 + clash_config: Draft, + /// 4 + runtime_config: Draft, +} + +impl Config { + pub fn global() -> &'static Config { + static CONFIG: OnceCell = OnceCell::new(); + + CONFIG.get_or_init(|| Config { + profiles_config: ManagedState::from(Profiles::new()), + verge_config: Draft::from(IVerge::new()), + clash_config: Draft::from(IClashTemp::new()), + runtime_config: Draft::from(IRuntime::new()), + }) + } + + pub fn profiles() -> &'static ManagedState { + &Self::global().profiles_config + } + + pub fn verge() -> Draft { + Self::global().verge_config.clone() + } + + /// 生成配置存好 + pub async fn generate() -> Result<()> { + let (config, _, _) = enhance::enhance().await; + + *Config::runtime().draft() = IRuntime { + config: Some(config), + }; + + Ok(()) + } + + pub fn clash() -> Draft { + Self::global().clash_config.clone() + } + + pub fn runtime() -> Draft { + Self::global().runtime_config.clone() + } + /// 将配置丢到对应的文件中 pub fn generate_file(typ: ConfigType) -> Result { let path = match typ { ConfigType::Run => dirs::app_config_dir()?.join(RUNTIME_CONFIG), ConfigType::Check => Self::create_check_config_path()?, }; - - let runtime = Config::runtime(); - let runtime = runtime.latest(); - let config = runtime - .config - .as_ref() - .ok_or(anyhow!("failed to get runtime config"))?; - + + let runtime = Config::runtime(); + let runtime = runtime.latest(); + let config = runtime + .config + .as_ref() + .ok_or(anyhow!("failed to get runtime config"))?; + help::save_yaml(&path, &config, Some("# Generated by Clash Chimera"))?; Ok(path) } @@ -94,27 +94,27 @@ impl Config { } /// 初始化配置 - pub fn init_config() -> Result<()> { - crate::log_err!(block_on(Self::generate())); - if let Err(err) = Self::generate_file(ConfigType::Run) { - log::error!(target: "app", "{err:?}"); - - let runtime_path = dirs::app_config_dir()?.join(RUNTIME_CONFIG); - // 如果不存在就将默认的clash文件拿过来 - if !runtime_path.exists() { - help::save_yaml( - &runtime_path, - &Config::clash().latest().0, - Some("# Clash Chimera Runtime"), - )?; - } - } - Ok(()) - } -} - -#[derive(Debug)] -pub enum ConfigType { - Run, - Check, -} + pub fn init_config() -> Result<()> { + crate::log_err!(block_on(Self::generate())); + if let Err(err) = Self::generate_file(ConfigType::Run) { + log::error!(target: "app", "{err:?}"); + + let runtime_path = dirs::app_config_dir()?.join(RUNTIME_CONFIG); + // 如果不存在就将默认的clash文件拿过来 + if !runtime_path.exists() { + help::save_yaml( + &runtime_path, + &Config::clash().latest().0, + Some("# Clash Chimera Runtime"), + )?; + } + } + Ok(()) + } +} + +#[derive(Debug)] +pub enum ConfigType { + Run, + Check, +} diff --git a/backend/tauri/src/enhance/chain.rs b/backend/tauri/src/enhance/chain.rs index 30378244..a97c4ea6 100644 --- a/backend/tauri/src/enhance/chain.rs +++ b/backend/tauri/src/enhance/chain.rs @@ -1,7 +1,3 @@ -use indexmap::IndexMap; -use serde::{Deserialize, Serialize}; -use serde_yaml::Mapping; - use crate::{ config::profile::{ item::{Profile, ProfileMetaGetter}, @@ -9,6 +5,8 @@ use crate::{ }, enhance::utils::Logs, }; +use indexmap::IndexMap; +use serde::{Deserialize, Serialize}; #[derive(Default, Debug, Clone, Serialize, Deserialize, specta::Type)] /// 后处理输出 @@ -17,12 +15,6 @@ pub struct PostProcessingOutput { pub scopes: IndexMap>, } -#[derive(Debug, Clone)] -pub enum ChainTypeWrapper { - Merge(Mapping), - // Script(ScriptWrapper), -} - #[derive(Debug, Clone)] pub struct ChainItem { pub uid: String, diff --git a/backend/tauri/src/enhance/mod.rs b/backend/tauri/src/enhance/mod.rs index 14ea3cec..8d76e8cb 100644 --- a/backend/tauri/src/enhance/mod.rs +++ b/backend/tauri/src/enhance/mod.rs @@ -15,8 +15,6 @@ use crate::{ mod chain; /// 3 mod field; -/// 4 -mod script; /// 5 mod tun; /// 2 @@ -28,20 +26,17 @@ pub async fn enhance() -> (Mapping, Vec, PostProcessingOutput) { // config.yaml 的配置 let clash_config = { Config::clash().latest().0.clone() }; - let (clash_core, enable_tun, enable_builtin, enable_filter) = { + let (enable_tun, enable_filter) = { let verge = Config::verge(); let verge = verge.latest(); ( - verge.clash_core, verge.enable_tun_mode.unwrap_or(false), - // todo: will changed to true in the future - verge.enable_builtin_enhanced.unwrap_or(false), verge.enable_clash_fields.unwrap_or(true), ) }; // 从profiles里拿东西· - let (profiles, profile_chain, global_chain, valid) = { + let (profiles, profile_chain, valid) = { let profiles = Config::profiles(); let profiles = profiles.latest(); @@ -75,11 +70,9 @@ pub async fn enhance() -> (Mapping, Vec, PostProcessingOutput) { .map(|(k, v)| (k.to_string(), v)) .collect::>(); - let global_chain = utils::convert_uids_to_scripts(&profiles, &profiles.chain); - let valid = profiles.valid.clone(); - (current_mappings, profile_chain_mapping, global_chain, valid) + (current_mappings, profile_chain_mapping, valid) }; let mut postprocessing_output = PostProcessingOutput::default(); diff --git a/backend/tauri/src/enhance/utils.rs b/backend/tauri/src/enhance/utils.rs index c6cd5979..ed13ac14 100644 --- a/backend/tauri/src/enhance/utils.rs +++ b/backend/tauri/src/enhance/utils.rs @@ -6,7 +6,7 @@ use serde_yaml::Mapping; use crate::{ config::profile::{item_type::ProfileUid, profiles::Profiles}, - enhance::{chain::ChainItem, script::runner::RunnerManager}, + enhance::chain::ChainItem, }; pub fn convert_uids_to_scripts(profiles: &Profiles, uids: &[ProfileUid]) -> Vec { @@ -28,14 +28,11 @@ pub type Logs = Vec<(LogSpan, String)>; /// 处理链 pub async fn process_chain( - mut config: Mapping, - nodes: &[ChainItem], + config: Mapping, + _nodes: &[ChainItem], ) -> (Mapping, IndexMap) { - let mut result_map = IndexMap::new(); - - let mut script_runner = RunnerManager::new(); log::debug!("todo: impl script_runner"); - (config, result_map) + (config, IndexMap::new()) } /// 合并多个配置 From 24de7930c8997933444fd3055147df30dec4cc03 Mon Sep 17 00:00:00 2001 From: MFSGA Date: Fri, 31 Jul 2026 19:32:33 +0800 Subject: [PATCH 2/5] refactor(agent): remove unreachable unknown runtime states --- backend/tauri/src/features/agent/model.rs | 2 -- frontend/interface/src/ipc/bindings.ts | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/backend/tauri/src/features/agent/model.rs b/backend/tauri/src/features/agent/model.rs index 3ae56292..25333750 100644 --- a/backend/tauri/src/features/agent/model.rs +++ b/backend/tauri/src/features/agent/model.rs @@ -17,7 +17,6 @@ pub enum AgentHealth { pub enum AgentCoreState { Running, Stopped, - Unknown, } #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Type)] @@ -26,7 +25,6 @@ pub enum AgentRunType { Normal, Service, Elevated, - Unknown, } #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Type)] diff --git a/frontend/interface/src/ipc/bindings.ts b/frontend/interface/src/ipc/bindings.ts index 97588efd..1e238da8 100644 --- a/frontend/interface/src/ipc/bindings.ts +++ b/frontend/interface/src/ipc/bindings.ts @@ -325,7 +325,7 @@ export type AgentCoreSnapshot = { applied_consistency: AgentAppliedState; }; -export type AgentCoreState = 'running' | 'stopped' | 'unknown'; +export type AgentCoreState = 'running' | 'stopped'; export type AgentFinding = { code: AgentFindingCode; @@ -416,7 +416,7 @@ export type AgentProposal = { export type AgentRoutingMode = 'rule' | 'global' | 'direct'; -export type AgentRunType = 'normal' | 'service' | 'elevated' | 'unknown'; +export type AgentRunType = 'normal' | 'service' | 'elevated'; export type AgentServiceSnapshot = { desired_enabled: boolean; From 4643a92c6115b9b1a4bfd94936cca3b2e6508c28 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 1 Aug 2026 23:09:07 +0000 Subject: [PATCH 3/5] chore(manifest): update manifest [skip ci] --- manifest/version.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest/version.json b/manifest/version.json index 9c360efc..f0fa9c80 100644 --- a/manifest/version.json +++ b/manifest/version.json @@ -2,9 +2,9 @@ "manifest_version": 1, "latest": { "mihomo": "v1.19.29", - "mihomo_alpha": "alpha-7198c9d", + "mihomo_alpha": "alpha-7ac597b", "clash_rs": "v0.10.8", - "chimera_client": "v0.24.2", + "chimera_client": "v0.24.3", "clash_premium": "2023-09-05-gdcc8d87", "clash_rs_alpha": "0.10.8-alpha+sha.2272555" }, @@ -82,5 +82,5 @@ "linux-armv7hf": "clash-rs-armv7-unknown-linux-gnueabihf" } }, - "updated_at": "2026-07-31T23:14:25.581Z" + "updated_at": "2026-08-01T23:09:06.866Z" } From 2abbcdec09db8f0393fb7b8573328473c07cce1b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 2 Aug 2026 23:08:46 +0000 Subject: [PATCH 4/5] chore(manifest): update manifest [skip ci] --- manifest/version.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest/version.json b/manifest/version.json index f0fa9c80..c7b6ce6a 100644 --- a/manifest/version.json +++ b/manifest/version.json @@ -2,7 +2,7 @@ "manifest_version": 1, "latest": { "mihomo": "v1.19.29", - "mihomo_alpha": "alpha-7ac597b", + "mihomo_alpha": "alpha-cd05b74", "clash_rs": "v0.10.8", "chimera_client": "v0.24.3", "clash_premium": "2023-09-05-gdcc8d87", @@ -82,5 +82,5 @@ "linux-armv7hf": "clash-rs-armv7-unknown-linux-gnueabihf" } }, - "updated_at": "2026-08-01T23:09:06.866Z" + "updated_at": "2026-08-02T23:08:46.536Z" } From fc3875ed9c0c3cf51cb1b6f31685378f9dcfed77 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 4 Aug 2026 06:12:15 +0000 Subject: [PATCH 5/5] chore(deps): update dependency shiki to v4.4.1 --- frontend/chimera/package.json | 2 +- pnpm-lock.yaml | 117 ++++++++++++++++++---------------- 2 files changed, 63 insertions(+), 56 deletions(-) diff --git a/frontend/chimera/package.json b/frontend/chimera/package.json index 815e2150..68bd0903 100644 --- a/frontend/chimera/package.json +++ b/frontend/chimera/package.json @@ -86,7 +86,7 @@ "nanoid": "6.0.0", "postcss": "8.5.20", "sass-embedded": "1.100.0", - "shiki": "4.3.1", + "shiki": "4.4.1", "tailwindcss": "4.3.3", "typescript": "7.0.2", "unplugin-icons": "23.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d6a45359..b616f471 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,7 +26,7 @@ importers: version: 21.2.0 '@ianvs/prettier-plugin-sort-imports': specifier: 4.7.1 - version: 4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6) + version: 4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6)(supports-color@10.2.2) '@tauri-apps/cli': specifier: 2.11.4 version: 2.11.4 @@ -56,7 +56,7 @@ importers: version: 2.1.7(prettier@3.9.6) prettier-plugin-tailwindcss: specifier: 0.8.1 - version: 0.8.1(@ianvs/prettier-plugin-sort-imports@4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6))(@prettier/plugin-oxc@0.2.2)(prettier@3.9.6) + version: 0.8.1(@ianvs/prettier-plugin-sort-imports@4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6)(supports-color@10.2.2))(@prettier/plugin-oxc@0.2.2)(prettier@3.9.6) prettier-plugin-toml: specifier: 2.0.6 version: 2.0.6(prettier@3.9.6) @@ -323,8 +323,8 @@ importers: specifier: 1.100.0 version: 1.100.0 shiki: - specifier: 4.3.1 - version: 4.3.1 + specifier: 4.4.1 + version: 4.4.1 tailwindcss: specifier: 4.3.3 version: 4.3.3 @@ -2906,32 +2906,32 @@ packages: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} - '@shikijs/core@4.3.1': - resolution: {integrity: sha512-ANMDxuaPsNMdDC1m4vfvhlDmJweMwkE5XitTwrq2rWHx5jM+dlm4MmHt2PP6t0uejfR77SuhrhJ0zEijIF/uhA==} + '@shikijs/core@4.4.1': + resolution: {integrity: sha512-VeR2CY6Nn9/WbisoYLOQZ7HZOnwTrpBuOw4wExjqLnBCi62BNWynBUO6K2uPIASPFJwAv7cX1fUu+LrPlSstcw==} engines: {node: '>=20'} - '@shikijs/engine-javascript@4.3.1': - resolution: {integrity: sha512-JBItcnPuYq7jVJdZo/vMj94r+szT7XEjHFX+mvFDGSEIbVAXAGyHAHzhbWzpGOwYidCZrErJLLgn2PVeiokHnQ==} + '@shikijs/engine-javascript@4.4.1': + resolution: {integrity: sha512-6U4lJBh8LTvIkEVqRHv/rr3ruwtO6IweFQt1ME1ntHJMGHS+6N86vfYGO1o8c/DtOCTia2lfhdQBtBrps1sDfQ==} engines: {node: '>=20'} - '@shikijs/engine-oniguruma@4.3.1': - resolution: {integrity: sha512-OXyNMzg0pews+msMj4cHeqT4xiYKKvbnn6VbdAXxfoFl3SSx4fJTc8FadECuc5/H9p3BzhNAoAUXKwAu9rWYhg==} + '@shikijs/engine-oniguruma@4.4.1': + resolution: {integrity: sha512-p23RugMKss0r5DAtRJW1yAXUDl60JvhQYV20yuxei//26JyDSJefV3umyWzzwep2weblMnJGDYahuti6XkcMgA==} engines: {node: '>=20'} - '@shikijs/langs@4.3.1': - resolution: {integrity: sha512-m0l9nsDqgBHvbZbk7A0/kXz/impK3uB/c6rAn6Gpg/uPtdZRQ+alsN/17MU5thb68XTj/4DxkZAotrM0GGSpDQ==} + '@shikijs/langs@4.4.1': + resolution: {integrity: sha512-xb2kCMloBCIraIy2fS5MW0t/BxVY3q2nDyQKBoeSeq6KNrQbShHetCFlw2n35fGIJ6t3+hXDLQogP5ir9O9bvA==} engines: {node: '>=20'} - '@shikijs/primitive@4.3.1': - resolution: {integrity: sha512-CXQRQOYy1leqQ8ceTeJdmXv/bsUY++6QyLpXJ94LZAAYj5X2SKRdc5ipguv4NPyGVKItB2PPwUpRNe0Sjh5S1A==} + '@shikijs/primitive@4.4.1': + resolution: {integrity: sha512-ko2OfDoG89YuQ7xL5LtcQiWKb7NIv1Ephb7g48TVU198OzAMLC8lXVEwaJGHK4sUMYrfAGJDqYmNLOLiW/Kz8w==} engines: {node: '>=20'} - '@shikijs/themes@4.3.1': - resolution: {integrity: sha512-dgpoJ4WqNi2yTmizQHBJ5zcX6j2lE6icN/0yt4l1kkf16jrY/pwPLoTb1ETsWMz0OBLf9ZNvwmxft+cH+N9qSA==} + '@shikijs/themes@4.4.1': + resolution: {integrity: sha512-wudOaoFro+/Zl9gQv2W1Ur5XlVduqvTuYLI483Xi0wgc1A+cy1hfB2r6ac6ufBgF+ID7KJEW7L41MHrzQ4wH+w==} engines: {node: '>=20'} - '@shikijs/types@4.3.1': - resolution: {integrity: sha512-CHFxE0jztBIZRHH6gxXE7DXUCFXjReEGxZ/j0rfSLGKZuwp2xBYycEP14875DSa9KLL/6700oxIq6oO6ef9K2g==} + '@shikijs/types@4.4.1': + resolution: {integrity: sha512-GOwCLQDHM5EjGUWNPrhzJbr6JP8V/Dx/CDVkWvbZ1Avw5JFnNUckrgbLmE07qtg4WlW7Q7QFndhjIkeU9XMPvw==} engines: {node: '>=20'} '@shikijs/vscode-textmate@10.0.2': @@ -3476,6 +3476,9 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} + '@types/http-cache-semantics@4.2.0': resolution: {integrity: sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==} @@ -6223,8 +6226,8 @@ packages: resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==} engines: {node: '>= 0.4'} - shiki@4.3.1: - resolution: {integrity: sha512-oR+qDVi2OjX1tmDpyv+3KviX01KzO6Af+0NNnKnsp9491UEGz2YpxTuJboS/6VhYpTdqzmuJBuiTlrAWWJAssw==} + shiki@4.4.1: + resolution: {integrity: sha512-rFP+iYKzjLEIqiMiKANhARqiAbk4deDhWnBtnUO/K0D0dPxMGDH4N0FVfBY/VeI+lPrV4wNGCHQZp7EOr7NNBw==} engines: {node: '>=20'} signal-exit@3.0.7: @@ -6943,7 +6946,7 @@ snapshots: '@babel/helpers': 7.29.7 '@babel/parser': 7.29.7 '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) '@babel/types': 7.29.7 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 @@ -6974,7 +6977,7 @@ snapshots: '@babel/helper-module-imports@7.29.7': dependencies: - '@babel/traverse': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color @@ -6984,7 +6987,7 @@ snapshots: '@babel/core': 7.29.7 '@babel/helper-module-imports': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -7011,7 +7014,7 @@ snapshots: '@babel/parser': 7.29.7 '@babel/types': 7.29.7 - '@babel/traverse@7.29.7': + '@babel/traverse@7.29.7(supports-color@10.2.2)': dependencies: '@babel/code-frame': 7.29.7 '@babel/generator': 7.29.7 @@ -7503,11 +7506,11 @@ snapshots: react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - '@ianvs/prettier-plugin-sort-imports@4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6)': + '@ianvs/prettier-plugin-sort-imports@4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6)(supports-color@10.2.2)': dependencies: '@babel/generator': 7.29.7 '@babel/parser': 7.29.7 - '@babel/traverse': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) '@babel/types': 7.29.7 prettier: 3.9.6 semver: 7.8.5 @@ -9151,43 +9154,43 @@ snapshots: estree-walker: 2.0.2 picomatch: 2.3.2 - '@shikijs/core@4.3.1': + '@shikijs/core@4.4.1': dependencies: - '@shikijs/primitive': 4.3.1 - '@shikijs/types': 4.3.1 + '@shikijs/primitive': 4.4.1 + '@shikijs/types': 4.4.1 '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@4.3.1': + '@shikijs/engine-javascript@4.4.1': dependencies: - '@shikijs/types': 4.3.1 + '@shikijs/types': 4.4.1 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.6 - '@shikijs/engine-oniguruma@4.3.1': + '@shikijs/engine-oniguruma@4.4.1': dependencies: - '@shikijs/types': 4.3.1 + '@shikijs/types': 4.4.1 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@4.3.1': + '@shikijs/langs@4.4.1': dependencies: - '@shikijs/types': 4.3.1 + '@shikijs/types': 4.4.1 - '@shikijs/primitive@4.3.1': + '@shikijs/primitive@4.4.1': dependencies: - '@shikijs/types': 4.3.1 + '@shikijs/types': 4.4.1 '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 - '@shikijs/themes@4.3.1': + '@shikijs/themes@4.4.1': dependencies: - '@shikijs/types': 4.3.1 + '@shikijs/types': 4.4.1 - '@shikijs/types@4.3.1': + '@shikijs/types@4.4.1': dependencies: '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@shikijs/vscode-textmate@10.0.2': {} @@ -9724,6 +9727,10 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/hast@3.0.5': + dependencies: + '@types/unist': 3.0.3 + '@types/http-cache-semantics@4.2.0': {} '@types/js-cookie@3.0.6': {} @@ -9940,7 +9947,7 @@ snapshots: dependencies: '@babel/core': 7.29.7 '@babel/parser': 7.29.7 - '@babel/traverse': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) '@babel/types': 7.29.7 transitivePeerDependencies: - supports-color @@ -12029,17 +12036,17 @@ snapshots: prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6): dependencies: - '@babel/traverse': 7.29.7 + '@babel/traverse': 7.29.7(supports-color@10.2.2) content-tag: 4.2.0 prettier: 3.9.6 transitivePeerDependencies: - supports-color - prettier-plugin-tailwindcss@0.8.1(@ianvs/prettier-plugin-sort-imports@4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6))(@prettier/plugin-oxc@0.2.2)(prettier@3.9.6): + prettier-plugin-tailwindcss@0.8.1(@ianvs/prettier-plugin-sort-imports@4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6)(supports-color@10.2.2))(@prettier/plugin-oxc@0.2.2)(prettier@3.9.6): dependencies: prettier: 3.9.6 optionalDependencies: - '@ianvs/prettier-plugin-sort-imports': 4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6) + '@ianvs/prettier-plugin-sort-imports': 4.7.1(@prettier/plugin-oxc@0.2.2)(content-tag@4.2.0)(prettier-plugin-ember-template-tag@2.1.7(prettier@3.9.6))(prettier@3.9.6)(supports-color@10.2.2) '@prettier/plugin-oxc': 0.2.2 prettier-plugin-toml@2.0.6(prettier@3.9.6): @@ -12565,16 +12572,16 @@ snapshots: shell-quote@1.8.4: {} - shiki@4.3.1: + shiki@4.4.1: dependencies: - '@shikijs/core': 4.3.1 - '@shikijs/engine-javascript': 4.3.1 - '@shikijs/engine-oniguruma': 4.3.1 - '@shikijs/langs': 4.3.1 - '@shikijs/themes': 4.3.1 - '@shikijs/types': 4.3.1 + '@shikijs/core': 4.4.1 + '@shikijs/engine-javascript': 4.4.1 + '@shikijs/engine-oniguruma': 4.4.1 + '@shikijs/langs': 4.4.1 + '@shikijs/themes': 4.4.1 + '@shikijs/types': 4.4.1 '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 signal-exit@3.0.7: {}