5
5
*/
6
6
7
7
Ndb . nodeExecPath = function ( ) {
8
- if ( ! Ndb . _nodeExecPathPromise )
9
- Ndb . _nodeExecPathPromise = Ndb . backend . which ( 'node' ) . then ( result => result . resolvedPath ) ;
8
+ if ( ! Ndb . _nodeExecPathPromise ) {
9
+ Ndb . _nodeExecPathPromise = Ndb . backend
10
+ . which ( 'node' )
11
+ . then ( result => result . resolvedPath ) ;
12
+ }
10
13
return Ndb . _nodeExecPathPromise ;
11
14
} ;
12
15
13
16
Ndb . npmExecPath = function ( ) {
14
- if ( ! Ndb . _npmExecPathPromise )
15
- Ndb . _npmExecPathPromise = Ndb . backend . which ( 'npm' ) . then ( result => result . resolvedPath ) ;
17
+ if ( ! Ndb . _npmExecPathPromise ) {
18
+ Ndb . _npmExecPathPromise = Ndb . backend
19
+ . which ( 'npm' )
20
+ . then ( result => result . resolvedPath ) ;
21
+ }
16
22
return Ndb . _npmExecPathPromise ;
17
23
} ;
18
24
@@ -27,39 +33,60 @@ Ndb.processInfo = function() {
27
33
*/
28
34
Ndb . NdbMain = class extends Common . Object {
29
35
/**
30
- * @override
31
- */
36
+ * @override
37
+ */
32
38
async run ( ) {
33
39
InspectorFrontendAPI . setUseSoftMenu ( true ) ;
34
40
document . title = 'ndb' ;
35
- Common . moduleSetting ( 'blackboxInternalScripts' ) . addChangeListener ( Ndb . NdbMain . _calculateBlackboxState ) ;
41
+ Common . moduleSetting ( 'blackboxInternalScripts' ) . addChangeListener (
42
+ Ndb . NdbMain . _calculateBlackboxState
43
+ ) ;
36
44
Ndb . NdbMain . _calculateBlackboxState ( ) ;
37
45
38
46
const setting = Persistence . isolatedFileSystemManager . workspaceFolderExcludePatternSetting ( ) ;
39
47
setting . set ( Ndb . NdbMain . _defaultExcludePattern ( ) . join ( '|' ) ) ;
40
- Ndb . nodeProcessManager = await Ndb . NodeProcessManager . create ( SDK . targetManager ) ;
48
+ Ndb . nodeProcessManager = await Ndb . NodeProcessManager . create (
49
+ SDK . targetManager
50
+ ) ;
41
51
42
- const { cwd} = await Ndb . processInfo ( ) ;
52
+ const { cwd } = await Ndb . processInfo ( ) ;
43
53
await Ndb . nodeProcessManager . addFileSystem ( cwd ) ;
44
54
45
55
// TODO(ak239): we do not want to create this model for workers, so we need a way to add custom capabilities.
46
- SDK . SDKModel . register ( NdbSdk . NodeWorkerModel , SDK . Target . Capability . JS , true ) ;
47
- SDK . SDKModel . register ( NdbSdk . NodeRuntimeModel , SDK . Target . Capability . JS , true ) ;
56
+ SDK . SDKModel . register (
57
+ NdbSdk . NodeWorkerModel ,
58
+ SDK . Target . Capability . JS ,
59
+ true
60
+ ) ;
61
+ SDK . SDKModel . register (
62
+ NdbSdk . NodeRuntimeModel ,
63
+ SDK . Target . Capability . JS ,
64
+ true
65
+ ) ;
48
66
49
67
await new Promise ( resolve => SDK . initMainConnection ( resolve ) ) ;
50
- SDK . targetManager . createTarget ( '<root>' , ls `Root` , SDK . Target . Type . Browser , null ) ;
68
+ SDK . targetManager . createTarget (
69
+ '<root>' ,
70
+ ls `Root` ,
71
+ SDK . Target . Type . Browser ,
72
+ null
73
+ ) ;
74
+
51
75
if ( Common . moduleSetting ( 'autoStartMain' ) . get ( ) ) {
52
76
const main = await Ndb . mainConfiguration ( ) ;
53
77
if ( main ) {
54
- if ( main . prof )
55
- await Ndb . nodeProcessManager . profile ( main . execPath , main . args ) ;
56
- else
57
- Ndb . nodeProcessManager . debug ( main . execPath , main . args ) ;
78
+ if ( main . prof ) {
79
+ await Ndb . nodeProcessManager . profile (
80
+ main . execPath ,
81
+ main . args
82
+ ) ;
83
+ } else { Ndb . nodeProcessManager . debug ( main . execPath , main . args ) ; }
58
84
}
59
85
}
60
86
Ndb . nodeProcessManager . startRepl ( ) ;
61
87
}
62
88
89
+
63
90
static _defaultExcludePattern ( ) {
64
91
const defaultCommonExcludedFolders = [
65
92
'/bower_components/' , '/\\.devtools' , '/\\.git/' , '/\\.sass-cache/' , '/\\.hg/' , '/\\.idea/' ,
@@ -125,7 +152,6 @@ Ndb.mainConfiguration = async() => {
125
152
prof
126
153
} ;
127
154
} ;
128
-
129
155
/**
130
156
* @implements {UI.ContextMenu.Provider}
131
157
* @unrestricted
@@ -172,9 +198,21 @@ Ndb.NodeProcessManager = class extends Common.Object {
172
198
static async create ( targetManager ) {
173
199
const manager = new Ndb . NodeProcessManager ( targetManager ) ;
174
200
manager . _service = await Ndb . backend . createService ( 'ndd_service.js' , rpc . handle ( manager ) ) ;
201
+ InspectorFrontendHost . sendMessageToBackend = manager . sendMessageToBackend . bind ( manager ) ;
202
+
175
203
return manager ;
176
204
}
177
205
206
+ /**
207
+ * @param {object } message
208
+ *
209
+ * @return {Promise } void
210
+ */
211
+ async sendMessageToBackend ( message ) {
212
+ if ( this . _service && this . _service . sendMessage )
213
+ return this . _service . sendMessage ( message ) ;
214
+ }
215
+
178
216
env ( ) {
179
217
return this . _service . env ( ) ;
180
218
}
@@ -246,6 +284,30 @@ Ndb.NodeProcessManager = class extends Common.Object {
246
284
}
247
285
}
248
286
287
+ sendLoadingFinished ( { type, payload } ) {
288
+ SDK . _mainConnection . _onMessage ( JSON . stringify ( {
289
+ method : 'Network.loadingFinished' ,
290
+ params : payload
291
+ } ) ) ;
292
+ }
293
+
294
+ responseToFrontEnd ( id , result ) {
295
+ InspectorFrontendHost . events . dispatchEventToListeners (
296
+ InspectorFrontendHostAPI . Events . DispatchMessage ,
297
+ {
298
+ id,
299
+ result
300
+ }
301
+ ) ;
302
+ }
303
+
304
+ sendNetworkData ( { type, payload } ) {
305
+ SDK . _mainConnection . _onMessage ( JSON . stringify ( {
306
+ method : type ,
307
+ params : payload
308
+ } ) ) ;
309
+ }
310
+
249
311
async terminalData ( stream , data ) {
250
312
const content = await ( await fetch ( `data:application/octet-stream;base64,${ data } ` ) ) . text ( ) ;
251
313
if ( content . startsWith ( 'Debugger listening on' ) || content . startsWith ( 'Debugger attached.' ) || content . startsWith ( 'Waiting for the debugger to disconnect...' ) )
0 commit comments