File tree Expand file tree Collapse file tree
vs/code/electron-browser/issue Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33 * Licensed under the MIT License. See License.txt in the project root for license information.
44 *--------------------------------------------------------------------------------------------*/
55
6+ //#region Add support for using node_modules.asar
7+ ( function ( ) {
8+ const path = require ( 'path' ) ;
9+ const Module = require ( 'module' ) ;
10+ const NODE_MODULES_PATH = path . join ( __dirname , '../node_modules' ) ;
11+ const NODE_MODULES_ASAR_PATH = NODE_MODULES_PATH + '.asar' ;
12+
13+ const originalResolveLookupPaths = Module . _resolveLookupPaths ;
14+ Module . _resolveLookupPaths = function ( request , parent ) {
15+ const result = originalResolveLookupPaths ( request , parent ) ;
16+
17+ const paths = result [ 1 ] ;
18+ for ( let i = 0 , len = paths . length ; i < len ; i ++ ) {
19+ if ( paths [ i ] === NODE_MODULES_PATH ) {
20+ paths . splice ( i , 0 , NODE_MODULES_ASAR_PATH ) ;
21+ break ;
22+ }
23+ }
24+
25+ return result ;
26+ } ;
27+ } ) ( ) ;
28+ //#endregion
29+
630require ( './bootstrap-amd' ) . bootstrap ( 'vs/code/node/cli' ) ;
Original file line number Diff line number Diff line change @@ -53,6 +53,34 @@ function main() {
5353 const args = parseURLQueryArgs ( ) ;
5454 const configuration = JSON . parse ( args [ 'config' ] || '{}' ) || { } ;
5555
56+ //#region Add support for using node_modules.asar
57+ ( function ( ) {
58+ const path = require ( 'path' ) ;
59+ const Module = require ( 'module' ) ;
60+ let NODE_MODULES_PATH = path . join ( configuration . appRoot , 'node_modules' ) ;
61+ if ( / [ a - z ] \: / . test ( NODE_MODULES_PATH ) ) {
62+ // Make drive letter uppercase
63+ NODE_MODULES_PATH = NODE_MODULES_PATH . charAt ( 0 ) . toUpperCase ( ) + NODE_MODULES_PATH . substr ( 1 ) ;
64+ }
65+ const NODE_MODULES_ASAR_PATH = NODE_MODULES_PATH + '.asar' ;
66+
67+ const originalResolveLookupPaths = Module . _resolveLookupPaths ;
68+ Module . _resolveLookupPaths = function ( request , parent ) {
69+ const result = originalResolveLookupPaths ( request , parent ) ;
70+
71+ const paths = result [ 1 ] ;
72+ for ( let i = 0 , len = paths . length ; i < len ; i ++ ) {
73+ if ( paths [ i ] === NODE_MODULES_PATH ) {
74+ paths . splice ( i , 0 , NODE_MODULES_ASAR_PATH ) ;
75+ break ;
76+ }
77+ }
78+
79+ return result ;
80+ } ;
81+ } ) ( ) ;
82+ //#endregion
83+
5684 const extractKey = function ( e ) {
5785 return [
5886 e . ctrlKey ? 'ctrl-' : '' ,
You can’t perform that action at this time.
0 commit comments