diff --git a/package.json b/package.json index 7677515a27..42da9ce35f 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "@vitejs/plugin-react-swc": "^3.5.0", "@vitest/coverage-istanbul": "1.2.2", "@vitest/ui": "1.2.2", - "electron": "^28.2.1", + "electron": "^29.0.0", "eslint": "^8.54.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-i": "^2.29.0", diff --git a/packages/frontend/electron-api/package.json b/packages/frontend/electron-api/package.json index 4103d558d9..9ddcb7bb45 100644 --- a/packages/frontend/electron-api/package.json +++ b/packages/frontend/electron-api/package.json @@ -9,6 +9,6 @@ }, "devDependencies": { "@toeverything/infra": "workspace:*", - "electron": "^28.2.1" + "electron": "^29.0.0" } } diff --git a/packages/frontend/electron/package.json b/packages/frontend/electron/package.json index fb02d8b33a..fc69ec1772 100644 --- a/packages/frontend/electron/package.json +++ b/packages/frontend/electron/package.json @@ -43,7 +43,7 @@ "@types/uuid": "^9.0.7", "builder-util-runtime": "^9.2.3", "cross-env": "^7.0.3", - "electron": "^28.2.1", + "electron": "^29.0.0", "electron-log": "^5.0.1", "electron-squirrel-startup": "1.0.0", "electron-window-state": "^5.0.3", diff --git a/packages/frontend/i18n/package.json b/packages/frontend/i18n/package.json index 5581a68322..2bd23116a8 100644 --- a/packages/frontend/i18n/package.json +++ b/packages/frontend/i18n/package.json @@ -28,7 +28,8 @@ }, "dependencies": { "i18next": "^23.5.1", - "react-i18next": "^14.0.0" + "react-i18next": "^14.0.0", + "undici": "^6.6.2" }, "devDependencies": { "@types/prettier": "^3.0.0", diff --git a/packages/frontend/i18n/src/scripts/api.ts b/packages/frontend/i18n/src/scripts/api.ts index 5b4404476f..a16ebb1bb2 100644 --- a/packages/frontend/i18n/src/scripts/api.ts +++ b/packages/frontend/i18n/src/scripts/api.ts @@ -1,3 +1,5 @@ +import type { Response } from 'undici-types'; + // cSpell:ignore Tolgee import { fetchTolgee } from './request.js'; @@ -73,7 +75,7 @@ export const getAllProjectLanguages = async ( }[]; }; page: unknown; - } = await resp.json(); + } = (await resp.json()) as any; return json._embedded.languages; }; @@ -106,7 +108,7 @@ export const getLanguagesTranslations = async ( throw new Error(url + ' ' + resp.status + '\n' + (await resp.text())); } const json = await resp.json(); - return json; + return json as { [key in T]?: Record }; }; export const getRemoteTranslations = async ( diff --git a/packages/frontend/i18n/src/scripts/request.ts b/packages/frontend/i18n/src/scripts/request.ts index 973bbff892..9aaea89824 100644 --- a/packages/frontend/i18n/src/scripts/request.ts +++ b/packages/frontend/i18n/src/scripts/request.ts @@ -1,4 +1,5 @@ -import type { Request } from 'undici-types'; +import { Headers } from 'undici'; +import type { fetch, Request, RequestInfo } from 'undici-types'; // cSpell:ignore Tolgee const TOLGEE_API_KEY = process.env['TOLGEE_API_KEY']; @@ -8,32 +9,25 @@ if (!TOLGEE_API_KEY) { throw new Error(`Please set "TOLGEE_API_KEY" as environment variable!`); } -const withTolgee = ( - fetch: typeof globalThis.fetch -): typeof globalThis.fetch => { +const withTolgee = (f: typeof fetch): typeof fetch => { const baseUrl = `${TOLGEE_API_URL}/v2/projects`; const headers = new Headers({ 'X-API-Key': TOLGEE_API_KEY, 'Content-Type': 'application/json', }); - const isRequest = (input: NodeJS.fetch.RequestInfo): input is Request => { + const isRequest = (input: RequestInfo): input is Request => { return typeof input === 'object' && !('href' in input); }; - return new Proxy(fetch, { - apply( - target, - thisArg: unknown, - argArray: Parameters - ) { + return new Proxy(f, { + apply(target, thisArg: unknown, argArray: Parameters) { if (isRequest(argArray[0])) { // Request if (!argArray[0].headers) { argArray[0] = { ...argArray[0], url: `${baseUrl}${argArray[0].url}`, - // @ts-expect-error Node.js types incorrectly define RequestInit headers, }; } @@ -55,4 +49,4 @@ const withTolgee = ( }); }; -export const fetchTolgee = withTolgee(globalThis.fetch); +export const fetchTolgee = withTolgee(globalThis.fetch as typeof fetch); diff --git a/yarn.lock b/yarn.lock index 3964d1549c..cce106987d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -427,7 +427,7 @@ __metadata: resolution: "@affine/electron-api@workspace:packages/frontend/electron-api" dependencies: "@toeverything/infra": "workspace:*" - electron: "npm:^28.2.1" + electron: "npm:^29.0.0" languageName: unknown linkType: soft @@ -457,7 +457,7 @@ __metadata: async-call-rpc: "npm:^6.3.1" builder-util-runtime: "npm:^9.2.3" cross-env: "npm:^7.0.3" - electron: "npm:^28.2.1" + electron: "npm:^29.0.0" electron-log: "npm:^5.0.1" electron-squirrel-startup: "npm:1.0.0" electron-updater: "npm:^6.1.5" @@ -531,6 +531,7 @@ __metadata: react-i18next: "npm:^14.0.0" ts-node: "npm:^10.9.1" typescript: "npm:^5.2.2" + undici: "npm:^6.6.2" languageName: unknown linkType: soft @@ -560,7 +561,7 @@ __metadata: "@vitejs/plugin-react-swc": "npm:^3.5.0" "@vitest/coverage-istanbul": "npm:1.2.2" "@vitest/ui": "npm:1.2.2" - electron: "npm:^28.2.1" + electron: "npm:^29.0.0" eslint: "npm:^8.54.0" eslint-config-prettier: "npm:^9.0.0" eslint-plugin-i: "npm:^2.29.0" @@ -13929,12 +13930,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=10.0.0, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:>=8.1.0, @types/node@npm:^20.9.3": - version: 20.10.0 - resolution: "@types/node@npm:20.10.0" +"@types/node@npm:*, @types/node@npm:>=10.0.0, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0, @types/node@npm:>=8.1.0, @types/node@npm:^20.9.0, @types/node@npm:^20.9.3": + version: 20.11.19 + resolution: "@types/node@npm:20.11.19" dependencies: undici-types: "npm:~5.26.4" - checksum: 10/c7d5ddbdbf3491e2363135c9611eb6bfae90eda2957279237fa232bcb29cd0df1cc3ee149d6de9915b754262a531ee2d57d33c9ecd58d763e8ad4856113822f3 + checksum: 10/c7f4705d6c84aa21679ad180c33c13ca9567f650e66e14bcee77c7c43d14619c7cd3b4d7b2458947143030b7b1930180efa6d12d999b45366abff9fed7a17472 languageName: node linkType: hard @@ -19491,16 +19492,16 @@ __metadata: languageName: node linkType: hard -"electron@npm:^28.2.1": - version: 28.2.1 - resolution: "electron@npm:28.2.1" +"electron@npm:^29.0.0": + version: 29.0.0 + resolution: "electron@npm:29.0.0" dependencies: "@electron/get": "npm:^2.0.0" - "@types/node": "npm:^18.11.18" + "@types/node": "npm:^20.9.0" extract-zip: "npm:^2.0.1" bin: electron: cli.js - checksum: 10/e70cb983ba8cdae661eae7695e213f189d7f12002ed05727c1f74a498f58e60b471708ec4fb41dcc0b15b1b86d2b7afc9b5de1172d12e53b692ad725d07b0a52 + checksum: 10/e8f6732caedf574aeb8273d5965f69a4ad52c0969ce8f45b03795046a56aefaceadb916d52501288fe2b36219017f0fb8c788965315f49a89e2a38d4c773fdce languageName: node linkType: hard @@ -33984,7 +33985,7 @@ __metadata: languageName: node linkType: hard -"undici@npm:^6.0.0": +"undici@npm:^6.0.0, undici@npm:^6.6.2": version: 6.6.2 resolution: "undici@npm:6.6.2" dependencies: