diff --git a/lib/modules/scaffolding-react/templates/index.tpl b/lib/modules/scaffolding-react/templates/index.tpl new file mode 100644 index 000000000..3fffecef3 --- /dev/null +++ b/lib/modules/scaffolding-react/templates/index.tpl @@ -0,0 +1,12 @@ + + + + {{title}} + + + + + + + + \ No newline at end of file diff --git a/lib/modules/scaffolding/index.js b/lib/modules/scaffolding/index.js index 1bf099bf6..677978475 100644 --- a/lib/modules/scaffolding/index.js +++ b/lib/modules/scaffolding/index.js @@ -2,7 +2,7 @@ const fs = require('fs'); const commandName = "generate-ui"; -const formatReplyMsg = (message) => commandName + ": " + message; +const errorMessage = (message) => new Error(commandName + ": " + message); class Scaffolding { constructor(embark, options){ @@ -12,15 +12,6 @@ class Scaffolding { this.frameworkPlugin = null; } - createDirectories(contractName){ - const dir = './app/' + contractName; - if (!fs.existsSync(dir)){ - fs.mkdirSync(dir); - } else { - throw formatReplyMsg("directory ./app/" + contractName + " already exists"); - } - } - isContract(contractName){ return this.embark.config.contractsConfig.contracts[contractName] !== undefined; } @@ -34,26 +25,25 @@ class Scaffolding { } else { let plugins = this.embark.plugins.getPluginsFor(this.framework); if(plugins.length !== 1){ - return formatReplyMsg("Could not find plugin for framework '" + this.framework + "'"); + throw errorMessage("Could not find plugin for framework '" + this.framework + "'"); } frameworkPlugin = plugins[0].pluginModule; } - try { - if(!this.isContract(contractName)){ - return formatReplyMsg("contract '" + contractName + "' does not exist"); - } - - const contract = this.embark.config.contractsConfig.contracts[contractName]; - - this.createDirectories(contractName); - let uiFramework = new frameworkPlugin(this.embark, this.options); - uiFramework.build(contract); - } catch(err){ - return err; + + if(!this.isContract(contractName)){ + return errorMessage("contract '" + contractName + "' does not exist"); } - return formatReplyMsg("done!"); + 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); + } } } diff --git a/package.json b/package.json index 7a6a40adc..ff70c63e6 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "http-proxy": "1.17.0", "http-shutdown": "1.2.0", "i18n": "0.8.3", + "handlebars": "^4.0.11", "ipfs-api": "17.2.4", "is-valid-domain": "0.0.5", "istanbul": "0.4.5",