novel-cli 0.17.0

A set of tools for downloading novels from the web, manipulating text, and generating EPUB
Documentation
[package]
name = "novel-cli"
version = "0.17.0"
edition = "2024"
rust-version = "1.88"
license = "MIT OR Apache-2.0"
authors = ["Terakomari <im.terakomari@icloud.com>"]
repository = "https://github.com/novel-rs/cli"
homepage = "https://github.com/novel-rs/cli"
documentation = "https://docs.rs/novel-cli"
description = "A set of tools for downloading novels from the web, manipulating text, and generating EPUB"
readme = "README.md"
keywords = ["novel", "epub", "sfacg", "ciweimao", "ciyuanji"]
categories = ["command-line-utilities"]
exclude = ["/tests/data"]
build = "build.rs"

[dependencies]
# https://github.com/novel-rs/opencc-rs
opencc-rs = { version = "0.5.0", default-features = false }
# https://github.com/novel-rs/api
novel-api = { version = "0.19.0", default-features = false }

# https://github.com/eyre-rs/eyre
color-eyre = { version = "0.6.5", default-features = false }
# https://github.com/serde-rs/serde
serde = { version = "1.0.228", default-features = false, features = [
  "std",
  "derive",
] }
# https://github.com/tokio-rs/tokio
tokio = { version = "1.49.0", default-features = false, features = [
  "macros",
  "io-util",
  "fs",
  "sync",
  "process",
  "signal",
  "rt-multi-thread",
] }
# https://github.com/purpleprotocol/mimalloc_rust
mimalloc = { version = "0.1.48", default-features = false }
# https://github.com/rust-lang/hashbrown
hashbrown = { version = "0.16.1", default-features = false, features = [
  "default-hasher",
  "inline-more",
] }
# https://github.com/rusticstuff/simdutf8
simdutf8 = { version = "0.1.5", default-features = false, features = [
  "std",
  "aarch64_neon",
] }
# https://github.com/tokio-rs/tracing
tracing = { version = "0.1.44", default-features = false, features = ["std"] }
# https://github.com/tokio-rs/tracing
tracing-subscriber = { version = "0.3.22", default-features = false, features = [
  "std",
  "fmt",
  "ansi",
  "env-filter",
  # https://docs.rs/tracing-subscriber/latest/tracing_subscriber/fmt/time/struct.ChronoLocal.html
  "chrono",
  "tracing-log",
  "smallvec",
] }
# https://github.com/tokio-rs/tracing
tracing-log = { version = "0.2.0", default-features = false, features = [
  "std",
  "log-tracer",
] }
# https://github.com/tokio-rs/tracing
tracing-appender = { version = "0.2.4", default-features = false }
# https://github.com/rust-lang/libc
libc = { version = "0.2.180", default-features = false, features = ["std"] }
# https://github.com/tokio-rs/bytes
bytes = { version = "1.11.1", default-features = false, features = ["std"] }
# https://github.com/servo/rust-url
url = { version = "2.5.8", default-features = false, features = ["std"] }
# https://github.com/rust-lang/regex
regex = { version = "1.12.3", default-features = true }
# https://github.com/image-rs/image
image = { version = "0.25.9", default-features = false, features = [
  "png",
  "jpeg",
  "webp",
] }
# https://github.com/clap-rs/clap
clap = { version = "4.5.57", default-features = false, features = [
  "std",
  "color",
  "help",
  "usage",
  "error-context",
  "suggestions",
  "derive",
  "cargo",
  "wrap_help",
  "unicode",
  "string",
] }
# https://github.com/clap-rs/clap-verbosity-flag
clap-verbosity-flag = { version = "3.0.4", default-features = false }
# https://github.com/clap-rs/clap
clap_complete = { version = "4.5.65", default-features = false }
# https://github.com/clap-rs/clap
clap_complete_nushell = { version = "4.5.10", default-features = false }
# https://github.com/console-rs/indicatif
indicatif = { version = "0.18.3", default-features = false, features = [
  "improved_unicode",
] }
# https://github.com/console-rs/console
console = { version = "0.16.2", default-features = false, features = [
  "std",
  "unicode-width",
] }
# https://github.com/nukesor/comfy-table
comfy-table = { version = "7.2.2", default-features = false, features = [
  "tty",
] }
# https://github.com/Manishearth/pathdiff
pathdiff = { version = "0.2.3", default-features = false, features = [
  "camino",
] }
# https://github.com/BurntSushi/walkdir
walkdir = { version = "2.5.0", default-features = false }
# https://github.com/webdesus/fs_extra
fs_extra = { version = "1.3.0", default-features = false }
# https://github.com/Byron/trash-rs
# See https://learn.microsoft.com/en-us/windows/win32/api/objbase/ne-objbase-coinit
trash = { version = "5.2.5", default-features = false, features = [
  "coinit_apartmentthreaded",
  "chrono",
] }
# https://github.com/Byron/open-rs
open = { version = "5.3.3", default-features = false, features = [
  "shellexecute-on-windows",
] }
# https://github.com/bourumir-wyngs/serde-saphyr
serde-saphyr = { version = "0.0.17", default-features = false }
# https://github.com/toml-rs/toml
toml = { version = "0.9.11", default-features = false, features = [
  "std",
  "serde",
  "display",
  "fast_hash",
] }
# https://github.com/raphlinus/pulldown-cmark
pulldown-cmark = { version = "0.13.0", default-features = false }
# https://github.com/Byron/pulldown-cmark-to-cmark
pulldown-cmark-to-cmark = { version = "22.0.0", default-features = false }
# https://github.com/1Password/sys-locale
sys-locale = { version = "0.3.2", default-features = false }
# https://github.com/zbraniecki/unic-locale
unic-langid = { version = "0.9.6", default-features = false }
# https://github.com/XAMPPRocky/fluent-templates
fluent-templates = { version = "0.13.2", default-features = false, features = [
  "macros",
  "ignore",
] }
# https://github.com/bojand/infer
infer = { version = "0.19.0", default-features = false, features = ["std"] }
# https://github.com/Arc-blroth/memory-stats
memory-stats = { version = "1.2.0", default-features = false }
# https://github.com/hyunsik/bytesize
bytesize = { version = "2.3.1", default-features = false, features = ["std"] }
# https://github.com/rust-lang/mdBook
mdbook-driver = { version = "0.5.2", default-features = false }
# https://github.com/kardeiz/sanitize-filename
sanitize-filename = { version = "0.6.0", default-features = false }
# https://github.com/magiclen/html-escape
html-escape = { version = "0.2.13", default-features = false, features = [
  "std",
] }
# https://github.com/Peternator7/strum
strum = { version = "0.27.2", default-features = false, features = [
  "std",
  "derive",
] }
# https://github.com/ratatui-org/ratatui
ratatui = { version = "0.30.0", default-features = false, features = [
  "std",
  "layout-cache",
  "crossterm",
  "unstable-widget-ref",
  "unstable-rendered-line-info",
] }
# https://github.com/EdJoPaTo/tui-rs-tree-widget
tui-tree-widget = { version = "0.24.0", default-features = false }
# https://github.com/joshka/tui-widgets
tui-widgets = { version = "0.7.0", default-features = false, features = [
  "popup",
  "scrollview",
] }
# https://github.com/benjajaja/ratatui-image
ratatui-image = { version = "10.0.4", default-features = false, features = [
  "crossterm",
] }
# https://github.com/zkat/supports-color
supports-color = { version = "3.0.2", default-features = false }
# https://github.com/harryfei/which-rs
which = { version = "8.0.0", default-features = false, features = ["real-sys"] }
# https://gitlab.com/kornelski/dunce
dunce = { version = "1.0.5", default-features = false }
# https://github.com/GuillaumeGomez/sysinfo
sysinfo = { version = "0.38.0", default-features = false, features = [
  "system",
] }
# https://github.com/baoyachi/shadow-rs
shadow-rs = { version = "1.7.0", default-features = false }
# https://github.com/jonasbb/serde_with
serde_with = { version = "3.16.1", default-features = false, features = [
  "std",
  "macros",
] }
# https://github.com/wvwwvwwv/scalable-concurrent-containers
scc = { version = "3.5.5", default-features = false }
# https://github.com/rust-phf/rust-phf
phf = { version = "0.13.1", default-features = false, features = [
  "std",
  "macros",
] }
# https://github.com/tafia/quick-xml
quick-xml = { version = "0.39.0", default-features = false, features = [
  "serialize",
] }
# https://github.com/magiclen/unicode-blocks
unicode-blocks = { version = "0.1.9", default-features = false }
# https://github.com/PRO-2684/osc94
osc94 = { version = "0.1.1", default-features = false }
# https://github.com/dtolnay/semver
semver = { version = "1.0.27", default-features = false, features = ["std"] }

