From 14da034ff636830262d70ba63472e92bda1ff984 Mon Sep 17 00:00:00 2001 From: Florian Rival Date: Fri, 13 Mar 2026 16:13:39 +0100 Subject: [PATCH] Make Steamworks extension accessible from the web-app --- .../BrowserJsExtensionsLoader.js | 39 +++---------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/newIDE/app/src/JsExtensionsLoader/BrowserJsExtensionsLoader.js b/newIDE/app/src/JsExtensionsLoader/BrowserJsExtensionsLoader.js index 5c74c1bf74..34ad70d5ed 100644 --- a/newIDE/app/src/JsExtensionsLoader/BrowserJsExtensionsLoader.js +++ b/newIDE/app/src/JsExtensionsLoader/BrowserJsExtensionsLoader.js @@ -13,221 +13,194 @@ const gd: libGDevelop = global.gd; const jsExtensions = [ { name: 'AdMob', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/AdMob/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'AdvancedWindow', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/AdvancedWindow/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'FacebookInstantGames', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/FacebookInstantGames/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'DeviceSensors', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/DeviceSensors/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'DeviceVibration', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/DeviceVibration/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'SaveState', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/SaveState/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'DebuggerTools', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/DebuggerTools/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Physics2', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Physics2Behavior/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Physics3D', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Physics3DBehavior/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'ExampleJsExtension', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/ExampleJsExtension/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Tween', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/TweenBehavior/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Video', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Video/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'FileSystem', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/FileSystem/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Firebase', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Firebase/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Leaderboards', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Leaderboards/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'PlayerAuthentication', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/PlayerAuthentication/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Multiplayer', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Multiplayer/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'DialogueTree', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/DialogueTree/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'BBText', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/BBText/JsExtension.js'), objectsRenderingServiceModules: { - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] 'pixi-multistyle-text/dist/pixi-multistyle-text.umd': require('GDJS-for-web-app-only/Runtime/Extensions/BBText/pixi-multistyle-text/dist/pixi-multistyle-text.umd'), }, }, { name: 'TileMap', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/TileMap/JsExtension.js'), objectsRenderingServiceModules: { - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] 'pixi-tilemap/dist/pixi-tilemap.umd': require('GDJS-for-web-app-only/Runtime/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd'), - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] 'helper/TileMapHelper': require('GDJS-for-web-app-only/Runtime/Extensions/TileMap/helper/TileMapHelper.js'), - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] 'pako/dist/pako.min': require('GDJS-for-web-app-only/Runtime/Extensions/TileMap/pako/dist/pako.min'), }, }, { name: 'Effects', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Effects/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'P2P', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/P2P/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Lighting', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Lighting/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'SpatialSound', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/SpatialSound/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'BitmapText', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/BitmapText/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Screenshot', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Screenshot/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'TextInput', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/TextInput/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'Scene3D', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/3D/JsExtension.js'), objectsRenderingServiceModules: {}, }, { name: 'SpineObject', - // $FlowFixMe[incompatible-type] - this path is ignored for Flow. // $FlowFixMe[cannot-resolve-module] extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Spine/JsExtension.js'), objectsRenderingServiceModules: {}, }, + { + name: 'Steamworks', + // $FlowFixMe[cannot-resolve-module] + extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/Steamworks/JsExtension.js'), + objectsRenderingServiceModules: {}, + }, ]; const getExpectedNumberOfJSExtensionModules = ({