aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar MCMXC <16797721+mcmxcdev@users.noreply.github.com>2023-11-01 11:38:13 -0600
committerLibravatar GitHub <noreply@github.com>2023-11-01 11:38:13 -0600
commit264e704f3d59184ab6605c81538faf4e6234fefb (patch)
treebf15fb9ea4959d7e502bd68be0567d3533b6bb26
parentfeat(i18n): new Crowdin updates (#1437) (diff)
downloadferdium-app-264e704f3d59184ab6605c81538faf4e6234fefb.tar.gz
ferdium-app-264e704f3d59184ab6605c81538faf4e6234fefb.tar.zst
ferdium-app-264e704f3d59184ab6605c81538faf4e6234fefb.zip
chore: upgrade used node and pnpm version (#1433)
- upgrade node and pnpm version in `engines`, `volta` and `packageManager` config - upgrade `@types/node` to v20 - remove `react-loader` overrides from `peerDependencyRules.allowedVersions` - remove `@npmcli/move-file` 2.0.1 from `allowedDeprecatedVersions` - update node image to 20.9.0 in `Dockerfile` - update required system dependencies in `CONTRIBUTING.md` - update node version to 20.9.0 in `.nvmrc` - correct type definitions for `setInterval` usage in `WebviewCrashHandler` and `AppStore` necessary due to `@types/node` upgrade
-rw-r--r--.nvmrc2
-rw-r--r--CONTRIBUTING.md4
-rw-r--r--Dockerfile2
-rw-r--r--package.json16
-rw-r--r--pnpm-lock.yaml98
m---------recipes0
-rw-r--r--src/components/services/content/WebviewCrashHandler.tsx4
-rw-r--r--src/stores/AppStore.ts2
8 files changed, 67 insertions, 61 deletions
diff --git a/.nvmrc b/.nvmrc
index 02c8b485e..f3f52b42d 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
18.18.0 20.9.0
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ffda7acb9..97d464d5e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -62,8 +62,8 @@ Currently, these are the combinations of system dependencies that work for MacOS
62# Note: 'jq' is not a required system dependency; its only here to show the combined output of versions needed 62# Note: 'jq' is not a required system dependency; its only here to show the combined output of versions needed
63$ jq --null-input '[inputs.engines] | add' < ./package.json < ./recipes/package.json 63$ jq --null-input '[inputs.engines] | add' < ./package.json < ./recipes/package.json
64{ 64{
65 "node": "18.18.0", 65 "node": "20.9.0",
66 "pnpm": "8.7.6" 66 "pnpm": "8.10.0"
67} 67}
68``` 68```
69 69
diff --git a/Dockerfile b/Dockerfile
index 0707a4771..806f10a2b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
1# Note: Before running this file, you should have already cloned the git repo + submodules on the host machine. This is used when actively developing on your local machine, but you want to build for a different architecture 1# Note: Before running this file, you should have already cloned the git repo + submodules on the host machine. This is used when actively developing on your local machine, but you want to build for a different architecture
2 2
3FROM docker.io/library/node:18.18.0-buster as builder 3FROM docker.io/library/node:20.9.0-buster as builder
4 4
5ENV PATH="/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/lib:/usr/include:/usr/share" 5ENV PATH="/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/lib:/usr/include:/usr/share"
6 6
diff --git a/package.json b/package.json
index de30ee4cf..d1e55ce7d 100644
--- a/package.json
+++ b/package.json
@@ -13,15 +13,15 @@
13 "repository": "https://github.com/ferdium/ferdium-app.git", 13 "repository": "https://github.com/ferdium/ferdium-app.git",
14 "private": true, 14 "private": true,
15 "engines": { 15 "engines": {
16 "node": "18.18.0", 16 "node": "20.9.0",
17 "pnpm": "8.7.6" 17 "pnpm": "8.10.0"
18 }, 18 },
19 "engine-strict": true, 19 "engine-strict": true,
20 "volta": { 20 "volta": {
21 "node": "18.18.0", 21 "node": "20.9.0",
22 "pnpm": "8.7.6" 22 "pnpm": "8.10.0"
23 }, 23 },
24 "packageManager": "pnpm@8.7.6", 24 "packageManager": "pnpm@8.10.0",
25 "scripts": { 25 "scripts": {
26 "prepare": "is-ci || husky install", 26 "prepare": "is-ci || husky install",
27 "start": "electron ./build", 27 "start": "electron ./build",
@@ -146,7 +146,7 @@
146 "@types/lodash": "4.14.198", 146 "@types/lodash": "4.14.198",
147 "@types/minimist": "1.2.2", 147 "@types/minimist": "1.2.2",
148 "@types/ms": "0.7.31", 148 "@types/ms": "0.7.31",
149 "@types/node": "18.15.3", 149 "@types/node": "20.8.10",
150 "@types/prop-types": "15.7.6", 150 "@types/prop-types": "15.7.6",
151 "@types/react": "18.2.22", 151 "@types/react": "18.2.22",
152 "@types/react-color": "3.0.6", 152 "@types/react-color": "3.0.6",
@@ -205,8 +205,6 @@
205 "esbuild-sass-plugin>esbuild": "^0.16.7", 205 "esbuild-sass-plugin>esbuild": "^0.16.7",
206 "react-electron-web-view>react": "^18.0.0", 206 "react-electron-web-view>react": "^18.0.0",
207 "react-electron-web-view>react-dom": "^18.0.0", 207 "react-electron-web-view>react-dom": "^18.0.0",
208 "react-loader>react": "^18.0.0",
209 "react-loader>react-dom": "^18.0.0",
210 "react-sortable-hoc>react": "^18.0.0", 208 "react-sortable-hoc>react": "^18.0.0",
211 "react-sortable-hoc>react-dom": "^18.0.0" 209 "react-sortable-hoc>react-dom": "^18.0.0"
212 } 210 }
@@ -218,7 +216,7 @@
218 "har-validator": "5.1.5", 216 "har-validator": "5.1.5",
219 "uuid": "3.4.0", 217 "uuid": "3.4.0",
220 "@sinonjs/fake-timers": "10.2.0", 218 "@sinonjs/fake-timers": "10.2.0",
221 "@npmcli/move-file": "1.1.2 || 2.0.1", 219 "@npmcli/move-file": "1.1.2",
222 "source-map-resolve": "0.5.3", 220 "source-map-resolve": "0.5.3",
223 "source-map-url": "0.4.1", 221 "source-map-url": "0.4.1",
224 "resolve-url": "0.2.1", 222 "resolve-url": "0.2.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 272b5b4ce..a7cb936a9 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -304,8 +304,8 @@ devDependencies:
304 specifier: 0.7.31 304 specifier: 0.7.31
305 version: 0.7.31 305 version: 0.7.31
306 '@types/node': 306 '@types/node':
307 specifier: 18.15.3 307 specifier: 20.8.10
308 version: 18.15.3 308 version: 20.8.10
309 '@types/prop-types': 309 '@types/prop-types':
310 specifier: 15.7.6 310 specifier: 15.7.6
311 version: 15.7.6 311 version: 15.7.6
@@ -422,7 +422,7 @@ devDependencies:
422 version: 3.0.1 422 version: 3.0.1
423 jest: 423 jest:
424 specifier: 29.7.0 424 specifier: 29.7.0
425 version: 29.7.0(@types/node@18.15.3)(ts-node@10.9.1) 425 version: 29.7.0(@types/node@20.8.10)(ts-node@10.9.1)
426 prettier: 426 prettier:
427 specifier: 3.0.3 427 specifier: 3.0.3
428 version: 3.0.3 428 version: 3.0.3
@@ -440,7 +440,7 @@ devDependencies:
440 version: 0.2.9 440 version: 0.2.9
441 ts-node: 441 ts-node:
442 specifier: 10.9.1 442 specifier: 10.9.1
443 version: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) 443 version: 10.9.1(@types/node@20.8.10)(typescript@5.2.2)
444 typescript: 444 typescript:
445 specifier: 5.2.2 445 specifier: 5.2.2
446 version: 5.2.2 446 version: 5.2.2
@@ -1927,7 +1927,7 @@ packages:
1927 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1927 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1928 dependencies: 1928 dependencies:
1929 '@jest/types': 29.6.3 1929 '@jest/types': 29.6.3
1930 '@types/node': 18.15.3 1930 '@types/node': 20.8.10
1931 chalk: 4.1.2 1931 chalk: 4.1.2
1932 jest-message-util: 29.7.0 1932 jest-message-util: 29.7.0
1933 jest-util: 29.7.0 1933 jest-util: 29.7.0
@@ -1948,14 +1948,14 @@ packages:
1948 '@jest/test-result': 29.7.0 1948 '@jest/test-result': 29.7.0
1949 '@jest/transform': 29.7.0 1949 '@jest/transform': 29.7.0
1950 '@jest/types': 29.6.3 1950 '@jest/types': 29.6.3
1951 '@types/node': 18.15.3 1951 '@types/node': 20.8.10
1952 ansi-escapes: 4.3.2 1952 ansi-escapes: 4.3.2
1953 chalk: 4.1.2 1953 chalk: 4.1.2
1954 ci-info: 3.8.0 1954 ci-info: 3.8.0
1955 exit: 0.1.2 1955 exit: 0.1.2
1956 graceful-fs: 4.2.11 1956 graceful-fs: 4.2.11
1957 jest-changed-files: 29.7.0 1957 jest-changed-files: 29.7.0
1958 jest-config: 29.7.0(@types/node@18.15.3)(ts-node@10.9.1) 1958 jest-config: 29.7.0(@types/node@20.8.10)(ts-node@10.9.1)
1959 jest-haste-map: 29.7.0 1959 jest-haste-map: 29.7.0
1960 jest-message-util: 29.7.0 1960 jest-message-util: 29.7.0
1961 jest-regex-util: 29.6.3 1961 jest-regex-util: 29.6.3
@@ -1983,7 +1983,7 @@ packages:
1983 dependencies: 1983 dependencies:
1984 '@jest/fake-timers': 29.7.0 1984 '@jest/fake-timers': 29.7.0
1985 '@jest/types': 29.6.3 1985 '@jest/types': 29.6.3
1986 '@types/node': 18.15.3 1986 '@types/node': 20.8.10
1987 jest-mock: 29.7.0 1987 jest-mock: 29.7.0
1988 dev: true 1988 dev: true
1989 1989
@@ -2010,7 +2010,7 @@ packages:
2010 dependencies: 2010 dependencies:
2011 '@jest/types': 29.6.3 2011 '@jest/types': 29.6.3
2012 '@sinonjs/fake-timers': 10.2.0 2012 '@sinonjs/fake-timers': 10.2.0
2013 '@types/node': 18.15.3 2013 '@types/node': 20.8.10
2014 jest-message-util: 29.7.0 2014 jest-message-util: 29.7.0
2015 jest-mock: 29.7.0 2015 jest-mock: 29.7.0
2016 jest-util: 29.7.0 2016 jest-util: 29.7.0
@@ -2043,7 +2043,7 @@ packages:
2043 '@jest/transform': 29.7.0 2043 '@jest/transform': 29.7.0
2044 '@jest/types': 29.6.3 2044 '@jest/types': 29.6.3
2045 '@jridgewell/trace-mapping': 0.3.20 2045 '@jridgewell/trace-mapping': 0.3.20
2046 '@types/node': 18.15.3 2046 '@types/node': 20.8.10
2047 chalk: 4.1.2 2047 chalk: 4.1.2
2048 collect-v8-coverage: 1.0.1 2048 collect-v8-coverage: 1.0.1
2049 exit: 0.1.2 2049 exit: 0.1.2
@@ -2131,7 +2131,7 @@ packages:
2131 '@jest/schemas': 29.6.3 2131 '@jest/schemas': 29.6.3
2132 '@types/istanbul-lib-coverage': 2.0.4 2132 '@types/istanbul-lib-coverage': 2.0.4
2133 '@types/istanbul-reports': 3.0.1 2133 '@types/istanbul-reports': 3.0.1
2134 '@types/node': 18.15.3 2134 '@types/node': 20.8.10
2135 '@types/yargs': 17.0.24 2135 '@types/yargs': 17.0.24
2136 chalk: 4.1.2 2136 chalk: 4.1.2
2137 dev: true 2137 dev: true
@@ -2808,7 +2808,7 @@ packages:
2808 dependencies: 2808 dependencies:
2809 '@types/http-cache-semantics': 4.0.1 2809 '@types/http-cache-semantics': 4.0.1
2810 '@types/keyv': 3.1.4 2810 '@types/keyv': 3.1.4
2811 '@types/node': 18.15.3 2811 '@types/node': 20.8.10
2812 '@types/responselike': 1.0.0 2812 '@types/responselike': 1.0.0
2813 2813
2814 /@types/color-convert@2.0.0: 2814 /@types/color-convert@2.0.0:
@@ -2837,19 +2837,19 @@ packages:
2837 resolution: {integrity: sha512-c0hrgAOVYr21EX8J0jBMXGLMgJqVf/v6yxi0dLaJboW9aQPh16Id+z6w2Tx1hm+piJOLv8xPfVKZCLfjPw/IMQ==} 2837 resolution: {integrity: sha512-c0hrgAOVYr21EX8J0jBMXGLMgJqVf/v6yxi0dLaJboW9aQPh16Id+z6w2Tx1hm+piJOLv8xPfVKZCLfjPw/IMQ==}
2838 dependencies: 2838 dependencies:
2839 '@types/jsonfile': 6.1.1 2839 '@types/jsonfile': 6.1.1
2840 '@types/node': 18.15.3 2840 '@types/node': 20.8.10
2841 dev: true 2841 dev: true
2842 2842
2843 /@types/fs-extra@9.0.13: 2843 /@types/fs-extra@9.0.13:
2844 resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} 2844 resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==}
2845 dependencies: 2845 dependencies:
2846 '@types/node': 18.15.3 2846 '@types/node': 20.8.10
2847 dev: true 2847 dev: true
2848 2848
2849 /@types/graceful-fs@4.1.5: 2849 /@types/graceful-fs@4.1.5:
2850 resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} 2850 resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==}
2851 dependencies: 2851 dependencies:
2852 '@types/node': 18.15.3 2852 '@types/node': 20.8.10
2853 dev: true 2853 dev: true
2854 2854
2855 /@types/hoist-non-react-statics@3.3.1: 2855 /@types/hoist-non-react-statics@3.3.1:
@@ -2896,13 +2896,13 @@ packages:
2896 /@types/jsonfile@6.1.1: 2896 /@types/jsonfile@6.1.1:
2897 resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} 2897 resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==}
2898 dependencies: 2898 dependencies:
2899 '@types/node': 18.15.3 2899 '@types/node': 20.8.10
2900 dev: true 2900 dev: true
2901 2901
2902 /@types/keyv@3.1.4: 2902 /@types/keyv@3.1.4:
2903 resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} 2903 resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
2904 dependencies: 2904 dependencies:
2905 '@types/node': 18.15.3 2905 '@types/node': 20.8.10
2906 2906
2907 /@types/lodash@4.14.198: 2907 /@types/lodash@4.14.198:
2908 resolution: {integrity: sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==} 2908 resolution: {integrity: sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==}
@@ -2923,6 +2923,11 @@ packages:
2923 resolution: {integrity: sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==} 2923 resolution: {integrity: sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g==}
2924 dev: true 2924 dev: true
2925 2925
2926 /@types/node@20.8.10:
2927 resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==}
2928 dependencies:
2929 undici-types: 5.26.5
2930
2926 /@types/normalize-package-data@2.4.1: 2931 /@types/normalize-package-data@2.4.1:
2927 resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 2932 resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
2928 dev: true 2933 dev: true
@@ -2935,7 +2940,7 @@ packages:
2935 resolution: {integrity: sha512-pTa9xUFQFM9WJGSWHajYNljD+DbVylE1q9IweK1LBhUYJdJ28YNU8j3KZ4Q1Qw+cSl4+QLLLOVmqNjhhvVO8fA==} 2940 resolution: {integrity: sha512-pTa9xUFQFM9WJGSWHajYNljD+DbVylE1q9IweK1LBhUYJdJ28YNU8j3KZ4Q1Qw+cSl4+QLLLOVmqNjhhvVO8fA==}
2936 requiresBuild: true 2941 requiresBuild: true
2937 dependencies: 2942 dependencies:
2938 '@types/node': 18.15.3 2943 '@types/node': 20.8.10
2939 xmlbuilder: 15.1.1 2944 xmlbuilder: 15.1.1
2940 dev: true 2945 dev: true
2941 optional: true 2946 optional: true
@@ -2983,7 +2988,7 @@ packages:
2983 /@types/responselike@1.0.0: 2988 /@types/responselike@1.0.0:
2984 resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} 2989 resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
2985 dependencies: 2990 dependencies:
2986 '@types/node': 18.15.3 2991 '@types/node': 20.8.10
2987 2992
2988 /@types/route-parser@0.1.4: 2993 /@types/route-parser@0.1.4:
2989 resolution: {integrity: sha512-lwH3SeyKwCAwP7oUoJNryPDdbW3Bx5lrB6mhV5iebqzOJHIut6wlaSxpQR4Lsk6j7wC08pGenr/xE8I/A4J3Fg==} 2994 resolution: {integrity: sha512-lwH3SeyKwCAwP7oUoJNryPDdbW3Bx5lrB6mhV5iebqzOJHIut6wlaSxpQR4Lsk6j7wC08pGenr/xE8I/A4J3Fg==}
@@ -3007,7 +3012,7 @@ packages:
3007 /@types/tar@6.1.6: 3012 /@types/tar@6.1.6:
3008 resolution: {integrity: sha512-HQ06kiiDXz9uqtmE9ksQUn1ovcPr1gGV9EgaCWo6FGYKD0onNBCetBzL0kfcS8Kbj1EFxJWY9jL2W4ZvvtGI8Q==} 3013 resolution: {integrity: sha512-HQ06kiiDXz9uqtmE9ksQUn1ovcPr1gGV9EgaCWo6FGYKD0onNBCetBzL0kfcS8Kbj1EFxJWY9jL2W4ZvvtGI8Q==}
3009 dependencies: 3014 dependencies:
3010 '@types/node': 18.15.3 3015 '@types/node': 20.8.10
3011 minipass: 4.2.8 3016 minipass: 4.2.8
3012 dev: true 3017 dev: true
3013 3018
@@ -3039,7 +3044,7 @@ packages:
3039 resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} 3044 resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==}
3040 requiresBuild: true 3045 requiresBuild: true
3041 dependencies: 3046 dependencies:
3042 '@types/node': 18.15.3 3047 '@types/node': 20.8.10
3043 optional: true 3048 optional: true
3044 3049
3045 /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2): 3050 /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2):
@@ -5061,7 +5066,7 @@ packages:
5061 dev: true 5066 dev: true
5062 optional: true 5067 optional: true
5063 5068
5064 /create-jest@29.7.0(@types/node@18.15.3)(ts-node@10.9.1): 5069 /create-jest@29.7.0(@types/node@20.8.10)(ts-node@10.9.1):
5065 resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} 5070 resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
5066 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 5071 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
5067 hasBin: true 5072 hasBin: true
@@ -5070,7 +5075,7 @@ packages:
5070 chalk: 4.1.2 5075 chalk: 4.1.2
5071 exit: 0.1.2 5076 exit: 0.1.2
5072 graceful-fs: 4.2.11 5077 graceful-fs: 4.2.11
5073 jest-config: 29.7.0(@types/node@18.15.3)(ts-node@10.9.1) 5078 jest-config: 29.7.0(@types/node@20.8.10)(ts-node@10.9.1)
5074 jest-util: 29.7.0 5079 jest-util: 29.7.0
5075 prompts: 2.4.2 5080 prompts: 2.4.2
5076 transitivePeerDependencies: 5081 transitivePeerDependencies:
@@ -6190,7 +6195,7 @@ packages:
6190 '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2) 6195 '@typescript-eslint/eslint-plugin': 6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@5.2.2)
6191 '@typescript-eslint/utils': 5.59.11(eslint@8.49.0)(typescript@5.2.2) 6196 '@typescript-eslint/utils': 5.59.11(eslint@8.49.0)(typescript@5.2.2)
6192 eslint: 8.49.0 6197 eslint: 8.49.0
6193 jest: 29.7.0(@types/node@18.15.3)(ts-node@10.9.1) 6198 jest: 29.7.0(@types/node@20.8.10)(ts-node@10.9.1)
6194 transitivePeerDependencies: 6199 transitivePeerDependencies:
6195 - supports-color 6200 - supports-color
6196 - typescript 6201 - typescript
@@ -8301,7 +8306,7 @@ packages:
8301 '@jest/expect': 29.7.0 8306 '@jest/expect': 29.7.0
8302 '@jest/test-result': 29.7.0 8307 '@jest/test-result': 29.7.0
8303 '@jest/types': 29.6.3 8308 '@jest/types': 29.6.3
8304 '@types/node': 18.15.3 8309 '@types/node': 20.8.10
8305 chalk: 4.1.2 8310 chalk: 4.1.2
8306 co: 4.6.0 8311 co: 4.6.0
8307 dedent: 1.5.1 8312 dedent: 1.5.1
@@ -8322,7 +8327,7 @@ packages:
8322 - supports-color 8327 - supports-color
8323 dev: true 8328 dev: true
8324 8329
8325 /jest-cli@29.7.0(@types/node@18.15.3)(ts-node@10.9.1): 8330 /jest-cli@29.7.0(@types/node@20.8.10)(ts-node@10.9.1):
8326 resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} 8331 resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
8327 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 8332 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
8328 hasBin: true 8333 hasBin: true
@@ -8336,10 +8341,10 @@ packages:
8336 '@jest/test-result': 29.7.0 8341 '@jest/test-result': 29.7.0
8337 '@jest/types': 29.6.3 8342 '@jest/types': 29.6.3
8338 chalk: 4.1.2 8343 chalk: 4.1.2
8339 create-jest: 29.7.0(@types/node@18.15.3)(ts-node@10.9.1) 8344 create-jest: 29.7.0(@types/node@20.8.10)(ts-node@10.9.1)
8340 exit: 0.1.2 8345 exit: 0.1.2
8341 import-local: 3.1.0 8346 import-local: 3.1.0
8342 jest-config: 29.7.0(@types/node@18.15.3)(ts-node@10.9.1) 8347 jest-config: 29.7.0(@types/node@20.8.10)(ts-node@10.9.1)
8343 jest-util: 29.7.0 8348 jest-util: 29.7.0
8344 jest-validate: 29.7.0 8349 jest-validate: 29.7.0
8345 yargs: 17.7.2 8350 yargs: 17.7.2
@@ -8350,7 +8355,7 @@ packages:
8350 - ts-node 8355 - ts-node
8351 dev: true 8356 dev: true
8352 8357
8353 /jest-config@29.7.0(@types/node@18.15.3)(ts-node@10.9.1): 8358 /jest-config@29.7.0(@types/node@20.8.10)(ts-node@10.9.1):
8354 resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} 8359 resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
8355 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 8360 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
8356 peerDependencies: 8361 peerDependencies:
@@ -8365,7 +8370,7 @@ packages:
8365 '@babel/core': 7.22.20 8370 '@babel/core': 7.22.20
8366 '@jest/test-sequencer': 29.7.0 8371 '@jest/test-sequencer': 29.7.0
8367 '@jest/types': 29.6.3 8372 '@jest/types': 29.6.3
8368 '@types/node': 18.15.3 8373 '@types/node': 20.8.10
8369 babel-jest: 29.7.0(@babel/core@7.22.20) 8374 babel-jest: 29.7.0(@babel/core@7.22.20)
8370 chalk: 4.1.2 8375 chalk: 4.1.2
8371 ci-info: 3.8.0 8376 ci-info: 3.8.0
@@ -8385,7 +8390,7 @@ packages:
8385 pretty-format: 29.7.0 8390 pretty-format: 29.7.0
8386 slash: 3.0.0 8391 slash: 3.0.0
8387 strip-json-comments: 3.1.1 8392 strip-json-comments: 3.1.1
8388 ts-node: 10.9.1(@types/node@18.15.3)(typescript@5.2.2) 8393 ts-node: 10.9.1(@types/node@20.8.10)(typescript@5.2.2)
8389 transitivePeerDependencies: 8394 transitivePeerDependencies:
8390 - babel-plugin-macros 8395 - babel-plugin-macros
8391 - supports-color 8396 - supports-color
@@ -8426,7 +8431,7 @@ packages:
8426 '@jest/environment': 29.7.0 8431 '@jest/environment': 29.7.0
8427 '@jest/fake-timers': 29.7.0 8432 '@jest/fake-timers': 29.7.0
8428 '@jest/types': 29.6.3 8433 '@jest/types': 29.6.3
8429 '@types/node': 18.15.3 8434 '@types/node': 20.8.10
8430 jest-mock: 29.7.0 8435 jest-mock: 29.7.0
8431 jest-util: 29.7.0 8436 jest-util: 29.7.0
8432 dev: true 8437 dev: true
@@ -8442,7 +8447,7 @@ packages:
8442 dependencies: 8447 dependencies:
8443 '@jest/types': 29.6.3 8448 '@jest/types': 29.6.3
8444 '@types/graceful-fs': 4.1.5 8449 '@types/graceful-fs': 4.1.5
8445 '@types/node': 18.15.3 8450 '@types/node': 20.8.10
8446 anymatch: 3.1.3 8451 anymatch: 3.1.3
8447 fb-watchman: 2.0.2 8452 fb-watchman: 2.0.2
8448 graceful-fs: 4.2.11 8453 graceful-fs: 4.2.11
@@ -8493,7 +8498,7 @@ packages:
8493 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 8498 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
8494 dependencies: 8499 dependencies:
8495 '@jest/types': 29.6.3 8500 '@jest/types': 29.6.3
8496 '@types/node': 18.15.3 8501 '@types/node': 20.8.10
8497 jest-util: 29.7.0 8502 jest-util: 29.7.0
8498 dev: true 8503 dev: true
8499 8504
@@ -8548,7 +8553,7 @@ packages:
8548 '@jest/test-result': 29.7.0 8553 '@jest/test-result': 29.7.0
8549 '@jest/transform': 29.7.0 8554 '@jest/transform': 29.7.0
8550 '@jest/types': 29.6.3 8555 '@jest/types': 29.6.3
8551 '@types/node': 18.15.3 8556 '@types/node': 20.8.10
8552 chalk: 4.1.2 8557 chalk: 4.1.2
8553 emittery: 0.13.1 8558 emittery: 0.13.1
8554 graceful-fs: 4.2.11 8559 graceful-fs: 4.2.11
@@ -8579,7 +8584,7 @@ packages:
8579 '@jest/test-result': 29.7.0 8584 '@jest/test-result': 29.7.0
8580 '@jest/transform': 29.7.0 8585 '@jest/transform': 29.7.0
8581 '@jest/types': 29.6.3 8586 '@jest/types': 29.6.3
8582 '@types/node': 18.15.3 8587 '@types/node': 20.8.10
8583 chalk: 4.1.2 8588 chalk: 4.1.2
8584 cjs-module-lexer: 1.2.2 8589 cjs-module-lexer: 1.2.2
8585 collect-v8-coverage: 1.0.1 8590 collect-v8-coverage: 1.0.1
@@ -8631,7 +8636,7 @@ packages:
8631 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 8636 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
8632 dependencies: 8637 dependencies:
8633 '@jest/types': 29.6.3 8638 '@jest/types': 29.6.3
8634 '@types/node': 18.15.3 8639 '@types/node': 20.8.10
8635 chalk: 4.1.2 8640 chalk: 4.1.2
8636 ci-info: 3.8.0 8641 ci-info: 3.8.0
8637 graceful-fs: 4.2.11 8642 graceful-fs: 4.2.11
@@ -8656,7 +8661,7 @@ packages:
8656 dependencies: 8661 dependencies:
8657 '@jest/test-result': 29.7.0 8662 '@jest/test-result': 29.7.0
8658 '@jest/types': 29.6.3 8663 '@jest/types': 29.6.3
8659 '@types/node': 18.15.3 8664 '@types/node': 20.8.10
8660 ansi-escapes: 4.3.2 8665 ansi-escapes: 4.3.2
8661 chalk: 4.1.2 8666 chalk: 4.1.2
8662 emittery: 0.13.1 8667 emittery: 0.13.1
@@ -8668,13 +8673,13 @@ packages:
8668 resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} 8673 resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
8669 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 8674 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
8670 dependencies: 8675 dependencies:
8671 '@types/node': 18.15.3 8676 '@types/node': 20.8.10
8672 jest-util: 29.7.0 8677 jest-util: 29.7.0
8673 merge-stream: 2.0.0 8678 merge-stream: 2.0.0
8674 supports-color: 8.1.1 8679 supports-color: 8.1.1
8675 dev: true 8680 dev: true
8676 8681
8677 /jest@29.7.0(@types/node@18.15.3)(ts-node@10.9.1): 8682 /jest@29.7.0(@types/node@20.8.10)(ts-node@10.9.1):
8678 resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} 8683 resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
8679 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 8684 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
8680 hasBin: true 8685 hasBin: true
@@ -8687,7 +8692,7 @@ packages:
8687 '@jest/core': 29.7.0(ts-node@10.9.1) 8692 '@jest/core': 29.7.0(ts-node@10.9.1)
8688 '@jest/types': 29.6.3 8693 '@jest/types': 29.6.3
8689 import-local: 3.1.0 8694 import-local: 3.1.0
8690 jest-cli: 29.7.0(@types/node@18.15.3)(ts-node@10.9.1) 8695 jest-cli: 29.7.0(@types/node@20.8.10)(ts-node@10.9.1)
8691 transitivePeerDependencies: 8696 transitivePeerDependencies:
8692 - '@types/node' 8697 - '@types/node'
8693 - babel-plugin-macros 8698 - babel-plugin-macros
@@ -12851,7 +12856,7 @@ packages:
12851 typescript: 5.2.2 12856 typescript: 5.2.2
12852 dev: true 12857 dev: true
12853 12858
12854 /ts-node@10.9.1(@types/node@18.15.3)(typescript@5.2.2): 12859 /ts-node@10.9.1(@types/node@20.4.7)(typescript@5.2.2):
12855 resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} 12860 resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
12856 hasBin: true 12861 hasBin: true
12857 peerDependencies: 12862 peerDependencies:
@@ -12870,7 +12875,7 @@ packages:
12870 '@tsconfig/node12': 1.0.11 12875 '@tsconfig/node12': 1.0.11
12871 '@tsconfig/node14': 1.0.3 12876 '@tsconfig/node14': 1.0.3
12872 '@tsconfig/node16': 1.0.4 12877 '@tsconfig/node16': 1.0.4
12873 '@types/node': 18.15.3 12878 '@types/node': 20.4.7
12874 acorn: 8.10.0 12879 acorn: 8.10.0
12875 acorn-walk: 8.2.0 12880 acorn-walk: 8.2.0
12876 arg: 4.1.3 12881 arg: 4.1.3
@@ -12882,7 +12887,7 @@ packages:
12882 yn: 3.1.1 12887 yn: 3.1.1
12883 dev: true 12888 dev: true
12884 12889
12885 /ts-node@10.9.1(@types/node@20.4.7)(typescript@5.2.2): 12890 /ts-node@10.9.1(@types/node@20.8.10)(typescript@5.2.2):
12886 resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} 12891 resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
12887 hasBin: true 12892 hasBin: true
12888 peerDependencies: 12893 peerDependencies:
@@ -12901,7 +12906,7 @@ packages:
12901 '@tsconfig/node12': 1.0.11 12906 '@tsconfig/node12': 1.0.11
12902 '@tsconfig/node14': 1.0.3 12907 '@tsconfig/node14': 1.0.3
12903 '@tsconfig/node16': 1.0.4 12908 '@tsconfig/node16': 1.0.4
12904 '@types/node': 20.4.7 12909 '@types/node': 20.8.10
12905 acorn: 8.10.0 12910 acorn: 8.10.0
12906 acorn-walk: 8.2.0 12911 acorn-walk: 8.2.0
12907 arg: 4.1.3 12912 arg: 4.1.3
@@ -13103,6 +13108,9 @@ packages:
13103 engines: {node: '>=0.10.0'} 13108 engines: {node: '>=0.10.0'}
13104 dev: false 13109 dev: false
13105 13110
13111 /undici-types@5.26.5:
13112 resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
13113
13106 /union-value@1.0.1: 13114 /union-value@1.0.1:
13107 resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} 13115 resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
13108 engines: {node: '>=0.10.0'} 13116 engines: {node: '>=0.10.0'}
diff --git a/recipes b/recipes
Subproject 25794f73fc6051d146dcac9d4711ef748fbd417 Subproject 64e26494686255797b59ca781d29c8f2ba2d514
diff --git a/src/components/services/content/WebviewCrashHandler.tsx b/src/components/services/content/WebviewCrashHandler.tsx
index e9b17e8aa..91c9cf927 100644
--- a/src/components/services/content/WebviewCrashHandler.tsx
+++ b/src/components/services/content/WebviewCrashHandler.tsx
@@ -36,7 +36,7 @@ interface IState {
36 36
37@observer 37@observer
38class WebviewCrashHandler extends Component<IProps, IState> { 38class WebviewCrashHandler extends Component<IProps, IState> {
39 countdownInterval: NodeJS.Timer | undefined; 39 countdownInterval: NodeJS.Timeout | undefined;
40 40
41 countdownIntervalTimeout = ms('1s'); 41 countdownIntervalTimeout = ms('1s');
42 42
@@ -58,7 +58,7 @@ class WebviewCrashHandler extends Component<IProps, IState> {
58 58
59 if (this.state.countdown <= 0) { 59 if (this.state.countdown <= 0) {
60 reload(); 60 reload();
61 clearInterval(this.countdownInterval!); 61 clearInterval(this.countdownInterval);
62 } 62 }
63 }, this.countdownIntervalTimeout); 63 }, this.countdownIntervalTimeout);
64 } 64 }
diff --git a/src/stores/AppStore.ts b/src/stores/AppStore.ts
index df8c17c01..ab98ca89c 100644
--- a/src/stores/AppStore.ts
+++ b/src/stores/AppStore.ts
@@ -128,7 +128,7 @@ export default class AppStore extends TypedStore {
128 128
129 dictionaries = []; 129 dictionaries = [];
130 130
131 fetchDataInterval: null | NodeJS.Timer = null; 131 fetchDataInterval: NodeJS.Timeout | null = null;
132 132
133 @observable downloads: Download[] = []; 133 @observable downloads: Download[] = [];
134 134