@@ -12,7 +12,11 @@ var fileSet = require('file-set');
1212var Transform = require ( 'stream' ) . Transform ;
1313var cliOptions = require ( './cli-options' ) ;
1414var os = require ( 'os' ) ;
15- var tempPath = require ( 'temp-path' ) ;
15+ var getTempPath = require ( 'temp-path' ) ;
16+
17+ function tempPath ( ) {
18+ return getTempPath ( ) + 'jsdoc-parse.js' ;
19+ }
1620
1721module . exports = jsdocParse ;
1822jsdocParse . cliOptions = cliOptions . definitions ;
@@ -134,16 +138,18 @@ function getJsdocOutput(src, options, done) {
134138 var handle = cp . spawn ( 'node' , args , { stdio : [ process . stdin , outputFile , outputStderr ] } ) ;
135139 handle . on ( 'error' , done ) ;
136140 handle . on ( 'close' , function ( code ) {
141+ var stderr = fs . readFileSync ( outputStderrPath , 'utf8' ) ;
142+ var stdout = fs . readFileSync ( outputFilePath , 'utf8' ) ;
143+ if ( / n o i n p u t f i l e s / . test ( stdout ) ) code = 1 ;
144+
137145 if ( code ) {
138- var output = fs . readFileSync ( outputStderrPath , 'utf8' ) ;
139146 fs . unlinkSync ( outputFilePath ) ;
140147 fs . unlinkSync ( outputStderrPath ) ;
141- done ( new Error ( output ) ) ;
148+ done ( new Error ( stderr || stdout ) ) ;
142149 } else {
143- var output = fs . readFileSync ( outputFilePath , 'utf8' ) ;
144150 fs . unlinkSync ( outputFilePath ) ;
145151 fs . unlinkSync ( outputStderrPath ) ;
146- done ( null , output ) ;
152+ done ( null , stdout ) ;
147153 }
148154 } ) ;
149155}
0 commit comments