From b8679172c9d9f5e172ff5b3fd826bdc0e017b8c9 Mon Sep 17 00:00:00 2001 From: LongYinan Date: Tue, 20 Feb 2024 08:08:38 +0000 Subject: [PATCH] chore: bump up electron version to v29 (#5841) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [electron](https://togithub.com/electron/electron) | [`^28.2.1` -> `^29.0.0`](https://renovatebot.com/diffs/npm/electron/28.2.1/29.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/29.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/29.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/28.2.1/29.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/28.2.1/29.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
electron/electron (electron) ### [`v29.0.0`](https://togithub.com/electron/electron/releases/tag/v29.0.0): electron v29.0.0 [Compare Source](https://togithub.com/electron/electron/compare/v28.2.3...v29.0.0) ### Release Notes for v29.0.0 #### Stack Upgrades - Chromium `122.0.6261.39` - [New in 122](https://developer.chrome.com/blog/new-in-chrome-122/) - [New in 121](https://developer.chrome.com/blog/new-in-chrome-121/) - Node `20.9.0` - [Node 20.9.0 blog post](https://nodejs.org/en/blog/release/v20.9.0/) - V8 `12.2` #### Breaking Changes - Functions called over the `contextBridge` are now called with the expected receiver (`this`). [#​39978](https://togithub.com/electron/electron/pull/39978) (Also in [27](https://togithub.com/electron/electron/pull/40262), [28](https://togithub.com/electron/electron/pull/40263)) - The `gpu-process-crashed` event on `app` has been deprecated. [#​40169](https://togithub.com/electron/electron/pull/40169) (Also in [28](https://togithub.com/electron/electron/pull/40195)) - The deprecated `gpu-process-crashed` event on `app` has been removed. [#​40255](https://togithub.com/electron/electron/pull/40255) - The deprecated `renderer-process-crashed` event on `app` and `crashed` event on `WebContents` and `` have been removed. [#​40115](https://togithub.com/electron/electron/pull/40115) #### Features ##### Additions - Added `WebContentsView` and `BaseWindow`, replacing the now-deprecated `BrowserView` APIs. [#​40759](https://togithub.com/electron/electron/pull/40759) - Added `keyboardLock` to `ses.setPermissionRequestHandler(handler)`. [#​40369](https://togithub.com/electron/electron/pull/40369) (Also in [26](https://togithub.com/electron/electron/pull/40458), [27](https://togithub.com/electron/electron/pull/40459), [28](https://togithub.com/electron/electron/pull/40460)) - Added an option in `protocol.registerSchemesAsPrivileged` to allow V8 code cache in custom schemes. [#​40544](https://togithub.com/electron/electron/pull/40544) (Also in [27](https://togithub.com/electron/electron/pull/40708), [28](https://togithub.com/electron/electron/pull/40709)) - Added net module to utility process. [#​40890](https://togithub.com/electron/electron/pull/40890) (Also in [27](https://togithub.com/electron/electron/pull/40968), [28](https://togithub.com/electron/electron/pull/40967)) - Added new [Electron Fuse](https://www.electronjs.org/docs/latest/tutorial/fuses) that opts the `file://` protocol into more secure and restrictive behaviour that matches Chromium. [#​40372](https://togithub.com/electron/electron/pull/40372) - Added new `webUtils.getPathForFile` method to replace `File.path` augmentation. [#​38776](https://togithub.com/electron/electron/pull/38776) - Added support for configuring `use_remote_checksums` via `.npmrc`. [#​40253](https://togithub.com/electron/electron/pull/40253) - Migrated `app.{set|get}LoginItemSettings(settings)` to use Apple's new recommended underlying framework on macOS. [#​37244](https://togithub.com/electron/electron/pull/37244) - This PR adds several properties to the `display` object including `detected`, `maximumCursorSize`, and `nativeOrigin`. [#​40497](https://togithub.com/electron/electron/pull/40497) (Also in [28](https://togithub.com/electron/electron/pull/40554)) ##### Removed/Deprecated - Removed extraneous dlls from Windows zip files. [#​41129](https://togithub.com/electron/electron/pull/41129) (Also in [28](https://togithub.com/electron/electron/pull/41128)) #### Fixes - Added support for `ThumbnailCapturerMac` and `ScreenCaptureKitStreamPickerSonoma` chromium feature flags to bypass deprecated API warning on macOS 14.4. [#​41329](https://togithub.com/electron/electron/pull/41329) - Fixed Electron 29.0.0-beta.3 regression that could pop up context menus in the wrong location. [#​41296](https://togithub.com/electron/electron/pull/41296) - Fixed an issue where `import.meta.url` did not work in the renderer process with `contextIsolation` enabled. [#​41265](https://togithub.com/electron/electron/pull/41265) - Fixed an issue where `original-fs` methods were not properly corrected for patched imports. [#​41238](https://togithub.com/electron/electron/pull/41238) - Fixed an issue where draggable regions didn't work across platforms. [#​41112](https://togithub.com/electron/electron/pull/41112) - Fixed crash in MessagePort::close. [#​41237](https://togithub.com/electron/electron/pull/41237) - Fixed the `GrantFileProtocolExtraPrivileges` not correctly preventing `fetch()` calls to `file://` URLs. [#​40864](https://togithub.com/electron/electron/pull/40864) ##### Also in earlier versions... - Apply module search paths restriction on worker and child process. [#​41138](https://togithub.com/electron/electron/pull/41138) (Also in [27](https://togithub.com/electron/electron/pull/41139), [28](https://togithub.com/electron/electron/pull/41137)) - Backported fix for AVX related crashes on certain linux machines. [#​40536](https://togithub.com/electron/electron/pull/40536) (Also in [26](https://togithub.com/electron/electron/pull/40540), [27](https://togithub.com/electron/electron/pull/40541), [28](https://togithub.com/electron/electron/pull/40542)) - CSS style `-webkit-app-region: drag;` has no effect in full screen mode. [#​41332](https://togithub.com/electron/electron/pull/41332) (Also in [27](https://togithub.com/electron/electron/pull/41331), [28](https://togithub.com/electron/electron/pull/41330)) - Fixed "will-navigate" not being emitted when pressing links in `chrome:` pages. [#​40390](https://togithub.com/electron/electron/pull/40390) (Also in [27](https://togithub.com/electron/electron/pull/40524), [28](https://togithub.com/electron/electron/pull/40525)) - Fixed `session.fromPartition()` key lookup bug. [#​41084](https://togithub.com/electron/electron/pull/41084) (Also in [28](https://togithub.com/electron/electron/pull/41083)) - Fixed a crash resultant from trying to listen to power-related events before the `ready` event was emitted on Linux. [#​40925](https://togithub.com/electron/electron/pull/40925) (Also in [26](https://togithub.com/electron/electron/pull/40922), [27](https://togithub.com/electron/electron/pull/40923), [28](https://togithub.com/electron/electron/pull/40924)) - Fixed a crash that started occurring sporadically with some types of macOS window close. [#​41299](https://togithub.com/electron/electron/pull/41299) (Also in [28](https://togithub.com/electron/electron/pull/41298)) - Fixed a partition alloc ref count check for higher MacOS versions. [#​40766](https://togithub.com/electron/electron/pull/40766) (Also in [28](https://togithub.com/electron/electron/pull/40765)) - Fixed a potential `async_hooks` crash when listening for the `restore` event on Windows after minimizing a maximized BrowserWindow. [#​41146](https://togithub.com/electron/electron/pull/41146) (Also in [27](https://togithub.com/electron/electron/pull/41144), [28](https://togithub.com/electron/electron/pull/41145)) - Fixed a potential crash when calling `dialog.showMessageBoxSync`. [#​41043](https://togithub.com/electron/electron/pull/41043) (Also in [27](https://togithub.com/electron/electron/pull/41041), [28](https://togithub.com/electron/electron/pull/41042)) - Fixed a potential issue with `async_hook` corruption in some error contexts. [#​40574](https://togithub.com/electron/electron/pull/40574) (Also in [26](https://togithub.com/electron/electron/pull/40592), [27](https://togithub.com/electron/electron/pull/40593), [28](https://togithub.com/electron/electron/pull/40594)) - Fixed a unexpectedly thrown error in some unsupported chrome extensions. [#​40500](https://togithub.com/electron/electron/pull/40500) (Also in [26](https://togithub.com/electron/electron/pull/40512), [27](https://togithub.com/electron/electron/pull/40513), [28](https://togithub.com/electron/electron/pull/40514)) - Fixed an error changing file format in `dialog.showOpenDialog` on macOS. [#​40308](https://togithub.com/electron/electron/pull/40308) (Also in [27](https://togithub.com/electron/electron/pull/40347), [28](https://togithub.com/electron/electron/pull/40346)) - Fixed an issue where Request objects did not correctly copy headers into fetches. [#​41019](https://togithub.com/electron/electron/pull/41019) (Also in [28](https://togithub.com/electron/electron/pull/41103)) - Fixed an issue where WebViews could sometimes crash on unload. [#​40400](https://togithub.com/electron/electron/pull/40400) (Also in [26](https://togithub.com/electron/electron/pull/40443), [27](https://togithub.com/electron/electron/pull/40444), [28](https://togithub.com/electron/electron/pull/40445)) - Fixed an issue where Windows Toast notifications weren't properly dismissed from the Action Center on `notification.close()` if they'd previously been dismissed. [#​40197](https://togithub.com/electron/electron/pull/40197) (Also in [26](https://togithub.com/electron/electron/pull/40242), [27](https://togithub.com/electron/electron/pull/40244), [28](https://togithub.com/electron/electron/pull/40243)) - Fixed an issue where `MessagePorts` were not being correctly garbage collected when not referenced. [#​40189](https://togithub.com/electron/electron/pull/40189) (Also in [28](https://togithub.com/electron/electron/pull/40201)) - Fixed an issue where `inAppPurchase.getProducts` and `inAppPurchase.purchasedProduct` did not resolve as expected. [#​40957](https://togithub.com/electron/electron/pull/40957) (Also in [27](https://togithub.com/electron/electron/pull/40955), [28](https://togithub.com/electron/electron/pull/40956)) - Fixed an issue where `navigator.keyboard.lock()` did not work per [latest expected behavior](https://developer.chrome.com/blog/better-full-screen-mode). [#​40365](https://togithub.com/electron/electron/pull/40365) (Also in [26](https://togithub.com/electron/electron/pull/40387), [27](https://togithub.com/electron/electron/pull/40388), [28](https://togithub.com/electron/electron/pull/40389)) - Fixed an issue where `select-usb-device` did not respect the `filter` option in `navigator.usb.requestDevice()`. [#​41197](https://togithub.com/electron/electron/pull/41197) (Also in [27](https://togithub.com/electron/electron/pull/41196), [28](https://togithub.com/electron/electron/pull/41198)) - Fixed an issue where `webContents.printToPDF` could fail when certain combinations of `margins` and `pageSize` values are passed. [#​41266](https://togithub.com/electron/electron/pull/41266) (Also in [28](https://togithub.com/electron/electron/pull/41267)) - Fixed an issue where crashes in `node::Environment` destruction potentially wouldn't be propagated to the ` Service ` exit handler. [#​41301](https://togithub.com/electron/electron/pull/41301) (Also in [27](https://togithub.com/electron/electron/pull/41300), [28](https://togithub.com/electron/electron/pull/41302)) - Fixed an issue where devtools could not be re-opened. [#​40666](https://togithub.com/electron/electron/pull/40666) (Also in [28](https://togithub.com/electron/electron/pull/40679)) - Fixed an issue where font requests were incorrectly being sent to dev tools multiple times per resource. [#​40681](https://togithub.com/electron/electron/pull/40681) (Also in [27](https://togithub.com/electron/electron/pull/40715), [28](https://togithub.com/electron/electron/pull/40688)) - Fixed an issue where fully occluded windows would return an empty image from `webContents.capturePage()` on Windows and Linux. [#​39730](https://togithub.com/electron/electron/pull/39730) (Also in [25](https://togithub.com/electron/electron/pull/40186), [26](https://togithub.com/electron/electron/pull/40187), [27](https://togithub.com/electron/electron/pull/40188), [28](https://togithub.com/electron/electron/pull/40185)) - Fixed an issue where non-modal windows with vibrancy could have incorrectly rounded corners on Sonoma. [#​41037](https://togithub.com/electron/electron/pull/41037) (Also in [27](https://togithub.com/electron/electron/pull/41035), [28](https://togithub.com/electron/electron/pull/41036)) - Fixed an issue where the `printBackground` option in `webContents.printToPDF` did not work as expected. [#​41180](https://togithub.com/electron/electron/pull/41180) (Also in [28](https://togithub.com/electron/electron/pull/41179)) - Fixed an issue where zoom level settings did not persist per-session for webviews. [#​40650](https://togithub.com/electron/electron/pull/40650) (Also in [27](https://togithub.com/electron/electron/pull/41269), [28](https://togithub.com/electron/electron/pull/41268)) - Fixed an issue with webContents interaction with fullscreen and WCO on macOS. [#​40179](https://togithub.com/electron/electron/pull/40179) (Also in [25](https://togithub.com/electron/electron/pull/40220), [26](https://togithub.com/electron/electron/pull/40218), [27](https://togithub.com/electron/electron/pull/40217), [28](https://togithub.com/electron/electron/pull/40219)) - Fixed app incorrectly activating panel windows on macOS Sonoma. [#​40307](https://togithub.com/electron/electron/pull/40307) (Also in [28](https://togithub.com/electron/electron/pull/40465)) - Fixed child window opening in non-active macOS apps. [#​40546](https://togithub.com/electron/electron/pull/40546) (Also in [26](https://togithub.com/electron/electron/pull/40657), [27](https://togithub.com/electron/electron/pull/40658), [28](https://togithub.com/electron/electron/pull/40659)) - Fixed default protocol handler behavior on Windows. [#​40908](https://togithub.com/electron/electron/pull/40908) (Also in [28](https://togithub.com/electron/electron/pull/40909)) - Fixed file paths passed to `shell.showItemInFolder` not being escaped in Linux. [#​40527](https://togithub.com/electron/electron/pull/40527) (Also in [26](https://togithub.com/electron/electron/pull/40560), [27](https://togithub.com/electron/electron/pull/40561), [28](https://togithub.com/electron/electron/pull/40562)) - Fixed forked child process not able to send IPC message under some cases on macOS. [#​41102](https://togithub.com/electron/electron/pull/41102) (Also in [26](https://togithub.com/electron/electron/pull/41099), [27](https://togithub.com/electron/electron/pull/41100), [28](https://togithub.com/electron/electron/pull/41101)) - Fixed incorrect title bar shown on frameless transparent windows. [#​40862](https://togithub.com/electron/electron/pull/40862) (Also in [27](https://togithub.com/electron/electron/pull/40868), [28](https://togithub.com/electron/electron/pull/40867)) - Fixed loading nested ESM dependencies in `node_modules` - Correctly support the `throwIfNoEntry` option in `fs.statSync`/`fs.lstatSync` in asar files. [#​40221](https://togithub.com/electron/electron/pull/40221) (Also in [28](https://togithub.com/electron/electron/pull/40224)) - Fixed macOS bug that causes window maximize button to be disabled in full-screen mode. [#​41029](https://togithub.com/electron/electron/pull/41029) (Also in [27](https://togithub.com/electron/electron/pull/41027), [28](https://togithub.com/electron/electron/pull/41028)) - Fixed on-screen-keyboard not hiding for webviews under some cases. [#​41149](https://togithub.com/electron/electron/pull/41149) (Also in [27](https://togithub.com/electron/electron/pull/41151), [28](https://togithub.com/electron/electron/pull/41150)) - Fixed problem with bounds of maximized window when toggle BrowserWindow.setResizable function. [#​40503](https://togithub.com/electron/electron/pull/40503) (Also in [26](https://togithub.com/electron/electron/pull/40580), [27](https://togithub.com/electron/electron/pull/40581), [28](https://togithub.com/electron/electron/pull/40582)) - Fixed resizing performance issue on macOS. [#​40577](https://togithub.com/electron/electron/pull/40577) (Also in [26](https://togithub.com/electron/electron/pull/40584), [27](https://togithub.com/electron/electron/pull/40585), [28](https://togithub.com/electron/electron/pull/40586)) - Fixed some redundant permission dialogs while screen sharing on Wayland. [#​40098](https://togithub.com/electron/electron/pull/40098) (Also in [26](https://togithub.com/electron/electron/pull/40191), [27](https://togithub.com/electron/electron/pull/40193), [28](https://togithub.com/electron/electron/pull/40192)) - Fixed the enabled/disabled behavior of the maximize/fullscreen button of macOS windows. [#​40897](https://togithub.com/electron/electron/pull/40897) (Also in [27](https://togithub.com/electron/electron/pull/40895), [28](https://togithub.com/electron/electron/pull/40896)) - Prevent node mode to be used as script runner by other apps on macOS. [#​40579](https://togithub.com/electron/electron/pull/40579) (Also in [26](https://togithub.com/electron/electron/pull/40738), [27](https://togithub.com/electron/electron/pull/40737), [28](https://togithub.com/electron/electron/pull/40710)) - Unset all Node envs in node process when parent is a foreign process. [#​40881](https://togithub.com/electron/electron/pull/40881) (Also in [26](https://togithub.com/electron/electron/pull/40882), [27](https://togithub.com/electron/electron/pull/40879), [28](https://togithub.com/electron/electron/pull/40880)) - Use `activateIgnoringOtherApps` for focusing non-panels on macOS. [#​40570](https://togithub.com/electron/electron/pull/40570) (Also in [28](https://togithub.com/electron/electron/pull/40621)) #### Other Changes - Re-enabled partition alloc on Mac. [#​33981](https://togithub.com/electron/electron/pull/33981) (Also in [28](https://togithub.com/electron/electron/pull/40230)) - Reverted new WebContentsView and BaseWindow APIs. [#​41060](https://togithub.com/electron/electron/pull/41060) - Security: backported fix for chromium:1517354. [#​40969](https://togithub.com/electron/electron/pull/40969) #### Notices ##### End of Support for 26.x.y Electron 26.x.y has reached end-of-support as per the project's [support policy](https://www.electronjs.org/docs/latest/tutorial/electron-timelines#version-support-policy). Developers and applications are encouraged to upgrade to a newer version of Electron. ### [`v28.2.3`](https://togithub.com/electron/electron/releases/tag/v28.2.3): electron v28.2.3 [Compare Source](https://togithub.com/electron/electron/compare/v28.2.2...v28.2.3) ### Release Notes for v28.2.3 #### Fixes - Fixed a crash that started occurring sporadically with some types of macOS window close. [#​41298](https://togithub.com/electron/electron/pull/41298) (Also in [29](https://togithub.com/electron/electron/pull/41299)) - Fixed an issue where `webContents.printToPDF` could fail when certain combinations of `margins` and `pageSize` values are passed. [#​41267](https://togithub.com/electron/electron/pull/41267) (Also in [29](https://togithub.com/electron/electron/pull/41266)) - Fixed an issue where crashes in `node::Environment` destruction potentially wouldn't be propagated to the `NodeService` exit handler. [#​41302](https://togithub.com/electron/electron/pull/41302) (Also in [27](https://togithub.com/electron/electron/pull/41300), [29](https://togithub.com/electron/electron/pull/41301)) - Fixed an issue where zoom level settings did not persist per-session for webviews. [#​41268](https://togithub.com/electron/electron/pull/41268) (Also in [27](https://togithub.com/electron/electron/pull/41269)) #### Other Changes - Updated Chromium to 120.0.6099.283. [#​41262](https://togithub.com/electron/electron/pull/41262) ### [`v28.2.2`](https://togithub.com/electron/electron/releases/tag/v28.2.2): electron v28.2.2 [Compare Source](https://togithub.com/electron/electron/compare/v28.2.1...v28.2.2) ### Release Notes for v28.2.2 #### Fixes - Fixed an issue where `select-usb-device` did not respect the `filter` option in `navigator.usb.requestDevice()`. [#​41198](https://togithub.com/electron/electron/pull/41198) (Also in [27](https://togithub.com/electron/electron/pull/41196), [29](https://togithub.com/electron/electron/pull/41197)) #### Other Changes - Security: backported fix for [`1511567`](https://togithub.com/electron/electron/commit/1511567). - Security: backported fix for [`1514777`](https://togithub.com/electron/electron/commit/1514777). - Security: backported fix for [`1511085`](https://togithub.com/electron/electron/commit/1511085). - Security: backported fix for [`1519980`](https://togithub.com/electron/electron/commit/1519980). [#​41178](https://togithub.com/electron/electron/pull/41178) - Updated Chromium to 120.0.6099.276. [#​41195](https://togithub.com/electron/electron/pull/41195)
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE). --- package.json | 2 +- packages/frontend/electron-api/package.json | 2 +- packages/frontend/electron/package.json | 2 +- packages/frontend/i18n/package.json | 3 ++- packages/frontend/i18n/src/scripts/api.ts | 6 +++-- packages/frontend/i18n/src/scripts/request.ts | 20 +++++--------- yarn.lock | 27 ++++++++++--------- 7 files changed, 30 insertions(+), 32 deletions(-) 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: