Package Exports
- @prisma/prisma-fmt-wasm
- @prisma/prisma-fmt-wasm/src/prisma_fmt_build.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@prisma/prisma-fmt-wasm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@prisma/prisma-fmt-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 prismaFmt = require('@prisma/prisma-fmt-wasm'); console.log(prismaFmt.version())"Components
- The GitHub Actions workflow that publishes the NPM package: https://github.com/prisma/prisma-engines/blob/main/.github/workflows/publish-prisma-fmt-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 installandapt, with underspecified system dependencies and best-effort version pinning. - You can read more about nix on nix.dev and the official website.
- It gives us a fully reproducible, thoroughly described build process and environment. The alternative would be a bash script with installs through
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-fmt-wasm/cargo.toml` for `wasm-bindgen` and replace `version` below:
cargo install -f wasm-bindgen-cli@versionOn Changes
./prisma-fmt-wasm/scripts/update-fmt-wasm.shThis script has the following expectations:
language-toolsis in the same dir asprisma-engines- i.e.
dir/{prisma-engines,language-tools}
- i.e.
- it's run in the
prisma-enginesroot folder