lim 0.28.5 → 0.29.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/README.md +34 -22
- package/dist/base-command.d.ts +1 -7
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +57 -68
- package/dist/base-command.js.map +1 -1
- package/dist/commands/gradle/build.d.ts +1 -0
- package/dist/commands/gradle/build.d.ts.map +1 -1
- package/dist/commands/gradle/build.js +4 -0
- package/dist/commands/gradle/build.js.map +1 -1
- package/dist/commands/ios/{stop-microphone-playback.d.ts → attach-xcode.d.ts} +6 -3
- package/dist/commands/ios/attach-xcode.d.ts.map +1 -0
- package/dist/commands/ios/attach-xcode.js +66 -0
- package/dist/commands/ios/attach-xcode.js.map +1 -0
- package/dist/commands/ios/create.d.ts.map +1 -1
- package/dist/commands/ios/create.js +62 -20
- package/dist/commands/ios/create.js.map +1 -1
- package/dist/commands/ios/{play-on-microphone.d.ts → microphone.d.ts} +4 -3
- package/dist/commands/ios/microphone.d.ts.map +1 -0
- package/dist/commands/ios/microphone.js +89 -0
- package/dist/commands/ios/microphone.js.map +1 -0
- package/dist/commands/run.d.ts +4 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +61 -23
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/xcode/attach-simulator.js +1 -1
- package/dist/commands/xcode/attach-simulator.js.map +1 -1
- package/dist/commands/xcode/build.d.ts +2 -0
- package/dist/commands/xcode/build.d.ts.map +1 -1
- package/dist/commands/xcode/build.js +25 -3
- package/dist/commands/xcode/build.js.map +1 -1
- package/dist/commands/xcode/create.d.ts.map +1 -1
- package/dist/commands/xcode/create.js +76 -101
- package/dist/commands/xcode/create.js.map +1 -1
- package/dist/commands/xcode/rbe/index.d.ts.map +1 -1
- package/dist/commands/xcode/rbe/index.js +1 -1
- package/dist/commands/xcode/rbe/index.js.map +1 -1
- package/dist/commands/xcode/rbe/upload.d.ts.map +1 -1
- package/dist/commands/xcode/rbe/upload.js +1 -1
- package/dist/commands/xcode/rbe/upload.js.map +1 -1
- package/dist/commands/xcode/set-instance.js +1 -1
- package/dist/commands/xcode/set-instance.js.map +1 -1
- package/dist/commands/xcode/sync.d.ts.map +1 -1
- package/dist/commands/xcode/sync.js +2 -2
- package/dist/commands/xcode/sync.js.map +1 -1
- package/dist/lib/gradle-build-options.d.ts +1 -0
- package/dist/lib/gradle-build-options.d.ts.map +1 -1
- package/dist/lib/gradle-build-options.js +4 -1
- package/dist/lib/gradle-build-options.js.map +1 -1
- package/dist/lib/telemetry-config.d.ts +1 -1
- package/dist/lib/telemetry-config.d.ts.map +1 -1
- package/dist/lib/telemetry-config.js +1 -1
- package/dist/lib/telemetry-config.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/ios/play-on-microphone.d.ts.map +0 -1
- package/dist/commands/ios/play-on-microphone.js +0 -69
- package/dist/commands/ios/play-on-microphone.js.map +0 -1
- package/dist/commands/ios/stop-microphone-playback.d.ts.map +0 -1
- package/dist/commands/ios/stop-microphone-playback.js +0 -41
- package/dist/commands/ios/stop-microphone-playback.js.map +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../base-command");
|
|
5
|
+
const config_1 = require("../../lib/config");
|
|
6
|
+
const simulator_attach_1 = require("../../lib/simulator-attach");
|
|
7
|
+
class IosAttachXcode extends base_command_1.BaseCommand {
|
|
8
|
+
async run() {
|
|
9
|
+
const { args, flags } = await this.parse(IosAttachXcode);
|
|
10
|
+
this.setParsedFlags(flags);
|
|
11
|
+
await this.withAuth(async () => {
|
|
12
|
+
const simulator = this.resolveIosInstance(flags.id);
|
|
13
|
+
const xcodeTarget = await this.resolveXcodeTarget(args.xcodeId);
|
|
14
|
+
const xcodeInstanceId = xcodeTarget.id;
|
|
15
|
+
const xcodeClient = await this.resolveXcodeClient(xcodeTarget);
|
|
16
|
+
let attachInput;
|
|
17
|
+
if (simulator.apiUrl && simulator.token) {
|
|
18
|
+
attachInput = { apiUrl: simulator.apiUrl, token: simulator.token };
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const instance = await this.client.iosInstances.get(simulator.id);
|
|
22
|
+
(0, config_1.registerCreatedInstance)(instance);
|
|
23
|
+
attachInput = instance;
|
|
24
|
+
}
|
|
25
|
+
this.info(`Attaching Xcode target ${xcodeInstanceId} to simulator ${simulator.id}...`);
|
|
26
|
+
const result = await xcodeClient.attachSimulator(attachInput);
|
|
27
|
+
if (flags.json) {
|
|
28
|
+
this.outputJson((0, simulator_attach_1.simulatorAttachJson)(simulator.id, xcodeInstanceId, result));
|
|
29
|
+
}
|
|
30
|
+
else if (this.isQuietEnabled()) {
|
|
31
|
+
this.output(xcodeInstanceId);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.output((0, simulator_attach_1.formatSimulatorAttachResult)(simulator.id, xcodeInstanceId, result));
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
IosAttachXcode.summary = 'Attach an Xcode instance to an iOS simulator';
|
|
40
|
+
IosAttachXcode.description = 'Attach an Xcode sandbox to an existing iOS simulator so future builds can auto-install on that simulator. ' +
|
|
41
|
+
'When the Xcode target is omitted, the LIM_XCODE_INSTANCE_URL/LIM_XCODE_INSTANCE_TOKEN pair or the last used ' +
|
|
42
|
+
'Xcode-capable target is attached; if the simulator credentials are known locally, no API key is needed.';
|
|
43
|
+
IosAttachXcode.examples = [
|
|
44
|
+
'<%= config.bin %> ios attach-xcode',
|
|
45
|
+
'<%= config.bin %> ios attach-xcode <xcode-instance-ID>',
|
|
46
|
+
'<%= config.bin %> ios attach-xcode <xcode-instance-ID> --id <ios-instance-ID>',
|
|
47
|
+
];
|
|
48
|
+
IosAttachXcode.args = {
|
|
49
|
+
xcodeId: core_1.Args.string({
|
|
50
|
+
description: 'Xcode target to attach. Defaults to the environment-pinned or last used Xcode target.',
|
|
51
|
+
required: false,
|
|
52
|
+
}),
|
|
53
|
+
};
|
|
54
|
+
IosAttachXcode.flags = {
|
|
55
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
56
|
+
create: core_1.Flags.boolean({
|
|
57
|
+
hidden: true,
|
|
58
|
+
default: false,
|
|
59
|
+
allowNo: true,
|
|
60
|
+
}),
|
|
61
|
+
id: core_1.Flags.string({
|
|
62
|
+
description: 'iOS simulator instance ID to attach. Defaults to the last used iOS simulator.',
|
|
63
|
+
}),
|
|
64
|
+
};
|
|
65
|
+
exports.default = IosAttachXcode;
|
|
66
|
+
//# sourceMappingURL=attach-xcode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach-xcode.js","sourceRoot":"","sources":["../../../src/commands/ios/attach-xcode.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAC1C,qDAAiD;AACjD,6CAA2D;AAC3D,iEAA8F;AAE9F,MAAqB,cAAe,SAAQ,0BAAW;IAgCrD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChE,MAAM,eAAe,GAAG,WAAW,CAAC,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAE/D,IAAI,WAA8D,CAAC;YACnE,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACxC,WAAW,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAClE,IAAA,gCAAuB,EAAC,QAAQ,CAAC,CAAC;gBAClC,WAAW,GAAG,QAAQ,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,0BAA0B,eAAe,iBAAiB,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAE9D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,IAAA,sCAAmB,EAAC,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9E,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAA,8CAA2B,EAAC,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YAClF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;AA7DM,sBAAO,GAAG,8CAA8C,CAAC;AACzD,0BAAW,GAChB,4GAA4G;IAC5G,8GAA8G;IAC9G,yGAAyG,CAAC;AAErG,uBAAQ,GAAG;IAChB,oCAAoC;IACpC,wDAAwD;IACxD,+EAA+E;CAChF,CAAC;AAEK,mBAAI,GAAG;IACZ,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,uFAAuF;QACpG,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAC;AAEK,oBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,MAAM,EAAE,YAAK,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;KACd,CAAC;IACF,EAAE,EAAE,YAAK,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,+EAA+E;KAC7F,CAAC;CACH,CAAC;kBA9BiB,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,OAAO,SAA+B;IAC7C,MAAM,CAAC,WAAW,SAC4K;IAE9L,MAAM,CAAC,QAAQ,WASb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgFV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkP3B"}
|
|
@@ -9,7 +9,6 @@ const base_command_1 = require("../../base-command");
|
|
|
9
9
|
const formatting_1 = require("../../lib/formatting");
|
|
10
10
|
const config_1 = require("../../lib/config");
|
|
11
11
|
const browser_1 = require("../../lib/browser");
|
|
12
|
-
const xcode_sandbox_1 = require("../../lib/xcode-sandbox");
|
|
13
12
|
const simulator_attach_1 = require("../../lib/simulator-attach");
|
|
14
13
|
const duration_1 = require("../../lib/duration");
|
|
15
14
|
const keychain_encryption_key_1 = require("../../lib/keychain-encryption-key");
|
|
@@ -107,9 +106,6 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
107
106
|
params.spec.inactivityTimeout = flags['inactivity-timeout'];
|
|
108
107
|
if (flags['force-bundle-id'])
|
|
109
108
|
params.spec.forceBundleId = flags['force-bundle-id'];
|
|
110
|
-
if (flags.xcode) {
|
|
111
|
-
params.spec.sandbox = { xcode: { enabled: true } };
|
|
112
|
-
}
|
|
113
109
|
const labels = (0, formatting_1.parseLabels)(flags.label);
|
|
114
110
|
if (flags['display-name'] || labels) {
|
|
115
111
|
params.metadata = {};
|
|
@@ -123,9 +119,8 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
123
119
|
const createDurationMs = Date.now() - createStart;
|
|
124
120
|
const consoleUrl = this.consoleStreamUrl(instance.metadata.id);
|
|
125
121
|
const signedStreamUrl = this.signedStreamUrl(instance.status);
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
(0, config_1.registerCreatedInstance)(instance, flags.xcode ? ['xcode'] : []);
|
|
122
|
+
(0, config_1.registerCreatedInstance)(instance);
|
|
123
|
+
let createdXcode;
|
|
129
124
|
const cleanup = async () => {
|
|
130
125
|
try {
|
|
131
126
|
await this.client.iosInstances.delete(instance.metadata.id);
|
|
@@ -134,14 +129,25 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
134
129
|
catch (e) {
|
|
135
130
|
this.info(`Failed to delete instance: ${e}`);
|
|
136
131
|
}
|
|
132
|
+
if (createdXcode) {
|
|
133
|
+
try {
|
|
134
|
+
await this.client.xcodeInstances.delete(createdXcode.metadata.id);
|
|
135
|
+
this.info(`${createdXcode.metadata.id} is deleted`);
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
this.info(`Failed to delete instance: ${e}`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
137
141
|
};
|
|
138
142
|
let attachResult;
|
|
139
143
|
let attachDurationMs;
|
|
140
|
-
|
|
144
|
+
let attachedXcodeId;
|
|
145
|
+
if (attachClient && attachTarget) {
|
|
141
146
|
try {
|
|
142
147
|
const attachStart = Date.now();
|
|
143
148
|
attachResult = await attachClient.attachSimulator(instance);
|
|
144
149
|
attachDurationMs = Date.now() - attachStart;
|
|
150
|
+
attachedXcodeId = attachTarget.id;
|
|
145
151
|
}
|
|
146
152
|
catch (err) {
|
|
147
153
|
this.info(`Created iOS instance ${instance.metadata.id}, but attach failed.`);
|
|
@@ -151,8 +157,43 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
151
157
|
throw err;
|
|
152
158
|
}
|
|
153
159
|
}
|
|
160
|
+
else if (flags.xcode) {
|
|
161
|
+
try {
|
|
162
|
+
createdXcode = await this.client.xcodeInstances.create({
|
|
163
|
+
wait: true,
|
|
164
|
+
reuseIfExists: flags['reuse-if-exists'] || undefined,
|
|
165
|
+
...(params.metadata ? { metadata: params.metadata } : {}),
|
|
166
|
+
spec: {
|
|
167
|
+
...(flags.region ? { region: flags.region } : {}),
|
|
168
|
+
...(flags.jurisdiction ? { jurisdiction: flags.jurisdiction } : {}),
|
|
169
|
+
...(flags['hard-timeout'] ? { hardTimeout: flags['hard-timeout'] } : {}),
|
|
170
|
+
...(flags['inactivity-timeout'] ? { inactivityTimeout: flags['inactivity-timeout'] } : {}),
|
|
171
|
+
},
|
|
172
|
+
});
|
|
173
|
+
(0, config_1.registerCreatedInstance)(createdXcode);
|
|
174
|
+
const xcodeClient = await this.client.xcodeInstances.createClient({ instance: createdXcode });
|
|
175
|
+
const attachStart = Date.now();
|
|
176
|
+
attachResult = await xcodeClient.attachSimulator(instance);
|
|
177
|
+
attachDurationMs = Date.now() - attachStart;
|
|
178
|
+
attachedXcodeId = createdXcode.metadata.id;
|
|
179
|
+
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
this.info(`Created iOS instance ${instance.metadata.id}, but creating or attaching an Xcode sandbox failed.`);
|
|
182
|
+
// The sandbox is useless without the attach; never leak a billed
|
|
183
|
+
// one. Reuse only matches this command's own labels, so a reused
|
|
184
|
+
// instance is part of the same workflow and fine to delete too.
|
|
185
|
+
if (createdXcode) {
|
|
186
|
+
await this.client.xcodeInstances.delete(createdXcode.metadata.id).catch(() => { });
|
|
187
|
+
createdXcode = undefined;
|
|
188
|
+
}
|
|
189
|
+
if (flags.rm) {
|
|
190
|
+
await cleanup();
|
|
191
|
+
}
|
|
192
|
+
throw err;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
154
195
|
const createdMessage = flags.xcode ?
|
|
155
|
-
`Created a new iOS instance with Xcode sandbox in ${(0, duration_1.formatDurationMs)(createDurationMs)}.`
|
|
196
|
+
`Created a new iOS instance with an attached Xcode sandbox in ${(0, duration_1.formatDurationMs)(createDurationMs)}.`
|
|
156
197
|
: `Created a new iOS instance in ${(0, duration_1.formatDurationMs)(createDurationMs)}.`;
|
|
157
198
|
this.info(createdMessage);
|
|
158
199
|
this.info('iOS Instance:');
|
|
@@ -163,18 +204,18 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
163
204
|
}
|
|
164
205
|
this.info(` Region: ${instance.spec.region}`);
|
|
165
206
|
this.info(` State: ${instance.status.state}`);
|
|
166
|
-
if (
|
|
167
|
-
this.info('Xcode
|
|
168
|
-
|
|
169
|
-
|
|
207
|
+
if (createdXcode) {
|
|
208
|
+
this.info('Xcode Instance:');
|
|
209
|
+
this.info(` ID: ${createdXcode.metadata.id}`);
|
|
210
|
+
if (createdXcode.status.apiUrl) {
|
|
211
|
+
this.info(` URL: ${createdXcode.status.apiUrl}`);
|
|
170
212
|
}
|
|
171
|
-
this.info(` URL: ${xcodeSandboxUrl}`);
|
|
172
213
|
}
|
|
173
|
-
if (attachResult &&
|
|
214
|
+
if (attachResult && attachedXcodeId) {
|
|
174
215
|
if (attachDurationMs !== undefined) {
|
|
175
216
|
this.info(`Attach/install completed in ${(0, duration_1.formatDurationMs)(attachDurationMs)}.`);
|
|
176
217
|
}
|
|
177
|
-
this.info((0, simulator_attach_1.formatSimulatorAttachResult)(instance.metadata.id,
|
|
218
|
+
this.info((0, simulator_attach_1.formatSimulatorAttachResult)(instance.metadata.id, attachedXcodeId, attachResult));
|
|
178
219
|
}
|
|
179
220
|
if (flags.open && signedStreamUrl && !this.shouldSuppressInfo()) {
|
|
180
221
|
if (await (0, browser_1.openInBrowser)(signedStreamUrl)) {
|
|
@@ -182,10 +223,11 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
182
223
|
}
|
|
183
224
|
}
|
|
184
225
|
if (flags.json) {
|
|
185
|
-
if (attachResult &&
|
|
226
|
+
if (attachResult && attachedXcodeId) {
|
|
186
227
|
this.outputJson({
|
|
187
228
|
...instance,
|
|
188
|
-
|
|
229
|
+
...(createdXcode ? { xcode: createdXcode } : {}),
|
|
230
|
+
attach: (0, simulator_attach_1.simulatorAttachJson)(instance.metadata.id, attachedXcodeId, attachResult),
|
|
189
231
|
});
|
|
190
232
|
}
|
|
191
233
|
else {
|
|
@@ -212,7 +254,7 @@ class IosCreate extends base_command_1.BaseCommand {
|
|
|
212
254
|
}
|
|
213
255
|
}
|
|
214
256
|
IosCreate.summary = 'Create a new iOS instance';
|
|
215
|
-
IosCreate.description = 'Create a new cloud iOS simulator instance and wait for it to become ready. You can attach labels, install apps, choose a device model, and optionally
|
|
257
|
+
IosCreate.description = 'Create a new cloud iOS simulator instance and wait for it to become ready. You can attach labels, install apps, choose a device model, and optionally create and attach an Xcode sandbox.';
|
|
216
258
|
IosCreate.examples = [
|
|
217
259
|
'<%= config.bin %> ios create',
|
|
218
260
|
'<%= config.bin %> ios create --rm --model ipad',
|
|
@@ -291,7 +333,7 @@ IosCreate.flags = {
|
|
|
291
333
|
description: 'Asset time-to-live for files uploaded via --install, as a Go duration (e.g. "24h", min 1m). Does not affect --install-asset. Defaults to no expiry.',
|
|
292
334
|
}),
|
|
293
335
|
xcode: core_1.Flags.boolean({
|
|
294
|
-
description: '
|
|
336
|
+
description: 'Also create an Xcode sandbox and attach the simulator to it for build and sync workflows',
|
|
295
337
|
default: false,
|
|
296
338
|
}),
|
|
297
339
|
attach: core_1.Flags.boolean({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/ios/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { BaseCommand } from '../../base-command';
|
|
2
|
-
export default class
|
|
2
|
+
export default class IosMicrophone extends BaseCommand {
|
|
3
3
|
static summary: string;
|
|
4
4
|
static description: string;
|
|
5
5
|
static examples: string[];
|
|
6
6
|
static args: {
|
|
7
|
-
|
|
7
|
+
action: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
|
+
path: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
8
9
|
};
|
|
9
10
|
static flags: {
|
|
10
11
|
id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
@@ -18,4 +19,4 @@ export default class IosPlayOnMicrophone extends BaseCommand {
|
|
|
18
19
|
};
|
|
19
20
|
run(): Promise<void>;
|
|
20
21
|
}
|
|
21
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=microphone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microphone.d.ts","sourceRoot":"","sources":["../../../src/commands/ios/microphone.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAC,OAAO,SAAgE;IAC9E,MAAM,CAAC,WAAW,SAG6C;IAE/D,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,IAAI;;;MAUT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MASV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+C3B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const core_1 = require("@oclif/core");
|
|
9
|
+
const base_command_1 = require("../../base-command");
|
|
10
|
+
const instance_client_factory_1 = require("../../lib/instance-client-factory");
|
|
11
|
+
class IosMicrophone extends base_command_1.BaseCommand {
|
|
12
|
+
async run() {
|
|
13
|
+
const { args, flags } = await this.parse(IosMicrophone);
|
|
14
|
+
this.setParsedFlags(flags);
|
|
15
|
+
await this.withAuth(async () => {
|
|
16
|
+
const resolvedInstance = this.resolveIosInstance(flags.id);
|
|
17
|
+
const { client, disconnect } = await (0, instance_client_factory_1.getIosInstanceClient)(this.client, resolvedInstance);
|
|
18
|
+
try {
|
|
19
|
+
if (args.action === 'stop') {
|
|
20
|
+
await client.stopMicrophonePlayback();
|
|
21
|
+
if (flags.json) {
|
|
22
|
+
this.outputJson({ stopped: true });
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.output('Stopped microphone playback');
|
|
26
|
+
}
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (!args.path) {
|
|
30
|
+
this.error('The `play` action requires an audio file path.');
|
|
31
|
+
}
|
|
32
|
+
const localPath = path_1.default.resolve(args.path);
|
|
33
|
+
if (!fs_1.default.existsSync(localPath)) {
|
|
34
|
+
this.error(`File not found: ${localPath}`);
|
|
35
|
+
}
|
|
36
|
+
const stat = fs_1.default.statSync(localPath);
|
|
37
|
+
if (!stat.isFile()) {
|
|
38
|
+
this.error(`Path is not a file: ${localPath}`);
|
|
39
|
+
}
|
|
40
|
+
const remoteName = path_1.default.basename(localPath);
|
|
41
|
+
this.info(`Uploading ${remoteName}...`);
|
|
42
|
+
await client.pushFile(localPath, remoteName);
|
|
43
|
+
const result = await client.playOnMicrophone(remoteName, { once: flags.once });
|
|
44
|
+
if (flags.json) {
|
|
45
|
+
this.outputJson(result);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.output(`Playing ${remoteName} on microphone (duration=${result.duration}us, once=${result.once})`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
disconnect();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
IosMicrophone.summary = 'Control the simulated microphone of a running iOS instance';
|
|
58
|
+
IosMicrophone.description = 'Upload a local audio file (WAV/MP3/M4A/AAC) and play it as mocked microphone input on a running iOS instance. ' +
|
|
59
|
+
'Playback loops until stopped by default; use --once to play a single pass. ' +
|
|
60
|
+
'Use the `stop` action to return the microphone to silence.';
|
|
61
|
+
IosMicrophone.examples = [
|
|
62
|
+
'<%= config.bin %> ios microphone play ./sample.wav',
|
|
63
|
+
'<%= config.bin %> ios microphone play ./sample.mp3 --once',
|
|
64
|
+
'<%= config.bin %> ios microphone play ./sample.wav --id <instance-ID>',
|
|
65
|
+
'<%= config.bin %> ios microphone stop',
|
|
66
|
+
];
|
|
67
|
+
IosMicrophone.args = {
|
|
68
|
+
action: core_1.Args.string({
|
|
69
|
+
description: 'Microphone action: `play` plays an audio file and `stop` stops mocked input',
|
|
70
|
+
required: true,
|
|
71
|
+
options: ['play', 'stop'],
|
|
72
|
+
}),
|
|
73
|
+
path: core_1.Args.string({
|
|
74
|
+
description: 'Local audio file to play as microphone input (required for the `play` action)',
|
|
75
|
+
required: false,
|
|
76
|
+
}),
|
|
77
|
+
};
|
|
78
|
+
IosMicrophone.flags = {
|
|
79
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
80
|
+
id: core_1.Flags.string({
|
|
81
|
+
description: 'iOS instance ID to target. Defaults to the last created iOS instance.',
|
|
82
|
+
}),
|
|
83
|
+
once: core_1.Flags.boolean({
|
|
84
|
+
description: 'Play the audio file once instead of looping it',
|
|
85
|
+
default: false,
|
|
86
|
+
}),
|
|
87
|
+
};
|
|
88
|
+
exports.default = IosMicrophone;
|
|
89
|
+
//# sourceMappingURL=microphone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microphone.js","sourceRoot":"","sources":["../../../src/commands/ios/microphone.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/run.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { BaseCommand } from '../base-command';
|
|
2
2
|
export default class Run extends BaseCommand {
|
|
3
3
|
static baseFlags: typeof BaseCommand.baseFlags;
|
|
4
|
+
static flags: {
|
|
5
|
+
'ios-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
6
|
+
};
|
|
4
7
|
static hiddenAliases: string[];
|
|
5
8
|
static summary: string;
|
|
6
9
|
static description: string;
|
|
7
10
|
static examples: string[];
|
|
8
11
|
private reporter;
|
|
9
12
|
private runFailureStage;
|
|
13
|
+
private iosInstanceId;
|
|
10
14
|
run(): Promise<void>;
|
|
11
15
|
private runTelemetryProperties;
|
|
12
16
|
private setupExistingProject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAkD9C,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW;IAC1C,MAAM,CAAC,SAAS,EAGA,OAAO,WAAW,CAAC,SAAS,CAAC;IAC7C,MAAM,CAAC,KAAK;;MAKV;IACF,MAAM,CAAC,aAAa,WAAU;IAC9B,MAAM,CAAC,OAAO,SAA6B;IAC3C,MAAM,CAAC,WAAW,SAAmF;IACrG,MAAM,CAAC,QAAQ,WAA0E;IACzF,OAAO,CAAC,QAAQ,CAAyD;IACzE,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,aAAa,CAAqB;IAEpC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAqE1B,OAAO,CAAC,sBAAsB;YAchB,oBAAoB;YAuCpB,wBAAwB;IAyBtC,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,gBAAgB;YAMV,YAAY;YAWZ,gBAAgB;YAwBhB,aAAa;YAoCb,qBAAqB;IAiHnC,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,eAAe;CAQxB"}
|
package/dist/commands/run.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const os_1 = __importDefault(require("os"));
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const core_1 = require("@oclif/core");
|
|
8
9
|
const prompts_1 = __importDefault(require("prompts"));
|
|
9
10
|
const base_command_1 = require("../base-command");
|
|
10
11
|
const progress_1 = require("../lib/progress");
|
|
@@ -31,12 +32,14 @@ class Run extends base_command_1.BaseCommand {
|
|
|
31
32
|
const { flags } = await this.parse(Run);
|
|
32
33
|
this.setParsedFlags(flags);
|
|
33
34
|
quiet = Boolean(flags.quiet);
|
|
35
|
+
this.iosInstanceId = flags['ios-id'];
|
|
34
36
|
this.runFailureStage = 'project_detection';
|
|
35
37
|
const detection = (0, project_detection_1.detectProject)(process.cwd());
|
|
36
38
|
projectKind = detection.kind;
|
|
37
39
|
await (0, telemetry_1.captureTelemetry)('cli_run_started', {
|
|
38
40
|
project_kind: projectKind,
|
|
39
41
|
quiet,
|
|
42
|
+
explicit_simulator: Boolean(this.iosInstanceId),
|
|
40
43
|
});
|
|
41
44
|
this.runFailureStage = 'project_selection';
|
|
42
45
|
const useDetectedProject = detection.kind !== 'sample' ? await this.shouldUseDetectedProject(detection) : false;
|
|
@@ -217,33 +220,22 @@ class Run extends base_command_1.BaseCommand {
|
|
|
217
220
|
let recoveryPrinted = false;
|
|
218
221
|
try {
|
|
219
222
|
return await this.withAuth(async () => {
|
|
223
|
+
// The simulator is created only after the build succeeds: a simulator
|
|
224
|
+
// that sits idle during a long build can hit its inactivity timeout
|
|
225
|
+
// and take the build sandbox down with it.
|
|
220
226
|
this.runFailureStage = 'instance_create';
|
|
221
|
-
const
|
|
227
|
+
const sandbox = await this.reporter.withProgress('Preparing a Limrun Xcode build sandbox', () => this.client.xcodeInstances.create({
|
|
222
228
|
wait: true,
|
|
223
229
|
reuseIfExists: true,
|
|
224
230
|
metadata: {
|
|
225
231
|
displayName,
|
|
226
232
|
labels,
|
|
227
233
|
},
|
|
228
|
-
spec: {
|
|
229
|
-
sandbox: {
|
|
230
|
-
xcode: {
|
|
231
|
-
enabled: true,
|
|
232
|
-
},
|
|
233
|
-
},
|
|
234
|
-
},
|
|
235
234
|
}));
|
|
236
|
-
(0, config_1.registerCreatedInstance)(
|
|
237
|
-
const
|
|
238
|
-
if (!xcodeUrl) {
|
|
239
|
-
this.error('The iOS instance is ready, but its Xcode sandbox URL is missing.');
|
|
240
|
-
}
|
|
241
|
-
const xcode = await this.client.xcodeInstances.createClient({
|
|
242
|
-
apiUrl: xcodeUrl,
|
|
243
|
-
token: instance.status.token,
|
|
244
|
-
});
|
|
235
|
+
(0, config_1.registerCreatedInstance)(sandbox);
|
|
236
|
+
const xcode = await this.client.xcodeInstances.createClient({ instance: sandbox });
|
|
245
237
|
this.runFailureStage = 'sync';
|
|
246
|
-
await xcode.sync(projectRoot, { watch: false });
|
|
238
|
+
await this.reporter.withProgress('Syncing project to the sandbox', () => xcode.sync(projectRoot, { watch: false }));
|
|
247
239
|
this.runFailureStage = 'build';
|
|
248
240
|
const build = xcode.xcodebuild();
|
|
249
241
|
this.reporter.start(progressLabel);
|
|
@@ -264,9 +256,50 @@ class Run extends base_command_1.BaseCommand {
|
|
|
264
256
|
recoveryPrinted = true;
|
|
265
257
|
this.error(`${failureLabel} with exit code ${result.exitCode}`, { exit: result.exitCode });
|
|
266
258
|
}
|
|
267
|
-
this.reporter.stop('success', `Built
|
|
259
|
+
this.reporter.stop('success', `Built in ${formatDurationMs(Date.now() - buildStart)}`);
|
|
260
|
+
// Attaching the simulator makes the sandbox install and launch the
|
|
261
|
+
// build it just produced.
|
|
262
|
+
this.runFailureStage = 'simulator_attach';
|
|
263
|
+
this.reporter.start('Launching app in a Limrun iOS simulator');
|
|
264
|
+
const launchStart = Date.now();
|
|
265
|
+
let simulator;
|
|
266
|
+
try {
|
|
267
|
+
if (this.iosInstanceId) {
|
|
268
|
+
simulator = await this.client.iosInstances.get(this.iosInstanceId);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
simulator = await this.client.iosInstances.create({
|
|
272
|
+
wait: true,
|
|
273
|
+
reuseIfExists: true,
|
|
274
|
+
metadata: {
|
|
275
|
+
displayName,
|
|
276
|
+
labels,
|
|
277
|
+
},
|
|
278
|
+
});
|
|
279
|
+
(0, config_1.registerCreatedInstance)(simulator);
|
|
280
|
+
}
|
|
281
|
+
const attach = await xcode.attachSimulator(simulator);
|
|
282
|
+
if (attach.installError) {
|
|
283
|
+
throw new Error(`Failed to install the built app on the simulator: ${attach.installError}`);
|
|
284
|
+
}
|
|
285
|
+
if (!attach.installedLastBuild &&
|
|
286
|
+
attach.latestBuild?.installState !== 'installedOnAttachedSimulator') {
|
|
287
|
+
throw new Error('The simulator is attached, but the built app was not installed on it.');
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
catch (err) {
|
|
291
|
+
this.reporter.stop('failure');
|
|
292
|
+
// The simulator is useless without the attach; never leak a billed
|
|
293
|
+
// one. Reuse only matches lim run's own labels, so a reused
|
|
294
|
+
// instance is part of this same workflow and fine to delete too.
|
|
295
|
+
if (simulator) {
|
|
296
|
+
await this.client.iosInstances.delete(simulator.metadata.id).catch(() => { });
|
|
297
|
+
}
|
|
298
|
+
throw err;
|
|
299
|
+
}
|
|
300
|
+
this.reporter.stop('success', `Launched app in ${formatDurationMs(Date.now() - launchStart)}`);
|
|
268
301
|
this.runFailureStage = 'stream_url';
|
|
269
|
-
const streamUrl = this.signedStreamUrl(
|
|
302
|
+
const streamUrl = this.signedStreamUrl(simulator.status);
|
|
270
303
|
if (!streamUrl) {
|
|
271
304
|
this.error('The iOS instance is ready, but its signed stream URL is missing.');
|
|
272
305
|
}
|
|
@@ -298,10 +331,15 @@ Run.baseFlags = {
|
|
|
298
331
|
'api-key': base_command_1.BaseCommand.baseFlags['api-key'],
|
|
299
332
|
quiet: base_command_1.BaseCommand.baseFlags.quiet,
|
|
300
333
|
};
|
|
334
|
+
Run.flags = {
|
|
335
|
+
'ios-id': core_1.Flags.string({
|
|
336
|
+
description: 'Launch the built app on this existing iOS simulator instance instead of creating a new one.',
|
|
337
|
+
}),
|
|
338
|
+
};
|
|
301
339
|
Run.hiddenAliases = ['go'];
|
|
302
340
|
Run.summary = 'Get started with Limrun';
|
|
303
341
|
Run.description = 'Prepare your app for Limrun, or launch a working sample in a cloud simulator.';
|
|
304
|
-
Run.examples = ['<%= config.bin %> run'];
|
|
342
|
+
Run.examples = ['<%= config.bin %> run', '<%= config.bin %> run --ios-id ios_abc123'];
|
|
305
343
|
exports.default = Run;
|
|
306
344
|
function humanPath(absolutePath, fromDir = process.cwd()) {
|
|
307
345
|
const relative = path_1.default.relative(fromDir, absolutePath);
|
|
@@ -331,9 +369,9 @@ function interactivePathLabel(value) {
|
|
|
331
369
|
}
|
|
332
370
|
function buildProgressLabel(kind) {
|
|
333
371
|
if (kind === 'expo') {
|
|
334
|
-
return 'Building
|
|
372
|
+
return 'Building app (est. 5-10m)';
|
|
335
373
|
}
|
|
336
|
-
return 'Building
|
|
374
|
+
return 'Building app (est. 30s-5m)';
|
|
337
375
|
}
|
|
338
376
|
function samplePrompt() {
|
|
339
377
|
return `Change \`Hello, world!\` to \`Hello, ${environmentUserName()}!\` and use Limrun skills.`;
|