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 = [ dependencies = [
"atty", "atty",
"bitflags", "bitflags",
"clap_derive",
"clap_lex", "clap_lex",
"indexmap", "indexmap",
"once_cell",
"strsim", "strsim",
"termcolor", "termcolor",
"textwrap 0.16.0", "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]] [[package]]
name = "clap_lex" name = "clap_lex"
version = "0.2.4" version = "0.2.4"
@ -2648,30 +2633,6 @@ dependencies = [
"toml_edit", "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]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.51" 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. # 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" ] } 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" arrayvec = "0.7.2"
libfuzzer-sys = "0.3"
bincode = "1.3.3" bincode = "1.3.3"
bitvec = "1.0.1" bitvec = "1.0.1"
bumpalo = { version = "3.11.1", features = ["collections"] } 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"] } clap = { version = "3.2.20", default-features = false, features = ["std", "color", "suggestions"] }
const_format = { version = "0.2.23", features = ["const_generics"] } const_format = { version = "0.2.23", features = ["const_generics"] }
criterion = { git = "https://github.com/Anton-4/criterion.rs", features = ["html_reports"]} 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" crossbeam = "0.8.2"
distance = "0.4.0" distance = "0.4.0"
encode_unicode = "1.0.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 = {git = "https://github.com/roc-lang/rustyline", rev = "e74333c"}
rustyline-derive = {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 = { version = "1.0.144", features = ["derive"] }
serde_json = "1.0.83"
signal-hook = "0.3.14" signal-hook = "0.3.14"
snafu = { version = "0.7.1", features = ["backtraces"] } snafu = { version = "0.7.1", features = ["backtraces"] }
static_assertions = "1.1.0" static_assertions = "1.1.0"
@ -119,6 +128,45 @@ unicode-segmentation = "1.10.0"
walkdir = "2.3.2" walkdir = "2.3.2"
wyhash = "0.5.0" wyhash = "0.5.0"
object = { version = "0.30.3", features = ["read", "write"] } 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 # Optimizations based on https://deterministic.space/high-performance-rust.html
[profile.release] [profile.release]

View file

@ -1,10 +1,11 @@
[package] [package]
name = "roc_ast" 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 version.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
edition.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] [dependencies]
roc_builtins = { path = "../compiler/builtins"} roc_builtins = { path = "../compiler/builtins"}
@ -35,5 +36,4 @@ libc.workspace = true
indoc.workspace = true indoc.workspace = true
[target.'cfg(windows)'.dependencies] [target.'cfg(windows)'.dependencies]
winapi = { version = "0.3.9", features = ["memoryapi"]} winapi.workspace = true

View file

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

View file

@ -1,13 +1,12 @@
[package] [package]
name = "cli_utils" name = "cli_utils"
description = "Provides shared code for cli tests and benchmarks."
version.workspace = true version.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
repository.workspace = true repository.workspace = true
edition.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] [dependencies]
roc_collections = { path = "../compiler/collections" } roc_collections = { path = "../compiler/collections" }
@ -16,12 +15,12 @@ roc_load = { path = "../compiler/load" }
roc_module = { path = "../compiler/module" } roc_module = { path = "../compiler/module" }
roc_utils = { path = "../utils" } roc_utils = { path = "../utils" }
bumpalo = { version = "3.8.0", features = ["collections"] } bumpalo.workspace = true
criterion = { git = "https://github.com/Anton-4/criterion.rs"} criterion.workspace = true
serde = { version = "1.0.130", features = ["derive"] } serde.workspace = true
serde-xml-rs = "0.5.1" serde-xml-rs.workspace = true
strip-ansi-escapes = "0.1.1" strip-ansi-escapes.workspace = true
tempfile = "3.2.0" tempfile.workspace = true
[target.'cfg(unix)'.dependencies] [target.'cfg(unix)'.dependencies]
rlimit = "0.6.2" rlimit.workspace = true

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,10 +1,11 @@
[package] [package]
name = "roc_can" 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 version.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
edition.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] [dependencies]
roc_collections = { path = "../collections" } roc_collections = { path = "../collections" }
@ -17,12 +18,12 @@ roc_problem = { path = "../problem" }
roc_types = { path = "../types" } roc_types = { path = "../types" }
roc_serialize = { path = "../serialize" } roc_serialize = { path = "../serialize" }
ven_pretty = { path = "../../vendor/pretty" }
bumpalo.workspace = true bumpalo.workspace = true
static_assertions.workspace = true static_assertions.workspace = true
bitvec.workspace = true bitvec.workspace = true
ven_pretty = { path = "../../vendor/pretty" }
[dev-dependencies] [dev-dependencies]
pretty_assertions.workspace = true pretty_assertions.workspace = true
indoc.workspace = true indoc.workspace = true

View file

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

View file

@ -1,10 +1,11 @@
[package] [package]
name = "roc_constrain" 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 version.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
edition.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] [dependencies]
roc_collections = { path = "../collections" } roc_collections = { path = "../collections" }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,10 +1,11 @@
[package] [package]
name = "roc_load" 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 version.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
edition.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] [dependencies]
roc_load_internal = { path = "../load_internal" } roc_load_internal = { path = "../load_internal" }

View file

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

View file

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

View file

