lim 0.38.1 → 0.39.0
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/dist/commands/android/launch-app.js +1 -1
- package/dist/commands/android/launch-app.js.map +1 -1
- package/dist/commands/ios/launch-app.d.ts.map +1 -1
- package/dist/commands/ios/launch-app.js +6 -4
- package/dist/commands/ios/launch-app.js.map +1 -1
- package/dist/lib/format-app-exit.d.ts +19 -5
- package/dist/lib/format-app-exit.d.ts.map +1 -1
- package/dist/lib/format-app-exit.js +7 -5
- package/dist/lib/format-app-exit.js.map +1 -1
- package/dist/lib/format-app-exit.test.js +21 -4
- package/dist/lib/format-app-exit.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -28,7 +28,7 @@ class AndroidLaunchApp extends base_command_1.BaseCommand {
|
|
|
28
28
|
await client.launchApp(args.packageName, {
|
|
29
29
|
mode,
|
|
30
30
|
onExit: (logs, info) => {
|
|
31
|
-
this.log((0, format_app_exit_1.formatAppExit)(info, logs));
|
|
31
|
+
this.log((0, format_app_exit_1.formatAppExit)(info.packageName, info, logs));
|
|
32
32
|
notifyAppExited();
|
|
33
33
|
},
|
|
34
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-app.js","sourceRoot":"","sources":["../../../src/commands/android/launch-app.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAE1C,qDAAiD;AACjD,+EAA6E;AAC7E,+DAA0D;AAE1D,MAAqB,gBAAiB,SAAQ,0BAAW;IA+BvD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAiC,CAAC;YAErD,sEAAsE;YACtE,qEAAqE;YACrE,2CAA2C;YAC3C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,kDAAwB,EAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnD,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBACzC,OAAO;gBACT,CAAC;gBAED,IAAI,eAAe,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC9C,eAAe,GAAG,OAAO,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE;oBACvC,IAAI;oBACJ,MAAM,EAAE,CAAC,IAAc,EAAE,IAAiB,EAAE,EAAE;wBAC5C,IAAI,CAAC,GAAG,CAAC,IAAA,+BAAa,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"launch-app.js","sourceRoot":"","sources":["../../../src/commands/android/launch-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-app.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"launch-app.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA2BjD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,OAAO,SAA6C;IAC3D,MAAM,CAAC,WAAW,SACoX;IACtY,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MA8BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqF3B"}
|
|
@@ -4,6 +4,7 @@ const core_1 = require("@oclif/core");
|
|
|
4
4
|
const base_command_1 = require("../../base-command");
|
|
5
5
|
const instance_client_factory_1 = require("../../lib/instance-client-factory");
|
|
6
6
|
const launch_app_runtime_1 = require("../../lib/launch-app-runtime");
|
|
7
|
+
const format_app_exit_1 = require("../../lib/format-app-exit");
|
|
7
8
|
async function launchAppWithArgument(client, bundleId, launchArgument) {
|
|
8
9
|
if (typeof launchArgument === 'string') {
|
|
9
10
|
await client.launchApp(bundleId, launchArgument);
|
|
@@ -57,8 +58,9 @@ class IosLaunchApp extends base_command_1.BaseCommand {
|
|
|
57
58
|
});
|
|
58
59
|
const launchOptions = {
|
|
59
60
|
...(typeof launchArgument === 'string' ? { mode: launchArgument } : launchArgument),
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
// Log lines are already streamed, so only the exit reason and crash are printed.
|
|
62
|
+
onExit: (_logs, info) => {
|
|
63
|
+
notifyAppExited(info);
|
|
62
64
|
},
|
|
63
65
|
};
|
|
64
66
|
try {
|
|
@@ -79,8 +81,8 @@ class IosLaunchApp extends base_command_1.BaseCommand {
|
|
|
79
81
|
process.on('SIGINT', finish);
|
|
80
82
|
process.on('SIGTERM', finish);
|
|
81
83
|
logStream.on('close', finish);
|
|
82
|
-
void appExited.then(() => {
|
|
83
|
-
this.logToStderr(
|
|
84
|
+
void appExited.then((info) => {
|
|
85
|
+
this.logToStderr((0, format_app_exit_1.formatAppExit)(args.bundleId, info, []));
|
|
84
86
|
// Log lines arrive in ~500ms batches; give the tail a moment to flush.
|
|
85
87
|
setTimeout(finish, 1000);
|
|
86
88
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-app.js","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAE1C,qDAAiD;AACjD,+EAI2C;AAC3C,qEAIsC;
|
|
1
|
+
{"version":3,"file":"launch-app.js","sourceRoot":"","sources":["../../../src/commands/ios/launch-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
/** The parts of an Android or iOS appExit notification this formatter prints. */
|
|
2
|
+
export type AppExitSummary = {
|
|
3
|
+
reason: string;
|
|
4
|
+
crash?: {
|
|
5
|
+
processName: string;
|
|
6
|
+
pid: number;
|
|
7
|
+
shortMsg: string;
|
|
8
|
+
longMsg?: string;
|
|
9
|
+
stackTrace?: string;
|
|
10
|
+
};
|
|
11
|
+
anr?: {
|
|
12
|
+
processName: string;
|
|
13
|
+
pid: number;
|
|
14
|
+
processStats?: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
2
17
|
/**
|
|
3
|
-
* Renders an
|
|
4
|
-
*
|
|
5
|
-
* delivered with the event.
|
|
18
|
+
* Renders an appExit notification as human-readable text: the exit reason, crash or ANR
|
|
19
|
+
* details when present, and the recent app log tail delivered with the event.
|
|
6
20
|
*/
|
|
7
|
-
export declare function formatAppExit(info:
|
|
21
|
+
export declare function formatAppExit(appId: string, info: AppExitSummary, logs: string[]): string;
|
|
8
22
|
//# sourceMappingURL=format-app-exit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-app-exit.d.ts","sourceRoot":"","sources":["../../src/lib/format-app-exit.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"format-app-exit.d.ts","sourceRoot":"","sources":["../../src/lib/format-app-exit.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtG,GAAG,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CA0BzF"}
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.formatAppExit = formatAppExit;
|
|
4
4
|
/**
|
|
5
|
-
* Renders an
|
|
6
|
-
*
|
|
7
|
-
* delivered with the event.
|
|
5
|
+
* Renders an appExit notification as human-readable text: the exit reason, crash or ANR
|
|
6
|
+
* details when present, and the recent app log tail delivered with the event.
|
|
8
7
|
*/
|
|
9
|
-
function formatAppExit(info, logs) {
|
|
10
|
-
const lines = [`${
|
|
8
|
+
function formatAppExit(appId, info, logs) {
|
|
9
|
+
const lines = [`${appId} exited (reason: ${info.reason})`];
|
|
11
10
|
if (info.crash) {
|
|
12
11
|
lines.push(`Crash in ${info.crash.processName} (pid ${info.crash.pid}): ${info.crash.shortMsg}`);
|
|
12
|
+
if (info.crash.longMsg && info.crash.longMsg !== info.crash.shortMsg) {
|
|
13
|
+
lines.push(info.crash.longMsg);
|
|
14
|
+
}
|
|
13
15
|
if (info.crash.stackTrace) {
|
|
14
16
|
lines.push(info.crash.stackTrace.trimEnd());
|
|
15
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-app-exit.js","sourceRoot":"","sources":["../../src/lib/format-app-exit.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"format-app-exit.js","sourceRoot":"","sources":["../../src/lib/format-app-exit.ts"],"names":[],"mappings":";;AAWA,sCA0BC;AA9BD;;;GAGG;AACH,SAAgB,aAAa,CAAC,KAAa,EAAE,IAAoB,EAAE,IAAc;IAC/E,MAAM,KAAK,GAAa,CAAC,GAAG,KAAK,oBAAoB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAErE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,WAAW,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -4,7 +4,7 @@ const format_app_exit_1 = require("./format-app-exit");
|
|
|
4
4
|
describe('formatAppExit', () => {
|
|
5
5
|
it('formats a plain exit with logs', () => {
|
|
6
6
|
const info = { packageName: 'com.example.app', reason: 'exit' };
|
|
7
|
-
const out = (0, format_app_exit_1.formatAppExit)(info, ['line one', 'line two']);
|
|
7
|
+
const out = (0, format_app_exit_1.formatAppExit)(info.packageName, info, ['line one', 'line two']);
|
|
8
8
|
expect(out).toContain('com.example.app exited (reason: exit)');
|
|
9
9
|
expect(out).toContain('--- Recent app logs (2 lines) ---');
|
|
10
10
|
expect(out).toContain('line one');
|
|
@@ -23,9 +23,10 @@ describe('formatAppExit', () => {
|
|
|
23
23
|
timeMillis: 1700000000000,
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
|
-
const out = (0, format_app_exit_1.formatAppExit)(info, ['log line']);
|
|
26
|
+
const out = (0, format_app_exit_1.formatAppExit)(info.packageName, info, ['log line']);
|
|
27
27
|
expect(out).toContain('exited (reason: crash)');
|
|
28
28
|
expect(out).toContain('Crash in com.example.app (pid 4242): java.lang.RuntimeException');
|
|
29
|
+
expect(out).toContain('java.lang.RuntimeException: boom');
|
|
29
30
|
expect(out).toContain('\tat MainActivity.onCreate');
|
|
30
31
|
expect(out.indexOf('MainActivity')).toBeLessThan(out.indexOf('Recent app logs'));
|
|
31
32
|
});
|
|
@@ -35,15 +36,31 @@ describe('formatAppExit', () => {
|
|
|
35
36
|
reason: 'anr',
|
|
36
37
|
anr: { processName: 'com.example.app', pid: 77, processStats: 'CPU usage: 99%\n' },
|
|
37
38
|
};
|
|
38
|
-
const out = (0, format_app_exit_1.formatAppExit)(info, []);
|
|
39
|
+
const out = (0, format_app_exit_1.formatAppExit)(info.packageName, info, []);
|
|
39
40
|
expect(out).toContain('exited (reason: anr)');
|
|
40
41
|
expect(out).toContain('ANR in com.example.app (pid 77)');
|
|
41
42
|
expect(out).toContain('CPU usage: 99%');
|
|
42
43
|
expect(out).not.toContain('Recent app logs');
|
|
43
44
|
});
|
|
45
|
+
it('formats an iOS crash with its message', () => {
|
|
46
|
+
const out = (0, format_app_exit_1.formatAppExit)('com.example.ios', {
|
|
47
|
+
reason: 'crash',
|
|
48
|
+
crash: {
|
|
49
|
+
processName: 'App',
|
|
50
|
+
pid: 9,
|
|
51
|
+
shortMsg: 'EXC_BREAKPOINT (SIGTRAP)',
|
|
52
|
+
longMsg: 'App/main.swift:60: Fatal error: boom',
|
|
53
|
+
stackTrace: 'Thread Crashed:\n0 App 0x0000000100003aa0 Crasher.crash() + 128',
|
|
54
|
+
},
|
|
55
|
+
}, []);
|
|
56
|
+
expect(out).toContain('com.example.ios exited (reason: crash)');
|
|
57
|
+
expect(out).toContain('Crash in App (pid 9): EXC_BREAKPOINT (SIGTRAP)');
|
|
58
|
+
expect(out).toContain('Fatal error: boom');
|
|
59
|
+
expect(out).toContain('Crasher.crash() + 128');
|
|
60
|
+
});
|
|
44
61
|
it('omits the log section when no logs were delivered', () => {
|
|
45
62
|
const info = { packageName: 'com.example.app', reason: 'terminated' };
|
|
46
|
-
expect((0, format_app_exit_1.formatAppExit)(info, [])).toBe('com.example.app exited (reason: terminated)');
|
|
63
|
+
expect((0, format_app_exit_1.formatAppExit)(info.packageName, info, [])).toBe('com.example.app exited (reason: terminated)');
|
|
47
64
|
});
|
|
48
65
|
});
|
|
49
66
|
//# sourceMappingURL=format-app-exit.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-app-exit.test.js","sourceRoot":"","sources":["../../src/lib/format-app-exit.test.ts"],"names":[],"mappings":";;AAAA,uDAAkD;AAGlD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,IAAI,GAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAA,+BAAa,EAAC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"format-app-exit.test.js","sourceRoot":"","sources":["../../src/lib/format-app-exit.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lim",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.39.0",
|
|
4
4
|
"description": "Use remote XCode, Gradle, iOS Simulator, Android Emulator and more to build and test apps from Linux, Windows or macOS.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"lim": "./bin/run.js"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"test": "jest"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@limrun/api": "0.
|
|
28
|
+
"@limrun/api": "0.59.0",
|
|
29
29
|
"@oclif/core": "^4",
|
|
30
30
|
"cli-progress": "^3.12.0",
|
|
31
31
|
"cli-table3": "^0.6.5",
|