Audit and remove unused dependencies, resolve crate duplication, and optimize build performance #39

Merged
gronod merged 1 commits from feature/issue-38-dependency-cleanup-and-build-optimization into development 2026-08-24 10:14:45 +01:00
Owner

Description

Closes #38.

This PR performs a comprehensive audit of dependencies across the Rust backend, NPM packages, and Tauri configuration to remove unused dependencies, eliminate duplicate crate compilation, and optimize CI/CD build performance.

Key Changes

  1. Unused Dependencies Removed:
    • Removed tauri-plugin-opener = "2" from Cargo.toml, src-tauri/src/lib.rs, and capabilities/default.json.
    • Removed unused @tauri-apps/plugin-dialog from package.json.
  2. Crate Feature Slimming & Scoping:
    • Slimmed tokio features to ["process", "io-util", "sync", "time", "rt-multi-thread"], removing async network and socket crates (socket2, etc.).
    • Scoped image crate to Windows targets with features = ["tiff"], eliminating ~35 image decoding crates from Linux and macOS builds.
  3. Windows SDK Unification:
    • Upgraded windows to 0.61 in Cargo.toml to unify with Tauri 2 internals and eliminate duplicate compilation of windows 0.58 and syn v2.
    • Removed unused Win32_Storage_FileSystem feature flag.
    • Updated handle types in windows.rs for windows 0.61 compatibility (PRINTER_HANDLE, Option<HWND>, Option<HDC>).
  4. Build Optimization:
    • Added [profile.release] with panic = "abort", codegen-units = 1, lto = "thin", and strip = true.
  5. Version Bump:
    • Bumped point version from 0.1.3 to 0.1.4 in package.json, Cargo.toml, and tauri.conf.json.
    • Updated package.json name to iccery.

Verification

  • All 28 Rust unit tests passed.
  • cargo tree --duplicates verified zero duplicate windows crates.
### Description Closes #38. This PR performs a comprehensive audit of dependencies across the Rust backend, NPM packages, and Tauri configuration to remove unused dependencies, eliminate duplicate crate compilation, and optimize CI/CD build performance. ### Key Changes 1. **Unused Dependencies Removed**: - Removed `tauri-plugin-opener = "2"` from `Cargo.toml`, `src-tauri/src/lib.rs`, and `capabilities/default.json`. - Removed unused `@tauri-apps/plugin-dialog` from `package.json`. 2. **Crate Feature Slimming & Scoping**: - Slimmed `tokio` features to `["process", "io-util", "sync", "time", "rt-multi-thread"]`, removing async network and socket crates (`socket2`, etc.). - Scoped `image` crate to Windows targets with `features = ["tiff"]`, eliminating ~35 image decoding crates from Linux and macOS builds. 3. **Windows SDK Unification**: - Upgraded `windows` to `0.61` in `Cargo.toml` to unify with Tauri 2 internals and eliminate duplicate compilation of `windows 0.58` and `syn v2`. - Removed unused `Win32_Storage_FileSystem` feature flag. - Updated handle types in `windows.rs` for `windows 0.61` compatibility (`PRINTER_HANDLE`, `Option<HWND>`, `Option<HDC>`). 4. **Build Optimization**: - Added `[profile.release]` with `panic = "abort"`, `codegen-units = 1`, `lto = "thin"`, and `strip = true`. 5. **Version Bump**: - Bumped point version from `0.1.3` to `0.1.4` in `package.json`, `Cargo.toml`, and `tauri.conf.json`. - Updated `package.json` name to `iccery`. ### Verification - All 28 Rust unit tests passed. - `cargo tree --duplicates` verified zero duplicate `windows` crates.
gronod added 1 commit 2026-08-24 09:55:16 +01:00
feat(deps): prune unused dependencies, unify windows crate 0.61, and optimize build (closes #38)
Build Windows Packages / Build Windows (pull_request) Successful in 9m28s
Build Linux Packages / Build Linux (pull_request) Successful in 19m10s
5ca9b38678
gronod merged commit c228652d4b into development 2026-08-24 10:14:45 +01:00
gronod deleted branch feature/issue-38-dependency-cleanup-and-build-optimization 2026-08-24 10:14:45 +01:00
Sign in to join this conversation.