centralize package versions except for vendor and excluded

This commit is contained in:
Brendan Hansknecht 2023-03-06 19:29:09 -08:00
parent 5485c8a5b0
commit 4a89bee0a5
No known key found for this signature in database
GPG key ID: A199D0660F95F948
66 changed files with 292 additions and 222 deletions

39
Cargo.lock generated
View file

@ -433,28 +433,13 @@ checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
dependencies = [
"atty",
"bitflags",
"clap_derive",
"clap_lex",
"indexmap",
"once_cell",
"strsim",
"termcolor",
"textwrap 0.16.0",
]
[[package]]
name = "clap_derive"
version = "3.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65"
dependencies = [
"heck",
"proc-macro-error",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "clap_lex"
version = "0.2.4"
@ -2648,30 +2633,6 @@ dependencies = [
"toml_edit",
]
[[package]]
name = "proc-macro-error"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
"syn",
"version_check",
]
[[package]]
name = "proc-macro-error-attr"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
"proc-macro2",
"quote",
"version_check",
]
[[package]]
name = "proc-macro2"
version = "1.0.51"

View file

@ -69,7 +69,11 @@ version = "0.0.1"
# This way, GitHub Actions works and nobody's builds get broken.
inkwell = { git = "https://github.com/roc-lang/inkwell", branch = "inkwell-llvm-15", features = [ "llvm13-0" ] }
syn = { version = "1.0.81", features = ["full", "extra-traits"] }
quote = "1.0.10"
proc-macro2 = "1.0.32"
arrayvec = "0.7.2"
libfuzzer-sys = "0.3"
bincode = "1.3.3"
bitvec = "1.0.1"
bumpalo = { version = "3.11.1", features = ["collections"] }
@ -77,6 +81,10 @@ capstone = { version = "0.11.0", default-features = false }
clap = { version = "3.2.20", default-features = false, features = ["std", "color", "suggestions"] }
const_format = { version = "0.2.23", features = ["const_generics"] }
criterion = { git = "https://github.com/Anton-4/criterion.rs", features = ["html_reports"]}
criterion-perf-events ={ git = "https://github.com/Anton-4/criterion-perf-events" }
perfcnt = "0.7.1"
serde-xml-rs = "0.5.1"
rlimit = "0.6.2"
crossbeam = "0.8.2"
distance = "0.4.0"
encode_unicode = "1.0.0"
@ -107,6 +115,7 @@ regex = "1.5.5"
rustyline = {git = "https://github.com/roc-lang/rustyline", rev = "e74333c"}
rustyline-derive = {git = "https://github.com/roc-lang/rustyline", rev = "e74333c"}
serde = { version = "1.0.144", features = ["derive"] }
serde_json = "1.0.83"
signal-hook = "0.3.14"
snafu = { version = "0.7.1", features = ["backtraces"] }
static_assertions = "1.1.0"
@ -119,6 +128,45 @@ unicode-segmentation = "1.10.0"
walkdir = "2.3.2"
wyhash = "0.5.0"
object = { version = "0.30.3", features = ["read", "write"] }
winapi = { version = "0.3.9", features = ["memoryapi"]}
serial_test = "1.0.0"
indexmap = "1.8.1"
dircpy = "0.3.13"
pulldown-cmark = { version = "0.9.2", default-features = false }
winit = "0.26.0"
wgpu = "0.12.0"
wgpu_glyph = "0.16.0"
glyph_brush = "0.7.5"
log = "0.4.14"
futures = "0.3.24"
cgmath = "0.18.0"
colored = "2.0.0"
pest = "2.3.1"
pest_derive = "2.3.1"
copypasta = "0.8.1"
palette = "0.6.1"
confy = { git = 'https://github.com/rust-cli/confy', features = [ "yaml_conf" ], default-features = false }
nonempty = "0.8.0"
threadpool = "1.8.1"
bytemuck = { version = "1.12.1", features = ["derive"] }
rand = "0.8.4"
proptest = "1.0.0"
bitflags = "1.3.2"
uuid = { version = "1.1.2", features = ["v4"] }
tracing = { version = "0.1.36", features = ["release_max_level_off"] }
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
tracing-appender = "0.2.2"
tar = "0.4.38"
brotli = "3.3.4" # used for decompressing tarballs over HTTPS, if the server supports brotli
flate2 = "1.0.24"
blake3 = "1.3.1"
base64-url = "1.4.13"
reqwest = { version = "0.11.13", default-features = false, features = [ "blocking", "rustls-tls" ] } # default-features=false removes libopenssl as a dependency on Linux, which might not be available!
console_error_panic_hook = "0.1.7"
js-sys = "0.3.60"
remove_dir_all = "0.8.0"
wasm-bindgen = "0.2.79"
wasm-bindgen-futures = "0.4.33"
# Optimizations based on https://deterministic.space/high-performance-rust.html
[profile.release]

