feat: initialize workspace with clash-verge-draft and clash-verge-logging crates (#5489)

- Add Cargo.toml for workspace management, including dependencies and profiles.
- Create clash-verge-draft crate with basic structure, including a benchmark for Draft functionality.
- Implement Draft management with shared state and asynchronous modifications.
- Add tests for Draft functionality to ensure correctness.
- Create clash-verge-logging crate for logging utilities with structured log types and macros.
- Update src-tauri to use new crates and remove unnecessary configurations.
- Refactor existing code to utilize the new Draft and logging functionalities.
This commit is contained in:
Tunglies
2025-11-17 11:51:50 +08:00
committed by GitHub
parent 0866b93175
commit 056af768e5
14 changed files with 319 additions and 318 deletions

View File

@@ -1,6 +1,6 @@
use super::CmdResult;
use crate::{cmd::StringifyErr as _, config::IVerge, feat};
use draft::SharedBox;
use clash_verge_draft::SharedBox;
/// 获取Verge配置
#[tauri::command]

View File

@@ -9,8 +9,8 @@ use crate::{
};
use anyhow::{Result, anyhow};
use backoff::{Error as BackoffError, ExponentialBackoff};
use clash_verge_draft::Draft;
use clash_verge_logging::{Type, logging, logging_error};
use draft::Draft;
use smartstring::alias::String;
use std::path::PathBuf;
use tokio::sync::OnceCell;

View File

@@ -4,8 +4,8 @@ use crate::{
module::{auto_backup::AutoBackupManager, lightweight},
};
use anyhow::Result;
use clash_verge_draft::SharedBox;
use clash_verge_logging::{Type, logging, logging_error};
use draft::SharedBox;
use serde_yaml_ng::Mapping;
/// Patch Clash configuration