lim 0.52.3 → 0.53.1
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/JSON_OUTPUT.md +39 -20
- package/README.md +48 -1
- package/dist/base-command.d.ts +7 -0
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +13 -1
- package/dist/base-command.js.map +1 -1
- package/dist/commands/android/adb-shell.d.ts +1 -0
- package/dist/commands/android/adb-shell.d.ts.map +1 -1
- package/dist/commands/android/adb-shell.js +6 -1
- package/dist/commands/android/adb-shell.js.map +1 -1
- package/dist/commands/android/blocklist/add.d.ts +18 -0
- package/dist/commands/android/blocklist/add.d.ts.map +1 -0
- package/dist/commands/android/blocklist/add.js +50 -0
- package/dist/commands/android/blocklist/add.js.map +1 -0
- package/dist/commands/android/blocklist/add.test.d.ts +2 -0
- package/dist/commands/android/blocklist/add.test.d.ts.map +1 -0
- package/dist/commands/android/blocklist/add.test.js +52 -0
- package/dist/commands/android/blocklist/add.test.js.map +1 -0
- package/dist/commands/android/blocklist/clear.d.ts +16 -0
- package/dist/commands/android/blocklist/clear.d.ts.map +1 -0
- package/dist/commands/android/blocklist/clear.js +40 -0
- package/dist/commands/android/blocklist/clear.js.map +1 -0
- package/dist/commands/android/blocklist/list.d.ts +16 -0
- package/dist/commands/android/blocklist/list.d.ts.map +1 -0
- package/dist/commands/android/blocklist/list.js +43 -0
- package/dist/commands/android/blocklist/list.js.map +1 -0
- package/dist/commands/android/blocklist/remove.d.ts +18 -0
- package/dist/commands/android/blocklist/remove.d.ts.map +1 -0
- package/dist/commands/android/blocklist/remove.js +51 -0
- package/dist/commands/android/blocklist/remove.js.map +1 -0
- package/dist/commands/android/create.d.ts +2 -0
- package/dist/commands/android/create.d.ts.map +1 -1
- package/dist/commands/android/create.js +15 -1
- package/dist/commands/android/create.js.map +1 -1
- package/dist/commands/android/set/env-from-secret.d.ts +3 -0
- package/dist/commands/android/set/env-from-secret.d.ts.map +1 -0
- package/dist/commands/android/set/env-from-secret.js +5 -0
- package/dist/commands/android/set/env-from-secret.js.map +1 -0
- package/dist/commands/gradle/build.d.ts +2 -0
- package/dist/commands/gradle/build.d.ts.map +1 -1
- package/dist/commands/gradle/build.js +8 -0
- package/dist/commands/gradle/build.js.map +1 -1
- package/dist/commands/gradle/create.d.ts +2 -0
- package/dist/commands/gradle/create.d.ts.map +1 -1
- package/dist/commands/gradle/create.js +6 -0
- package/dist/commands/gradle/create.js.map +1 -1
- package/dist/commands/gradle/set/env-from-secret.d.ts +3 -0
- package/dist/commands/gradle/set/env-from-secret.d.ts.map +1 -0
- package/dist/commands/gradle/set/env-from-secret.js +5 -0
- package/dist/commands/gradle/set/env-from-secret.js.map +1 -0
- package/dist/commands/gradle/set/file-from-secret.d.ts +3 -0
- package/dist/commands/gradle/set/file-from-secret.d.ts.map +1 -0
- package/dist/commands/gradle/set/file-from-secret.js +5 -0
- package/dist/commands/gradle/set/file-from-secret.js.map +1 -0
- package/dist/commands/ios/blocklist/add.d.ts +18 -0
- package/dist/commands/ios/blocklist/add.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/add.js +50 -0
- package/dist/commands/ios/blocklist/add.js.map +1 -0
- package/dist/commands/ios/blocklist/add.test.d.ts +2 -0
- package/dist/commands/ios/blocklist/add.test.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/add.test.js +52 -0
- package/dist/commands/ios/blocklist/add.test.js.map +1 -0
- package/dist/commands/ios/blocklist/clear.d.ts +16 -0
- package/dist/commands/ios/blocklist/clear.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/clear.js +40 -0
- package/dist/commands/ios/blocklist/clear.js.map +1 -0
- package/dist/commands/ios/blocklist/list.d.ts +16 -0
- package/dist/commands/ios/blocklist/list.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/list.js +43 -0
- package/dist/commands/ios/blocklist/list.js.map +1 -0
- package/dist/commands/ios/blocklist/remove.d.ts +18 -0
- package/dist/commands/ios/blocklist/remove.d.ts.map +1 -0
- package/dist/commands/ios/blocklist/remove.js +51 -0
- package/dist/commands/ios/blocklist/remove.js.map +1 -0
- package/dist/commands/ios/create.d.ts +2 -0
- package/dist/commands/ios/create.d.ts.map +1 -1
- package/dist/commands/ios/create.js +16 -1
- package/dist/commands/ios/create.js.map +1 -1
- package/dist/commands/ios/launch-app.d.ts +1 -0
- package/dist/commands/ios/launch-app.d.ts.map +1 -1
- package/dist/commands/ios/launch-app.js +7 -1
- package/dist/commands/ios/launch-app.js.map +1 -1
- package/dist/commands/ios/launch-app.test.js +24 -2
- package/dist/commands/ios/launch-app.test.js.map +1 -1
- package/dist/commands/ios/set/env-from-secret.d.ts +3 -0
- package/dist/commands/ios/set/env-from-secret.d.ts.map +1 -0
- package/dist/commands/ios/set/env-from-secret.js +5 -0
- package/dist/commands/ios/set/env-from-secret.js.map +1 -0
- package/dist/commands/ios/simctl.d.ts +1 -0
- package/dist/commands/ios/simctl.d.ts.map +1 -1
- package/dist/commands/ios/simctl.js +9 -1
- package/dist/commands/ios/simctl.js.map +1 -1
- package/dist/commands/secret/commands.test.d.ts +2 -0
- package/dist/commands/secret/commands.test.d.ts.map +1 -0
- package/dist/commands/secret/commands.test.js +137 -0
- package/dist/commands/secret/commands.test.js.map +1 -0
- package/dist/commands/secret/create.d.ts +19 -0
- package/dist/commands/secret/create.d.ts.map +1 -0
- package/dist/commands/secret/create.js +32 -0
- package/dist/commands/secret/create.js.map +1 -0
- package/dist/commands/secret/delete.d.ts +16 -0
- package/dist/commands/secret/delete.d.ts.map +1 -0
- package/dist/commands/secret/delete.js +22 -0
- package/dist/commands/secret/delete.js.map +1 -0
- package/dist/commands/secret/get.d.ts +20 -0
- package/dist/commands/secret/get.d.ts.map +1 -0
- package/dist/commands/secret/get.js +33 -0
- package/dist/commands/secret/get.js.map +1 -0
- package/dist/commands/secret/read.d.ts +18 -0
- package/dist/commands/secret/read.d.ts.map +1 -0
- package/dist/commands/secret/read.js +42 -0
- package/dist/commands/secret/read.js.map +1 -0
- package/dist/commands/secret/update.d.ts +17 -0
- package/dist/commands/secret/update.d.ts.map +1 -0
- package/dist/commands/secret/update.js +26 -0
- package/dist/commands/secret/update.js.map +1 -0
- package/dist/commands/secret/write.d.ts +20 -0
- package/dist/commands/secret/write.d.ts.map +1 -0
- package/dist/commands/secret/write.js +50 -0
- package/dist/commands/secret/write.js.map +1 -0
- 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 +10 -1
- package/dist/commands/xcode/build.js.map +1 -1
- package/dist/commands/xcode/create.d.ts +2 -0
- package/dist/commands/xcode/create.d.ts.map +1 -1
- package/dist/commands/xcode/create.js +6 -0
- package/dist/commands/xcode/create.js.map +1 -1
- package/dist/commands/xcode/set/env-from-secret.d.ts +3 -0
- package/dist/commands/xcode/set/env-from-secret.d.ts.map +1 -0
- package/dist/commands/xcode/set/env-from-secret.js +5 -0
- package/dist/commands/xcode/set/env-from-secret.js.map +1 -0
- package/dist/commands/xcode/set/file-from-secret.d.ts +3 -0
- package/dist/commands/xcode/set/file-from-secret.d.ts.map +1 -0
- package/dist/commands/xcode/set/file-from-secret.js +5 -0
- package/dist/commands/xcode/set/file-from-secret.js.map +1 -0
- package/dist/commands/xcode/test.d.ts +5 -0
- package/dist/commands/xcode/test.d.ts.map +1 -1
- package/dist/commands/xcode/test.js +122 -16
- package/dist/commands/xcode/test.js.map +1 -1
- package/dist/json-contract.test.js +80 -0
- package/dist/json-contract.test.js.map +1 -1
- package/dist/lib/blocklist.d.ts +5 -0
- package/dist/lib/blocklist.d.ts.map +1 -0
- package/dist/lib/blocklist.js +25 -0
- package/dist/lib/blocklist.js.map +1 -0
- package/dist/lib/blocklist.test.d.ts +2 -0
- package/dist/lib/blocklist.test.d.ts.map +1 -0
- package/dist/lib/blocklist.test.js +15 -0
- package/dist/lib/blocklist.test.js.map +1 -0
- package/dist/lib/build-run-command.d.ts.map +1 -1
- package/dist/lib/build-run-command.js +9 -0
- package/dist/lib/build-run-command.js.map +1 -1
- package/dist/lib/delegated-permissions.d.ts.map +1 -1
- package/dist/lib/delegated-permissions.js +7 -1
- package/dist/lib/delegated-permissions.js.map +1 -1
- package/dist/lib/launch-app-runtime.d.ts +4 -1
- package/dist/lib/launch-app-runtime.d.ts.map +1 -1
- package/dist/lib/launch-app-runtime.js +9 -2
- package/dist/lib/launch-app-runtime.js.map +1 -1
- package/dist/lib/secret-env-flags.d.ts +7 -0
- package/dist/lib/secret-env-flags.d.ts.map +1 -0
- package/dist/lib/secret-env-flags.js +19 -0
- package/dist/lib/secret-env-flags.js.map +1 -0
- package/dist/lib/secret-env.d.ts +7 -0
- package/dist/lib/secret-env.d.ts.map +1 -0
- package/dist/lib/secret-env.js +105 -0
- package/dist/lib/secret-env.js.map +1 -0
- package/dist/lib/secret-env.test.d.ts +2 -0
- package/dist/lib/secret-env.test.d.ts.map +1 -0
- package/dist/lib/secret-env.test.js +79 -0
- package/dist/lib/secret-env.test.js.map +1 -0
- package/dist/lib/secret-input.d.ts +5 -0
- package/dist/lib/secret-input.d.ts.map +1 -0
- package/dist/lib/secret-input.js +47 -0
- package/dist/lib/secret-input.js.map +1 -0
- package/dist/lib/set-secret-env-command.d.ts +3 -0
- package/dist/lib/set-secret-env-command.d.ts.map +1 -0
- package/dist/lib/set-secret-env-command.js +96 -0
- package/dist/lib/set-secret-env-command.js.map +1 -0
- package/dist/lib/set-secret-env-command.test.d.ts +2 -0
- package/dist/lib/set-secret-env-command.test.d.ts.map +1 -0
- package/dist/lib/set-secret-env-command.test.js +115 -0
- package/dist/lib/set-secret-env-command.test.js.map +1 -0
- package/dist/xcode-test-rerun.test.d.ts +2 -0
- package/dist/xcode-test-rerun.test.d.ts.map +1 -0
- package/dist/xcode-test-rerun.test.js +26 -0
- package/dist/xcode-test-rerun.test.js.map +1 -0
- package/package.json +10 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-secret-env-command.test.d.ts","sourceRoot":"","sources":["../../src/lib/set-secret-env-command.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const api_1 = require("@limrun/api");
|
|
4
|
+
const set_secret_env_command_1 = require("./set-secret-env-command");
|
|
5
|
+
test.each(['xcode', 'gradle', 'ios', 'android'])('%s saves bindings and permissions atomically, retrying ETag conflicts', async (platform) => {
|
|
6
|
+
const Command = (0, set_secret_env_command_1.setSecretEnvCommand)(platform);
|
|
7
|
+
const command = new Command([], {});
|
|
8
|
+
const id = 'instance';
|
|
9
|
+
const live = jest
|
|
10
|
+
.fn()
|
|
11
|
+
.mockResolvedValueOnce({
|
|
12
|
+
data: {
|
|
13
|
+
spec: { envFromSecret: { OLD: 'name/old' }, role: { permissions: ['asset:name/source:read'] } },
|
|
14
|
+
status: { state: 'ready' },
|
|
15
|
+
},
|
|
16
|
+
response: new Response(null, { headers: { etag: '"1"' } }),
|
|
17
|
+
})
|
|
18
|
+
.mockResolvedValueOnce({
|
|
19
|
+
data: {
|
|
20
|
+
spec: {
|
|
21
|
+
envFromSecret: { OLD: 'name/old', CONCURRENT: 'name/concurrent' },
|
|
22
|
+
role: { permissions: ['asset:name/source:read', 'secret:name/concurrent:read'] },
|
|
23
|
+
},
|
|
24
|
+
status: { state: 'ready' },
|
|
25
|
+
},
|
|
26
|
+
response: new Response(null, { headers: { etag: '"2"' } }),
|
|
27
|
+
});
|
|
28
|
+
const update = jest
|
|
29
|
+
.fn()
|
|
30
|
+
.mockRejectedValueOnce(api_1.APIError.generate(412, {}, 'changed', new Headers()))
|
|
31
|
+
.mockResolvedValue(undefined);
|
|
32
|
+
Object.assign(command, {
|
|
33
|
+
parse: async () => ({ argv: ['NPM_TOKEN=team/npm'], flags: { unset: ['OLD', 'NPM_TOKEN'] } }),
|
|
34
|
+
withAuth: async (fn) => fn(),
|
|
35
|
+
resolveXcodeTarget: async () => ({ id }),
|
|
36
|
+
resolveGradleTarget: () => ({ id }),
|
|
37
|
+
resolveIosInstance: () => ({ id }),
|
|
38
|
+
resolveAndroidInstance: () => ({ id }),
|
|
39
|
+
outputResult: jest.fn(),
|
|
40
|
+
});
|
|
41
|
+
Object.defineProperty(command, 'client', {
|
|
42
|
+
value: { [`${platform}Instances`]: { get: () => ({ withResponse: live }), update } },
|
|
43
|
+
});
|
|
44
|
+
await command.run();
|
|
45
|
+
expect(update).toHaveBeenLastCalledWith(id, {
|
|
46
|
+
ifMatch: '"2"',
|
|
47
|
+
spec: {
|
|
48
|
+
envFromSecret: { CONCURRENT: 'name/concurrent', NPM_TOKEN: 'name/team/npm' },
|
|
49
|
+
role: {
|
|
50
|
+
permissions: ['asset:name/source:read', 'secret:name/concurrent:read', 'secret:name/team/npm:read'],
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
test.each(['xcode', 'gradle'])('%s saves file bindings and permissions atomically, retrying ETag conflicts', async (platform) => {
|
|
56
|
+
const Command = (0, set_secret_env_command_1.setSecretEnvCommand)(platform, 'file');
|
|
57
|
+
const command = new Command([], {});
|
|
58
|
+
const id = 'instance';
|
|
59
|
+
const live = jest
|
|
60
|
+
.fn()
|
|
61
|
+
.mockResolvedValueOnce({
|
|
62
|
+
data: {
|
|
63
|
+
spec: {
|
|
64
|
+
fileFromSecret: { '/etc/old': 'name/old', 'config/token': 'name/previous' },
|
|
65
|
+
role: { permissions: ['asset:name/source:read'] },
|
|
66
|
+
},
|
|
67
|
+
status: { state: 'ready' },
|
|
68
|
+
},
|
|
69
|
+
response: new Response(null, { headers: { etag: '"1"' } }),
|
|
70
|
+
})
|
|
71
|
+
.mockResolvedValueOnce({
|
|
72
|
+
data: {
|
|
73
|
+
spec: {
|
|
74
|
+
fileFromSecret: {
|
|
75
|
+
'/etc/old': 'name/old',
|
|
76
|
+
'config/token': 'name/previous',
|
|
77
|
+
'~/concurrent': 'name/concurrent',
|
|
78
|
+
},
|
|
79
|
+
role: { permissions: ['asset:name/source:read', 'secret:name/concurrent:read'] },
|
|
80
|
+
},
|
|
81
|
+
status: { state: 'ready' },
|
|
82
|
+
},
|
|
83
|
+
response: new Response(null, { headers: { etag: '"2"' } }),
|
|
84
|
+
});
|
|
85
|
+
const update = jest
|
|
86
|
+
.fn()
|
|
87
|
+
.mockRejectedValueOnce(api_1.APIError.generate(412, {}, 'changed', new Headers()))
|
|
88
|
+
.mockResolvedValue(undefined);
|
|
89
|
+
Object.assign(command, {
|
|
90
|
+
parse: async () => ({
|
|
91
|
+
argv: ['/config/token=team/npm'],
|
|
92
|
+
flags: { unset: ['etc/old', 'config/token'] },
|
|
93
|
+
}),
|
|
94
|
+
withAuth: async (fn) => fn(),
|
|
95
|
+
resolveXcodeTarget: async () => ({ id }),
|
|
96
|
+
resolveGradleTarget: () => ({ id }),
|
|
97
|
+
resolveIosInstance: () => ({ id }),
|
|
98
|
+
resolveAndroidInstance: () => ({ id }),
|
|
99
|
+
outputResult: jest.fn(),
|
|
100
|
+
});
|
|
101
|
+
Object.defineProperty(command, 'client', {
|
|
102
|
+
value: { [`${platform}Instances`]: { get: () => ({ withResponse: live }), update } },
|
|
103
|
+
});
|
|
104
|
+
await command.run();
|
|
105
|
+
expect(update).toHaveBeenLastCalledWith(id, {
|
|
106
|
+
ifMatch: '"2"',
|
|
107
|
+
spec: {
|
|
108
|
+
fileFromSecret: { '~/concurrent': 'name/concurrent', 'config/token': 'name/team/npm' },
|
|
109
|
+
role: {
|
|
110
|
+
permissions: ['asset:name/source:read', 'secret:name/concurrent:read', 'secret:name/team/npm:read'],
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=set-secret-env-command.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-secret-env-command.test.js","sourceRoot":"","sources":["../../src/lib/set-secret-env-command.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xcode-test-rerun.test.d.ts","sourceRoot":"","sources":["../src/xcode-test-rerun.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 test_1 = __importDefault(require("./commands/xcode/test"));
|
|
7
|
+
jest.mock('./lib/config', () => ({
|
|
8
|
+
...jest.requireActual('./lib/config'),
|
|
9
|
+
loadLastXcodeInstance: jest.fn(() => null),
|
|
10
|
+
registerCreatedInstance: jest.fn(),
|
|
11
|
+
}));
|
|
12
|
+
test('xcode test --without-building never creates a sandbox, which would have nothing built', async () => {
|
|
13
|
+
const create = jest.fn();
|
|
14
|
+
const command = new test_1.default([], {});
|
|
15
|
+
Object.assign(command, {
|
|
16
|
+
parse: async () => ({ args: {}, flags: { 'without-building': true } }),
|
|
17
|
+
withAuth: async (fn) => fn(),
|
|
18
|
+
info: jest.fn(),
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(command, 'client', {
|
|
21
|
+
value: { xcodeInstances: { create }, iosInstances: { create } },
|
|
22
|
+
});
|
|
23
|
+
await expect(command.run()).rejects.toThrow('--without-building reruns the tests a live Xcode sandbox already built');
|
|
24
|
+
expect(create).not.toHaveBeenCalled();
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=xcode-test-rerun.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xcode-test-rerun.test.js","sourceRoot":"","sources":["../src/xcode-test-rerun.test.ts"],"names":[],"mappings":";;;;;AAAA,iEAA8C;AAE9C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;IACrC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IAC1C,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE;CACnC,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;IACvG,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,cAAS,CAAC,EAAE,EAAE,EAAW,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,CAAC;QACtE,QAAQ,EAAE,KAAK,EAAE,EAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;QACjD,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;KAChB,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;QACvC,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE;KAChE,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CACzC,wEAAwE,CACzE,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;AACxC,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lim",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.53.1",
|
|
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",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"test": "jest"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@limrun/api": "0.
|
|
29
|
+
"@limrun/api": "0.70.2",
|
|
30
30
|
"@oclif/core": "^4",
|
|
31
31
|
"cli-progress": "^3.12.0",
|
|
32
32
|
"cli-table3": "^0.6.5",
|
|
@@ -54,7 +54,10 @@
|
|
|
54
54
|
"topicSeparator": " ",
|
|
55
55
|
"topics": {
|
|
56
56
|
"android": {
|
|
57
|
-
"description": "Execute any task on remote Android Emulators: create, list, get, delete, connect, sync, screenshot, tap, tap-element, find-element, element-tree, type, press-key, scroll, open-url, install-app, launch-app, terminate-app, app-log, logcat, record, play-on-microphone, set-wifi-bandwidth, adb-shell, ca, proxy"
|
|
57
|
+
"description": "Execute any task on remote Android Emulators: create, list, get, delete, connect, sync, screenshot, tap, tap-element, find-element, element-tree, type, press-key, scroll, open-url, install-app, launch-app, terminate-app, app-log, logcat, record, play-on-microphone, set-wifi-bandwidth, adb-shell, ca, proxy, blocklist"
|
|
58
|
+
},
|
|
59
|
+
"android:blocklist": {
|
|
60
|
+
"description": "Block domains on a running Android instance: add, remove, list, clear"
|
|
58
61
|
},
|
|
59
62
|
"android:ca": {
|
|
60
63
|
"description": "Trust CA certificates on a running Android instance: add"
|
|
@@ -72,7 +75,10 @@
|
|
|
72
75
|
"description": "Build Android projects on cloud Gradle sandboxes: create, list, get, delete, sync, build, run, pull-file, logs, use, tools, attach-emulator, detach-emulator"
|
|
73
76
|
},
|
|
74
77
|
"ios": {
|
|
75
|
-
"description": "Execute any task on remote iOS Simulators: create, list, get, delete, attach-xcode, info, fold, list-apps, launch-app, terminate-app, app-log, syslog, sync, screenshot, tap, tap-element, element-tree, type, press-key, toggle-keyboard, scroll, open-url, clipboard, defaults, notify, proxy, ca, install-app, keychain, record, camera, microphone, perform, ls, push-file, pull-file, delete-file, simctl, cp, xcrun, xcodebuild, lsof, reverse, tunnel"
|
|
78
|
+
"description": "Execute any task on remote iOS Simulators: create, list, get, delete, attach-xcode, info, fold, list-apps, launch-app, terminate-app, app-log, syslog, sync, screenshot, tap, tap-element, element-tree, type, press-key, toggle-keyboard, scroll, open-url, clipboard, defaults, notify, proxy, ca, blocklist, install-app, keychain, record, camera, microphone, perform, ls, push-file, pull-file, delete-file, simctl, cp, xcrun, xcodebuild, lsof, reverse, tunnel"
|
|
79
|
+
},
|
|
80
|
+
"ios:blocklist": {
|
|
81
|
+
"description": "Block domains on a running iOS instance: add, remove, list, clear"
|
|
76
82
|
},
|
|
77
83
|
"ios:ca": {
|
|
78
84
|
"description": "Trust CA certificates on a running iOS instance: add"
|