Skip to content

Commit

Permalink
fix(generators): fix capitalization of first letter
Browse files Browse the repository at this point in the history
Try to stick with `lodash` string functions to the extend possible.

Both `lodash` and `unsercore.string` methods are being used. Both have a
`capitalize` method, but these do not do the same thing and so its use
is confusing.

`lodash.upperFirst` is like `u.s.capitalize` (without arguments). The
lodash names more accurately describe their purpose, so prefer those if
there is a choice. Ditto for `lowerFirst` vs. `decapitalize`.
  • Loading branch information
cueedee committed Dec 6, 2016
1 parent c1c8bc8 commit 157a42c
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 28 deletions.
6 changes: 2 additions & 4 deletions generators/api/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ var generators = require( 'yeoman-generator' )
, _ = require( 'lodash' )
;

var decapitalize = require( 'underscore.string/decapitalize' );

var ApiGenerator = generators.Base.extend(
{
constructor: function ()
Expand Down Expand Up @@ -88,7 +86,7 @@ var ApiGenerator = generators.Base.extend(
, validate: youtil.isIdentifier
, filter: function ( value )
{
return decapitalize( _.trim( value ).replace( /api$/i, '' ));
return _.lowerFirst( _.trim( value ).replace( /api$/i, '' ));
}
}
, {
Expand Down Expand Up @@ -144,7 +142,7 @@ var ApiGenerator = generators.Base.extend(
_.extend(
data
, {
className: _.capitalize( apiName ) + 'Api'
className: _.upperFirst( apiName ) + 'Api'
, fileBase: _.kebabCase( _.deburr( apiName ))

, userName: this.user.git.name()
Expand Down
9 changes: 3 additions & 6 deletions generators/app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@ var generators = require( 'yeoman-generator' )
, _ = require( 'lodash' )
;

var clean = require( 'underscore.string/clean' )
, dasherize = require( 'underscore.string/dasherize' )
, trim = require( 'underscore.string/trim' )
;
var clean = require( 'underscore.string/clean' );

// Use a different delimiter when our template itself is meant to be a template or template-like.
//
Expand Down Expand Up @@ -161,7 +158,7 @@ var AppGenerator = generators.Base.extend(
, default:
(
youtil.definedToString( this.options.packageName )
|| trim( dasherize( youtil.definedToString( this.appname )), '-' )
|| _.kebabCase( youtil.definedToString( this.appname ))
)
, validate: youtil.isNpmName
}
Expand Down Expand Up @@ -715,7 +712,7 @@ var AppGenerator = generators.Base.extend(
this.spawnCommand( 'command', [ 'compass', '-q', '-v' ], { stdio: [ 'ignore', 'pipe', 'ignore' ] } )
.on( 'exit', function ( exit )
{
version = version.trim();
version = _.trim( version );

if ( exit || !( semver.satisfies( version, '>=' + minver )) ) { error( exit ); }
done();
Expand Down
10 changes: 4 additions & 6 deletions generators/collection/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ var generators = require( 'yeoman-generator' )
, _ = require( 'lodash' )
;

var decapitalize = require( 'underscore.string/decapitalize' );

var CollectionGenerator = generators.Base.extend(
{
constructor: function ()
Expand Down Expand Up @@ -102,7 +100,7 @@ var CollectionGenerator = generators.Base.extend(
, validate: youtil.isIdentifier
, filter: function ( value )
{
return decapitalize( _.trim( value ).replace( /collection$/i, '' ));
return _.lowerFirst( _.trim( value ).replace( /collection$/i, '' ));
}
}
, {
Expand Down Expand Up @@ -136,7 +134,7 @@ var CollectionGenerator = generators.Base.extend(
, validate: youtil.isIdentifier
, filter: function ( value )
{
return decapitalize( _.trim( value ).replace( /model$/i, '' ));
return _.lowerFirst( _.trim( value ).replace( /model$/i, '' ));
}
}
, {
Expand Down Expand Up @@ -175,10 +173,10 @@ var CollectionGenerator = generators.Base.extend(
_.extend(
data
, {
className: _.capitalize( collectionName ) + 'Collection'
className: _.upperFirst( collectionName ) + 'Collection'
, fileBase: _.kebabCase( _.deburr( collectionName ))

, modelClassName: _.capitalize( modelName ) + 'Model'
, modelClassName: _.upperFirst( modelName ) + 'Model'
, modelFileName: _.kebabCase( _.deburr( modelName )) + '.coffee'

, userName: this.user.git.name()
Expand Down
8 changes: 3 additions & 5 deletions generators/model/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ var generators = require( 'yeoman-generator' )
, _ = require( 'lodash' )
;

var decapitalize = require( 'underscore.string/decapitalize' );

var ModelGenerator = generators.Base.extend(
{
constructor: function ()
Expand Down Expand Up @@ -100,7 +98,7 @@ var ModelGenerator = generators.Base.extend(
if ( !( match ) ) { return; }

var className = match[ 1 ]
, name = decapitalize( className.replace( /Api$/, '' ))
, name = _.lowerFirst( className.replace( /Api$/, '' ))
;

apis[ name ] =
Expand Down Expand Up @@ -135,7 +133,7 @@ var ModelGenerator = generators.Base.extend(
, validate: youtil.isIdentifier
, filter: function ( value )
{
return decapitalize( _.trim( value ).replace( /model$/i, '' ));
return _.lowerFirst( _.trim( value ).replace( /model$/i, '' ));
}
}
, {
Expand Down Expand Up @@ -220,7 +218,7 @@ var ModelGenerator = generators.Base.extend(
_.extend(
data
, {
className: _.capitalize( modelName ) + 'Model'
className: _.upperFirst( modelName ) + 'Model'
, fileBase: _.kebabCase( _.deburr( modelName ))

, userName: this.user.git.name()
Expand Down
6 changes: 2 additions & 4 deletions generators/view/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ var generators = require( 'yeoman-generator' )
, _ = require( 'lodash' )
;

var decapitalize = require( 'underscore.string/decapitalize' );

var ViewGenerator = generators.Base.extend(
{
constructor: function ()
Expand Down Expand Up @@ -86,7 +84,7 @@ var ViewGenerator = generators.Base.extend(
, validate: youtil.isIdentifier
, filter: function ( value )
{
return decapitalize( _.trim( value ).replace( /view$/i, '' ));
return _.lowerFirst( _.trim( value ).replace( /view$/i, '' ));
}
}
, {
Expand Down Expand Up @@ -131,7 +129,7 @@ var ViewGenerator = generators.Base.extend(
_.extend(
data
, {
className: _.capitalize( viewName ) + 'View'
className: _.upperFirst( viewName ) + 'View'
, cssClassName: _.kebabCase( viewName ) + '-view'
, fileBase: _.kebabCase( _.deburr( viewName ))

Expand Down
6 changes: 3 additions & 3 deletions lib/youtil.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

var capitalize = require( 'underscore.string/capitalize' )
, clean = require( 'underscore.string/clean' )
var _ = require( 'lodash' )
, clean = require( 'underscore.string/clean' )
;

module.exports =
Expand Down Expand Up @@ -45,7 +45,7 @@ module.exports =

, sentencify: function ( value )
{
return capitalize( clean( value )).replace( /([^!?.,:;])$/, '$1.' );
return _.upperFirst( clean( value )).replace( /([^!?.,:;])$/, '$1.' );
}
}
;

0 comments on commit 157a42c

Please sign in to comment.