View file

@ -1,10 +1,11 @@
[package]
name = "roc_ast"
description = "AST as used by the editor and (soon) docs. In contrast to the compiler, these types do not keep track of a location in a file."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "AST as used by the editor and (soon) docs. In contrast to the compiler, these types do not keep track of a location in a file."
[dependencies]
roc_builtins = { path = "../compiler/builtins"}
@ -35,5 +36,4 @@ libc.workspace = true
indoc.workspace = true
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3.9", features = ["memoryapi"]}
winapi.workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "roc_cli"
description = "The Roc binary that brings together all functionality in the Roc toolset."
default-run = "roc"
version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
edition.workspace = true
description = "The Roc binary that brings together all functionality in the Roc toolset."
default-run = "roc"
[[bin]]
name = "roc"
@ -80,7 +81,6 @@ tempfile.workspace = true
strum.workspace = true
libloading.workspace = true
signal-hook.workspace = true
inkwell.workspace = true
# for now, uses unix/libc functions that windows does not support
@ -91,12 +91,12 @@ roc_repl_expect = { path = "../repl_expect" }
[dev-dependencies]
roc_test_utils = { path = "../test_utils" }
roc_utils = { path = "../utils" }
serial_test = "1.0.0"
cli_utils = { path = "../cli_utils" }
criterion.workspace = true
indoc.workspace = true
parking_lot.workspace = true
serial_test.workspace = true
pretty_assertions.workspace = true
[[bench]]

View file

@ -1,13 +1,12 @@
[package]
name = "cli_utils"
description = "Provides shared code for cli tests and benchmarks."
version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
edition.workspace = true
description = "Provides shared code for cli tests and benchmarks."
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
roc_collections = { path = "../compiler/collections" }
@ -16,12 +15,12 @@ roc_load = { path = "../compiler/load" }
roc_module = { path = "../compiler/module" }
roc_utils = { path = "../utils" }
bumpalo = { version = "3.8.0", features = ["collections"] }
criterion = { git = "https://github.com/Anton-4/criterion.rs"}
serde = { version = "1.0.130", features = ["derive"] }
serde-xml-rs = "0.5.1"
strip-ansi-escapes = "0.1.1"
tempfile = "3.2.0"
bumpalo.workspace = true
criterion.workspace = true
serde.workspace = true
serde-xml-rs.workspace = true
strip-ansi-escapes.workspace = true
tempfile.workspace = true
[target.'cfg(unix)'.dependencies]
rlimit = "0.6.2"
rlimit.workspace = true

View file

@ -1,16 +1,17 @@
[package]
name = "roc_code_markup"
description = "Our own markup language for Roc code. Used by the editor and the docs."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Our own markup language for Roc code. Used by the editor and the docs."
[dependencies]
roc_ast = { path = "../ast" }
roc_module = { path = "../compiler/module" }
roc_utils = { path = "../utils" }
palette = "0.6.1"
palette.workspace = true
bumpalo.workspace = true
serde.workspace = true

View file

@ -1,8 +1,9 @@
[package]
name = "roc_alias_analysis"
authors.workspace = true
edition.workspace = true
license.workspace = true
name = "roc_alias_analysis"
version.workspace = true
[dependencies]
@ -12,4 +13,5 @@ roc_error_macros = {path = "../../error_macros"}
roc_module = {path = "../module"}
roc_mono = {path = "../mono"}
roc_debug_flags = {path = "../debug_flags"}
bumpalo.workspace = true

View file

@ -1,11 +1,12 @@
[package]
name = "arena-pool"
description = "An implementation of an arena allocator designed for the compiler's workloads."
version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
edition.workspace = true
description = "An implementation of an arena allocator designed for the compiler's workloads."
[dependencies]
roc_error_macros = { path = "../../error_macros" }

View file

@ -1,10 +1,11 @@
[package]
name = "roc_build"
description = "Responsible for coordinating building and linking of a Roc app with its host."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Responsible for coordinating building and linking of a Roc app with its host."
[dependencies]
roc_collections = { path = "../collections" }
@ -41,7 +42,7 @@ inkwell.workspace = true
indoc.workspace = true
[target.'cfg(target_os = "macos")'.dependencies]
serde_json = "1.0.85"
serde_json.workspace = true
[features]
target-arm = []

View file

