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",