91 lines
2.8 KiB
Markdown
91 lines
2.8 KiB
Markdown
# 開発への協力方法
|
|
|
|
これは個人的なフォークなので、基本的には本家 Firefish の開発に協力してもらえればと思います。ただし、最近は本家 Firefish へのマージリクエストのマージが滞りがちですし、本家版にいきなり貢献するのはハードルが高いと思ったりマージしてもらえるか分からないニッチな機能を作ったりした場合にはこのフォークへ貢献していただいてもよいです。
|
|
|
|
現状、マージリクエストを直接送る方法が無いので patch ファイルまたは別のサイトにフォークしたリポジトリに追加したコミットへの URL を[私](https://post.naskya.net/@dev)に送ってください。
|
|
|
|
## 開発の方法
|
|
|
|
### 環境構築
|
|
|
|
1. 以下のソフトウェアをインストールする
|
|
|
|
- podman
|
|
- podman-compose
|
|
- make
|
|
- nodejs
|
|
- pnpm
|
|
- shellcheck
|
|
- sea-orm-cli
|
|
|
|
2. 以下の内容の `dev/docker-compose.yml` を作成する
|
|
|
|
```yaml
|
|
version: "3"
|
|
|
|
services:
|
|
redis:
|
|
image: docker.io/redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
|
|
db:
|
|
image: docker.io/groonga/pgroonga:latest-alpine-16
|
|
environment:
|
|
- "POSTGRES_PASSWORD=password"
|
|
- "POSTGRES_USER=firefish"
|
|
- "POSTGRES_DB=firefish_db"
|
|
ports:
|
|
- "5432:5432"
|
|
```
|
|
|
|
3. コンテナを起動し、PGroonga を有効化する
|
|
|
|
```bash
|
|
cd dev
|
|
podman-compose up --detach
|
|
podman-compose exec db --user=firefish --dbname=firefish_db --command='CREATE EXTENSION pgroonga;'
|
|
```
|
|
|
|
4. 以下の内容の `.config/default.yml` を作成する
|
|
|
|
```yaml
|
|
url: http://localhost:3000
|
|
port: 3000
|
|
db:
|
|
host: localhost
|
|
port: 5432
|
|
db: firefish_db
|
|
user: firefish
|
|
pass: password
|
|
redis:
|
|
host: localhost
|
|
port: 6379
|
|
```
|
|
|
|
コンテナを作り直すと簡単にデータベースを初期化できます。
|
|
|
|
```bash
|
|
cd dev
|
|
podman-compose down --volumes
|
|
podman-compose up --detach
|
|
podman-compose exec db --user=firefish --dbname=firefish_db --command='CREATE EXTENSION pgroonga;'
|
|
```
|
|
|
|
参考にした記事: [Firefish 開発環境の準備(バックエンド向け)](https://hackmd.io/@nmkj-io/HJHNbM_8a)
|
|
|
|
### 実行
|
|
|
|
```bash
|
|
make debug
|
|
```
|
|
|
|
### コミット前に行う確認
|
|
|
|
```bash
|
|
make pre-commit
|
|
```
|
|
|
|
## 注意事項
|
|
|
|
データベースのマイグレーションを伴う変更を加える場合にはマイグレーションのファイルを [`packages/backend/migration-neko`](https://code.naskya.net/naskya/firefish/source-by/main/packages/backend/migration-neko) の下に作成し、マイグレーションを打ち消す SQL クエリを [`neko/revert.sql`](https://code.naskya.net/naskya/firefish/source-by/main/neko/revert.sql) の**一番上に**追記してください。
|