@@ -723,6 +723,8 @@ exports.getOSDetailsFromSystem = async (product) => {
723
723
} ;
724
724
}
725
725
726
+ let WORKSPACE_MODULE_PATH ;
727
+
726
728
exports . requireModule = ( module ) => {
727
729
const modulePath = exports . resolveModule ( module , _package ) ;
728
730
if ( modulePath . error ) {
@@ -737,6 +739,15 @@ exports.resolveModule = (module) => {
737
739
throw new Error ( 'Invalid module name' ) ;
738
740
}
739
741
742
+ if ( WORKSPACE_MODULE_PATH == undefined ) {
743
+ try {
744
+ WORKSPACE_MODULE_PATH = execSync ( 'npm ls' ) . toString ( ) . trim ( ) ;
745
+ WORKSPACE_MODULE_PATH = WORKSPACE_MODULE_PATH . split ( '\n' ) [ 0 ] . split ( ' ' ) [ 1 ] ;
746
+ } catch ( e ) {
747
+ WORKSPACE_MODULE_PATH = null ;
748
+ logger . debug ( 'Could not locate npm module path with error ' , e ) ;
749
+ }
750
+ }
740
751
741
752
/*
742
753
Modules will be resolved in the following order,
@@ -750,12 +761,7 @@ exports.resolveModule = (module) => {
750
761
} catch ( _ ) {
751
762
/* Find from current working directory */
752
763
exports . debug ( `Getting ${ module } from ${ process . cwd ( ) } ` ) ;
753
- let local_path = '' ;
754
- if ( process . env [ 'browserStackCwd' ] ) {
755
- local_path = path . join ( process . env [ 'browserStackCwd' ] , 'node_modules' , module ) ;
756
- } else {
757
- local_path = path . join ( process . cwd ( ) , 'node_modules' , module ) ;
758
- }
764
+ let local_path = path . join ( process . cwd ( ) , 'node_modules' , module ) ;
759
765
if ( ! fs . existsSync ( local_path ) ) {
760
766
exports . debug ( `${ module } doesn't exist at ${ process . cwd ( ) } ` ) ;
761
767
0 commit comments