firefish/docs/contributing.md
2024-01-14 19:48:41 +09:00

2.8 KiB

開発への協力方法

これは個人的なフォークなので、基本的には本家 Firefish の開発に協力してもらえればと思います。ただし、最近は本家 Firefish へのマージリクエストのマージが滞りがちですし、本家版にいきなり貢献するのはハードルが高いと思ったりマージしてもらえるか分からないニッチな機能を作ったりした場合にはこのフォークへ貢献していただいてもよいです。

現状、マージリクエストを直接送る方法が無いので patch ファイルまたは別のサイトにフォークしたリポジトリに追加したコミットへの URL をに送ってください。

開発の方法

環境構築

  1. 以下のソフトウェアをインストールする

    • podman
    • podman-compose
    • make
    • nodejs
    • pnpm
    • shellcheck
    • sea-orm-cli
  2. 以下の内容の dev/docker-compose.yml を作成する

    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 を有効化する

    cd dev
    podman-compose up --detach
    podman-compose exec db --user=firefish --dbname=firefish_db --command='CREATE EXTENSION pgroonga;'
    
  4. 以下の内容の .config/default.yml を作成する

    url: http://localhost:3000
    port: 3000
    db:
      host: localhost
      port: 5432
      db: firefish_db
      user: firefish
      pass: password
    redis:
      host: localhost
      port: 6379
    

コンテナを作り直すと簡単にデータベースを初期化できます。

cd dev
podman-compose down --volumes
podman-compose up --detach
podman-compose exec db --user=firefish --dbname=firefish_db --command='CREATE EXTENSION pgroonga;'

参考にした記事: Firefish 開発環境の準備(バックエンド向け)

実行

make debug

コミット前に行う確認

make pre-commit

注意事項

データベースのマイグレーションを伴う変更を加える場合にはマイグレーションのファイルを packages/backend/migration-neko の下に作成し、マイグレーションを打ち消す SQL クエリを neko/revert.sql一番上に追記してください。