Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(schema-engine-wasm): wasm-compatible sql-schema-describer, schema-connector #5106

Merged
merged 9 commits into from
Jan 8, 2025

Conversation

jkomyno
Copy link
Contributor

@jkomyno jkomyno commented Jan 7, 2025

This PR:

  • closes ORM-456
  • closes ORM-457
  • allow cargo build -p sql-schema-describer --features sqlite --target wasm32-unknown-unknown to succeed (and --features postgresql, and so on)
  • allow cargo build -p schema-connector --features sqlite --target wasm32-unknown-unknown to succeed (and --features postgresql, and so on)
  • allow cargo build -p schema-engine-cli to build as usual

@jkomyno jkomyno requested a review from a team as a code owner January 7, 2025 11:27
@jkomyno jkomyno requested review from FGoessler and removed request for a team January 7, 2025 11:27
@jkomyno jkomyno added this to the 6.2.0 milestone Jan 7, 2025
@jkomyno jkomyno requested review from jacek-prisma and removed request for FGoessler January 7, 2025 11:28
Copy link

codspeed-hq bot commented Jan 7, 2025

CodSpeed Performance Report

Merging #5106 will not alter performance

Comparing feat/wasm-compatible-sql-schema-describer (de59897) with main (4123509)

Summary

✅ 11 untouched benchmarks

Copy link
Contributor

github-actions bot commented Jan 7, 2025

WASM Query Engine file Size

Engine This PR Base branch Diff
Postgres 2.096MiB 2.096MiB 0.000B
Postgres (gzip) 841.365KiB 841.363KiB 2.000B
Mysql 2.057MiB 2.057MiB 0.000B
Mysql (gzip) 827.872KiB 827.871KiB 1.000B
Sqlite 1.972MiB 1.972MiB 0.000B
Sqlite (gzip) 792.450KiB 792.450KiB 0.000B

@jkomyno jkomyno changed the title feat(schema-engine-wasm): wasm-compatible sql-schema-describer feat(schema-engine-wasm): wasm-compatible sql-schema-describer, schema-connector Jan 7, 2025
@jkomyno jkomyno removed this from the 6.2.0 milestone Jan 7, 2025
@jkomyno jkomyno force-pushed the feat/wasm-compatible-sql-schema-describer branch from d071b42 to 94fdcdb Compare January 8, 2025 12:47
@jkomyno
Copy link
Contributor Author

jkomyno commented Jan 8, 2025

I've fixed most CI failures, except for

error: field `connection_limit` is never read
Error:    --> quaint/src/connector/postgres/url.rs:472:16
    |
