From 6384d0708dfbc3d432703077be5afe866177f453 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 28 Aug 2021 15:42:27 +0900 Subject: update contribution guides --- CONTRIBUTING.md | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b3c67ff4d7..144efb87f4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,17 +1,35 @@ # Contribution guide -:v: Thanks for your contributions :v: +**[✨ English version available](/docs/CONTRIBUTING.en.md)** -## When you contribute... -- 任意のIssueについて、せっかく実装してくださっても、実装方法や設計の認識が揃ってないとマージできない/しないことになりかねないので、初めにそのIssue上で着手することを宣言し、必要に応じて他メンバーと実装方法や設計のすり合わせを行ってください。宣言することは作業が他の人と被るのを防止する効果もあります。 - - 設計に迷った時はプロジェクトリーダーの判断を仰いでください。 -- 時間や優先度の都合上、提出してくださったPRが長期間放置されることもありますがご理解ください。 - - 温度感高めで見てほしいものは責付いてください。 +プロジェクトに興味を持っていただきありがとうございます! このドキュメントでは、プロジェクトに貢献する際に必要な情報をまとめています。 -## Issues -Feature suggestions and bug reports are filed in https://github.com/misskey-dev/misskey/issues . +## 実装をする前に +機能追加やバグ修正をしたいときは、まずIssueなどで設計、方針をレビューしてもらいましょう(無い場合は作ってください)。このステップがないと、せっかく実装してもPRがマージされない可能性が高くなります。 + +また、実装に取り掛かるときは当該Issueに自分をアサインしてください(自分でできない場合は他メンバーに自分をアサインしてもらうようお願いしてください)。 +自分が実装するという意思表示をすることで、作業がバッティングするのを防ぎます。 -* Please search existing issues to avoid duplication. If your issue is already filed, please add your reaction or comment to the existing one. -* If you have multiple independent issues, please submit them separately. +## Issues +Issueを作成する前に、以下をご確認ください: +- 重複を防ぐため、既に同様の内容のIssueが作成されていないか検索してから新しいIssueを作ってください。 +- Issueを質問に使わないでください。 + - Issueは、要望、提案、問題の報告にのみ使用してください。 + - 質問は、[Misskey Forum](https://forum.misskey.io/)や[Discord](https://discord.gg/Wp8gVStHW3)でお願いします。 + +## PRの作成 +PRありがとうございます! PRを作成する前に、以下をご確認ください: +- 可能であればタイトルに、以下で示すようなPRの種類が分かるキーワードをプリフィクスしてください。 + - fix / refactor / feat / enhance / perf / chore + - また、PRの粒度が適切であることを確認してください。ひとつのPRに複数の種類の変更や関心を含めることは避けてください。 +- このPRによって解決されるIssueがある場合は、そのIssueへの参照を本文内に含めてください。 +- [`CHANGELOG.md`](/CHANGELOG.md)に変更点を追記してください。リファクタリングなど、利用者に影響を与えない変更についてはこの限りではありません。 +- この変更により新たに作成、もしくは更新すべきドキュメントがないか確認してください。 +- 機能追加やバグ修正をした場合は、可能であればテストケースを追加してください。 +- テスト、Lintが通っていることを予め確認してください。 + - `npm run test`、`npm run lint`でぞれぞれ実施可能です +- UIに変更がある場合はスクリーンショットを本文内に添付してください。 + +ご協力ありがとうございます🤗 ## Branches * **master** branch is tracking the latest release and used for production purposes. -- cgit v1.2.3-freya From 5719c623a4cb1e170176930040b693028d756136 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 30 Aug 2021 19:56:28 +0900 Subject: Update CONTRIBUTING.md --- CONTRIBUTING.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 144efb87f4..4e898c7acf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,12 +3,6 @@ プロジェクトに興味を持っていただきありがとうございます! このドキュメントでは、プロジェクトに貢献する際に必要な情報をまとめています。 -## 実装をする前に -機能追加やバグ修正をしたいときは、まずIssueなどで設計、方針をレビューしてもらいましょう(無い場合は作ってください)。このステップがないと、せっかく実装してもPRがマージされない可能性が高くなります。 - -また、実装に取り掛かるときは当該Issueに自分をアサインしてください(自分でできない場合は他メンバーに自分をアサインしてもらうようお願いしてください)。 -自分が実装するという意思表示をすることで、作業がバッティングするのを防ぎます。 - ## Issues Issueを作成する前に、以下をご確認ください: - 重複を防ぐため、既に同様の内容のIssueが作成されていないか検索してから新しいIssueを作ってください。 @@ -16,6 +10,12 @@ Issueを作成する前に、以下をご確認ください: - Issueは、要望、提案、問題の報告にのみ使用してください。 - 質問は、[Misskey Forum](https://forum.misskey.io/)や[Discord](https://discord.gg/Wp8gVStHW3)でお願いします。 +## 実装をする前に +機能追加やバグ修正をしたいときは、まずIssueで設計、方針をレビューしてもらいましょう(無い場合は作ってください)。このステップがないと、せっかく実装してもPRがマージされない可能性が高くなります。 + +また、実装に取り掛かるときは当該Issueに自分をアサインしてください(自分でできない場合は他メンバーに自分をアサインしてもらうようお願いしてください)。 +自分が実装するという意思表示をすることで、作業がバッティングするのを防ぎます。 + ## PRの作成 PRありがとうございます! PRを作成する前に、以下をご確認ください: - 可能であればタイトルに、以下で示すようなPRの種類が分かるキーワードをプリフィクスしてください。 -- cgit v1.2.3-freya From 90411967d6fdd56147b358cd0f12af3d5781fb84 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 30 Aug 2021 20:00:31 +0900 Subject: Update CONTRIBUTING.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit linterで担保させれば済むため、コーディングスタイルなどのセクションを削除 --- CONTRIBUTING.md | 107 +------------------------------------------------------- 1 file changed, 1 insertion(+), 106 deletions(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4e898c7acf..841036e2e1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -73,116 +73,11 @@ Configuration files are located in [`/.github/workflows`](/.github/workflows). If you have no experience on 3D modeling, we suggest to use the free 3DCG software [Blender](https://www.blender.org/). You can find information on glTF 2.0 at [glTF 2.0 — Blender Manual]( https://docs.blender.org/manual/en/dev/addons/io_scene_gltf2.html). -## FAQ +## Notes ### How to resolve conflictions occurred at yarn.lock? Just execute `yarn` to fix it. -## Glossary -### AP -Stands for _**A**ctivity**P**ub_. - -### MFM -Stands for _**M**isskey **F**lavored **M**arkdown_. - -### Mk -Stands for _**M**iss**k**ey_. - -### SW -Stands for _**S**ervice**W**orker_. - -### Nyaize -Convert な(na) to にゃ(nya) - -#### Denyaize -Revert Nyaize - -## TypeScript Coding Style -### Do not omit semicolons -This is to avoid Automatic Semicolon Insertion (ASI) hazard. - -Ref: -* https://www.ecma-international.org/ecma-262/#sec-automatic-semicolon-insertion -* https://github.com/tc39/ecma262/pull/1062 - -### Do not omit curly brackets -Bad: -``` ts -if (foo) - bar; -else - baz; -``` - -Good: -``` ts -if (foo) { - bar; -} else { - baz; -} -``` - -As a special case, you can omit the curly brackets if - -* the body of the `if`-statement have only one statement and, -* the `if`-statement does not have `else`-clause. - -Good: -``` ts -if (foo) bar; -``` - -Make sure that the condition and the body statement are on the same line. - -### Do not use `==` when it can simply be replaced with `===`. -🥰 - -### Use only boolean (or null related) values in the condition of an `if`-statement. -Bad: -``` ts -if (foo.length) -``` - -Good: -``` ts -if (foo.length > 0) -``` - -### Do not use `export default` -This is because the current language support does not work well with `export default`. - -Ref: -* https://basarat.gitbooks.io/typescript/docs/tips/defaultIsBad.html -* https://gfx.hatenablog.com/entry/2017/11/24/135343 - -Bad: -``` ts -export default function(foo: string): string { -``` - -Good: -``` ts -export function something(foo: string): string { -``` - -## Directory structure -``` -src ... Source code - @types ... Type definitions - prelude ... Independence utils for coding JavaScript without side effects - misc ... Independence utils for Misskey without side effects - service ... Common functions with side effects - queue ... Job queues and Jobs - server ... Web Server - client ... Client - mfm ... MFM - -test ... Test code - -``` - -## Notes ### placeholder SQLをクエリビルダで組み立てる際、使用するプレースホルダは重複してはならない 例えば -- cgit v1.2.3-freya From 7e30910ab84e1bec6779b5d4b89db02274768b18 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 30 Aug 2021 20:11:22 +0900 Subject: Update CONTRIBUTING.md --- CONTRIBUTING.md | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 841036e2e1..ca0a841ccf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,22 +19,23 @@ Issueを作成する前に、以下をご確認ください: ## PRの作成 PRありがとうございます! PRを作成する前に、以下をご確認ください: - 可能であればタイトルに、以下で示すようなPRの種類が分かるキーワードをプリフィクスしてください。 - - fix / refactor / feat / enhance / perf / chore + - `fix` / `refactor` / `feat` / `enhance` / `perf` / `chore` など - また、PRの粒度が適切であることを確認してください。ひとつのPRに複数の種類の変更や関心を含めることは避けてください。 - このPRによって解決されるIssueがある場合は、そのIssueへの参照を本文内に含めてください。 - [`CHANGELOG.md`](/CHANGELOG.md)に変更点を追記してください。リファクタリングなど、利用者に影響を与えない変更についてはこの限りではありません。 - この変更により新たに作成、もしくは更新すべきドキュメントがないか確認してください。 - 機能追加やバグ修正をした場合は、可能であればテストケースを追加してください。 - テスト、Lintが通っていることを予め確認してください。 - - `npm run test`、`npm run lint`でぞれぞれ実施可能です + - `npm run test`、`npm run lint`でぞれぞれ実施可能です。[詳細](#testing) - UIに変更がある場合はスクリーンショットを本文内に添付してください。 ご協力ありがとうございます🤗 -## Branches -* **master** branch is tracking the latest release and used for production purposes. -* **develop** branch is where we work for the next release. -* **l10n_develop** branch is reserved for localization management. +## ブランチ +- **`master`** branch is tracking the latest release and used for production purposes. +- **`develop`** branch is where we work for the next release. + - PRを作成するときは、基本的にこのブランチに向けてください。 +- **`l10n_develop`** branch is reserved for localization management. ## Localization (l10n) Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management. @@ -50,14 +51,22 @@ If your language is not listed in Crowdin, please open an issue. * Documents for instance admins are located in [`/docs`](/docs). * Documents for end users are located in [`/src/docs`](/src/docs). -## Test -* Test codes are located in [`/test`](/test). +## Testing +- Test codes are located in [`/test`](/test). -### Run specify test +### Run test +``` +npm run test +``` + +#### Run specify test ``` npx cross-env TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true TS_NODE_PROJECT="./test/tsconfig.json" npx mocha test/foo.ts --require ts-node/register ``` +### e2e tests +TODO + ## Continuous integration Misskey uses GitHub Actions for executing automated tests. Configuration files are located in [`/.github/workflows`](/.github/workflows). -- cgit v1.2.3-freya