Skip to content

Commit 64dba39

Browse files
author
Kevin Frei
committed
Updated to React 18. There may still be some Jotai-related issues.
1 parent 0c63b3d commit 64dba39

File tree

11 files changed

+1623
-1717
lines changed

11 files changed

+1623
-1717
lines changed

.yarn/releases/yarn-4.2.2.cjs renamed to .yarn/releases/yarn-4.3.0.cjs

Lines changed: 305 additions & 305 deletions
Large diffs are not rendered by default.

.yarnrc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ enableGlobalCache: true
66

77
nodeLinker: node-modules
88

9-
yarnPath: .yarn/releases/yarn-4.2.2.cjs
9+
yarnPath: .yarn/releases/yarn-4.3.0.cjs

electron/window.ts

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,7 @@ export async function CreateWindow(
7070
mainWindow.maximize();
7171
}
7272
// Call the user specified "ready to go" function
73-
windowCreated()
74-
.then(() => {
75-
// open the devtools
76-
if (!app.isPackaged) {
77-
mainWindow?.webContents.openDevTools();
78-
}
79-
})
80-
.catch(wrn);
73+
windowCreated().then(openDevTools).catch(wrn);
8174
}
8275
});
8376

@@ -101,6 +94,33 @@ export async function CreateWindow(
10194
}
10295
}
10396

97+
async function installExtensions() {
98+
const {
99+
default: installExtension,
100+
REACT_DEVELOPER_TOOLS,
101+
REDUX_DEVTOOLS,
102+
} = await import('electron-devtools-installer');
103+
104+
const extensions = [REACT_DEVELOPER_TOOLS, REDUX_DEVTOOLS];
105+
for (const extension of extensions) {
106+
try {
107+
const name = await installExtension(extension);
108+
console.log(`Added Extension: ${name}`);
109+
} catch (e) {
110+
console.log('An error occurred: ', e);
111+
}
112+
}
113+
}
114+
115+
async function openDevTools() {
116+
// Make sure we have the dev tools installed
117+
// open the devtools
118+
if (!app.isPackaged) {
119+
await installExtensions();
120+
mainWindow?.webContents.openDevTools();
121+
}
122+
}
123+
104124
let prevWidth = 0;
105125

106126
export function ToggleMiniPlayer(): void {

modules/audiofileindex/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,15 @@
4444
"@types/jest": "^29.5.12",
4545
"@types/rmfr": "^2.0.5",
4646
"@types/xxhashjs": "^0.2.4",
47-
"@typescript-eslint/eslint-plugin": "^7.12.0",
48-
"@typescript-eslint/parser": "^7.12.0",
49-
"eslint": "^9.4.0",
47+
"@typescript-eslint/eslint-plugin": "^7.13.0",
48+
"@typescript-eslint/parser": "^7.13.0",
49+
"eslint": "^9.5.0",
5050
"eslint-config-prettier": "^9.1.0",
5151
"jest": "^29.7.0",
52-
"prettier": "^3.3.1",
52+
"prettier": "^3.3.2",
5353
"rimraf": "^5.0.7",
5454
"rmfr": "^2.0.0",
55-
"ts-jest": "^29.1.4",
55+
"ts-jest": "^29.1.5",
5656
"typedoc": "^0.25.13",
5757
"typedoc-plugin-markdown": "^4.0.3",
5858
"typescript": "^5.4.5"

modules/emain/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@
4040
"@freik/node-utils": "^1.6.3",
4141
"@types/debug": "^4.1.12",
4242
"@types/jest": "^29.5.12",
43-
"@typescript-eslint/eslint-plugin": "^7.12.0",
44-
"@typescript-eslint/parser": "^7.12.0",
45-
"electron": "^30.0.9",
46-
"eslint": "^9.4.0",
43+
"@typescript-eslint/eslint-plugin": "^7.13.0",
44+
"@typescript-eslint/parser": "^7.13.0",
45+
"electron": "^31.0.1",
46+
"eslint": "^9.5.0",
4747
"eslint-config-prettier": "^9.1.0",
4848
"eslint-plugin-import": "^2.29.1",
4949
"eslint-plugin-prettier": "^5.1.3",
5050
"jest": "^29.7.0",
51-
"prettier": "^3.3.1",
51+
"prettier": "^3.3.2",
5252
"rimraf": "^5.0.7",
53-
"ts-jest": "^29.1.4",
53+
"ts-jest": "^29.1.5",
5454
"typedoc": "^0.25.13",
5555
"typedoc-plugin-markdown": "^4.0.3",
5656
"typescript": "^5.4.5"

modules/epreload/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,17 @@
3636
"@freik/electron-render": "^0.1.0",
3737
"@types/debug": "^4.1.12",
3838
"@types/jest": "^29.5.12",
39-
"@typescript-eslint/eslint-plugin": "^7.12.0",
40-
"@typescript-eslint/parser": "^7.12.0",
41-
"electron": "^30.0.9",
42-
"eslint": "^9.4.0",
39+
"@typescript-eslint/eslint-plugin": "^7.13.0",
40+
"@typescript-eslint/parser": "^7.13.0",
41+
"electron": "^31.0.1",
42+
"eslint": "^9.5.0",
4343
"eslint-config-prettier": "^9.1.0",
4444
"eslint-plugin-import": "^2.29.1",
4545
"eslint-plugin-prettier": "^5.1.3",
4646
"jest": "^29.7.0",
47-
"prettier": "^3.3.1",
47+
"prettier": "^3.3.2",
4848
"rimraf": "^5.0.7",
49-
"ts-jest": "^29.1.4",
49+
"ts-jest": "^29.1.5",
5050
"typescript": "^5.4.5"
5151
},
5252
"files": ["lib/**/*"],