@ -1,10 +1,11 @@
[package]
name = "roc_builtins"
description = "Provides the Roc functions and modules that are implicitly imported into every module."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Provides the Roc functions and modules that are implicitly imported into every module."
[dependencies]
roc_collections = { path = "../collections" }
@ -12,12 +13,14 @@ roc_region = { path = "../region" }
roc_module = { path = "../module" }
roc_target = { path = "../roc_target" }
roc_utils = { path = "../../utils" }
tempfile.workspace = true
[build-dependencies]
roc_utils = { path = "../../utils" }
# dunce can be removed once ziglang/zig#5109 is fixed
dunce = "1.0.3"
roc_utils = { path = "../../utils" }
[target.'cfg(target_os = "macos")'.build-dependencies]
tempfile.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_can"
description = "Canonicalize a roc abstract syntax tree, resolving symbols, re-ordering definitions, and preparing a module for type inference."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Canonicalize a roc abstract syntax tree, resolving symbols, re-ordering definitions, and preparing a module for type inference."
[dependencies]
roc_collections = { path = "../collections" }
@ -17,12 +18,12 @@ roc_problem = { path = "../problem" }
roc_types = { path = "../types" }
roc_serialize = { path = "../serialize" }
ven_pretty = { path = "../../vendor/pretty" }
bumpalo.workspace = true
static_assertions.workspace = true
bitvec.workspace = true
ven_pretty = { path = "../../vendor/pretty" }
[dev-dependencies]
pretty_assertions.workspace = true
indoc.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_collections"
description = "Domain-specific collections created for the needs of the compiler."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Domain-specific collections created for the needs of the compiler."
[dependencies]
fnv.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_constrain"
description = "Responsible for building the set of constraints that are used during type inference of a program, and for gathering context needed for pleasant error messages when a type error occurs."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Responsible for building the set of constraints that are used during type inference of a program, and for gathering context needed for pleasant error messages when a type error occurs."
[dependencies]
roc_collections = { path = "../collections" }

View file

@ -1,9 +1,10 @@
[package]
name = "roc_debug_flags"
description = "Environment variables that can be toggled to aid debugging of the compiler itself."
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Environment variables that can be toggled to aid debugging of the compiler itself."
[dependencies]

View file

@ -1,10 +1,11 @@
[package]
name = "roc_derive"
description = "Provides auto-derivers for builtin abilities like `Hash` and `Decode`."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Provides auto-derivers for builtin abilities like `Hash` and `Decode`."
[dependencies]
roc_collections = { path = "../collections" }
@ -15,6 +16,7 @@ roc_module = { path = "../module" }
roc_types = { path = "../types" }
roc_can = { path = "../can" }
roc_unify = { path = "../unify" }
bumpalo.workspace = true
[features]

View file

@ -1,5 +1,6 @@
[package]
name = "roc_derive_key"
version.workspace = true
authors.workspace = true
license.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_exhaustive"
description = "Provides exhaustiveness checking for Roc."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Provides exhaustiveness checking for Roc."
[dependencies]
roc_collections = { path = "../collections" }

View file

@ -1,14 +1,16 @@
[package]
name = "roc_fmt"
description = "The roc code formatter."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "The roc code formatter."
[dependencies]
roc_collections = { path = "../collections" }
roc_region = { path = "../region" }
roc_module = { path = "../module" }
roc_parse = { path = "../parse" }
bumpalo.workspace = true

View file

@ -1,6 +1,7 @@
[package]
name = "roc_gen_dev"
description = "The development backend for the Roc compiler"
version.workspace = true
authors.workspace = true
license.workspace = true

View file

@ -1,6 +1,7 @@
[package]
name = "roc_gen_llvm"
description = "The LLVM backend for the Roc compiler"
version.workspace = true
authors.workspace = true
license.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_gen_wasm"
description = "Provides the WASM backend to generate Roc binaries."
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Provides the WASM backend to generate Roc binaries."
[dependencies]
roc_builtins = { path = "../builtins" }

View file

@ -1,7 +1,8 @@
[package]
name = "roc_ident"
description = "Implements data structures used for efficiently representing small strings, like identifiers."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Implements data structures used for efficiently representing small strings, like identifiers."

View file

@ -1,10 +1,11 @@
[package]
name = "roc_late_solve"
description = "Provides type unification and solving primitives from the perspective of the compiler backend."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Provides type unification and solving primitives from the perspective of the compiler backend."
[dependencies]
roc_types = { path = "../types" }

View file

@ -1,10 +1,11 @@
[package]
name = "roc_load"
description = "Used to load a .roc file and coordinate the compiler pipeline, including parsing, type checking, and code generation."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Used to load a .roc file and coordinate the compiler pipeline, including parsing, type checking, and code generation."
[dependencies]
roc_load_internal = { path = "../load_internal" }

