From 22d6fa1fdf1dd4b61673d10cac6ca866dd5f26d8 Mon Sep 17 00:00:00 2001 From: yukineko <27853966+hideki0403@users.noreply.github.com> Date: Thu, 30 Nov 2023 14:48:02 +0900 Subject: enhance(dev): 開発モード時にlocaleと型定義が自動的に再生成されるように (#12481) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance: localeを任意のタイミングでリビルドできるように * enhance: localeも監視し、必要であればlocaleをリビルドするように * feat: devモードの時のみナビゲーションバーからキャッシュクリアができるように * refactor: キャッシュクリア部分を共通化 * fix: localesのファイル変更イベントが取れないのを修正 * fix: replaceAllでコケるのを修正 * change: 開発モードに関係なくナビゲーションバーからキャッシュクリアできるように * refactor: 必要のないリビルドをしないように * update: CHANGELOG.md --------- Co-authored-by: syuilo --- scripts/build-assets.mjs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'scripts') 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() + } + } } -- cgit v1.2.3-freya