mirror of
https://github.com/status-im/embark-area-51.git
synced 2025-01-10 05:56:00 +00:00
Fixed plugin loading logic
This commit is contained in:
parent
911f7fde58
commit
47168e5437
@ -1,3 +1,7 @@
|
||||
const commandName = "generate-ui";
|
||||
|
||||
const errorMessage = (message) => new Error(commandName + ": " + message);
|
||||
|
||||
class Scaffolding {
|
||||
constructor(embark, options){
|
||||
this.embark = embark;
|
||||
@ -26,15 +30,21 @@ class Scaffolding {
|
||||
});
|
||||
|
||||
if(build === null){
|
||||
throw new Error("Could not find plugin for framework '" + this.framework + "'");
|
||||
throw errorMessage("Could not find plugin for framework '" + this.framework + "'");
|
||||
}
|
||||
|
||||
if(!this.isContract(contractName)){
|
||||
return new Error("contract '" + contractName + "' does not exist");
|
||||
return errorMessage("contract '" + contractName + "' does not exist");
|
||||
}
|
||||
|
||||
const contract = contractConfiguration.contracts[contractName];
|
||||
build(contract);
|
||||
|
||||
try {
|
||||
let result = build(contract);
|
||||
this.embark.logger.info(result);
|
||||
} catch(err){
|
||||
throw errorMessage(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
42
lib/cmds/scaffolding.js~develop_51
Normal file
42
lib/cmds/scaffolding.js~develop_51
Normal file
@ -0,0 +1,42 @@
|
||||
class Scaffolding {
|
||||
constructor(embark, options){
|
||||
this.embark = embark;
|
||||
this.options = options;
|
||||
this.framework = options.framework;
|
||||
this.frameworkPlugin = null;
|
||||
}
|
||||
|
||||
isContract(contractName){
|
||||
return this.embark.config.contractsConfig.contracts[contractName] !== undefined;
|
||||
}
|
||||
|
||||
generate(contractName, contractConfiguration){
|
||||
if(this.framework == 'react'){
|
||||
this.embark.plugins.loadInternalPlugin('scaffolding-react', this.options);
|
||||
}
|
||||
|
||||
let dappGenerators = this.embark.plugins.getPluginsFor('dappGenerator');
|
||||
let build = null;
|
||||
dappGenerators.forEach((plugin) => {
|
||||
plugin.dappGenerators.forEach((d) => {
|
||||
if(d.framework == this.framework){
|
||||
build = d.cb;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if(build === null){
|
||||
throw new Error("Could not find plugin for framework '" + this.framework + "'");
|
||||
}
|
||||
|
||||
if(!this.isContract(contractName)){
|
||||
return new Error("contract '" + contractName + "' does not exist");
|
||||
}
|
||||
|
||||
const contract = contractConfiguration.contracts[contractName];
|
||||
build(contract);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports = Scaffolding;
|
@ -1,51 +0,0 @@
|
||||
const fs = require('fs');
|
||||
|
||||
const commandName = "generate-ui";
|
||||
|
||||
const errorMessage = (message) => new Error(commandName + ": " + message);
|
||||
|
||||
class Scaffolding {
|
||||
constructor(embark, options){
|
||||
this.embark = embark;
|
||||
this.options = options;
|
||||
this.framework = options.framework;
|
||||
this.frameworkPlugin = null;
|
||||
}
|
||||
|
||||
isContract(contractName){
|
||||
return this.embark.config.contractsConfig.contracts[contractName] !== undefined;
|
||||
}
|
||||
|
||||
generate(contractName){
|
||||
let frameworkPlugin;
|
||||
|
||||
if(this.framework == 'react'){
|
||||
this.embark.plugins.loadInternalPlugin('scaffolding-react', this.options);
|
||||
frameworkPlugin = this.embark.plugins.plugins.filter(x => x.name == "scaffolding-react")[0].pluginModule;
|
||||
} else {
|
||||
let plugins = this.embark.plugins.getPluginsFor(this.framework);
|
||||
if(plugins.length !== 1){
|
||||
throw errorMessage("Could not find plugin for framework '" + this.framework + "'");
|
||||
}
|
||||
frameworkPlugin = plugins[0].pluginModule;
|
||||
}
|
||||
|
||||
|
||||
if(!this.isContract(contractName)){
|
||||
return errorMessage("contract '" + contractName + "' does not exist");
|
||||
}
|
||||
|
||||
const contract = this.embark.config.contractsConfig.contracts[contractName];
|
||||
|
||||
try {
|
||||
let uiFramework = new frameworkPlugin(this.embark, this.options);
|
||||
let result = uiFramework.build(contract);
|
||||
this.embark.logger.info(result);
|
||||
} catch(err){
|
||||
throw errorMessage(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports = Scaffolding;
|
Loading…
x
Reference in New Issue
Block a user