View file

@ -1,10 +1,11 @@
[package]
name = "roc_load_internal"
description = "The internal implementation of roc_load, separate from roc_load to support caching."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "The internal implementation of roc_load, separate from roc_load to support caching."
[dependencies]
roc_collections = { path = "../collections" }

View file

@ -1,16 +1,18 @@
[package]
name = "roc_module"
description = "Implements data structures used for efficiently representing unique modules and identifiers in Roc programs."
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
description = "Implements data structures used for efficiently representing unique modules and identifiers in Roc programs."
[dependencies]
roc_region = { path = "../region" }
roc_ident = { path = "../ident" }
roc_collections = { path = "../collections" }
roc_error_macros = {path = "../../error_macros"}
bumpalo.workspace = true
static_assertions.workspace = true
snafu.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_mono"
description = "Roc's main intermediate representation (IR), which is responsible for monomorphization, defunctionalization, inserting ref-count instructions, and transforming a Roc program into a form that is easy to consume by a backend."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Roc's main intermediate representation (IR), which is responsible for monomorphization, defunctionalization, inserting ref-count instructions, and transforming a Roc program into a form that is easy to consume by a backend."
[dependencies]
roc_collections = { path = "../collections" }

View file

@ -1,10 +1,11 @@
[package]
name = "roc_parse"
description = "Implements the Roc parser, which transforms a textual representation of a Roc program to an AST."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Implements the Roc parser, which transforms a textual representation of a Roc program to an AST."
[features]
"parse_debug_trace" = []
@ -18,8 +19,7 @@ bumpalo.workspace = true
encode_unicode.workspace = true
[dev-dependencies]
proptest = "1.0.0"
proptest.workspace = true
criterion.workspace = true
pretty_assertions.workspace = true
indoc.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_problem"
description = "Provides types to describe problems that can occur when compiling Roc code."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Provides types to describe problems that can occur when compiling Roc code."
[dependencies]
roc_collections = { path = "../collections" }

View file

@ -1,10 +1,11 @@
[package]
name = "roc_region"
description = "Data structures for storing source-code-location information, used heavily for contextual error messages."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Data structures for storing source-code-location information, used heavily for contextual error messages."
[dependencies]
static_assertions.workspace = true

View file

@ -1,13 +1,13 @@
[package]
name = "roc_target"
description = "Provides types and helpers for compiler targets such as default_x86_64."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Provides types and helpers for compiler targets such as default_x86_64."
[dependencies]
strum.workspace = true
strum_macros.workspace = true
target-lexicon.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_serialize"
description = "Provides helpers for serializing and deserializing to/from bytes."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Provides helpers for serializing and deserializing to/from bytes."
[dependencies]
roc_collections = { path = "../collections" }

View file

@ -1,10 +1,11 @@
[package]
name = "roc_solve"
description = "The entry point of Roc's type inference system. Implements type inference and specialization of abilities."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "The entry point of Roc's type inference system. Implements type inference and specialization of abilities."
[dependencies]
roc_collections = { path = "../collections" }

View file

@ -1,10 +1,11 @@
[package]
name = "roc_solve_problem"
description = "Provides types to describe problems that can occur during solving."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Provides types to describe problems that can occur during solving."
[dependencies]
roc_collections = { path = "../collections" }

View file

@ -1,10 +1,11 @@
[package]
name = "test_derive"
description = "Tests Roc's auto-derivers."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Tests Roc's auto-derivers."
[[test]]
name = "test_derive"

View file

@ -1,10 +1,11 @@
[package]
name = "test_gen"
description = "Contains all of Roc's code generation tests."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Contains all of Roc's code generation tests."
[[test]]
name = "test_gen"
@ -14,6 +15,7 @@ path = "src/tests.rs"
roc_builtins = { path = "../builtins" }
roc_utils = { path = "../../utils" }
wasi_libc_sys = { path = "../../wasi-libc-sys" }
tempfile.workspace = true
[dev-dependencies]

View file

@ -1,10 +1,11 @@
[package]
name = "test_mono"
description = "Tests Roc's generation of the mono intermediate representation."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Tests Roc's generation of the mono intermediate representation."
[[test]]
name = "test_mono"

View file

@ -1,15 +1,16 @@
[package]
name = "test_mono_macros"
description = "Macros for use in test_mono."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Macros for use in test_mono."
[lib]
proc-macro = true
[dependencies]
syn = { version = "1.0.81", features = ["full", "extra-traits"] }
quote = "1.0.10"
proc-macro2 = "1.0.32"
syn.workspace = true
quote.workspace = true
proc-macro2.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "test_syntax"
description = "Tests for the parse + fmt crates."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Tests for the parse + fmt crates."
[features]
"parse_debug_trace" = ["roc_parse/parse_debug_trace"]

