mirror of
https://github.com/lobehub/lobehub.git
synced 2026-03-26 13:19:34 +07:00
♻️ refactor(electron-main): client ipc decorate (#10679)
* refactor: client ipc * refactor: server ipc refactor: update IPC method names for consistency Signed-off-by: Innei <tukon479@gmail.com> fix: cast IPC return type to DesktopIpcServices for type safety Signed-off-by: Innei <tukon479@gmail.com> chore: add new workspace for desktop application in package.json Signed-off-by: Innei <tukon479@gmail.com> fix: export FileMetadata interface for improved accessibility Signed-off-by: Innei <tukon479@gmail.com> refactor: unify IPC mocking across test files for consistency Signed-off-by: Innei <tukon479@gmail.com> feat: enhance type-safe IPC flow with context propagation and service registry - Introduced `getIpcContext()` and `runWithIpcContext()` for improved context management in IPC handlers. - Updated `BrowserWindowsCtr` methods to utilize the new context handling. - Added `McpInstallCtr` to the IPC constructors registry. - Enhanced README with details on the new type-safe IPC features. Signed-off-by: Innei <tukon479@gmail.com> refactor: enhance IPC method registration for improved type safety - Updated `registerMethod` in `IpcHandler` and `IpcService` to accept variable argument types, enhancing flexibility in method signatures. - Simplified the `ExtractMethodSignature` type to support multiple arguments. Signed-off-by: Innei <tukon479@gmail.com> chore: add global type definitions and refactor import statements - Introduced a new global type definition file to support Vite client imports. - Refactored import statements in `App.ts` and `App.test.ts` to remove unnecessary type casting for `import.meta.glob`, improving code clarity. Signed-off-by: Innei <tukon479@gmail.com> * refactor: make groupName in BrowserWindowsCtr readonly for better encapsulation Signed-off-by: Innei <tukon479@gmail.com> * refactor: update IPC method registration and usage for improved type safety and consistency - Replaced `@ipcClientEvent` with `@IpcMethod()` in various controllers to standardize IPC method definitions. - Enhanced the usage of `ensureElectronIpc()` for type-safe IPC calls in service layers. - Updated `BrowserWindowsCtr` and `NotificationCtr` to utilize the new IPC method structure, improving encapsulation and clarity. - Refactored service methods to eliminate manual string concatenation for IPC event names, ensuring better maintainability. Signed-off-by: Innei <tukon479@gmail.com> --------- Signed-off-by: Innei <tukon479@gmail.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { readdirSync } from 'node:fs';
|
||||
import { resolve } from 'node:path';
|
||||
|
||||
import i18nConfig from '../../.i18nrc';
|
||||
import i18nConfig from './i18nConfig';
|
||||
|
||||
export const root = resolve(__dirname, '../..');
|
||||
export const localesDir = resolve(root, i18nConfig.output);
|
||||
@@ -15,4 +15,4 @@ export const outputLocaleJsonFilepath = (locale: string, file: string) =>
|
||||
resolve(localesDir, locale, file);
|
||||
export const srcDefaultLocales = resolve(root, srcLocalesDir, 'default');
|
||||
|
||||
export { default as i18nConfig } from '../../.i18nrc';
|
||||
export { default as i18nConfig } from './i18nConfig';
|
||||
|
||||
7
scripts/i18nWorkflow/i18nConfig.ts
Normal file
7
scripts/i18nWorkflow/i18nConfig.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { createRequire } from 'node:module';
|
||||
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
const config = require('../../.i18nrc');
|
||||
|
||||
export default config;
|
||||
@@ -3,7 +3,7 @@ import { colors } from 'consola/utils';
|
||||
import { readFileSync, writeFileSync } from 'node:fs';
|
||||
import { resolve } from 'node:path';
|
||||
import prettier from "@prettier/sync";
|
||||
import i18nConfig from '../../.i18nrc';
|
||||
import i18nConfig from './i18nConfig';
|
||||
|
||||
let prettierOptions = prettier.resolveConfig(
|
||||
resolve(__dirname, '../../.prettierrc.js')
|
||||
|
||||
Reference in New Issue
Block a user