@prisma/prisma-schema-wasm
This directory only contains build logic to package the prisma-fmt
engine
into a Node package as a WASM module. All the functionality is implemented in
other parts of prisma-engines.
The published NPM package is internal to Prisma. Its API will break without prior warning.
Example
node -e "const prismaSchema = require('@prisma/prisma-schema-wasm'); console.log(prismaSchema.version())"
Components
Local Dev with Language-Tools
When implementing features for language-tools
in prisma-engines
, to sync with your local dev environment for the language-server
, one can do the following:
On first setup
# Install the latest Rust version with `rustup`
# or update the latest Rust version with `rustup`
rustup update
rustup target add wasm32-unknown-unknown
cargo update -p wasm-bindgen
# Check the version defined in `prisma-schema-wasm/cargo.toml` for `wasm-bindgen` and replace `version` below:
cargo install -f wasm-bindgen-cli@version
On Changes
./prisma-schema-wasm/scripts/update-schema-wasm.sh
This script has the following expectations:
language-tools
is in the same dir as prisma-engines
- i.e.
dir/{prisma-engines,language-tools}
- it's run in the
prisma-engines
root folder