Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restore textlint, as a subpackage #580

Merged
merged 7 commits into from
May 25, 2023
Merged

Restore textlint, as a subpackage #580

merged 7 commits into from
May 25, 2023

Conversation

smikitky
Copy link
Member

@smikitky smikitky commented May 16, 2023

Textlint によるコミット前フックを復活させます。

  • 新しく textlint ディレクトリを作り 前は設定系ファイルのみがあった textlint ディレクトリに新しく package.json, yarn.lock などを配置し、別パッケージとして textlint をセットアップしました。こちらの新しい package.json にも script が複数あり単体で動きますが、人間が直接これを打つことはあまり想定していません。
  • ルートの package.json に textlint, textlint-staged というスクリプトを追加しました。これらは、cd textlint && yarn install --frozen-lockfile してからサブパッケージ上の同名スクリプトを起動するものです。従ってリポジトリルートで単に yarn textlint するだけで textlint が動きます。初回のみ少し遅いですが、人間が手動で何かをセットアップする必要はないはずです。
  • husky による post-commit フックはルートの ja.react.dev で既にセットアップされており、Markdown に対して yarn fix-headings を実行するようになっていました。なのでそこに更に(リポジトリルートで)yarn textlint-staged するステップを追加しました。
  • prh.yml は、検出漏れがかなりありそうだったのでルールにだいぶ手を入れました。
  • prh が何かエラーを出した場合コミットが止まるようにしました(以前は warn するだけでした)。lint-staged が賢く同時並行で処理などするようになった一方で、警告が出ても見づらくなっている雰囲気でしたので。
  • JTF の方のルールで誤検出が多かったルールを幾つか無効化しました。
  • 以前は @textlint-rule/textlint-rule-no-invalid-control-character という特殊文字を検出するルールが入っていたのですが動作確認できなかったので外しています。

ルートの yarn.lock には一切触れていないので将来のマージで悩む必要はなさそうです。

注意点

  • prh は main にマージ済みのファイルでは過剰検出が起きないことを確認していますが、今後過剰検出が稀に出てくることが予想されるので、その辺りをドキュメント化する必要が今後出てきそうです。
  • CI に textlint を入れて GitHub で❌が表示されるようにすることもすぐ可能そうですが、上記のような誤検出で強制コミットしてもらうワークフローの場合に面倒なので、とりあえず入れていません。prh が安定するようなら CI に入れて、「誤検出があった場合は prh のルールも改善してからマージ」という方針にしてもいいかもしれませんが、当面はここまですると大変すぎるかなという気がしました。

@smikitky smikitky added the workflow Working environment improvements including linting and CSS styles label May 16, 2023
@smikitky smikitky marked this pull request as ready for review May 16, 2023 01:47
@github-actions
Copy link

github-actions bot commented May 16, 2023

Size changes

📦 Next.js Bundle Analysis for react-dev

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

@smikitky smikitky changed the title Restore textlint Restore textlint, as a subpackage May 16, 2023
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

リポジトリルートにあった旧サイト用設定ファイルなので削除

@smikitky smikitky merged commit c4d7958 into main May 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
workflow Working environment improvements including linting and CSS styles
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants