-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
133 lines (108 loc) · 4.58 KB
/
Copy pathCargo.toml
File metadata and controls
133 lines (108 loc) · 4.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
[workspace]
members = [
"nexterm-proto",
"nexterm-vt",
"nexterm-server",
"nexterm-client-core",
"nexterm-client-tui",
"nexterm-config",
"nexterm-client-gpu",
"nexterm-ctl",
"nexterm-i18n",
"nexterm-ssh",
"nexterm-plugin",
]
# Sprint 3-5: cargo-fuzz は nightly toolchain と独立した libfuzzer-sys 依存を必要とするため
# ワークスペースから除外する(手動で `cargo +nightly fuzz run <target>` を実行)
exclude = [
"nexterm-vt/fuzz",
]
resolver = "2"
[workspace.package]
version = "1.17.1"
edition = "2024"
license = "MIT OR Apache-2.0"
authors = []
repository = "https://github.com/mizu-jun/nexterm"
# 11 クレート共通の lint ポリシー(v1.3.1 までは 12 クレート、nexterm-launcher 削除で 11 に整理)
# 各クレートの Cargo.toml で `[lints] workspace = true` を指定して継承する
[workspace.lints.rust]
unused_must_use = "deny" # Result などの戻り値を無視するのを防ぐ
unsafe_op_in_unsafe_fn = "deny" # unsafe fn 内でも unsafe ブロック必須
[workspace.lints.clippy]
# 開発残骸を CI で検出
todo = "warn"
dbg_macro = "warn"
unimplemented = "warn"
# よくある冗長パターン(既存修正済みのため再発防止)
needless_return = "warn"
[workspace.dependencies]
# 非同期ランタイム
tokio = { version = "1", features = ["full"] }
# PTY 操作(ConPTY / Unix PTY クロスプラットフォーム)
portable-pty = "0.9"
# VT シーケンスパーサ
vte = "0.15"
# シリアライズ
serde = { version = "1", features = ["derive"] }
# Sprint 5-1 / G3: bincode 1.x → postcard 移行 (RUSTSEC-2025-0141 対応)
# postcard は no_std 対応 + varint エンコードでサイズ削減 + `serde` 互換 API。
# `use-std` feature で `to_stdvec` (Vec<u8> 返却) / `from_bytes` を有効化する。
postcard = { version = "1", features = ["use-std"] }
# TUI クライアント(Phase 1)
ratatui = "0.30"
crossterm = "0.28"
# エラーハンドリング
thiserror = "2"
anyhow = "1"
# ログ
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Phase 2: 設定システム
toml = "0.8"
mlua = { version = "0.10", features = ["lua54", "vendored"] }
notify = "6" # ファイル変更監視
# Phase 2: GPU レンダリング
winit = "0.30"
wgpu = "22"
cosmic-text = "0.18"
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }
# Sprint 5-11-1 / H1 PoC: スクリーンリーダー対応(AccessKit クロスプラットフォーム a11y)
# - accesskit: ノードツリー定義(Windows UI Automation / macOS NSAccessibility / Linux AT-SPI2)
# - accesskit_winit: winit 0.30 統合アダプター。`EventLoopProxy<T: From<accesskit_winit::Event>>` 経由で
# 初期ツリー要求・アクション要求・非アクティブ化通知を受け取る
accesskit = "0.24"
accesskit_winit = "0.33"
# Phase 2: スクロールバック検索
regex = "1"
# Phase 2: fuzzy マッチ(コマンドパレット)
fuzzy-matcher = "0.3"
# Phase 3: クリップボード統合
arboard = "3"
# Phase 3: nexterm-ctl CLI 引数パーサ
clap = { version = "4", features = ["derive"] }
clap_complete = "4"
clap_mangen = "0.2"
# セッション永続化(JSON スナップショット)
serde_json = "1"
# Phase 3: CJK 幅計算
unicode-width = "0.2"
# Phase 8: シリアルポート接続
serialport = "4"
# 設定ファイルの構造保持付き編集
toml_edit = "0.22"
# 非ロックなアトミック Arc 差し替え(config ホットリロードで使用)
arc-swap = "1"
# Sprint 4-4: プロパティベーステスト(Sixel/Kitty パーサ・BSP レイアウト用)
# dev-dependencies としてのみ使うため、各クレートで dev-deps に展開する。
proptest = "1"
# F2: plugin host end-to-end integration tests. Compiles WAT (WebAssembly Text)
# fixtures to real WASM binaries at test time via `wat::parse_str`, avoiding a
# wasm32 build toolchain in CI (pure-Rust, works on all 3 OS matrix targets).
# dev-dependencies only; expanded per crate that needs plugin fixtures.
wat = "1"
# Sprint 5-3 / C5: criterion ベンチマーク(VT advance / Sixel デコード / スクロール等)
# dev-dependencies としてのみ使う。`cargo bench -p <crate> --bench <name>` で実行。
# CI ではベンチを走らせず、ローカル / ベンチ専用ジョブのみで使用する想定。
# html_reports は plotters への依存が重いため無効化(コア機能のみ使用)。
criterion = { version = "0.5", default-features = false, features = ["cargo_bench_support"] }