View file

@ -1,18 +1,20 @@
[package]
name = "test_syntax-fuzz"
publish = false
version.workspace = true
authors.workspace = true
publish = false
edition.workspace = true
[package.metadata]
cargo-fuzz = true
[dependencies]
libfuzzer-sys = "0.3"
bumpalo = { version = "3.6.1", features = ["collections"] }
test_syntax = { path = "../../test_syntax" }
bumpalo.workspace = true
libfuzzer-sys.workspace = true
# Prevent this from interfering with workspaces
[workspace]
members = ["."]

View file

@ -1,10 +1,11 @@
[package]
name = "roc_types"
description = "Various representations and utilities for dealing with types in the Roc compiler."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Various representations and utilities for dealing with types in the Roc compiler."
[dependencies]
roc_collections = { path = "../collections" }

View file

@ -1,13 +1,14 @@
[package]
name = "roc_unify"
description = "Implements Roc's unification algorithm, the heartstone of Roc's type inference."
authors.workspace = true
edition.workspace = true
license.workspace = true
name = "roc_unify"
version.workspace = true
description = "Implements Roc's unification algorithm, the heartstone of Roc's type inference."
[dependencies]
bitflags = "1.3.2"
bitflags.workspace = true
[dependencies.roc_collections]
path = "../collections"

View file

@ -1,13 +1,13 @@
[package]
name = "roc_docs"
description = "Generates html documentation from Roc files and is used for Rocs builtins."
version.workspace = true
license.workspace = true
authors.workspace = true
edition.workspace = true
description = "Generates html documentation from Roc files and is used for Rocs builtins."
[dependencies]
pulldown-cmark = { version = "0.9.2", default-features = false }
roc_ast = { path = "../ast" }
roc_load = { path = "../compiler/load" }
roc_builtins = { path = "../compiler/builtins" }
@ -22,6 +22,8 @@ roc_collections = { path = "../compiler/collections" }
roc_highlight = { path = "../highlight"}
roc_packaging = { path = "../packaging"}
roc_reporting = { path = "../reporting"}
pulldown-cmark.workspace = true
bumpalo.workspace = true
snafu.workspace = true
peg.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_docs_cli"
description = "Provides a binary that is only used for static build servers."
version.workspace = true
license.workspace = true
authors.workspace = true
edition.workspace = true
description = "Provides a binary that is only used for static build servers."
# This binary is only used on static build servers, e.g. Netlify.
# Having its own (extremely minimal) CLI means docs can be generated
@ -19,7 +20,8 @@ bench = false
[dependencies]
roc_docs = { path = "../docs" }
clap = { version = "3.2.20", default-features = false, features = ["std", "color", "suggestions", "derive"] }
clap.workspace = true
[target.'cfg(windows)'.dependencies]
libc.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_editor"
description = "An editor for Roc"
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "An editor for Roc"
[package.metadata.cargo-udeps.ignore]
# confy is currently unused but should not be removed
@ -33,25 +34,23 @@ roc_packaging = { path = "../packaging" }
roc_reporting = { path = "../reporting" }
roc_solve = { path = "../compiler/solve" }
ven_graph = { path = "../vendor/pathfinding" }
# once winit 0.26 is out, check if copypasta can be updated simultaneously so they use the same versions for their dependencies. This will save build time.
winit = "0.26.0"
wgpu = "0.12.0"
wgpu_glyph = "0.16.0"
glyph_brush = "0.7.5"
log = "0.4.14"
futures = "0.3.24"
cgmath = "0.18.0"
colored = "2.0.0"
pest = "2.3.1"
pest_derive = "2.3.1"
copypasta = "0.8.1"
palette = "0.6.1"
confy = { git = 'https://github.com/rust-cli/confy', features = [
"yaml_conf"
], default-features = false }
nonempty = "0.8.0"
threadpool = "1.8.1"
winit.workspace = true
wgpu.workspace = true
wgpu_glyph.workspace = true
glyph_brush.workspace = true
log.workspace = true
futures.workspace = true
cgmath.workspace = true
colored.workspace = true
pest.workspace = true
pest_derive.workspace = true
copypasta.workspace = true
palette.workspace = true
confy.workspace = true
nonempty.workspace = true
threadpool.workspace = true
bytemuck.workspace = true
arrayvec.workspace = true
bumpalo.workspace = true
fs_extra.workspace = true
@ -60,12 +59,7 @@ page_size.workspace = true
serde.workspace = true
snafu.workspace = true
[dependencies.bytemuck]
version = "1.12.1"
features = ["derive"]
[dev-dependencies]
rand = "0.8.4"
uuid = { version = "1.1.2", features = ["v4"] }
rand.workspace = true
uuid.workspace = true
tempfile.workspace = true

