❗ This book is WIP ❗
Introduction
Graviton is a modularized and composable code editor, meaning that the different modules can be used to build other editors, with for example, a different frontend.
Modules:
core
: The backend enginecore_api
: A set of APIs for extensions to usecore_deno
: Deno runtime for third-party extensionweb
: A web-based frontend implementationlanguages
: All the translations as NPM packagedesktop
: A desktop client for Graviton, powered by Tauriserver
: A remote server for Graviton, unsecure for now
Learn more:
Building 🧰
Graviton Desktop
Requisites:
- nodejs + npm (
https://nodejs.org
) - cargo (stable channel) (
https://www.rust-lang.org
) - tauri cli (
cargo install tauri-cli --version 1.0.0-rc.10
) - tauri os-specific dependencies (See this)
- pnpm (
npm i -g pnpm
) - deno (See this)
- (Optional, just for tests): nextest (
cargo install cargo-nextest
)
Installing dependencies:
cd Graviton-App
pnpm install
To develop, run:
pnpm run dev_desktop
To create a binary / installer, run:
pnpm run build_desktop
To run automated tests:
pnpm test
To lint all the code:
pnpm run lint
To format all the code:
pnpm run format