Kifu for JS monorepo
Kifu for JSと関連ライブラリのmonorepoです。個々のパッケージのREADMEは各パッケージのディレクトリにあります。
kifu-for-js
: Kifu for JS 将棋再生盤とブックマークレットjson-kifu-format
: JSON棋譜フォーマットと関連ライブラリshogi.js
: 将棋の盤駒を扱うライブラリ
開発
このリポジトリは、npm packagesとlernaによるmonorepo環境です。
パッケージ依存関係
shogi.js
<-json-kifu-format
<-kifu-for-js
shogi.js
<-kifu-for-js
準備
nvm i && nvm use
としてnpmを用意します。(nvm が必要です。)- ルートディレクトリで
npm install
を実行すると、各パッケージの依存関係がインストールされます。
開発ワークフロー
- ルートディレクトリで
npm run dev
を実行すると、各パッケージがビルドされ、変更があると自動的にビルドが再実行されます。 - パッケージの開発を行います。都度ブラウザで動作を確認します。
- テストを書きます。
npm run test
でテストを一括実行します。また、個々のパッケージで変更を監視しながらテストを実行するには、個々のパッケージに移動して(例:cd /packages/Kifu-for-JS
)npm run test:watch
を実行します。 npm run lint:fix
として、修正可能なものは修正しつつLintを実行します。- プルリクエストを作成します。ブランチでビルドが走り、テストがパスすることを確認します。
新たなライブラリをインストールする
- 全てのパッケージに対してインストールする場合は、ルートディレクトリで
npm install (ライブラリ名)
を実行します。 - 個々のパッケージに対してインストールする場合は、ルートディレクトリで
npm install (ライブラリ名) -w (インストール先パッケージ名)
を実行します。
npmスクリプト
npm run ... |
説明 |
---|---|
lint |
すべてのパッケージのlintを行う |
lint:fix |
すべてのパッケージのlintを行い、修正可能なものは修正する |
test |
すべてのパッケージのテストを行う |
build |
すべてのパッケージをビルドする |
dev |
すべてのパッケージをビルドしてexampleページを起動し、変更を監視する |
cy:open |
exampleページに対して統合テストを行う |
リリースワークフロー (na2hiro向け)
bump
GitHub Actions でパッケージのバージョンを上げる- リリースページからリリースを生成
publish
GitHub Actions がリリースをビルド・公開する