@ -1,10 +1,11 @@
[package] [package]
name = "roc_mono" 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 version.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
edition.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] [dependencies]
roc_collections = { path = "../collections" } roc_collections = { path = "../collections" }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,10 +1,11 @@
[package] [package]
name = "roc_editor" name = "roc_editor"
description = "An editor for Roc"
version.workspace = true version.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
edition.workspace = true edition.workspace = true
description = "An editor for Roc"
[package.metadata.cargo-udeps.ignore] [package.metadata.cargo-udeps.ignore]
# confy is currently unused but should not be removed # confy is currently unused but should not be removed
@ -33,25 +34,23 @@ roc_packaging = { path = "../packaging" }
roc_reporting = { path = "../reporting" } roc_reporting = { path = "../reporting" }
roc_solve = { path = "../compiler/solve" } roc_solve = { path = "../compiler/solve" }
ven_graph = { path = "../vendor/pathfinding" } 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 arrayvec.workspace = true
bumpalo.workspace = true bumpalo.workspace = true
fs_extra.workspace = true fs_extra.workspace = true
@ -60,12 +59,7 @@ page_size.workspace = true
serde.workspace = true serde.workspace = true
snafu.workspace = true snafu.workspace = true
[dependencies.bytemuck]
version = "1.12.1"
features = ["derive"]
[dev-dependencies] [dev-dependencies]
rand = "0.8.4" rand.workspace = true
uuid = { version = "1.1.2", features = ["v4"] } uuid.workspace = true
tempfile.workspace = true tempfile.workspace = true

View file

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

View file

@ -1,10 +1,11 @@
[package] [package]
name = "roc_glue" 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 version.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
edition.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] [dependencies]
roc_std = { path = "../roc_std"} roc_std = { path = "../roc_std"}
@ -20,17 +21,17 @@ roc_collections = { path = "../compiler/collections" }
roc_target = { path = "../compiler/roc_target" } roc_target = { path = "../compiler/roc_target" }
roc_error_macros = { path = "../error_macros" } roc_error_macros = { path = "../error_macros" }
roc_tracing = { path = "../tracing" } roc_tracing = { path = "../tracing" }
indexmap = "1.8.1"
bumpalo.workspace = true bumpalo.workspace = true
fnv.workspace = true fnv.workspace = true
indexmap.workspace = true
strum.workspace = true strum.workspace = true
strum_macros.workspace = true strum_macros.workspace = true
target-lexicon.workspace = true target-lexicon.workspace = true
[dev-dependencies] [dev-dependencies]
cli_utils = { path = "../cli_utils" } cli_utils = { path = "../cli_utils" }
dircpy = "0.3.13" dircpy.workspace = true
indoc.workspace = true indoc.workspace = true
pretty_assertions.workspace = true pretty_assertions.workspace = true

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,16 +1,13 @@
[package] [package]
edition.workspace = true
name = "roc_repl_eval" name = "roc_repl_eval"
description = "Provides the functionality for the REPL to evaluate Roc expressions."
edition.workspace = true
version.workspace = true version.workspace = true
authors.workspace = true authors.workspace = true
license.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] [dependencies]
bumpalo.workspace = true
roc_builtins = {path = "../compiler/builtins"} roc_builtins = {path = "../compiler/builtins"}
roc_can = {path = "../compiler/can"} roc_can = {path = "../compiler/can"}
roc_collections = {path = "../compiler/collections"} roc_collections = {path = "../compiler/collections"}
@ -26,3 +23,5 @@ roc_reporting = {path = "../reporting"}
roc_std = {path = "../roc_std"} roc_std = {path = "../roc_std"}
roc_target = {path = "../compiler/roc_target"} roc_target = {path = "../compiler/roc_target"}
roc_types = {path = "../compiler/types"} roc_types = {path = "../compiler/types"}
bumpalo.workspace = true

View file

@ -1,19 +1,13 @@
[package] [package]
name = "roc_repl_expect" name = "roc_repl_expect"
description = "Supports evaluating expect and printing contextual information when they fail."
version.workspace = true version.workspace = true
edition.workspace = true edition.workspace = true
authors.workspace = true authors.workspace = true
license.workspace = true license.workspace = true
description = "Supports evaluating expect and printing contextual information when they fail."
[dependencies] [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_builtins = {path = "../compiler/builtins"}
roc_can = {path = "../compiler/can"} roc_can = {path = "../compiler/can"}
roc_collections = {path = "../compiler/collections"} roc_collections = {path = "../compiler/collections"}
@ -32,6 +26,13 @@ roc_region = { path = "../compiler/region" }
roc_build = { path = "../compiler/build" } roc_build = { path = "../compiler/build" }
roc_error_macros = { path = "../error_macros" } 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] [dev-dependencies]
roc_build = { path = "../compiler/build", features = ["target-aarch64", "target-x86_64"] } roc_build = { path = "../compiler/build", features = ["target-aarch64", "target-x86_64"] }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -8,10 +8,11 @@ license = "UPL-1.0"
[dependencies] [dependencies]
[dev-dependencies] [dev-dependencies]
criterion = { git = "https://github.com/Anton-4/criterion.rs"}
cli_utils = { path = "../cli/cli_utils" } 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]] [[bench]]
name = "events_bench" name = "events_bench"