lim 0.32.6 → 0.33.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 +126 -7
- package/dist/base-command.d.ts +18 -1
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +73 -5
- package/dist/base-command.js.map +1 -1
- package/dist/commands/android/logcat.d.ts +18 -0
- package/dist/commands/android/logcat.d.ts.map +1 -0
- package/dist/commands/android/logcat.js +79 -0
- package/dist/commands/android/logcat.js.map +1 -0
- 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 +20 -9
- package/dist/commands/gradle/build.js.map +1 -1
- package/dist/commands/gradle/logs.d.ts +16 -0
- package/dist/commands/gradle/logs.d.ts.map +1 -0
- package/dist/commands/gradle/logs.js +63 -0
- package/dist/commands/gradle/logs.js.map +1 -0
- package/dist/commands/gradle/run.d.ts +3 -0
- package/dist/commands/gradle/run.d.ts.map +1 -0
- package/dist/commands/gradle/run.js +5 -0
- package/dist/commands/gradle/run.js.map +1 -0
- package/dist/commands/gradle/tools/index.d.ts +3 -0
- package/dist/commands/gradle/tools/index.d.ts.map +1 -0
- package/dist/commands/gradle/tools/index.js +5 -0
- package/dist/commands/gradle/tools/index.js.map +1 -0
- package/dist/commands/gradle/tools/install.d.ts +3 -0
- package/dist/commands/gradle/tools/install.d.ts.map +1 -0
- package/dist/commands/gradle/tools/install.js +5 -0
- package/dist/commands/gradle/tools/install.js.map +1 -0
- package/dist/commands/gradle/use.d.ts +3 -0
- package/dist/commands/gradle/use.d.ts.map +1 -0
- package/dist/commands/gradle/use.js +5 -0
- package/dist/commands/gradle/use.js.map +1 -0
- package/dist/commands/xcode/build.d.ts.map +1 -1
- package/dist/commands/xcode/build.js +15 -9
- package/dist/commands/xcode/build.js.map +1 -1
- package/dist/commands/xcode/logs.d.ts +16 -0
- package/dist/commands/xcode/logs.d.ts.map +1 -0
- package/dist/commands/xcode/logs.js +77 -0
- package/dist/commands/xcode/logs.js.map +1 -0
- package/dist/commands/xcode/logs.test.d.ts +2 -0
- package/dist/commands/xcode/logs.test.d.ts.map +1 -0
- package/dist/commands/xcode/logs.test.js +78 -0
- package/dist/commands/xcode/logs.test.js.map +1 -0
- package/dist/commands/xcode/run.d.ts +2 -26
- package/dist/commands/xcode/run.d.ts.map +1 -1
- package/dist/commands/xcode/run.js +2 -103
- package/dist/commands/xcode/run.js.map +1 -1
- package/dist/commands/xcode/tools/index.d.ts +3 -0
- package/dist/commands/xcode/tools/index.d.ts.map +1 -0
- package/dist/commands/xcode/tools/index.js +5 -0
- package/dist/commands/xcode/tools/index.js.map +1 -0
- package/dist/commands/xcode/tools/install.d.ts +3 -0
- package/dist/commands/xcode/tools/install.d.ts.map +1 -0
- package/dist/commands/xcode/tools/install.js +5 -0
- package/dist/commands/xcode/tools/install.js.map +1 -0
- package/dist/commands/xcode/use.d.ts +3 -0
- package/dist/commands/xcode/use.d.ts.map +1 -0
- package/dist/commands/xcode/use.js +5 -0
- package/dist/commands/xcode/use.js.map +1 -0
- package/dist/commands/xcode/version/set.d.ts.map +1 -1
- package/dist/commands/xcode/version/set.js +1 -48
- package/dist/commands/xcode/version/set.js.map +1 -1
- package/dist/lib/additional-files.js +1 -1
- package/dist/lib/additional-files.js.map +1 -1
- package/dist/lib/build-command-helpers.d.ts +10 -0
- package/dist/lib/build-command-helpers.d.ts.map +1 -0
- package/dist/lib/build-command-helpers.js +28 -0
- package/dist/lib/build-command-helpers.js.map +1 -0
- package/dist/lib/build-logs.d.ts +27 -0
- package/dist/lib/build-logs.d.ts.map +1 -0
- package/dist/lib/build-logs.js +141 -0
- package/dist/lib/build-logs.js.map +1 -0
- package/dist/lib/build-logs.test.d.ts +2 -0
- package/dist/lib/build-logs.test.d.ts.map +1 -0
- package/dist/lib/build-logs.test.js +187 -0
- package/dist/lib/build-logs.test.js.map +1 -0
- package/dist/lib/build-run-command.d.ts +3 -0
- package/dist/lib/build-run-command.d.ts.map +1 -0
- package/dist/lib/build-run-command.js +89 -0
- package/dist/lib/build-run-command.js.map +1 -0
- package/dist/lib/build-tools-command.d.ts +3 -0
- package/dist/lib/build-tools-command.d.ts.map +1 -0
- package/dist/lib/build-tools-command.js +51 -0
- package/dist/lib/build-tools-command.js.map +1 -0
- package/dist/lib/build-use-command.d.ts +3 -0
- package/dist/lib/build-use-command.d.ts.map +1 -0
- package/dist/lib/build-use-command.js +93 -0
- package/dist/lib/build-use-command.js.map +1 -0
- package/dist/lib/build-use-command.test.d.ts +2 -0
- package/dist/lib/build-use-command.test.d.ts.map +1 -0
- package/dist/lib/build-use-command.test.js +151 -0
- package/dist/lib/build-use-command.test.js.map +1 -0
- 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 +6 -0
- package/dist/lib/gradle-build-options.js.map +1 -1
- package/dist/lib/gradle-build-options.test.js +6 -0
- package/dist/lib/gradle-build-options.test.js.map +1 -1
- package/dist/lib/sync-flags.js +3 -3
- package/dist/lib/sync-flags.js.map +1 -1
- package/dist/lib/xcode-tools.test.d.ts +2 -0
- package/dist/lib/xcode-tools.test.d.ts.map +1 -0
- package/dist/lib/xcode-tools.test.js +163 -0
- package/dist/lib/xcode-tools.test.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-use-command.js","sourceRoot":"","sources":["../../src/lib/build-use-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-use-command.test.d.ts","sourceRoot":"","sources":["../../src/lib/build-use-command.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,151 @@
|
|
|
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 events_1 = require("events");
|
|
7
|
+
const api_1 = require("@limrun/api");
|
|
8
|
+
const mise_tools_1 = require("@limrun/api/mise-tools");
|
|
9
|
+
const use_1 = __importDefault(require("../commands/xcode/use"));
|
|
10
|
+
const set_1 = __importDefault(require("../commands/xcode/version/set"));
|
|
11
|
+
const use_2 = __importDefault(require("../commands/gradle/use"));
|
|
12
|
+
const config_1 = require("./config");
|
|
13
|
+
jest.mock('@limrun/api/mise-tools', () => ({
|
|
14
|
+
...jest.requireActual('@limrun/api/mise-tools'),
|
|
15
|
+
writeMiseTools: jest.fn(),
|
|
16
|
+
}));
|
|
17
|
+
jest.mock('./config', () => ({
|
|
18
|
+
...jest.requireActual('./config'),
|
|
19
|
+
clearLastInstanceId: jest.fn(),
|
|
20
|
+
loadXcodeVersionPreference: jest.fn(),
|
|
21
|
+
setXcodeVersionPreference: jest.fn(),
|
|
22
|
+
}));
|
|
23
|
+
jest.mock('./daemon', () => ({ ...jest.requireActual('./daemon'), stopDaemon: jest.fn() }));
|
|
24
|
+
const target = { id: 'sandbox_euna_existing', type: 'xcode' };
|
|
25
|
+
const selection = { bound: { major: '27', version: '27.0', build: '27A5252f' }, derivedDataReset: true };
|
|
26
|
+
function setup(CommandClass = use_1.default, argv = ['xcode@27'], flags = {}) {
|
|
27
|
+
const command = new CommandClass([], {});
|
|
28
|
+
const proc = Object.assign(Promise.resolve({ exitCode: 0 }), {
|
|
29
|
+
stdout: new events_1.EventEmitter(),
|
|
30
|
+
stderr: new events_1.EventEmitter(),
|
|
31
|
+
});
|
|
32
|
+
const client = {
|
|
33
|
+
setXcode: jest.fn().mockResolvedValue(selection),
|
|
34
|
+
sync: jest.fn().mockResolvedValue({}),
|
|
35
|
+
run: jest.fn().mockReturnValue(proc),
|
|
36
|
+
};
|
|
37
|
+
const resolveTarget = jest.fn().mockResolvedValue(target);
|
|
38
|
+
const resolveBuild = jest.fn().mockResolvedValue({ client });
|
|
39
|
+
const create = jest.fn();
|
|
40
|
+
const output = jest.fn();
|
|
41
|
+
const outputJson = jest.fn();
|
|
42
|
+
Object.assign(command, {
|
|
43
|
+
parse: async () => ({ flags: { cwd: '.', ...flags }, argv, args: { major: argv[0] } }),
|
|
44
|
+
getCommandParts: () => ['xcode', CommandClass === set_1.default ? 'version' : 'use'],
|
|
45
|
+
scopeSuffix: () => ' in this workspace',
|
|
46
|
+
tryResolveXcodeTarget: resolveTarget,
|
|
47
|
+
resolveXcodeClient: async () => client,
|
|
48
|
+
resolveBuildToolClient: resolveBuild,
|
|
49
|
+
createReplacementInstance: create,
|
|
50
|
+
_lastResolvedInstanceId: target.id,
|
|
51
|
+
info: jest.fn(),
|
|
52
|
+
output,
|
|
53
|
+
outputJson,
|
|
54
|
+
});
|
|
55
|
+
return { command, client, resolveTarget, resolveBuild, create, output, outputJson };
|
|
56
|
+
}
|
|
57
|
+
beforeEach(() => {
|
|
58
|
+
jest.clearAllMocks();
|
|
59
|
+
jest.mocked(config_1.loadXcodeVersionPreference).mockReturnValue('26');
|
|
60
|
+
jest.mocked(mise_tools_1.writeMiseTools).mockResolvedValue(`${process.cwd()}/mise.toml`);
|
|
61
|
+
});
|
|
62
|
+
it.each([use_1.default, set_1.default])('shares Xcode selection and preference behavior', async (CommandClass) => {
|
|
63
|
+
const { command, client, resolveTarget, resolveBuild, output } = setup(CommandClass, CommandClass === use_1.default ? ['xcode@27'] : ['27'], { id: target.id });
|
|
64
|
+
await command.run();
|
|
65
|
+
expect(resolveTarget).toHaveBeenCalledWith(target.id);
|
|
66
|
+
expect(client.setXcode).toHaveBeenCalledWith('27');
|
|
67
|
+
expect(config_1.setXcodeVersionPreference).toHaveBeenCalledWith('27');
|
|
68
|
+
expect(output).toHaveBeenCalledWith(expect.stringContaining('27.0 (27A5252f)'));
|
|
69
|
+
expect(output).toHaveBeenCalledWith(expect.stringContaining('invalidated'));
|
|
70
|
+
expect(mise_tools_1.writeMiseTools).not.toHaveBeenCalled();
|
|
71
|
+
expect(resolveBuild).not.toHaveBeenCalled();
|
|
72
|
+
expect(client.sync).not.toHaveBeenCalled();
|
|
73
|
+
expect(client.run).not.toHaveBeenCalled();
|
|
74
|
+
});
|
|
75
|
+
it('records Xcode without creating a sandbox when none is remembered', async () => {
|
|
76
|
+
const { command, resolveTarget, client, resolveBuild, create, outputJson } = setup(use_1.default, ['xcode@27'], {
|
|
77
|
+
json: true,
|
|
78
|
+
});
|
|
79
|
+
resolveTarget.mockResolvedValue(undefined);
|
|
80
|
+
await command.run();
|
|
81
|
+
expect(config_1.setXcodeVersionPreference).toHaveBeenCalledWith('27');
|
|
82
|
+
expect(outputJson).toHaveBeenCalledWith({ preferred: '27' });
|
|
83
|
+
expect(client.setXcode).not.toHaveBeenCalled();
|
|
84
|
+
expect(resolveBuild).not.toHaveBeenCalled();
|
|
85
|
+
expect(create).not.toHaveBeenCalled();
|
|
86
|
+
});
|
|
87
|
+
it('returns the same JSON selection as version set', async () => {
|
|
88
|
+
const { command, outputJson } = setup(use_1.default, ['xcode@27'], { json: true });
|
|
89
|
+
await command.run();
|
|
90
|
+
expect(outputJson).toHaveBeenCalledWith({ instanceId: target.id, preferred: '27', ...selection });
|
|
91
|
+
});
|
|
92
|
+
it.each([
|
|
93
|
+
[400, false],
|
|
94
|
+
[409, true],
|
|
95
|
+
])('preserves refusal behavior for HTTP %i', async (status, recordsPreference) => {
|
|
96
|
+
const { command, client } = setup();
|
|
97
|
+
client.setXcode.mockRejectedValue(Object.assign(new Error('refused'), { status, body: 'refused' }));
|
|
98
|
+
await expect(command.run()).rejects.toThrow('refused');
|
|
99
|
+
expect(config_1.setXcodeVersionPreference).toHaveBeenCalledTimes(recordsPreference ? 1 : 0);
|
|
100
|
+
});
|
|
101
|
+
it('does not replace a missing sandbox during Xcode selection', async () => {
|
|
102
|
+
const { command, client, create } = setup();
|
|
103
|
+
client.setXcode.mockRejectedValue(new api_1.NotFoundError(404, { message: 'missing' }, undefined, new Headers()));
|
|
104
|
+
await expect(command.run()).rejects.toThrow('was not found');
|
|
105
|
+
expect(create).not.toHaveBeenCalled();
|
|
106
|
+
});
|
|
107
|
+
it('combines Xcode selection with mise tools without writing Xcode to TOML', async () => {
|
|
108
|
+
const { command, client } = setup(use_1.default, ['xcode@27', 'node@24.5.0', 'ruby@3.3.7']);
|
|
109
|
+
await command.run();
|
|
110
|
+
expect(config_1.setXcodeVersionPreference).toHaveBeenCalledWith('27');
|
|
111
|
+
expect(mise_tools_1.writeMiseTools).toHaveBeenCalledWith(process.cwd(), { node: '24.5.0', ruby: '3.3.7' });
|
|
112
|
+
expect(client.sync).toHaveBeenCalledTimes(1);
|
|
113
|
+
expect(client.run).toHaveBeenCalledWith(expect.stringContaining("'node' 'ruby'"), { cwd: '.' });
|
|
114
|
+
expect(client.run.mock.calls[0][0]).not.toContain('xcode');
|
|
115
|
+
expect(client.setXcode.mock.invocationCallOrder[0]).toBeLessThan(client.sync.mock.invocationCallOrder[0]);
|
|
116
|
+
});
|
|
117
|
+
it.each(['xcode@27.1', 'xcode@latest', 'xcode@'])('rejects invalid Xcode request %s before mutations', async (request) => {
|
|
118
|
+
const { command, client } = setup(use_1.default, ['node@24', request]);
|
|
119
|
+
await expect(command.run()).rejects.toThrow('takes an Xcode major');
|
|
120
|
+
expect(client.setXcode).not.toHaveBeenCalled();
|
|
121
|
+
expect(config_1.setXcodeVersionPreference).not.toHaveBeenCalled();
|
|
122
|
+
expect(mise_tools_1.writeMiseTools).not.toHaveBeenCalled();
|
|
123
|
+
});
|
|
124
|
+
it.each([
|
|
125
|
+
{ argv: ['xcode@27', 'invalid'], flags: {} },
|
|
126
|
+
{ argv: ['xcode@27'], flags: { cwd: '..' } },
|
|
127
|
+
])('validates all requests and scope flags before switching Xcode', async ({ argv, flags }) => {
|
|
128
|
+
const { command, client } = setup(use_1.default, argv, flags);
|
|
129
|
+
await expect(command.run()).rejects.toThrow();
|
|
130
|
+
expect(client.setXcode).not.toHaveBeenCalled();
|
|
131
|
+
expect(mise_tools_1.writeMiseTools).not.toHaveBeenCalled();
|
|
132
|
+
});
|
|
133
|
+
it('keeps Xcode out of Gradle tool selection', async () => {
|
|
134
|
+
const { command, client } = setup(use_2.default);
|
|
135
|
+
await expect(command.run()).rejects.toThrow('Select Xcode with lim xcode use');
|
|
136
|
+
expect(client.setXcode).not.toHaveBeenCalled();
|
|
137
|
+
expect(mise_tools_1.writeMiseTools).not.toHaveBeenCalled();
|
|
138
|
+
});
|
|
139
|
+
it.each([use_1.default, use_2.default])('saves tool requests without client normalization', async (CommandClass) => {
|
|
140
|
+
const { command, client } = setup(CommandClass, ['node@24.5.0', 'ruby@3.3.7', 'java@jbr-21']);
|
|
141
|
+
await command.run();
|
|
142
|
+
expect(mise_tools_1.writeMiseTools).toHaveBeenCalledWith(process.cwd(), {
|
|
143
|
+
node: '24.5.0',
|
|
144
|
+
ruby: '3.3.7',
|
|
145
|
+
java: 'jbr-21',
|
|
146
|
+
});
|
|
147
|
+
expect(client.sync).toHaveBeenCalledTimes(1);
|
|
148
|
+
expect(client.run).toHaveBeenCalledTimes(1);
|
|
149
|
+
expect(client.setXcode).not.toHaveBeenCalled();
|
|
150
|
+
});
|
|
151
|
+
//# sourceMappingURL=build-use-command.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-use-command.test.js","sourceRoot":"","sources":["../../src/lib/build-use-command.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { type WebhookFlagValues } from './webhook-options';
|
|
|
8
8
|
export declare const gradleAndroidABIs: readonly ["armeabi-v7a", "arm64-v8a", "x86", "x86_64", "all"];
|
|
9
9
|
export interface GradleBuildFlagValues extends WebhookFlagValues {
|
|
10
10
|
task?: string[];
|
|
11
|
+
env?: string[];
|
|
11
12
|
'project-path'?: string;
|
|
12
13
|
'expo-app-dir'?: string;
|
|
13
14
|
abi?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradle-build-options.d.ts","sourceRoot":"","sources":["../../src/lib/gradle-build-options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gradle-build-options.d.ts","sourceRoot":"","sources":["../../src/lib/gradle-build-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,+DAMkB,CAAC;AAEjD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAE3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CA2BvE;AASD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAoCzE;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,qBAAqB,GAAG,kBAAkB,CA2C5F"}
|
|
@@ -5,6 +5,7 @@ exports.tasksIncludeBundle = tasksIncludeBundle;
|
|
|
5
5
|
exports.validateSigningFlags = validateSigningFlags;
|
|
6
6
|
exports.validatePlaystoreFlags = validatePlaystoreFlags;
|
|
7
7
|
exports.gradleBuildOptionsFromFlags = gradleBuildOptionsFromFlags;
|
|
8
|
+
const env_entries_1 = require("./env-entries");
|
|
8
9
|
const webhook_options_1 = require("./webhook-options");
|
|
9
10
|
/**
|
|
10
11
|
* Single source for the --abi enum: `satisfies` pins every entry to the SDK
|
|
@@ -111,6 +112,11 @@ function gradleBuildOptionsFromFlags(flags) {
|
|
|
111
112
|
validateSigningFlags(flags);
|
|
112
113
|
validatePlaystoreFlags(flags);
|
|
113
114
|
const options = {};
|
|
115
|
+
const env = (0, env_entries_1.parseEnvEntries)(flags.env ?? [], (message) => {
|
|
116
|
+
throw new Error(message);
|
|
117
|
+
});
|
|
118
|
+
if (env)
|
|
119
|
+
options.env = env;
|
|
114
120
|
if (flags.task?.length) {
|
|
115
121
|
options.tasks = flags.task;
|
|
116
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradle-build-options.js","sourceRoot":"","sources":["../../src/lib/gradle-build-options.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"gradle-build-options.js","sourceRoot":"","sources":["../../src/lib/gradle-build-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,4 +67,10 @@ describe('gradleBuildOptionsFromFlags signing validation', () => {
|
|
|
67
67
|
expect((0, gradle_build_options_1.gradleBuildOptionsFromFlags)({ sign: true }).signing).toBeUndefined();
|
|
68
68
|
});
|
|
69
69
|
});
|
|
70
|
+
it('forwards validated build environment entries', () => {
|
|
71
|
+
expect((0, gradle_build_options_1.gradleBuildOptionsFromFlags)({ env: ['APP_ENV=staging', 'EMPTY='] })).toEqual({
|
|
72
|
+
env: ['APP_ENV=staging', 'EMPTY='],
|
|
73
|
+
});
|
|
74
|
+
expect(() => (0, gradle_build_options_1.gradleBuildOptionsFromFlags)({ env: ['invalid'] })).toThrow('KEY=VALUE');
|
|
75
|
+
});
|
|
70
76
|
//# sourceMappingURL=gradle-build-options.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradle-build-options.test.js","sourceRoot":"","sources":["../../src/lib/gradle-build-options.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gradle-build-options.test.js","sourceRoot":"","sources":["../../src/lib/gradle-build-options.test.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/sync-flags.js
CHANGED
|
@@ -11,17 +11,17 @@ exports.syncFlags = {
|
|
|
11
11
|
description: 'Directory to use for the client-side delta sync cache during the sync step.',
|
|
12
12
|
}),
|
|
13
13
|
ignore: core_1.Flags.string({
|
|
14
|
-
description: 'Regular expression to
|
|
14
|
+
description: 'Regular expression to exclude matching relative paths, including .env and .xcconfig files that Xcode sync normally force-includes. If the same path also matches --include, --include wins. Match an excluded parent directory to prune its whole subtree. Repeat for multiple patterns.',
|
|
15
15
|
multiple: true,
|
|
16
16
|
multipleNonGreedy: true,
|
|
17
17
|
}),
|
|
18
18
|
include: core_1.Flags.string({
|
|
19
|
-
description: 'Regular expression to force-sync matching relative paths even when excluded by a built-in rule or .gitignore (for example --include "^\\\\.git/" or --include "^ios/GeneratedKit/"). The client-side basis cache is never included. If a parent directory is itself excluded, the pattern must also match that directory (e.g. use "^ios/" not "GeneratedKit/") or the subtree stays pruned. Repeat for multiple patterns.',
|
|
19
|
+
description: 'Regular expression to force-sync matching relative paths even when matched by --ignore, excluded by a built-in rule, or ignored by .gitignore (for example --include "^\\\\.git/" or --include "^ios/GeneratedKit/"). The client-side basis cache is never included. If a parent directory is itself excluded, the pattern must also match that directory (e.g. use "^ios/" not "GeneratedKit/") or the subtree stays pruned. Repeat for multiple patterns.',
|
|
20
20
|
multiple: true,
|
|
21
21
|
multipleNonGreedy: true,
|
|
22
22
|
}),
|
|
23
23
|
'additional-file': core_1.Flags.string({
|
|
24
|
-
description: 'Additional file to sync as localPath=remotePath, for example ~/.netrc
|
|
24
|
+
description: 'Additional file to sync as localPath=remotePath, for example ~/.netrc=.netrc. Repeat for multiple files.',
|
|
25
25
|
multiple: true,
|
|
26
26
|
multipleNonGreedy: true,
|
|
27
27
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-flags.js","sourceRoot":"","sources":["../../src/lib/sync-flags.ts"],"names":[],"mappings":";;;AAiCA,oDAcC;AA9CD,uDAA0D;AAC1D,yDAA8D;AAC9D,sCAAoC;AAEpC,oFAAoF;AACvE,QAAA,SAAS,GAAG;IACvB,iBAAiB,EAAE,YAAK,CAAC,MAAM,CAAC;QAC9B,WAAW,EAAE,6EAA6E;KAC3F,CAAC;IACF,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;QACnB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"sync-flags.js","sourceRoot":"","sources":["../../src/lib/sync-flags.ts"],"names":[],"mappings":";;;AAiCA,oDAcC;AA9CD,uDAA0D;AAC1D,yDAA8D;AAC9D,sCAAoC;AAEpC,oFAAoF;AACvE,QAAA,SAAS,GAAG;IACvB,iBAAiB,EAAE,YAAK,CAAC,MAAM,CAAC;QAC9B,WAAW,EAAE,6EAA6E;KAC3F,CAAC;IACF,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;QACnB,WAAW,EACT,0RAA0R;QAC5R,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC;QACpB,WAAW,EACT,6bAA6b;QAC/b,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;IACF,iBAAiB,EAAE,YAAK,CAAC,MAAM,CAAC;QAC9B,WAAW,EACT,0GAA0G;QAC5G,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;CACH,CAAC;AAIF,mFAAmF;AACnF,SAAgB,oBAAoB,CAAC,KAKpC;IACC,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC;QACvC,MAAM,EAAE,IAAA,uCAAqB,EAAC,KAAK,CAAC,MAAM,CAAC;QAC3C,OAAO,EAAE,IAAA,uCAAqB,EAAC,KAAK,CAAC,OAAO,CAAC;QAC7C,eAAe,EAAE,IAAA,2CAAwB,EAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;KACrD,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xcode-tools.test.d.ts","sourceRoot":"","sources":["../../src/lib/xcode-tools.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,163 @@
|
|
|
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 api_1 = require("@limrun/api");
|
|
7
|
+
const events_1 = require("events");
|
|
8
|
+
const base_command_1 = require("../base-command");
|
|
9
|
+
jest.mock('./daemon', () => ({ ...jest.requireActual('./daemon'), stopDaemon: jest.fn() }));
|
|
10
|
+
jest.mock('./config', () => ({ ...jest.requireActual('./config'), clearLastInstanceId: jest.fn() }));
|
|
11
|
+
const core_1 = require("@oclif/core");
|
|
12
|
+
const use_1 = __importDefault(require("../commands/xcode/use"));
|
|
13
|
+
const tools_1 = __importDefault(require("../commands/xcode/tools"));
|
|
14
|
+
const use_2 = __importDefault(require("../commands/gradle/use"));
|
|
15
|
+
const tools_2 = __importDefault(require("../commands/gradle/tools"));
|
|
16
|
+
const run_1 = __importDefault(require("../commands/gradle/run"));
|
|
17
|
+
const install_1 = __importDefault(require("../commands/xcode/tools/install"));
|
|
18
|
+
const install_2 = __importDefault(require("../commands/gradle/tools/install"));
|
|
19
|
+
it('parses multiple tool requests alongside scope flags', async () => {
|
|
20
|
+
const result = await core_1.Parser.parse(['--cwd', 'apps/mobile', 'node@24', 'ruby@3.3'], {
|
|
21
|
+
flags: use_1.default.flags,
|
|
22
|
+
args: use_1.default.args,
|
|
23
|
+
strict: use_1.default.strict,
|
|
24
|
+
});
|
|
25
|
+
expect(result.argv).toEqual(['node@24', 'ruby@3.3']);
|
|
26
|
+
expect(result.flags.cwd).toBe('apps/mobile');
|
|
27
|
+
});
|
|
28
|
+
it('supports inspecting an existing workspace without sync', async () => {
|
|
29
|
+
const result = await core_1.Parser.parse(['--cwd', 'apps/mobile'], { flags: tools_1.default.flags });
|
|
30
|
+
expect(result.flags.sync).toBe(false);
|
|
31
|
+
expect(result.flags.cwd).toBe('apps/mobile');
|
|
32
|
+
});
|
|
33
|
+
it('gives Gradle the same tool-selection flags and Java vendor support', async () => {
|
|
34
|
+
const result = await core_1.Parser.parse(['java@temurin-17', 'node@24'], {
|
|
35
|
+
flags: use_2.default.flags,
|
|
36
|
+
args: use_2.default.args,
|
|
37
|
+
strict: use_2.default.strict,
|
|
38
|
+
});
|
|
39
|
+
expect(result.argv).toEqual(['java@temurin-17', 'node@24']);
|
|
40
|
+
expect(Object.keys(tools_2.default.flags)).toEqual(Object.keys(tools_1.default.flags));
|
|
41
|
+
expect(run_1.default.examples?.[0]).toContain('gradle run');
|
|
42
|
+
});
|
|
43
|
+
it.each([tools_1.default, tools_2.default])('syncs tool inspection only when requested', async (Tools) => {
|
|
44
|
+
for (const sync of [false, true]) {
|
|
45
|
+
const proc = Object.assign(Promise.resolve({ exitCode: 0 }), {
|
|
46
|
+
stdout: new events_1.EventEmitter(),
|
|
47
|
+
stderr: new events_1.EventEmitter(),
|
|
48
|
+
});
|
|
49
|
+
const client = { sync: jest.fn().mockResolvedValue({}), run: jest.fn().mockReturnValue(proc) };
|
|
50
|
+
const resolve = jest.fn().mockResolvedValue({ client });
|
|
51
|
+
const command = new Tools([], {});
|
|
52
|
+
Object.assign(command, {
|
|
53
|
+
parse: async () => ({ flags: { sync, cwd: 'apps/mobile' } }),
|
|
54
|
+
setParsedFlags: jest.fn(),
|
|
55
|
+
withAuth: async (fn) => fn(),
|
|
56
|
+
resolveBuildToolClient: resolve,
|
|
57
|
+
info: jest.fn(),
|
|
58
|
+
});
|
|
59
|
+
await command.run();
|
|
60
|
+
expect(resolve).toHaveBeenCalledWith(Tools === tools_1.default ? 'xcode' : 'gradle', undefined, 'existing');
|
|
61
|
+
expect(client.sync).toHaveBeenCalledTimes(sync ? 1 : 0);
|
|
62
|
+
expect(client.run).toHaveBeenCalledWith('mise ls --current', { cwd: 'apps/mobile' });
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
class InspectionCommand extends base_command_1.BaseCommand {
|
|
66
|
+
runWithAuth(fn) {
|
|
67
|
+
return this.withAuth(fn);
|
|
68
|
+
}
|
|
69
|
+
async run() { }
|
|
70
|
+
inspect(platform) {
|
|
71
|
+
return this.resolveBuildToolClient(platform, undefined, 'existing');
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
it.each(['xcode', 'gradle'])('does not create or reconfigure a %s sandbox during inspection', async (platform) => {
|
|
75
|
+
const command = new InspectionCommand([], {});
|
|
76
|
+
const target = { id: 'existing' };
|
|
77
|
+
const create = jest.fn();
|
|
78
|
+
const configure = jest.fn();
|
|
79
|
+
Object.assign(command, {
|
|
80
|
+
resolveXcodeTarget: jest.fn().mockResolvedValue(target),
|
|
81
|
+
resolveGradleTarget: jest.fn().mockReturnValue(target),
|
|
82
|
+
resolveXcodeTargetOrCreate: create,
|
|
83
|
+
resolveGradleTargetOrCreate: create,
|
|
84
|
+
resolveXcodeClient: jest.fn().mockResolvedValue('client'),
|
|
85
|
+
resolveGradleClient: jest.fn().mockResolvedValue('client'),
|
|
86
|
+
resolveXcodeClientForWork: configure,
|
|
87
|
+
});
|
|
88
|
+
expect(await command.inspect(platform)).toEqual({ target, client: 'client' });
|
|
89
|
+
expect(create).not.toHaveBeenCalled();
|
|
90
|
+
expect(configure).not.toHaveBeenCalled();
|
|
91
|
+
});
|
|
92
|
+
it.each(['xcode', 'gradle'])('does not replace a missing %s sandbox during tool inspection', async (platform) => {
|
|
93
|
+
const command = new InspectionCommand([], {});
|
|
94
|
+
const replace = jest.fn();
|
|
95
|
+
Object.assign(command, {
|
|
96
|
+
getCommandParts: () => [platform, 'tools'],
|
|
97
|
+
_lastResolvedInstanceId: 'missing',
|
|
98
|
+
createReplacementInstance: replace,
|
|
99
|
+
});
|
|
100
|
+
await expect(command.runWithAuth(async () => {
|
|
101
|
+
throw new api_1.NotFoundError(404, { message: 'missing' }, undefined, new Headers());
|
|
102
|
+
})).rejects.toThrow('was not found');
|
|
103
|
+
expect(replace).not.toHaveBeenCalled();
|
|
104
|
+
});
|
|
105
|
+
it.each([tools_1.default, tools_2.default])('accepts explicit --sync for tool inspection', async (Tools) => {
|
|
106
|
+
expect((await core_1.Parser.parse(['--sync'], { flags: Tools.flags })).flags.sync).toBe(true);
|
|
107
|
+
});
|
|
108
|
+
it.each([use_1.default, use_2.default])('rejects the removed personal-defaults flag', async (Use) => {
|
|
109
|
+
await expect(core_1.Parser.parse(['--global', 'node@24'], {
|
|
110
|
+
flags: Use.flags,
|
|
111
|
+
args: Use.args,
|
|
112
|
+
strict: Use.strict,
|
|
113
|
+
})).rejects.toThrow('Nonexistent flag');
|
|
114
|
+
});
|
|
115
|
+
it.each([install_1.default, install_2.default])('syncs explicit installation by default', async (Install) => {
|
|
116
|
+
expect((await core_1.Parser.parse([], { flags: Install.flags })).flags.sync).toBe(true);
|
|
117
|
+
const flags = (await core_1.Parser.parse(['--no-sync', '--cwd', 'apps/mobile', '--id', 'sandbox'], { flags: Install.flags })).flags;
|
|
118
|
+
expect(flags.sync).toBe(false);
|
|
119
|
+
expect(flags.cwd).toBe('apps/mobile');
|
|
120
|
+
expect(flags.id).toBe('sandbox');
|
|
121
|
+
});
|
|
122
|
+
it.each([install_1.default, install_2.default])('runs mise install in the selected existing sandbox', async (Install) => {
|
|
123
|
+
for (const sync of [false, true]) {
|
|
124
|
+
const proc = Object.assign(Promise.resolve({ exitCode: 0 }), {
|
|
125
|
+
stdout: new events_1.EventEmitter(),
|
|
126
|
+
stderr: new events_1.EventEmitter(),
|
|
127
|
+
});
|
|
128
|
+
const client = { sync: jest.fn().mockResolvedValue({}), run: jest.fn().mockReturnValue(proc) };
|
|
129
|
+
const resolve = jest.fn().mockResolvedValue({ client });
|
|
130
|
+
const command = new Install([], {});
|
|
131
|
+
Object.assign(command, {
|
|
132
|
+
parse: async () => ({ flags: { sync, cwd: 'apps/mobile', id: 'sandbox' } }),
|
|
133
|
+
setParsedFlags: jest.fn(),
|
|
134
|
+
withAuth: async (fn) => fn(),
|
|
135
|
+
resolveBuildToolClient: resolve,
|
|
136
|
+
info: jest.fn(),
|
|
137
|
+
});
|
|
138
|
+
await command.run();
|
|
139
|
+
expect(resolve).toHaveBeenCalledWith(Install === install_1.default ? 'xcode' : 'gradle', 'sandbox', 'existing');
|
|
140
|
+
expect(client.sync).toHaveBeenCalledTimes(sync ? 1 : 0);
|
|
141
|
+
expect(client.run).toHaveBeenCalledWith('mise install', { cwd: 'apps/mobile' });
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
it('reports installation failures', async () => {
|
|
145
|
+
const proc = Object.assign(Promise.resolve({ exitCode: 17 }), {
|
|
146
|
+
stdout: new events_1.EventEmitter(),
|
|
147
|
+
stderr: new events_1.EventEmitter(),
|
|
148
|
+
});
|
|
149
|
+
const command = new install_1.default([], {});
|
|
150
|
+
const error = jest.fn((message) => {
|
|
151
|
+
throw new Error(message);
|
|
152
|
+
});
|
|
153
|
+
Object.assign(command, {
|
|
154
|
+
parse: async () => ({ flags: { sync: false, cwd: '.' } }),
|
|
155
|
+
setParsedFlags: jest.fn(),
|
|
156
|
+
withAuth: async (fn) => fn(),
|
|
157
|
+
resolveBuildToolClient: async () => ({ client: { run: () => proc } }),
|
|
158
|
+
error,
|
|
159
|
+
});
|
|
160
|
+
await expect(command.run()).rejects.toThrow('Tool installation failed');
|
|
161
|
+
expect(error).toHaveBeenCalledWith(expect.stringContaining('Tool installation failed'), { exit: 17 });
|
|
162
|
+
});
|
|
163
|
+
//# sourceMappingURL=xcode-tools.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xcode-tools.test.js","sourceRoot":"","sources":["../../src/lib/xcode-tools.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.33.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.50.0",
|
|
29
29
|
"@oclif/core": "^4",
|
|
30
30
|
"cli-progress": "^3.12.0",
|
|
31
31
|
"cli-table3": "^0.6.5",
|
|
@@ -54,7 +54,7 @@
|
|
|
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, record, play-on-microphone, set-wifi-bandwidth"
|
|
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"
|
|
58
58
|
},
|
|
59
59
|
"asset": {
|
|
60
60
|
"description": "Upload, download, list, inspect, and delete files that can be used by iOS & Android as pre-installed apps: push, pull, list, delete"
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"description": "Install Limrun skills for AI coding agents (Claude Code, Cursor, Codex). Run `lim skills install` to set up."
|
|
76
76
|
},
|
|
77
77
|
"xcode": {
|
|
78
|
-
"description": "Execute any task on remote XCode sandboxes: create, list, get, delete, sync, build, test, run, rbe, attach-simulator, version"
|
|
78
|
+
"description": "Execute any task on remote XCode sandboxes: create, list, get, delete, sync, build, test, run, use, tools, rbe, attach-simulator, version"
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
},
|