-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathCargo.toml
More file actions
138 lines (125 loc) · 4.98 KB
/
Cargo.toml
File metadata and controls
138 lines (125 loc) · 4.98 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
134
135
136
137
138
#: schema https://json.schemastore.org/cargo.json
[workspace]
members = ["crates/*"]
resolver = "2"
[workspace.package]
version = "1.0.3"
edition = "2024"
homepage = "https://memospot.github.io/"
license = "MIT"
publish = false
repository = "https://github.com/memospot/memospot"
rust-version = "1.85.0"
description = "Memospot is a desktop version of Memos, a beautiful, privacy-first, lightweight note-taking service."
# Features should be listed at package level.
[workspace.dependencies]
anyhow = { version = "1.0.100", default-features = false }
async_zip = { version = "0.0.18", features = ["zstd", "tokio-fs"] }
chrono = { version = "0.4.42", default-features = false }
encoding_rs = "0.8.35"
figment = { version = "0.10.19", default-features = false }
home = { version = "0.5.12", default-features = false }
humantime = "2.3.0"
# i18n
i18n-embed = { version = "0.16.0", default-features = false }
i18n-embed-fl = "0.10.0"
rust-embed = "8.9.0"
itertools = "0.14.0"
json-patch = "4.1.0"
log = { version = "0.4.29", default-features = false }
log4rs = { version = "1.4.0" }
# Newer versions of `native-dialog` were causing issues with some dialogues
# not displaying on KDE and other platforms, so the version is pinned.
native-dialog = { version = "0.6.4", default-features = false }
nix = { version = "0.31.2", default-features = false }
os_pipe = "1.2.3"
path-clean = "1.0.1"
rand = { version = "0.10.0", default-features = false }
sea-orm = { version = "1.1.19", default-features = false }
sea-orm-migration = { version = "1.1.19", default-features = false }
semver = "1.0.27"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
serde_yaml = "0.9.34"
shared_child = "1.1.1"
strum = "0.28.0"
strum_macros = "0.28.0"
sysinfo = "0.38.2"
tauri = { version = "2.10.2" }
tauri-build = { version = "2.5.3", default-features = false }
tauri-plugin-dialog = { version = "2.4.2" }
tauri-plugin-fs = { version = "2.4.4" }
tauri-plugin-http = { version = "2.5.4", features = ["gzip", "json", "rustls-tls"] }
tauri-plugin-opener = { version = "2.5.2" }
tauri-plugin-process = { version = "2.3.1" }
tauri-plugin-shell = { version = "2.3.3" }
tauri-plugin-single-instance = "2.3.6"
tauri-plugin-updater = { version = "2.9.0" }
tauri-utils = { version = "2.8.1" }
tempfile = { version = "3.23.0" }
thiserror = { version = "2.0.17" }
tokio = { version = "1.48.0" }
ts-rs = { version = "12.0.1" }
url = { version = "2.5.7", default-features = false }
uuid = { version = "1.19.0", default-features = false }
windows-sys = { version = "0.61.2", default-features = false }
winreg = "0.55.0"
[profile.release]
codegen-units = 1
incremental = true
panic = "abort"
# - false: Performs “thin local LTO” which performs “thin” LTO on the local crate only across
# its codegen units. No LTO is performed if codegen units is 1 or opt-level is 0.
#
# - true or "fat": Performs “fat” LTO which attempts to perform
# optimizations across all crates within the dependency graph.
#
# - "thin": Performs “thin” LTO. This is similar to “fat”, but takes substantially
# less time to run while still achieving performance gains similar to “fat”.
#
# - "off": Disables LTO.
lto = true
# 0: no optimizations
# 1: basic optimizations
# 2: some optimizations
# 3: all optimizations
# "s": optimize for binary size
# "z": optimize for binary size, but also turn off loop vectorization.
opt-level = "s"
# - none: debuginfo and symbols (if they exist) are copied to the produced binary or
# separate files depending on the target (e.g. pdb files in case of MSVC).
#
# - debuginfo: debuginfo sections and debuginfo symbols from the symbol table section are
# stripped at link time and are not copied to the produced binary or separate files.
#
# - symbols(true): same as debuginfo, but the rest of the symbol table section is
# stripped as well if the linker supports it.
# strip = true
#
# https://github.com/tauri-apps/tauri/issues/14186
strip = "debuginfo" # Remove debug info but keep symbols needed for bundler.
[profile.dev.build-override]
incremental = true
[profile.dev]
# - 0, false, or "none": no debug info at all, default for release
#
# - "line-directives-only": line info directives only. For the nvptx* targets this enables profiling.
# For other use cases, line-tables-only is the better, more compatible choice.
#
# - "line-tables-only": line tables only. Generates the minimal amount of debug info for backtraces with
# filename/line number info, but not anything else, i.e. no variable or function parameter info.
#
# - 1 or "limited": debug info without type or variable-level information.
# Generates more detailed module-level info than line-tables-only.
#
# - 2, true, or "full": full debug info, default for dev
debug = 0 # Disabling debug info speeds up builds.
[profile.dev.package]
serde.opt-level = 3 # Tests depending on serde runs faster with higher optimization level.
[workspace.lints.clippy]
dbg_macro = "deny"
disallowed_methods = "deny"
redundant_clone = "warn"
todo = "deny"
zombie_processes = "warn"
# unwrap_used = "deny"