Skip to content

JavaScriptで動く将棋の棋譜再生盤とそのブックマークレット `kifu-for-js`、JSON棋譜フォーマット(JKF)の定義とKIF, KI2, CSAからの変換ライブラリ `json-kifu-format`、将棋のモデル`shogi.js`を含むmonorepo

Notifications You must be signed in to change notification settings

na2hiro/Kifu-for-JS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kifu for JS monorepo Build Status License: MIT

Kifu for JS 公式サイトはこちら

Kifu for JS official site

このリポジトリについて

Kifu for JSと関連ライブラリのmonorepoです。個々のパッケージのREADMEは各パッケージのディレクトリにあります。

開発

このリポジトリは、npm packagesとlernaによるmonorepo環境です。

パッケージ依存関係

  • shogi.js <- json-kifu-format <- kifu-for-js <- website
  • shogi.js <- kifu-for-js

準備

  1. nvm i && nvm use としてnpmを用意します。(nvm が必要です。)
  2. ルートディレクトリでnpm installを実行すると、各パッケージの依存関係がインストールされます。

開発ワークフロー

  1. ルートディレクトリで npm run dev を実行すると、各パッケージがビルドされ、変更があると自動的にビルドが再実行されます。
  2. パッケージの開発を行います。都度ブラウザで動作を確認します。
  3. テストを書きます。 npm run test でテストを一括実行します。また、個々のパッケージで変更を監視しながらテストを実行するには、個々のパッケージに移動して(例:cd /packages/Kifu-for-JSnpm run test:watch を実行します。
  4. npm run lint:fix として、修正可能なものは修正しつつLintを実行します。
  5. プルリクエストを作成します。ブランチでビルドが走り、テストがパスすることを確認します。

新たなライブラリをインストールする

  • 全てのパッケージに対してインストールする場合は、ルートディレクトリで npm install (ライブラリ名) を実行します。
  • 個々のパッケージに対してインストールする場合は、ルートディレクトリで npm install (ライブラリ名) -w (インストール先パッケージ名) を実行します。

npmスクリプト

npm run ... 説明
lint すべてのパッケージのlintを行う
lint:fix すべてのパッケージのlintを行い、修正可能なものは修正する
test すべてのパッケージのテストを行う
build すべてのパッケージをビルドする
dev すべてのパッケージをビルドしてexampleページを起動し、変更を監視する
website すべてのパッケージをビルドして公式サイトを起動し、公式サイトへの変更を監視する(ライブラリへの変更は監視しません)
cy:open exampleページに対して統合テストを行う

リリースワークフロー (na2hiro向け)

  1. bump GitHub Actions でパッケージのバージョンを上げる
  2. リリースページからリリースを生成
  3. publish GitHub Actions がリリースをビルド・公開する
  4. 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

About

JavaScriptで動く将棋の棋譜再生盤とそのブックマークレット `kifu-for-js`、JSON棋譜フォーマット(JKF)の定義とKIF, KI2, CSAからの変換ライブラリ `json-kifu-format`、将棋のモデル`shogi.js`を含むmonorepo

Resources

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published