[workspace.package] description = "An integrated language service for Typst." authors = ["Myriad-Dreamin ", "Nathan Varner"] version = "0.13.17" 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.88" [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 = { version = "0.23", default-features = false } 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.25.0" 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.1-rc2", default-features = false, features = [ "flat-vector", ] } reflexo-typst = { version = "=0.6.1-rc2", default-features = false } reflexo-vec2svg = { version = "=0.6.1-rc2" } typst = "0.14.0" typst-html = "0.14.0" typst-library = "0.14.0" typst-macros = "0.14.0" typst-timing = "0.14.0" typst-svg = "0.14.0" typst-render = "0.14.0" typst-pdf = "0.14.0" typst-syntax = "0.14.0" typst-eval = "0.14.0" typst-assets = { git = "https://github.com/typst/typst-assets", rev = "fbf00f9" } 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.16", 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.43", features = ["glob"] } insta-cmd = "0.6.0" # Our Own Crates tinymist-assets = { version = "=0.13.16" } tinymist-derive = { path = "./crates/tinymist-derive/", version = "0.13.17" } tinymist-l10n = { path = "./crates/tinymist-l10n/", version = "0.13.17" } tinymist-package = { path = "./crates/tinymist-package/", version = "0.13.17" } tinymist-std = { path = "./crates/tinymist-std/", version = "0.13.17", default-features = false } tinymist-vfs = { path = "./crates/tinymist-vfs/", version = "0.13.17", default-features = false } tinymist-world = { path = "./crates/tinymist-world/", version = "0.13.17", default-features = false } tinymist-project = { path = "./crates/tinymist-project/", version = "0.13.17" } tinymist-task = { path = "./crates/tinymist-task/", version = "0.13.17" } typst-shim = { path = "./crates/typst-shim", version = "0.13.17" } tinymist-tests = { path = "./crates/tinymist-tests/" } sync-ls = { path = "./crates/sync-lsp", version = "0.13.17" } tinymist = { path = "./crates/tinymist/", version = "0.13.17" } tinymist-analysis = { path = "./crates/tinymist-analysis/", version = "0.13.17" } tinymist-core = { path = "./crates/tinymist-core/", version = "0.13.17", default-features = false } tinymist-debug = { path = "./crates/tinymist-debug/", version = "0.13.17" } tinymist-lint = { path = "./crates/tinymist-lint/", version = "0.13.17" } tinymist-query = { path = "./crates/tinymist-query/", version = "0.13.17" } tinymist-render = { path = "./crates/tinymist-render/", version = "0.13.17" } tinymist-preview = { path = "./crates/typst-preview", version = "0.13.17" } typlite = { path = "./crates/typlite", version = "0.13.17", default-features = false } [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] typst = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-macros = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-library = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-html = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-timing = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-svg = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-render = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-pdf = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-syntax = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-eval = { git = "https://github.com/Myriad-Dreamin/typst.git", rev = "6bc6cf6ec210c60c3e7ff25f84cf43aa1de0a277" } typst-ansi-hl = { git = "https://github.com/ParaN3xus/typst-ansi-hl.git", rev = "9e449696f5da46f4e911733d8a70ecc1e2f72324" } typstyle-core = { git = "https://github.com/ParaN3xus/typstyle/", rev = "86cb05a5c26264baebc0e78bfd40513b477c9538" } reflexo = { git = "https://github.com/ParaN3xus/typst.ts/", rev = "3b1ae0adc7f35785e6d60e7fc36141dc14b9e850" } reflexo-typst = { git = "https://github.com/ParaN3xus/typst.ts/", rev = "3b1ae0adc7f35785e6d60e7fc36141dc14b9e850" } reflexo-vec2svg = { git = "https://github.com/ParaN3xus/typst.ts/", rev = "3b1ae0adc7f35785e6d60e7fc36141dc14b9e850" } # 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/" } 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" }