From 7f3f7b69d264d635f99a5678f657e3cd30c4a02d Mon Sep 17 00:00:00 2001 From: jmorvan Date: Tue, 19 Nov 2013 12:47:46 +0100 Subject: [PATCH 1/5] Added support for silent execution --- src/generators/controller.js | 4 +++- src/util/fs.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/generators/controller.js b/src/generators/controller.js index 49a69ba..372be51 100644 --- a/src/generators/controller.js +++ b/src/generators/controller.js @@ -1,3 +1,4 @@ +var config = require('../util/config'); var fs = require('../util/fs'); var inflector = require('../util/inflector'); var msg = require('../util/message'); @@ -6,7 +7,8 @@ module.exports = function(resource) { var resourceName = inflector.underscore(resource)+'_controller'; fs.writeGenerator('controller', resourceName, { objectName: inflector.objectify(resourceName), - controllerType: promptControllerType() + controllerType: config().silent?'':promptControllerType(), + silent: config().silent }); }; diff --git a/src/util/fs.js b/src/util/fs.js index 57ae0f6..e630f7c 100644 --- a/src/util/fs.js +++ b/src/util/fs.js @@ -39,7 +39,7 @@ fs.writeGenerator = function(generatorType, resourceName, locals) { var ext = (generatorType == 'template') ? '.hbs' : '.js'; var pluralType = inflector.pluralize(generatorType); var savePath = config().jsPath+'/'+pluralType+'/'+resourceName+ext; - fs.writeTemplate('generate', generatorType+ext, locals, savePath); + fs.writeTemplate('generate', generatorType+ext, locals, savePath,locals.silent?'force':''); }; fs.writeComponentTemplate = function(resourceName, locals) { From be98fb87760f551fb9e6da56e4d1a6c39aeb66a0 Mon Sep 17 00:00:00 2001 From: jmorvan Date: Tue, 19 Nov 2013 13:04:26 +0100 Subject: [PATCH 2/5] Added silent execution help --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index bd02e9b..d0d47d2 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,17 @@ usage information. -V, --version output the version number ``` +### generate silently +You can activate silent mode for the `ember generate` command. Just add a silent option to your `ember.json`. this file is located at your project root. + + { + "jsPath": "js", + "modules": "cjs", + "silent": true + } + +This is can be very usefull when using integrated IDE command lines or Macro execution. + ## Guide ### Creating Stand-Alone Browser Apps From 2002f87f08b6acbd44d7107a70daf51290e79372 Mon Sep 17 00:00:00 2001 From: jmorvan Date: Tue, 19 Nov 2013 13:09:18 +0100 Subject: [PATCH 3/5] Added silent execution help --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d0d47d2..69dd7e4 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,9 @@ You can activate silent mode for the `ember generate` command. Just add a silent "silent": true } -This is can be very usefull when using integrated IDE command lines or Macro execution. +Though this is can be very useful when using integrated IDE command lines or Macro execution, be very careful as it will overwrite files with no warning! + +Keep in mind that autogenerated controllers will have `neither` option. ## Guide From e9b7d07ae54772d6a063d1c82f84a8e25c05b009 Mon Sep 17 00:00:00 2001 From: jmorvan Date: Tue, 19 Nov 2013 13:34:44 +0100 Subject: [PATCH 4/5] Added support for silent execution --- src/commands/generate.js | 23 +++++++++++++---------- src/generators/component.js | 24 +++++++++++++----------- src/generators/mixin.js | 12 +++++++----- src/generators/model.js | 14 ++++++++------ src/generators/route.js | 12 +++++++----- src/generators/template.js | 3 ++- src/generators/view.js | 12 +++++++----- src/util/fs.js | 2 +- src/util/message.js | 3 +++ 9 files changed, 61 insertions(+), 44 deletions(-) diff --git a/src/commands/generate.js b/src/commands/generate.js index 5b30751..f479602 100644 --- a/src/commands/generate.js +++ b/src/commands/generate.js @@ -1,16 +1,19 @@ +var config = require('../util/config'); var generators = require('../generators/index'); var msg = require('../util/message'); var parseGeneratorCommand = require('../util/parseGeneratorCommand'); -module.exports = function() { - var env = parseGeneratorCommand([].slice.call(arguments, 0)); - if (!env.resourceName) { - msg.notify("Please provide a resource name. See 'ember generate --help'"); - } else { - for (var generator in generators) { - if (env[generator]) { - generators[generator](env.resourceName, env); - } +module.exports = function () { + var env = parseGeneratorCommand([].slice.call(arguments, 0)); + if (!env.resourceName) { + msg.notify("Please provide a resource name. See 'ember generate --help'"); + } else { + if (config().silent) msg.silentMode(); + + for (var generator in generators) { + if (env[generator]) { + generators[generator](env.resourceName, env); + } + } } - } }; diff --git a/src/generators/component.js b/src/generators/component.js index e01e6ee..ee349d8 100644 --- a/src/generators/component.js +++ b/src/generators/component.js @@ -1,16 +1,18 @@ +var config = require('../util/config'); var fs = require('../util/fs'); var inflector = require('../util/inflector'); var msg = require('../util/message'); -module.exports = function(resource) { - var resourceName = inflector.dasherize(resource); - if (resourceName.indexOf('-') < 0) { - msg.error("Ember components must have at least one dash (-), ie:\n ember generate -p em-widget"); - } - resourceName = inflector.underscore(resource) + '_component'; - var templateName = 'components/' + inflector.dasherize(resource); - fs.writeGenerator('component', resourceName, { - objectName: inflector.objectify(resourceName), - }); - fs.writeComponentTemplate(templateName); +module.exports = function (resource) { + var resourceName = inflector.dasherize(resource); + if (resourceName.indexOf('-') < 0) { + msg.error("Ember components must have at least one dash (-), ie:\n ember generate -p em-widget"); + } + resourceName = inflector.underscore(resource) + '_component'; + var templateName = 'components/' + inflector.dasherize(resource); + fs.writeGenerator('component', resourceName, { + objectName: inflector.objectify(resourceName), + silent: config().silent + }); + fs.writeComponentTemplate(templateName,{silent: config().silent}); }; diff --git a/src/generators/mixin.js b/src/generators/mixin.js index 84d2525..5423eb1 100644 --- a/src/generators/mixin.js +++ b/src/generators/mixin.js @@ -1,11 +1,13 @@ +var config = require('../util/config'); var fs = require('../util/fs'); var inflector = require('../util/inflector'); var msg = require('../util/message'); -module.exports = function(resource) { - var resourceName = inflector.underscore(inflector.singularize(resource)); - fs.writeGenerator('mixin', resourceName, { - objectName: inflector.objectify(resourceName) - }); +module.exports = function (resource) { + var resourceName = inflector.underscore(inflector.singularize(resource)); + fs.writeGenerator('mixin', resourceName, { + objectName: inflector.objectify(resourceName), + silent: config().silent + }); }; diff --git a/src/generators/model.js b/src/generators/model.js index 34e5ebd..c531f3b 100644 --- a/src/generators/model.js +++ b/src/generators/model.js @@ -1,11 +1,13 @@ +var config = require('../util/config'); var fs = require('../util/fs'); var inflector = require('../util/inflector'); -module.exports = function(resource, env) { - var resourceName = inflector.underscore(inflector.singularize(resource)); - fs.writeGenerator('model', resourceName, { - fields: env.fields, - objectName: inflector.objectify(resourceName) - }); +module.exports = function (resource, env) { + var resourceName = inflector.underscore(inflector.singularize(resource)); + fs.writeGenerator('model', resourceName, { + fields: env.fields, + objectName: inflector.objectify(resourceName), + silent: config().silent + }); }; diff --git a/src/generators/route.js b/src/generators/route.js index e43f330..56c3aac 100644 --- a/src/generators/route.js +++ b/src/generators/route.js @@ -1,10 +1,12 @@ +var config = require('../util/config'); var fs = require('../util/fs'); var inflector = require('../util/inflector'); -module.exports = function(resource) { - var resourceName = inflector.underscore(resource) + '_route'; - fs.writeGenerator('route', resourceName, { - objectName: inflector.objectify(resourceName) - }); +module.exports = function (resource) { + var resourceName = inflector.underscore(resource) + '_route'; + fs.writeGenerator('route', resourceName, { + objectName: inflector.objectify(resourceName), + silent: config().silent + }); }; diff --git a/src/generators/template.js b/src/generators/template.js index 1239406..8d70540 100644 --- a/src/generators/template.js +++ b/src/generators/template.js @@ -1,8 +1,9 @@ +var config = require('../util/config'); var fs = require('../util/fs'); var inflector = require('../util/inflector'); module.exports = function(resource) { var resourceName = inflector.underscore(resource); - fs.writeGenerator('template', resourceName, {name: resource}); + fs.writeGenerator('template', resourceName, {name: resource, silent: config().silent}); }; diff --git a/src/generators/view.js b/src/generators/view.js index 9cd8528..c92591c 100644 --- a/src/generators/view.js +++ b/src/generators/view.js @@ -1,10 +1,12 @@ +var config = require('../util/config'); var fs = require('../util/fs'); var inflector = require('../util/inflector'); -module.exports = function(resource) { - var resourceName = inflector.underscore(resource) + '_view'; - fs.writeGenerator('view', resourceName, { - objectName: inflector.objectify(resourceName) - }); +module.exports = function (resource) { + var resourceName = inflector.underscore(resource) + '_view'; + fs.writeGenerator('view', resourceName, { + objectName: inflector.objectify(resourceName), + silent: config().silent + }); }; diff --git a/src/util/fs.js b/src/util/fs.js index e630f7c..eeec706 100644 --- a/src/util/fs.js +++ b/src/util/fs.js @@ -47,7 +47,7 @@ fs.writeComponentTemplate = function(resourceName, locals) { var savePath = config().jsPath+'/templates/'+templateName; var templatePath = __dirname+'/../templates/generate/component_template.hbs.hbs'; var src = fs.renderTemplate(templatePath, locals); - fs.writeFileSync(savePath, src); + fs.writeFileSync(savePath, src, locals.silent?'force':''); }; fs.renderTemplate = function(templatePath, locals) { diff --git a/src/util/message.js b/src/util/message.js index c010b9f..ee69db0 100644 --- a/src/util/message.js +++ b/src/util/message.js @@ -43,3 +43,6 @@ exports.prompt = function(question) { return prompt().toLowerCase(); }; +exports.silentMode = function() { + console.log(yellow(" WARNING:\t") + "Silent mode is enabled\n"); +}; From 292b20b1650309bc66dc54bb7bbce8f7743885ff Mon Sep 17 00:00:00 2001 From: jmorvan Date: Wed, 20 Nov 2013 02:01:30 +0100 Subject: [PATCH 5/5] Added support for forced execution. (formerly silent) --- src/commands/generate.js | 2 +- src/generators/component.js | 4 ++-- src/generators/controller.js | 4 ++-- src/generators/mixin.js | 2 +- src/generators/model.js | 2 +- src/generators/route.js | 2 +- src/generators/template.js | 2 +- src/generators/view.js | 2 +- src/util/fs.js | 4 ++-- src/util/message.js | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/commands/generate.js b/src/commands/generate.js index f479602..3ccfe6f 100644 --- a/src/commands/generate.js +++ b/src/commands/generate.js @@ -8,7 +8,7 @@ module.exports = function () { if (!env.resourceName) { msg.notify("Please provide a resource name. See 'ember generate --help'"); } else { - if (config().silent) msg.silentMode(); + if (config().force) msg.forceMode(); for (var generator in generators) { if (env[generator]) { diff --git a/src/generators/component.js b/src/generators/component.js index ee349d8..b28f296 100644 --- a/src/generators/component.js +++ b/src/generators/component.js @@ -12,7 +12,7 @@ module.exports = function (resource) { var templateName = 'components/' + inflector.dasherize(resource); fs.writeGenerator('component', resourceName, { objectName: inflector.objectify(resourceName), - silent: config().silent + force: config().force }); - fs.writeComponentTemplate(templateName,{silent: config().silent}); + fs.writeComponentTemplate(templateName,{force: config().force}); }; diff --git a/src/generators/controller.js b/src/generators/controller.js index 372be51..5e47bc0 100644 --- a/src/generators/controller.js +++ b/src/generators/controller.js @@ -7,8 +7,8 @@ module.exports = function(resource) { var resourceName = inflector.underscore(resource)+'_controller'; fs.writeGenerator('controller', resourceName, { objectName: inflector.objectify(resourceName), - controllerType: config().silent?'':promptControllerType(), - silent: config().silent + controllerType: config().force?'':promptControllerType(), + force: config().force }); }; diff --git a/src/generators/mixin.js b/src/generators/mixin.js index 5423eb1..511db77 100644 --- a/src/generators/mixin.js +++ b/src/generators/mixin.js @@ -7,7 +7,7 @@ module.exports = function (resource) { var resourceName = inflector.underscore(inflector.singularize(resource)); fs.writeGenerator('mixin', resourceName, { objectName: inflector.objectify(resourceName), - silent: config().silent + force: config().force }); }; diff --git a/src/generators/model.js b/src/generators/model.js index c531f3b..327d531 100644 --- a/src/generators/model.js +++ b/src/generators/model.js @@ -7,7 +7,7 @@ module.exports = function (resource, env) { fs.writeGenerator('model', resourceName, { fields: env.fields, objectName: inflector.objectify(resourceName), - silent: config().silent + force: config().force }); }; diff --git a/src/generators/route.js b/src/generators/route.js index 56c3aac..9a8c52e 100644 --- a/src/generators/route.js +++ b/src/generators/route.js @@ -6,7 +6,7 @@ module.exports = function (resource) { var resourceName = inflector.underscore(resource) + '_route'; fs.writeGenerator('route', resourceName, { objectName: inflector.objectify(resourceName), - silent: config().silent + force: config().force }); }; diff --git a/src/generators/template.js b/src/generators/template.js index 8d70540..b4ce794 100644 --- a/src/generators/template.js +++ b/src/generators/template.js @@ -4,6 +4,6 @@ var inflector = require('../util/inflector'); module.exports = function(resource) { var resourceName = inflector.underscore(resource); - fs.writeGenerator('template', resourceName, {name: resource, silent: config().silent}); + fs.writeGenerator('template', resourceName, {name: resource, force: config().force}); }; diff --git a/src/generators/view.js b/src/generators/view.js index c92591c..5198d16 100644 --- a/src/generators/view.js +++ b/src/generators/view.js @@ -6,7 +6,7 @@ module.exports = function (resource) { var resourceName = inflector.underscore(resource) + '_view'; fs.writeGenerator('view', resourceName, { objectName: inflector.objectify(resourceName), - silent: config().silent + force: config().force }); }; diff --git a/src/util/fs.js b/src/util/fs.js index eeec706..5d182c0 100644 --- a/src/util/fs.js +++ b/src/util/fs.js @@ -39,7 +39,7 @@ fs.writeGenerator = function(generatorType, resourceName, locals) { var ext = (generatorType == 'template') ? '.hbs' : '.js'; var pluralType = inflector.pluralize(generatorType); var savePath = config().jsPath+'/'+pluralType+'/'+resourceName+ext; - fs.writeTemplate('generate', generatorType+ext, locals, savePath,locals.silent?'force':''); + fs.writeTemplate('generate', generatorType+ext, locals, savePath,locals.force?'force':''); }; fs.writeComponentTemplate = function(resourceName, locals) { @@ -47,7 +47,7 @@ fs.writeComponentTemplate = function(resourceName, locals) { var savePath = config().jsPath+'/templates/'+templateName; var templatePath = __dirname+'/../templates/generate/component_template.hbs.hbs'; var src = fs.renderTemplate(templatePath, locals); - fs.writeFileSync(savePath, src, locals.silent?'force':''); + fs.writeFileSync(savePath, src, locals.force?'force':''); }; fs.renderTemplate = function(templatePath, locals) { diff --git a/src/util/message.js b/src/util/message.js index ee69db0..128e214 100644 --- a/src/util/message.js +++ b/src/util/message.js @@ -43,6 +43,6 @@ exports.prompt = function(question) { return prompt().toLowerCase(); }; -exports.silentMode = function() { +exports.forceMode = function() { console.log(yellow(" WARNING:\t") + "Silent mode is enabled\n"); };