Kifu-for-JS
                                
                                 Kifu-for-JS copied to clipboard
                                
                                    Kifu-for-JS copied to clipboard
                            
                            
                            
                        JavaScriptで動く将棋の棋譜再生盤とそのブックマークレット
Kifu for JS monorepo  
 
このリポジトリについて
Kifu for JSと関連ライブラリのmonorepoです。個々のパッケージのREADMEは各パッケージのディレクトリにあります。
- kifu-for-js: Kifu for JS 将棋再生盤とブックマークレット
- json-kifu-format: JSON棋譜フォーマットと関連ライブラリ
- shogi.js: 将棋の盤駒を扱うライブラリ
- website: 公式サイト (https://kifu-for-js.81.la)
開発
このリポジトリは、npm packagesとlernaによるmonorepo環境です。
パッケージ依存関係
- shogi.js<-- json-kifu-format<-- kifu-for-js<-- website
- 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ページを起動し、変更を監視する | 
| website | すべてのパッケージをビルドして公式サイトを起動し、公式サイトへの変更を監視する(ライブラリへの変更は監視しません) | 
| cy:open | exampleページに対して統合テストを行う | 
リリースワークフロー (na2hiro向け)
- bumpGitHub Actions でパッケージのバージョンを上げる
- リリースページからリリースを生成
- publishGitHub Actions がリリースをビルド・公開する
- jsDelivrのcacheをパージする
https://cdn.jsdelivr.net/npm/kifu-for-js@5/bundle/kifu-for-js.min.js
https://cdn.jsdelivr.net/npm/kifu-for-js@5/bundle/public-bookmarklet.min.js
