Skip to content

Latest commit

 

History

History
62 lines (40 loc) · 1.37 KB

DEVELOPMENT.md

File metadata and controls

62 lines (40 loc) · 1.37 KB

Developer Setup

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.

Prerequisites

Make sure you have the following tools installed:

Check the installations with the following commands:

node -v
npm -v
rustc --version

Install the NPM dependencies:

npm install

Run the bootstrap command to do some initial setup:

npm run bootstrap

NOTE: Run with YAAK_PLUGINS_DIR=<Path to yaakapp/plugins> to re-build bundled plugins

Run the App

After bootstrapping, start the app in development mode:

npm start

NOTE: If working on bundled plugins, run with YAAK_PLUGINS_DIR=<Path to yaakapp/plugins>

SQLite Migrations

New migrations can be created from the src-tauri/ directory:

cd src-tauri
sqlx migrate add migration-name

Run the app to apply the migrations.

If nothing happens, try cargo clean and run the app again.

Note: Development builds use a separate database location from production builds.