View file

@ -1,9 +1,10 @@
[package]
name = "roc_error_macros"
description = "Provides macros for consistent reporting of errors in Roc's rust code."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Provides macros for consistent reporting of errors in Roc's rust code."
[dependencies]

View file

@ -1,10 +1,11 @@
[package]
name = "roc_glue"
description = "Generates code needed for platform hosts to communicate with Roc apps. This tool is not necessary for writing a platform in another language, however, it's a great convenience! Currently supports Rust platforms, and the plan is to support any language via a plugin model."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Generates code needed for platform hosts to communicate with Roc apps. This tool is not necessary for writing a platform in another language, however, it's a great convenience! Currently supports Rust platforms, and the plan is to support any language via a plugin model."
[dependencies]
roc_std = { path = "../roc_std"}
@ -20,17 +21,17 @@ roc_collections = { path = "../compiler/collections" }
roc_target = { path = "../compiler/roc_target" }
roc_error_macros = { path = "../error_macros" }
roc_tracing = { path = "../tracing" }
indexmap = "1.8.1"
bumpalo.workspace = true
fnv.workspace = true
indexmap.workspace = true
strum.workspace = true
strum_macros.workspace = true
target-lexicon.workspace = true
[dev-dependencies]
cli_utils = { path = "../cli_utils" }
dircpy = "0.3.13"
dircpy.workspace = true
indoc.workspace = true
pretty_assertions.workspace = true

View file

@ -11,11 +11,12 @@
[package]
name = "host"
links = "app"
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
links = "app"
[lib]
name = "host"
@ -28,7 +29,8 @@ path = "src/main.rs"
[dependencies]
roc_std = { path = "../../../../roc_std" }
libc = "0.2"
indoc = "1.0.6"
libc.workspace = true
indoc.workspace = true
[workspace]

View file

@ -1,10 +1,11 @@
[package]
name = "roc_highlight"
description = "For syntax highlighting, starts with a string and returns our markup nodes."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "For syntax highlighting, starts with a string and returns our markup nodes."
[dependencies]
roc_code_markup = { path = "../code_markup"}

View file

@ -1,11 +1,12 @@
[package]
name = "roc_linker"
description = "A surgical linker for Roc"
version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
edition.workspace = true
description = "A surgical linker for Roc"
[lib]
name = "roc_linker"

View file

@ -1,30 +1,29 @@
[package]
name = "roc_packaging"
description = "Functionality for packaging Roc source code - e.g. for distribution over the network"
version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
edition.workspace = true
description = "Functionality for packaging Roc source code - e.g. for distribution over the network"
[dependencies]
roc_parse = { path = "../compiler/parse" }
roc_error_macros = { path = "../error_macros" }
tar = "0.4.38" # used for `roc build --tar`
brotli = "3.3.4" # used for decompressing tarballs over HTTPS, if the server supports brotli
flate2 = "1.0.24"
blake3 = "1.3.1"
base64-url = "1.4.13"
tar.workspace = true # used for `roc build --tar`
brotli.workspace = true # used for decompressing tarballs over HTTPS, if the server supports brotli
flate2.workspace = true
blake3.workspace = true
base64-url.workspace = true
bumpalo.workspace = true
fs_extra.workspace = true
tempfile.workspace = true
walkdir.workspace = true
[target.'cfg(not(target_family = "wasm"))'.dependencies]
# default-features=false removes libopenssl as a dependency on Linux, which might not be available!
reqwest = { version = "0.11.13", default-features = false, features = [ "blocking", "rustls-tls" ] }
reqwest.workspace = true
[dev-dependencies]
tempfile.workspace = true

View file

@ -1,11 +1,11 @@
[package]
edition.workspace = true
name = "roc_repl_cli"
description = "Command Line Interface(CLI) functionality for the Read-Evaluate-Print-Loop (REPL)."
edition.workspace = true
version.workspace = true
authors.workspace = true
license.workspace = true
description = "Command Line Interface(CLI) functionality for the Read-Evaluate-Print-Loop (REPL)."
[features]
# pipe target to roc_build
@ -16,15 +16,6 @@ target-x86 = ["roc_build/target-x86"]
target-x86_64 = ["roc_build/target-x86_64"]
[dependencies]
inkwell.workspace = true
bumpalo.workspace = true
const_format.workspace = true
libloading.workspace = true
rustyline.workspace = true
rustyline-derive.workspace = true
target-lexicon.workspace = true
unicode-segmentation.workspace = true
roc_build = {path = "../compiler/build"}
roc_builtins = {path = "../compiler/builtins"}
roc_collections = {path = "../compiler/collections"}
@ -40,6 +31,15 @@ roc_types = {path = "../compiler/types"}
roc_region = { path = "../compiler/region" }
roc_module = { path = "../compiler/module" }
inkwell.workspace = true
bumpalo.workspace = true
const_format.workspace = true
libloading.workspace = true
rustyline.workspace = true
rustyline-derive.workspace = true
target-lexicon.workspace = true
unicode-segmentation.workspace = true
[lib]
name = "roc_repl_cli"
path = "src/lib.rs"

