@limrun/cli 0.4.0 → 0.4.3
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/README.md +1 -0
- package/dist/base-command.d.ts +2 -0
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +22 -2
- package/dist/base-command.js.map +1 -1
- package/dist/commands/android/delete.d.ts.map +1 -1
- package/dist/commands/android/delete.js +13 -1
- package/dist/commands/android/delete.js.map +1 -1
- package/dist/commands/ios/delete.d.ts.map +1 -1
- package/dist/commands/ios/delete.js +12 -1
- package/dist/commands/ios/delete.js.map +1 -1
- package/dist/commands/session/stop.d.ts.map +1 -1
- package/dist/commands/session/stop.js +4 -5
- package/dist/commands/session/stop.js.map +1 -1
- package/dist/commands/xcode/build.d.ts.map +1 -1
- package/dist/commands/xcode/build.js +10 -7
- package/dist/commands/xcode/build.js.map +1 -1
- package/dist/commands/xcode/create.d.ts +1 -0
- package/dist/commands/xcode/create.d.ts.map +1 -1
- package/dist/commands/xcode/create.js +85 -2
- package/dist/commands/xcode/create.js.map +1 -1
- package/dist/commands/xcode/delete.d.ts.map +1 -1
- package/dist/commands/xcode/delete.js +14 -1
- package/dist/commands/xcode/delete.js.map +1 -1
- package/dist/commands/xcode/sync.d.ts.map +1 -1
- package/dist/commands/xcode/sync.js +6 -3
- package/dist/commands/xcode/sync.js.map +1 -1
- package/dist/lib/config.d.ts +9 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +19 -3
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/daemon.d.ts +1 -0
- package/dist/lib/daemon.d.ts.map +1 -1
- package/dist/lib/daemon.js +11 -0
- package/dist/lib/daemon.js.map +1 -1
- package/dist/lib/duration.d.ts +2 -0
- package/dist/lib/duration.d.ts.map +1 -0
- package/dist/lib/duration.js +37 -0
- package/dist/lib/duration.js.map +1 -0
- package/package.json +1 -1
- package/dist/commands/exec/element-tree.d.ts +0 -15
- package/dist/commands/exec/element-tree.d.ts.map +0 -1
- package/dist/commands/exec/element-tree.js +0 -61
- package/dist/commands/exec/element-tree.js.map +0 -1
- package/dist/commands/exec/install-app.d.ts +0 -17
- package/dist/commands/exec/install-app.d.ts.map +0 -1
- package/dist/commands/exec/install-app.js +0 -84
- package/dist/commands/exec/install-app.js.map +0 -1
- package/dist/commands/exec/open-url.d.ts +0 -17
- package/dist/commands/exec/open-url.d.ts.map +0 -1
- package/dist/commands/exec/open-url.js +0 -48
- package/dist/commands/exec/open-url.js.map +0 -1
- package/dist/commands/exec/perform.d.ts +0 -17
- package/dist/commands/exec/perform.d.ts.map +0 -1
- package/dist/commands/exec/perform.js +0 -232
- package/dist/commands/exec/perform.js.map +0 -1
- package/dist/commands/exec/press-key.d.ts +0 -18
- package/dist/commands/exec/press-key.d.ts.map +0 -1
- package/dist/commands/exec/press-key.js +0 -49
- package/dist/commands/exec/press-key.js.map +0 -1
- package/dist/commands/exec/record.d.ts +0 -21
- package/dist/commands/exec/record.d.ts.map +0 -1
- package/dist/commands/exec/record.js +0 -101
- package/dist/commands/exec/record.js.map +0 -1
- package/dist/commands/exec/screenshot.d.ts +0 -16
- package/dist/commands/exec/screenshot.d.ts.map +0 -1
- package/dist/commands/exec/screenshot.js +0 -72
- package/dist/commands/exec/screenshot.js.map +0 -1
- package/dist/commands/exec/scroll.d.ts +0 -18
- package/dist/commands/exec/scroll.d.ts.map +0 -1
- package/dist/commands/exec/scroll.js +0 -58
- package/dist/commands/exec/scroll.js.map +0 -1
- package/dist/commands/exec/tap-element.d.ts +0 -19
- package/dist/commands/exec/tap-element.d.ts.map +0 -1
- package/dist/commands/exec/tap-element.js +0 -102
- package/dist/commands/exec/tap-element.js.map +0 -1
- package/dist/commands/exec/tap.d.ts +0 -24
- package/dist/commands/exec/tap.d.ts.map +0 -1
- package/dist/commands/exec/tap.js +0 -57
- package/dist/commands/exec/tap.js.map +0 -1
- package/dist/commands/exec/type.d.ts +0 -18
- package/dist/commands/exec/type.d.ts.map +0 -1
- package/dist/commands/exec/type.js +0 -54
- package/dist/commands/exec/type.js.map +0 -1
- package/dist/commands/ios/log.d.ts +0 -20
- package/dist/commands/ios/log.d.ts.map +0 -1
- package/dist/commands/ios/log.js +0 -105
- package/dist/commands/ios/log.js.map +0 -1
package/README.md
CHANGED
|
@@ -352,6 +352,7 @@ Standalone Xcode build sandboxes for remote compilation.
|
|
|
352
352
|
|
|
353
353
|
```bash
|
|
354
354
|
lim xcode create # Create a new Xcode sandbox
|
|
355
|
+
lim xcode create --ios # Create an iOS instance with an attached Xcode sandbox
|
|
355
356
|
lim xcode list # List all ready Xcode instances
|
|
356
357
|
lim xcode get <ID> # Get details of a specific instance
|
|
357
358
|
lim xcode delete <ID> # Delete an instance
|
package/dist/base-command.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare abstract class BaseCommand extends Command {
|
|
|
9
9
|
private _client?;
|
|
10
10
|
protected get client(): Limrun;
|
|
11
11
|
private _parsedFlags?;
|
|
12
|
+
private _lastResolvedInstanceId?;
|
|
12
13
|
protected get parsedFlags(): Record<string, unknown> | undefined;
|
|
13
14
|
protected setParsedFlags(flags: Record<string, unknown>): void;
|
|
14
15
|
protected isJsonEnabled(): boolean;
|
|
@@ -25,5 +26,6 @@ export declare abstract class BaseCommand extends Command {
|
|
|
25
26
|
* Infers expected type from the command alias (e.g. "ios screenshot" -> "ios").
|
|
26
27
|
*/
|
|
27
28
|
protected resolveId(providedId: string | undefined): string;
|
|
29
|
+
private findMissingInstanceId;
|
|
28
30
|
}
|
|
29
31
|
//# sourceMappingURL=base-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAC7C,OAAO,MAA8C,MAAM,aAAa,CAAC;AASzE,8BAAsB,WAAY,SAAQ,OAAO;IAC/C,MAAM,CAAC,SAAS;;;;MAed;IAEF,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,SAAS,KAAK,MAAM,IAAI,MAAM,CAc7B;IAED,OAAO,CAAC,YAAY,CAAC,CAA0B;IAC/C,OAAO,CAAC,uBAAuB,CAAC,CAAS;IAEzC,SAAS,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAE/D;IAED,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,SAAS,CAAC,cAAc,IAAI,OAAO;IAInC,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAIvC,SAAS,CAAC,IAAI,CAAC,OAAO,SAAK,GAAG,IAAI;IAMlC,SAAS,CAAC,MAAM,CAAC,OAAO,SAAK,GAAG,IAAI;cAIpB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA4B7D,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAgBhE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIzC,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAKtD;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAU3D,OAAO,CAAC,qBAAqB;CAO9B"}
|
package/dist/base-command.js
CHANGED
|
@@ -39,7 +39,9 @@ const api_1 = __importStar(require("@limrun/api"));
|
|
|
39
39
|
const config_1 = require("./lib/config");
|
|
40
40
|
const auth_1 = require("./lib/auth");
|
|
41
41
|
const formatting_1 = require("./lib/formatting");
|
|
42
|
+
const daemon_1 = require("./lib/daemon");
|
|
42
43
|
const VERSION = require('../package.json').version;
|
|
44
|
+
const INSTANCE_ID_PATTERN = /\b(?:ios|android|xcode|sandbox)_[a-z0-9]+\b/i;
|
|
43
45
|
class BaseCommand extends core_1.Command {
|
|
44
46
|
get client() {
|
|
45
47
|
if (!this._client) {
|
|
@@ -89,7 +91,16 @@ class BaseCommand extends core_1.Command {
|
|
|
89
91
|
this.info('You are logged in now.');
|
|
90
92
|
// Reset client so it picks up the new key
|
|
91
93
|
this._client = undefined;
|
|
92
|
-
return fn
|
|
94
|
+
return this.withAuth(fn);
|
|
95
|
+
}
|
|
96
|
+
if (err instanceof api_1.NotFoundError) {
|
|
97
|
+
const instanceId = this.findMissingInstanceId(err);
|
|
98
|
+
if (instanceId) {
|
|
99
|
+
(0, daemon_1.stopDaemon)(instanceId);
|
|
100
|
+
(0, config_1.clearLastInstanceId)(instanceId);
|
|
101
|
+
(0, config_1.clearInstanceCache)(instanceId);
|
|
102
|
+
this.error(`Instance ${instanceId} was not found. Local session and cached state were cleaned up. Either create a new instance or provide --id to target a different one.`);
|
|
103
|
+
}
|
|
93
104
|
}
|
|
94
105
|
throw err;
|
|
95
106
|
}
|
|
@@ -126,7 +137,16 @@ class BaseCommand extends core_1.Command {
|
|
|
126
137
|
const parts = commandId.split(' ');
|
|
127
138
|
const noun = parts[0];
|
|
128
139
|
const expectedType = ['ios', 'android', 'xcode'].includes(noun) ? noun : undefined;
|
|
129
|
-
|
|
140
|
+
const id = (0, config_1.resolveInstanceId)(providedId, expectedType);
|
|
141
|
+
this._lastResolvedInstanceId = id;
|
|
142
|
+
return id;
|
|
143
|
+
}
|
|
144
|
+
findMissingInstanceId(err) {
|
|
145
|
+
const match = err.message.match(INSTANCE_ID_PATTERN);
|
|
146
|
+
if (match) {
|
|
147
|
+
return match[0];
|
|
148
|
+
}
|
|
149
|
+
return this._lastResolvedInstanceId ?? null;
|
|
130
150
|
}
|
|
131
151
|
}
|
|
132
152
|
exports.BaseCommand = BaseCommand;
|
package/dist/base-command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/android/delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/android/delete.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAgC;IAC9C,MAAM,CAAC,WAAW,SAAgD;IAClE,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkB3B"}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const api_1 = require("@limrun/api");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const base_command_1 = require("../../base-command");
|
|
6
|
+
const config_1 = require("../../lib/config");
|
|
7
|
+
const daemon_1 = require("../../lib/daemon");
|
|
5
8
|
class AndroidDelete extends base_command_1.BaseCommand {
|
|
6
9
|
async run() {
|
|
7
10
|
const { args, flags } = await this.parse(AndroidDelete);
|
|
8
11
|
this.setParsedFlags(flags);
|
|
9
12
|
await this.withAuth(async () => {
|
|
10
|
-
|
|
13
|
+
try {
|
|
14
|
+
await this.client.androidInstances.delete(args.id);
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
if (!(err instanceof api_1.NotFoundError)) {
|
|
18
|
+
throw err;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
(0, daemon_1.stopDaemon)(args.id);
|
|
22
|
+
(0, config_1.clearLastInstanceId)(args.id);
|
|
11
23
|
this.log(`Deleted Android instance: ${args.id}`);
|
|
12
24
|
});
|
|
13
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/android/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/android/delete.ts"],"names":[],"mappings":";;AAAA,qCAA4C;AAC5C,sCAAmC;AACnC,qDAAiD;AACjD,6CAAuD;AACvD,6CAA8C;AAE9C,MAAqB,aAAc,SAAQ,0BAAW;IAcpD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,GAAG,YAAY,mBAAa,CAAC,EAAE,CAAC;oBACpC,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,IAAA,mBAAU,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,IAAA,4BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;;AA9BM,qBAAO,GAAG,4BAA4B,CAAC;AACvC,yBAAW,GAAG,4CAA4C,CAAC;AAC3D,sBAAQ,GAAG;IAChB,uCAAuC;IACvC,iDAAiD;CAClD,CAAC;AAEK,kBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAClF,CAAC;AAEK,mBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBAZzB,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/delete.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA4B;IAC1C,MAAM,CAAC,WAAW,SAAwF;IAC1G,MAAM,CAAC,QAAQ,WAAoF;IAEnG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB3B"}
|
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const api_1 = require("@limrun/api");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const base_command_1 = require("../../base-command");
|
|
5
6
|
const config_1 = require("../../lib/config");
|
|
7
|
+
const daemon_1 = require("../../lib/daemon");
|
|
6
8
|
class IosDelete extends base_command_1.BaseCommand {
|
|
7
9
|
async run() {
|
|
8
10
|
const { args, flags } = await this.parse(IosDelete);
|
|
9
11
|
this.setParsedFlags(flags);
|
|
10
12
|
await this.withAuth(async () => {
|
|
11
|
-
|
|
13
|
+
try {
|
|
14
|
+
await this.client.iosInstances.delete(args.id);
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
if (!(err instanceof api_1.NotFoundError)) {
|
|
18
|
+
throw err;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
(0, daemon_1.stopDaemon)(args.id);
|
|
22
|
+
(0, config_1.clearLastInstanceId)(args.id);
|
|
12
23
|
(0, config_1.clearInstanceCache)(args.id);
|
|
13
24
|
this.log(`Deleted iOS instance: ${args.id}`);
|
|
14
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/ios/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/ios/delete.ts"],"names":[],"mappings":";;AAAA,qCAA4C;AAC5C,sCAAmC;AACnC,qDAAiD;AACjD,6CAA2E;AAC3E,6CAA8C;AAE9C,MAAqB,SAAU,SAAQ,0BAAW;IAWhD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,GAAG,YAAY,mBAAa,CAAC,EAAE,CAAC;oBACpC,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,IAAA,mBAAU,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,IAAA,4BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAA,2BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;;AA5BM,iBAAO,GAAG,wBAAwB,CAAC;AACnC,qBAAW,GAAG,oFAAoF,CAAC;AACnG,kBAAQ,GAAG,CAAC,mCAAmC,EAAE,yCAAyC,CAAC,CAAC;AAE5F,cAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAC9E,CAAC;AAEK,eAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBATzB,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/commands/session/stop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/commands/session/stop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AASjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAqC;IACnD,MAAM,CAAC,WAAW,SACoJ;IAEtK,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,KAAK;;;;;;MAUV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA6C1B,OAAO,CAAC,WAAW;CAQpB"}
|
|
@@ -46,12 +46,11 @@ class SessionStop extends base_command_1.BaseCommand {
|
|
|
46
46
|
}
|
|
47
47
|
stopSession(instanceId, pid) {
|
|
48
48
|
if (pid) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
(0, daemon_1.stopDaemon)(instanceId);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
(0, daemon_1.clearSession)(instanceId);
|
|
53
53
|
}
|
|
54
|
-
(0, daemon_1.clearSession)(instanceId);
|
|
55
54
|
this.log(`Session stopped for ${instanceId}.`);
|
|
56
55
|
}
|
|
57
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/session/stop.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/session/stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAwC;IACtD,MAAM,CAAC,WAAW,SACwR;IAE1S,MAAM,CAAC,QAAQ,WASb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAuBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAwDZ,iCAAiC;CA8BhD"}
|
|
@@ -5,6 +5,7 @@ const base_command_1 = require("../../base-command");
|
|
|
5
5
|
const instance_client_factory_1 = require("../../lib/instance-client-factory");
|
|
6
6
|
const config_1 = require("../../lib/config");
|
|
7
7
|
const ignore_patterns_1 = require("../../lib/ignore-patterns");
|
|
8
|
+
const duration_1 = require("../../lib/duration");
|
|
8
9
|
class XcodeBuild extends base_command_1.BaseCommand {
|
|
9
10
|
async run() {
|
|
10
11
|
const { args, flags } = await this.parse(XcodeBuild);
|
|
@@ -25,6 +26,7 @@ class XcodeBuild extends base_command_1.BaseCommand {
|
|
|
25
26
|
options.upload = { assetName: flags.upload };
|
|
26
27
|
}
|
|
27
28
|
this.info(`Syncing ${syncPath} to instance ${id}...`);
|
|
29
|
+
const syncStart = Date.now();
|
|
28
30
|
await xcodeClient.sync(syncPath, {
|
|
29
31
|
watch: false,
|
|
30
32
|
install: false,
|
|
@@ -32,14 +34,15 @@ class XcodeBuild extends base_command_1.BaseCommand {
|
|
|
32
34
|
maxPatchBytes: flags['max-patch-bytes'],
|
|
33
35
|
ignore: (0, ignore_patterns_1.compileIgnorePatterns)(flags.ignore),
|
|
34
36
|
});
|
|
35
|
-
|
|
37
|
+
const syncDuration = (0, duration_1.formatDurationMs)(Date.now() - syncStart);
|
|
38
|
+
this.info(`Sync complete in ${syncDuration}.`);
|
|
36
39
|
this.info('Starting xcodebuild...');
|
|
37
40
|
const proc = xcodeClient.xcodebuild(Object.keys(settings).length > 0 ? settings : undefined, Object.keys(options).length > 0 ? options : undefined);
|
|
38
|
-
proc.stdout.on('data', (
|
|
39
|
-
process.stdout.write(
|
|
41
|
+
proc.stdout.on('data', (line) => {
|
|
42
|
+
process.stdout.write(line + '\n');
|
|
40
43
|
});
|
|
41
|
-
proc.stderr.on('data', (
|
|
42
|
-
process.stderr.write(
|
|
44
|
+
proc.stderr.on('data', (line) => {
|
|
45
|
+
process.stderr.write(line + '\n');
|
|
43
46
|
});
|
|
44
47
|
const result = await proc;
|
|
45
48
|
if (result.exitCode !== 0) {
|
|
@@ -62,7 +65,7 @@ class XcodeBuild extends base_command_1.BaseCommand {
|
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
67
|
if (!sandboxUrl) {
|
|
65
|
-
this.error(`iOS instance ${id} does not have a Xcode sandbox. Create it with: lim ios create --xcode`);
|
|
68
|
+
this.error(`iOS instance ${id} does not have a Xcode sandbox. Create it with: lim ios create --xcode or lim xcode create --ios`);
|
|
66
69
|
}
|
|
67
70
|
return this.client.xcodeInstances.createClient({
|
|
68
71
|
apiUrl: sandboxUrl,
|
|
@@ -74,7 +77,7 @@ class XcodeBuild extends base_command_1.BaseCommand {
|
|
|
74
77
|
}
|
|
75
78
|
}
|
|
76
79
|
XcodeBuild.summary = 'Run xcodebuild on an Xcode sandbox';
|
|
77
|
-
XcodeBuild.description = 'Sync a local project path once (or the current working directory if omitted), then trigger a remote xcodebuild with streaming output. This works with standalone Xcode instances and can also target an iOS instance with `--xcode` enabled when you pass `--id`.';
|
|
80
|
+
XcodeBuild.description = 'Sync a local project path once (or the current working directory if omitted), then trigger a remote xcodebuild with streaming output. This works with standalone Xcode instances and can also target an iOS instance with `--xcode` enabled or created via `xcode create --ios` when you pass `--id`.';
|
|
78
81
|
XcodeBuild.examples = [
|
|
79
82
|
'<%= config.bin %> xcode build',
|
|
80
83
|
'<%= config.bin %> xcode build ./MyProject',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/xcode/build.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,+EAAuE;AACvE,6CAAqD;AACrD,+DAAkE;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/xcode/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export default class XcodeCreate extends BaseCommand {
|
|
|
11
11
|
'inactivity-timeout': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
12
|
label: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
13
|
'reuse-if-exists': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
ios: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
15
|
'api-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
16
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
17
|
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAiC;IAC/C,MAAM,CAAC,WAAW,SACoK;IAEtL,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MAyBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4I3B"}
|
|
@@ -4,11 +4,90 @@ const core_1 = require("@oclif/core");
|
|
|
4
4
|
const base_command_1 = require("../../base-command");
|
|
5
5
|
const formatting_1 = require("../../lib/formatting");
|
|
6
6
|
const config_1 = require("../../lib/config");
|
|
7
|
+
function xcodeSandboxIdFromUrl(url) {
|
|
8
|
+
return url.match(/\/(sandbox_[^/]+)(?:\/|$)/)?.[1];
|
|
9
|
+
}
|
|
7
10
|
class XcodeCreate extends base_command_1.BaseCommand {
|
|
8
11
|
async run() {
|
|
9
12
|
const { flags } = await this.parse(XcodeCreate);
|
|
10
13
|
this.setParsedFlags(flags);
|
|
11
14
|
await this.withAuth(async () => {
|
|
15
|
+
const labels = (0, formatting_1.parseLabels)(flags.label);
|
|
16
|
+
if (flags.ios) {
|
|
17
|
+
const params = {
|
|
18
|
+
wait: true,
|
|
19
|
+
reuseIfExists: flags['reuse-if-exists'] || undefined,
|
|
20
|
+
spec: {
|
|
21
|
+
sandbox: { xcode: { enabled: true } },
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
if (flags.region)
|
|
25
|
+
params.spec.region = flags.region;
|
|
26
|
+
if (flags['hard-timeout'])
|
|
27
|
+
params.spec.hardTimeout = flags['hard-timeout'];
|
|
28
|
+
if (flags['inactivity-timeout'])
|
|
29
|
+
params.spec.inactivityTimeout = flags['inactivity-timeout'];
|
|
30
|
+
if (flags['display-name'] || labels) {
|
|
31
|
+
params.metadata = {};
|
|
32
|
+
if (flags['display-name'])
|
|
33
|
+
params.metadata.displayName = flags['display-name'];
|
|
34
|
+
if (labels)
|
|
35
|
+
params.metadata.labels = labels;
|
|
36
|
+
}
|
|
37
|
+
const start = Date.now();
|
|
38
|
+
const instance = await this.client.iosInstances.create(params);
|
|
39
|
+
const consoleUrl = this.consoleStreamUrl(instance.metadata.id);
|
|
40
|
+
const xcodeSandboxUrl = instance.status.sandbox?.xcode?.url;
|
|
41
|
+
const xcodeSandboxId = xcodeSandboxUrl ? xcodeSandboxIdFromUrl(xcodeSandboxUrl) : undefined;
|
|
42
|
+
(0, config_1.saveLastInstanceId)(instance.metadata.id);
|
|
43
|
+
(0, config_1.saveLastInstanceId)(instance.metadata.id, 'xcode');
|
|
44
|
+
this.info(`Created a new iOS instance with Xcode sandbox in ${((Date.now() - start) / 1000).toFixed(1)}s`);
|
|
45
|
+
this.info('iOS Instance:');
|
|
46
|
+
this.info(` ID: ${instance.metadata.id}`);
|
|
47
|
+
this.info(` Console URL: ${consoleUrl}`);
|
|
48
|
+
this.info(` Region: ${instance.spec.region}`);
|
|
49
|
+
this.info(` State: ${instance.status.state}`);
|
|
50
|
+
if (xcodeSandboxUrl) {
|
|
51
|
+
this.info('Xcode Sandbox:');
|
|
52
|
+
if (xcodeSandboxId) {
|
|
53
|
+
this.info(` ID: ${xcodeSandboxId}`);
|
|
54
|
+
}
|
|
55
|
+
this.info(` URL: ${xcodeSandboxUrl}`);
|
|
56
|
+
(0, config_1.saveInstanceCache)(instance.metadata.id, {
|
|
57
|
+
sandboxXcodeUrl: xcodeSandboxUrl,
|
|
58
|
+
token: instance.status.token,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (flags.json) {
|
|
62
|
+
this.outputJson(instance);
|
|
63
|
+
}
|
|
64
|
+
else if (this.isQuietEnabled()) {
|
|
65
|
+
this.output(instance.metadata.id);
|
|
66
|
+
}
|
|
67
|
+
if (flags.rm) {
|
|
68
|
+
const cleanup = async () => {
|
|
69
|
+
try {
|
|
70
|
+
await this.client.iosInstances.delete(instance.metadata.id);
|
|
71
|
+
this.info(`${instance.metadata.id} is deleted`);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
this.info(`Failed to delete instance: ${e}`);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
this.info('Instance running. Press Ctrl+C to stop and delete.');
|
|
78
|
+
await new Promise((resolve) => {
|
|
79
|
+
const keepAlive = setInterval(() => { }, 1 << 30);
|
|
80
|
+
const shutdown = () => {
|
|
81
|
+
clearInterval(keepAlive);
|
|
82
|
+
resolve();
|
|
83
|
+
};
|
|
84
|
+
process.on('SIGINT', shutdown);
|
|
85
|
+
process.on('SIGTERM', shutdown);
|
|
86
|
+
});
|
|
87
|
+
await cleanup();
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
12
91
|
const params = {
|
|
13
92
|
wait: true,
|
|
14
93
|
reuseIfExists: flags['reuse-if-exists'] || undefined,
|
|
@@ -20,7 +99,6 @@ class XcodeCreate extends base_command_1.BaseCommand {
|
|
|
20
99
|
params.spec.hardTimeout = flags['hard-timeout'];
|
|
21
100
|
if (flags['inactivity-timeout'])
|
|
22
101
|
params.spec.inactivityTimeout = flags['inactivity-timeout'];
|
|
23
|
-
const labels = (0, formatting_1.parseLabels)(flags.label);
|
|
24
102
|
if (flags['display-name'] || labels) {
|
|
25
103
|
params.metadata = {};
|
|
26
104
|
if (flags['display-name'])
|
|
@@ -70,9 +148,10 @@ class XcodeCreate extends base_command_1.BaseCommand {
|
|
|
70
148
|
}
|
|
71
149
|
}
|
|
72
150
|
XcodeCreate.summary = 'Create a new Xcode instance';
|
|
73
|
-
XcodeCreate.description = 'Create a new cloud Xcode sandbox for remote sync and build workflows.
|
|
151
|
+
XcodeCreate.description = 'Create a new cloud Xcode sandbox for remote sync and build workflows. Use `--ios` to create an iOS instance with an attached Xcode sandbox instead of a standalone Xcode sandbox.';
|
|
74
152
|
XcodeCreate.examples = [
|
|
75
153
|
'<%= config.bin %> xcode create',
|
|
154
|
+
'<%= config.bin %> xcode create --ios',
|
|
76
155
|
'<%= config.bin %> xcode create --rm --region us-west',
|
|
77
156
|
'<%= config.bin %> xcode create --label env=dev --display-name ci-builder',
|
|
78
157
|
];
|
|
@@ -96,6 +175,10 @@ XcodeCreate.flags = {
|
|
|
96
175
|
description: 'Reuse an existing matching instance instead of creating a new one',
|
|
97
176
|
default: false,
|
|
98
177
|
}),
|
|
178
|
+
ios: core_1.Flags.boolean({
|
|
179
|
+
description: 'Create an iOS instance with an attached Xcode sandbox instead of a standalone Xcode sandbox',
|
|
180
|
+
default: false,
|
|
181
|
+
}),
|
|
99
182
|
};
|
|
100
183
|
exports.default = XcodeCreate;
|
|
101
184
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/xcode/create.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,qDAAiD;AACjD,qDAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/xcode/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/delete.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAA8B;IAC5C,MAAM,CAAC,WAAW,SAAsD;IACxE,MAAM,CAAC,QAAQ,WAA0F;IAEzG,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAAgC;IAEtC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmB3B"}
|
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const api_1 = require("@limrun/api");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const base_command_1 = require("../../base-command");
|
|
6
|
+
const config_1 = require("../../lib/config");
|
|
7
|
+
const daemon_1 = require("../../lib/daemon");
|
|
5
8
|
class XcodeDelete extends base_command_1.BaseCommand {
|
|
6
9
|
async run() {
|
|
7
10
|
const { args, flags } = await this.parse(XcodeDelete);
|
|
8
11
|
this.setParsedFlags(flags);
|
|
9
12
|
await this.withAuth(async () => {
|
|
10
|
-
|
|
13
|
+
try {
|
|
14
|
+
await this.client.xcodeInstances.delete(args.id);
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
if (!(err instanceof api_1.NotFoundError)) {
|
|
18
|
+
throw err;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
(0, daemon_1.stopDaemon)(args.id);
|
|
22
|
+
(0, config_1.clearLastInstanceId)(args.id);
|
|
23
|
+
(0, config_1.clearInstanceCache)(args.id);
|
|
11
24
|
this.log(`Deleted Xcode instance: ${args.id}`);
|
|
12
25
|
});
|
|
13
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/xcode/delete.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AACnC,qDAAiD;
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/xcode/delete.ts"],"names":[],"mappings":";;AAAA,qCAA4C;AAC5C,sCAAmC;AACnC,qDAAiD;AACjD,6CAA2E;AAC3E,6CAA8C;AAE9C,MAAqB,WAAY,SAAQ,0BAAW;IAWlD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,CAAC,GAAG,YAAY,mBAAa,CAAC,EAAE,CAAC;oBACpC,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,IAAA,mBAAU,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,IAAA,4BAAmB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAA,2BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;;AA5BM,mBAAO,GAAG,0BAA0B,CAAC;AACrC,uBAAW,GAAG,kDAAkD,CAAC;AACjE,oBAAQ,GAAG,CAAC,qCAAqC,EAAE,6CAA6C,CAAC,CAAC;AAElG,gBAAI,GAAG;IACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CAChF,CAAC;AAEK,iBAAK,GAAG,EAAE,GAAG,0BAAW,CAAC,SAAS,EAAE,CAAC;kBATzB,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA6D;IAC3E,MAAM,CAAC,WAAW,SACkc;IAEpd,MAAM,CAAC,QAAQ,WAMb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MA2BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAuCZ,kBAAkB;CA8BjC"}
|
|
@@ -5,6 +5,7 @@ const base_command_1 = require("../../base-command");
|
|
|
5
5
|
const ignore_patterns_1 = require("../../lib/ignore-patterns");
|
|
6
6
|
const instance_client_factory_1 = require("../../lib/instance-client-factory");
|
|
7
7
|
const config_1 = require("../../lib/config");
|
|
8
|
+
const duration_1 = require("../../lib/duration");
|
|
8
9
|
class XcodeSync extends base_command_1.BaseCommand {
|
|
9
10
|
async run() {
|
|
10
11
|
const { args, flags } = await this.parse(XcodeSync);
|
|
@@ -14,6 +15,7 @@ class XcodeSync extends base_command_1.BaseCommand {
|
|
|
14
15
|
const syncPath = args.path ?? process.cwd();
|
|
15
16
|
const xcodeClient = await this.resolveXcodeClient(id);
|
|
16
17
|
this.info(`Syncing ${syncPath} to instance ${id}...`);
|
|
18
|
+
const syncStart = Date.now();
|
|
17
19
|
const result = await xcodeClient.sync(syncPath, {
|
|
18
20
|
watch: flags.watch,
|
|
19
21
|
install: flags.install,
|
|
@@ -21,7 +23,8 @@ class XcodeSync extends base_command_1.BaseCommand {
|
|
|
21
23
|
maxPatchBytes: flags['max-patch-bytes'],
|
|
22
24
|
ignore: (0, ignore_patterns_1.compileIgnorePatterns)(flags.ignore),
|
|
23
25
|
});
|
|
24
|
-
|
|
26
|
+
const syncDuration = (0, duration_1.formatDurationMs)(Date.now() - syncStart);
|
|
27
|
+
this.output(`Sync complete in ${syncDuration}.`);
|
|
25
28
|
if (flags.watch && result.stopWatching) {
|
|
26
29
|
this.output('Watching for changes. Press Ctrl+C to stop.');
|
|
27
30
|
await new Promise((resolve) => {
|
|
@@ -51,7 +54,7 @@ class XcodeSync extends base_command_1.BaseCommand {
|
|
|
51
54
|
}
|
|
52
55
|
}
|
|
53
56
|
if (!sandboxUrl) {
|
|
54
|
-
this.error(`iOS instance ${id} does not have a Xcode sandbox. Create it with: lim ios create --xcode`);
|
|
57
|
+
this.error(`iOS instance ${id} does not have a Xcode sandbox. Create it with: lim ios create --xcode or lim xcode create --ios`);
|
|
55
58
|
}
|
|
56
59
|
return this.client.xcodeInstances.createClient({
|
|
57
60
|
apiUrl: sandboxUrl,
|
|
@@ -63,7 +66,7 @@ class XcodeSync extends base_command_1.BaseCommand {
|
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
68
|
XcodeSync.summary = 'Continuously sync local source code to an Xcode sandbox';
|
|
66
|
-
XcodeSync.description = 'Push local source code and project files (or the current working directory if omitted) to a remote Xcode sandbox with optional watch mode. This command is mostly useful for continuous sync workflows with `--watch`; for most one-shot builds, use `xcode build`, which already syncs the project path first. This works with standalone Xcode instances and can also target an iOS instance with `--xcode` enabled when you pass `--id`.';
|
|
69
|
+
XcodeSync.description = 'Push local source code and project files (or the current working directory if omitted) to a remote Xcode sandbox with optional watch mode. This command is mostly useful for continuous sync workflows with `--watch`; for most one-shot builds, use `xcode build`, which already syncs the project path first. This works with standalone Xcode instances and can also target an iOS instance with `--xcode` enabled or created via `xcode create --ios` when you pass `--id`.';
|
|
67
70
|
XcodeSync.examples = [
|
|
68
71
|
'<%= config.bin %> xcode sync --watch',
|
|
69
72
|
'<%= config.bin %> xcode sync ./MyProject --id <ios-instance-ID> --no-install',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/xcode/sync.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,+DAAkE;AAClE,+EAAuE;AACvE,6CAAqD;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/xcode/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -12,8 +12,15 @@ export interface LimConfig {
|
|
|
12
12
|
export declare function readConfig(): LimConfig;
|
|
13
13
|
export declare function writeConfig(partial: Partial<Record<string, string>>): void;
|
|
14
14
|
export declare function clearApiKey(): void;
|
|
15
|
-
|
|
15
|
+
interface LastInstances {
|
|
16
|
+
ios?: string;
|
|
17
|
+
android?: string;
|
|
18
|
+
xcode?: string;
|
|
19
|
+
}
|
|
20
|
+
type LastInstanceType = keyof LastInstances;
|
|
21
|
+
export declare function saveLastInstanceId(instanceId: string, asType?: LastInstanceType): void;
|
|
16
22
|
export declare function loadLastInstanceId(type?: string): string | null;
|
|
23
|
+
export declare function clearLastInstanceId(instanceId: string): void;
|
|
17
24
|
/**
|
|
18
25
|
* Resolve an instance ID from explicit arg, active session, or last-used fallback.
|
|
19
26
|
* Throws with a helpful message if no ID can be determined.
|
|
@@ -26,4 +33,5 @@ export interface InstanceCache {
|
|
|
26
33
|
export declare function saveInstanceCache(instanceId: string, data: InstanceCache): void;
|
|
27
34
|
export declare function loadInstanceCache(instanceId: string): InstanceCache | null;
|
|
28
35
|
export declare function clearInstanceCache(instanceId: string): void;
|
|
36
|
+
export {};
|
|
29
37
|
//# sourceMappingURL=config.d.ts.map
|