@absolutejs/absolute 0.20.0-beta.103 → 0.20.0-beta.105

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/changelog.json +33 -0
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/cli/{compile-4xbpm6hf.js → compile-hsbs1xf6.js} +2 -2
  6. package/dist/cli/{dev-m4r4zs2k.js → dev-9cp5t2n1.js} +4 -4
  7. package/dist/cli/{expoProject-780thyfd.js → expoProject-zkprmjjz.js} +1 -1
  8. package/dist/cli/{index-d5fr1xp3.js → index-0zcebhm4.js} +59 -1
  9. package/dist/cli/{index-wpfvpsk7.js → index-5skbydh0.js} +1 -1
  10. package/dist/cli/{index-3sdvzrv2.js → index-7fxrgx5q.js} +1 -1
  11. package/dist/cli/{index-6ff78meg.js → index-hrzd7e5x.js} +10 -2
  12. package/dist/cli/{index-rvpd4w9t.js → index-mazxtfh4.js} +1 -1
  13. package/dist/cli/{index-qxnptvwn.js → index-q1d4ns4n.js} +100 -9
  14. package/dist/cli/index.js +5 -5
  15. package/dist/cli/{iosNativeWatcher-3k715hq0.js → iosNativeWatcher-t6gv0p1w.js} +2 -2
  16. package/dist/cli/{iosSimulatorController-dr98a0p9.js → iosSimulatorController-5n2a9fxv.js} +2 -2
  17. package/dist/cli/{mobile-6xe6zysv.js → mobile-fbtq3s5x.js} +1240 -370
  18. package/dist/cli/{remoteMacProtocol-kqvkp0qd.js → remoteMacProtocol-bbramzh6.js} +2 -2
  19. package/dist/cli/{start-nmyy64tr.js → start-5grq7nfr.js} +3 -3
  20. package/dist/mobile/index.js +1340 -571
  21. package/dist/mobile/index.js.map +10 -8
  22. package/dist/mobile/remoteMacAgentEntry.js +302 -255
  23. package/dist/src/mobile/index.d.ts +2 -0
  24. package/dist/src/mobile/iosRelease.d.ts +31 -7
  25. package/dist/src/mobile/iosReleaseAcceptance.d.ts +63 -0
  26. package/dist/src/mobile/iosTestReport.d.ts +1 -0
  27. package/dist/src/mobile/nativeReleaseReadiness.d.ts +5 -0
  28. package/dist/src/mobile/nativeTestReport.d.ts +15 -0
  29. package/dist/src/mobile/releaseDoctor.d.ts +2 -0
  30. package/dist/src/mobile/remoteMacProtocol.d.ts +7 -1
  31. package/dist/src/mobile/shellReleaseReadiness.d.ts +2 -0
  32. package/package.json +2 -1
@@ -4,6 +4,7 @@ export * from './androidRelease';
4
4
  export * from './androidReleaseAcceptance';
5
5
  export * from './androidUpgradeConformance';
6
6
  export * from './iosRelease';
7
+ export * from './iosReleaseAcceptance';
7
8
  export * from './iosUpgradeConformance';
8
9
  export * from './iosConformance';
9
10
  export * from './iosSimulatorController';
@@ -40,6 +41,7 @@ export * from './nativeAuth';
40
41
  export * from './nativeRoute';
41
42
  export * from './nativeUpdates';
42
43
  export * from './nativeObservability';
44
+ export * from './nativeReleaseReadiness';
43
45
  export * from './pageProtocol';
44
46
  export * from './producerContext';
45
47
  export * from './releaseArtifact';
@@ -11,6 +11,11 @@ export type AbsoluteIosReleaseMetadata = {
11
11
  format: typeof ABSOLUTE_IOS_RELEASE_FORMAT;
12
12
  marketingVersion: string;
13
13
  platform: 'ios';
14
+ registeredDevice?: {
15
+ artifact: 'App.registered.ipa';
16
+ bytes: number;
17
+ sha256: string;
18
+ };
14
19
  releaseId: string;
15
20
  runtime: string;
16
21
  sha256: string;
@@ -36,6 +41,7 @@ export type BuildAbsoluteIosReleaseOptions = {
36
41
  outputDirectory?: string;
37
42
  prepareBuildNumber?: (buildIdentity: string) => Promise<number>;
38
43
  projectRoot: string;
44
+ registeredDeviceArtifact?: boolean;
39
45
  run?: (command: string[], options?: CommandOptions) => Promise<number>;
40
46
  buildNumber?: number;
41
47
  scheme?: string;
@@ -46,6 +52,7 @@ type InstallAbsoluteIosReleaseOptions = {
46
52
  metadata: unknown;
47
53
  outputDirectory?: string;
48
54
  projectRoot: string;
55
+ registeredArtifactPath?: string;
49
56
  };
50
57
  export declare const fingerprintAbsoluteIosNativeProject: (nativeDirectory: string, options?: {
51
58
  includePublicBundle?: boolean;
@@ -58,16 +65,21 @@ export declare const resolveAbsoluteIosXcodeProject: (nativeDirectory: string, o
58
65
  workspacePath: string;
59
66
  }>;
60
67
  export declare const requireAbsoluteIosReleaseMetadata: (value: unknown) => {
61
- bytes: number;
62
- engine: "capacitor" | "expo";
63
- format: 1;
64
- marketingVersion: string;
65
- platform: "ios";
66
68
  releaseId: string;
67
69
  runtime: string;
68
70
  sha256: string;
69
71
  signed: boolean;
70
72
  type: "ipa";
73
+ registeredDevice?: {
74
+ artifact: "App.registered.ipa";
75
+ bytes: number;
76
+ sha256: string;
77
+ } | undefined;
78
+ bytes: number;
79
+ engine: "capacitor" | "expo";
80
+ format: 1;
81
+ marketingVersion: string;
82
+ platform: "ios";
71
83
  buildNumber?: number | undefined;
72
84
  appBuild: string;
73
85
  appId: string;
@@ -79,6 +91,8 @@ export declare const requireAbsoluteIosReleaseMetadata: (value: unknown) => {
79
91
  * release store. Remote metadata is never trusted as proof of its contents.
80
92
  */
81
93
  export declare const buildAbsoluteIosRelease: (options: BuildAbsoluteIosReleaseOptions) => Promise<{
94
+ releaseRoot: string;
95
+ registeredArtifactPath?: string | undefined;
82
96
  artifactPath: string;
83
97
  metadata: {
84
98
  artifact: "App.ipa";
@@ -94,11 +108,17 @@ export declare const buildAbsoluteIosRelease: (options: BuildAbsoluteIosReleaseO
94
108
  buildNumber?: number | undefined;
95
109
  engine: "capacitor" | "expo";
96
110
  marketingVersion: string;
111
+ registeredDevice?: {
112
+ artifact: "App.registered.ipa";
113
+ bytes: number;
114
+ sha256: string;
115
+ } | undefined;
97
116
  signed: boolean;
98
117
  };
99
- releaseRoot: string;
100
118
  }>;
101
119
  export declare const installAbsoluteIosRelease: (options: InstallAbsoluteIosReleaseOptions) => Promise<{
120
+ releaseRoot: string;
121
+ registeredArtifactPath?: string | undefined;
102
122
  artifactPath: string;
103
123
  metadata: {
104
124
  artifact: "App.ipa";
@@ -114,8 +134,12 @@ export declare const installAbsoluteIosRelease: (options: InstallAbsoluteIosRele
114
134
  buildNumber?: number | undefined;
115
135
  engine: "capacitor" | "expo";
116
136
  marketingVersion: string;
137
+ registeredDevice?: {
138
+ artifact: "App.registered.ipa";
139
+ bytes: number;
140
+ sha256: string;
141
+ } | undefined;
117
142
  signed: boolean;
118
143
  };
119
- releaseRoot: string;
120
144
  }>;
121
145
  export {};
@@ -0,0 +1,63 @@
1
+ import type { NormalizedAbsoluteMobileConfig } from './config';
2
+ import { type AbsoluteIosReleaseMetadata } from './iosRelease';
3
+ type CommandOptions = {
4
+ cwd?: string;
5
+ env?: Record<string, string | undefined>;
6
+ };
7
+ export type AbsoluteIosReleaseCommandResult = {
8
+ exitCode: number;
9
+ stderr: string;
10
+ stdout: string;
11
+ };
12
+ export type AbsoluteIosReleaseCommand = (command: string[], options?: CommandOptions) => Promise<AbsoluteIosReleaseCommandResult>;
13
+ export type AbsoluteIosRelease = {
14
+ artifactPath: string;
15
+ metadata: AbsoluteIosReleaseMetadata;
16
+ metadataPath: string;
17
+ releaseRoot: string;
18
+ registeredArtifactPath?: string;
19
+ };
20
+ export type AbsoluteIosReleaseAcceptanceResult = {
21
+ artifactBytes: number;
22
+ artifactExactness: 'archive-equivalent' | 'source-equivalent' | 'store-delivered';
23
+ artifactSha256: string;
24
+ buildNumber?: number;
25
+ distribution: 'apple-processed' | 'registered-device' | 'simulator-release';
26
+ durationMs: number;
27
+ embeddedLocal: true;
28
+ engine: 'capacitor' | 'expo';
29
+ installMs: number;
30
+ launchMs: number;
31
+ marketingVersion: string;
32
+ networkUnavailable: 'not-proven' | 'user-confirmed';
33
+ relaunchMs: number;
34
+ releaseId: string;
35
+ signed: boolean;
36
+ status: 'pass';
37
+ target: 'device' | 'simulator';
38
+ };
39
+ /** Revalidate an immutable AbsoluteJS iOS release and optional registered-device export. */
40
+ export declare const readAbsoluteIosRelease: (projectRoot: string, requested: string) => Promise<AbsoluteIosRelease>;
41
+ export declare const runAbsoluteIosSimulatorReleaseAcceptance: (options: {
42
+ artifactDirectory: string;
43
+ config: NormalizedAbsoluteMobileConfig;
44
+ release: AbsoluteIosRelease;
45
+ run?: AbsoluteIosReleaseCommand;
46
+ udid: string;
47
+ xcodebuild?: string;
48
+ xcrun?: string;
49
+ }) => Promise<AbsoluteIosReleaseAcceptanceResult>;
50
+ export declare const runAbsoluteIosDeviceReleaseAcceptance: (options: {
51
+ device: string;
52
+ distribution: "registered-device" | "testflight";
53
+ networkUnavailableConfirmed: boolean;
54
+ observeLaunch?: (options: {
55
+ appId: string;
56
+ device: string;
57
+ marker: string;
58
+ }) => Promise<number>;
59
+ release: AbsoluteIosRelease;
60
+ run?: AbsoluteIosReleaseCommand;
61
+ xcrun?: string;
62
+ }) => Promise<AbsoluteIosReleaseAcceptanceResult>;
63
+ export {};
@@ -9,6 +9,7 @@ type CreateAbsoluteIosPartnerReportOptions = {
9
9
  bunVersion: string;
10
10
  generatedAt?: string;
11
11
  macosVersion: string;
12
+ provider?: 'capacitor' | 'expo';
12
13
  run: AbsoluteIosAutomatedResult;
13
14
  xcodeVersion: string;
14
15
  };
@@ -0,0 +1,5 @@
1
+ import type { NormalizedAbsoluteMobileConfig } from './config';
2
+ /** Project a data-minimal production readiness signal into Capacitor hosts. */
3
+ export declare const applyAbsoluteNativeReleaseReadiness: (config: NormalizedAbsoluteMobileConfig, platforms?: import("..").MobilePlatform[]) => Promise<{
4
+ changed: boolean;
5
+ }>;
@@ -43,6 +43,20 @@ export type AbsoluteNativeReleaseResult = {
43
43
  relaunchMs: number;
44
44
  signed: boolean;
45
45
  };
46
+ export type AbsoluteNativeIosReleaseResult = {
47
+ artifactBytes: number;
48
+ artifactExactness: 'archive-equivalent' | 'source-equivalent' | 'store-delivered';
49
+ artifactSha256: string;
50
+ distribution: 'apple-processed' | 'registered-device' | 'simulator-release';
51
+ embeddedLocal: boolean;
52
+ engine: 'capacitor' | 'expo';
53
+ installMs: number;
54
+ launchMs: number;
55
+ networkUnavailable: 'not-proven' | 'user-confirmed';
56
+ releaseId: string;
57
+ relaunchMs: number;
58
+ signed: boolean;
59
+ };
46
60
  export type AbsoluteNativeAutomatedRun = {
47
61
  appId: string;
48
62
  deviceAcceptance?: {
@@ -54,6 +68,7 @@ export type AbsoluteNativeAutomatedRun = {
54
68
  error?: string;
55
69
  hmr?: AbsoluteNativeHmrResult;
56
70
  hmrConnected: boolean;
71
+ iosRelease?: AbsoluteNativeIosReleaseResult;
57
72
  platform: 'android' | 'ios';
58
73
  port?: number;
59
74
  release?: AbsoluteNativeReleaseResult;
@@ -36,5 +36,7 @@ export declare const findAbsoluteDependencyLock: (projectRoot: string) => Promis
36
36
  name: string;
37
37
  path: string;
38
38
  } | undefined>;
39
+ /** Resolve an installed package only from the app or its governing workspace. */
40
+ export declare const findAbsoluteInstalledPackageManifest: (projectRoot: string, name: string) => Promise<string>;
39
41
  export declare const createAbsoluteMobileComplianceReport: (config: NormalizedAbsoluteMobileConfig, result: AbsoluteMobileReleaseDoctorResult) => AbsoluteMobileComplianceReport;
40
42
  export declare const inspectAbsoluteMobileRelease: (config: NormalizedAbsoluteMobileConfig, projectRoot: string) => Promise<AbsoluteMobileReleaseDoctorResult>;
@@ -221,6 +221,8 @@ export declare const buildAbsoluteRemoteIosRelease: (options: BuildAbsoluteRemot
221
221
  'remote-release-sync': number;
222
222
  total: number;
223
223
  };
224
+ releaseRoot: string;
225
+ registeredArtifactPath?: string | undefined;
224
226
  artifactPath: string;
225
227
  metadata: {
226
228
  artifact: "App.ipa";
@@ -236,9 +238,13 @@ export declare const buildAbsoluteRemoteIosRelease: (options: BuildAbsoluteRemot
236
238
  buildNumber?: number | undefined;
237
239
  engine: "capacitor" | "expo";
238
240
  marketingVersion: string;
241
+ registeredDevice?: {
242
+ artifact: "App.registered.ipa";
243
+ bytes: number;
244
+ sha256: string;
245
+ } | undefined;
239
246
  signed: boolean;
240
247
  };
241
- releaseRoot: string;
242
248
  }>;
243
249
  export declare const startAbsoluteRemoteExpoIosDevSession: (options: AbsoluteRemoteExpoIosOptions) => Promise<AbsoluteExpoDevSession>;
244
250
  export declare const startAbsoluteRemoteIosDevSession: (options: AbsoluteRemoteIosOptions) => Promise<AbsoluteIosDevSession>;
@@ -0,0 +1,2 @@
1
+ /** Notify the installed native host only after the embedded shell is ready. */
2
+ export declare const markAbsoluteMobileShellReady: () => Promise<void>;
package/package.json CHANGED
@@ -472,6 +472,7 @@
472
472
  "test:native:android:observability": "ABSOLUTE_TEST_NATIVE_ANDROID=1 bun test tests/native/android-embedded-bundle-conformance.test.ts -t 'native process crash'",
473
473
  "test:native:android:updates": "ABSOLUTE_TEST_NATIVE_ANDROID=1 bun test tests/native/android-embedded-bundle-conformance.test.ts -t 'signed web updates'",
474
474
  "test:native:android:upgrade": "ABSOLUTE_TEST_NATIVE_ANDROID=1 bun test tests/native/android-embedded-bundle-conformance.test.ts -t 'installed APK upgrade'",
475
+ "test:native:capacitor:android:release": "ABSOLUTE_TEST_NATIVE_CAPACITOR_ANDROID_RELEASE=1 bun test tests/native/capacitor-android-release-conformance.test.ts",
475
476
  "test:native:expo:android:hmr": "ABSOLUTE_TEST_NATIVE_EXPO_HMR_PLATFORM=android bun test tests/native/expo-hmr-conformance.test.ts",
476
477
  "test:native:expo:android:observability": "ABSOLUTE_TEST_NATIVE_EXPO_ANDROID=1 bun test tests/native/expo-android-observability-conformance.test.ts",
477
478
  "test:native:expo:android:picker": "ABSOLUTE_TEST_NATIVE_EXPO_ANDROID_PICKER=1 bun test tests/native/expo-android-picker-conformance.test.ts",
@@ -536,7 +537,7 @@
536
537
  ]
537
538
  }
538
539
  },
539
- "version": "0.20.0-beta.103",
540
+ "version": "0.20.0-beta.105",
540
541
  "workspaces": [
541
542
  "tests/fixtures/*",
542
543
  "tests/fixtures/_packages/*"