# SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: 2020 The Gleam contributors [workspace] resolver = "2" members = [ "gleam-bin", "compiler-cli", "compiler-core", "compiler-wasm", "language-server", "test-helpers-rs", "test-commands", "test-output", "test-package-compiler", "test-project-compiler", "hexpm", "pretty-arena", "format", ] # common dependencies [workspace.dependencies] # Command line interface clap = { version = "4", features = ["derive"] } # Immutable data structures im = { version = "15", features = ["serde"] } # Extra iter methods itertools = "0" # Parsing regex = "1" # Colours in terminal termcolor = "1" # Data (de)serialisation serde = { version = "1", features = ["derive", "rc"] } serde_json = "1" # toml config file parsing toml = "0.9" # Enum trait impl macros strum = { version = "0", features = ["derive"] } # Creation of tar file archives tar = "0" # gzip compression flate2 = "1" # Logging tracing = "0" # Macro to work around Rust's traits not working with async. Sigh. async-trait = "0" # HTTP types http = "1" http-serde = "2.1.1" # Async combinators for futures futures = "0" # Little helper to omit fields that cannot be debug printed debug-ignore = "1" # base encoding base16 = "0" # Language server protocol server plumbing lsp-server = "0" lsp-types = { package = "gen-lsp-types", version = "0.5.0", features = ["url"] } # Compact clone-on-write vector & string type ecow = "0" # Drop in replacement for std::path but with only utf-8 camino = "1" # std::error::Error definition macro thiserror = "2" # Test assertion errors with diffs pretty_assertions = "1" # Snapshot testing to make test maintenance easier insta = { version = "1", features = ["glob"] } # A transitive dependency needed to compile into wasm32-unknown-unknown # See https://docs.rs/getrandom/latest/getrandom/index.html#webassembly-support getrandom = { version = "0.2", features = ["js"] } # Non-empty vectors vec1 = "1" # Pubgrub dependency resolution algorithm pubgrub = "0.3" # Open the user's web browser opener = "0" # Recursively traversing directories ignore = "0" # Parsing of arbitrary width int values num-bigint = { version = "0.4.6", features = ["serde"] } # Unicode grapheme traversal unicode-segmentation = "1.13.2" # Checksums xxhash-rust = { version = "0", features = ["xxh3"] }