From 521e505a019b6d602785dd42d8e52885d06f4545 Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Tue, 25 Jul 2023 14:32:18 -0700 Subject: [PATCH] build: update cli (#3374) --- packages/cli/src/bin/build-core.ts | 2 ++ packages/cli/src/bin/dev-core.ts | 2 ++ packages/cli/src/util/i18n.ts | 32 ++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 packages/cli/src/util/i18n.ts diff --git a/packages/cli/src/bin/build-core.ts b/packages/cli/src/bin/build-core.ts index a51c7260d0..cff680a081 100644 --- a/packages/cli/src/bin/build-core.ts +++ b/packages/cli/src/bin/build-core.ts @@ -3,6 +3,7 @@ import path from 'node:path'; import type { BuildFlags } from '../config/index.js'; import { projectRoot } from '../config/index.js'; +import { buildI18N } from '../util/i18n.js'; const cwd = path.resolve(projectRoot, 'apps', 'core'); @@ -43,6 +44,7 @@ const flags = { coverage: process.env.COVERAGE === 'true', } satisfies BuildFlags; +buildI18N(); spawn( 'node', [ diff --git a/packages/cli/src/bin/dev-core.ts b/packages/cli/src/bin/dev-core.ts index 9eaf1d55f3..6b5d8c3478 100644 --- a/packages/cli/src/bin/dev-core.ts +++ b/packages/cli/src/bin/dev-core.ts @@ -6,6 +6,7 @@ import * as p from '@clack/prompts'; import { config } from 'dotenv'; import { type BuildFlags, projectRoot } from '../config/index.js'; +import { watchI18N } from '../util/i18n.js'; const files = ['.env', '.env.local']; @@ -91,6 +92,7 @@ flags.mode = buildFlags.mode as any; flags.channel = buildFlags.channel as any; flags.coverage = buildFlags.coverage; +watchI18N(); spawn( 'node', [ diff --git a/packages/cli/src/util/i18n.ts b/packages/cli/src/util/i18n.ts new file mode 100644 index 0000000000..0c35f45038 --- /dev/null +++ b/packages/cli/src/util/i18n.ts @@ -0,0 +1,32 @@ +import { resolve } from 'node:path'; + +import { runCli } from '@magic-works/i18n-codegen'; + +import { projectRoot } from '../config/index.js'; + +const configPath = resolve(projectRoot, '.i18n-codegen.json'); + +export const watchI18N = () => { + runCli( + { + config: configPath, + watch: true, + }, + error => { + console.error(error); + } + ); +}; + +export const buildI18N = () => { + runCli( + { + config: configPath, + watch: false, + }, + error => { + console.error(error); + process.exit(1); + } + ); +};