Compare commits

..

2 Commits

Author SHA1 Message Date
semantic-release-bot
bb8a6df115 chore(release): 1.7.4 [CI SKIP] 2022-08-18 00:01:38 +00:00
AAGaming
a672230b00 fix(*): updates for webpack v5 2022-08-17 20:00:24 -04:00
5 changed files with 38 additions and 11 deletions

View File

@@ -1,3 +1,10 @@
## [1.7.4](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.7.3...v1.7.4) (2022-08-18)
### Bug Fixes
* updates for webpack v5 ([a672230](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/a672230b0051dd942988554ec663ea7bfcd61cfe))
## [1.7.3](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.7.2...v1.7.3) (2022-08-17)

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "decky-frontend-lib",
"version": "1.7.3",
"version": "1.7.4",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "decky-frontend-lib",
"version": "1.7.3",
"version": "1.7.4",
"license": "GPL-2.0-or-later",
"dependencies": {
"minimist": "^1.2.6"

View File

@@ -1,6 +1,6 @@
{
"name": "decky-frontend-lib",
"version": "1.7.3",
"version": "1.7.4",
"description": "A library for building decky plugins",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@@ -9,5 +9,5 @@ export interface ButtonItemProps extends ItemProps {
}
export const ButtonItem = Object.values(CommonUIModule).find((mod: any) =>
mod?.render?.toString()?.includes('childrenContainerWidth:"min"'),
mod?.render?.toString()?.includes('"highlightOnFocus","childrenContainerWidth"'),
) as FC<ButtonItemProps>;

View File

@@ -1,6 +1,7 @@
declare global {
interface Window {
webpackJsonp: any;
webpackChunksteamui: any;
}
}
@@ -9,14 +10,33 @@ export type Module = any;
type FilterFn = (module: any) => boolean;
type FindFn = (module: any) => any;
const wpRequire = window.webpackJsonp.push([
[],
{ get_require: (mod: any, _exports: any, wpRequire: any) => (mod.exports = wpRequire) },
[['get_require']],
]);
export let webpackCache: any = {};
let hasWebpack5 = false;
export const allModules: Module[] = Object.keys(wpRequire.c)
.map((x) => wpRequire.c[x].exports)
if (window.webpackJsonp && !window.webpackJsonp.deckyShimmed) {
// Webpack 4, currently on stable
const wpRequire = window.webpackJsonp.push([
[],
{ get_require: (mod: any, _exports: any, wpRequire: any) => (mod.exports = wpRequire) },
[['get_require']],
]);
delete wpRequire.m.get_require;
delete wpRequire.c.get_require;
webpackCache = wpRequire.c;
} else {
// Webpack 5, currently on beta
hasWebpack5 = true;
const id = Math.random();
let initReq: any;
window.webpackChunksteamui.push([[ id ], {}, (r: any) => { initReq = r }]);
for (let i of Object.keys(initReq.m)) {
webpackCache[i] = initReq(i)
}
}
export const allModules: Module[] = hasWebpack5 ? Object.values(webpackCache).filter((x) => x) : Object.keys(webpackCache)
.map((x) => webpackCache[x].exports)
.filter((x) => x);
export const findModule = (filter: FilterFn) => {