@limrun/api 0.28.8 → 0.28.10
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 +13 -0
- package/client.d.mts +2 -2
- package/client.d.mts.map +1 -1
- package/client.d.ts +2 -2
- package/client.d.ts.map +1 -1
- package/client.js.map +1 -1
- package/client.mjs.map +1 -1
- package/folder-sync.d.mts.map +1 -1
- package/folder-sync.d.ts.map +1 -1
- package/folder-sync.js +2 -1
- package/folder-sync.js.map +1 -1
- package/folder-sync.mjs +2 -1
- package/folder-sync.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/internal/direct-instance-errors.d.mts +2 -0
- package/internal/direct-instance-errors.d.mts.map +1 -0
- package/internal/direct-instance-errors.d.ts +2 -0
- package/internal/direct-instance-errors.d.ts.map +1 -0
- package/internal/direct-instance-errors.js +12 -0
- package/internal/direct-instance-errors.js.map +1 -0
- package/internal/direct-instance-errors.mjs +9 -0
- package/internal/direct-instance-errors.mjs.map +1 -0
- package/package.json +1 -1
- package/resources/index.d.mts +1 -1
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +1 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/xcode-instances-helpers.d.mts +42 -1
- package/resources/xcode-instances-helpers.d.mts.map +1 -1
- package/resources/xcode-instances-helpers.d.ts +42 -1
- package/resources/xcode-instances-helpers.d.ts.map +1 -1
- package/resources/xcode-instances-helpers.js +29 -11
- package/resources/xcode-instances-helpers.js.map +1 -1
- package/resources/xcode-instances-helpers.mjs +29 -11
- package/resources/xcode-instances-helpers.mjs.map +1 -1
- package/src/client.ts +12 -0
- package/src/folder-sync.ts +2 -1
- package/src/index.ts +6 -0
- package/src/internal/direct-instance-errors.ts +14 -0
- package/src/resources/index.ts +6 -0
- package/src/resources/xcode-instances-helpers.ts +89 -13
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.mts.map +1 -1
- package/version.d.ts +1 -1
- package/version.d.ts.map +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/version.mjs +1 -1
- package/version.mjs.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-instance-errors.d.mts","sourceRoot":"","sources":["../src/internal/direct-instance-errors.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,KAAK,CAMP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-instance-errors.d.ts","sourceRoot":"","sources":["../src/internal/direct-instance-errors.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,KAAK,CAMP"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.directInstanceHttpError = directInstanceHttpError;
|
|
4
|
+
const error_1 = require("../core/error.js");
|
|
5
|
+
function directInstanceHttpError(operation, status, text, headers) {
|
|
6
|
+
const message = `${operation} failed: ${status}${text ? ` ${text}` : ''}`;
|
|
7
|
+
if (status === 404) {
|
|
8
|
+
return new error_1.NotFoundError(404, { message }, undefined, headers);
|
|
9
|
+
}
|
|
10
|
+
return new Error(message);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=direct-instance-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-instance-errors.js","sourceRoot":"","sources":["../src/internal/direct-instance-errors.ts"],"names":[],"mappings":";;AAEA,0DAWC;AAbD,4CAA8C;AAE9C,SAAgB,uBAAuB,CACrC,SAAiB,EACjB,MAAc,EACd,IAAY,EACZ,OAAgB;IAEhB,MAAM,OAAO,GAAG,GAAG,SAAS,YAAY,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1E,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,qBAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NotFoundError } from "../core/error.mjs";
|
|
2
|
+
export function directInstanceHttpError(operation, status, text, headers) {
|
|
3
|
+
const message = `${operation} failed: ${status}${text ? ` ${text}` : ''}`;
|
|
4
|
+
if (status === 404) {
|
|
5
|
+
return new NotFoundError(404, { message }, undefined, headers);
|
|
6
|
+
}
|
|
7
|
+
return new Error(message);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=direct-instance-errors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-instance-errors.mjs","sourceRoot":"","sources":["../src/internal/direct-instance-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,0BAAsB;AAE9C,MAAM,UAAU,uBAAuB,CACrC,SAAiB,EACjB,MAAc,EACd,IAAY,EACZ,OAAgB;IAEhB,MAAM,OAAO,GAAG,GAAG,SAAS,YAAY,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1E,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC"}
|
package/package.json
CHANGED
package/resources/index.d.mts
CHANGED
|
@@ -3,5 +3,5 @@ export { type Asset, type AssetListResponse, type AssetGetOrCreateResponse, type
|
|
|
3
3
|
export { IosInstances, type IosInstance, type IosInstanceCreateParams, type IosInstanceListParams, type IosInstancesItems, } from "./ios-instances.mjs";
|
|
4
4
|
export { type XcodeInstance, type XcodeInstanceCreateParams, type XcodeInstanceListParams, type XcodeInstancesItems, } from "./xcode-instances.mjs";
|
|
5
5
|
export { Assets, AssetGetOrUploadParams, AssetGetOrUploadResponse } from "./assets-helpers.mjs";
|
|
6
|
-
export { XcodeInstances, type XcodeCreateClientParams, type XcodeClient, type XcodeProjectConfig, type XcodeBuildOptions, type ReactNativeBuildConfig, } from "./xcode-instances-helpers.mjs";
|
|
6
|
+
export { XcodeInstances, type XcodeCreateClientParams, type XcodeClient, type XcodeProjectConfig, type XcodeBuildOptions, type ReactNativeBuildConfig, type SimulatorAttachResult, type SimulatorStatus, type SimulatorBuildStatus, type SimulatorAttachment, type SimulatorDeviceInfo, type SimulatorInstallState, } from "./xcode-instances-helpers.mjs";
|
|
7
7
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,GAC3B,gCAA4B;AAC7B,OAAO,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,qBAAiB;AAClB,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,4BAAwB;AACzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GACzB,8BAA0B;AAE3B,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,6BAAyB;AAC5F,OAAO,EACL,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,GAC3B,gCAA4B;AAC7B,OAAO,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,qBAAiB;AAClB,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,4BAAwB;AACzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GACzB,8BAA0B;AAE3B,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,6BAAyB;AAC5F,OAAO,EACL,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,sCAAkC"}
|
package/resources/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export { type Asset, type AssetListResponse, type AssetGetOrCreateResponse, type
|
|
|
3
3
|
export { IosInstances, type IosInstance, type IosInstanceCreateParams, type IosInstanceListParams, type IosInstancesItems, } from "./ios-instances.js";
|
|
4
4
|
export { type XcodeInstance, type XcodeInstanceCreateParams, type XcodeInstanceListParams, type XcodeInstancesItems, } from "./xcode-instances.js";
|
|
5
5
|
export { Assets, AssetGetOrUploadParams, AssetGetOrUploadResponse } from "./assets-helpers.js";
|
|
6
|
-
export { XcodeInstances, type XcodeCreateClientParams, type XcodeClient, type XcodeProjectConfig, type XcodeBuildOptions, type ReactNativeBuildConfig, } from "./xcode-instances-helpers.js";
|
|
6
|
+
export { XcodeInstances, type XcodeCreateClientParams, type XcodeClient, type XcodeProjectConfig, type XcodeBuildOptions, type ReactNativeBuildConfig, type SimulatorAttachResult, type SimulatorStatus, type SimulatorBuildStatus, type SimulatorAttachment, type SimulatorDeviceInfo, type SimulatorInstallState, } from "./xcode-instances-helpers.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/resources/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,GAC3B,+BAA4B;AAC7B,OAAO,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,oBAAiB;AAClB,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,2BAAwB;AACzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GACzB,6BAA0B;AAE3B,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,4BAAyB;AAC5F,OAAO,EACL,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,GAC3B,+BAA4B;AAC7B,OAAO,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,oBAAiB;AAClB,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,2BAAwB;AACzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GACzB,6BAA0B;AAE3B,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,4BAAyB;AAC5F,OAAO,EACL,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,qCAAkC"}
|
package/resources/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,4DAM6B;AAL3B,qHAAA,gBAAgB,OAAA;AAclB,oDAMyB;AALvB,6GAAA,YAAY,OAAA;AAad,sDAA4F;AAAnF,wGAAA,MAAM,OAAA;AACf,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,4DAM6B;AAL3B,qHAAA,gBAAgB,OAAA;AAclB,oDAMyB;AALvB,6GAAA,YAAY,OAAA;AAad,sDAA4F;AAAnF,wGAAA,MAAM,OAAA;AACf,wEAamC;AAZjC,yHAAA,cAAc,OAAA"}
|
package/resources/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EACL,gBAAgB,GAKjB,gCAA4B;AAS7B,OAAO,EACL,YAAY,GAKb,4BAAwB;AAQzB,OAAO,EAAE,MAAM,EAAoD,6BAAyB;AAC5F,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EACL,gBAAgB,GAKjB,gCAA4B;AAS7B,OAAO,EACL,YAAY,GAKb,4BAAwB;AAQzB,OAAO,EAAE,MAAM,EAAoD,6BAAyB;AAC5F,OAAO,EACL,cAAc,GAYf,sCAAkC"}
|
|
@@ -75,6 +75,43 @@ export type XcodeBuildOptions = {
|
|
|
75
75
|
signing?: XcodeSigningConfig;
|
|
76
76
|
reactNative?: ReactNativeBuildConfig;
|
|
77
77
|
};
|
|
78
|
+
export type SimulatorInstallState = 'notInstalled' | 'installedOnAttachedSimulator' | 'installedOnOtherSimulator';
|
|
79
|
+
export type SimulatorDeviceInfo = {
|
|
80
|
+
arch: string;
|
|
81
|
+
model: string;
|
|
82
|
+
name: string;
|
|
83
|
+
osVersion: string;
|
|
84
|
+
platform: string;
|
|
85
|
+
screenHeight: number;
|
|
86
|
+
screenWidth: number;
|
|
87
|
+
udid: string;
|
|
88
|
+
};
|
|
89
|
+
export type SimulatorAttachment = {
|
|
90
|
+
apiUrl: string;
|
|
91
|
+
iosInstanceId?: string;
|
|
92
|
+
target?: SimulatorDeviceInfo;
|
|
93
|
+
};
|
|
94
|
+
export type SimulatorBuildStatus = {
|
|
95
|
+
buildId: string;
|
|
96
|
+
sdk: string;
|
|
97
|
+
bundleId?: string;
|
|
98
|
+
installState: SimulatorInstallState;
|
|
99
|
+
syncDurationMs?: number;
|
|
100
|
+
installDurationMs?: number;
|
|
101
|
+
};
|
|
102
|
+
export type SimulatorStatus = {
|
|
103
|
+
attached: boolean;
|
|
104
|
+
simulator?: SimulatorAttachment;
|
|
105
|
+
latestBuild?: SimulatorBuildStatus;
|
|
106
|
+
};
|
|
107
|
+
export type SimulatorAttachResult = {
|
|
108
|
+
attached: boolean;
|
|
109
|
+
alreadyAttached: boolean;
|
|
110
|
+
installedLastBuild: boolean;
|
|
111
|
+
simulator?: SimulatorAttachment;
|
|
112
|
+
latestBuild?: SimulatorBuildStatus;
|
|
113
|
+
installError?: string;
|
|
114
|
+
};
|
|
78
115
|
export type XcodeClient = {
|
|
79
116
|
/**
|
|
80
117
|
* Sync source code to the xcode instance. In watch mode, keeps syncing on changes.
|
|
@@ -97,7 +134,11 @@ export type XcodeClient = {
|
|
|
97
134
|
attachSimulator: (simulator: IosInstance | {
|
|
98
135
|
apiUrl: string;
|
|
99
136
|
token: string;
|
|
100
|
-
}) => Promise<
|
|
137
|
+
}) => Promise<SimulatorAttachResult>;
|
|
138
|
+
/**
|
|
139
|
+
* Return the currently attached simulator and latest installable build state.
|
|
140
|
+
*/
|
|
141
|
+
getSimulator: () => Promise<SimulatorStatus>;
|
|
101
142
|
};
|
|
102
143
|
export type XcodeCreateClientParams = {
|
|
103
144
|
instance: XcodeInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcode-instances-helpers.d.mts","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,KAAK,aAAa,EAAE,8BAA0B;AAClG,OAAO,EAAE,KAAK,WAAW,EAAE,4BAAwB;AACnD,OAAO,EAAQ,KAAK,gBAAgB,EAAoB,2BAAuB;AAC/E,OAAO,EAEL,KAAK,uBAAuB,EAE7B,2BAAuB;
|
|
1
|
+
{"version":3,"file":"xcode-instances-helpers.d.mts","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,6 +75,43 @@ export type XcodeBuildOptions = {
|
|
|
75
75
|
signing?: XcodeSigningConfig;
|
|
76
76
|
reactNative?: ReactNativeBuildConfig;
|
|
77
77
|
};
|
|
78
|
+
export type SimulatorInstallState = 'notInstalled' | 'installedOnAttachedSimulator' | 'installedOnOtherSimulator';
|
|
79
|
+
export type SimulatorDeviceInfo = {
|
|
80
|
+
arch: string;
|
|
81
|
+
model: string;
|
|
82
|
+
name: string;
|
|
83
|
+
osVersion: string;
|
|
84
|
+
platform: string;
|
|
85
|
+
screenHeight: number;
|
|
86
|
+
screenWidth: number;
|
|
87
|
+
udid: string;
|
|
88
|
+
};
|
|
89
|
+
export type SimulatorAttachment = {
|
|
90
|
+
apiUrl: string;
|
|
91
|
+
iosInstanceId?: string;
|
|
92
|
+
target?: SimulatorDeviceInfo;
|
|
93
|
+
};
|
|
94
|
+
export type SimulatorBuildStatus = {
|
|
95
|
+
buildId: string;
|
|
96
|
+
sdk: string;
|
|
97
|
+
bundleId?: string;
|
|
98
|
+
installState: SimulatorInstallState;
|
|
99
|
+
syncDurationMs?: number;
|
|
100
|
+
installDurationMs?: number;
|
|
101
|
+
};
|
|
102
|
+
export type SimulatorStatus = {
|
|
103
|
+
attached: boolean;
|
|
104
|
+
simulator?: SimulatorAttachment;
|
|
105
|
+
latestBuild?: SimulatorBuildStatus;
|
|
106
|
+
};
|
|
107
|
+
export type SimulatorAttachResult = {
|
|
108
|
+
attached: boolean;
|
|
109
|
+
alreadyAttached: boolean;
|
|
110
|
+
installedLastBuild: boolean;
|
|
111
|
+
simulator?: SimulatorAttachment;
|
|
112
|
+
latestBuild?: SimulatorBuildStatus;
|
|
113
|
+
installError?: string;
|
|
114
|
+
};
|
|
78
115
|
export type XcodeClient = {
|
|
79
116
|
/**
|
|
80
117
|
* Sync source code to the xcode instance. In watch mode, keeps syncing on changes.
|
|
@@ -97,7 +134,11 @@ export type XcodeClient = {
|
|
|
97
134
|
attachSimulator: (simulator: IosInstance | {
|
|
98
135
|
apiUrl: string;
|
|
99
136
|
token: string;
|
|
100
|
-
}) => Promise<
|
|
137
|
+
}) => Promise<SimulatorAttachResult>;
|
|
138
|
+
/**
|
|
139
|
+
* Return the currently attached simulator and latest installable build state.
|
|
140
|
+
*/
|
|
141
|
+
getSimulator: () => Promise<SimulatorStatus>;
|
|
101
142
|
};
|
|
102
143
|
export type XcodeCreateClientParams = {
|
|
103
144
|
instance: XcodeInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcode-instances-helpers.d.ts","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,KAAK,aAAa,EAAE,6BAA0B;AAClG,OAAO,EAAE,KAAK,WAAW,EAAE,2BAAwB;AACnD,OAAO,EAAQ,KAAK,gBAAgB,EAAoB,0BAAuB;AAC/E,OAAO,EAEL,KAAK,uBAAuB,EAE7B,0BAAuB;
|
|
1
|
+
{"version":3,"file":"xcode-instances-helpers.d.ts","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ const exec_client_1 = require("../exec-client.js");
|
|
|
10
10
|
const folder_sync_1 = require("../folder-sync.js");
|
|
11
11
|
const folder_sync_ignore_1 = require("../folder-sync-ignore.js");
|
|
12
12
|
const proxy_transport_1 = require("../internal/proxy-transport.js");
|
|
13
|
+
const direct_instance_errors_1 = require("../internal/direct-instance-errors.js");
|
|
13
14
|
function createLogger(logLevel) {
|
|
14
15
|
const shouldLog = (level) => {
|
|
15
16
|
const levels = ['none', 'error', 'warn', 'info', 'debug'];
|
|
@@ -47,11 +48,7 @@ async function fetchSandboxInfo(apiUrl, token) {
|
|
|
47
48
|
Authorization: `Bearer ${token}`,
|
|
48
49
|
},
|
|
49
50
|
});
|
|
50
|
-
const
|
|
51
|
-
if (!res.ok) {
|
|
52
|
-
throw new Error(`GET /info failed: ${res.status} ${text}`);
|
|
53
|
-
}
|
|
54
|
-
const body = JSON.parse(text);
|
|
51
|
+
const body = await readJsonResponse(res, 'GET /info');
|
|
55
52
|
if (!body.homeDir) {
|
|
56
53
|
throw new Error('GET /info response is missing homeDir');
|
|
57
54
|
}
|
|
@@ -59,6 +56,16 @@ async function fetchSandboxInfo(apiUrl, token) {
|
|
|
59
56
|
homeDir: normalizeWorkspaceRelativePath(body.homeDir),
|
|
60
57
|
};
|
|
61
58
|
}
|
|
59
|
+
async function readJsonResponse(res, operation) {
|
|
60
|
+
const text = await res.text();
|
|
61
|
+
if (!res.ok) {
|
|
62
|
+
throw (0, direct_instance_errors_1.directInstanceHttpError)(operation, res.status, text, res.headers);
|
|
63
|
+
}
|
|
64
|
+
if (!text.trim()) {
|
|
65
|
+
throw new Error(`${operation} returned an empty response`);
|
|
66
|
+
}
|
|
67
|
+
return JSON.parse(text);
|
|
68
|
+
}
|
|
62
69
|
class XcodeInstances extends xcode_instances_1.XcodeInstances {
|
|
63
70
|
async createClient(params) {
|
|
64
71
|
let apiUrl;
|
|
@@ -76,7 +83,11 @@ class XcodeInstances extends xcode_instances_1.XcodeInstances {
|
|
|
76
83
|
}
|
|
77
84
|
const log = createLogger(params.logLevel ?? 'info');
|
|
78
85
|
const client = this._client;
|
|
79
|
-
|
|
86
|
+
let sandboxInfoPromise;
|
|
87
|
+
const getSandboxInfo = () => {
|
|
88
|
+
sandboxInfoPromise ?? (sandboxInfoPromise = fetchSandboxInfo(apiUrl, token));
|
|
89
|
+
return sandboxInfoPromise;
|
|
90
|
+
};
|
|
80
91
|
return {
|
|
81
92
|
async sync(localCodePath, opts) {
|
|
82
93
|
const resolvedPath = path_1.default.resolve(localCodePath);
|
|
@@ -84,9 +95,10 @@ class XcodeInstances extends xcode_instances_1.XcodeInstances {
|
|
|
84
95
|
const hash = crypto_1.default.createHash('sha1').update(resolvedPath).digest('hex').slice(0, 8);
|
|
85
96
|
const cacheKey = `limsync-cache-${folderName}-${hash}`;
|
|
86
97
|
const basisCacheDir = opts?.basisCacheDir ?? path_1.default.join(os_1.default.tmpdir(), cacheKey);
|
|
98
|
+
const sandboxInfo = opts?.additionalFiles && opts.additionalFiles.length > 0 ? await getSandboxInfo() : undefined;
|
|
87
99
|
const additionalFiles = opts?.additionalFiles?.map((file) => ({
|
|
88
100
|
localPath: file.localPath,
|
|
89
|
-
remotePath: file.remotePath.startsWith('~/') ?
|
|
101
|
+
remotePath: sandboxInfo && file.remotePath.startsWith('~/') ?
|
|
90
102
|
`${sandboxInfo.homeDir}/${file.remotePath.slice(2)}`
|
|
91
103
|
: file.remotePath,
|
|
92
104
|
}));
|
|
@@ -166,6 +178,15 @@ class XcodeInstances extends xcode_instances_1.XcodeInstances {
|
|
|
166
178
|
}
|
|
167
179
|
return (0, exec_client_1.exec)(request, { apiUrl, token, log });
|
|
168
180
|
},
|
|
181
|
+
async getSimulator() {
|
|
182
|
+
const res = await proxy_transport_1.nodeProxyTransport.fetch(`${apiUrl}/simulator`, {
|
|
183
|
+
method: 'GET',
|
|
184
|
+
headers: {
|
|
185
|
+
Authorization: `Bearer ${token}`,
|
|
186
|
+
},
|
|
187
|
+
});
|
|
188
|
+
return readJsonResponse(res, 'GET /simulator');
|
|
189
|
+
},
|
|
169
190
|
async attachSimulator(simulator) {
|
|
170
191
|
let simApiUrl;
|
|
171
192
|
let simToken;
|
|
@@ -188,10 +209,7 @@ class XcodeInstances extends xcode_instances_1.XcodeInstances {
|
|
|
188
209
|
},
|
|
189
210
|
body: JSON.stringify({ apiUrl: simApiUrl, token: simToken }),
|
|
190
211
|
});
|
|
191
|
-
|
|
192
|
-
const text = await res.text();
|
|
193
|
-
throw new Error(`POST /simulator failed: ${res.status} ${text}`);
|
|
194
|
-
}
|
|
212
|
+
return readJsonResponse(res, 'POST /simulator');
|
|
195
213
|
},
|
|
196
214
|
};
|
|
197
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcode-instances-helpers.js","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":";;;;AAAA,oDAAoB;AACpB,wDAAwB;AACxB,4DAA4B;AAE5B,0DAAkG;AAElG,mDAA+E;AAC/E,mDAIwB;AACxB,iEAAuD;AACvD,oEAAiE;
|
|
1
|
+
{"version":3,"file":"xcode-instances-helpers.js","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { exec } from "../exec-client.mjs";
|
|
|
6
6
|
import { syncFolder as syncFolderImpl, } from "../folder-sync.mjs";
|
|
7
7
|
import { createIgnoreFn } from "../folder-sync-ignore.mjs";
|
|
8
8
|
import { nodeProxyTransport } from "../internal/proxy-transport.mjs";
|
|
9
|
+
import { directInstanceHttpError } from "../internal/direct-instance-errors.mjs";
|
|
9
10
|
function createLogger(logLevel) {
|
|
10
11
|
const shouldLog = (level) => {
|
|
11
12
|
const levels = ['none', 'error', 'warn', 'info', 'debug'];
|
|
@@ -43,11 +44,7 @@ async function fetchSandboxInfo(apiUrl, token) {
|
|
|
43
44
|
Authorization: `Bearer ${token}`,
|
|
44
45
|
},
|
|
45
46
|
});
|
|
46
|
-
const
|
|
47
|
-
if (!res.ok) {
|
|
48
|
-
throw new Error(`GET /info failed: ${res.status} ${text}`);
|
|
49
|
-
}
|
|
50
|
-
const body = JSON.parse(text);
|
|
47
|
+
const body = await readJsonResponse(res, 'GET /info');
|
|
51
48
|
if (!body.homeDir) {
|
|
52
49
|
throw new Error('GET /info response is missing homeDir');
|
|
53
50
|
}
|
|
@@ -55,6 +52,16 @@ async function fetchSandboxInfo(apiUrl, token) {
|
|
|
55
52
|
homeDir: normalizeWorkspaceRelativePath(body.homeDir),
|
|
56
53
|
};
|
|
57
54
|
}
|
|
55
|
+
async function readJsonResponse(res, operation) {
|
|
56
|
+
const text = await res.text();
|
|
57
|
+
if (!res.ok) {
|
|
58
|
+
throw directInstanceHttpError(operation, res.status, text, res.headers);
|
|
59
|
+
}
|
|
60
|
+
if (!text.trim()) {
|
|
61
|
+
throw new Error(`${operation} returned an empty response`);
|
|
62
|
+
}
|
|
63
|
+
return JSON.parse(text);
|
|
64
|
+
}
|
|
58
65
|
export class XcodeInstances extends GeneratedXcodeInstances {
|
|
59
66
|
async createClient(params) {
|
|
60
67
|
let apiUrl;
|
|
@@ -72,7 +79,11 @@ export class XcodeInstances extends GeneratedXcodeInstances {
|
|
|
72
79
|
}
|
|
73
80
|
const log = createLogger(params.logLevel ?? 'info');
|
|
74
81
|
const client = this._client;
|
|
75
|
-
|
|
82
|
+
let sandboxInfoPromise;
|
|
83
|
+
const getSandboxInfo = () => {
|
|
84
|
+
sandboxInfoPromise ?? (sandboxInfoPromise = fetchSandboxInfo(apiUrl, token));
|
|
85
|
+
return sandboxInfoPromise;
|
|
86
|
+
};
|
|
76
87
|
return {
|
|
77
88
|
async sync(localCodePath, opts) {
|
|
78
89
|
const resolvedPath = path.resolve(localCodePath);
|
|
@@ -80,9 +91,10 @@ export class XcodeInstances extends GeneratedXcodeInstances {
|
|
|
80
91
|
const hash = crypto.createHash('sha1').update(resolvedPath).digest('hex').slice(0, 8);
|
|
81
92
|
const cacheKey = `limsync-cache-${folderName}-${hash}`;
|
|
82
93
|
const basisCacheDir = opts?.basisCacheDir ?? path.join(os.tmpdir(), cacheKey);
|
|
94
|
+
const sandboxInfo = opts?.additionalFiles && opts.additionalFiles.length > 0 ? await getSandboxInfo() : undefined;
|
|
83
95
|
const additionalFiles = opts?.additionalFiles?.map((file) => ({
|
|
84
96
|
localPath: file.localPath,
|
|
85
|
-
remotePath: file.remotePath.startsWith('~/') ?
|
|
97
|
+
remotePath: sandboxInfo && file.remotePath.startsWith('~/') ?
|
|
86
98
|
`${sandboxInfo.homeDir}/${file.remotePath.slice(2)}`
|
|
87
99
|
: file.remotePath,
|
|
88
100
|
}));
|
|
@@ -162,6 +174,15 @@ export class XcodeInstances extends GeneratedXcodeInstances {
|
|
|
162
174
|
}
|
|
163
175
|
return exec(request, { apiUrl, token, log });
|
|
164
176
|
},
|
|
177
|
+
async getSimulator() {
|
|
178
|
+
const res = await nodeProxyTransport.fetch(`${apiUrl}/simulator`, {
|
|
179
|
+
method: 'GET',
|
|
180
|
+
headers: {
|
|
181
|
+
Authorization: `Bearer ${token}`,
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
return readJsonResponse(res, 'GET /simulator');
|
|
185
|
+
},
|
|
165
186
|
async attachSimulator(simulator) {
|
|
166
187
|
let simApiUrl;
|
|
167
188
|
let simToken;
|
|
@@ -184,10 +205,7 @@ export class XcodeInstances extends GeneratedXcodeInstances {
|
|
|
184
205
|
},
|
|
185
206
|
body: JSON.stringify({ apiUrl: simApiUrl, token: simToken }),
|
|
186
207
|
});
|
|
187
|
-
|
|
188
|
-
const text = await res.text();
|
|
189
|
-
throw new Error(`POST /simulator failed: ${res.status} ${text}`);
|
|
190
|
-
}
|
|
208
|
+
return readJsonResponse(res, 'POST /simulator');
|
|
191
209
|
},
|
|
192
210
|
};
|
|
193
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcode-instances-helpers.mjs","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAsB,8BAA0B;AAElG,OAAO,EAAE,IAAI,EAA2C,2BAAuB;AAC/E,OAAO,EACL,UAAU,IAAI,cAAc,GAG7B,2BAAuB;AACxB,OAAO,EAAE,cAAc,EAAE,kCAA8B;AACvD,OAAO,EAAE,kBAAkB,EAAE,wCAAoC;
|
|
1
|
+
{"version":3,"file":"xcode-instances-helpers.mjs","sourceRoot":"","sources":["../src/resources/xcode-instances-helpers.ts"],"names":[],"mappings":"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"}
|
package/src/client.ts
CHANGED
|
@@ -54,6 +54,12 @@ import {
|
|
|
54
54
|
XcodeProjectConfig,
|
|
55
55
|
XcodeBuildOptions,
|
|
56
56
|
ReactNativeBuildConfig,
|
|
57
|
+
SimulatorAttachResult,
|
|
58
|
+
SimulatorStatus,
|
|
59
|
+
SimulatorBuildStatus,
|
|
60
|
+
SimulatorAttachment,
|
|
61
|
+
SimulatorDeviceInfo,
|
|
62
|
+
SimulatorInstallState,
|
|
57
63
|
} from './resources/xcode-instances-helpers';
|
|
58
64
|
import { type Fetch } from './internal/builtin-types';
|
|
59
65
|
import { HeadersLike, NullableHeaders, buildHeaders } from './internal/headers';
|
|
@@ -852,5 +858,11 @@ export declare namespace Limrun {
|
|
|
852
858
|
type XcodeProjectConfig as XcodeProjectConfig,
|
|
853
859
|
type XcodeBuildOptions as XcodeBuildOptions,
|
|
854
860
|
type ReactNativeBuildConfig as ReactNativeBuildConfig,
|
|
861
|
+
type SimulatorAttachResult as SimulatorAttachResult,
|
|
862
|
+
type SimulatorStatus as SimulatorStatus,
|
|
863
|
+
type SimulatorBuildStatus as SimulatorBuildStatus,
|
|
864
|
+
type SimulatorAttachment as SimulatorAttachment,
|
|
865
|
+
type SimulatorDeviceInfo as SimulatorDeviceInfo,
|
|
866
|
+
type SimulatorInstallState as SimulatorInstallState,
|
|
855
867
|
};
|
|
856
868
|
}
|
package/src/folder-sync.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { type IgnoreFn } from './folder-sync-ignore';
|
|
|
7
7
|
import { Readable } from 'stream';
|
|
8
8
|
import * as zlib from 'zlib';
|
|
9
9
|
import { nodeProxyTransport } from './internal/proxy-transport';
|
|
10
|
+
import { directInstanceHttpError } from './internal/direct-instance-errors';
|
|
10
11
|
|
|
11
12
|
// =============================================================================
|
|
12
13
|
// Folder Sync (HTTP batch)
|
|
@@ -247,7 +248,7 @@ async function httpFolderSyncBatch(
|
|
|
247
248
|
});
|
|
248
249
|
const text = await res.text();
|
|
249
250
|
if (!res.ok) {
|
|
250
|
-
throw
|
|
251
|
+
throw directInstanceHttpError('folder-sync http', res.status, text, res.headers);
|
|
251
252
|
}
|
|
252
253
|
return JSON.parse(text) as FolderSyncHttpResponse;
|
|
253
254
|
}
|
package/src/index.ts
CHANGED
|
@@ -22,6 +22,12 @@ export {
|
|
|
22
22
|
type XcodeProjectConfig,
|
|
23
23
|
type XcodeBuildOptions,
|
|
24
24
|
type ReactNativeBuildConfig,
|
|
25
|
+
type SimulatorAttachResult,
|
|
26
|
+
type SimulatorStatus,
|
|
27
|
+
type SimulatorBuildStatus,
|
|
28
|
+
type SimulatorAttachment,
|
|
29
|
+
type SimulatorDeviceInfo,
|
|
30
|
+
type SimulatorInstallState,
|
|
25
31
|
} from './resources/xcode-instances-helpers';
|
|
26
32
|
export {
|
|
27
33
|
LimrunError,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NotFoundError } from '../core/error';
|
|
2
|
+
|
|
3
|
+
export function directInstanceHttpError(
|
|
4
|
+
operation: string,
|
|
5
|
+
status: number,
|
|
6
|
+
text: string,
|
|
7
|
+
headers: Headers,
|
|
8
|
+
): Error {
|
|
9
|
+
const message = `${operation} failed: ${status}${text ? ` ${text}` : ''}`;
|
|
10
|
+
if (status === 404) {
|
|
11
|
+
return new NotFoundError(404, { message }, undefined, headers);
|
|
12
|
+
}
|
|
13
|
+
return new Error(message);
|
|
14
|
+
}
|
package/src/resources/index.ts
CHANGED
|
@@ -37,4 +37,10 @@ export {
|
|
|
37
37
|
type XcodeProjectConfig,
|
|
38
38
|
type XcodeBuildOptions,
|
|
39
39
|
type ReactNativeBuildConfig,
|
|
40
|
+
type SimulatorAttachResult,
|
|
41
|
+
type SimulatorStatus,
|
|
42
|
+
type SimulatorBuildStatus,
|
|
43
|
+
type SimulatorAttachment,
|
|
44
|
+
type SimulatorDeviceInfo,
|
|
45
|
+
type SimulatorInstallState,
|
|
40
46
|
} from './xcode-instances-helpers';
|