DEVELOPMENT.md
Yaak is a combined Node.js and Rust monorepo. It is a Tauri project, so uses Rust and HTML/CSS/JS for the main application but there is also a plugin system powered by a Node.js sidecar that communicates to the app over gRPC.
Because of the moving parts, there are a few setup steps required before development can begin.
Make sure you have the following tools installed:
Check the installations with the following commands:
node -v
npm -v
vp --version
rustc --version
Install the NPM dependencies:
npm install
Run the bootstrap command to do some initial setup:
npm run bootstrap
After bootstrapping, start the app in development mode:
npm start
New migrations can be created from the src-tauri/ directory:
npm run migration
Rerun the app to apply the migrations.
Note: For safety, development builds use a separate database location from production builds.
# Example
lezer-generator components/core/Editor/<LANG>/<LANG>.grammar > components/core/Editor/<LANG>/<LANG>.ts
This repo uses Vite+ for linting (oxlint) and formatting (oxfmt).
npm run lint
npm run format
Notes:
vp lint automatically on commit.tsc --noEmit for type-checking.