125 lines
6.0 KiB
TOML
125 lines
6.0 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = ["crates/*", "apps/*", "xtask"]
|
|
default-members = ["crates/*", "apps/notescraft", "apps/notescraft-cli", "xtask"]
|
|
|
|
[workspace.package]
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "MIT OR Apache-2.0"
|
|
rust-version = "1.95"
|
|
repository = "https://git.marcospaulo.dev.br/masi/notescraft"
|
|
|
|
[workspace.dependencies]
|
|
craft-ui = { git = "https://git.marcospaulo.dev.br/masi/craft-libs", rev = "7fcee66b8eef8eac3c7644fd024e1f1b051f5a3e", features = ["serde"] }
|
|
craft-atomic = { git = "https://git.marcospaulo.dev.br/masi/craft-libs", rev = "7fcee66b8eef8eac3c7644fd024e1f1b051f5a3e" }
|
|
craft-settings = { git = "https://git.marcospaulo.dev.br/masi/craft-libs", rev = "7fcee66b8eef8eac3c7644fd024e1f1b051f5a3e" }
|
|
craft-quit = { git = "https://git.marcospaulo.dev.br/masi/craft-libs", rev = "7fcee66b8eef8eac3c7644fd024e1f1b051f5a3e" }
|
|
craft-print = { git = "https://git.marcospaulo.dev.br/masi/craft-libs", rev = "7fcee66b8eef8eac3c7644fd024e1f1b051f5a3e" }
|
|
|
|
# internal
|
|
notescraft-vault = { path = "crates/vault" }
|
|
notescraft-git = { path = "crates/git" }
|
|
notescraft-vim = { path = "crates/vim" }
|
|
notescraft-math = { path = "crates/math" }
|
|
notescraft-lottie = { path = "crates/lottie" }
|
|
notescraft-acp = { path = "crates/acp" }
|
|
notescraft-pdf = { path = "crates/pdf" }
|
|
notescraft-markdown = { path = "crates/markdown" }
|
|
notescraft-syntax = { path = "crates/syntax" }
|
|
notescraft-regex = { path = "crates/regex" }
|
|
notescraft-index = { path = "crates/index" }
|
|
notescraft-backlinks = { path = "crates/backlinks" }
|
|
notescraft-blocks = { path = "crates/blocks" }
|
|
notescraft-knowledge = { path = "crates/knowledge" }
|
|
notescraft-lint = { path = "crates/lint" }
|
|
notescraft-canvas = { path = "crates/canvas" }
|
|
notescraft-graph = { path = "crates/graph" }
|
|
notescraft-bases = { path = "crates/bases" }
|
|
notescraft-templates = { path = "crates/templates" }
|
|
notescraft-sync = { path = "crates/sync" }
|
|
notescraft-collab = { path = "crates/collab" }
|
|
notescraft-annotate = { path = "crates/annotate" }
|
|
notescraft-calendar = { path = "crates/calendar" }
|
|
notescraft-tasks = { path = "crates/tasks" }
|
|
notescraft-textdiff = { path = "crates/textdiff" }
|
|
notescraft-htmlmd = { path = "crates/htmlmd" }
|
|
notescraft-srs = { path = "crates/srs" }
|
|
notescraft-templater = { path = "crates/templater" }
|
|
notescraft-plugins = { path = "crates/plugins" }
|
|
notescraft-themes = { path = "crates/themes" }
|
|
notescraft-engine = { path = "crates/engine" }
|
|
notescraft-editor = { path = "crates/editor" }
|
|
notescraft-ui-egui = { path = "crates/ui-egui" }
|
|
notescraft-mcp = { path = "crates/mcp" }
|
|
notescraft-i18n = { path = "crates/i18n" }
|
|
notescraft-diagrams = { path = "crates/diagrams" }
|
|
notescraft-whiteboard = { path = "crates/whiteboard" }
|
|
notescraft-testkit = { path = "crates/testkit" }
|
|
|
|
# external
|
|
flate2 = { version = "1", default-features = false, features = ["rust_backend"] }
|
|
rfd = "0.17"
|
|
thiserror = "2"
|
|
# Native macOS menu bar (apps/notescraft only; owner-approved: close/minimise/zoom live in the menu bar since the title bar is gone). No default features: no GTK.
|
|
muda = { version = "=0.21.2", default-features = false }
|
|
egui = { version = "0.36", default-features = false }
|
|
unicode-bidi = { version = "0.3.18", default-features = false, features = ["std", "hardcoded-data"] }
|
|
egui_extras = { version = "0.36", default-features = false, features = ["svg"] }
|
|
# Clipboard images and file lists for paste (owner-approved 2026-10-20; already in the lockfile through egui-winit). image-data only: no default features.
|
|
arboard = { version = "3.6", default-features = false, features = ["image-data"] }
|
|
eframe = { version = "0.36", default-features = false }
|
|
egui_kittest = "0.36"
|
|
log = "0.4"
|
|
# Audio output for UI sounds; the same version SoundCraft, FilmCraft and EffectCraft use.
|
|
cpal = "0.16"
|
|
notify = "8"
|
|
pulldown-cmark = { version = "0.13", default-features = false }
|
|
toml = "1"
|
|
# Content search over the files on disk before the index is ready (the ripgrep library crates; engine only; owner-approved 2026-10-18).
|
|
ignore = "0.4"
|
|
grep-regex = "0.1"
|
|
grep-searcher = "0.1"
|
|
# Syntax highlighting for fenced code; pure-Rust regex backend, no onig (owner-approved).
|
|
syntect = { version = "5", default-features = false, features = ["parsing", "default-syntaxes", "yaml-load", "regex-fancy"] }
|
|
# SHA-256 of downloaded grammars (pure Rust, RustCrypto; owner-approved 2026-10-18).
|
|
sha2 = { version = "0.11", default-features = false }
|
|
# Sync server (apps/notescraft-sync-server only; owner-approved 2026-10-19).
|
|
axum = { version = "0.8", default-features = false, features = ["http1", "tokio", "json", "query"] }
|
|
tokio = { version = "1", default-features = false, features = ["rt-multi-thread", "macros", "net", "signal", "time", "sync"] }
|
|
rusqlite = { version = "0.37", features = ["bundled"] }
|
|
# Blocking HTTP client with rustls (sync server tests now, the engine sync client next).
|
|
ureq = { version = "3", default-features = false, features = ["rustls", "json"] }
|
|
# ed25519 verification of registry entries (owner-approved 2026-10-21, already linked through rustls).
|
|
ring = { version = "0.17", default-features = false }
|
|
# Pure-Rust WebAssembly interpreter, same configuration as photocraft-plugins.
|
|
wasmi = { version = "2.0.0", default-features = false, features = ["std", "validate", "stable", "portable-dispatch"] }
|
|
wat = "1.228"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "forbid"
|
|
|
|
[workspace.lints.clippy]
|
|
pedantic = { level = "warn", priority = -1 }
|
|
dbg_macro = "warn"
|
|
todo = "warn"
|
|
|
|
[profile.dev.package."*"]
|
|
opt-level = 2
|
|
|
|
[profile.dev]
|
|
opt-level = 1
|
|
# Line tables keep file:line in panic backtraces but drop variable info, which roughly halves link
|
|
# time and PDB size for the ~260 test binaries (#2204). CI sets the same through
|
|
# CARGO_PROFILE_DEV_DEBUG. To inspect locals in a debugger, build with CARGO_PROFILE_DEV_DEBUG=true.
|
|
debug = "line-tables-only"
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
# Size: owner-approved 2026-10-21 (specs/registry/measurements.md): -8 MB on macOS; crash backtraces lose symbol names.
|
|
opt-level = "s"
|
|
strip = "symbols"
|