View file

@ -1,16 +1,13 @@
[package]
edition.workspace = true
name = "roc_repl_eval"
description = "Provides the functionality for the REPL to evaluate Roc expressions."
edition.workspace = true
version.workspace = true
authors.workspace = true
license.workspace = true
description = "Provides the functionality for the REPL to evaluate Roc expressions."
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
bumpalo.workspace = true
roc_builtins = {path = "../compiler/builtins"}
roc_can = {path = "../compiler/can"}
roc_collections = {path = "../compiler/collections"}
@ -26,3 +23,5 @@ roc_reporting = {path = "../reporting"}
roc_std = {path = "../roc_std"}
roc_target = {path = "../compiler/roc_target"}
roc_types = {path = "../compiler/types"}
bumpalo.workspace = true

View file

@ -1,19 +1,13 @@
[package]
name = "roc_repl_expect"
description = "Supports evaluating expect and printing contextual information when they fail."
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Supports evaluating expect and printing contextual information when they fail."
[dependencies]
bumpalo.workspace = true
target-lexicon.workspace = true
libloading.workspace = true
signal-hook.workspace = true
libc.workspace = true
inkwell.workspace = true
roc_builtins = {path = "../compiler/builtins"}
roc_can = {path = "../compiler/can"}
roc_collections = {path = "../compiler/collections"}
@ -32,6 +26,13 @@ roc_region = { path = "../compiler/region" }
roc_build = { path = "../compiler/build" }
roc_error_macros = { path = "../error_macros" }
bumpalo.workspace = true
target-lexicon.workspace = true
libloading.workspace = true
signal-hook.workspace = true
libc.workspace = true
inkwell.workspace = true
[dev-dependencies]
roc_build = { path = "../compiler/build", features = ["target-aarch64", "target-x86_64"] }

View file

@ -1,24 +1,25 @@
[package]
edition.workspace = true
name = "repl_test"
description = "Tests the roc REPL."
edition.workspace = true
version.workspace = true
authors.workspace = true
license.workspace = true
description = "Tests the roc REPL."
[build-dependencies]
roc_cli = {path = "../cli"}
[dev-dependencies]
indoc = "1.0.7"
strip-ansi-escapes = "0.1.1"
bumpalo.workspace = true
roc_build = { path = "../compiler/build" }
roc_repl_cli = {path = "../repl_cli"}
roc_test_utils = {path = "../test_utils"}
roc_wasm_interp = {path = "../wasm_interp"}
indoc.workspace = true
strip-ansi-escapes.workspace = true
bumpalo.workspace = true
[features]
default = ["target-aarch64", "target-x86_64", "target-wasm32"]
wasm = ["target-wasm32"]

View file

@ -1,10 +1,11 @@
[package]
edition.workspace = true
name = "roc_repl_wasm"
description = "Provides a build of the REPL for the Roc website using WebAssembly."
edition.workspace = true
version.workspace = true
authors.workspace = true
license.workspace = true
description = "Provides a build of the REPL for the Roc website using WebAssembly."
[lib]
crate-type = ["cdylib"]
@ -13,15 +14,16 @@ crate-type = ["cdylib"]
roc_builtins = {path = "../compiler/builtins"}
roc_utils = {path = "../utils"}
wasi_libc_sys = { path = "../wasi-libc-sys" }
tempfile.workspace = true
[dependencies]
bumpalo.workspace = true
console_error_panic_hook = {version = "0.1.7", optional = true}
futures = {version = "0.3.24", optional = true}
js-sys = "0.3.60"
wasm-bindgen = "0.2.79"
wasm-bindgen-futures = "0.4.33"
console_error_panic_hook = {workspace = true, optional = true}
futures = {workspace = true, optional = true}
js-sys.workspace = true
wasm-bindgen.workspace = true
wasm-bindgen-futures.workspace = true
roc_collections = {path = "../compiler/collections"}
roc_gen_wasm = {path = "../compiler/gen_wasm"}

