@@ -9,6 +9,14 @@ var _puppeteer = require('puppeteer');
99
1010var _puppeteer2 = _interopRequireDefault ( _puppeteer ) ;
1111
12+ var _path = require ( 'path' ) ;
13+
14+ var _path2 = _interopRequireDefault ( _path ) ;
15+
16+ var _yargs = require ( 'yargs' ) ;
17+
18+ var _yargs2 = _interopRequireDefault ( _yargs ) ;
19+
1220var _get_puppeteer_config = require ( './get_puppeteer_config' ) ;
1321
1422var _get_puppeteer_config2 = _interopRequireDefault ( _get_puppeteer_config ) ;
@@ -19,14 +27,37 @@ const PATH = './node_modules/jest-puppeteer/';
1927const PUPPETEER_ENVIRONMENT = PATH + 'puppeteer_environment.js' ;
2028const RESULT_PROCESSOR = PATH + 'result_processor.js' ;
2129
30+ function cleanArgv ( argv ) {
31+ const clean = argv . slice ( 0 ) ;
32+ argv . forEach ( ( arg , index ) => {
33+ if ( arg . indexOf ( '--config=' ) === 0 || arg . indexOf ( '-c=' ) === 0 ) {
34+ clean . splice ( index , 1 ) ;
35+ } else if ( arg . indexOf ( '--config' ) === 0 || arg . indexOf ( '-c' ) === 0 ) {
36+ clean . splice ( index , 2 ) ;
37+ }
38+ } ) ;
39+ return clean ;
40+ }
41+
2242console . log ( _chalk2 . default . green ( 'Setup Puppeteer Environment.' ) ) ;
2343_puppeteer2 . default . launch ( ( 0 , _get_puppeteer_config2 . default ) ( ) ) . then ( browser => {
2444 global . __BROWSER__ = browser ;
25- process . argv = process . argv . concat ( [ `--env=${ PUPPETEER_ENVIRONMENT } ` , '--config=' + JSON . stringify ( {
45+
46+ const args = ( 0 , _yargs2 . default ) ( process . argv . slice ( 2 ) ) . options ( {
47+ config : {
48+ alias : 'c' ,
49+ type : 'string'
50+ }
51+ } ) . argv ;
52+ const config = args . config ? require ( _path2 . default . resolve ( args . config ) ) : { } ;
53+ const cleanedArgv = cleanArgv ( process . argv ) ;
54+
55+ process . argv = cleanedArgv . concat ( [ `--env=${ PUPPETEER_ENVIRONMENT } ` , '--config=' + JSON . stringify ( Object . assign ( { } , config , {
2656 globals : {
2757 browserWSEndpoint : browser . wsEndpoint ( )
2858 } ,
2959 testResultsProcessor : RESULT_PROCESSOR
30- } ) ] ) ;
60+ } ) ) ] ) ;
61+
3162 return require ( 'jest-cli/bin/jest.js' ) ;
3263} ) ;
0 commit comments