@limrun/api 0.49.3 → 0.50.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/CHANGELOG.md +18 -0
- package/exec-client.d.mts +25 -1
- package/exec-client.d.mts.map +1 -1
- package/exec-client.d.ts +25 -1
- package/exec-client.d.ts.map +1 -1
- package/exec-client.js +362 -197
- package/exec-client.js.map +1 -1
- package/exec-client.mjs +361 -197
- package/exec-client.mjs.map +1 -1
- package/folder-sync-ignore.d.mts +15 -12
- package/folder-sync-ignore.d.mts.map +1 -1
- package/folder-sync-ignore.d.ts +15 -12
- package/folder-sync-ignore.d.ts.map +1 -1
- package/folder-sync-ignore.js +16 -19
- package/folder-sync-ignore.js.map +1 -1
- package/folder-sync-ignore.mjs +16 -19
- package/folder-sync-ignore.mjs.map +1 -1
- package/index.d.mts +1 -1
- package/index.d.mts.map +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js.map +1 -1
- package/index.mjs.map +1 -1
- package/instance-client.d.mts +11 -0
- package/instance-client.d.mts.map +1 -1
- package/instance-client.d.ts +11 -0
- package/instance-client.d.ts.map +1 -1
- package/instance-client.js +10 -1
- package/instance-client.js.map +1 -1
- package/instance-client.mjs +7 -0
- package/instance-client.mjs.map +1 -1
- package/ios-client.d.mts +2 -33
- package/ios-client.d.mts.map +1 -1
- package/ios-client.d.ts +2 -33
- package/ios-client.d.ts.map +1 -1
- package/ios-client.js +8 -99
- package/ios-client.js.map +1 -1
- package/ios-client.mjs +4 -95
- package/ios-client.mjs.map +1 -1
- package/log-stream.d.mts +35 -0
- package/log-stream.d.mts.map +1 -0
- package/log-stream.d.ts +35 -0
- package/log-stream.d.ts.map +1 -0
- package/log-stream.js +103 -0
- package/log-stream.js.map +1 -0
- package/log-stream.mjs +99 -0
- package/log-stream.mjs.map +1 -0
- package/logcat-process.d.mts +40 -0
- package/logcat-process.d.mts.map +1 -0
- package/logcat-process.d.ts +40 -0
- package/logcat-process.d.ts.map +1 -0
- package/logcat-process.js +122 -0
- package/logcat-process.js.map +1 -0
- package/logcat-process.mjs +118 -0
- package/logcat-process.mjs.map +1 -0
- package/mise-tools.d.mts +4 -0
- package/mise-tools.d.mts.map +1 -0
- package/mise-tools.d.ts +4 -0
- package/mise-tools.d.ts.map +1 -0
- package/mise-tools.js +63 -0
- package/mise-tools.js.map +1 -0
- package/mise-tools.mjs +58 -0
- package/mise-tools.mjs.map +1 -0
- package/package.json +32 -1
- package/resources/daemon-client-shared.d.mts +11 -0
- package/resources/daemon-client-shared.d.mts.map +1 -1
- package/resources/daemon-client-shared.d.ts +11 -0
- package/resources/daemon-client-shared.d.ts.map +1 -1
- package/resources/daemon-client-shared.js +23 -0
- package/resources/daemon-client-shared.js.map +1 -1
- package/resources/daemon-client-shared.mjs +22 -0
- package/resources/daemon-client-shared.mjs.map +1 -1
- package/resources/gradle-instances-helpers.d.mts +12 -2
- package/resources/gradle-instances-helpers.d.mts.map +1 -1
- package/resources/gradle-instances-helpers.d.ts +12 -2
- package/resources/gradle-instances-helpers.d.ts.map +1 -1
- package/resources/gradle-instances-helpers.js +6 -0
- package/resources/gradle-instances-helpers.js.map +1 -1
- package/resources/gradle-instances-helpers.mjs +8 -2
- package/resources/gradle-instances-helpers.mjs.map +1 -1
- package/resources/xcode-instances-helpers.d.mts +6 -15
- package/resources/xcode-instances-helpers.d.mts.map +1 -1
- package/resources/xcode-instances-helpers.d.ts +6 -15
- package/resources/xcode-instances-helpers.d.ts.map +1 -1
- package/resources/xcode-instances-helpers.js +3 -18
- package/resources/xcode-instances-helpers.js.map +1 -1
- package/resources/xcode-instances-helpers.mjs +5 -20
- package/resources/xcode-instances-helpers.mjs.map +1 -1
- package/src/exec-client.ts +404 -198
- package/src/folder-sync-ignore.ts +21 -21
- package/src/index.ts +1 -0
- package/src/instance-client.ts +16 -0
- package/src/ios-client.ts +4 -129
- package/src/log-stream.ts +132 -0
- package/src/logcat-process.ts +151 -0
- package/src/mise-tools.ts +55 -0
- package/src/resources/daemon-client-shared.ts +33 -0
- package/src/resources/gradle-instances-helpers.ts +23 -0
- package/src/resources/xcode-instances-helpers.ts +13 -33
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -4,16 +4,22 @@ import { RequestOptions } from '../internal/request-options';
|
|
|
4
4
|
import { path } from '../internal/utils/path';
|
|
5
5
|
import {
|
|
6
6
|
exec,
|
|
7
|
+
observeExecLogs,
|
|
7
8
|
type ExecChildProcess,
|
|
9
|
+
type ExecLogOptions,
|
|
10
|
+
type ExecLogResult,
|
|
8
11
|
type GradleBuildExecRequest,
|
|
9
12
|
type GradlePlaystoreConfig,
|
|
10
13
|
type GradleReactNativeConfig,
|
|
11
14
|
type GradleSigningConfig,
|
|
12
15
|
type WebhookConfig,
|
|
13
16
|
} from '../exec-client';
|
|
17
|
+
export type { ExecLogOptions, ExecLogResult } from '../exec-client';
|
|
14
18
|
import { syncFolder as syncFolderImpl, type FolderSyncOptions } from '../folder-sync';
|
|
15
19
|
import { createIgnoreFn } from '../folder-sync-ignore';
|
|
16
20
|
import {
|
|
21
|
+
createBuildRun,
|
|
22
|
+
type BuildRunOptions,
|
|
17
23
|
createDaemonLogger,
|
|
18
24
|
deriveBasisCache,
|
|
19
25
|
mintAssetUploadUrls,
|
|
@@ -28,6 +34,8 @@ export type GradleCreateClientParams = { logLevel?: LogLevel } & (
|
|
|
28
34
|
);
|
|
29
35
|
|
|
30
36
|
export type GradleSyncOptions = {
|
|
37
|
+
/** Extra files to sync to paths relative to the remote workspace. */
|
|
38
|
+
additionalFiles?: FolderSyncOptions['additionalFiles'];
|
|
31
39
|
/**
|
|
32
40
|
* Directory for the client-side folder-sync cache.
|
|
33
41
|
* Defaults to a temporary directory under the OS temp directory.
|
|
@@ -48,6 +56,8 @@ export type GradleSyncOptions = {
|
|
|
48
56
|
};
|
|
49
57
|
|
|
50
58
|
export type GradleBuildOptions = {
|
|
59
|
+
/** Extra KEY=VALUE entries shared by all build phases; sandbox paths remain managed. */
|
|
60
|
+
env?: string[];
|
|
51
61
|
/**
|
|
52
62
|
* Gradle tasks to run. Omit for the server default (assembleDebug, or
|
|
53
63
|
* bundleRelease when signing is set).
|
|
@@ -82,9 +92,14 @@ export type GradleBuildOptions = {
|
|
|
82
92
|
playstore?: GradlePlaystoreConfig;
|
|
83
93
|
};
|
|
84
94
|
|
|
95
|
+
export type GradleRunOptions = BuildRunOptions;
|
|
96
|
+
|
|
85
97
|
export type GradleClient = {
|
|
86
98
|
sync(localCodePath: string, opts?: GradleSyncOptions): Promise<SyncResult>;
|
|
87
99
|
gradlebuild(options?: GradleBuildOptions): ExecChildProcess;
|
|
100
|
+
run(commandLine: string, options?: GradleRunOptions): ExecChildProcess;
|
|
101
|
+
/** Replay an existing build's logs, optionally following it to completion. */
|
|
102
|
+
observeBuildLogs(execId: string, options?: ExecLogOptions): Promise<ExecLogResult>;
|
|
88
103
|
};
|
|
89
104
|
|
|
90
105
|
// Machine-local or regenerable files that must never reach the build
|
|
@@ -173,6 +188,7 @@ class GradleInstancesHelpers extends GradleInstances {
|
|
|
173
188
|
launchMode: 'ForegroundIfRunning',
|
|
174
189
|
log,
|
|
175
190
|
syncSymlinks: true,
|
|
191
|
+
...(opts?.additionalFiles && { additionalFiles: opts.additionalFiles }),
|
|
176
192
|
};
|
|
177
193
|
|
|
178
194
|
const result = await syncFolderImpl(localCodePath, codeSyncOpts);
|
|
@@ -183,9 +199,12 @@ class GradleInstancesHelpers extends GradleInstances {
|
|
|
183
199
|
return out;
|
|
184
200
|
},
|
|
185
201
|
|
|
202
|
+
run: createBuildRun({ apiUrl, token, log }),
|
|
203
|
+
|
|
186
204
|
gradlebuild(options?: GradleBuildOptions): ExecChildProcess {
|
|
187
205
|
const request: GradleBuildExecRequest = {
|
|
188
206
|
command: 'gradlebuild',
|
|
207
|
+
...(options?.env?.length && { env: options.env }),
|
|
189
208
|
...(options?.tasks?.length && { tasks: options.tasks }),
|
|
190
209
|
...(options?.projectPath && { projectPath: options.projectPath }),
|
|
191
210
|
...(options?.reactNative && { reactNative: options.reactNative }),
|
|
@@ -213,6 +232,10 @@ class GradleInstancesHelpers extends GradleInstances {
|
|
|
213
232
|
|
|
214
233
|
return exec(request, { apiUrl, token, log });
|
|
215
234
|
},
|
|
235
|
+
|
|
236
|
+
observeBuildLogs(execId: string, options?: ExecLogOptions): Promise<ExecLogResult> {
|
|
237
|
+
return observeExecLogs(execId, { apiUrl, token, log, ...options });
|
|
238
|
+
},
|
|
216
239
|
};
|
|
217
240
|
}
|
|
218
241
|
}
|
|
@@ -16,14 +16,17 @@ import {
|
|
|
16
16
|
} from '../xcode-cache';
|
|
17
17
|
import {
|
|
18
18
|
exec,
|
|
19
|
+
observeExecLogs,
|
|
19
20
|
type AppStoreUploadConfig,
|
|
20
21
|
type ExecChildProcess,
|
|
22
|
+
type ExecLogOptions,
|
|
23
|
+
type ExecLogResult,
|
|
21
24
|
type ExecRequest,
|
|
22
25
|
type WebhookConfig,
|
|
23
26
|
type XctestEvent,
|
|
24
27
|
} from '../exec-client';
|
|
25
28
|
|
|
26
|
-
export type { AppStoreUploadConfig, WebhookConfig } from '../exec-client';
|
|
29
|
+
export type { AppStoreUploadConfig, ExecLogOptions, ExecLogResult, WebhookConfig } from '../exec-client';
|
|
27
30
|
import {
|
|
28
31
|
syncFolder as syncFolderImpl,
|
|
29
32
|
type AdditionalFileSyncEntry,
|
|
@@ -31,6 +34,8 @@ import {
|
|
|
31
34
|
} from '../folder-sync';
|
|
32
35
|
import { createIgnoreFn } from '../folder-sync-ignore';
|
|
33
36
|
import {
|
|
37
|
+
createBuildRun,
|
|
38
|
+
type BuildRunOptions,
|
|
34
39
|
createDaemonLogger,
|
|
35
40
|
deriveBasisCache,
|
|
36
41
|
mintAssetUploadUrls,
|
|
@@ -88,18 +93,7 @@ export type SyncOptions = {
|
|
|
88
93
|
onSyncComplete?: FolderSyncOptions['onSyncComplete'];
|
|
89
94
|
};
|
|
90
95
|
|
|
91
|
-
export type XcodeRunOptions =
|
|
92
|
-
/** Working directory relative to the synced workspace root. Defaults to ".". */
|
|
93
|
-
cwd?: string;
|
|
94
|
-
/**
|
|
95
|
-
* Ordered KEY=VALUE entries added to limbuild's curated sandbox
|
|
96
|
-
* environment. Server-managed variables (PATH, HOME, ...) cannot be
|
|
97
|
-
* overridden; when a key repeats, the last entry wins.
|
|
98
|
-
*/
|
|
99
|
-
env?: string[];
|
|
100
|
-
/** Server-side timeout in seconds. Defaults to 3600; maximum 21600. */
|
|
101
|
-
timeoutSeconds?: number;
|
|
102
|
-
};
|
|
96
|
+
export type XcodeRunOptions = BuildRunOptions;
|
|
103
97
|
export type XcodeProjectConfig = {
|
|
104
98
|
workspace?: string;
|
|
105
99
|
project?: string;
|
|
@@ -517,6 +511,9 @@ export type XcodeClient = {
|
|
|
517
511
|
*/
|
|
518
512
|
xcodebuild: (settings?: XcodeProjectConfig, options?: XcodeBuildOptions) => ExecChildProcess;
|
|
519
513
|
|
|
514
|
+
/** Replay an existing build's logs, optionally following it to completion. */
|
|
515
|
+
observeBuildLogs: (execId: string, options?: ExecLogOptions) => Promise<ExecLogResult>;
|
|
516
|
+
|
|
520
517
|
/**
|
|
521
518
|
* Run a one-shot shell command in the synced workspace.
|
|
522
519
|
* Output and the remote exit code are streamed through the returned process.
|
|
@@ -1049,26 +1046,9 @@ export class XcodeInstances extends GeneratedXcodeInstances {
|
|
|
1049
1046
|
return exec(request, execOptions);
|
|
1050
1047
|
},
|
|
1051
1048
|
|
|
1052
|
-
run
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
}
|
|
1056
|
-
if (
|
|
1057
|
-
options?.timeoutSeconds !== undefined &&
|
|
1058
|
-
(!Number.isInteger(options.timeoutSeconds) ||
|
|
1059
|
-
options.timeoutSeconds < 1 ||
|
|
1060
|
-
options.timeoutSeconds > 21600)
|
|
1061
|
-
) {
|
|
1062
|
-
throw new Error('timeoutSeconds must be an integer between 1 and 21600');
|
|
1063
|
-
}
|
|
1064
|
-
const request: ExecRequest = {
|
|
1065
|
-
command: 'run',
|
|
1066
|
-
commandLine,
|
|
1067
|
-
cwd: options?.cwd ?? '.',
|
|
1068
|
-
...(options?.env && { env: options.env }),
|
|
1069
|
-
...(options?.timeoutSeconds !== undefined && { timeoutSeconds: options.timeoutSeconds }),
|
|
1070
|
-
};
|
|
1071
|
-
return exec(request, { apiUrl, token, log });
|
|
1049
|
+
run: createBuildRun({ apiUrl, token, log }),
|
|
1050
|
+
observeBuildLogs(execId: string, options?: ExecLogOptions): Promise<ExecLogResult> {
|
|
1051
|
+
return observeExecLogs(execId, { apiUrl, token, log, ...options });
|
|
1072
1052
|
},
|
|
1073
1053
|
|
|
1074
1054
|
async getSimulator(): Promise<SimulatorStatus> {
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.50.0'; // x-release-please-version
|
package/version.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.50.0";
|
|
2
2
|
//# sourceMappingURL=version.d.mts.map
|
package/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.50.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/version.js
CHANGED
package/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.50.0'; // x-release-please-version
|
|
2
2
|
//# sourceMappingURL=version.mjs.map
|