diff --git a/docs/BUILDING.md b/docs/BUILDING.md new file mode 100644 index 000000000..123aac7c5 --- /dev/null +++ b/docs/BUILDING.md @@ -0,0 +1,56 @@ +# Building BlockSuite + +## Table of Contents + +- [Prerequisites](#prerequisites) +- [Setup Environment](#setup-environment) +- [Play with Playground](#play-with-playground) +- [Testing](#testing) + +## Prerequisites + +We suggest develop our product under node.js LTS(Long-term support) version + +### Option 1: Manually install node.js + +install [Node LTS version](https://nodejs.org/en/download) + +> Up to now, the major node.js version is 18.x + +### Option 2: Use node version manager + +install [nvm](https://github.com/nvm-sh/nvm) + +```sh +nvm install --lts +nvm use --lts +``` + +## Setup Environment + +```sh +# install dependencies +pnpm install +``` + +## Play with Playground + +```sh +pnpm dev +``` + +The playground page should work at [http://localhost:8080/](http://localhost:8080/) + + +## Testing + +Adding test cases is strongly encouraged when you contribute new features and bug fixes. + +We use [Playwright](https://playwright.dev/) for E2E test, and [vitest](https://vitest.dev/) for unit test. + +To test locally, please make sure browser binaries are already installed via `npx playwright install`. Then there are multi commands to choose from: + +```sh +# run tests in headless mode in another terminal window +pnpm test +```