Load JsExtensions.js in BrowserJsExtensionsLoader

This commit is contained in:
Florian Rival
2018-06-29 00:09:46 +01:00
parent 22b977fd0e
commit 8e0783e45f
2 changed files with 31 additions and 2 deletions

View File

@@ -3,14 +3,21 @@ var path = require('path');
var isWin = /^win/.test(process.platform);
var destFolder = path.join(process.cwd(), '..', 'resources', 'GDJS', 'Runtime');
var destFolder2 = path.join(process.cwd(), '..', 'node_modules', 'GDJS-for-web-app-only', 'Runtime');
var gdjsScriptsFolder = '../../../GDJS/scripts';
if (isWin) {
shell.exec('CopyRuntimeToGD.bat ' + destFolder, {
cwd: gdjsScriptsFolder,
});
shell.exec('CopyRuntimeToGD.bat ' + destFolder2, {
cwd: gdjsScriptsFolder,
});
} else {
shell.exec('./CopyRuntimeToGD.sh ' + destFolder, {
cwd: gdjsScriptsFolder,
});
shell.exec('./CopyRuntimeToGD.sh ' + destFolder2, {
cwd: gdjsScriptsFolder,
});
}

View File

@@ -1,8 +1,30 @@
// @flow
import { type JsExtensionsLoader } from '.';
import {
type JsExtensionsLoader,
type ExtensionLoadingResult,
loadExtension,
} from '.';
const gd = global.gd;
const jsExtensions = [
{
name: 'FacebookInstantGames',
extensionModule: require('GDJS-for-web-app-only/Runtime/Extensions/FacebookInstantGames/JsExtension.js'),
},
];
/**
* Loader that load all JS extensions required in this file.
* Extensions are usually auto-discovered when declared in Extensions/xxx/JsExtension.js, but not
* for the web-app where everything must be bundled.
*/
export default class BrowserJsExtensionsLoader implements JsExtensionsLoader {
loadAllExtensions(): Promise<Array<ExtensionLoadingResult>> {
return Promise.resolve([]);
return Promise.resolve(
jsExtensions.map(({ name, extensionModule }) => ({
extensionModulePath: 'internal-extension://' + name,
result: loadExtension(gd.JsPlatform.get(), extensionModule),
}))
);
}
}