AviUtl Package Managerへのコントリビュートに興味を持っていただきありがとうございます!!
コントリビュートの仕方についてガイドします。
このアプリは、Electronで使用して作成しています。
使用する言語は以下の通りです。
- JavaScript (Node.js)
- HTML
- CSS
以下のIssueは、テンプレートを用意しています。日本語でも英語でも構いません。
その他のIssueも大歓迎です。
また、開発の仕方やコードの切り分け方、データ形式の仕様など、根本的な改善のIssueも大歓迎です。
Pull Requestも大歓迎です。
以下のようなPull Requestを受け付けています。基本的なPull Requestは、Issueを立てなくても問題ありません。
新機能や改善、修正について、疑問がある場合や、大きな新機能や変更の影響が大きい場合は、一度Issueを立てて相談してください。
- バグの修正
- 新機能の追加
- 既存機能の改善
- リファクタリング
- ドキュメントの修正
Pull Requestがマージされた時点で、あなたの貢献がContributorsリストに追加され、コードの内容にはMIT Licenseが適用されます。
その後、もしよろしければ、クレジットに自分の名前を加えて、プルリクエストを送ってください。
CODE OF CONDUCTに反する内容を含むものは受け付けません。
修正の確認には、2通りの方法があります。
コンソールから起動することで、手軽に修正を確認できます。
yarn start
を実行することでアプリが起動します。
パッケージ化したアプリを実行することで、より実環境に近い確認ができます。
yarn package
を実行することで、out/
にパッケージ化されたアプリが出力されているので、実行します。
src
下に、各画面用のHTML, CSS, プリロードJavaScriptを配置し、ライブラリと各セクションごとにディレクトリを切り、その下にモジュールを配置します。
└── src
├── core
│ └── core.js
├── lib
│ └── someLibrary.js
├── package
│ └── package.js
├── setting
│ └── setting.js
├── some_window.html
├── some_window.css
├── some_window_preload.ts
└── some_window_renderer.ts
AngularのCommit Message Formatをベースとした、Conventional Changelogを使用しています。
コミットメッセージはコミット時にcommitlintによって自動でチェックされ、規約に沿っていない場合にはコミットに失敗します。
standard-versionを利用して変更履歴を出力しているので、新機能の追加やバグ修正を含むコミットは、とくにこの規約にしたがってください。
コミットメッセージの生成を簡略化するために、commitizenを導入しています。
コミット時に、yarn cm
を使用してください。
その後は、コンソールの指示通りに入力すれば、規約に沿ったコミットメッセージでコミットできます。
日本語化するには、リポジトリのルートディレクトリに.czrc
ファイルを作成して、以下のように書き込んでください。(このファイルは、Gitから無視されます。)
{
"path": "cz-conventional-changelog-ja"
}
このプロジェクトでは、以下のような書き方・ルールがありますが、コミット時にリントとフォーマットが自動実行されるので、気にしすぎる必要はないかもしれません。
リントにESLintを使用しており、Google JavaScript Style Guideをベースに設定しています。内容は以下の通りです。
- ECMAScript 2020を使用できます。
- 変数の宣言には、基本的に
const
/let
を使用します。 - モジュールの読み込みには、
require
を使用します。 - 関数にはJSDocをコメントします。
フォーマッターとして、Prettierを使用しています。
適用される設定は、.editorconfigに書かれた内容と、シングルクォーテーションの使用です。