AFFiNE/docs/BUILDING.md

61 lines
1.4 KiB
Markdown
Raw Normal View History

2023-03-05 21:18:56 +03:00
# Building AFFiNE Web
2023-02-09 10:34:43 +03:00
> **Note**
> For developing & building desktop client app, please refer to [building-desktop-client-app.md](./building-desktop-client-app.md)
2023-02-09 10:34:43 +03:00
## Table of Contents
- [Prerequisites](#prerequisites)
- [Setup Environment](#setup-environment)
2023-03-05 21:18:56 +03:00
- [Start Development Server](#start-development-server)
2023-02-09 10:34:43 +03:00
- [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
```
2023-03-05 21:18:56 +03:00
## Start Development Server
2023-02-09 10:34:43 +03:00
```sh
pnpm dev
```
The playground page should work at [http://localhost:8080/](http://localhost:8080/)
2023-03-05 21:18:56 +03:00
For more details, see [apps/web/README.md](../apps/web/README.md)
2023-02-09 10:34:43 +03:00
## 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
```