470 | pub(crate) struct PostgresUrlQueryParams {
    |                   ---------------------- field in this struct
471 |     pub(crate) ssl_params: SslParams,
472 |     pub(crate) connection_limit: Option<usize>,
    |                ^^^^^^^^^^^^^^^^
    |
    = note: `PostgresUrlQueryParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
    = note: `-D dead-code` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(dead_code)]`

This happens because quaint is a transitive dependency of schema-connector and user-facing-errors, which is loaded in mongodb-schema-connector as well.

cargo tree -e features -p mongodb-schema-connector
mongodb-schema-connector v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/schema-engine/connectors/mongodb-schema-connector)
├── user-facing-errors v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/libs/user-facing-errors)
│   ├── serde feature "default"
│   │   ├── serde v1.0.206
│   │   │   └── serde_derive feature "default"
│   │   │       └── serde_derive v1.0.206 (proc-macro)
│   │   │           ├── proc-macro2 feature "proc-macro"
│   │   │           │   └── proc-macro2 v1.0.78
│   │   │           │       └── unicode-ident feature "default"
│   │   │           │           └── unicode-ident v1.0.11
│   │   │           ├── quote feature "proc-macro"
│   │   │           │   ├── quote v1.0.35
│   │   │           │   │   └── proc-macro2 v1.0.78 (*)
│   │   │           │   └── proc-macro2 feature "proc-macro" (*)
│   │   │           ├── syn feature "clone-impls"
│   │   │           │   └── syn v2.0.58
│   │   │           │       ├── proc-macro2 v1.0.78 (*)
│   │   │           │       ├── quote v1.0.35 (*)
│   │   │           │       └── unicode-ident feature "default" (*)
│   │   │           ├── syn feature "derive"
│   │   │           │   └── syn v2.0.58 (*)
│   │   │           ├── syn feature "parsing"
│   │   │           │   └── syn v2.0.58 (*)
│   │   │           ├── syn feature "printing"
│   │   │           │   └── syn v2.0.58 (*)
│   │   │           └── syn feature "proc-macro"
│   │   │               ├── syn v2.0.58 (*)
│   │   │               ├── proc-macro2 feature "proc-macro" (*)
│   │   │               └── quote feature "proc-macro" (*)
│   │   └── serde feature "std"
│   │       └── serde v1.0.206 (*)
│   ├── serde feature "derive"
│   │   ├── serde v1.0.206 (*)
│   │   └── serde feature "serde_derive"
│   │       └── serde v1.0.206 (*)
│   ├── serde_json feature "default"
│   │   ├── serde_json v1.0.104
│   │   │   ├── serde v1.0.206 (*)
│   │   │   ├── indexmap feature "default"
│   │   │   │   ├── indexmap v2.2.2
│   │   │   │   │   ├── equivalent v1.0.1
│   │   │   │   │   ├── serde v1.0.206 (*)
│   │   │   │   │   └── hashbrown feature "raw"
│   │   │   │   │       └── hashbrown v0.14.5
│   │   │   │   │           └── ahash v0.8.11
│   │   │   │   │               ├── cfg-if feature "default"
│   │   │   │   │               │   └── cfg-if v1.0.0
│   │   │   │   │               ├── getrandom feature "default"
│   │   │   │   │               │   └── getrandom v0.2.11
│   │   │   │   │               │       ├── libc v0.2.151
│   │   │   │   │               │       └── cfg-if feature "default" (*)
│   │   │   │   │               ├── once_cell feature "alloc"
│   │   │   │   │               │   ├── once_cell v1.19.0
│   │   │   │   │               │   └── once_cell feature "race"
│   │   │   │   │               │       └── once_cell v1.19.0
│   │   │   │   │               └── zerocopy feature "simd"
│   │   │   │   │                   └── zerocopy v0.7.32
│   │   │   │   │               [build-dependencies]
│   │   │   │   │               └── version_check feature "default"
│   │   │   │   │                   └── version_check v0.9.4
│   │   │   │   └── indexmap feature "std"
│   │   │   │       └── indexmap v2.2.2 (*)
│   │   │   ├── itoa feature "default"
│   │   │   │   └── itoa v1.0.9
│   │   │   └── ryu feature "default"
│   │   │       └── ryu v1.0.15
│   │   └── serde_json feature "std"
│   │       ├── serde_json v1.0.104 (*)
│   │       └── serde feature "std" (*)
│   ├── serde_json feature "float_roundtrip"
│   │   └── serde_json v1.0.104 (*)
│   ├── serde_json feature "preserve_order"
│   │   ├── serde_json v1.0.104 (*)
│   │   ├── serde_json feature "indexmap"
│   │   │   └── serde_json v1.0.104 (*)
│   │   └── serde_json feature "std" (*)
│   ├── serde_json feature "raw_value"
│   │   └── serde_json v1.0.104 (*)
│   ├── indoc feature "default"
│   │   └── indoc v2.0.3 (proc-macro)
│   ├── itertools feature "default"
│   │   ├── itertools v0.12.0
│   │   │   └── either v1.9.0
│   │   └── itertools feature "use_std"
│   │       ├── itertools v0.12.0 (*)
│   │       ├── either feature "use_std"
│   │       │   └── either v1.9.0
│   │       └── itertools feature "use_alloc"
│   │           └── itertools v0.12.0 (*)
│   ├── tracing feature "default"
│   │   ├── tracing v0.1.40
│   │   │   ├── tracing-core v0.1.32
│   │   │   │   └── once_cell feature "default"
│   │   │   │       ├── once_cell v1.19.0
│   │   │   │       └── once_cell feature "std"
│   │   │   │           ├── once_cell v1.19.0
│   │   │   │           └── once_cell feature "alloc" (*)
│   │   │   ├── pin-project-lite feature "default"
│   │   │   │   └── pin-project-lite v0.2.12
│   │   │   └── tracing-attributes feature "default"
│   │   │       └── tracing-attributes v0.1.27 (proc-macro)
│   │   │           ├── proc-macro2 feature "default"
│   │   │           │   ├── proc-macro2 v1.0.78 (*)
│   │   │           │   └── proc-macro2 feature "proc-macro" (*)
│   │   │           ├── quote feature "default"
│   │   │           │   ├── quote v1.0.35 (*)
│   │   │           │   └── quote feature "proc-macro" (*)
│   │   │           ├── syn feature "clone-impls" (*)
│   │   │           ├── syn feature "extra-traits"
│   │   │           │   └── syn v2.0.58 (*)
│   │   │           ├── syn feature "full"
│   │   │           │   └── syn v2.0.58 (*)
│   │   │           ├── syn feature "parsing" (*)
│   │   │           ├── syn feature "printing" (*)
│   │   │           ├── syn feature "proc-macro" (*)
│   │   │           └── syn feature "visit-mut"
│   │   │               └── syn v2.0.58 (*)
│   │   ├── tracing feature "attributes"
│   │   │   ├── tracing v0.1.40 (*)
│   │   │   └── tracing feature "tracing-attributes"
│   │   │       └── tracing v0.1.40 (*)
│   │   └── tracing feature "std"
│   │       ├── tracing v0.1.40 (*)
│   │       └── tracing-core feature "std"
│   │           ├── tracing-core v0.1.32 (*)
│   │           └── tracing-core feature "once_cell"
│   │               └── tracing-core v0.1.32 (*)
│   ├── backtrace feature "default"
│   │   ├── backtrace v0.3.68
│   │   │   ├── addr2line v0.20.0
│   │   │   │   └── gimli feature "read"
│   │   │   │       ├── gimli v0.27.3
│   │   │   │       └── gimli feature "read-core"
│   │   │   │           └── gimli v0.27.3
│   │   │   ├── libc v0.2.151
│   │   │   ├── miniz_oxide v0.7.1
│   │   │   │   └── adler v1.0.2
│   │   │   ├── cfg-if feature "default" (*)
│   │   │   ├── object feature "archive"
│   │   │   │   └── object v0.31.1
│   │   │   │       └── memchr v2.7.1
│   │   │   ├── object feature "elf"
│   │   │   │   └── object v0.31.1 (*)
│   │   │   ├── object feature "macho"
│   │   │   │   └── object v0.31.1 (*)
│   │   │   ├── object feature "pe"
│   │   │   │   ├── object v0.31.1 (*)
│   │   │   │   └── object feature "coff"
│   │   │   │       └── object v0.31.1 (*)
│   │   │   ├── object feature "read_core"
│   │   │   │   └── object v0.31.1 (*)
│   │   │   ├── object feature "unaligned"
│   │   │   │   └── object v0.31.1 (*)
│   │   │   └── rustc-demangle feature "default"
│   │   │       └── rustc-demangle v0.1.23
│   │   │   [build-dependencies]
│   │   │   └── cc feature "default"
│   │   │       └── cc v1.1.30
│   │   │           └── shlex feature "default"
│   │   │               ├── shlex v1.3.0
│   │   │               └── shlex feature "std"
│   │   │                   └── shlex v1.3.0
│   │   └── backtrace feature "std"
│   │       └── backtrace v0.3.68 (*)
│   └── user-facing-error-macros feature "default"
│       └── user-facing-error-macros v0.1.0 (proc-macro) (/Users/jkomyno/work/prisma/prisma-engines-wasm/libs/user-facing-error-macros)
│           ├── proc-macro2 feature "default" (*)
│           ├── quote feature "default" (*)
│           └── syn feature "default"
│               ├── syn v1.0.109
│               │   ├── proc-macro2 v1.0.78 (*)
│               │   ├── quote v1.0.35 (*)
│               │   └── unicode-ident feature "default" (*)
│               ├── syn feature "clone-impls"
│               │   └── syn v1.0.109 (*)
│               ├── syn feature "derive"
│               │   └── syn v1.0.109 (*)
│               ├── syn feature "parsing"
│               │   └── syn v1.0.109 (*)
│               ├── syn feature "printing"
│               │   ├── syn v1.0.109 (*)
│               │   └── syn feature "quote"
│               │       └── syn v1.0.109 (*)
│               └── syn feature "proc-macro"
│                   ├── syn v1.0.109 (*)
│                   ├── proc-macro2 feature "proc-macro" (*)
│                   ├── quote feature "proc-macro" (*)
│                   └── syn feature "quote" (*)
├── bson feature "chrono-0_4"
│   ├── bson v2.11.0
│   │   ├── ahash feature "default"
│   │   │   ├── ahash v0.8.11 (*)
│   │   │   ├── ahash feature "runtime-rng"
│   │   │   │   ├── ahash v0.8.11 (*)
│   │   │   │   └── ahash feature "getrandom"
│   │   │   │       └── ahash v0.8.11 (*)
│   │   │   └── ahash feature "std"
│   │   │       └── ahash v0.8.11 (*)
│   │   ├── once_cell feature "default" (*)
│   │   ├── base64 feature "default"
│   │   │   ├── base64 v0.13.1
│   │   │   └── base64 feature "std"
│   │   │       └── base64 v0.13.1
│   │   ├── bitvec feature "default"
│   │   │   ├── bitvec v1.0.1
│   │   │   │   ├── funty v2.0.0
│   │   │   │   ├── wyz v0.5.1
│   │   │   │   │   └── tap feature "default"
│   │   │   │   │       └── tap v1.0.1
│   │   │   │   ├── radium feature "default"
│   │   │   │   │   └── radium v0.7.0
│   │   │   │   └── tap feature "default" (*)
│   │   │   ├── bitvec feature "atomic"
│   │   │   │   └── bitvec v1.0.1 (*)
│   │   │   └── bitvec feature "std"
│   │   │       ├── bitvec v1.0.1 (*)
│   │   │       └── bitvec feature "alloc"
│   │   │           └── bitvec v1.0.1 (*)
│   │   ├── chrono feature "std"
│   │   │   ├── chrono v0.4.38
│   │   │   │   ├── num-traits v0.2.16
│   │   │   │   │   [build-dependencies]
│   │   │   │   │   └── autocfg feature "default"
│   │   │   │   │       └── autocfg v1.1.0
│   │   │   │   ├── serde v1.0.206 (*)
│   │   │   │   ├── iana-time-zone feature "default"
│   │   │   │   │   └── iana-time-zone v0.1.57
│   │   │   │   │       └── core-foundation-sys feature "default"
│   │   │   │   │           └── core-foundation-sys v0.8.4
│   │   │   │   └── iana-time-zone feature "fallback"
│   │   │   │       └── iana-time-zone v0.1.57 (*)
│   │   │   └── chrono feature "alloc"
│   │   │       └── chrono v0.4.38 (*)
│   │   ├── serde feature "default" (*)
│   │   ├── serde feature "derive" (*)
│   │   ├── hex feature "default"
│   │   │   ├── hex v0.4.3
│   │   │   └── hex feature "std"
│   │   │       ├── hex v0.4.3
│   │   │       └── hex feature "alloc"
│   │   │           └── hex v0.4.3
│   │   ├── indexmap feature "default" (*)
│   │   ├── rand feature "default"
│   │   │   ├── rand v0.8.5
│   │   │   │   ├── libc v0.2.151
│   │   │   │   ├── rand_chacha v0.3.1
│   │   │   │   │   ├── ppv-lite86 feature "simd"
│   │   │   │   │   │   └── ppv-lite86 v0.2.17
│   │   │   │   │   └── rand_core feature "default"
│   │   │   │   │       └── rand_core v0.6.4
│   │   │   │   │           └── getrandom feature "default" (*)
│   │   │   │   └── rand_core feature "default" (*)
│   │   │   ├── rand feature "std"
│   │   │   │   ├── rand v0.8.5 (*)
│   │   │   │   ├── rand feature "alloc"
│   │   │   │   │   ├── rand v0.8.5 (*)
│   │   │   │   │   └── rand_core feature "alloc"
│   │   │   │   │       └── rand_core v0.6.4 (*)
│   │   │   │   ├── rand feature "getrandom"
│   │   │   │   │   ├── rand v0.8.5 (*)
│   │   │   │   │   └── rand_core feature "getrandom"
│   │   │   │   │       └── rand_core v0.6.4 (*)
│   │   │   │   ├── rand feature "libc"
│   │   │   │   │   └── rand v0.8.5 (*)
│   │   │   │   ├── rand feature "rand_chacha"
│   │   │   │   │   └── rand v0.8.5 (*)
│   │   │   │   ├── rand_chacha feature "std"
│   │   │   │   │   ├── rand_chacha v0.3.1 (*)
│   │   │   │   │   └── ppv-lite86 feature "std"
│   │   │   │   │       └── ppv-lite86 v0.2.17
│   │   │   │   └── rand_core feature "std"
│   │   │   │       ├── rand_core v0.6.4 (*)
│   │   │   │       ├── getrandom feature "std"
│   │   │   │       │   └── getrandom v0.2.11 (*)
│   │   │   │       ├── rand_core feature "alloc" (*)
│   │   │   │       └── rand_core feature "getrandom" (*)
│   │   │   └── rand feature "std_rng"
│   │   │       ├── rand v0.8.5 (*)
│   │   │       └── rand feature "rand_chacha" (*)
│   │   ├── serde_bytes feature "default"
│   │   │   ├── serde_bytes v0.11.12
│   │   │   │   └── serde v1.0.206 (*)
│   │   │   └── serde_bytes feature "std"
│   │   │       ├── serde_bytes v0.11.12 (*)
│   │   │       └── serde feature "std" (*)
│   │   ├── serde_json feature "default" (*)
│   │   ├── serde_json feature "preserve_order" (*)
│   │   ├── time feature "default"
│   │   │   ├── time v0.3.36
│   │   │   │   ├── powerfmt v0.2.0
│   │   │   │   ├── itoa feature "default" (*)
│   │   │   │   ├── deranged feature "powerfmt"
│   │   │   │   │   └── deranged v0.3.11
│   │   │   │   │       └── powerfmt v0.2.0
│   │   │   │   ├── num-conv feature "default"
│   │   │   │   │   └── num-conv v0.1.0
│   │   │   │   ├── time-core feature "default"
│   │   │   │   │   └── time-core v0.1.2
│   │   │   │   └── time-macros feature "default"
│   │   │   │       └── time-macros v0.2.18 (proc-macro)
│   │   │   │           ├── num-conv feature "default" (*)
│   │   │   │           └── time-core feature "default" (*)
│   │   │   └── time feature "std"
│   │   │       ├── time v0.3.36 (*)
│   │   │       ├── time feature "alloc"
│   │   │       │   └── time v0.3.36 (*)
│   │   │       └── deranged feature "std"
│   │   │           ├── deranged v0.3.11 (*)
│   │   │           └── deranged feature "alloc"
│   │   │               └── deranged v0.3.11 (*)
│   │   ├── time feature "formatting"
│   │   │   ├── time v0.3.36 (*)
│   │   │   ├── time feature "std" (*)
│   │   │   └── time-macros feature "formatting"
│   │   │       └── time-macros v0.2.18 (proc-macro) (*)
│   │   ├── time feature "large-dates"
│   │   │   ├── time v0.3.36 (*)
│   │   │   └── time-macros feature "large-dates"
│   │   │       └── time-macros v0.2.18 (proc-macro) (*)
│   │   ├── time feature "macros"
│   │   │   └── time v0.3.36 (*)
│   │   ├── time feature "parsing"
│   │   │   ├── time v0.3.36 (*)
│   │   │   └── time-macros feature "parsing"
│   │   │       └── time-macros v0.2.18 (proc-macro) (*)
│   │   ├── uuid feature "default"
│   │   │   ├── uuid v1.10.0
│   │   │   │   ├── serde v1.0.206 (*)
│   │   │   │   └── getrandom feature "default" (*)
│   │   │   └── uuid feature "std"
│   │   │       └── uuid v1.10.0 (*)
│   │   ├── uuid feature "serde"
│   │   │   └── uuid v1.10.0 (*)
│   │   └── uuid feature "v4"
│   │       ├── uuid v1.10.0 (*)
│   │       └── uuid feature "rng"
│   │           └── uuid v1.10.0 (*)
│   └── bson feature "chrono"
│       └── bson v2.11.0 (*)
├── bson feature "default"
│   └── bson v2.11.0 (*)
├── bson feature "uuid-1"
│   └── bson v2.11.0 (*)
├── once_cell feature "default" (*)
├── serde_json feature "default" (*)
├── serde_json feature "float_roundtrip" (*)
├── serde_json feature "preserve_order" (*)
├── serde_json feature "raw_value" (*)
├── convert_case feature "default"
│   └── convert_case v0.6.0
│       └── unicode-segmentation feature "default"
│           └── unicode-segmentation v1.10.1
├── datamodel-renderer feature "default"
│   └── datamodel-renderer v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/schema-engine/datamodel-renderer)
│       ├── once_cell feature "default" (*)
│       ├── base64 feature "default" (*)
│       ├── psl feature "default"
│       │   └── psl v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/psl/psl)
│       │       └── psl-core feature "default"
│       │           └── psl-core v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/psl/psl-core)
│       │               ├── cfg-if feature "default" (*)
│       │               ├── once_cell feature "default" (*)
│       │               ├── chrono feature "default"
│       │               │   ├── chrono v0.4.38 (*)
│       │               │   ├── chrono feature "clock"
│       │               │   │   ├── chrono v0.4.38 (*)
│       │               │   │   ├── chrono feature "android-tzdata"
│       │               │   │   │   └── chrono v0.4.38 (*)
│       │               │   │   ├── chrono feature "iana-time-zone"
│       │               │   │   │   └── chrono v0.4.38 (*)
│       │               │   │   ├── chrono feature "now"
│       │               │   │   │   ├── chrono v0.4.38 (*)
│       │               │   │   │   └── chrono feature "std" (*)
│       │               │   │   └── chrono feature "winapi"
│       │               │   │       ├── chrono v0.4.38 (*)
│       │               │   │       └── chrono feature "windows-targets"
│       │               │   │           └── chrono v0.4.38 (*)
│       │               │   ├── chrono feature "oldtime"
│       │               │   │   └── chrono v0.4.38 (*)
│       │               │   ├── chrono feature "std" (*)
│       │               │   └── chrono feature "wasmbind"
│       │               │       ├── chrono v0.4.38 (*)
│       │               │       ├── chrono feature "js-sys"
│       │               │       │   └── chrono v0.4.38 (*)
│       │               │       └── chrono feature "wasm-bindgen"
│       │               │           └── chrono v0.4.38 (*)
│       │               ├── chrono feature "serde"
│       │               │   └── chrono v0.4.38 (*)
│       │               ├── serde feature "default" (*)
│       │               ├── serde feature "derive" (*)
│       │               ├── hex feature "default" (*)
│       │               ├── serde_json feature "default" (*)
│       │               ├── serde_json feature "float_roundtrip" (*)
│       │               ├── serde_json feature "preserve_order" (*)
│       │               ├── serde_json feature "raw_value" (*)
│       │               ├── bigdecimal feature "default"
│       │               │   └── bigdecimal v0.3.1
│       │               │       ├── num-traits feature "default"
│       │               │       │   ├── num-traits v0.2.16 (*)
│       │               │       │   └── num-traits feature "std"
│       │               │       │       └── num-traits v0.2.16 (*)
│       │               │       ├── num-bigint feature "default"
│       │               │       │   ├── num-bigint v0.4.3
│       │               │       │   │   ├── num-traits feature "i128"
│       │               │       │   │   │   └── num-traits v0.2.16 (*)
│       │               │       │   │   └── num-integer feature "i128"
│       │               │       │   │       ├── num-integer v0.1.45
│       │               │       │   │       │   └── num-traits v0.2.16 (*)
│       │               │       │   │       │   [build-dependencies]
│       │               │       │   │       │   └── autocfg feature "default" (*)
│       │               │       │   │       └── num-traits feature "i128" (*)
│       │               │       │   │   [build-dependencies]
│       │               │       │   │   └── autocfg feature "default" (*)
│       │               │       │   └── num-bigint feature "std"
│       │               │       │       ├── num-bigint v0.4.3 (*)
│       │               │       │       ├── num-traits feature "std" (*)
│       │               │       │       └── num-integer feature "std"
│       │               │       │           ├── num-integer v0.1.45 (*)
│       │               │       │           └── num-traits feature "std" (*)
│       │               │       └── num-integer feature "default"
│       │               │           ├── num-integer v0.1.45 (*)
│       │               │           └── num-integer feature "std" (*)
│       │               ├── connection-string feature "default"
│       │               │   └── connection-string v0.2.0
│       │               ├── diagnostics feature "default"
│       │               │   └── diagnostics v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/psl/diagnostics)
│       │               │       ├── colored feature "default"
│       │               │       │   └── colored v2.0.4
│       │               │       │       ├── is-terminal feature "default"
│       │               │       │       │   └── is-terminal v0.4.9
│       │               │       │       │       ├── rustix feature "default"
│       │               │       │       │       │   ├── rustix v0.38.28
│       │               │       │       │       │   │   ├── bitflags v2.4.0
│       │               │       │       │       │   │   ├── errno v0.3.8
│       │               │       │       │       │   │   │   └── libc v0.2.151
│       │               │       │       │       │   │   └── libc feature "extra_traits"
│       │               │       │       │       │   │       └── libc v0.2.151
│       │               │       │       │       │   ├── rustix feature "std"
│       │               │       │       │       │   │   ├── rustix v0.38.28 (*)
│       │               │       │       │       │   │   ├── libc feature "std"
│       │               │       │       │       │   │   │   └── libc v0.2.151
│       │               │       │       │       │   │   ├── rustix feature "alloc"
│       │               │       │       │       │   │   │   └── rustix v0.38.28 (*)
│       │               │       │       │       │   │   ├── bitflags feature "std"
│       │               │       │       │       │   │   │   └── bitflags v2.4.0
│       │               │       │       │       │   │   └── errno feature "std"
│       │               │       │       │       │   │       ├── errno v0.3.8 (*)
│       │               │       │       │       │   │       └── libc feature "std" (*)
│       │               │       │       │       │   └── rustix feature "use-libc-auxv"
│       │               │       │       │       │       └── rustix v0.38.28 (*)
│       │               │       │       │       └── rustix feature "termios"
│       │               │       │       │           └── rustix v0.38.28 (*)
│       │               │       │       └── lazy_static feature "default"
│       │               │       │           └── lazy_static v1.4.0
│       │               │       ├── indoc feature "default" (*)
│       │               │       └── pest feature "default"
│       │               │           ├── pest v2.7.10
│       │               │           │   ├── ucd-trie v0.1.6
│       │               │           │   ├── memchr feature "default"
│       │               │           │   │   ├── memchr v2.7.1
│       │               │           │   │   └── memchr feature "std"
│       │               │           │   │       ├── memchr v2.7.1
│       │               │           │   │       └── memchr feature "alloc"
│       │               │           │   │           └── memchr v2.7.1
│       │               │           │   └── thiserror feature "default"
│       │               │           │       └── thiserror v1.0.44
│       │               │           │           └── thiserror-impl feature "default"
│       │               │           │               └── thiserror-impl v1.0.44 (proc-macro)
│       │               │           │                   ├── proc-macro2 feature "default" (*)
│       │               │           │                   ├── quote feature "default" (*)
│       │               │           │                   └── syn feature "default"
│       │               │           │                       ├── syn v2.0.58 (*)
│       │               │           │                       ├── syn feature "clone-impls" (*)
│       │               │           │                       ├── syn feature "derive" (*)
│       │               │           │                       ├── syn feature "parsing" (*)
│       │               │           │                       ├── syn feature "printing" (*)
│       │               │           │                       └── syn feature "proc-macro" (*)
│       │               │           ├── pest feature "memchr"
│       │               │           │   └── pest v2.7.10 (*)
│       │               │           └── pest feature "std"
│       │               │               ├── pest v2.7.10 (*)
│       │               │               └── ucd-trie feature "std"
│       │               │                   └── ucd-trie v0.1.6
│       │               ├── indoc feature "default" (*)
│       │               ├── either feature "default"
│       │               │   ├── either v1.9.0
│       │               │   └── either feature "use_std" (*)
│       │               ├── enumflags2 feature "default"
│       │               │   └── enumflags2 v0.7.7
│       │               │       ├── serde v1.0.206 (*)
│       │               │       └── enumflags2_derive feature "default"
│       │               │           └── enumflags2_derive v0.7.7 (proc-macro)
│       │               │               ├── proc-macro2 feature "default" (*)
│       │               │               ├── quote feature "default" (*)
│       │               │               ├── syn feature "default" (*)
│       │               │               └── syn feature "full" (*)
│       │               ├── enumflags2 feature "serde"
│       │               │   └── enumflags2 v0.7.7 (*)
│       │               ├── itertools feature "default" (*)
│       │               ├── lsp-types feature "default"
│       │               │   └── lsp-types v0.95.1
│       │               │       ├── serde feature "default" (*)
│       │               │       ├── serde feature "derive" (*)
│       │               │       ├── serde_json feature "default" (*)
│       │               │       ├── bitflags feature "default"
│       │               │       │   └── bitflags v1.3.2
│       │               │       ├── serde_repr feature "default"
│       │               │       │   └── serde_repr v0.1.17 (proc-macro)
│       │               │       │       ├── proc-macro2 feature "default" (*)
│       │               │       │       ├── quote feature "default" (*)
│       │               │       │       └── syn feature "default" (*)
│       │               │       ├── url feature "default"
│       │               │       │   └── url v2.5.0
│       │               │       │       ├── serde feature "default" (*)
│       │               │       │       ├── serde feature "derive" (*)
│       │               │       │       ├── form_urlencoded feature "default"
│       │               │       │       │   ├── form_urlencoded v1.2.1
│       │               │       │       │   │   └── percent-encoding v2.3.1
│       │               │       │       │   └── form_urlencoded feature "std"
│       │               │       │       │       ├── form_urlencoded v1.2.1 (*)
│       │               │       │       │       ├── form_urlencoded feature "alloc"
│       │               │       │       │       │   ├── form_urlencoded v1.2.1 (*)
│       │               │       │       │       │   └── percent-encoding feature "alloc"
│       │               │       │       │       │       └── percent-encoding v2.3.1
│       │               │       │       │       └── percent-encoding feature "std"
│       │               │       │       │           ├── percent-encoding v2.3.1
│       │               │       │       │           └── percent-encoding feature "alloc" (*)
│       │               │       │       ├── percent-encoding feature "default"
│       │               │       │       │   ├── percent-encoding v2.3.1
│       │               │       │       │   └── percent-encoding feature "std" (*)
│       │               │       │       └── idna feature "default"
│       │               │       │           ├── idna v0.5.0
│       │               │       │           │   ├── unicode-normalization v0.1.22
│       │               │       │           │   │   ├── tinyvec feature "alloc"
│       │               │       │           │   │   │   ├── tinyvec v1.6.0
│       │               │       │           │   │   │   │   └── tinyvec_macros feature "default"
│       │               │       │           │   │   │   │       └── tinyvec_macros v0.1.1
│       │               │       │           │   │   │   └── tinyvec feature "tinyvec_macros"
│       │               │       │           │   │   │       └── tinyvec v1.6.0 (*)
│       │               │       │           │   │   └── tinyvec feature "default"
│       │               │       │           │   │       └── tinyvec v1.6.0 (*)
│       │               │       │           │   └── unicode-bidi feature "hardcoded-data"
│       │               │       │           │       └── unicode-bidi v0.3.13
│       │               │       │           └── idna feature "std"
│       │               │       │               ├── idna v0.5.0 (*)
│       │               │       │               ├── idna feature "alloc"
│       │               │       │               │   └── idna v0.5.0 (*)
│       │               │       │               ├── unicode-bidi feature "std"
│       │               │       │               │   └── unicode-bidi v0.3.13
│       │               │       │               └── unicode-normalization feature "std"
│       │               │       │                   └── unicode-normalization v0.1.22 (*)
│       │               │       └── url feature "serde"
│       │               │           └── url v2.5.0 (*)
│       │               ├── url feature "default" (*)
│       │               ├── parser-database feature "default"
│       │               │   └── parser-database v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/psl/parser-database)
│       │               │       ├── indexmap feature "default" (*)
│       │               │       ├── indexmap feature "serde"
│       │               │       │   └── indexmap v2.2.2 (*)
│       │               │       ├── diagnostics feature "default" (*)
│       │               │       ├── either feature "default" (*)
│       │               │       ├── enumflags2 feature "default" (*)
│       │               │       ├── enumflags2 feature "serde" (*)
│       │               │       ├── itertools feature "default" (*)
│       │               │       ├── rustc-hash feature "default"
│       │               │       │   ├── rustc-hash v1.1.0
│       │               │       │   └── rustc-hash feature "std"
│       │               │       │       └── rustc-hash v1.1.0
│       │               │       └── schema-ast feature "default"
│       │               │           └── schema-ast v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/psl/schema-ast)
│       │               │               ├── serde feature "default" (*)
│       │               │               ├── serde feature "derive" (*)
│       │               │               ├── serde_json feature "default" (*)
│       │               │               ├── serde_json feature "float_roundtrip" (*)
│       │               │               ├── serde_json feature "preserve_order" (*)
│       │               │               ├── serde_json feature "raw_value" (*)
│       │               │               ├── diagnostics feature "default" (*)
│       │               │               ├── pest feature "default" (*)
│       │               │               └── pest_derive feature "default"
│       │               │                   ├── pest_derive v2.7.10 (proc-macro)
│       │               │                   │   ├── pest v2.7.10 (*)
│       │               │                   │   └── pest_generator v2.7.10
│       │               │                   │       ├── pest v2.7.10 (*)
│       │               │                   │       ├── proc-macro2 feature "default" (*)
│       │               │                   │       ├── quote feature "default" (*)
│       │               │                   │       ├── syn feature "default" (*)
│       │               │                   │       └── pest_meta feature "default"
│       │               │                   │           └── pest_meta v2.7.10
│       │               │                   │               ├── once_cell feature "default" (*)
│       │               │                   │               └── pest feature "default" (*)
│       │               │                   │               [build-dependencies]
│       │               │                   │               └── sha2 v0.10.7
│       │               │                   │                   ├── cfg-if feature "default" (*)
│       │               │                   │                   ├── cpufeatures feature "default"
│       │               │                   │                   │   └── cpufeatures v0.2.9
│       │               │                   │                   │       └── libc feature "default"
│       │               │                   │                   │           ├── libc v0.2.151
│       │               │                   │                   │           └── libc feature "std"
│       │               │                   │                   │               └── libc v0.2.151
│       │               │                   │                   └── digest feature "default"
│       │               │                   │                       ├── digest v0.10.7
│       │               │                   │                       │   ├── block-buffer feature "default"
│       │               │                   │                       │   │   └── block-buffer v0.10.4
│       │               │                   │                       │   │       └── generic-array feature "default"
│       │               │                   │                       │   │           └── generic-array v0.14.7
│       │               │                   │                       │   │               └── typenum feature "default"
│       │               │                   │                       │   │                   └── typenum v1.16.0
│       │               │                   │                       │   │               [build-dependencies]
│       │               │                   │                       │   │               └── version_check feature "default" (*)
│       │               │                   │                       │   └── crypto-common feature "default"
│       │               │                   │                       │       └── crypto-common v0.1.6
│       │               │                   │                       │           ├── generic-array feature "default" (*)
│       │               │                   │                       │           ├── generic-array feature "more_lengths"
│       │               │                   │                       │           │   └── generic-array v0.14.7 (*)
│       │               │                   │                       │           └── typenum feature "default" (*)
│       │               │                   │                       └── digest feature "core-api"
│       │               │                   │                           ├── digest v0.10.7 (*)
│       │               │                   │                           └── digest feature "block-buffer"
│       │               │                   │                               └── digest v0.10.7 (*)
│       │               │                   └── pest_derive feature "std"
│       │               │                       ├── pest_derive v2.7.10 (proc-macro) (*)
│       │               │                       ├── pest feature "std" (*)
│       │               │                       └── pest_generator feature "std"
│       │               │                           ├── pest_generator v2.7.10 (*)
│       │               │                           └── pest feature "std" (*)
│       │               ├── schema-ast feature "default" (*)
│       │               ├── prisma-value feature "default"
│       │               │   └── prisma-value v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/libs/prisma-value)
│       │               │       ├── once_cell feature "default" (*)
│       │               │       ├── base64 feature "default" (*)
│       │               │       ├── chrono feature "default" (*)
│       │               │       ├── chrono feature "serde" (*)
│       │               │       ├── serde feature "default" (*)
│       │               │       ├── serde feature "derive" (*)
│       │               │       ├── serde_json feature "default" (*)
│       │               │       ├── serde_json feature "float_roundtrip" (*)
│       │               │       ├── serde_json feature "preserve_order" (*)
│       │               │       ├── serde_json feature "raw_value" (*)
│       │               │       ├── uuid feature "default" (*)
│       │               │       ├── uuid feature "js"
│       │               │       │   ├── uuid v1.10.0 (*)
│       │               │       │   └── getrandom feature "js"
│       │               │       │       ├── getrandom v0.2.11 (*)
│       │               │       │       ├── getrandom feature "js-sys"
│       │               │       │       │   └── getrandom v0.2.11 (*)
│       │               │       │       └── getrandom feature "wasm-bindgen"
│       │               │       │           └── getrandom v0.2.11 (*)
│       │               │       ├── uuid feature "serde" (*)
│       │               │       ├── uuid feature "v4" (*)
│       │               │       ├── uuid feature "v7"
│       │               │       │   ├── uuid v1.10.0 (*)
│       │               │       │   └── uuid feature "rng" (*)
│       │               │       ├── bigdecimal feature "default" (*)
│       │               │       ├── regex feature "default"
│       │               │       │   ├── regex v1.10.6
│       │               │       │   │   ├── aho-corasick v1.0.3
│       │               │       │   │   │   └── memchr v2.7.1
│       │               │       │   │   ├── memchr v2.7.1
│       │               │       │   │   ├── regex-syntax v0.8.2
│       │               │       │   │   ├── regex-automata feature "alloc"
│       │               │       │   │   │   └── regex-automata v0.4.5
│       │               │       │   │   │       ├── aho-corasick v1.0.3 (*)
│       │               │       │   │   │       ├── memchr v2.7.1
│       │               │       │   │   │       └── regex-syntax v0.8.2
│       │               │       │   │   ├── regex-automata feature "meta"
│       │               │       │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   ├── regex-automata feature "nfa-pikevm"
│       │               │       │   │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   │   └── regex-automata feature "nfa-thompson"
│       │               │       │   │   │   │       ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   │       └── regex-automata feature "alloc" (*)
│       │               │       │   │   │   └── regex-automata feature "syntax"
│       │               │       │   │   │       ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │       └── regex-automata feature "alloc" (*)
│       │               │       │   │   ├── regex-automata feature "nfa-pikevm" (*)
│       │               │       │   │   └── regex-automata feature "syntax" (*)
│       │               │       │   ├── regex feature "perf"
│       │               │       │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   ├── regex feature "perf-backtrack"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   └── regex-automata feature "nfa-backtrack"
│       │               │       │   │   │       ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │       └── regex-automata feature "nfa-thompson" (*)
│       │               │       │   │   ├── regex feature "perf-cache"
│       │               │       │   │   │   └── regex v1.10.6 (*)
│       │               │       │   │   ├── regex feature "perf-dfa"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   └── regex-automata feature "hybrid"
│       │               │       │   │   │       ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │       ├── regex-automata feature "alloc" (*)
│       │               │       │   │   │       └── regex-automata feature "nfa-thompson" (*)
│       │               │       │   │   ├── regex feature "perf-inline"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   └── regex-automata feature "perf-inline"
│       │               │       │   │   │       └── regex-automata v0.4.5 (*)
│       │               │       │   │   ├── regex feature "perf-literal"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   └── regex-automata feature "perf-literal"
│       │               │       │   │   │       ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │       ├── regex-automata feature "perf-literal-multisubstring"
│       │               │       │   │   │       │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │       │   └── regex-automata feature "std"
│       │               │       │   │   │       │       ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │       │       ├── memchr feature "std" (*)
│       │               │       │   │   │       │       ├── aho-corasick feature "std"
│       │               │       │   │   │       │       │   ├── aho-corasick v1.0.3 (*)
│       │               │       │   │   │       │       │   └── memchr feature "std" (*)
│       │               │       │   │   │       │       ├── regex-automata feature "alloc" (*)
│       │               │       │   │   │       │       └── regex-syntax feature "std"
│       │               │       │   │   │       │           └── regex-syntax v0.8.2
│       │               │       │   │   │       └── regex-automata feature "perf-literal-substring"
│       │               │       │   │   │           ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │           └── aho-corasick feature "perf-literal"
│       │               │       │   │   │               └── aho-corasick v1.0.3 (*)
│       │               │       │   │   └── regex feature "perf-onepass"
│       │               │       │   │       ├── regex v1.10.6 (*)
│       │               │       │   │       └── regex-automata feature "dfa-onepass"
│       │               │       │   │           ├── regex-automata v0.4.5 (*)
│       │               │       │   │           └── regex-automata feature "nfa-thompson" (*)
│       │               │       │   ├── regex feature "std"
│       │               │       │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   ├── memchr feature "std" (*)
│       │               │       │   │   ├── aho-corasick feature "std" (*)
│       │               │       │   │   ├── regex-automata feature "std" (*)
│       │               │       │   │   └── regex-syntax feature "std" (*)
│       │               │       │   ├── regex feature "unicode"
│       │               │       │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   ├── regex feature "unicode-age"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-age"
│       │               │       │   │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   │   └── regex-syntax feature "unicode-age"
│       │               │       │   │   │   │       └── regex-syntax v0.8.2
│       │               │       │   │   │   └── regex-syntax feature "unicode-age" (*)
│       │               │       │   │   ├── regex feature "unicode-bool"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-bool"
│       │               │       │   │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   │   └── regex-syntax feature "unicode-bool"
│       │               │       │   │   │   │       └── regex-syntax v0.8.2
│       │               │       │   │   │   └── regex-syntax feature "unicode-bool" (*)
│       │               │       │   │   ├── regex feature "unicode-case"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-case"
│       │               │       │   │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   │   └── regex-syntax feature "unicode-case"
│       │               │       │   │   │   │       └── regex-syntax v0.8.2
│       │               │       │   │   │   └── regex-syntax feature "unicode-case" (*)
│       │               │       │   │   ├── regex feature "unicode-gencat"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-gencat"
│       │               │       │   │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   │   └── regex-syntax feature "unicode-gencat"
│       │               │       │   │   │   │       └── regex-syntax v0.8.2
│       │               │       │   │   │   └── regex-syntax feature "unicode-gencat" (*)
│       │               │       │   │   ├── regex feature "unicode-perl"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-perl"
│       │               │       │   │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   │   └── regex-syntax feature "unicode-perl"
│       │               │       │   │   │   │       └── regex-syntax v0.8.2
│       │               │       │   │   │   ├── regex-automata feature "unicode-word-boundary"
│       │               │       │   │   │   │   └── regex-automata v0.4.5 (*)
│       │               │       │   │   │   └── regex-syntax feature "unicode-perl" (*)
│       │               │       │   │   ├── regex feature "unicode-script"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-script"
│       │               │       │   │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   │   └── regex-syntax feature "unicode-script"
│       │               │       │   │   │   │       └── regex-syntax v0.8.2
│       │               │       │   │   │   └── regex-syntax feature "unicode-script" (*)
│       │               │       │   │   ├── regex feature "unicode-segment"
│       │               │       │   │   │   ├── regex v1.10.6 (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-segment"
│       │               │       │   │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   │   └── regex-syntax feature "unicode-segment"
│       │               │       │   │   │   │       └── regex-syntax v0.8.2
│       │               │       │   │   │   └── regex-syntax feature "unicode-segment" (*)
│       │               │       │   │   ├── regex-automata feature "unicode"
│       │               │       │   │   │   ├── regex-automata v0.4.5 (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-age" (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-bool" (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-case" (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-gencat" (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-perl" (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-script" (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-segment" (*)
│       │               │       │   │   │   ├── regex-automata feature "unicode-word-boundary" (*)
│       │               │       │   │   │   └── regex-syntax feature "unicode"
│       │               │       │   │   │       ├── regex-syntax v0.8.2
│       │               │       │   │   │       ├── regex-syntax feature "unicode-age" (*)
│       │               │       │   │   │       ├── regex-syntax feature "unicode-bool" (*)
│       │               │       │   │   │       ├── regex-syntax feature "unicode-case" (*)
│       │               │       │   │   │       ├── regex-syntax feature "unicode-gencat" (*)
│       │               │       │   │   │       ├── regex-syntax feature "unicode-perl" (*)
│       │               │       │   │   │       ├── regex-syntax feature "unicode-script" (*)
│       │               │       │   │   │       └── regex-syntax feature "unicode-segment" (*)
│       │               │       │   │   └── regex-syntax feature "unicode" (*)
│       │               │       │   └── regex-syntax feature "default"
│       │               │       │       ├── regex-syntax v0.8.2
│       │               │       │       ├── regex-syntax feature "std" (*)
│       │               │       │       └── regex-syntax feature "unicode" (*)
│       │               │       └── regex feature "std" (*)
│       │               ├── regex feature "default" (*)
│       │               └── regex feature "std" (*)
│       ├── regex feature "default" (*)
│       └── regex feature "std" (*)
├── psl feature "default" (*)
├── psl feature "mongodb"
│   ├── psl v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/psl/psl) (*)
│   └── psl-core feature "mongodb"
│       └── psl-core v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/psl/psl-core) (*)
├── indoc feature "default" (*)
├── enumflags2 feature "default" (*)
├── enumflags2 feature "serde" (*)
├── regex feature "default" (*)
├── regex feature "std" (*)
├── futures feature "default"
│   ├── futures v0.3.28
│   │   ├── futures-core v0.3.28
│   │   ├── futures-executor v0.3.28
│   │   │   ├── futures-core v0.3.28
│   │   │   ├── futures-task v0.3.28
│   │   │   └── futures-util v0.3.28
│   │   │       ├── futures-core v0.3.28
│   │   │       ├── futures-macro v0.3.28 (proc-macro)
│   │   │       │   ├── proc-macro2 feature "default" (*)
│   │   │       │   ├── quote feature "default" (*)
│   │   │       │   ├── syn feature "default" (*)
│   │   │       │   └── syn feature "full" (*)
│   │   │       ├── futures-sink v0.3.28
│   │   │       ├── futures-task v0.3.28
│   │   │       ├── memchr feature "default" (*)
│   │   │       ├── futures-channel feature "std"
│   │   │       │   ├── futures-channel v0.3.28
│   │   │       │   │   ├── futures-core v0.3.28
│   │   │       │   │   └── futures-sink v0.3.28
│   │   │       │   ├── futures-channel feature "alloc"
│   │   │       │   │   ├── futures-channel v0.3.28 (*)
│   │   │       │   │   └── futures-core feature "alloc"
│   │   │       │   │       └── futures-core v0.3.28
│   │   │       │   └── futures-core feature "std"
│   │   │       │       ├── futures-core v0.3.28
│   │   │       │       └── futures-core feature "alloc" (*)
│   │   │       ├── futures-io feature "std"
│   │   │       │   └── futures-io v0.3.28
│   │   │       ├── pin-project-lite feature "default" (*)
│   │   │       ├── pin-utils feature "default"
│   │   │       │   └── pin-utils v0.1.0
│   │   │       └── slab feature "default"
│   │   │           ├── slab v0.4.8
│   │   │           │   [build-dependencies]
│   │   │           │   └── autocfg feature "default" (*)
│   │   │           └── slab feature "std"
│   │   │               └── slab v0.4.8 (*)
│   │   ├── futures-io v0.3.28
│   │   ├── futures-sink v0.3.28
│   │   ├── futures-task v0.3.28
│   │   ├── futures-channel feature "sink"
│   │   │   ├── futures-channel v0.3.28 (*)
│   │   │   └── futures-channel feature "futures-sink"
│   │   │       └── futures-channel v0.3.28 (*)
│   │   └── futures-util feature "sink"
│   │       ├── futures-util v0.3.28 (*)
│   │       └── futures-util feature "futures-sink"
│   │           └── futures-util v0.3.28 (*)
│   ├── futures feature "async-await"
│   │   ├── futures v0.3.28 (*)
│   │   ├── futures-util feature "async-await"
│   │   │   └── futures-util v0.3.28 (*)
│   │   └── futures-util feature "async-await-macro"
│   │       ├── futures-util v0.3.28 (*)
│   │       ├── futures-util feature "async-await" (*)
│   │       └── futures-util feature "futures-macro"
│   │           └── futures-util v0.3.28 (*)
│   ├── futures feature "executor"
│   │   ├── futures v0.3.28 (*)
│   │   ├── futures feature "futures-executor"
│   │   │   └── futures v0.3.28 (*)
│   │   ├── futures feature "std"
│   │   │   ├── futures v0.3.28 (*)
│   │   │   ├── futures feature "alloc"
│   │   │   │   ├── futures v0.3.28 (*)
│   │   │   │   ├── futures-channel feature "alloc" (*)
│   │   │   │   ├── futures-core feature "alloc" (*)
│   │   │   │   ├── futures-sink feature "alloc"
│   │   │   │   │   └── futures-sink v0.3.28
│   │   │   │   ├── futures-task feature "alloc"
│   │   │   │   │   └── futures-task v0.3.28
│   │   │   │   └── futures-util feature "alloc"
│   │   │   │       ├── futures-util v0.3.28 (*)
│   │   │   │       ├── futures-core feature "alloc" (*)
│   │   │   │       └── futures-task feature "alloc" (*)
│   │   │   ├── futures-core feature "std" (*)
│   │   │   ├── futures-sink feature "std"
│   │   │   │   ├── futures-sink v0.3.28
│   │   │   │   └── futures-sink feature "alloc" (*)
│   │   │   ├── futures-task feature "std"
│   │   │   │   ├── futures-task v0.3.28
│   │   │   │   └── futures-task feature "alloc" (*)
│   │   │   ├── futures-util feature "channel"
│   │   │   │   ├── futures-util v0.3.28 (*)
│   │   │   │   ├── futures-util feature "futures-channel"
│   │   │   │   │   └── futures-util v0.3.28 (*)
│   │   │   │   └── futures-util feature "std"
│   │   │   │       ├── futures-util v0.3.28 (*)
│   │   │   │       ├── futures-core feature "std" (*)
│   │   │   │       ├── futures-task feature "std" (*)
│   │   │   │       ├── futures-util feature "alloc" (*)
│   │   │   │       └── futures-util feature "slab"
│   │   │   │           └── futures-util v0.3.28 (*)
│   │   │   ├── futures-util feature "io"
│   │   │   │   ├── futures-util v0.3.28 (*)
│   │   │   │   ├── futures-util feature "futures-io"
│   │   │   │   │   └── futures-util v0.3.28 (*)
│   │   │   │   ├── futures-util feature "memchr"
│   │   │   │   │   └── futures-util v0.3.28 (*)
│   │   │   │   └── futures-util feature "std" (*)
│   │   │   ├── futures-util feature "std" (*)
│   │   │   └── futures-io feature "std" (*)
│   │   └── futures-executor feature "std"
│   │       ├── futures-executor v0.3.28 (*)
│   │       ├── futures-core feature "std" (*)
│   │       ├── futures-task feature "std" (*)
│   │       └── futures-util feature "std" (*)
│   └── futures feature "std" (*)
├── mongodb feature "default"
│   ├── mongodb v3.0.0 (https://github.com/prisma/mongo-rust-driver.git?branch=RUST-1994%2Fhappy-eyeballs#31e03563)
│   │   ├── pbkdf2 v0.11.0
│   │   │   ├── digest feature "default"
│   │   │   │   ├── digest v0.10.7
│   │   │   │   │   ├── subtle v2.5.0
│   │   │   │   │   ├── block-buffer feature "default" (*)
│   │   │   │   │   └── crypto-common feature "default"
│   │   │   │   │       └── crypto-common v0.1.6
│   │   │   │   │           ├── generic-array feature "default" (*)
│   │   │   │   │           ├── generic-array feature "more_lengths" (*)
│   │   │   │   │           └── typenum feature "default" (*)
│   │   │   │   └── digest feature "core-api"
│   │   │   │       ├── digest v0.10.7 (*)
│   │   │   │       └── digest feature "block-buffer"
│   │   │   │           └── digest v0.10.7 (*)
│   │   │   └── digest feature "mac"
│   │   │       ├── digest v0.10.7 (*)
│   │   │       └── digest feature "subtle"
│   │   │           └── digest v0.10.7 (*)
│   │   ├── bson feature "default" (*)
│   │   ├── once_cell feature "default" (*)
│   │   ├── base64 feature "default" (*)
│   │   ├── chrono feature "clock" (*)
│   │   ├── chrono feature "std" (*)
│   │   ├── serde feature "default" (*)
│   │   ├── serde feature "derive" (*)
│   │   ├── hex feature "default" (*)
│   │   ├── rand feature "default" (*)
│   │   ├── rand feature "small_rng"
│   │   │   └── rand v0.8.5 (*)
│   │   ├── serde_bytes feature "default" (*)
│   │   ├── uuid feature "default" (*)
│   │   ├── uuid feature "v4" (*)
│   │   ├── thiserror feature "default" (*)
│   │   ├── bitflags feature "default" (*)
│   │   ├── percent-encoding feature "default" (*)
│   │   ├── futures-core feature "default"
│   │   │   ├── futures-core v0.3.28
│   │   │   └── futures-core feature "std" (*)
│   │   ├── futures-executor feature "default"
│   │   │   ├── futures-executor v0.3.28 (*)
│   │   │   └── futures-executor feature "std" (*)
│   │   ├── futures-util feature "default"
│   │   │   ├── futures-util v0.3.28 (*)
│   │   │   ├── futures-util feature "async-await" (*)
│   │   │   ├── futures-util feature "async-await-macro" (*)
│   │   │   └── futures-util feature "std" (*)
│   │   ├── futures-util feature "io" (*)
│   │   ├── futures-io feature "default"
│   │   │   ├── futures-io v0.3.28
│   │   │   └── futures-io feature "std" (*)
│   │   ├── async-trait feature "default"
│   │   │   └── async-trait v0.1.77 (proc-macro)
│   │   │       ├── proc-macro2 feature "default" (*)
│   │   │       ├── quote feature "default" (*)
│   │   │       ├── syn feature "default" (*)
│   │   │       ├── syn feature "full" (*)
│   │   │       └── syn feature "visit-mut" (*)
│   │   ├── derivative feature "default"
│   │   │   └── derivative v2.2.0 (proc-macro)
│   │   │       ├── proc-macro2 feature "default" (*)
│   │   │       ├── quote feature "default" (*)
│   │   │       ├── syn feature "default" (*)
│   │   │       ├── syn feature "extra-traits"
│   │   │       │   └── syn v1.0.109 (*)
│   │   │       └── syn feature "visit"
│   │   │           └── syn v1.0.109 (*)
│   │   ├── derive_more feature "default"
│   │   │   ├── derive_more v0.99.17 (proc-macro)
│   │   │   │   ├── proc-macro2 feature "default" (*)
│   │   │   │   ├── quote feature "default" (*)
│   │   │   │   ├── syn feature "default" (*)
│   │   │   │   └── convert_case feature "default"
│   │   │   │       └── convert_case v0.4.0
│   │   │   │   [build-dependencies]
│   │   │   │   └── rustc_version feature "default"
│   │   │   │       └── rustc_version v0.4.0
│   │   │   │           └── semver feature "default"
│   │   │   │               ├── semver v1.0.18
│   │   │   │               └── semver feature "std"
│   │   │   │                   └── semver v1.0.18
│   │   │   ├── derive_more feature "add"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "add_assign"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "as_mut"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "as_ref"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "constructor"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "deref"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "deref_mut"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "display"
│   │   │   │   ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │   │   └── syn feature "extra-traits" (*)
│   │   │   ├── derive_more feature "error"
│   │   │   │   ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │   │   └── syn feature "extra-traits" (*)
│   │   │   ├── derive_more feature "from"
│   │   │   │   ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │   │   └── syn feature "extra-traits" (*)
│   │   │   ├── derive_more feature "from_str"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "index"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "index_mut"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "into"
│   │   │   │   ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │   │   └── syn feature "extra-traits" (*)
│   │   │   ├── derive_more feature "into_iterator"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "is_variant"
│   │   │   │   ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │   │   └── derive_more feature "convert_case"
│   │   │   │       └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "iterator"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "mul"
│   │   │   │   ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │   │   └── syn feature "extra-traits" (*)
│   │   │   ├── derive_more feature "mul_assign"
│   │   │   │   ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │   │   └── syn feature "extra-traits" (*)
│   │   │   ├── derive_more feature "not"
│   │   │   │   ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │   │   └── syn feature "extra-traits" (*)
│   │   │   ├── derive_more feature "sum"
│   │   │   │   └── derive_more v0.99.17 (proc-macro) (*)
│   │   │   ├── derive_more feature "try_into"
│   │   │   │   ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │   │   └── syn feature "extra-traits" (*)
│   │   │   └── derive_more feature "unwrap"
│   │   │       ├── derive_more v0.99.17 (proc-macro) (*)
│   │   │       ├── derive_more feature "convert_case" (*)
│   │   │       └── derive_more feature "rustc_version"
│   │   │           └── derive_more v0.99.17 (proc-macro) (*)
│   │   ├── hickory-proto feature "default"
│   │   │   ├── hickory-proto v0.24.1
│   │   │   │   ├── cfg-if feature "default" (*)
│   │   │   │   ├── once_cell feature "default" (*)
│   │   │   │   ├── rand feature "default" (*)
│   │   │   │   ├── thiserror feature "default" (*)
│   │   │   │   ├── url feature "default" (*)
│   │   │   │   ├── tinyvec feature "alloc" (*)
│   │   │   │   ├── tinyvec feature "default" (*)
│   │   │   │   ├── futures-channel feature "std" (*)
│   │   │   │   ├── futures-util feature "std" (*)
│   │   │   │   ├── futures-io feature "std" (*)
│   │   │   │   ├── async-trait feature "default" (*)
│   │   │   │   ├── data-encoding feature "default"
│   │   │   │   │   ├── data-encoding v2.4.0
│   │   │   │   │   └── data-encoding feature "std"
│   │   │   │   │       ├── data-encoding v2.4.0
│   │   │   │   │       └── data-encoding feature "alloc"
│   │   │   │   │           └── data-encoding v2.4.0
│   │   │   │   ├── enum-as-inner feature "default"
│   │   │   │   │   └── enum-as-inner v0.6.0 (proc-macro)
│   │   │   │   │       ├── proc-macro2 feature "default" (*)
│   │   │   │   │       ├── quote feature "default" (*)
│   │   │   │   │       ├── syn feature "default" (*)
│   │   │   │   │       └── heck feature "default"
│   │   │   │   │           └── heck v0.4.1
│   │   │   │   ├── idna feature "default"
│   │   │   │   │   ├── idna v0.4.0
│   │   │   │   │   │   ├── unicode-normalization v0.1.22 (*)
│   │   │   │   │   │   └── unicode-bidi feature "hardcoded-data" (*)
│   │   │   │   │   └── idna feature "std"
│   │   │   │   │       ├── idna v0.4.0 (*)
│   │   │   │   │       ├── unicode-bidi feature "std" (*)
│   │   │   │   │       ├── unicode-normalization feature "std" (*)
│   │   │   │   │       └── idna feature "alloc"
│   │   │   │   │           └── idna v0.4.0 (*)
│   │   │   │   ├── ipnet feature "default"
│   │   │   │   │   ├── ipnet v2.8.0
│   │   │   │   │   └── ipnet feature "std"
│   │   │   │   │       └── ipnet v2.8.0
│   │   │   │   ├── tokio feature "default"
│   │   │   │   │   └── tokio v1.38.1
│   │   │   │   │       ├── mio v0.8.11
│   │   │   │   │       │   └── libc feature "default"
│   │   │   │   │       │       ├── libc v0.2.151
│   │   │   │   │       │       └── libc feature "std" (*)
│   │   │   │   │       ├── libc feature "default" (*)
│   │   │   │   │       ├── pin-project-lite feature "default" (*)
│   │   │   │   │       ├── bytes feature "default"
│   │   │   │   │       │   ├── bytes v1.7.2
│   │   │   │   │       │   └── bytes feature "std"
│   │   │   │   │       │       └── bytes v1.7.2
│   │   │   │   │       ├── num_cpus feature "default"
│   │   │   │   │       │   └── num_cpus v1.16.0
│   │   │   │   │       │       └── libc feature "default" (*)
│   │   │   │   │       ├── parking_lot feature "default"
│   │   │   │   │       │   └── parking_lot v0.12.1
│   │   │   │   │       │       ├── lock_api feature "default"
│   │   │   │   │       │       │   ├── lock_api v0.4.10
│   │   │   │   │       │       │   │   └── scopeguard v1.2.0
│   │   │   │   │       │       │   │   [build-dependencies]
│   │   │   │   │       │       │   │   └── autocfg feature "default" (*)
│   │   │   │   │       │       │   └── lock_api feature "atomic_usize"
│   │   │   │   │       │       │       └── lock_api v0.4.10 (*)
│   │   │   │   │       │       └── parking_lot_core feature "default"
│   │   │   │   │       │           └── parking_lot_core v0.9.8
│   │   │   │   │       │               ├── cfg-if feature "default" (*)
│   │   │   │   │       │               ├── libc feature "default" (*)
│   │   │   │   │       │               └── smallvec feature "default"
│   │   │   │   │       │                   └── smallvec v1.13.2
│   │   │   │   │       ├── signal-hook-registry feature "default"
│   │   │   │   │       │   └── signal-hook-registry v1.4.1
│   │   │   │   │       │       └── libc feature "default" (*)
│   │   │   │   │       ├── socket2 feature "all"
│   │   │   │   │       │   └── socket2 v0.5.7
│   │   │   │   │       │       └── libc feature "default" (*)
│   │   │   │   │       ├── socket2 feature "default"
│   │   │   │   │       │   └── socket2 v0.5.7 (*)
│   │   │   │   │       └── tokio-macros feature "default"
│   │   │   │   │           └── tokio-macros v2.3.0 (proc-macro)
│   │   │   │   │               ├── proc-macro2 feature "default" (*)
│   │   │   │   │               ├── quote feature "default" (*)
│   │   │   │   │               ├── syn feature "default" (*)
│   │   │   │   │               └── syn feature "full" (*)
│   │   │   │   ├── tokio feature "io-util"
│   │   │   │   │   ├── tokio v1.38.1 (*)
│   │   │   │   │   └── tokio feature "bytes"
│   │   │   │   │       └── tokio v1.38.1 (*)
│   │   │   │   └── tracing feature "default" (*)
│   │   │   └── hickory-proto feature "tokio-runtime"
│   │   │       ├── hickory-proto v0.24.1 (*)
│   │   │       ├── hickory-proto feature "tokio"
│   │   │       │   └── hickory-proto v0.24.1 (*)
│   │   │       ├── tokio feature "net"
│   │   │       │   ├── tokio v1.38.1 (*)
│   │   │       │   ├── tokio feature "libc"
│   │   │       │   │   └── tokio v1.38.1 (*)
│   │   │       │   ├── tokio feature "mio"
│   │   │       │   │   └── tokio v1.38.1 (*)
│   │   │       │   ├── tokio feature "socket2"
│   │   │       │   │   └── tokio v1.38.1 (*)
│   │   │       │   ├── mio feature "net"
│   │   │       │   │   └── mio v0.8.11 (*)
│   │   │       │   ├── mio feature "os-ext"
│   │   │       │   │   ├── mio v0.8.11 (*)
│   │   │       │   │   └── mio feature "os-poll"
│   │   │       │   │       └── mio v0.8.11 (*)
│   │   │       │   └── mio feature "os-poll" (*)
│   │   │       ├── tokio feature "rt"
│   │   │       │   └── tokio v1.38.1 (*)
│   │   │       ├── tokio feature "rt-multi-thread"
│   │   │       │   ├── tokio v1.38.1 (*)
│   │   │       │   ├── tokio feature "num_cpus"
│   │   │       │   │   └── tokio v1.38.1 (*)
│   │   │       │   └── tokio feature "rt" (*)
│   │   │       └── tokio feature "time"
│   │   │           └── tokio v1.38.1 (*)
│   │   ├── tokio feature "default" (*)
│   │   ├── tokio feature "io-util" (*)
│   │   ├── tokio feature "macros"
│   │   │   ├── tokio v1.38.1 (*)
│   │   │   └── tokio feature "tokio-macros"
│   │   │       └── tokio v1.38.1 (*)
│   │   ├── tokio feature "net" (*)
│   │   ├── tokio feature "process"
│   │   │   ├── tokio v1.38.1 (*)
│   │   │   ├── tokio feature "bytes" (*)
│   │   │   ├── tokio feature "libc" (*)
│   │   │   ├── tokio feature "mio" (*)
│   │   │   ├── tokio feature "signal-hook-registry"
│   │   │   │   └── tokio v1.38.1 (*)
│   │   │   ├── mio feature "net" (*)
│   │   │   ├── mio feature "os-ext" (*)
│   │   │   └── mio feature "os-poll" (*)
│   │   ├── tokio feature "rt" (*)
│   │   ├── tokio feature "sync"
│   │   │   └── tokio v1.38.1 (*)
│   │   ├── tokio feature "time" (*)
│   │   ├── socket2 feature "default" (*)
│   │   ├── hickory-resolver feature "default"
│   │   │   ├── hickory-resolver v0.24.1
│   │   │   │   ├── hickory-proto v0.24.1 (*)
│   │   │   │   ├── cfg-if feature "default" (*)
│   │   │   │   ├── once_cell feature "default" (*)
│   │   │   │   ├── rand feature "default" (*)
│   │   │   │   ├── thiserror feature "default" (*)
│   │   │   │   ├── futures-util feature "std" (*)
│   │   │   │   ├── tokio feature "default" (*)
│   │   │   │   ├── parking_lot feature "default" (*)
│   │   │   │   ├── smallvec feature "default" (*)
│   │   │   │   ├── tracing feature "default" (*)
│   │   │   │   ├── lru-cache feature "default"
│   │   │   │   │   └── lru-cache v0.1.2
│   │   │   │   │       └── linked-hash-map feature "default"
│   │   │   │   │           └── linked-hash-map v0.5.6
│   │   │   │   ├── resolv-conf feature "default"
│   │   │   │   │   └── resolv-conf v0.7.0
│   │   │   │   │       ├── hostname feature "default"
│   │   │   │   │       │   └── hostname v0.3.1
│   │   │   │   │       │       ├── libc feature "default" (*)
│   │   │   │   │       │       └── match_cfg feature "default"
│   │   │   │   │       │           ├── match_cfg v0.1.0
│   │   │   │   │       │           └── match_cfg feature "use_core"
│   │   │   │   │       │               └── match_cfg v0.1.0
│   │   │   │   │       └── quick-error feature "default"
│   │   │   │   │           └── quick-error v1.2.3
│   │   │   │   └── resolv-conf feature "system"
│   │   │   │       ├── resolv-conf v0.7.0 (*)
│   │   │   │       └── resolv-conf feature "hostname"
│   │   │   │           └── resolv-conf v0.7.0 (*)
│   │   │   ├── hickory-resolver feature "system-config"
│   │   │   │   ├── hickory-resolver v0.24.1 (*)
│   │   │   │   ├── hickory-resolver feature "ipconfig"
│   │   │   │   │   └── hickory-resolver v0.24.1 (*)
│   │   │   │   └── hickory-resolver feature "resolv-conf"
│   │   │   │       └── hickory-resolver v0.24.1 (*)
│   │   │   └── hickory-resolver feature "tokio-runtime"
│   │   │       ├── hickory-resolver v0.24.1 (*)
│   │   │       ├── hickory-proto feature "tokio-runtime" (*)
│   │   │       ├── tokio feature "rt" (*)
│   │   │       └── hickory-resolver feature "tokio"
│   │   │           └── hickory-resolver v0.24.1 (*)
│   │   ├── hmac feature "default"
│   │   │   └── hmac v0.12.1
│   │   │       ├── digest feature "default" (*)
│   │   │       └── digest feature "mac" (*)
│   │   ├── md-5 feature "default"
│   │   │   ├── md-5 v0.10.5
│   │   │   │   └── digest feature "default" (*)
│   │   │   └── md-5 feature "std"
│   │   │       ├── md-5 v0.10.5 (*)
│   │   │       └── digest feature "std"
│   │   │           ├── digest v0.10.7 (*)
│   │   │           ├── digest feature "alloc"
│   │   │           │   └── digest v0.10.7 (*)
│   │   │           └── crypto-common feature "std"
│   │   │               └── crypto-common v0.1.6 (*)
│   │   ├── mongodb-internal-macros feature "default"
│   │   │   └── mongodb-internal-macros v3.0.0 (proc-macro) (https://github.com/prisma/mongo-rust-driver.git?branch=RUST-1994%2Fhappy-eyeballs#31e03563)
│   │   │       ├── proc-macro2 feature "default" (*)
│   │   │       ├── quote feature "default" (*)
│   │   │       ├── syn feature "default" (*)
│   │   │       ├── syn feature "extra-traits" (*)
│   │   │       ├── syn feature "full" (*)
│   │   │       ├── syn feature "parsing" (*)
│   │   │       └── syn feature "proc-macro" (*)
│   │   ├── rustc_version_runtime feature "default"
│   │   │   └── rustc_version_runtime v0.3.0
│   │   │       ├── rustc_version feature "default" (*)
│   │   │       └── semver feature "default" (*)
│   │   │       [build-dependencies]
│   │   │       ├── rustc_version feature "default" (*)
│   │   │       └── semver feature "default" (*)
│   │   ├── rustls feature "dangerous_configuration"
│   │   │   └── rustls v0.21.10
│   │   │       ├── log feature "default"
│   │   │       │   └── log v0.4.22
│   │   │       ├── ring feature "default"
│   │   │       │   ├── ring v0.17.7
│   │   │       │   │   ├── getrandom feature "default" (*)
│   │   │       │   │   ├── spin feature "once"
│   │   │       │   │   │   └── spin v0.9.8
│   │   │       │   │   └── untrusted feature "default"
│   │   │       │   │       └── untrusted v0.9.0
│   │   │       │   │   [build-dependencies]
│   │   │       │   │   └── cc v1.1.30 (*)
│   │   │       │   ├── ring feature "alloc"
│   │   │       │   │   └── ring v0.17.7 (*)
│   │   │       │   └── ring feature "dev_urandom_fallback"
│   │   │       │       └── ring v0.17.7 (*)
│   │   │       ├── rustls-webpki feature "alloc"
│   │   │       │   ├── rustls-webpki v0.101.7
│   │   │       │   │   ├── ring v0.17.7 (*)
│   │   │       │   │   └── untrusted feature "default" (*)
│   │   │       │   └── ring feature "alloc" (*)
│   │   │       ├── rustls-webpki feature "default"
│   │   │       │   ├── rustls-webpki v0.101.7 (*)
│   │   │       │   └── rustls-webpki feature "std"
│   │   │       │       ├── rustls-webpki v0.101.7 (*)
│   │   │       │       └── rustls-webpki feature "alloc" (*)
│   │   │       ├── rustls-webpki feature "std" (*)
│   │   │       └── sct feature "default"
│   │   │           └── sct v0.7.0
│   │   │               ├── ring feature "default"
│   │   │               │   ├── ring v0.16.20
│   │   │               │   │   └── untrusted feature "default"
│   │   │               │   │       └── untrusted v0.7.1
│   │   │               │   │   [build-dependencies]
│   │   │               │   │   └── cc v1.1.30 (*)
│   │   │               │   ├── ring feature "alloc"
│   │   │               │   │   └── ring v0.16.20 (*)
│   │   │               │   └── ring feature "dev_urandom_fallback"
│   │   │               │       ├── ring v0.16.20 (*)
│   │   │               │       └── ring feature "once_cell"
│   │   │               │           └── ring v0.16.20 (*)
│   │   │               └── untrusted feature "default" (*)
│   │   ├── rustls feature "default"
│   │   │   ├── rustls v0.21.10 (*)
│   │   │   ├── rustls feature "logging"
│   │   │   │   ├── rustls v0.21.10 (*)
│   │   │   │   └── rustls feature "log"
│   │   │   │       └── rustls v0.21.10 (*)
│   │   │   └── rustls feature "tls12"
│   │   │       └── rustls v0.21.10 (*)
│   │   ├── rustls-pemfile feature "default"
│   │   │   └── rustls-pemfile v1.0.3
│   │   │       └── base64 feature "default"
│   │   │           ├── base64 v0.21.2
│   │   │           └── base64 feature "std"
│   │   │               └── base64 v0.21.2
│   │   ├── serde_with feature "default"
│   │   │   ├── serde_with v3.9.0
│   │   │   │   ├── serde v1.0.206 (*)
│   │   │   │   ├── serde_derive feature "default" (*)
│   │   │   │   └── serde_with_macros feature "default"
│   │   │   │       └── serde_with_macros v3.9.0 (proc-macro)
│   │   │   │           ├── proc-macro2 feature "default" (*)
│   │   │   │           ├── quote feature "default" (*)
│   │   │   │           ├── syn feature "default" (*)
│   │   │   │           ├── syn feature "extra-traits" (*)
│   │   │   │           ├── syn feature "full" (*)
│   │   │   │           ├── syn feature "parsing" (*)
│   │   │   │           └── darling feature "default"
│   │   │   │               ├── darling v0.20.10
│   │   │   │               │   ├── darling_core feature "default"
│   │   │   │               │   │   └── darling_core v0.20.10
│   │   │   │               │   │       ├── proc-macro2 feature "default" (*)
│   │   │   │               │   │       ├── quote feature "default" (*)
│   │   │   │               │   │       ├── syn feature "default" (*)
│   │   │   │               │   │       ├── syn feature "extra-traits" (*)
│   │   │   │               │   │       ├── syn feature "full" (*)
│   │   │   │               │   │       ├── fnv feature "default"
│   │   │   │               │   │       │   ├── fnv v1.0.7
│   │   │   │               │   │       │   └── fnv feature "std"
│   │   │   │               │   │       │       └── fnv v1.0.7
│   │   │   │               │   │       ├── ident_case feature "default"
│   │   │   │               │   │       │   └── ident_case v1.0.1
│   │   │   │               │   │       └── strsim feature "default"
│   │   │   │               │   │           └── strsim v0.11.1
│   │   │   │               │   └── darling_macro feature "default"
│   │   │   │               │       └── darling_macro v0.20.10 (proc-macro)
│   │   │   │               │           ├── quote feature "default" (*)
│   │   │   │               │           ├── syn feature "default" (*)
│   │   │   │               │           └── darling_core feature "default" (*)
│   │   │   │               └── darling feature "suggestions"
│   │   │   │                   ├── darling v0.20.10 (*)
│   │   │   │                   └── darling_core feature "suggestions"
│   │   │   │                       ├── darling_core v0.20.10 (*)
│   │   │   │                       └── darling_core feature "strsim"
│   │   │   │                           └── darling_core v0.20.10 (*)
│   │   │   ├── serde_with feature "macros"
│   │   │   │   └── serde_with v3.9.0 (*)
│   │   │   └── serde_with feature "std"
│   │   │       ├── serde_with v3.9.0 (*)
│   │   │       ├── serde feature "std" (*)
│   │   │       └── serde_with feature "alloc"
│   │   │           ├── serde_with v3.9.0 (*)
│   │   │           └── serde feature "alloc"
│   │   │               └── serde v1.0.206 (*)
│   │   ├── strsim feature "default" (*)
│   │   ├── sha-1 feature "default"
│   │   │   ├── sha-1 v0.10.1
│   │   │   │   ├── cfg-if feature "default" (*)
│   │   │   │   ├── cpufeatures feature "default" (*)
│   │   │   │   └── digest feature "default" (*)
│   │   │   └── sha-1 feature "std"
│   │   │       ├── sha-1 v0.10.1 (*)
│   │   │       └── digest feature "std" (*)
│   │   ├── sha2 feature "default"
│   │   │   ├── sha2 v0.10.7
│   │   │   │   ├── cfg-if feature "default" (*)
│   │   │   │   ├── cpufeatures feature "default" (*)
│   │   │   │   └── digest feature "default" (*)
│   │   │   └── sha2 feature "std"
│   │   │       ├── sha2 v0.10.7 (*)
│   │   │       └── digest feature "std" (*)
│   │   ├── stringprep feature "default"
│   │   │   └── stringprep v0.1.3
│   │   │       ├── unicode-bidi feature "default"
│   │   │       │   ├── unicode-bidi v0.3.13
│   │   │       │   ├── unicode-bidi feature "hardcoded-data" (*)
│   │   │       │   └── unicode-bidi feature "std" (*)
│   │   │       └── unicode-normalization feature "default"
│   │   │           ├── unicode-normalization v0.1.22 (*)
│   │   │           └── unicode-normalization feature "std" (*)
│   │   ├── take_mut feature "default"
│   │   │   └── take_mut v0.2.2
│   │   ├── tokio-rustls feature "dangerous_configuration"
│   │   │   ├── tokio-rustls v0.24.1
│   │   │   │   ├── rustls v0.21.10 (*)
│   │   │   │   └── tokio feature "default" (*)
│   │   │   └── rustls feature "dangerous_configuration" (*)
│   │   ├── tokio-rustls feature "default"
│   │   │   ├── tokio-rustls v0.24.1 (*)
│   │   │   ├── tokio-rustls feature "logging"
│   │   │   │   ├── tokio-rustls v0.24.1 (*)
│   │   │   │   └── rustls feature "logging" (*)
│   │   │   └── tokio-rustls feature "tls12"
│   │   │       ├── tokio-rustls v0.24.1 (*)
│   │   │       └── rustls feature "tls12" (*)
│   │   ├── tokio-util feature "compat"
│   │   │   ├── tokio-util v0.7.8
│   │   │   │   ├── futures-core feature "default" (*)
│   │   │   │   ├── futures-sink feature "default"
│   │   │   │   │   ├── futures-sink v0.3.28
│   │   │   │   │   └── futures-sink feature "std" (*)
│   │   │   │   ├── futures-io feature "default" (*)
│   │   │   │   ├── pin-project-lite feature "default" (*)
│   │   │   │   ├── tokio feature "default" (*)
│   │   │   │   ├── tokio feature "sync" (*)
│   │   │   │   └── bytes feature "default" (*)
│   │   │   └── tokio-util feature "futures-io"
│   │   │       └── tokio-util v0.7.8 (*)
│   │   ├── tokio-util feature "default"
│   │   │   └── tokio-util v0.7.8 (*)
│   │   ├── tokio-util feature "io"
│   │   │   └── tokio-util v0.7.8 (*)
│   │   ├── typed-builder feature "default"
│   │   │   └── typed-builder v0.10.0 (proc-macro)
│   │   │       ├── proc-macro2 feature "default" (*)
│   │   │       ├── quote feature "default" (*)
│   │   │       ├── syn feature "default" (*)
│   │   │       ├── syn feature "extra-traits" (*)
│   │   │       └── syn feature "full"
│   │   │           └── syn v1.0.109 (*)
│   │   └── webpki-roots feature "default"
│   │       └── webpki-roots v0.25.3
│   ├── mongodb feature "compat-3-0-0"
│   │   └── mongodb v3.0.0 (https://github.com/prisma/mongo-rust-driver.git?branch=RUST-1994%2Fhappy-eyeballs#31e03563) (*)
│   ├── mongodb feature "dns-resolver"
│   │   └── mongodb v3.0.0 (https://github.com/prisma/mongo-rust-driver.git?branch=RUST-1994%2Fhappy-eyeballs#31e03563) (*)
│   └── mongodb feature "rustls-tls"
│       └── mongodb v3.0.0 (https://github.com/prisma/mongo-rust-driver.git?branch=RUST-1994%2Fhappy-eyeballs#31e03563) (*)
├── tokio feature "default" (*)
├── tokio feature "io-std"
│   └── tokio v1.38.1 (*)
├── tokio feature "io-util" (*)
├── tokio feature "macros" (*)
├── tokio feature "parking_lot"
│   └── tokio v1.38.1 (*)
├── tokio feature "rt-multi-thread" (*)
├── tokio feature "sync" (*)
├── tokio feature "time" (*)
├── tracing feature "default" (*)
├── mongodb-client feature "default"
│   └── mongodb-client v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/libs/mongodb-client)
│       ├── once_cell feature "default" (*)
│       ├── thiserror feature "default" (*)
│       ├── percent-encoding feature "default" (*)
│       └── mongodb feature "default" (*)
├── mongodb-schema-describer feature "default"
│   └── mongodb-schema-describer v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/schema-engine/mongodb-schema-describer)
│       ├── bson feature "chrono-0_4" (*)
│       ├── bson feature "default" (*)
│       ├── bson feature "uuid-1" (*)
│       ├── serde feature "default" (*)
│       ├── serde feature "derive" (*)
│       ├── futures feature "default" (*)
│       └── mongodb feature "default" (*)
└── schema-connector feature "default"
    └── schema-connector v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/schema-engine/connectors/schema-connector)
        ├── user-facing-errors v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/libs/user-facing-errors) (*)
        ├── chrono feature "default" (*)
        ├── chrono feature "serde" (*)
        ├── serde feature "default" (*)
        ├── serde feature "derive" (*)
        ├── serde_json feature "default" (*)
        ├── serde_json feature "float_roundtrip" (*)
        ├── serde_json feature "preserve_order" (*)
        ├── serde_json feature "raw_value" (*)
        ├── psl feature "default" (*)
        ├── enumflags2 feature "default" (*)
        ├── enumflags2 feature "serde" (*)
        ├── tracing feature "default" (*)
        ├── quaint feature "default"
        │   └── quaint v0.2.0-alpha.13 (/Users/jkomyno/work/prisma/prisma-engines-wasm/quaint)
        │       ├── chrono feature "default" (*)
        │       ├── chrono feature "serde" (*)
        │       ├── serde feature "default" (*)
        │       ├── hex feature "default" (*)
        │       ├── serde_json feature "default" (*)
        │       ├── serde_json feature "float_roundtrip" (*)
        │       ├── serde_json feature "preserve_order" (*)
        │       ├── serde_json feature "raw_value" (*)
        │       ├── uuid feature "default" (*)
        │       ├── uuid feature "js" (*)
        │       ├── uuid feature "serde" (*)
        │       ├── uuid feature "v4" (*)
        │       ├── uuid feature "v7" (*)
        │       ├── bigdecimal feature "default" (*)
        │       ├── connection-string feature "default" (*)
        │       ├── thiserror feature "default" (*)
        │       ├── either feature "default" (*)
        │       ├── enumflags2 feature "default" (*)
        │       ├── enumflags2 feature "serde" (*)
        │       ├── itertools feature "default" (*)
        │       ├── url feature "default" (*)
        │       ├── percent-encoding feature "default" (*)
        │       ├── regex feature "default" (*)
        │       ├── regex feature "std" (*)
        │       ├── futures feature "default" (*)
        │       ├── async-trait feature "default" (*)
        │       ├── num_cpus feature "default" (*)
        │       ├── tracing feature "default" (*)
        │       ├── base64 feature "default"
        │       │   ├── base64 v0.12.3
        │       │   └── base64 feature "std"
        │       │       └── base64 v0.12.3
        │       ├── concat-idents feature "default"
        │       │   └── concat-idents v1.1.5 (proc-macro)
        │       │       ├── quote feature "default" (*)
        │       │       ├── syn feature "default" (*)
        │       │       ├── syn feature "full" (*)
        │       │       └── syn feature "visit-mut" (*)
        │       ├── crosstarget-utils feature "default"
        │       │   └── crosstarget-utils v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/libs/crosstarget-utils)
        │       │       ├── enumflags2 feature "default" (*)
        │       │       ├── enumflags2 feature "serde" (*)
        │       │       ├── regex feature "default" (*)
        │       │       ├── regex feature "std" (*)
        │       │       ├── futures feature "default" (*)
        │       │       ├── derive_more feature "default" (*)
        │       │       ├── tokio feature "default" (*)
        │       │       ├── tokio feature "io-std" (*)
        │       │       ├── tokio feature "io-util" (*)
        │       │       ├── tokio feature "macros" (*)
        │       │       ├── tokio feature "parking_lot" (*)
        │       │       ├── tokio feature "rt-multi-thread" (*)
        │       │       ├── tokio feature "sync" (*)
        │       │       └── tokio feature "time" (*)
        │       ├── prisma-metrics feature "default"
        │       │   └── prisma-metrics v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/libs/metrics)
        │       │       ├── metrics-exporter-prometheus v0.15.3
        │       │       │   ├── quanta v0.12.3
        │       │       │   │   ├── libc feature "default" (*)
        │       │       │   │   ├── once_cell feature "default" (*)
        │       │       │   │   └── crossbeam-utils feature "default"
        │       │       │   │       ├── crossbeam-utils v0.8.16
        │       │       │   │       │   └── cfg-if feature "default" (*)
        │       │       │   │       └── crossbeam-utils feature "std"
        │       │       │   │           └── crossbeam-utils v0.8.16 (*)
        │       │       │   ├── thiserror v1.0.44 (*)
        │       │       │   ├── indexmap feature "std" (*)
        │       │       │   ├── metrics feature "default"
        │       │       │   │   └── metrics v0.23.0
        │       │       │   │       └── ahash v0.8.11 (*)
        │       │       │   ├── base64 feature "std"
        │       │       │   │   ├── base64 v0.22.1
        │       │       │   │   └── base64 feature "alloc"
        │       │       │   │       └── base64 v0.22.1
        │       │       │   ├── metrics-util feature "recency"
        │       │       │   │   ├── metrics-util v0.17.0
        │       │       │   │   │   ├── crossbeam-utils v0.8.16 (*)
        │       │       │   │   │   ├── num_cpus v1.16.0 (*)
        │       │       │   │   │   ├── ordered-float v4.3.0
        │       │       │   │   │   │   └── num-traits v0.2.16 (*)
        │       │       │   │   │   ├── quanta v0.12.3 (*)
        │       │       │   │   │   ├── radix_trie v0.2.1
        │       │       │   │   │   │   ├── endian-type feature "default"
        │       │       │   │   │   │   │   └── endian-type v0.1.2
        │       │       │   │   │   │   └── nibble_vec feature "default"
        │       │       │   │   │   │       └── nibble_vec v0.1.0
        │       │       │   │   │   │           └── smallvec feature "default" (*)
        │       │       │   │   │   ├── sketches-ddsketch v0.2.2
        │       │       │   │   │   ├── indexmap feature "std" (*)
        │       │       │   │   │   ├── hashbrown feature "ahash"
        │       │       │   │   │   │   └── hashbrown v0.14.5 (*)
        │       │       │   │   │   ├── aho-corasick feature "std" (*)
        │       │       │   │   │   ├── metrics feature "default" (*)
        │       │       │   │   │   ├── crossbeam-epoch feature "alloc"
        │       │       │   │   │   │   └── crossbeam-epoch v0.9.15
        │       │       │   │   │   │       ├── crossbeam-utils v0.8.16 (*)
        │       │       │   │   │   │       ├── scopeguard v1.2.0
        │       │       │   │   │   │       ├── cfg-if feature "default" (*)
        │       │       │   │   │   │       └── memoffset feature "default"
        │       │       │   │   │   │           └── memoffset v0.9.0
        │       │       │   │   │   │               [build-dependencies]
        │       │       │   │   │   │               └── autocfg feature "default" (*)
        │       │       │   │   │   │       [build-dependencies]
        │       │       │   │   │   │       └── autocfg feature "default" (*)
        │       │       │   │   │   └── crossbeam-epoch feature "std"
        │       │       │   │   │       ├── crossbeam-epoch v0.9.15 (*)
        │       │       │   │   │       ├── crossbeam-epoch feature "alloc" (*)
        │       │       │   │   │       └── crossbeam-utils feature "std" (*)
        │       │       │   │   ├── metrics-util feature "quanta"
        │       │       │   │   │   └── metrics-util v0.17.0 (*)
        │       │       │   │   └── metrics-util feature "registry"
        │       │       │   │       ├── metrics-util v0.17.0 (*)
        │       │       │   │       ├── metrics-util feature "crossbeam-epoch"
        │       │       │   │       │   └── metrics-util v0.17.0 (*)
        │       │       │   │       ├── metrics-util feature "crossbeam-utils"
        │       │       │   │       │   └── metrics-util v0.17.0 (*)
        │       │       │   │       ├── metrics-util feature "handles"
        │       │       │   │       │   ├── metrics-util v0.17.0 (*)
        │       │       │   │       │   ├── metrics-util feature "crossbeam-epoch" (*)
        │       │       │   │       │   └── metrics-util feature "crossbeam-utils" (*)
        │       │       │   │       ├── metrics-util feature "hashbrown"
        │       │       │   │       │   └── metrics-util v0.17.0 (*)
        │       │       │   │       └── metrics-util feature "num_cpus"
        │       │       │   │           └── metrics-util v0.17.0 (*)
        │       │       │   ├── metrics-util feature "registry" (*)
        │       │       │   └── metrics-util feature "summary"
        │       │       │       ├── metrics-util v0.17.0 (*)
        │       │       │       └── metrics-util feature "sketches-ddsketch"
        │       │       │           └── metrics-util v0.17.0 (*)
        │       │       ├── once_cell feature "default" (*)
        │       │       ├── serde feature "default" (*)
        │       │       ├── serde feature "derive" (*)
        │       │       ├── serde_json feature "default" (*)
        │       │       ├── serde_json feature "float_roundtrip" (*)
        │       │       ├── serde_json feature "preserve_order" (*)
        │       │       ├── serde_json feature "raw_value" (*)
        │       │       ├── futures feature "default" (*)
        │       │       ├── derive_more feature "default" (*)
        │       │       ├── parking_lot feature "default" (*)
        │       │       ├── tracing feature "default" (*)
        │       │       ├── metrics feature "default" (*)
        │       │       ├── metrics-util feature "default"
        │       │       │   ├── metrics-util v0.17.0 (*)
        │       │       │   ├── metrics-util feature "debugging"
        │       │       │   │   ├── metrics-util v0.17.0 (*)
        │       │       │   │   ├── metrics-util feature "indexmap"
        │       │       │   │   │   └── metrics-util v0.17.0 (*)
        │       │       │   │   ├── metrics-util feature "ordered-float"
        │       │       │   │   │   └── metrics-util v0.17.0 (*)
        │       │       │   │   └── metrics-util feature "registry" (*)
        │       │       │   ├── metrics-util feature "handles" (*)
        │       │       │   ├── metrics-util feature "layers"
        │       │       │   │   ├── metrics-util v0.17.0 (*)
        │       │       │   │   ├── metrics-util feature "layer-filter"
        │       │       │   │   │   ├── metrics-util v0.17.0 (*)
        │       │       │   │   │   └── metrics-util feature "aho-corasick"
        │       │       │   │   │       └── metrics-util v0.17.0 (*)
        │       │       │   │   └── metrics-util feature "layer-router"
        │       │       │   │       ├── metrics-util v0.17.0 (*)
        │       │       │   │       └── metrics-util feature "radix_trie"
        │       │       │   │           └── metrics-util v0.17.0 (*)
        │       │       │   ├── metrics-util feature "recency" (*)
        │       │       │   ├── metrics-util feature "registry" (*)
        │       │       │   └── metrics-util feature "summary" (*)
        │       │       ├── pin-project feature "default"
        │       │       │   └── pin-project v1.1.3
        │       │       │       └── pin-project-internal feature "default"
        │       │       │           └── pin-project-internal v1.1.3 (proc-macro)
        │       │       │               ├── proc-macro2 feature "default" (*)
        │       │       │               ├── quote feature "default" (*)
        │       │       │               ├── syn feature "default" (*)
        │       │       │               ├── syn feature "full" (*)
        │       │       │               └── syn feature "visit-mut" (*)
        │       │       ├── tracing-futures feature "default"
        │       │       │   ├── tracing-futures v0.2.5
        │       │       │   │   ├── tracing v0.1.40 (*)
        │       │       │   │   └── pin-project feature "default" (*)
        │       │       │   ├── tracing-futures feature "std"
        │       │       │   │   ├── tracing-futures v0.2.5 (*)
        │       │       │   │   └── tracing feature "std" (*)
        │       │       │   └── tracing-futures feature "std-future"
        │       │       │       ├── tracing-futures v0.2.5 (*)
        │       │       │       └── tracing-futures feature "pin-project"
        │       │       │           └── tracing-futures v0.2.5 (*)
        │       │       └── tracing-subscriber feature "default"
        │       │           ├── tracing-subscriber v0.3.18
        │       │           │   ├── tracing v0.1.40 (*)
        │       │           │   ├── tracing-core v0.1.32 (*)
        │       │           │   ├── once_cell feature "default" (*)
        │       │           │   ├── regex feature "std" (*)
        │       │           │   ├── regex feature "unicode-case" (*)
        │       │           │   ├── regex feature "unicode-perl" (*)
        │       │           │   ├── smallvec feature "default" (*)
        │       │           │   ├── matchers feature "default"
        │       │           │   │   └── matchers v0.1.0
        │       │           │   │       └── regex-automata feature "default"
        │       │           │   │           ├── regex-automata v0.1.10
        │       │           │   │           │   └── regex-syntax feature "default"
        │       │           │   │           │       ├── regex-syntax v0.6.29
        │       │           │   │           │       └── regex-syntax feature "unicode"
        │       │           │   │           │           ├── regex-syntax v0.6.29
        │       │           │   │           │           ├── regex-syntax feature "unicode-age"
        │       │           │   │           │           │   └── regex-syntax v0.6.29
        │       │           │   │           │           ├── regex-syntax feature "unicode-bool"
        │       │           │   │           │           │   └── regex-syntax v0.6.29
        │       │           │   │           │           ├── regex-syntax feature "unicode-case"
        │       │           │   │           │           │   └── regex-syntax v0.6.29
        │       │           │   │           │           ├── regex-syntax feature "unicode-gencat"
        │       │           │   │           │           │   └── regex-syntax v0.6.29
        │       │           │   │           │           ├── regex-syntax feature "unicode-perl"
        │       │           │   │           │           │   └── regex-syntax v0.6.29
        │       │           │   │           │           ├── regex-syntax feature "unicode-script"
        │       │           │   │           │           │   └── regex-syntax v0.6.29
        │       │           │   │           │           └── regex-syntax feature "unicode-segment"
        │       │           │   │           │               └── regex-syntax v0.6.29
        │       │           │   │           └── regex-automata feature "std"
        │       │           │   │               ├── regex-automata v0.1.10 (*)
        │       │           │   │               └── regex-automata feature "regex-syntax"
        │       │           │   │                   └── regex-automata v0.1.10 (*)
        │       │           │   ├── nu-ansi-term feature "default"
        │       │           │   │   └── nu-ansi-term v0.46.0
        │       │           │   │       └── overload feature "default"
        │       │           │   │           └── overload v0.1.1
        │       │           │   ├── sharded-slab feature "default"
        │       │           │   │   └── sharded-slab v0.1.4
        │       │           │   │       └── lazy_static feature "default" (*)
        │       │           │   ├── thread_local feature "default"
        │       │           │   │   └── thread_local v1.1.7
        │       │           │   │       ├── cfg-if feature "default" (*)
        │       │           │   │       └── once_cell feature "default" (*)
        │       │           │   ├── tracing-log feature "log-tracer"
        │       │           │   │   └── tracing-log v0.2.0
        │       │           │   │       ├── once_cell feature "default" (*)
        │       │           │   │       ├── tracing-core feature "default"
        │       │           │   │       │   ├── tracing-core v0.1.32 (*)
        │       │           │   │       │   └── tracing-core feature "std" (*)
        │       │           │   │       └── log feature "default" (*)
        │       │           │   └── tracing-log feature "std"
        │       │           │       ├── tracing-log v0.2.0 (*)
        │       │           │       └── log feature "std"
        │       │           │           └── log v0.4.22
        │       │           ├── tracing-subscriber feature "ansi"
        │       │           │   ├── tracing-subscriber v0.3.18 (*)
        │       │           │   ├── tracing-subscriber feature "fmt"
        │       │           │   │   ├── tracing-subscriber v0.3.18 (*)
        │       │           │   │   ├── tracing-subscriber feature "registry"
        │       │           │   │   │   ├── tracing-subscriber v0.3.18 (*)
        │       │           │   │   │   ├── tracing-subscriber feature "sharded-slab"
        │       │           │   │   │   │   └── tracing-subscriber v0.3.18 (*)
        │       │           │   │   │   ├── tracing-subscriber feature "std"
        │       │           │   │   │   │   ├── tracing-subscriber v0.3.18 (*)
        │       │           │   │   │   │   ├── tracing-core feature "std" (*)
        │       │           │   │   │   │   └── tracing-subscriber feature "alloc"
        │       │           │   │   │   │       └── tracing-subscriber v0.3.18 (*)
        │       │           │   │   │   └── tracing-subscriber feature "thread_local"
        │       │           │   │   │       └── tracing-subscriber v0.3.18 (*)
        │       │           │   │   └── tracing-subscriber feature "std" (*)
        │       │           │   └── tracing-subscriber feature "nu-ansi-term"
        │       │           │       └── tracing-subscriber v0.3.18 (*)
        │       │           ├── tracing-subscriber feature "fmt" (*)
        │       │           ├── tracing-subscriber feature "smallvec"
        │       │           │   └── tracing-subscriber v0.3.18 (*)
        │       │           ├── tracing-subscriber feature "std" (*)
        │       │           └── tracing-subscriber feature "tracing-log"
        │       │               └── tracing-subscriber v0.3.18 (*)
        │       ├── tracing-futures feature "default" (*)
        │       └── telemetry feature "default"
        │           └── telemetry v0.1.0 (/Users/jkomyno/work/prisma/prisma-engines-wasm/libs/telemetry)
        │               ├── ahash feature "default" (*)
        │               ├── serde feature "default" (*)
        │               ├── serde feature "derive" (*)
        │               ├── rand feature "default" (*)
        │               ├── serde_json feature "default" (*)
        │               ├── serde_json feature "float_roundtrip" (*)
        │               ├── serde_json feature "preserve_order" (*)
        │               ├── serde_json feature "raw_value" (*)
        │               ├── thiserror feature "default" (*)
        │               ├── enumflags2 feature "default" (*)
        │               ├── enumflags2 feature "serde" (*)
        │               ├── derive_more feature "default" (*)
        │               ├── tokio feature "default" (*)
        │               ├── tokio feature "macros" (*)
        │               ├── tokio feature "time" (*)
        │               ├── tracing feature "attributes" (*)
        │               ├── tracing feature "default" (*)
        │               ├── crosstarget-utils feature "default" (*)
        │               ├── tracing-futures feature "default" (*)
        │               ├── tracing-subscriber feature "default" (*)
        │               └── tracing-subscriber feature "env-filter"
        │                   ├── tracing-subscriber v0.3.18 (*)
        │                   ├── tracing-subscriber feature "matchers"
        │                   │   └── tracing-subscriber v0.3.18 (*)
        │                   ├── tracing-subscriber feature "once_cell"
        │                   │   └── tracing-subscriber v0.3.18 (*)
        │                   ├── tracing-subscriber feature "regex"
        │                   │   └── tracing-subscriber v0.3.18 (*)
        │                   ├── tracing-subscriber feature "std" (*)
        │                   ├── tracing-subscriber feature "thread_local" (*)
        │                   └── tracing-subscriber feature "tracing"
        │                       └── tracing-subscriber v0.3.18 (*)
        │       [build-dependencies]
        │       └── cfg_aliases feature "default"
        │           └── cfg_aliases v0.2.1
        ├── sha2 feature "default"
        │   ├── sha2 v0.9.9
        │   │   ├── cfg-if feature "default" (*)
        │   │   ├── cpufeatures feature "default" (*)
        │   │   ├── block-buffer feature "default"
        │   │   │   └── block-buffer v0.9.0
        │   │   │       └── generic-array feature "default" (*)
        │   │   ├── digest feature "default"
        │   │   │   └── digest v0.9.0
        │   │   │       └── generic-array feature "default" (*)
        │   │   └── opaque-debug feature "default"
        │   │       └── opaque-debug v0.3.0
        │   └── sha2 feature "std"
        │       ├── sha2 v0.9.9 (*)
        │       └── digest feature "std"
        │           ├── digest v0.9.0 (*)
        │           └── digest feature "alloc"
        │               └── digest v0.9.0 (*)
        └── tracing-error feature "default"
            ├── tracing-error v0.2.0
            │   ├── tracing feature "std" (*)
            │   ├── tracing-subscriber feature "fmt" (*)
            │   └── tracing-subscriber feature "registry" (*)
            └── tracing-error feature "traced-error"
                └── tracing-error v0.2.0 (*)
[dev-dependencies]
├── names v0.12.0
│   └── rand feature "default" (*)
├── once_cell feature "default" (*)
├── serde feature "default" (*)
├── serde feature "derive" (*)
├── indoc feature "default" (*)
├── itertools feature "default" (*)
├── url feature "default" (*)
├── dissimilar feature "default"
│   └── dissimilar v1.0.7
└── expect-test feature "default"
    └── expect-test v1.4.1
        ├── once_cell feature "default" (*)
        └── dissimilar feature "default" (*)

@jkomyno
Copy link
Contributor Author

jkomyno commented Jan 8, 2025

I've fixed most CI failures, except for

error: field `connection_limit` is never read
Error:    --> quaint/src/connector/postgres/url.rs:472:16
    |
470 | pub(crate) struct PostgresUrlQueryParams {
    |                   ---------------------- field in this struct
471 |     pub(crate) ssl_params: SslParams,
472 |     pub(crate) connection_limit: Option<usize>,
    |                ^^^^^^^^^^^^^^^^
    |
    = note: `PostgresUrlQueryParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
    = note: `-D dead-code` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(dead_code)]`

This happens because quaint is a transitive dependency of schema-connector and user-facing-errors, which is loaded in mongodb-schema-connector as well.

cargo tree -e features -p mongodb-schema-connector

The easiest solution, for now, is to disable dead code checks in quaint.
More in-depth alternatives would involve replacing #[cfg(native)] checks in quaint with #[cfg(not(target_arch = "wasm32"))], reworking how SqlFamily is exposed from quaint, etc. It's a hairy mess.

@jkomyno jkomyno merged commit 169dafa into main Jan 8, 2025
367 of 368 checks passed
@jkomyno jkomyno deleted the feat/wasm-compatible-sql-schema-describer branch January 8, 2025 14:24
@jkomyno jkomyno added this to the 6.3.0 milestone Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants