diff options
| author | AAGaming <aagaming@riseup.net> | 2025-10-15 00:31:12 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-15 00:31:12 -0400 |
| commit | 44bb023b804b0ab360214360a3947935fb41c86c (patch) | |
| tree | f1313a32a16297fcaadecc3ba3eb2e21dec4ddb7 /frontend/src/index.ts | |
| parent | 86b5567d4eac84399245c9a71270d6142ee54ded (diff) | |
| download | decky-loader-44bb023b804b0ab360214360a3947935fb41c86c.tar.gz decky-loader-44bb023b804b0ab360214360a3947935fb41c86c.zip | |
React 19 support (#818)v3.2.0-pre1v3.2.0
Diffstat (limited to 'frontend/src/index.ts')
| -rw-r--r-- | frontend/src/index.ts | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/frontend/src/index.ts b/frontend/src/index.ts index 2ee018e0..4f4ff4f7 100644 --- a/frontend/src/index.ts +++ b/frontend/src/index.ts @@ -1,8 +1,4 @@ // Sets up DFL, then loads start.ts which starts up the loader -interface Window { - // Shut up TS - SP_REACTDOM: any; -} (async () => { console.debug('[Decky:Boot] Frontend init'); @@ -21,7 +17,19 @@ interface Window { // deliberate partial import const DFLWebpack = await import('@decky/ui/dist/webpack'); window.SP_REACT = DFLWebpack.findModule((m) => m.Component && m.PureComponent && m.useLayoutEffect); - window.SP_REACTDOM = DFLWebpack.findModule((m) => m.createPortal && m.createRoot); + window.SP_REACTDOM = + DFLWebpack.findModule((m) => m.createPortal && m.createRoot) || + DFLWebpack.findModule((m) => m.createPortal && m.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE); + + console.debug('[Decky:Boot] Setting up JSX internals...'); + const jsx = DFLWebpack.findModule((m) => m.jsx && Object.keys(m).length == 1)?.jsx; + if (jsx) { + window.SP_JSX = { + jsx, + jsxs: jsx, + Fragment: window.SP_REACT.Fragment, + }; + } } console.debug('[Decky:Boot] Setting up @decky/ui...'); window.DFL = await import('@decky/ui'); |
