@absolutejs/absolute 0.20.0-beta.50 → 0.20.0-beta.52

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.
@@ -41,6 +41,12 @@ export type BuildAbsoluteIosReleaseOptions = {
41
41
  scheme?: string;
42
42
  workspacePath?: string;
43
43
  };
44
+ type InstallAbsoluteIosReleaseOptions = {
45
+ artifactPath: string;
46
+ metadata: unknown;
47
+ outputDirectory?: string;
48
+ projectRoot: string;
49
+ };
44
50
  export declare const fingerprintAbsoluteIosNativeProject: (nativeDirectory: string, options?: {
45
51
  includePublicBundle?: boolean;
46
52
  }) => Promise<string>;
@@ -51,6 +57,27 @@ export declare const resolveAbsoluteIosXcodeProject: (nativeDirectory: string, o
51
57
  scheme: string;
52
58
  workspacePath: string;
53
59
  }>;
60
+ export declare const requireAbsoluteIosReleaseMetadata: (value: unknown) => {
61
+ bytes: number;
62
+ engine: "capacitor" | "expo";
63
+ format: 1;
64
+ marketingVersion: string;
65
+ platform: "ios";
66
+ releaseId: string;
67
+ runtime: string;
68
+ sha256: string;
69
+ signed: boolean;
70
+ type: "ipa";
71
+ buildNumber?: number | undefined;
72
+ appBuild: string;
73
+ appId: string;
74
+ artifact: "App.ipa";
75
+ };
76
+ /** Import an IPA produced by a trusted AbsoluteJS build host.
77
+ *
78
+ * The artifact is hashed and sized locally before it enters the immutable
79
+ * release store. Remote metadata is never trusted as proof of its contents.
80
+ */
54
81
  export declare const buildAbsoluteIosRelease: (options: BuildAbsoluteIosReleaseOptions) => Promise<{
55
82
  artifactPath: string;
56
83
  metadata: {
@@ -71,4 +98,24 @@ export declare const buildAbsoluteIosRelease: (options: BuildAbsoluteIosReleaseO
71
98
  };
72
99
  releaseRoot: string;
73
100
  }>;
101
+ export declare const installAbsoluteIosRelease: (options: InstallAbsoluteIosReleaseOptions) => Promise<{
102
+ artifactPath: string;
103
+ metadata: {
104
+ artifact: "App.ipa";
105
+ sha256: string;
106
+ type: "ipa";
107
+ format: typeof ABSOLUTE_IOS_RELEASE_FORMAT;
108
+ bytes: number;
109
+ runtime: string;
110
+ releaseId: string;
111
+ appBuild: string;
112
+ appId: string;
113
+ platform: "ios";
114
+ buildNumber?: number | undefined;
115
+ engine: "capacitor" | "expo";
116
+ marketingVersion: string;
117
+ signed: boolean;
118
+ };
119
+ releaseRoot: string;
120
+ }>;
74
121
  export {};
@@ -1,5 +1,6 @@
1
1
  import type { FileSink } from 'bun';
2
2
  import type { NormalizedAbsoluteMobileConfig } from './config';
3
+ import { installAbsoluteIosRelease, type AbsoluteIosReleaseMetadata } from './iosRelease';
3
4
  import type { AbsoluteIosDevPhaseTiming, AbsoluteIosDevSession, AbsoluteIosDevState, AbsoluteIosNativeLogEntry } from './iosSimulatorController';
4
5
  import type { AbsoluteExpoDevPhaseTiming, AbsoluteExpoDevSession, AbsoluteExpoDevState } from './expoDevController';
5
6
  export { ABSOLUTE_REMOTE_MAC_EVENT_PREFIX, ABSOLUTE_REMOTE_MAC_PROTOCOL_VERSION } from './remoteMacWire';
@@ -92,6 +93,26 @@ export type AbsoluteRemoteExpoIosOptions = {
92
93
  syncProject?: (project: AbsoluteRemoteIosDevProject) => Promise<void>;
93
94
  transport?: AbsoluteRemoteMacTransport;
94
95
  };
96
+ export type BuildAbsoluteRemoteIosReleaseOptions = {
97
+ allowUnsigned?: boolean;
98
+ developmentTeam?: string;
99
+ installAgent?: (project: AbsoluteRemoteIosDevProject) => Promise<{
100
+ remotePath: string;
101
+ uploaded?: boolean;
102
+ }>;
103
+ log?: (message: string) => void;
104
+ onPhaseTiming?: (timing: {
105
+ durationMs: number;
106
+ phase: string;
107
+ }) => void;
108
+ outputDirectory?: string;
109
+ prepareBuildNumber?: (buildIdentity: string) => Promise<number>;
110
+ project: AbsoluteRemoteIosDevProject;
111
+ retrieveRelease?: (project: AbsoluteRemoteIosDevProject, metadata: AbsoluteIosReleaseMetadata, outputDirectory?: string) => Promise<Awaited<ReturnType<typeof installAbsoluteIosRelease>>>;
112
+ syncReleaseInputs?: (project: AbsoluteRemoteIosDevProject) => Promise<void>;
113
+ syncProject?: (project: AbsoluteRemoteIosDevProject) => Promise<void>;
114
+ transport?: Pick<AbsoluteRemoteMacTransport, 'spawn'>;
115
+ };
95
116
  export declare const validateAbsoluteRemoteMacProfileName: (name: string) => string;
96
117
  export declare const validateAbsoluteSshDestination: (destination: string) => string;
97
118
  export declare const absoluteRemoteMacSshBase: (profile: Pick<AbsoluteRemoteMacProfile, "destination" | "port">, options?: {
@@ -148,5 +169,36 @@ export declare const absoluteRemoteProjectSyncCommands: (project: AbsoluteRemote
148
169
  tar: string[];
149
170
  };
150
171
  export declare const syncAbsoluteRemoteMacProject: (project: AbsoluteRemoteIosDevProject) => Promise<void>;
172
+ export declare const absoluteRemoteReleaseInputSyncCommands: (project: AbsoluteRemoteIosDevProject) => {
173
+ remote: string[];
174
+ tar: string[];
175
+ };
176
+ export declare const syncAbsoluteRemoteMacReleaseInputs: (project: AbsoluteRemoteIosDevProject) => Promise<void>;
177
+ export declare const buildAbsoluteRemoteIosRelease: (options: BuildAbsoluteRemoteIosReleaseOptions) => Promise<{
178
+ timings: {
179
+ 'remote-agent': number;
180
+ 'remote-release-download': number;
181
+ 'remote-release-sync': number;
182
+ total: number;
183
+ };
184
+ artifactPath: string;
185
+ metadata: {
186
+ artifact: "App.ipa";
187
+ sha256: string;
188
+ type: "ipa";
189
+ format: typeof import("./iosRelease").ABSOLUTE_IOS_RELEASE_FORMAT;
190
+ bytes: number;
191
+ runtime: string;
192
+ releaseId: string;
193
+ appBuild: string;
194
+ appId: string;
195
+ platform: "ios";
196
+ buildNumber?: number | undefined;
197
+ engine: "capacitor" | "expo";
198
+ marketingVersion: string;
199
+ signed: boolean;
200
+ };
201
+ releaseRoot: string;
202
+ }>;
151
203
  export declare const startAbsoluteRemoteExpoIosDevSession: (options: AbsoluteRemoteExpoIosOptions) => Promise<AbsoluteExpoDevSession>;
152
204
  export declare const startAbsoluteRemoteIosDevSession: (options: AbsoluteRemoteIosOptions) => Promise<AbsoluteIosDevSession>;
@@ -1,2 +1,2 @@
1
1
  export declare const ABSOLUTE_REMOTE_MAC_EVENT_PREFIX = "ABSOLUTE_REMOTE_MAC\t";
2
- export declare const ABSOLUTE_REMOTE_MAC_PROTOCOL_VERSION = 2;
2
+ export declare const ABSOLUTE_REMOTE_MAC_PROTOCOL_VERSION = 3;
package/package.json CHANGED
@@ -508,7 +508,7 @@
508
508
  ]
509
509
  }
510
510
  },
511
- "version": "0.20.0-beta.50",
511
+ "version": "0.20.0-beta.52",
512
512
  "workspaces": [
513
513
  "tests/fixtures/*",
514
514
  "tests/fixtures/_packages/*"