diff options
| author | yukineko <27853966+hideki0403@users.noreply.github.com> | 2023-11-30 14:48:02 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-30 14:48:02 +0900 |
| commit | 22d6fa1fdf1dd4b61673d10cac6ca866dd5f26d8 (patch) | |
| tree | 37d00b712394e319d807e365b831939664f99152 /scripts/build-assets.mjs | |
| parent | fix(docker): cannot build docker image on some environments (#12494) (diff) | |
| download | sharkey-22d6fa1fdf1dd4b61673d10cac6ca866dd5f26d8.tar.gz sharkey-22d6fa1fdf1dd4b61673d10cac6ca866dd5f26d8.tar.bz2 sharkey-22d6fa1fdf1dd4b61673d10cac6ca866dd5f26d8.zip | |
enhance(dev): 開発モード時にlocaleと型定義が自動的に再生成されるように (#12481)
* 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>
Diffstat (limited to 'scripts/build-assets.mjs')
| -rw-r--r-- | scripts/build-assets.mjs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/scripts/build-assets.mjs b/scripts/build-assets.mjs index 1ffcec8aa3..f8f09ec2fb 100644 --- a/scripts/build-assets.mjs +++ b/scripts/build-assets.mjs @@ -9,10 +9,12 @@ import cssnano from 'cssnano'; import postcss from 'postcss'; import * as terser from 'terser'; -import locales from '../locales/index.js'; +import { build as buildLocales } from '../locales/index.js'; import generateDTS from '../locales/generateDTS.js'; import meta from '../package.json' assert { type: "json" }; +let locales = buildLocales(); + async function copyFrontendFonts() { await fs.cp('./packages/frontend/node_modules/three/examples/fonts', './built/_frontend_dist_/fonts', { dereference: true, recursive: true }); } @@ -89,10 +91,12 @@ async function build() { await build(); if (process.argv.includes("--watch")) { - const watcher = fs.watch('./packages', { recursive: true }); - for await (const event of watcher) { - if (/^[a-z]+\/src/.test(event.filename)) { - await build(); - } - } + const watcher = fs.watch('./locales'); + for await (const event of watcher) { + const filename = event.filename?.replaceAll('\\', '/'); + if (/^[a-z]+-[A-Z]+\.yml/.test(filename)) { + locales = buildLocales(); + await copyFrontendLocales() + } + } } |