refactor(i18n): lazy load languages (#8456)

closes AF-1397
This commit is contained in:
forehalo
2024-10-10 09:03:06 +00:00
parent f833017e45
commit 9043e6607e
60 changed files with 731 additions and 668 deletions

View File

@@ -1,8 +1,9 @@
import { spawn } from 'node:child_process';
import webpack from 'webpack';
import { getCwdFromDistribution } from '../config/cwd.cjs';
import type { BuildFlags } from '../config/index.js';
import { buildI18N } from '../util/i18n.js';
import { createWebpackConfig } from '../webpack/webpack.config.js';
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -48,7 +49,9 @@ const flags = {
static: false,
} satisfies BuildFlags;
buildI18N();
spawn('yarn', ['workspace', '@affine/i18n', 'build'], {
stdio: 'inherit',
});
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
webpack(createWebpackConfig(cwd!, flags), (err, stats) => {

View File

@@ -1,3 +1,4 @@
import { spawn } from 'node:child_process';
import { existsSync } from 'node:fs';
import { join } from 'node:path';
@@ -8,7 +9,6 @@ import WebpackDevServer from 'webpack-dev-server';
import { getCwdFromDistribution, projectRoot } from '../config/cwd.cjs';
import type { BuildFlags } from '../config/index.js';
import { watchI18N } from '../util/i18n.js';
import { createWebpackConfig } from '../webpack/webpack.config.js';
const flags: BuildFlags = {
@@ -119,7 +119,9 @@ if (flags.distribution === 'desktop') {
console.info(flags);
if (!flags.static) {
watchI18N();
spawn('yarn', ['workspace', '@affine/i18n', 'dev'], {
stdio: 'inherit',
});
}
try {

View File

@@ -1,32 +0,0 @@
import { resolve } from 'node:path';
import { runCli } from '@magic-works/i18n-codegen';
import { projectRoot } from '../config/cwd.cjs';
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);
}
);
};