The Wasm package for prisma-fmt
npm install @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.
``bash`
node -e "const prismaSchema = require('@prisma/prisma-schema-wasm'); console.log(prismaSchema.version())"
- The GitHub Actions workflow that publishes the NPM package: https://github.com/prisma/prisma-engines/blob/main/.github/workflows/publish-prisma-schema-wasm.yml
- It is triggered from the https://github.com/prisma/engines-wrapper publish action.
- The Rust source code for the wasm module
- The nix build definition
- It gives us a fully reproducible, thoroughly described build process and environment. The alternative would be a bash script with installs through rustup, cargo install and apt, with underspecified system dependencies and best-effort version pinning.
- You can read more about nix on nix.dev and the official website.
in prisma-engines, to sync with your local dev environment for the language-server, one can do the following:$3
`
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
`$3
`bash
./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