View file

@ -1,10 +1,11 @@
[package]
name = "roc_reporting"
description = "Responsible for generating warning and error messages."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Responsible for generating warning and error messages."
[dependencies]
roc_collections = { path = "../compiler/collections" }
@ -20,6 +21,7 @@ roc_fmt = { path = "../compiler/fmt" }
roc_solve_problem = { path = "../compiler/solve_problem" }
roc_std = { path = "../roc_std" }
ven_pretty = { path = "../vendor/pretty" }
distance.workspace = true
bumpalo.workspace = true

View file

@ -1,25 +1,26 @@
[package]
authors.workspace = true
name = "roc_std"
description = "Rust representations of Roc data structures"
readme = "README.md"
authors.workspace = true
edition.workspace = true
license.workspace = true
name = "roc_std"
readme = "README.md"
repository.workspace = true
version.workspace = true
[dependencies]
static_assertions = "1.1.0"
arrayvec = "0.7.2"
serde = { version = "1", optional = true }
static_assertions.workspace = true
arrayvec.workspace = true
serde = { workspace = true, optional = true }
[dev-dependencies]
indoc = "1.0.3"
libc = "0.2.135"
pretty_assertions = "1.0.0"
quickcheck = "1.0.3"
quickcheck_macros = "1.0.0"
serde_json = "1.0.83"
indoc.workspace = true
libc.workspace = true
pretty_assertions.workspace = true
quickcheck.workspace = true
quickcheck_macros.workspace = true
serde_json.workspace = true
[features]
std = []

View file

@ -1,13 +1,14 @@
[package]
name = "roc_test_utils"
description = "Utility functions used all over the code base."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Utility functions used all over the code base."
[dependencies]
pretty_assertions = "1.3.0"
remove_dir_all = "0.8.0"
pretty_assertions.workspace = true
remove_dir_all.workspace = true
[dev-dependencies]

View file

@ -1,12 +1,13 @@
[package]
name = "roc_tracing"
description = "Utilities for setting up tracing at various executable entry points."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Utilities for setting up tracing at various executable entry points."
[dependencies]
tracing = { version = "0.1.36", features = ["release_max_level_off"] }
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
tracing-appender = "0.2.2"
tracing.workspace = true
tracing-subscriber.workspace = true
tracing-appender.workspace = true

View file

@ -1,12 +1,13 @@
[package]
name = "roc_utils"
description = "Utility functions used all over the code base."
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
description = "Utility functions used all over the code base."
[dependencies]
snafu = { version = "0.7.1", features = ["backtraces"] }
snafu.workspace = true
[dev-dependencies]

View file

@ -1,5 +1,6 @@
[package]
name = "valgrind"
version.workspace = true
edition.workspace = true
authors.workspace = true
@ -13,6 +14,7 @@ roc_load = { path = "../compiler/load" }
roc_reporting = { path = "../reporting" }
roc_linker = { path = "../linker" }
roc_packaging = { path = "../packaging" }
bumpalo.workspace = true
target-lexicon.workspace = true
tempfile.workspace = true

View file

@ -1,9 +1,10 @@
[package]
authors.workspace = true
description = "Rust wrapper for a WebAssembly test platform built on libc"
name = "wasi_libc_sys"
authors.workspace = true
edition.workspace = true
license.workspace = true
name = "wasi_libc_sys"
repository.workspace = true
version.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_wasm_interp"
description = "A WebAssembly interpreter for testing the compiler."
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "A WebAssembly interpreter for testing the compiler."
[[bin]]
name = "roc_wasm_interp"
@ -12,7 +13,8 @@ path = "src/main.rs"
[dependencies]
roc_wasm_module = { path = "../wasm_module" }
rand = "0.8.4"
rand.workspace = true
bitvec.workspace = true
bumpalo.workspace = true
clap.workspace = true

View file

@ -1,10 +1,11 @@
[package]
name = "roc_wasm_module"
description = "Parse, manipulate, and serialize WebAssembly modules."
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Parse, manipulate, and serialize WebAssembly modules."
[dependencies]
roc_error_macros = { path = "../error_macros" }

View file

@ -8,10 +8,11 @@ license = "UPL-1.0"
[dependencies]
[dev-dependencies]
criterion = { git = "https://github.com/Anton-4/criterion.rs"}
cli_utils = { path = "../cli/cli_utils" }
criterion-perf-events ={ git = "https://github.com/Anton-4/criterion-perf-events" }
perfcnt = "0.7.1"
criterion.workspace = true
criterion-perf-events.workspace = true
perfcnt.workspace = true
[[bench]]
name = "events_bench"