mirror of
https://github.com/Myriad-Dreamin/tinymist.git
synced 2025-08-04 18:28:02 +00:00

* build: update changelog * build: update permalink * docs: fix bad link * build: bump version to 0.13.14 * build: bump assets to 0.13.14
326 lines
11 KiB
TOML
326 lines
11 KiB
TOML
[workspace.package]
|
|
description = "An integrated language service for Typst."
|
|
authors = ["Myriad-Dreamin <camiyoru@gmail.com>", "Nathan Varner"]
|
|
version = "0.13.14"
|
|
edition = "2021"
|
|
readme = "README.md"
|
|
license = "Apache-2.0"
|
|
homepage = "https://github.com/Myriad-Dreamin/tinymist"
|
|
repository = "https://github.com/Myriad-Dreamin/tinymist"
|
|
# also change in ci.yml
|
|
rust-version = "1.85"
|
|
|
|
[workspace]
|
|
resolver = "2"
|
|
members = ["benches/*", "crates/*", "tests"]
|
|
|
|
[workspace.dependencies]
|
|
|
|
# Basic Infra
|
|
anyhow = "1"
|
|
if_chain = "1"
|
|
itertools = "0.13"
|
|
paste = "1.0"
|
|
cfg-if = "1.0"
|
|
strum = { version = "0.26.2", features = ["derive"] }
|
|
quote = "1"
|
|
syn = "2"
|
|
triomphe = { version = "0.1.10", default-features = false, features = ["std"] }
|
|
|
|
# Asynchoronous and Multi-threading
|
|
async-trait = "0.1.77"
|
|
futures = "0.3"
|
|
rayon = "1.10.0"
|
|
tokio = { version = "1.44.0", features = ["macros"] }
|
|
tokio-util = { version = "0.7.14", features = ["compat"] }
|
|
|
|
# System
|
|
temp-env = "0.3.0"
|
|
open = { version = "5.1.3" }
|
|
parking_lot = "0.12.1"
|
|
walkdir = "2"
|
|
chrono = { version = "0.4", default-features = false }
|
|
time = "0.3"
|
|
dirs = "6"
|
|
fontdb = "0.21"
|
|
notify = "6"
|
|
path-clean = "1.0.1"
|
|
windows-sys = "0.59"
|
|
tempfile = "3.19.1"
|
|
same-file = "1.0.6"
|
|
libc = "0.2.155"
|
|
core-foundation = { version = "0.10.0", features = ["mac_os_10_7_support"] }
|
|
|
|
# Web
|
|
js-sys = "^0.3"
|
|
wasm-bindgen = "^0.2"
|
|
wasm-bindgen-futures = "^0.4"
|
|
wasm-bindgen-test = "0.3.45"
|
|
web-sys = "^0.3"
|
|
web-time = { version = "1.1.0" }
|
|
console_error_panic_hook = { version = "0.1.7" }
|
|
|
|
# Networking
|
|
hyper = { version = "1", features = ["full"] }
|
|
hyper-util = { version = "0.1.7", features = ["tokio"] }
|
|
hyper-tungstenite = "0.15.0"
|
|
reqwest = { version = "^0.12", default-features = false, features = [
|
|
"rustls-tls",
|
|
"blocking",
|
|
"multipart",
|
|
] }
|
|
|
|
# Algorithms
|
|
base64 = "0.22"
|
|
regex = "1.10.5"
|
|
|
|
# Cryptography and data processing
|
|
rustc-hash = { version = "2", features = ["std"] }
|
|
siphasher = "1"
|
|
fxhash = "0.2.1"
|
|
sha2 = "0.10.6"
|
|
nohash-hasher = "0.2.0"
|
|
fastrand = "2.3.0"
|
|
|
|
# Data Structures
|
|
bitvec = "1"
|
|
comemo = "0.4"
|
|
# We need to freeze the version of the crate, as the raw-api feature is considered unstable
|
|
dashmap = { version = "=5.5.3", features = ["raw-api"] }
|
|
ecow = "0.2.3"
|
|
ena = "0.14.2"
|
|
hashbrown = { version = "0.14", features = [
|
|
"inline-more",
|
|
], default-features = false }
|
|
indexmap = "2.7.0"
|
|
rpds = "1"
|
|
|
|
# Data/Text Format and Processing
|
|
biblatex = "0.10"
|
|
cmark-writer = { version = "0.7.7", features = ["gfm"] }
|
|
docx-rs = { version = "0.4.18-rc19", git = "https://github.com/Myriad-Dreamin/docx-rs", default-features = false, rev = "db49a729f68dbdb9e8e91857fbb1c3d414209871" }
|
|
hayagriva = "0.8"
|
|
hex = "0.4.3"
|
|
flate2 = "1"
|
|
# typst can only support these formats.
|
|
image = { version = "0.25.6", default-features = false, features = [
|
|
"png",
|
|
"jpeg",
|
|
"gif",
|
|
] }
|
|
pathdiff = "0.2"
|
|
percent-encoding = "2"
|
|
rust_iso639 = "0.0.3"
|
|
rust_iso3166 = "0.1.4"
|
|
resvg = { version = "0.43.0" }
|
|
rkyv = "0.7.42"
|
|
semver = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
serde_repr = "0.1"
|
|
serde_with = { version = "3.6", features = ["base64"] }
|
|
serde_yaml = "0.9"
|
|
serde-wasm-bindgen = "^0.6"
|
|
tar = "0.4"
|
|
toml = { version = "0.8", default-features = false, features = [
|
|
"parse",
|
|
"display",
|
|
] }
|
|
ttf-parser = "0.24.1"
|
|
unicode-script = "0.5"
|
|
unscanny = "0.1"
|
|
yaml-rust2 = "0.9"
|
|
|
|
# Logging
|
|
codespan-reporting = "0.11"
|
|
env_logger = "0.11.3"
|
|
log = "0.4"
|
|
|
|
# Typst
|
|
reflexo = { version = "=0.6.0-rc1", default-features = false, features = [
|
|
"flat-vector",
|
|
] }
|
|
reflexo-typst = { version = "=0.6.0-rc1", default-features = false }
|
|
reflexo-vec2svg = { version = "=0.6.0-rc1" }
|
|
|
|
typst = "0.13.1"
|
|
typst-html = "0.13.1"
|
|
typst-library = "0.13.1"
|
|
typst-macros = "0.13.1"
|
|
typst-timing = "0.13.1"
|
|
typst-svg = "0.13.1"
|
|
typst-render = "0.13.1"
|
|
typst-pdf = "0.13.1"
|
|
typst-syntax = "0.13.1"
|
|
typst-eval = "0.13.1"
|
|
typst-assets = "0.13.1"
|
|
typstfmt = { version = "0", git = "https://github.com/Myriad-Dreamin/typstfmt", tag = "v0.13.1" }
|
|
typst-ansi-hl = "0.4.0"
|
|
typstyle-core = { version = "=0.13.11", default-features = false }
|
|
|
|
# LSP
|
|
crossbeam-channel = "0.5.12"
|
|
lsp-types = { version = "=0.95.0", features = ["proposed"] }
|
|
dapts = "0.0.6"
|
|
|
|
# CLI
|
|
clap = { version = "4.5", features = ["derive", "env", "unicode"] }
|
|
clap_builder = { version = "4.5", features = ["string"] }
|
|
clap_complete = "4.5"
|
|
clap_complete_fig = "4.5"
|
|
clap_complete_nushell = "4.5.3"
|
|
clap_mangen = { version = "0.2.22" }
|
|
vergen = { version = "8.3.1", features = [
|
|
"build",
|
|
"cargo",
|
|
"git",
|
|
"gitcl",
|
|
"rustc",
|
|
] }
|
|
|
|
# Testing
|
|
dhat = "0.3.3"
|
|
divan = "0.1.14"
|
|
insta = { version = "1.39", features = ["glob"] }
|
|
|
|
|
|
# Our Own Crates
|
|
tinymist-assets = { version = "=0.13.14" }
|
|
|
|
tinymist-derive = { path = "./crates/tinymist-derive/", version = "0.13.12" }
|
|
tinymist-l10n = { path = "./crates/tinymist-l10n/", version = "0.13.12" }
|
|
tinymist-package = { path = "./crates/tinymist-package/", version = "0.13.12" }
|
|
tinymist-std = { path = "./crates/tinymist-std/", version = "0.13.12", default-features = false }
|
|
tinymist-vfs = { path = "./crates/tinymist-vfs/", version = "0.13.12", default-features = false }
|
|
tinymist-world = { path = "./crates/tinymist-world/", version = "0.13.12", default-features = false }
|
|
tinymist-project = { path = "./crates/tinymist-project/", version = "0.13.12" }
|
|
tinymist-task = { path = "./crates/tinymist-task/", version = "0.13.12" }
|
|
typst-shim = { path = "./crates/typst-shim", version = "0.13.12" }
|
|
|
|
tinymist-tests = { path = "./crates/tinymist-tests/" }
|
|
|
|
sync-ls = { path = "./crates/sync-lsp", version = "0.13.14" }
|
|
tinymist = { path = "./crates/tinymist/", version = "0.13.14" }
|
|
tinymist-analysis = { path = "./crates/tinymist-analysis/", version = "0.13.14" }
|
|
tinymist-core = { path = "./crates/tinymist-core/", version = "0.13.14", default-features = false }
|
|
tinymist-debug = { path = "./crates/tinymist-debug/", version = "0.13.14" }
|
|
tinymist-lint = { path = "./crates/tinymist-lint/", version = "0.13.14" }
|
|
tinymist-query = { path = "./crates/tinymist-query/", version = "0.13.14" }
|
|
tinymist-render = { path = "./crates/tinymist-render/", version = "0.13.14" }
|
|
tinymist-preview = { path = "./crates/typst-preview", version = "0.13.14" }
|
|
typlite = { path = "./crates/typlite", version = "0.13.14" }
|
|
|
|
[profile.dev.package.insta]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.similar]
|
|
opt-level = 3
|
|
|
|
[profile.release]
|
|
# lto = true # Enable link-time optimization
|
|
codegen-units = 1 # Reduce number of codegen units to increase optimizations
|
|
panic = "abort" # Abort on panic
|
|
|
|
[profile.gh-release]
|
|
inherits = "release"
|
|
debug = true
|
|
|
|
# The profile that 'dist' will build with
|
|
[profile.dist]
|
|
inherits = "release"
|
|
lto = "thin"
|
|
|
|
[workspace.lints.rustdoc]
|
|
broken_intra_doc_links = "warn"
|
|
|
|
[workspace.lints.rust]
|
|
missing_docs = "warn"
|
|
# missing_crate_level_docs = "warn"
|
|
|
|
unexpected_cfgs = { level = "allow", check-cfg = [
|
|
'cfg(wasm_bindgen_unstable_test_coverage)',
|
|
'cfg(noop)',
|
|
'cfg(used_linker)',
|
|
] }
|
|
|
|
[workspace.lints.clippy]
|
|
uninlined_format_args = "warn"
|
|
# missing_errors_doc = "warn"
|
|
# missing_panics_doc = "warn"
|
|
# missing_docs_in_private_items = "warn"
|
|
missing_safety_doc = "warn"
|
|
undocumented_unsafe_blocks = "warn"
|
|
|
|
[workspace.metadata.typos.default]
|
|
locale = "en-us"
|
|
|
|
[workspace.metadata.typos.default.extend-words]
|
|
labelled = "labelled"
|
|
onces = "onces"
|
|
withs = "withs"
|
|
|
|
[workspace.metadata.typos.files]
|
|
ignore-hidden = false
|
|
extend-exclude = ["/.git", "fixtures"]
|
|
|
|
[patch.crates-io]
|
|
|
|
# This patch is used to bundle a locally built frontend (HTML) of `typst-preview`.
|
|
# The shortcoming is that you cannot install tinymist from git source then, i.e. `cargo install --git ..`, with this patch.
|
|
# However, it is not suggested to install it in that way. The suggested ways are:
|
|
# - Installation: https://github.com/Myriad-Dreamin/tinymist?tab=readme-ov-file#installation
|
|
# - Installing pre-built artifacts from GitHub : https://github.com/Myriad-Dreamin/tinymist?tab=readme-ov-file#installing-regularnightly-prebuilds-from-github
|
|
# tinymist-assets = { path = "./crates/tinymist-assets/" }
|
|
|
|
# These patches use a different version of `typst`, which only exports some private functions and information for code analysis.
|
|
#
|
|
# A regular build MUST use `tag` or `rev` to specify the version of the patched crate to ensure stability.
|
|
typst = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
typst-macros = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
typst-library = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
typst-html = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
typst-timing = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
typst-svg = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
typst-render = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
typst-pdf = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
typst-syntax = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
typst-eval = { git = "https://github.com/Myriad-Dreamin/typst.git", tag = "tinymist/v0.13.10" }
|
|
|
|
# These patches use local `typst` for development.
|
|
# typst = { path = "../typst/crates/typst" }
|
|
# typst-timing = { path = "../typst/crates/typst-timing" }
|
|
# typst-svg = { path = "../typst/crates/typst-svg" }
|
|
# typst-pdf = { path = "../typst/crates/typst-pdf" }
|
|
# typst-render = { path = "../typst/crates/typst-render" }
|
|
# typst-syntax = { path = "../typst/crates/typst-syntax" }
|
|
|
|
# These patches use a different version of `reflexo`.
|
|
#
|
|
# A regular build MUST use `tag` or `rev` to specify the version of the patched crate to ensure stability.
|
|
# reflexo = { git = "https://github.com/Myriad-Dreamin/typst.ts/", rev = "72e6c9653ca410c5df0b5a01b4c4a8c8cdb1acc8" }
|
|
# reflexo-typst = { git = "https://github.com/Myriad-Dreamin/typst.ts/", rev = "72e6c9653ca410c5df0b5a01b4c4a8c8cdb1acc8" }
|
|
# reflexo-vec2svg = { git = "https://github.com/Myriad-Dreamin/typst.ts/", rev = "72e6c9653ca410c5df0b5a01b4c4a8c8cdb1acc8" }
|
|
|
|
# These patches use local `reflexo` for development.
|
|
# reflexo = { path = "../typst.ts/crates/reflexo/" }
|
|
# reflexo-typst = { path = "../typst.ts/crates/reflexo-typst/" }
|
|
# reflexo-vec2svg = { path = "../typst.ts/crates/conversion/vec2svg/" }
|
|
# typstyle-core = { git = "https://github.com/ParaN3xus/typstyle/", tag = "tinymist-nightly-v0.12.21-rc1" }
|
|
|
|
typst-shim = { path = "crates/typst-shim" }
|
|
tinymist-analysis = { path = "crates/tinymist-analysis" }
|
|
tinymist-std = { path = "crates/tinymist-std" }
|
|
tinymist-vfs = { path = "crates/tinymist-vfs" }
|
|
tinymist-world = { path = "crates/tinymist-world" }
|
|
tinymist-project = { path = "crates/tinymist-project" }
|
|
tinymist-task = { path = "crates/tinymist-task" }
|
|
|
|
# If reflexo use the tinymist from git, you should use the following patch.
|
|
# [patch."https://github.com/Myriad-Dreamin/tinymist.git"]
|
|
# typst-shim = { path = "crates/typst-shim" }
|
|
# tinymist-analysis = { path = "crates/tinymist-analysis" }
|
|
# tinymist-std = { path = "crates/tinymist-std" }
|
|
# tinymist-vfs = { path = "crates/tinymist-vfs" }
|
|
# tinymist-world = { path = "crates/tinymist-world" }
|
|
# tinymist-project = { path = "crates/tinymist-project" }
|
|
# tinymist-task = { path = "crates/tinymist-task" }
|