@@ -116,6 +116,26 @@ var fs = require('fs'),
116116 // no shorthand for "config"
117117 } ) ;
118118
119+ function verifyExists ( fullPath ) {
120+ return fs . existsSync ( fullPath ) ? fullPath : null ;
121+ }
122+
123+ function findRecursive ( dir , fileName ) {
124+ var fullPath = path . join ( dir , fileName ) ;
125+ var nextDir = path . dirname ( dir ) ;
126+ var result = verifyExists ( fullPath ) ;
127+
128+ if ( ! result && ( nextDir !== dir ) ) {
129+ result = findRecursive ( nextDir , fileName ) ;
130+ }
131+
132+ return result ;
133+ }
134+
135+ function getUserHome ( ) {
136+ return process . env . HOME || process . env . USERPROFILE ;
137+ }
138+
119139// var cli = require('js-beautify/cli'); cli.interpret();
120140var interpret = exports . interpret = function ( argv , slice ) {
121141 var parsed = nopt ( knownOpts , shortHands , argv , slice ) ;
@@ -132,8 +152,8 @@ var interpret = exports.interpret = function(argv, slice) {
132152 parsed ,
133153 cleanOptions ( cc . env ( 'jsbeautify_' ) , knownOpts ) ,
134154 parsed . config ,
135- cc . find ( '.jsbeautifyrc' ) ,
136- cc . find ( path . join ( process . env . HOME || "" , ".jsbeautifyrc" ) ) ,
155+ findRecursive ( process . cwd ( ) , '.jsbeautifyrc' ) ,
156+ verifyExists ( path . join ( getUserHome ( ) || "" , ".jsbeautifyrc" ) ) ,
137157 __dirname + '/../config/defaults.json'
138158 ) . snapshot ;
139159
0 commit comments