Skip to content

Commit d9fd51e

Browse files
committed
add search directory support for bsb, so that user can run bsb in any subdirectory of the project
1 parent 98b1935 commit d9fd51e

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

bin/bsb

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,25 @@
22
"use strict";
33

44
var child_process = require('child_process')
5+
var fs = require('fs')
6+
var bsconfig = 'bsconfig.json'
7+
var bsb_exe = __filename + ".exe"
8+
var delegate_args = process.argv.slice(2)
59

6-
child_process.execFileSync(__filename + ".exe", process.argv.slice(2), {stdio:[0,1,2]})
10+
if(fs.existsSync(bsconfig)){
11+
child_process.execFileSync(bsb_exe, delegate_args, {stdio:'inherit'})
12+
} else {
13+
var path = require('path')
14+
var last_dir = process.cwd()
15+
var search_dir = last_dir
16+
do{
17+
last_dir = search_dir
18+
search_dir = path.dirname(last_dir)
19+
}while(!fs.existsSync(path.join(search_dir,bsconfig)) && (search_dir.length !== search_dir.length))
20+
if(search_dir.length === last_dir.length){
21+
console.error('bsconfig.json not found in current directory and its parent')
22+
process.exit(2)
23+
}else{
24+
child_process.execFileSync(bsb_exe, delegate_args, {stdio:'inherit', cwd: search_dir} )
25+
}
26+
}

0 commit comments

Comments
 (0)