@@ -3,23 +3,23 @@ const path = require('path');
33const tcpPortUsed = require ( 'tcp-port-used' ) ;
44function getPortFromArgs ( args ) {
55 let port = 9515 ;
6- if ( ! args ) {
6+ if ( ! args )
77 return port ;
8- }
98 const portRegexp = / - - p o r t = ( \d * ) / ;
109 const portArg = args . find ( function ( arg ) {
1110 return portRegexp . test ( arg ) ;
1211 } ) ;
13- if ( portArg ) {
12+ if ( portArg )
1413 port = parseInt ( portRegexp . exec ( portArg ) [ 1 ] ) ;
15- }
1614 return port ;
1715}
1816process . env . PATH = path . join ( __dirname , 'chromedriver' ) + path . delimiter + process . env . PATH ;
19- exports . path = process . platform === 'win32' ? path . join ( __dirname , 'chromedriver' , 'chromedriver.exe' ) : path . join ( __dirname , 'chromedriver' , 'chromedriver' ) ;
20- exports . version = '119.0.6045.105' ;
21- exports . start = function ( args , returnPromise ) {
22- let command = exports . path ;
17+ const crpath = process . platform === 'win32' ? path . join ( __dirname , 'chromedriver' , 'chromedriver.exe' ) : path . join ( __dirname , 'chromedriver' , 'chromedriver' ) ;
18+ const version = '119.0.6045.105' ;
19+ let defaultInstance = null ;
20+
21+ function start ( args , returnPromise ) {
22+ let command = crpath ;
2323 if ( ! fs . existsSync ( command ) ) {
2424 console . log ( 'Could not find chromedriver in default path: ' , command ) ;
2525 console . log ( 'Falling back to use global chromedriver bin' ) ;
@@ -28,20 +28,30 @@ exports.start = function (args, returnPromise) {
2828 const cp = require ( 'child_process' ) . spawn ( command , args ) ;
2929 cp . stdout . pipe ( process . stdout ) ;
3030 cp . stderr . pipe ( process . stderr ) ;
31- exports . defaultInstance = cp ;
32- if ( ! returnPromise ) {
31+ defaultInstance = cp ;
32+ if ( ! returnPromise )
3333 return cp ;
34- }
3534 const port = getPortFromArgs ( args ) ;
3635 const pollInterval = 100 ;
3736 const timeout = 10000 ;
3837 return tcpPortUsed . waitUntilUsed ( port , pollInterval , timeout )
3938 . then ( function ( ) {
4039 return cp ;
4140 } ) ;
42- } ;
43- exports . stop = function ( ) {
44- if ( exports . defaultInstance != null ) {
45- exports . defaultInstance . kill ( ) ;
41+ }
42+
43+ function stop ( ) {
44+ if ( defaultInstance != null )
45+ defaultInstance . kill ( ) ;
46+ defaultInstance = null ;
47+ }
48+
49+ module . exports = {
50+ path : crpath ,
51+ version,
52+ start,
53+ stop,
54+ get defaultInstance ( ) {
55+ return defaultInstance ;
4656 }
4757} ;
0 commit comments