From 0018b8e9576373fbae2c39e3bd8fdebbbf9e6654 Mon Sep 17 00:00:00 2001 From: AAGaming Date: Wed, 17 Aug 2022 20:03:45 -0400 Subject: bump lib and add temporary shims for webpack v5 --- frontend/src/index.tsx | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'frontend/src/index.tsx') diff --git a/frontend/src/index.tsx b/frontend/src/index.tsx index b6c4e3aa..96c3306c 100644 --- a/frontend/src/index.tsx +++ b/frontend/src/index.tsx @@ -1,3 +1,6 @@ +import { ButtonItem, CommonUIModule, webpackCache } from 'decky-frontend-lib'; +import { forwardRef } from 'react'; + import PluginLoader from './plugin-loader'; import { DeckyUpdater } from './updater'; @@ -9,8 +12,31 @@ declare global { syncDeckyPlugins: Function; deckyHasLoaded: boolean; deckyAuthToken: string; + webpackJsonp: any; } } + +// HACK to fix plugins using webpack v4 push + +const v4Cache = {}; +for (let m of Object.keys(webpackCache)) { + v4Cache[m] = { exports: webpackCache[m] }; +} + +if (!window.webpackJsonp || window.webpackJsonp.deckyShimmed) { + window.webpackJsonp = { + deckyShimmed: true, + push: (mod: any): any => { + if (mod[1].get_require) return { c: v4Cache }; + }, + }; +} +CommonUIModule.__deckyButtonItemShim = forwardRef((props: any, ref: any) => { + // tricks the old filter into working + const dummy = `childrenContainerWidth:"min"`; + return ; +}); + (async () => { window.deckyHasLoaded = true; window.deckyAuthToken = await fetch('http://127.0.0.1:1337/auth/token').then((r) => r.text()); -- cgit v1.2.3