roku-debug 0.22.4 → 0.22.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/LaunchConfiguration.d.ts +45 -0
- package/dist/PerfettoManager.d.ts +108 -0
- package/dist/PerfettoManager.js +394 -0
- package/dist/PerfettoManager.js.map +1 -0
- package/dist/RendezvousTracker.d.ts +1 -1
- package/dist/RokuECP.d.ts +27 -2
- package/dist/RokuECP.js +33 -0
- package/dist/RokuECP.js.map +1 -1
- package/dist/SceneGraphDebugCommandController.js.map +1 -1
- package/dist/adapters/customVariables/ifDateTime.js +1 -9
- package/dist/adapters/customVariables/ifDateTime.js.map +1 -1
- package/dist/bsc/threading/ThreadMessageHandler.d.ts +2 -2
- package/dist/debugProtocol/PluginInterface.d.ts +1 -1
- package/dist/debugProtocol/client/DebugProtocolClientPlugin.d.ts +2 -2
- package/dist/debugProtocol/events/ProtocolEvent.d.ts +3 -3
- package/dist/debugProtocol/server/DebugProtocolServerPlugin.d.ts +2 -2
- package/dist/debugSession/BrightScriptDebugSession.d.ts +14 -1
- package/dist/debugSession/BrightScriptDebugSession.js +144 -19
- package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
- package/dist/debugSession/Events.d.ts +53 -2
- package/dist/debugSession/Events.js +57 -1
- package/dist/debugSession/Events.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +4 -4
- package/dist/logging.d.ts +1 -1
- package/dist/managers/BreakpointManager.d.ts +2 -2
- package/dist/managers/ProjectManager.js +1 -1
- package/dist/managers/ProjectManager.js.map +1 -1
- package/dist/util.d.ts +6 -0
- package/dist/util.js +13 -0
- package/dist/util.js.map +1 -1
- package/package.json +6 -3
package/dist/RokuECP.js
CHANGED
|
@@ -13,6 +13,39 @@ class RokuECP {
|
|
|
13
13
|
return util_1.util.httpGet(url, options.requestOptions);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Enables perfetto tracing for the specified channel
|
|
18
|
+
* @param channelID
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
async enablePerfettoTracing(options) {
|
|
22
|
+
const response = await this.doRequest(`/perfetto/enable/${options.channelId}`, options, 'post');
|
|
23
|
+
return this.parseResponse(response, 'perfetto-enable', (parsed, status) => {
|
|
24
|
+
var _a, _b, _c, _d, _e;
|
|
25
|
+
return {
|
|
26
|
+
enabledChannels: (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed['enabled-channels']) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.channel) !== null && _c !== void 0 ? _c : [],
|
|
27
|
+
timestamp: Number((_d = parsed === null || parsed === void 0 ? void 0 : parsed.timestamp) === null || _d === void 0 ? void 0 : _d[0]),
|
|
28
|
+
timestampEnd: Number((_e = parsed === null || parsed === void 0 ? void 0 : parsed['timestamp-end']) === null || _e === void 0 ? void 0 : _e[0]),
|
|
29
|
+
status: status
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* capture a heap snapshot. This doesn't return it, but instead will cause it to be written to the already-connected perfetto websocket.
|
|
35
|
+
* @param channelId
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
async captureHeapSnapshot(options) {
|
|
39
|
+
const response = await this.doRequest(`/perfetto/heapgraph/trigger/${options.channelId}`, options, 'post');
|
|
40
|
+
return this.parseResponse(response, 'perfetto-heapgraph-trigger', (parsed, status) => {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
return {
|
|
43
|
+
timestamp: Number((_a = parsed === null || parsed === void 0 ? void 0 : parsed.timestamp) === null || _a === void 0 ? void 0 : _a[0]),
|
|
44
|
+
timestampEnd: Number((_b = parsed === null || parsed === void 0 ? void 0 : parsed['timestamp-end']) === null || _b === void 0 ? void 0 : _b[0]),
|
|
45
|
+
status: status
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
16
49
|
getEcpStatus(response, rootKey) {
|
|
17
50
|
var _a, _b, _c, _d;
|
|
18
51
|
return (_d = EcpStatus[(_c = (_b = (_a = response === null || response === void 0 ? void 0 : response[rootKey]) === null || _a === void 0 ? void 0 : _a.status) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.toLowerCase()]) !== null && _d !== void 0 ? _d : EcpStatus.failed;
|
package/dist/RokuECP.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RokuECP.js","sourceRoot":"","sources":["../src/RokuECP.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RokuECP.js","sourceRoot":"","sources":["../src/RokuECP.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneGraphDebugCommandController.js","sourceRoot":"","sources":["../src/SceneGraphDebugCommandController.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;
|
|
1
|
+
{"version":3,"file":"SceneGraphDebugCommandController.js","sourceRoot":"","sources":["../src/SceneGraphDebugCommandController.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,15 +38,7 @@ function pushIfDateTimeVariables(adapter, expression, container) {
|
|
|
38
38
|
children: []
|
|
39
39
|
});
|
|
40
40
|
(0, utils_1.pushCustomVariableToContainer)(adapter, container, {
|
|
41
|
-
name: '$
|
|
42
|
-
type: VariablesResponse_1.VariableType.String,
|
|
43
|
-
presentationHint: { kind: 'virtual', lazy: true },
|
|
44
|
-
evaluateName: `${expression}.asDateStringLoc("full")`,
|
|
45
|
-
value: '',
|
|
46
|
-
children: []
|
|
47
|
-
});
|
|
48
|
-
(0, utils_1.pushCustomVariableToContainer)(adapter, container, {
|
|
49
|
-
name: '$timeLocalized',
|
|
41
|
+
name: '$time',
|
|
50
42
|
type: VariablesResponse_1.VariableType.String,
|
|
51
43
|
presentationHint: { kind: 'virtual', lazy: true },
|
|
52
44
|
evaluateName: `${expression}.asTimeStringLoc("short")`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifDateTime.js","sourceRoot":"","sources":["../../../src/adapters/customVariables/ifDateTime.ts"],"names":[],"mappings":";;;AAAA,8FAAsF;AAEtF,mCAAwD;AAExD,mFAAmF;AACnF,SAAgB,uBAAuB,CAAC,OAA6B,EAAE,UAAkB,EAAE,SAA4B;IACnH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,sBAAsB;QACjD,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,gCAAY,CAAC,OAAO;QAC1B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,cAAc;QACzC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gCAAY,CAAC,WAAW;QAC9B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,kBAAkB;QAC7C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gCAAY,CAAC,MAAM;QACzB,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;QACjD,YAAY,EAAE,GAAG,UAAU,gBAAgB;QAC3C,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACf,CAAC,CAAC;IAEH,IAAA,qCAA6B,EAAC,OAAO,EAAE,SAAS,EAAE;QAC9C,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"ifDateTime.js","sourceRoot":"","sources":["../../../src/adapters/customVariables/ifDateTime.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,8 +92,8 @@ export interface WorkerUpdate<TData = any> {
|
|
|
92
92
|
name: string;
|
|
93
93
|
data?: TData;
|
|
94
94
|
}
|
|
95
|
-
export
|
|
96
|
-
export
|
|
95
|
+
export type WorkerMessage<T = any> = WorkerRequest<T> | WorkerResponse<T> | WorkerUpdate<T>;
|
|
96
|
+
export type MethodNames<T> = {
|
|
97
97
|
[K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
|
|
98
98
|
}[keyof T];
|
|
99
99
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type Arguments<T> = [T] extends [(...args: infer U) => any] ? U : [T] extends [void] ? [] : [T];
|
|
2
2
|
export default class PluginInterface<TPlugin> {
|
|
3
3
|
constructor(plugins?: TPlugin[]);
|
|
4
4
|
private plugins;
|
|
@@ -30,7 +30,7 @@ export interface BeforeSendRequestEvent<TRequest extends ProtocolRequest = Proto
|
|
|
30
30
|
client: DebugProtocolClient;
|
|
31
31
|
request: TRequest;
|
|
32
32
|
}
|
|
33
|
-
export
|
|
33
|
+
export type AfterSendRequestEvent<TRequest extends ProtocolRequest = ProtocolRequest> = BeforeSendRequestEvent<TRequest>;
|
|
34
34
|
export interface OnUpdateEvent {
|
|
35
35
|
client: DebugProtocolClient;
|
|
36
36
|
update: ProtocolUpdate;
|
|
@@ -43,4 +43,4 @@ export interface OnResponseEvent {
|
|
|
43
43
|
client: DebugProtocolClient;
|
|
44
44
|
response: ProtocolResponse;
|
|
45
45
|
}
|
|
46
|
-
export
|
|
46
|
+
export type Handler<T, R = void> = (event: T) => R;
|
|
@@ -28,7 +28,7 @@ export interface ProtocolRequestData {
|
|
|
28
28
|
requestId: number;
|
|
29
29
|
command: Command;
|
|
30
30
|
}
|
|
31
|
-
export
|
|
31
|
+
export type ProtocolRequest = ProtocolEvent<ProtocolRequestData>;
|
|
32
32
|
/**
|
|
33
33
|
* The fields that every ProtocolUpdateResponse must have
|
|
34
34
|
*/
|
|
@@ -38,7 +38,7 @@ export interface ProtocolUpdateData {
|
|
|
38
38
|
errorCode: number;
|
|
39
39
|
updateType: UpdateType;
|
|
40
40
|
}
|
|
41
|
-
export
|
|
41
|
+
export type ProtocolUpdate = ProtocolEvent<ProtocolUpdateData>;
|
|
42
42
|
/**
|
|
43
43
|
* The fields that every ProtocolResponse must have
|
|
44
44
|
*/
|
|
@@ -64,4 +64,4 @@ export interface ProtocolResponseErrorData {
|
|
|
64
64
|
*/
|
|
65
65
|
missingKeyIndex?: number;
|
|
66
66
|
}
|
|
67
|
-
export
|
|
67
|
+
export type ProtocolResponse = ProtocolEvent<ProtocolResponseData>;
|
|
@@ -39,5 +39,5 @@ export interface BeforeSendResponseEvent {
|
|
|
39
39
|
server: DebugProtocolServer;
|
|
40
40
|
response: ProtocolResponse;
|
|
41
41
|
}
|
|
42
|
-
export
|
|
43
|
-
export
|
|
42
|
+
export type AfterSendResponseEvent = BeforeSendResponseEvent;
|
|
43
|
+
export type Handler<T, R = void> = (event: T) => R;
|
|
@@ -34,6 +34,7 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
|
|
|
34
34
|
private evaluateRefIdCounter;
|
|
35
35
|
private variables;
|
|
36
36
|
private rokuAdapter;
|
|
37
|
+
private perfettoManager;
|
|
37
38
|
private rendezvousTracker;
|
|
38
39
|
tempVarPrefix: string;
|
|
39
40
|
/**
|
|
@@ -45,6 +46,10 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
|
|
|
45
46
|
*/
|
|
46
47
|
private COMPILE_ERROR_THREAD_ID;
|
|
47
48
|
private get enableDebugProtocol();
|
|
49
|
+
/**
|
|
50
|
+
* Check if the Roku firmware supports Perfetto tracing (requires OS 15.2 or higher)
|
|
51
|
+
*/
|
|
52
|
+
private get supportsPerfettoTracing();
|
|
48
53
|
/**
|
|
49
54
|
* Get a promise that resolves when the roku adapter is ready to be used
|
|
50
55
|
*/
|
|
@@ -74,6 +79,14 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
|
|
|
74
79
|
*/
|
|
75
80
|
private normalizeLaunchConfig;
|
|
76
81
|
launchRequest(response: DebugProtocol.LaunchResponse, config: LaunchConfiguration): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Activate all required functionality for profiling
|
|
84
|
+
*/
|
|
85
|
+
private initializeProfiling;
|
|
86
|
+
/**
|
|
87
|
+
* If profiling was marked "connectOnStart", try connecting right away
|
|
88
|
+
*/
|
|
89
|
+
private tryProfilingConnectOnStart;
|
|
77
90
|
/**
|
|
78
91
|
* Clear certain properties that need reset whenever a debug session is restarted (via vscode or launched from the Roku home screen)
|
|
79
92
|
*/
|
|
@@ -121,7 +134,7 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
|
|
|
121
134
|
* Accepts custom events and requests from the extension
|
|
122
135
|
* @param command name of the command to execute
|
|
123
136
|
*/
|
|
124
|
-
protected customRequest(command: string, response: DebugProtocol.Response, args: any): void
|
|
137
|
+
protected customRequest(command: string, response: DebugProtocol.Response, args: any): Promise<void>;
|
|
125
138
|
/**
|
|
126
139
|
* Stores the path to the staging folder for each component library
|
|
127
140
|
*/
|
|
@@ -4,6 +4,7 @@ exports.BrightScriptDebugSession = void 0;
|
|
|
4
4
|
const fsExtra = require("fs-extra");
|
|
5
5
|
const natural_orderby_1 = require("natural-orderby");
|
|
6
6
|
const path = require("path");
|
|
7
|
+
const semver = require("semver");
|
|
7
8
|
const roku_deploy_1 = require("roku-deploy");
|
|
8
9
|
const debugadapter_1 = require("@vscode/debugadapter");
|
|
9
10
|
const SceneGraphDebugCommandController_1 = require("../SceneGraphDebugCommandController");
|
|
@@ -19,6 +20,7 @@ const FileManager_1 = require("../managers/FileManager");
|
|
|
19
20
|
const SourceMapManager_1 = require("../managers/SourceMapManager");
|
|
20
21
|
const LocationManager_1 = require("../managers/LocationManager");
|
|
21
22
|
const BreakpointManager_1 = require("../managers/BreakpointManager");
|
|
23
|
+
const PerfettoManager_1 = require("../PerfettoManager");
|
|
22
24
|
const logging_1 = require("../logging");
|
|
23
25
|
const VariablesResponse_1 = require("../debugProtocol/events/responses/VariablesResponse");
|
|
24
26
|
const brighterscript_1 = require("brighterscript");
|
|
@@ -106,6 +108,14 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
106
108
|
get enableDebugProtocol() {
|
|
107
109
|
return this.launchConfiguration.enableDebugProtocol;
|
|
108
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Check if the Roku firmware supports Perfetto tracing (requires OS 15.2 or higher)
|
|
113
|
+
*/
|
|
114
|
+
get supportsPerfettoTracing() {
|
|
115
|
+
var _a, _b;
|
|
116
|
+
this.logger.log('Checking if device supports Perfetto tracing', this.deviceInfo.softwareVersion);
|
|
117
|
+
return semver.satisfies((_b = (_a = this.deviceInfo) === null || _a === void 0 ? void 0 : _a.softwareVersion) !== null && _b !== void 0 ? _b : '0.0', '>= 15.2');
|
|
118
|
+
}
|
|
109
119
|
/**
|
|
110
120
|
* Get a promise that resolves when the roku adapter is ready to be used
|
|
111
121
|
*/
|
|
@@ -121,7 +131,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
121
131
|
initializeRequest(response, args) {
|
|
122
132
|
this.initRequestArgs = args;
|
|
123
133
|
this.logger.log('initializeRequest');
|
|
124
|
-
response.body
|
|
134
|
+
response.body || (response.body = {});
|
|
125
135
|
// This debug adapter implements the configurationDoneRequest.
|
|
126
136
|
response.body.supportsConfigurationDoneRequest = true;
|
|
127
137
|
// The debug adapter supports the 'restart' request. In this case a client should not implement 'restart' by terminating and relaunching the adapter but by calling the RestartRequest.
|
|
@@ -258,7 +268,8 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
258
268
|
* @returns
|
|
259
269
|
*/
|
|
260
270
|
normalizeLaunchConfig(config) {
|
|
261
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
271
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
|
272
|
+
var _w, _x;
|
|
262
273
|
(_a = config.cwd) !== null && _a !== void 0 ? _a : (config.cwd = process.cwd());
|
|
263
274
|
(_b = config.outDir) !== null && _b !== void 0 ? _b : (config.outDir = (0, FileUtils_1.standardizePath) `${config.cwd}/out`);
|
|
264
275
|
(_c = config.stagingDir) !== null && _c !== void 0 ? _c : (config.stagingDir = (0, FileUtils_1.standardizePath) `${config.outDir}/.roku-deploy-staging`);
|
|
@@ -274,11 +285,16 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
274
285
|
(_o = config.autoResolveVirtualVariables) !== null && _o !== void 0 ? _o : (config.autoResolveVirtualVariables = false);
|
|
275
286
|
(_p = config.enhanceREPLCompletions) !== null && _p !== void 0 ? _p : (config.enhanceREPLCompletions = true);
|
|
276
287
|
(_q = config.username) !== null && _q !== void 0 ? _q : (config.username = 'rokudev');
|
|
288
|
+
if ((_s = (_r = config.profiling) === null || _r === void 0 ? void 0 : _r.tracing) === null || _s === void 0 ? void 0 : _s.enable) {
|
|
289
|
+
(_t = (_w = config.profiling.tracing).dir) !== null && _t !== void 0 ? _t : (_w.dir = (0, FileUtils_1.standardizePath) `${config.cwd}/traces/`);
|
|
290
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
291
|
+
(_u = (_x = config.profiling.tracing).filename) !== null && _u !== void 0 ? _u : (_x.filename = '${appTitle}_${timestamp}.perfetto-trace');
|
|
292
|
+
}
|
|
277
293
|
// migrate the old `enableVariablesPanel` setting to the new `deferScopeLoading` setting
|
|
278
294
|
if (typeof config.enableVariablesPanel !== 'boolean') {
|
|
279
295
|
config.enableVariablesPanel = true;
|
|
280
296
|
}
|
|
281
|
-
(
|
|
297
|
+
(_v = config.deferScopeLoading) !== null && _v !== void 0 ? _v : (config.deferScopeLoading = config.enableVariablesPanel === false);
|
|
282
298
|
return config;
|
|
283
299
|
}
|
|
284
300
|
async launchRequest(response, config) {
|
|
@@ -304,13 +320,20 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
304
320
|
// fetches the device info and parses the xml data to JSON object
|
|
305
321
|
try {
|
|
306
322
|
this.deviceInfo = await roku_deploy_1.rokuDeploy.getDeviceInfo({ host: this.launchConfiguration.host, remotePort: this.launchConfiguration.remotePort, enhance: true, timeout: 4000 });
|
|
323
|
+
if (this.deviceInfo.ecpSettingMode === 'limited') {
|
|
324
|
+
return await this.shutdown(`ECP access is limited on this Roku. Please change it to 'permissive' or 'enabled' and try again. (device: ${this.launchConfiguration.host})`);
|
|
325
|
+
}
|
|
307
326
|
}
|
|
308
327
|
catch (e) {
|
|
328
|
+
if (e instanceof roku_deploy_1.EcpNetworkAccessModeDisabledError) {
|
|
329
|
+
return this.shutdown(`ECP access is disabled on this Roku. Please change it to 'permissive' or 'enabled' and try again. (device: ${this.launchConfiguration.host})`);
|
|
330
|
+
}
|
|
309
331
|
return this.shutdown(`Unable to connect to roku at '${this.launchConfiguration.host}'. Verify the IP address is correct and that the device is powered on and connected to same network as this computer.`);
|
|
310
332
|
}
|
|
311
333
|
if (this.deviceInfo && !this.deviceInfo.developerEnabled) {
|
|
312
334
|
return this.shutdown(`Developer mode is not enabled for host '${this.launchConfiguration.host}'.`);
|
|
313
335
|
}
|
|
336
|
+
await this.initializeProfiling();
|
|
314
337
|
//initialize all file logging (rokuDevice, debugger, etc)
|
|
315
338
|
this.fileLoggingManager.activate((_d = this.launchConfiguration) === null || _d === void 0 ? void 0 : _d.fileLogging, this.cwd);
|
|
316
339
|
this.projectManager.launchConfiguration = this.launchConfiguration;
|
|
@@ -353,12 +376,12 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
353
376
|
//pass along the console output
|
|
354
377
|
if (this.launchConfiguration.consoleOutput === 'full') {
|
|
355
378
|
this.rokuAdapter.on('console-output', (data) => {
|
|
356
|
-
|
|
379
|
+
this.sendLogOutput(data).catch(e => this.logger.error('Failed to send log output', e));
|
|
357
380
|
});
|
|
358
381
|
}
|
|
359
382
|
else {
|
|
360
383
|
this.rokuAdapter.on('unhandled-console-output', (data) => {
|
|
361
|
-
|
|
384
|
+
this.sendLogOutput(data).catch(e => this.logger.error('Failed to send log output', e));
|
|
362
385
|
});
|
|
363
386
|
}
|
|
364
387
|
this.rokuAdapter.on('device-unresponsive', async (data) => {
|
|
@@ -386,7 +409,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
386
409
|
});
|
|
387
410
|
// handle any compile errors
|
|
388
411
|
this.rokuAdapter.on('diagnostics', (diagnostics) => {
|
|
389
|
-
|
|
412
|
+
this.handleDiagnostics(diagnostics).catch(e => this.logger.error('Failed to handle diagnostics', e));
|
|
390
413
|
});
|
|
391
414
|
// close disconnect if required when the app is exited
|
|
392
415
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
@@ -403,11 +426,13 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
403
426
|
const message = 'App exit detected; but launchConfiguration.stopDebuggerOnAppExit is set to false, so keeping debug session running.';
|
|
404
427
|
this.logger.log('[launchRequest]', message);
|
|
405
428
|
this.sendEvent(new Events_1.LogOutputEvent(message));
|
|
406
|
-
|
|
429
|
+
this.rokuAdapter.once('connected').then(async () => {
|
|
407
430
|
await this.rokuAdapter.setExceptionBreakpoints(this.exceptionBreakpoints);
|
|
408
|
-
});
|
|
431
|
+
}).catch(e => this.logger.error('Failed to set exception breakpoints after reconnect', e));
|
|
409
432
|
}
|
|
410
433
|
});
|
|
434
|
+
//profiling supports connecting to the socket BEFORE a channel is published, so go ahead and connect now
|
|
435
|
+
await this.tryProfilingConnectOnStart();
|
|
411
436
|
await this.publish();
|
|
412
437
|
//hack for certain roku devices that lock up when this event is emitted (no idea why!).
|
|
413
438
|
if (this.launchConfiguration.emitChannelPublishedEvent) {
|
|
@@ -462,6 +487,64 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
462
487
|
}
|
|
463
488
|
logEnd();
|
|
464
489
|
}
|
|
490
|
+
/**
|
|
491
|
+
* Activate all required functionality for profiling
|
|
492
|
+
*/
|
|
493
|
+
async initializeProfiling() {
|
|
494
|
+
var _a, _b, _c;
|
|
495
|
+
// Initialize PerfettoManager
|
|
496
|
+
this.perfettoManager = new PerfettoManager_1.PerfettoManager({
|
|
497
|
+
host: this.launchConfiguration.host,
|
|
498
|
+
rootDir: this.launchConfiguration.rootDir,
|
|
499
|
+
remotePort: this.launchConfiguration.remotePort,
|
|
500
|
+
...(_a = this.launchConfiguration.profiling) === null || _a === void 0 ? void 0 : _a.tracing
|
|
501
|
+
});
|
|
502
|
+
//send certain profiling events back to the client
|
|
503
|
+
this.perfettoManager.on('enable', (event) => {
|
|
504
|
+
this.sendEvent(new Events_1.ProfilingEnabledEvent({
|
|
505
|
+
types: event.types
|
|
506
|
+
}));
|
|
507
|
+
});
|
|
508
|
+
this.perfettoManager.on('start', (event) => {
|
|
509
|
+
this.sendEvent(new Events_1.ProfilingStartEvent({
|
|
510
|
+
type: event.type
|
|
511
|
+
}));
|
|
512
|
+
});
|
|
513
|
+
this.perfettoManager.on('stop', (event) => {
|
|
514
|
+
this.sendEvent(new Events_1.ProfilingStopEvent({
|
|
515
|
+
type: event.type,
|
|
516
|
+
result: event.result
|
|
517
|
+
}));
|
|
518
|
+
});
|
|
519
|
+
this.perfettoManager.on('error', (event) => {
|
|
520
|
+
this.sendEvent(new Events_1.ProfilingErrorEvent({
|
|
521
|
+
error: event.error
|
|
522
|
+
}));
|
|
523
|
+
});
|
|
524
|
+
//enable profiling on the device right away if tracing is enabled in the launch config (this doesn't actually start the trace, it just enables the ability to start a trace from the UI or automatically based on the config)
|
|
525
|
+
if (((_c = (_b = this.launchConfiguration.profiling) === null || _b === void 0 ? void 0 : _b.tracing) === null || _c === void 0 ? void 0 : _c.enable) && this.supportsPerfettoTracing) {
|
|
526
|
+
try {
|
|
527
|
+
await this.perfettoManager.enableTracing();
|
|
528
|
+
}
|
|
529
|
+
catch (e) {
|
|
530
|
+
this.logger.error('Failed to enable perfetto tracing', e);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* If profiling was marked "connectOnStart", try connecting right away
|
|
536
|
+
*/
|
|
537
|
+
async tryProfilingConnectOnStart() {
|
|
538
|
+
var _a, _b;
|
|
539
|
+
if (((_b = (_a = this.launchConfiguration.profiling) === null || _a === void 0 ? void 0 : _a.tracing) === null || _b === void 0 ? void 0 : _b.connectOnStart) && this.supportsPerfettoTracing) {
|
|
540
|
+
try {
|
|
541
|
+
await this.perfettoManager.startTracing();
|
|
542
|
+
}
|
|
543
|
+
catch (e) {
|
|
544
|
+
this.logger.error('Failed to start perfetto tracing on start', e);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
}
|
|
465
548
|
/**
|
|
466
549
|
* Clear certain properties that need reset whenever a debug session is restarted (via vscode or launched from the Roku home screen)
|
|
467
550
|
*/
|
|
@@ -832,7 +915,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
832
915
|
* Accepts custom events and requests from the extension
|
|
833
916
|
* @param command name of the command to execute
|
|
834
917
|
*/
|
|
835
|
-
customRequest(command, response, args) {
|
|
918
|
+
async customRequest(command, response, args) {
|
|
836
919
|
if (command === 'rendezvous.clearHistory') {
|
|
837
920
|
this.rokuAdapter.clearRendezvousHistory();
|
|
838
921
|
}
|
|
@@ -845,6 +928,27 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
845
928
|
else if (command === 'popupMessageEventResponse') {
|
|
846
929
|
this.emit('popupMessageEventResponse', args);
|
|
847
930
|
}
|
|
931
|
+
else if (command === 'captureHeapSnapshot') {
|
|
932
|
+
this.perfettoManager.captureHeapSnapshot().catch((e) => this.logger.error('Failed to capture heap snapshot', e));
|
|
933
|
+
}
|
|
934
|
+
else if (command === 'startPerfettoTracing') {
|
|
935
|
+
try {
|
|
936
|
+
await this.perfettoManager.startTracing();
|
|
937
|
+
}
|
|
938
|
+
catch (e) {
|
|
939
|
+
response.success = false;
|
|
940
|
+
response.body = { message: (e === null || e === void 0 ? void 0 : e.message) || String(e) };
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
else if (command === 'stopPerfettoTracing') {
|
|
944
|
+
try {
|
|
945
|
+
await this.perfettoManager.stopTracing();
|
|
946
|
+
}
|
|
947
|
+
catch (e) {
|
|
948
|
+
response.success = false;
|
|
949
|
+
response.body = { message: (e === null || e === void 0 ? void 0 : e.message) || String(e) };
|
|
950
|
+
}
|
|
951
|
+
}
|
|
848
952
|
this.sendResponse(response);
|
|
849
953
|
}
|
|
850
954
|
/**
|
|
@@ -898,6 +1002,9 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
898
1002
|
if (compLibProject.install === true) {
|
|
899
1003
|
//wait for this complib to finish being staged and zipped
|
|
900
1004
|
await compLibPromises[i];
|
|
1005
|
+
if (componentLibraries[i].packageTask) {
|
|
1006
|
+
await this.sendCustomRequest('executeTask', { task: componentLibraries[i].packageTask });
|
|
1007
|
+
}
|
|
901
1008
|
const options = {
|
|
902
1009
|
host: this.launchConfiguration.host,
|
|
903
1010
|
password: this.launchConfiguration.password,
|
|
@@ -906,13 +1013,18 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
906
1013
|
failOnCompileError: true,
|
|
907
1014
|
outDir: compLibProject.outDir,
|
|
908
1015
|
outFile: compLibProject.outFile,
|
|
909
|
-
appType: 'dcl'
|
|
1016
|
+
appType: 'dcl',
|
|
1017
|
+
packageUploadOverrides: componentLibraries[i].packageUploadOverrides || {}
|
|
910
1018
|
};
|
|
1019
|
+
if (componentLibraries[i].packagePath) {
|
|
1020
|
+
options.outDir = path.dirname(componentLibraries[i].packagePath);
|
|
1021
|
+
options.outFile = path.basename(componentLibraries[i].packagePath);
|
|
1022
|
+
}
|
|
911
1023
|
try {
|
|
912
1024
|
await roku_deploy_1.rokuDeploy.publish(options);
|
|
913
1025
|
}
|
|
914
1026
|
catch (error) {
|
|
915
|
-
this.logger.error(`Error installing component library ${i}`,
|
|
1027
|
+
this.logger.error(`Error installing component library ${i}`, error);
|
|
916
1028
|
}
|
|
917
1029
|
}
|
|
918
1030
|
}
|
|
@@ -1943,7 +2055,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
1943
2055
|
});
|
|
1944
2056
|
// If the roku says it can't continue, we are no longer able to debug, so kill the debug session
|
|
1945
2057
|
this.rokuAdapter.on('cannot-continue', () => {
|
|
1946
|
-
|
|
2058
|
+
this.shutdown().catch(e => this.logger.error(e));
|
|
1947
2059
|
});
|
|
1948
2060
|
//make the connection
|
|
1949
2061
|
await this.rokuAdapter.connect();
|
|
@@ -2266,7 +2378,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
2266
2378
|
return this.shutdownPromise;
|
|
2267
2379
|
}
|
|
2268
2380
|
async _shutdown(errorMessage, modal = false) {
|
|
2269
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
2381
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
2270
2382
|
//send the message FIRST before anything else. This improves the chances that the message will be displayed to the user
|
|
2271
2383
|
try {
|
|
2272
2384
|
if (errorMessage) {
|
|
@@ -2279,10 +2391,23 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
2279
2391
|
catch (e) {
|
|
2280
2392
|
this.logger.error(e);
|
|
2281
2393
|
}
|
|
2394
|
+
// stop perfetto tracing if it's running
|
|
2395
|
+
try {
|
|
2396
|
+
await this.perfettoManager.stopTracing();
|
|
2397
|
+
}
|
|
2398
|
+
catch (e) {
|
|
2399
|
+
this.logger.error('Error stopping perfetto tracing', e);
|
|
2400
|
+
}
|
|
2401
|
+
try {
|
|
2402
|
+
await ((_b = (_a = this.perfettoManager) === null || _a === void 0 ? void 0 : _a.dispose) === null || _b === void 0 ? void 0 : _b.call(_a));
|
|
2403
|
+
}
|
|
2404
|
+
catch (e) {
|
|
2405
|
+
this.logger.error('Error disposing perfetto manager', e);
|
|
2406
|
+
}
|
|
2282
2407
|
//close the debugger connection
|
|
2283
2408
|
try {
|
|
2284
2409
|
this.logger.log('Destroy rokuAdapter');
|
|
2285
|
-
await ((
|
|
2410
|
+
await ((_d = (_c = this.rokuAdapter) === null || _c === void 0 ? void 0 : _c.destroy) === null || _d === void 0 ? void 0 : _d.call(_c));
|
|
2286
2411
|
//press the home button to return to the home screen
|
|
2287
2412
|
try {
|
|
2288
2413
|
this.logger.log('Press home button');
|
|
@@ -2296,25 +2421,25 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
2296
2421
|
this.logger.error(e);
|
|
2297
2422
|
}
|
|
2298
2423
|
try {
|
|
2299
|
-
(
|
|
2424
|
+
(_f = (_e = this.projectManager) === null || _e === void 0 ? void 0 : _e.dispose) === null || _f === void 0 ? void 0 : _f.call(_e);
|
|
2300
2425
|
}
|
|
2301
2426
|
catch (e) {
|
|
2302
2427
|
this.logger.error(e);
|
|
2303
2428
|
}
|
|
2304
2429
|
try {
|
|
2305
|
-
(
|
|
2430
|
+
(_g = this.componentLibraryServer) === null || _g === void 0 ? void 0 : _g.stop();
|
|
2306
2431
|
}
|
|
2307
2432
|
catch (e) {
|
|
2308
2433
|
this.logger.error(e);
|
|
2309
2434
|
}
|
|
2310
2435
|
try {
|
|
2311
|
-
await ((
|
|
2436
|
+
await ((_j = (_h = this.rendezvousTracker) === null || _h === void 0 ? void 0 : _h.destroy) === null || _j === void 0 ? void 0 : _j.call(_h));
|
|
2312
2437
|
}
|
|
2313
2438
|
catch (e) {
|
|
2314
2439
|
this.logger.error(e);
|
|
2315
2440
|
}
|
|
2316
2441
|
try {
|
|
2317
|
-
await ((
|
|
2442
|
+
await ((_l = (_k = this.sourceMapManager) === null || _k === void 0 ? void 0 : _k.destroy) === null || _l === void 0 ? void 0 : _l.call(_k));
|
|
2318
2443
|
}
|
|
2319
2444
|
catch (e) {
|
|
2320
2445
|
this.logger.error(e);
|
|
@@ -2322,7 +2447,7 @@ class BrightScriptDebugSession extends debugadapter_1.DebugSession {
|
|
|
2322
2447
|
try {
|
|
2323
2448
|
//if configured, delete the staging directory
|
|
2324
2449
|
if (!this.launchConfiguration.retainStagingFolder) {
|
|
2325
|
-
const stagingDirs = (
|
|
2450
|
+
const stagingDirs = (_o = (_m = this.projectManager) === null || _m === void 0 ? void 0 : _m.getStagingDirs()) !== null && _o !== void 0 ? _o : [];
|
|
2326
2451
|
this.logger.info('deleting staging folders', stagingDirs);
|
|
2327
2452
|
for (let stagingDir of stagingDirs) {
|
|
2328
2453
|
try {
|