[workspace] resolver = "2" members = [ "crates/erp-core", "crates/erp-server", "crates/erp-auth", "crates/erp-workflow", "crates/erp-message", "crates/erp-config", "crates/erp-server/migration", "crates/erp-plugin-prototype", "crates/erp-plugin-test-sample", "crates/erp-plugin", ] [workspace.package] version = "0.1.0" edition = "2024" license = "MIT" [workspace.dependencies] # Async tokio = { version = "1", features = ["full"] } # Web axum = { version = "0.8", features = ["multipart"] } tower = "0.5" tower-http = { version = "0.6", features = ["cors", "trace", "compression-gzip"] } # Database sea-orm = { version = "1.1", features = [ "sqlx-postgres", "runtime-tokio-rustls", "macros", "with-uuid", "with-chrono", "with-json" ] } sea-orm-migration = { version = "1.1", features = ["sqlx-postgres", "runtime-tokio-rustls"] } # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" # UUID & Time uuid = { version = "1", features = ["v7", "serde"] } chrono = { version = "0.4", features = ["serde"] } # Error handling thiserror = "2" anyhow = "1" # Logging tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } # Config config = "0.14" # Redis redis = { version = "0.27", features = ["tokio-comp", "connection-manager"] } # JWT jsonwebtoken = "9" # Password hashing argon2 = "0.5" # Cryptographic hashing (token storage) sha2 = "0.10" # API docs utoipa = { version = "5", features = ["axum_extras", "uuid", "chrono"] } # utoipa-swagger-ui 需要下载 GitHub 资源,网络受限时暂不使用 # utoipa-swagger-ui = { version = "8", features = ["axum"] } # Validation validator = { version = "0.19", features = ["derive"] } # Async trait async-trait = "0.1" # Internal crates erp-core = { path = "crates/erp-core" } erp-auth = { path = "crates/erp-auth" } erp-workflow = { path = "crates/erp-workflow" } erp-message = { path = "crates/erp-message" } erp-config = { path = "crates/erp-config" } erp-plugin = { path = "crates/erp-plugin" }