modules/erenderer/package.json

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"@freik/seqnum": "^1.1.10",
3737
"@freik/typechk": "^0.5.11",
3838
"@freik/web-utils": "^0.5.2",
39-
"electron": "^30.0.9"
39+
"electron": "^31.0.1"
4040
},
4141
"peerDependencies": {
4242
"react": ">=17.0.2",
@@ -47,13 +47,13 @@
4747
"@freik/web-utils": "^0.5.2",
4848
"@types/debug": "^4.1.12",
4949
"@types/jest": "^29.5.12",
50-
"@types/react": "^17.0.80",
51-
"@types/react-dom": "^17.0.25",
52-
"@types/react-test-renderer": "^17.0.9",
53-
"@typescript-eslint/eslint-plugin": "^7.12.0",
54-
"@typescript-eslint/parser": "^7.12.0",
55-
"electron": "^30.0.9",
56-
"eslint": "^9.4.0",
50+
"@types/react": "^18.3.3",
51+
"@types/react-dom": "^18.3.0",
52+
"@types/react-test-renderer": "^18.3.0",
53+
"@typescript-eslint/eslint-plugin": "^7.13.0",
54+
"@typescript-eslint/parser": "^7.13.0",
55+
"electron": "^31.0.1",
56+
"eslint": "^9.5.0",
5757
"eslint-config-prettier": "^9.1.0",
5858
"eslint-plugin-import": "^2.29.1",
5959
"eslint-plugin-jsx-a11y": "^6.8.0",
@@ -62,14 +62,14 @@
6262
"eslint-plugin-react-hooks": "^4.6.2",
6363
"jest": "^29.7.0",
6464
"jest-environment-jsdom": "^29.7.0",
65-
"prettier": "^3.3.1",
66-
"react": "^17.0.2",
67-
"react-dom": "^17.0.2",
65+
"prettier": "^3.3.2",
66+
"react": "^18.3.1",
67+
"react-dom": "^18.3.1",
6868
"react-scripts": "^5.0.1",
69-
"react-test-renderer": "^17.0.2",
69+
"react-test-renderer": "^18.3.1",
7070
"recoil": "^0.7.7",
7171
"rimraf": "^5.0.7",
72-
"ts-jest": "^29.1.4",
72+
"ts-jest": "^29.1.5",
7373
"typedoc": "^0.25.13",
7474
"typedoc-plugin-markdown": "^4.0.3",
7575
"typescript": "^5.4.5"

package.json

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333
"hook-push": "yarn test"
3434
},
3535
"dependencies": {
36-
"@fluentui/react": "^8.118.6",
37-
"@fluentui/react-components": "^9.53.0",
38-
"@fluentui/react-icons-mdl2": "^1.3.67",
36+
"@fluentui/react": "^8.118.8",
37+
"@fluentui/react-components": "^9.54.1",
38+
"@fluentui/react-icons-mdl2": "^1.3.69",
3939
"@freik/audiodb": "^0.8.3",
4040
"@freik/containers": "^0.2.13",
4141
"@freik/electron-main": "^0.1.0",
@@ -56,8 +56,8 @@
5656
"jimp": "^0.22.12",
5757
"jotai": "^2.8.3",
5858
"open": "^10.1.0",
59-
"react": "^17.0.2",
60-
"react-dom": "^17.0.2",
59+
"react": "^18.3.1",
60+
"react-dom": "^18.3.1",
6161
"recoil": "^0.7.7",
6262
"rimraf": "^5.0.7",
6363
"xxhashjs": "^0.2.2"
@@ -71,50 +71,51 @@
7171
]
7272
},
7373
"devDependencies": {
74-
"@eslint/js": "^9.4.0",
74+
"@eslint/js": "^9.5.0",
7575
"@freik/build-tools": "^3.6.10",
76-
"@testing-library/jest-dom": "^6.4.5",
76+
"@testing-library/jest-dom": "^6.4.6",
7777
"@testing-library/react": "^16.0.0",
7878
"@types/debug": "^4.1.12",
7979
"@types/electron-devtools-installer": "^2.2.5",
8080
"@types/jest": "^29.5.12",
8181
"@types/node": "^20.14.2",
82-
"@types/react": "^17.0.80",
83-
"@types/react-dom": "^17.0.25",
84-
"@types/react-test-renderer": "^17.0.9",
82+
"@types/react": "^18.3.3",
83+
"@types/react-dom": "^18.3.0",
84+
"@types/react-test-renderer": "^18.3.0",
8585
"@types/xxhashjs": "^0.2.4",
86-
"@typescript-eslint/eslint-plugin": "^7.12.0",
87-
"@typescript-eslint/parser": "^7.12.0",
88-
"@vitejs/plugin-react": "^4.3.0",
86+
"@typescript-eslint/eslint-plugin": "^7.13.0",
87+
"@typescript-eslint/parser": "^7.13.0",
88+
"@vitejs/plugin-react": "^4.3.1",
8989
"cross-env": "^7.0.3",
90-
"electron": "^30.0.9",
91-
"electron-builder": "^25.0.0-alpha.9",
92-
"eslint": "^9.4.0",
90+
"electron": "^31.0.1",
91+
"electron-builder": "^24.13.3",
92+
"electron-devtools-installer": "^3.2.0",
93+
"eslint": "^9.5.0",
9394
"eslint-config-prettier": "^9.1.0",
9495
"eslint-plugin-import": "^2.29.1",
9596
"eslint-plugin-jsx-a11y": "^6.8.0",
9697
"eslint-plugin-prettier": "^5.1.3",
9798
"eslint-plugin-react": "^7.34.2",
9899
"eslint-plugin-react-hooks": "^4.6.2",
99100
"eslint-plugin-react-refresh": "^0.4.7",
100-
"globals": "^15.3.0",
101+
"globals": "^15.5.0",
101102
"husky": "^9.0.11",
102103
"jest": "^29.7.0",
103104
"jest-environment-jsdom": "^29.7.0",
104105
"jest-transform-css": "^6.0.1",
105-
"lerna": "^8.1.3",
106+
"lerna": "^8.1.4",
106107
"postcss": "8.4.38",
107-
"prettier": "^3.3.1",
108+
"prettier": "^3.3.2",
108109
"react-scripts": "^5.0.1",
109-
"react-test-renderer": "^17.0.2",
110+
"react-test-renderer": "^18.3.1",
110111
"svg-react-loader": "^0.4.6",
111112
"tree-kill": "^1.2.2",
112-
"ts-jest": "^29.1.4",
113+
"ts-jest": "^29.1.5",
113114
"typescript": "^5.4.5",
114-
"typescript-eslint": "^7.12.0",
115-
"vite": "^5.2.12",
115+
"typescript-eslint": "^7.13.0",
116+
"vite": "^5.3.1",
116117
"vite-plugin-electron": "^0.28.7",
117118
"vite-plugin-electron-renderer": "^0.14.5"
118119
},
119-
"packageManager": "yarn@4.2.2"
120+
"packageManager": "yarn@4.3.0"
120121
}

