Skip to content

Commit

Permalink
refactor(core): core deps, fix deprecations
Browse files Browse the repository at this point in the history
And remove method calls in templates.
  • Loading branch information
balthazar committed Apr 19, 2015
1 parent e877a17 commit b9661b4
Show file tree
Hide file tree
Showing 17 changed files with 71 additions and 41 deletions.
6 changes: 3 additions & 3 deletions anim/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
'use strict';

var yeoman = require('yeoman-generator');
var _ = require('underscore.string');

var BangularGenerator = yeoman.generators.NamedBase.extend({

initializing: function () {
this.camelName = this._.camelize(this.name, true);
// TODO use _.decapitalize instead of this trick when yeoman-generator will update its undercore.string dependency...
this.dashName = this._.dasherize(this.name.substr(0, 1).toLowerCase() + this.name.substr(1));
this.camelName = _.camelize(this.name, true);
this.dashName = _.dasherize(_.decapitalize(this.name));
this.events = {};
},

Expand Down
10 changes: 6 additions & 4 deletions api/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,22 @@

var chalk = require('chalk');
var yeoman = require('yeoman-generator');
var _ = require('underscore.string');

var utils = require('../util');

var BangularGenerator = yeoman.generators.NamedBase.extend({

prompting: function () {
var done = this.async();

this.instanceName = this._.camelize(this.name);
this.instancesName = this._.camelize(this.name) + 's';
this.instanceName = _.camelize(this.name);
this.instancesName = _.camelize(this.name) + 's';

this.fileName = this._.dasherize(this.name.substr(0, 1).toLowerCase() + this.name.substr(1));
this.fileName = _.decapitalize(_.dasherize(this.name));
this.routeName = this.fileName + 's';

this.objectName = this.name.substr(0, 1).toUpperCase() + this._.camelize(this.name).substr(1);
this.objectName = _.capitalize(_.camelize(this.name));
this.objectsName = this.objectName + 's';

var prompts = [{
Expand Down
10 changes: 5 additions & 5 deletions api/templates/mongo/controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ function handleError (res, err) {
* @param res
*/
exports.index = function (req, res) {
<%= _.capitalize(objectName) %>.find(function (err, <%= instancesName %>) {
<%= objectName %>.find(function (err, <%= instancesName %>) {
if (err) { return handleError(res, err); }
return res.status(200).json(<%= instancesName %>);
});
Expand All @@ -27,7 +27,7 @@ exports.index = function (req, res) {
* @param res
*/
exports.show = function (req, res) {
<%= _.capitalize(objectName) %>.findById(req.params.id, function (err, <%= instanceName %>) {
<%= objectName %>.findById(req.params.id, function (err, <%= instanceName %>) {
if (err) { return handleError(res, err); }
if (!<%= instanceName %>) { return res.status(404).end(); }
return res.status(200).json(<%= instanceName %>);
Expand All @@ -41,7 +41,7 @@ exports.show = function (req, res) {
* @param res
*/
exports.create = function (req, res) {
<%= _.capitalize(objectName) %>.create(req.body, function (err, <%= instanceName %>) {
<%= objectName %>.create(req.body, function (err, <%= instanceName %>) {
if (err) { return handleError(res, err); }
return res.status(201).json(<%= instanceName %>);
});
Expand All @@ -55,7 +55,7 @@ exports.create = function (req, res) {
*/
exports.update = function (req, res) {
if (req.body._id) { delete req.body._id; }
<%= _.capitalize(objectName) %>.findById(req.params.id, function (err, <%= instanceName %>) {
<%= objectName %>.findById(req.params.id, function (err, <%= instanceName %>) {
if (err) { return handleError(res, err); }
if (!<%= instanceName %>) { return res.status(404).end(); }
var updated = _.merge(<%= instanceName %>, req.body);
Expand All @@ -73,7 +73,7 @@ exports.update = function (req, res) {
* @param res
*/
exports.destroy = function (req, res) {
<%= _.capitalize(objectName) %>.findById(req.params.id, function (err, <%= instanceName %>) {
<%= objectName %>.findById(req.params.id, function (err, <%= instanceName %>) {
if (err) { return handleError(res, err); }
if (!<%= instanceName %>) { return res.status(404).end(); }
<%= instanceName %>.remove(function (err) {
Expand Down
12 changes: 8 additions & 4 deletions app/index.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
'use strict';

var utils = require('../util');
var path = require('path');
var mkdir = require('mkdirp');
var yeoman = require('yeoman-generator');
var _ = require('underscore.string');

var utils = require('../util');
var bangAscii = require('./ascii');

var BangularGenerator = yeoman.generators.Base.extend({

initializing: {
getVars: function () {
this.appname = this.appname || path.basename(process.cwd());
this.slugName = _.slugify(this.appname);
this.filters = {};
this.pkg = require('../package.json');
},
Expand Down Expand Up @@ -126,7 +130,7 @@ var BangularGenerator = yeoman.generators.Base.extend({
checked: false
}]
}], function (props) {
self.appname = self._.camelize(self._.slugify(self._.humanize(props.name)));
self.appname = _.camelize(_.slugify(_.humanize(props.name)));
self.filters.backend = props.backend;
self.filters.reload = props.reload;

Expand Down Expand Up @@ -189,8 +193,8 @@ var BangularGenerator = yeoman.generators.Base.extend({
this.sourceRoot(path.join(__dirname, './templates'));
utils.processDirectory(this, '.', '.');

this.mkdir('client/assets/fonts');
this.mkdir('client/assets/images');
mkdir.sync('client/assets/fonts');
mkdir.sync('client/assets/images');
},

end: function () {
Expand Down
2 changes: 1 addition & 1 deletion app/templates/server/config/environment/development.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

module.exports = {<% if (filters.backend === 'mongo') { %>
mongo: {
uri: 'mongodb://localhost/<%= _.slugify(appname) %>-dev'
uri: 'mongodb://localhost/<%= slugName %>-dev'
}<% } %>
};
2 changes: 1 addition & 1 deletion app/templates/server/config/environment/production.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
module.exports = {
ip: process.env.IP || undefined<% if (filters.backend === 'mongo') { %>,
mongo: {
uri: 'mongodb://localhost/<%= _.slugify(appname) %>'
uri: 'mongodb://localhost/<%= slugName %>'
}<% } %>
};
2 changes: 1 addition & 1 deletion app/templates/server/config/environment/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

module.exports = {<% if (filters.backend === 'mongo') { %>
mongo: {
uri: 'mongodb://localhost/<%= _.slugify(appname) %>-test'
uri: 'mongodb://localhost/<%= slugName %>-test'
}<% } %>
};
6 changes: 4 additions & 2 deletions directive/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

var yeoman = require('yeoman-generator');
var chalk = require('chalk');
var _ = require('underscore.string');

var utils = require('../util');

var BangularGenerator = yeoman.generators.NamedBase.extend({

initializing: function () {
this.camelName = this._.camelize(this.name);
this.dashName = this._.dasherize(this.name);
this.camelName = _.camelize(this.name);
this.dashName = _.dasherize(this.name);
},

prompting: function () {
Expand Down
6 changes: 3 additions & 3 deletions factory/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
'use strict';

var yeoman = require('yeoman-generator');
var _ = require('underscore.string');

var BangularGenerator = yeoman.generators.NamedBase.extend({

initializing: function () {
this.camelName = this._.capitalize(this._.camelize(this.name, true));
// TODO use _.decapitalize instead of this trick when yeoman-generator will update its undercore.string dependency...
this.dashName = this._.dasherize(this.name.substr(0, 1).toLowerCase() + this.name.substr(1));
this.camelName = _.capitalize(_.camelize(this.name, true));
this.dashName = _.dasherize(_.decapitalize(this.name));
},

writing: function () {
Expand Down
5 changes: 3 additions & 2 deletions filter/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
'use strict';

var yeoman = require('yeoman-generator');
var _ = require('underscore.string');

var BangularGenerator = yeoman.generators.NamedBase.extend({

initializing: function () {
this.dashName = this._.dasherize(this.name);
this.camelName = this._.camelize(this.name);
this.dashName = _.dasherize(this.name);
this.camelName = _.camelize(this.name);
},

writing: function () {
Expand Down
10 changes: 8 additions & 2 deletions font/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,21 @@

var async = require('async');
var yeoman = require('yeoman-generator');
var mkdir = require('mkdirp');
var _ = require('underscore.string');

var utils = require('../util');

var BangularGenerator = yeoman.generators.NamedBase.extend({

initializing: function () {
this.name = _.slugify(this.name);
},

prompting: function () {

var done = this.async();

this.name = this._.slugify(this.name);
this.types = {};

this.prompt([{
Expand Down Expand Up @@ -50,7 +56,7 @@ var BangularGenerator = yeoman.generators.NamedBase.extend({

writing: function () {

this.mkdir('client/assets/fonts/' + this.name);
mkdir.sync('client/assets/fonts/' + this.name);

if (!utils.fileExists('client/styles/fonts.scss')) {
this.template('fonts.scss', 'client/styles/fonts.scss');
Expand Down
6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,13 @@
"dependencies": {
"async": "^0.9.0",
"chalk": "^1.0.0",
"glob": "^5.0.5",
"gulp-jshint": "^1.9.2",
"jshint-stylish": "^1.0.1",
"yeoman-generator": "^0.18.10"
"lodash": "^3.7.0",
"mkdirp": "^0.5.0",
"underscore.string": "^3.0.3",
"yeoman-generator": "^0.19.2"
},
"devDependencies": {
"conventional-changelog": "0.0.17",
Expand Down
8 changes: 5 additions & 3 deletions route/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@

var yeoman = require('yeoman-generator');
var chalk = require('chalk');
var _ = require('underscore.string');

var utils = require('../util');

var BangularGenerator = yeoman.generators.NamedBase.extend({

initializing: function () {
this.appName = this._.camelize(this.appname);
this.controllerName = this._.capitalize(this._.camelize(this.name)) + 'Ctrl';
this.dashName = this._.dasherize(this.name);
this.appName = _.camelize(this.appname);
this.controllerName = _.capitalize(_.camelize(this.name)) + 'Ctrl';
this.dashName = _.dasherize(this.name);
},

prompting: function () {
Expand Down
6 changes: 3 additions & 3 deletions service/index.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
'use strict';

var yeoman = require('yeoman-generator');
var _ = require('underscore.string');

var BangularGenerator = yeoman.generators.NamedBase.extend({

initializing: function () {
this.camelName = this._.capitalize(this._.camelize(this.name, true));
// TODO use _.decapitalize instead of this trick when yeoman-generator will update its undercore.string dependency...
this.dashName = this._.dasherize(this.name.substr(0, 1).toLowerCase() + this.name.substr(1));
this.camelName = _.capitalize(_.camelize(this.name, true));
this.dashName = _.dasherize(_.decapitalize(this.name));
},

writing: function () {
Expand Down
1 change: 1 addition & 0 deletions style/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

var chalk = require('chalk');
var yeoman = require('yeoman-generator');

var utils = require('../util');

var BangularGenerator = yeoman.generators.NamedBase.extend({
Expand Down
3 changes: 2 additions & 1 deletion test/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,8 @@ describe('Launching app generator tests', function () {
.inDir(path.join(__dirname, './mock'), function (d) {
dir = d;
})
.withPrompt({
.withOptions({ skipInstall: false })
.withPrompts({
name: 'Test',
backend: 'mongo',
reload: 'livereload',
Expand Down
17 changes: 12 additions & 5 deletions util.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
'use strict';

var path = require('path');
var os = require('os');
var fs = require('fs');
var path = require('path');
var glob = require('glob');
var chalk = require('chalk');
var _ = require('lodash');
var helpers = require('yeoman-generator').test;

function escapeRegExp (str) {
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
}

function isPathAbsolute () {
var filepath = path.join.apply(path, arguments);
return path.resolve(filepath) === filepath;
}

function filterFile (template) {
// Find matches for params
var filterMatches = template.match(/\(([^)]+)\)/g);
Expand All @@ -31,7 +38,7 @@ function templateIsUsable (self, filteredFile) {
enabledFilters.push(key);
}
}
var matchedFilters = self._.intersection(filteredFile.filters, enabledFilters);
var matchedFilters = _.intersection(filteredFile.filters, enabledFilters);
// check that all filters on file are matched
if (filteredFile.filters.length && matchedFilters.length !== filteredFile.filters.length) {
return false;
Expand All @@ -48,7 +55,7 @@ var out = {
helpers.run(path.join(__dirname, './app'))
.inDir(path.join(os.tmpdir(), './tmp'))
.withOptions(opts || { skipInstall: true })
.withPrompt(prompts)
.withPrompts(prompts)
.on('end', cb);
},
fileExists: function (path) {
Expand Down Expand Up @@ -147,8 +154,8 @@ var out = {
});
},
processDirectory: function (self, source, destination) {
var root = self.isPathAbsolute(source) ? source : path.join(self.sourceRoot(), source);
var files = self.expandFiles('**', { dot: true, cwd: root });
var root = isPathAbsolute(source) ? source : path.join(self.sourceRoot(), source);
var files = glob.sync('**', { dot: true, nodir: true, cwd: root });
var dest, src;

files.forEach(function (f) {
Expand Down

1 comment on commit b9661b4

@meriadec
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

Please sign in to comment.