[build-dependencies]
# https://github.com/baoyachi/shadow-rs
shadow-rs = { version = "1.7.0", default-features = false, features = [
  "git2",
  "tzdb",
  "build",
] }

[dev-dependencies]
# https://github.com/rust-pretty-assertions/rust-pretty-assertions
pretty_assertions = { version = "1.4.1", default-features = false, features = [
  "std",
] }
# https://github.com/assert-rs/assert_cmd
assert_cmd = { version = "2.1.2", default-features = false, features = [
  "color",
] }
# https://github.com/Stebalien/tempfile
tempfile = { version = "3.24.0", default-features = false, features = [
  "getrandom",
] }
# https://github.com/la10736/rstest
rstest = { version = "0.26.1", default-features = false }
# https://github.com/palfrey/serial_test
serial_test = { version = "3.3.1", default-features = false, features = [
  "file_locks",
] }
# https://github.com/wiktor-k/testresult
testresult = { version = "0.4.1", default-features = false }
# https://github.com/zkat/is_ci
is_ci = { version = "1.2.0", default-features = false }

[profile.dev]
opt-level = 1

[profile.release]
strip = true
lto = true
codegen-units = 1
panic = 'abort'

# https://github.com/eyre-rs/color-eyre?tab=readme-ov-file#improving-perf-on-debug-builds
[profile.dev.package.backtrace]
opt-level = 3