src/UI/Utilities.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import {
1717
CSSProperties,
1818
Component,
1919
ForwardedRef,
20-
ReactChildren,
2120
SyntheticEvent,
2221
useEffect,
2322
} from 'react';
@@ -245,9 +244,10 @@ export function StringSpinButton({
245244
);
246245
}
247246

248-
export class ErrorBoundary extends Component {
249-
state: { hasError: boolean };
250-
constructor(props: { children: ReactChildren }) {
247+
type EBProps = { children: React.ReactNode };
248+
type EBState = { hasError: boolean };
249+
export class ErrorBoundary extends Component<EBProps, EBState> {
250+
constructor(props: EBProps) {
251251
super(props);
252252
this.state = { hasError: false };
253253
}

src/main.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@
22
// import { Util } from '@freik/electron-render';
33
import { Util } from '@freik/electron-render';
44
import React from 'react';
5-
import ReactDOM from 'react-dom';
5+
import { createRoot } from 'react-dom/client';
66
import { FluentInitIcons } from './FluentInit';
77
import { App } from './UI/App';
88
import './UI/styles/index.css';
99

1010
Util.SetInit(() => {
1111
// unregisterIcons(['']);
1212
FluentInitIcons();
13-
const root = document.getElementById('root');
14-
if (root) {
15-
ReactDOM.render(
13+
14+
const container = document.getElementById('root');
15+
if (container) {
16+
const root = createRoot(container);
17+
root.render(
1618
<React.StrictMode>
1719
<App />
1820
</React.StrictMode>,
19-
root,
2021
);
2122
}
2223
});

0 commit comments

Comments
 (0)