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

enhance(dev): 開発モード時にlocaleと型定義が自動的に再生成されるように #12481

Merged
merged 11 commits into from
Nov 30, 2023

Conversation

hideki0403
Copy link
Contributor

@hideki0403 hideki0403 commented Nov 27, 2023

What

開発モード(pnpm dev)で起動している場合に、localeディレクトリ内のymlが更新されたタイミングで型定義と各言語のlocaleが再生成されるようにしました。

またクライアントのナビゲーションバーに「キャッシュを削除」ボタンを表示および追加できるようにし、簡単に最新版のlocaleに更新できるようにしました。
image

Why

現状、以下のような問題が存在します。

  • localeに追加した単語はリビルド後に反映される
    • 開発モードで起動していた場合には再度pnpm devする必要がある
    • i18nの型定義も同じ
  • クライアント側も最新のlocaleを取ってくるには設定ページに移動してキャッシュ削除しなければいけない

Additional info (optional)

  • 32f5949 以降、パスの関係でWindowsでのみpnpm build-assets --watchが動作していなかった問題も修正しました
  • ナビゲーションバーに「キャッシュを削除」ボタンを追加できるようにしましたが、方針とは異なるようでしたら元に戻します

Checklist

  • Read the contribution guide
  • Test working in a local environment
  • (If needed) Add story of storybook
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

@hideki0403 hideki0403 changed the title enhance(dev): 開発モード時にlocaletoが自動的に再生成されるように enhance(dev): 開発モード時にlocaleと型定義が自動的に再生成されるように Nov 27, 2023
@github-actions github-actions bot added the packages/frontend Client side specific issue/PR label Nov 27, 2023
@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Nov 27, 2023

開発モードの場合のみ

これは別に開発モードに限定する必要はなさそう(デフォルトで使えるようになってるサーバーもあるので)

Copy link

codecov bot commented Nov 27, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (ec04c76) 78.68% compared to head (1c37cbb) 78.30%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #12481      +/-   ##
===========================================
- Coverage    78.68%   78.30%   -0.38%     
===========================================
  Files          951      178     -773     
  Lines       103427    23636   -79791     
  Branches      8328      496    -7832     
===========================================
- Hits         81382    18509   -62873     
+ Misses       22045     5127   -16918     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kakkokari-gtyih kakkokari-gtyih added the 🛠️Dev Development of Misskey itself label Nov 27, 2023
@hideki0403
Copy link
Contributor Author

hideki0403 commented Nov 27, 2023

変更しました:eyes:

あと確認しておきたい所があって、 pnpm build-assets --watch した時に packages/*/src/ 以下が更新される度にアセットのビルドが走っているようなんですが、これって意図した動作なんでしょうか...?
https://github.com/misskey-dev/misskey/blob/develop/scripts/build-assets.mjs#L91-L98
(見た感じgulp時代からの名残で、現状該当部分が無くても動いているので、問題がなさそうであれば一緒に修正しておきたいです)

@syuilo
Copy link
Member

syuilo commented Nov 28, 2023

無くても問題なさそうなら無くて良さそう

@hideki0403
Copy link
Contributor Author

修正しました:pray:

noridev added a commit to kokonect-link/cherrypick that referenced this pull request Nov 29, 2023
@syuilo syuilo merged commit 22d6fa1 into misskey-dev:develop Nov 30, 2023
8 checks passed
@syuilo
Copy link
Member

syuilo commented Nov 30, 2023

👍

@hideki0403 hideki0403 deleted the enhance-locale-build branch December 2, 2023 12:11
camilla-ett pushed a commit to kaseiski/misskey that referenced this pull request Jan 2, 2024
* enhance: localeを任意のタイミングでリビルドできるように

* enhance: localeも監視し、必要であればlocaleをリビルドするように

* feat: devモードの時のみナビゲーションバーからキャッシュクリアができるように

* refactor: キャッシュクリア部分を共通化

* fix: localesのファイル変更イベントが取れないのを修正

* fix: replaceAllでコケるのを修正

* change: 開発モードに関係なくナビゲーションバーからキャッシュクリアできるように

* refactor: 必要のないリビルドをしないように

* update: CHANGELOG.md

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🛠️Dev Development of Misskey itself packages/frontend Client side specific issue/PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants