graphql-engine/v3/Cargo.toml
Daniel Chambers 01539cd7c1 Upgrade ndc_models to v0.2.0-rc0 (#835)
This PR adds true support for ndc_models v0.2.0 to v3-engine. Note that
v0.2.0 is not finalized yet, so we're pointing at v0.2.0-rc0. The
support still comes via the migration methodology, where v0.2.x ndc
models are downgraded to v0.1.x to support backwards compatibility. In
the future we want to remove this and have the engine generate the
different versioned ndc models separately instead of performing a
migration.

The ndc_models_v01 crate reference has been bumped to the official
v0.1.5 version, which brings the newtypes to the v0.1.x version. The
ndc_models crate reference is now on v0.2.0-rc0.

The custom connector has been updated to support ndc-spec v0.2.0. All
tests that talk to the custom connector have been updated with its
latest v0.2.0 schema/capabilities.

In `metadata_resolve` the v01->v02 schema/capabilities migration code
has been updated to handle the new v0.2.0 types. This includes inferring
v0.2.0 capabilities from what was possible in v0.1.x.

In `execution`, the migration code has been updated to deal with the new
v0.1.5 newtypes and v0.2.0 types. This means there are now cases where a
downgrade is impossible and produces an error (see `NdcDowngradeError`
in `execute::ndc::migration`). A bug has also been fixed where NDC
expressions in arguments were not being serialized to the correct NDC
version.

V3_GIT_ORIGIN_REV_ID: 5b4afcde64c307b2bd7c985c588d6c74d9623a0f
2024-07-16 01:53:42 +00:00

130 lines
2.9 KiB
TOML

[workspace]
resolver = "2"
package.version = "0.1.0"
package.edition = "2021"
package.license = "Apache-2.0"
members = [
"crates/auth/*",
"crates/custom-connector",
"crates/engine",
"crates/execute",
"crates/lang-graphql",
"crates/metadata-resolve",
"crates/metadata-schema-generator",
"crates/open-dds",
"crates/plugins/*",
"crates/query-usage-analytics",
"crates/schema",
"crates/sql",
"crates/utils/*",
]
[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
# ban printing to stdout and stderr
print_stdout = "warn"
print_stderr = "warn"
# unstable warnings; we might need to suppress them
redundant_clone = "warn"
# disable this warning until
# https://github.com/rust-lang/rust-clippy/issues/12643 is fixed
manual_unwrap_or_default = "allow"
# disable certain pedantic warnings
doc_markdown = "allow"
implicit_hasher = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
return_self_not_must_use = "allow"
struct_field_names = "allow"
wildcard_imports = "allow"
# disable these for now, but we should probably fix them
result_large_err = "allow"
similar_names = "allow"
too_many_arguments = "allow"
too_many_lines = "allow"
unreadable_literal = "allow"
used_underscore_binding = "allow"
[workspace.lints.rustdoc]
private_intra_doc_links = "allow"
[workspace.dependencies]
ndc-models = { git = "https://github.com/hasura/ndc-spec.git", tag = "v0.2.0-rc.0" }
ndc-models-v01 = { package = "ndc-models", git = "https://github.com/hasura/ndc-spec.git", tag = "v0.1.5" }
anyhow = "1"
apollo-parser = "0.7"
async-graphql-parser = "7"
async-recursion = "1"
axum = "0.6"
base64 = "0.22"
bincode = "1"
bson = "2"
build-data = "0.2"
bytes = "1"
clap = "4"
convert_case = "0.6"
cookie = "0.18"
criterion = "0.5"
darling = "0.20"
derive_more = "0.99"
diffy = "0.4"
env_logger = "0.11"
expect-test = "1"
futures-util = "0.3"
goldenfile = "1"
graphql-parser = "0.4"
http = "0.2"
human_bytes = "0.4"
indexmap = "2"
insta = "1"
json_value_merge = "2"
jsonptr = "0.4"
jsonwebkey = "0.3"
jsonwebtoken = "8"
lexical-core = "0.8"
mockito = { version = "1", default-features = false }
nonempty = "0.10"
openssl = "0.10"
opentelemetry = "0.22"
opentelemetry-contrib = "0.14"
opentelemetry-http = "0.11"
opentelemetry-otlp = "0.15"
opentelemetry-semantic-conventions = "0.14"
opentelemetry-stdout = { version = "0.3", default-features = false }
opentelemetry-zipkin = "0.20"
opentelemetry_sdk = "0.22"
postcard = "1"
pretty_assertions = "1"
proc-macro2 = "1"
quote = "1"
rand = "0.8"
ref-cast = "1"
regex = "1"
reqwest = "0.11"
rmp-serde = "1"
schemars = "0.8"
serde = "1"
serde_json = "1"
serde_path_to_error = "0.1"
serde_with = "3"
sha2 = "0.10"
smol_str = "0.1"
strum = "0.26"
strum_macros = "0.26"
syn = "2"
thiserror = "1"
tokio = "1"
tokio-test = "0.4"
tower = "0.4"
tower-http = "0.4"
tracing = "0.1"
tracing-subscriber = "0.3"
transitive = "0.5"
url = "2"