mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-13 19:20:04 +00:00
8188e2d9f0
- Remove desktop-build-electron.yml workflow - Add verify-electron-codemod.yml workflow for i18n transformation - Add i18nDynamicToStatic modifier for dynamic to static i18n conversion - Update build workflows to use new i18n modifier approach - Update README and package.json configurations
42 lines
1.9 KiB
TypeScript
42 lines
1.9 KiB
TypeScript
import { Lang } from '@ast-grep/napi';
|
|
import path from 'node:path';
|
|
|
|
import { modifyAppCode } from './appCode.mjs';
|
|
import { cleanUpCode } from './cleanUp.mjs';
|
|
import { convertDynamicToStatic } from './dynamicToStatic.mjs';
|
|
import { convertI18nDynamicToStatic } from './i18nDynamicToStatic.mjs';
|
|
import { convertNextDynamicToStatic } from './nextDynamicToStatic.mjs';
|
|
import { modifyNextConfig } from './nextConfig.mjs';
|
|
import { removeSuspenseFromConversation } from './removeSuspense.mjs';
|
|
import { modifyRoutes } from './routes.mjs';
|
|
import { convertSettingsContentToStatic } from './settingsContentToStatic.mjs';
|
|
import { modifyStaticExport } from './staticExport.mjs';
|
|
import { isDirectRun, runStandalone } from './utils.mjs';
|
|
import { wrapChildrenWithClientOnly } from './wrapChildrenWithClientOnly.mjs';
|
|
|
|
export const modifySourceForElectron = async (TEMP_DIR: string) => {
|
|
await modifyNextConfig(TEMP_DIR);
|
|
await modifyAppCode(TEMP_DIR);
|
|
await wrapChildrenWithClientOnly(TEMP_DIR);
|
|
await convertDynamicToStatic(TEMP_DIR);
|
|
await convertNextDynamicToStatic(TEMP_DIR);
|
|
await convertI18nDynamicToStatic(TEMP_DIR);
|
|
await convertSettingsContentToStatic(TEMP_DIR);
|
|
await removeSuspenseFromConversation(TEMP_DIR);
|
|
await modifyRoutes(TEMP_DIR);
|
|
await modifyStaticExport(TEMP_DIR);
|
|
await cleanUpCode(TEMP_DIR);
|
|
};
|
|
|
|
if (isDirectRun(import.meta.url)) {
|
|
await runStandalone('modifySourceForElectron', modifySourceForElectron, [
|
|
{ lang: Lang.TypeScript, path: path.join(process.cwd(), 'next.config.ts') },
|
|
{ lang: Lang.Tsx, path: 'src/app/[variants]/page.tsx' },
|
|
{ lang: Lang.Tsx, path: 'src/layout/GlobalProvider/index.tsx' },
|
|
{ lang: Lang.Tsx, path: 'src/app/[variants]/router/desktopRouter.config.tsx' },
|
|
{ lang: Lang.Tsx, path: 'src/components/mdx/Image.tsx' },
|
|
{ lang: Lang.TypeScript, path: 'src/features/DevPanel/CacheViewer/getCacheEntries.ts' },
|
|
{ lang: Lang.TypeScript, path: 'src/server/translation.ts' },
|
|
]);
|
|
}
|