11'use strict' ;
2- var path = require ( 'path' ) ;
3- var camelCase = require ( 'lodash.camelcase' ) ;
4- var kebabCase = require ( 'lodash.kebabcase' ) ;
5- var snakeCase = require ( 'lodash.snakecase' ) ;
6- var upperfirst = require ( 'lodash.upperfirst' ) ;
2+ const path = require ( 'path' ) ;
3+ const camelCase = require ( 'lodash.camelcase' ) ;
4+ const kebabCase = require ( 'lodash.kebabcase' ) ;
5+ const snakeCase = require ( 'lodash.snakecase' ) ;
6+ const upperfirst = require ( 'lodash.upperfirst' ) ;
77
8- var pascalCase = function ( str ) {
9- return upperfirst ( camelCase ( str ) ) ;
10- } ;
11-
12- var numberRegex = / ( \d + ) / ;
13- var PLACEHOLDER = '\uFFFF\uFFFF\uFFFF' ;
14- var PLACEHOLDER_REGEX = new RegExp ( PLACEHOLDER , 'i' ) ;
8+ const pascalCase = str => upperfirst ( camelCase ( str ) ) ;
9+ const numberRegex = / ( \d + ) / ;
10+ const PLACEHOLDER = '\uFFFF\uFFFF\uFFFF' ;
11+ const PLACEHOLDER_REGEX = new RegExp ( PLACEHOLDER , 'i' ) ;
1512
1613function ignoreNumbers ( fn ) {
17- return function ( string ) {
18- var stack = [ ] ;
19- var execResult = numberRegex . exec ( string ) ;
14+ return str => {
15+ const stack = [ ] ;
16+ let execResult = numberRegex . exec ( str ) ;
17+
2018 while ( execResult ) {
2119 stack . push ( execResult [ 0 ] ) ;
22- string = string . replace ( execResult [ 0 ] , PLACEHOLDER ) ;
23- execResult = numberRegex . exec ( string ) ;
20+ str = str . replace ( execResult [ 0 ] , PLACEHOLDER ) ;
21+ execResult = numberRegex . exec ( str ) ;
2422 }
2523
26- var withCase = fn ( string ) ;
24+ let withCase = fn ( str ) ;
25+
2726 while ( stack . length > 0 ) {
2827 withCase = withCase . replace ( PLACEHOLDER_REGEX , stack . shift ( ) ) ;
2928 }
@@ -32,7 +31,7 @@ function ignoreNumbers(fn) {
3231 } ;
3332}
3433
35- var cases = {
34+ const cases = {
3635 camelCase : {
3736 fn : camelCase ,
3837 name : 'camel case'
@@ -58,35 +57,35 @@ function fixFilename(chosenCase, filename) {
5857 . join ( '.' ) ;
5958}
6059
61- var leadingUnserscoresRegex = / ^ ( _ + ) ( .* ) $ / ;
60+ const leadingUnserscoresRegex = / ^ ( _ + ) ( .* ) $ / ;
6261function splitFilename ( filename ) {
63- var res = leadingUnserscoresRegex . exec ( filename ) ;
62+ const res = leadingUnserscoresRegex . exec ( filename ) ;
6463 return {
6564 leading : ( res && res [ 1 ] ) || '' ,
6665 trailing : ( res && res [ 2 ] ) || filename
6766 } ;
6867}
6968
70- module . exports = function ( context ) {
71- var chosenCase = cases [ context . options [ 0 ] . case || 'camelCase' ] ;
72- var filenameWithExt = context . getFilename ( ) ;
69+ module . exports = context => {
70+ const chosenCase = cases [ context . options [ 0 ] . case || 'camelCase' ] ;
71+ const filenameWithExt = context . getFilename ( ) ;
7372
7473 if ( filenameWithExt === '<text>' ) {
7574 return { } ;
7675 }
7776
7877 return {
79- Program : function ( node ) {
80- var extension = path . extname ( filenameWithExt ) ;
81- var filename = path . basename ( filenameWithExt , extension ) ;
82- var splitName = splitFilename ( filename ) ;
83- var fixedFilename = fixFilename ( chosenCase , splitName . trailing ) ;
78+ Program : node => {
79+ const extension = path . extname ( filenameWithExt ) ;
80+ const filename = path . basename ( filenameWithExt , extension ) ;
81+ const splitName = splitFilename ( filename ) ;
82+ const fixedFilename = fixFilename ( chosenCase , splitName . trailing ) ;
83+ const renameFilename = splitName . leading + fixedFilename + extension ;
8484
8585 if ( fixedFilename !== splitName . trailing ) {
8686 context . report ( {
87- node : node ,
88- message : 'Filename is not in ' + chosenCase . name +
89- '. Rename it to `' + splitName . leading + fixedFilename + extension + '`.'
87+ node,
88+ message : `Filename is not in ${ chosenCase . name } . Rename it to \`${ renameFilename } \`.`
9089 } ) ;
9190 }
9291 }
0 commit comments