@absolutejs/absolute 0.20.0-beta.6 → 0.20.0-beta.60
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 +205 -0
- package/dist/angular/browser.js +392 -405
- package/dist/angular/browser.js.map +3 -3
- package/dist/angular/components/core/streamingSlotRegistrar.js +7 -7
- package/dist/angular/components/core/streamingSlotRegistry.js +4 -4
- package/dist/angular/index.js +379 -321
- package/dist/angular/index.js.map +8 -7
- package/dist/angular/server.js +133 -61
- package/dist/angular/server.js.map +8 -7
- package/dist/build.js +2336 -1347
- package/dist/build.js.map +22 -17
- package/dist/cli/config/client.js +12 -12
- package/dist/cli/config/server.js +1140 -1091
- package/dist/cli/index.js +9621 -2093
- package/dist/client/chunks/angularPatch-arh4sr68.js +157 -0
- package/dist/client/chunks/angularPatch-arh4sr68.js.map +10 -0
- package/dist/client/chunks/index-5py90ctf.js +87 -0
- package/dist/client/chunks/index-5py90ctf.js.map +10 -0
- package/dist/client/chunks/index-m35nbkdp.js +374 -0
- package/dist/client/chunks/index-m35nbkdp.js.map +12 -0
- package/dist/client/chunks/index-qxjc7kc5.js +12 -0
- package/dist/client/chunks/index-qxjc7kc5.js.map +9 -0
- package/dist/client/chunks/islands-xj2n8nwf.js +281 -0
- package/dist/client/chunks/islands-xj2n8nwf.js.map +14 -0
- package/dist/client/chunks/react-pdg4325x.js +65 -0
- package/dist/client/chunks/react-pdg4325x.js.map +10 -0
- package/dist/client/chunks/svelte-s0c964kb.js +19 -0
- package/dist/client/chunks/svelte-s0c964kb.js.map +10 -0
- package/dist/client/chunks/vue-rdskrnyg.js +24 -0
- package/dist/client/chunks/vue-rdskrnyg.js.map +10 -0
- package/dist/client/index.js +73 -841
- package/dist/client/index.js.map +7 -20
- package/dist/core/streamingSlotRegistrar.js +15 -13
- package/dist/core/streamingSlotRegistrar.js.map +2 -2
- package/dist/core/streamingSlotRegistry.js +11 -9
- package/dist/core/streamingSlotRegistry.js.map +2 -2
- package/dist/dev/client/hmrClient.ts +35 -3
- package/dist/dev/client/hmrTiming.ts +6 -0
- package/dist/dev/client/syncDevtools.ts +237 -0
- package/dist/dev/serverBootstrap.js +28 -0
- package/dist/image-client/imageClient.js +7 -7
- package/dist/index.js +3748 -2361
- package/dist/index.js.map +38 -30
- package/dist/islands/browser.js +11 -25
- package/dist/islands/browser.js.map +2 -2
- package/dist/islands/index.js +55 -52
- package/dist/islands/index.js.map +5 -4
- package/dist/mobile/browser.js +429 -20
- package/dist/mobile/browser.js.map +8 -5
- package/dist/mobile/index.js +10626 -3132
- package/dist/mobile/index.js.map +47 -18
- package/dist/mobile/remoteMacAgentEntry.js +1374 -14
- package/dist/mobile/shellAuth.js +36 -0
- package/dist/mobile/shellBootstrap.js +1800 -0
- package/dist/mobile/shellExpoAuth.js +163 -0
- package/dist/mobile/shellExpoDevices.js +77 -0
- package/dist/mobile/shellExpoSync.js +104 -0
- package/dist/mobile/shellSync.js +184 -0
- package/dist/mobile/shellUpdate.js +456 -0
- package/dist/mobile/uiPrimitives.js +264 -0
- package/dist/react/browser.js +17 -59
- package/dist/react/browser.js.map +2 -2
- package/dist/react/components/browser/index.js +107 -107
- package/dist/react/components/index.js +118 -116
- package/dist/react/components/index.js.map +2 -2
- package/dist/react/hooks/index.js +11 -25
- package/dist/react/hooks/index.js.map +2 -2
- package/dist/react/index.js +110 -67
- package/dist/react/index.js.map +8 -7
- package/dist/react/jsxDevRuntimeCompat.js +11 -9
- package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
- package/dist/react/jsxRuntimeCompat.js +11 -9
- package/dist/react/jsxRuntimeCompat.js.map +2 -2
- package/dist/react/router/browser.js +9 -7
- package/dist/react/router/browser.js.map +2 -2
- package/dist/react/router/index.js +9 -7
- package/dist/react/router/index.js.map +2 -2
- package/dist/react/server.js +67 -11
- package/dist/react/server.js.map +7 -6
- package/dist/src/build/pwa.d.ts +16 -0
- package/dist/src/cli/config/server.d.ts +1 -1
- package/dist/src/cli/instanceStatus.d.ts +1 -0
- package/dist/src/cli/scripts/dev.d.ts +2 -0
- package/dist/src/client/browserTranslation.d.ts +19 -0
- package/dist/src/client/index.d.ts +1 -0
- package/dist/src/core/browserTranslation.d.ts +6 -0
- package/dist/src/core/devBuild.d.ts +1 -0
- package/dist/src/core/prepare.d.ts +376 -0
- package/dist/src/dev/clientManager.d.ts +1 -0
- package/dist/src/dev/devCert.d.ts +6 -4
- package/dist/src/dev/serverEntryCopies.d.ts +3 -0
- package/dist/src/ember/browser.d.ts +0 -16
- package/dist/src/mobile/adaptiveShell.d.ts +27 -0
- package/dist/src/mobile/androidEmulatorController.d.ts +8 -1
- package/dist/src/mobile/androidRelease.d.ts +9 -2
- package/dist/src/mobile/androidTestReport.d.ts +14 -0
- package/dist/src/mobile/androidUpgradeConformance.d.ts +47 -0
- package/dist/src/mobile/androidWebView.d.ts +1 -0
- package/dist/src/mobile/browser.d.ts +2 -0
- package/dist/src/mobile/capacitorBundle.d.ts +18 -0
- package/dist/src/mobile/ciWorkflow.d.ts +26 -0
- package/dist/src/mobile/config.d.ts +9 -1
- package/dist/src/mobile/devDeviceAdapter.d.ts +3 -0
- package/dist/src/mobile/deviceCapabilities.d.ts +49 -0
- package/dist/src/mobile/expoBridge.d.ts +91 -0
- package/dist/src/mobile/expoDevController.d.ts +56 -0
- package/dist/src/mobile/expoProject.d.ts +16 -0
- package/dist/src/mobile/index.d.ts +23 -0
- package/dist/src/mobile/iosDeviceAcceptance.d.ts +32 -0
- package/dist/src/mobile/iosPhysicalDeviceTransport.d.ts +16 -0
- package/dist/src/mobile/iosRelease.d.ts +63 -3
- package/dist/src/mobile/iosSimulatorController.d.ts +20 -2
- package/dist/src/mobile/iosTestReport.d.ts +24 -0
- package/dist/src/mobile/mobileBundleInspection.d.ts +63 -0
- package/dist/src/mobile/mobileInspect.d.ts +142 -0
- package/dist/src/mobile/mobilePreview.d.ts +174 -0
- package/dist/src/mobile/mobilePreviewClient.d.ts +1 -0
- package/dist/src/mobile/nativeAuth.d.ts +6 -0
- package/dist/src/mobile/nativeBackgroundSync.d.ts +4 -0
- package/dist/src/mobile/nativeDeviceCapabilities.d.ts +6 -0
- package/dist/src/mobile/nativeRoute.d.ts +13 -0
- package/dist/src/mobile/nativeTestReport.d.ts +91 -0
- package/dist/src/mobile/nativeUpdates.d.ts +4 -0
- package/dist/src/mobile/navigationLifecycle.d.ts +36 -0
- package/dist/src/mobile/navigationState.d.ts +53 -0
- package/dist/src/mobile/pageProtocol.d.ts +2 -0
- package/dist/src/mobile/releaseDoctor.d.ts +23 -1
- package/dist/src/mobile/remoteMacProtocol.d.ts +134 -1
- package/dist/src/mobile/remoteMacWire.d.ts +1 -1
- package/dist/src/mobile/shellAuth.d.ts +8 -1
- package/dist/src/mobile/shellBootstrap.d.ts +15 -2
- package/dist/src/mobile/shellExpoAuth.d.ts +12 -0
- package/dist/src/mobile/shellExpoDevices.d.ts +3 -0
- package/dist/src/mobile/shellExpoSync.d.ts +18 -0
- package/dist/src/mobile/shellHttp.d.ts +2 -0
- package/dist/src/mobile/shellPush.d.ts +11 -0
- package/dist/src/mobile/shellSync.d.ts +46 -1
- package/dist/src/mobile/shellUpdate.d.ts +2 -0
- package/dist/src/mobile/syncRemediation.d.ts +10 -0
- package/dist/src/mobile/syncSchema.d.ts +9 -0
- package/dist/src/mobile/transport.d.ts +14 -0
- package/dist/src/mobile/uiPrimitives.d.ts +37 -0
- package/dist/src/mobile/updateClient.d.ts +40 -0
- package/dist/src/mobile/updateProtocol.d.ts +51 -0
- package/dist/src/mobile/updatePublisher.d.ts +66 -0
- package/dist/src/mobile/updateRollout.d.ts +16 -0
- package/dist/src/mobile/updateRuntime.d.ts +27 -0
- package/dist/src/mobile/updateSigning.d.ts +20 -0
- package/dist/src/plugins/hmr.d.ts +3 -0
- package/dist/src/plugins/imageOptimizer.d.ts +1 -1
- package/dist/src/react/hooks/useMediaQuery.d.ts +1 -1
- package/dist/src/utils/imageProcessing.d.ts +3 -0
- package/dist/src/utils/loadConfig.d.ts +1 -0
- package/dist/src/utils/logger.d.ts +1 -0
- package/dist/src/utils/startupBanner.d.ts +1 -0
- package/dist/src/utils/userAgentFunctions.d.ts +1 -1
- package/dist/src/vue/browser.d.ts +1 -0
- package/dist/src/vue/browserTranslation.d.ts +5 -0
- package/dist/src/vue/index.d.ts +1 -0
- package/dist/svelte/browser.js +12 -26
- package/dist/svelte/browser.js.map +2 -2
- package/dist/svelte/index.js +104 -61
- package/dist/svelte/index.js.map +8 -7
- package/dist/svelte/server.js +84 -28
- package/dist/svelte/server.js.map +7 -6
- package/dist/types/build.d.ts +62 -3
- package/dist/types/cli.d.ts +1 -0
- package/dist/types/messages.d.ts +1 -1
- package/dist/vue/browser.js +116 -56
- package/dist/vue/browser.js.map +5 -3
- package/dist/vue/components/Image.js +9 -7
- package/dist/vue/components/Image.js.map +2 -2
- package/dist/vue/components/index.js +11 -9
- package/dist/vue/components/index.js.map +2 -2
- package/dist/vue/index.js +211 -94
- package/dist/vue/index.js.map +10 -7
- package/dist/vue/server.js +69 -13
- package/dist/vue/server.js.map +7 -6
- package/package.json +40 -14
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export type AbsoluteAndroidInstalledApp = {
|
|
2
|
+
appId: string;
|
|
3
|
+
dataDirectory?: string;
|
|
4
|
+
firstInstallTime?: string;
|
|
5
|
+
lastUpdateTime?: string;
|
|
6
|
+
uid?: string;
|
|
7
|
+
versionCode?: number;
|
|
8
|
+
versionName?: string;
|
|
9
|
+
};
|
|
10
|
+
export type AbsoluteAndroidUpgradeState = {
|
|
11
|
+
authCredential: boolean;
|
|
12
|
+
pendingOperations: boolean;
|
|
13
|
+
syncDatabase: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type AbsoluteAndroidCompatibilityMatrix = {
|
|
16
|
+
nPlusOne: 'compatible' | 'upgrade-required';
|
|
17
|
+
nPlusTwo: 'compatible' | 'upgrade-required';
|
|
18
|
+
nPlusThree: 'compatible' | 'upgrade-required';
|
|
19
|
+
rollback: 'compatible' | 'failed';
|
|
20
|
+
};
|
|
21
|
+
export type AbsoluteAndroidUpgradeConformanceResult = {
|
|
22
|
+
after: AbsoluteAndroidInstalledApp;
|
|
23
|
+
before: AbsoluteAndroidInstalledApp;
|
|
24
|
+
compatibility?: AbsoluteAndroidCompatibilityMatrix;
|
|
25
|
+
durationMs: number;
|
|
26
|
+
installMs: number;
|
|
27
|
+
outcome: 'fail' | 'pass';
|
|
28
|
+
state: AbsoluteAndroidUpgradeState;
|
|
29
|
+
};
|
|
30
|
+
export type AbsoluteAndroidUpgradeCommandResult = {
|
|
31
|
+
exitCode: number;
|
|
32
|
+
stderr: string;
|
|
33
|
+
stdout: string;
|
|
34
|
+
};
|
|
35
|
+
export type RunAbsoluteAndroidUpgradeConformanceOptions = {
|
|
36
|
+
adb: string;
|
|
37
|
+
afterInstall?: (installed: AbsoluteAndroidInstalledApp) => Promise<void>;
|
|
38
|
+
apkPath: string;
|
|
39
|
+
appId: string;
|
|
40
|
+
compatibility?: AbsoluteAndroidCompatibilityMatrix;
|
|
41
|
+
run?: (command: string[]) => Promise<AbsoluteAndroidUpgradeCommandResult>;
|
|
42
|
+
serial: string;
|
|
43
|
+
verifyState: () => Promise<AbsoluteAndroidUpgradeState>;
|
|
44
|
+
};
|
|
45
|
+
export declare const inspectAbsoluteAndroidInstalledApp: (adb: string, serial: string, appId: string, run?: (command: string[]) => Promise<AbsoluteAndroidUpgradeCommandResult>) => Promise<AbsoluteAndroidInstalledApp>;
|
|
46
|
+
export declare const parseAbsoluteAndroidInstalledApp: (appId: string, output: string) => AbsoluteAndroidInstalledApp | null;
|
|
47
|
+
export declare const runAbsoluteAndroidUpgradeConformance: (options: RunAbsoluteAndroidUpgradeConformanceOptions) => Promise<AbsoluteAndroidUpgradeConformanceResult>;
|
|
@@ -25,6 +25,7 @@ export type AbsoluteAndroidWebViewSession = {
|
|
|
25
25
|
screenshot: (path: string) => Promise<string>;
|
|
26
26
|
serial: string;
|
|
27
27
|
socket: string;
|
|
28
|
+
tap: (x: number, y: number) => Promise<void>;
|
|
28
29
|
target: CdpTarget;
|
|
29
30
|
waitFor: <T>(expression: string, options?: {
|
|
30
31
|
timeoutMs?: number;
|
|
@@ -1,23 +1,41 @@
|
|
|
1
1
|
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
2
2
|
import type { AbsoluteMobileCompatibilityArtifact } from './releaseArtifact';
|
|
3
3
|
import type { AbsoluteMobileAuthManifest } from './nativeAuth';
|
|
4
|
+
import type { SyncLocalStoreSchemaBundle } from '@absolutejs/sync/client';
|
|
5
|
+
import type { AbsoluteDeviceCapabilityPlan } from './deviceCapabilities';
|
|
4
6
|
export type AbsoluteCapacitorBundleOptions = {
|
|
5
7
|
artifact: AbsoluteMobileCompatibilityArtifact;
|
|
6
8
|
auth?: AbsoluteMobileAuthManifest;
|
|
7
9
|
buildDirectory: string;
|
|
8
10
|
config: NormalizedAbsoluteMobileConfig;
|
|
11
|
+
deviceCapabilities: AbsoluteDeviceCapabilityPlan;
|
|
12
|
+
projectRoot: string;
|
|
13
|
+
runtimeFingerprint: string;
|
|
9
14
|
sync?: boolean;
|
|
15
|
+
syncSchema?: SyncLocalStoreSchemaBundle;
|
|
10
16
|
};
|
|
11
17
|
export declare const materializeAbsoluteCapacitorWebBundle: (options: AbsoluteCapacitorBundleOptions) => Promise<{
|
|
12
18
|
sync?: {
|
|
19
|
+
background: {
|
|
20
|
+
endpoint: string;
|
|
21
|
+
intervalMinutes: number;
|
|
22
|
+
};
|
|
13
23
|
socketTickets: true;
|
|
24
|
+
storageSchema: SyncLocalStoreSchemaBundle;
|
|
25
|
+
} | undefined;
|
|
26
|
+
updates?: {
|
|
27
|
+
channel: string;
|
|
28
|
+
manifestUrl: string;
|
|
29
|
+
publicKeys: Record<string, string>;
|
|
14
30
|
} | undefined;
|
|
15
31
|
appId: string;
|
|
16
32
|
appName: string;
|
|
17
33
|
deepLinkHosts: string[];
|
|
18
34
|
deepLinkScheme: string | undefined;
|
|
35
|
+
deviceCapabilities: string[];
|
|
19
36
|
entry: string;
|
|
20
37
|
format: 1;
|
|
38
|
+
nativeRuntime: string;
|
|
21
39
|
pages: {
|
|
22
40
|
localStylePath?: string | undefined;
|
|
23
41
|
localBundlePath: string;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
2
|
+
export declare const ABSOLUTE_MOBILE_CI_WORKFLOW_FORMAT: 1;
|
|
3
|
+
export type AbsoluteMobileGithubWorkflowOptions = {
|
|
4
|
+
config: NormalizedAbsoluteMobileConfig;
|
|
5
|
+
configPath?: string;
|
|
6
|
+
force?: boolean;
|
|
7
|
+
includePublishing?: boolean;
|
|
8
|
+
outputPath?: string;
|
|
9
|
+
projectRoot: string;
|
|
10
|
+
registryModule?: string;
|
|
11
|
+
secretEnvironment?: readonly string[];
|
|
12
|
+
serverEntry?: string;
|
|
13
|
+
};
|
|
14
|
+
export type AbsoluteMobileGithubWorkflowResult = {
|
|
15
|
+
changed: boolean;
|
|
16
|
+
format: typeof ABSOLUTE_MOBILE_CI_WORKFLOW_FORMAT;
|
|
17
|
+
path: string;
|
|
18
|
+
platforms: ('android' | 'ios')[];
|
|
19
|
+
publishing: boolean;
|
|
20
|
+
requiredSecrets: string[];
|
|
21
|
+
};
|
|
22
|
+
export declare const createAbsoluteMobileGithubWorkflow: (options: AbsoluteMobileGithubWorkflowOptions) => {
|
|
23
|
+
requiredSecrets: string[];
|
|
24
|
+
workflow: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const writeAbsoluteMobileGithubWorkflow: (options: AbsoluteMobileGithubWorkflowOptions) => Promise<AbsoluteMobileGithubWorkflowResult>;
|
|
@@ -7,11 +7,19 @@ export type NormalizedAbsoluteMobileConfig = {
|
|
|
7
7
|
bundleDirectory: string;
|
|
8
8
|
deepLinkHosts: string[];
|
|
9
9
|
deepLinkScheme?: string;
|
|
10
|
-
engine: 'capacitor';
|
|
10
|
+
engine: 'capacitor' | 'expo';
|
|
11
11
|
entry: string;
|
|
12
|
+
expoNativeRoutes: Record<string, string>;
|
|
13
|
+
expoSdkVersion?: 57;
|
|
12
14
|
iosVersion?: string;
|
|
13
15
|
nativeProjectDirectory: string;
|
|
14
16
|
platforms: MobilePlatform[];
|
|
15
17
|
productionOrigin: string;
|
|
18
|
+
pushAndroidGoogleServicesFile: string;
|
|
19
|
+
updates?: {
|
|
20
|
+
channel: string;
|
|
21
|
+
manifestUrl: string;
|
|
22
|
+
publicKeys: Record<string, string>;
|
|
23
|
+
};
|
|
16
24
|
};
|
|
17
25
|
export declare const normalizeAbsoluteMobileConfig: (config: MobileConfig, projectRoot: string) => NormalizedAbsoluteMobileConfig;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { MobileConfig } from '../../types/build';
|
|
2
|
+
export declare const absoluteNativeDevAdapterSource: (projectRoot: string, mobile: MobileConfig, resolveModule?: (specifier: string) => string, expoAdapterModule?: string, expoAuthModule?: string, expoSyncModule?: string) => string;
|
|
3
|
+
export declare const buildAbsoluteNativeDevAdapter: (projectRoot: string, mobile: MobileConfig) => Promise<string>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type AbsoluteDeviceCapabilityProvider = {
|
|
2
|
+
factory: string;
|
|
3
|
+
module: string;
|
|
4
|
+
plugins?: string[];
|
|
5
|
+
native?: {
|
|
6
|
+
android?: {
|
|
7
|
+
permissions: string[];
|
|
8
|
+
};
|
|
9
|
+
ios?: {
|
|
10
|
+
privacyAccessedApis?: Partial<Record<AbsoluteIosPrivacyAccessedApi, string[]>>;
|
|
11
|
+
pushNotifications?: true;
|
|
12
|
+
systemBars?: true;
|
|
13
|
+
usageDescriptions?: AbsoluteIosUsageDescription[];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
packages: string[];
|
|
17
|
+
};
|
|
18
|
+
export type AbsoluteIosUsageDescription = 'camera' | 'location-always' | 'location-when-in-use' | 'photo-library' | 'photo-library-add';
|
|
19
|
+
export type AbsoluteIosPrivacyAccessedApi = 'NSPrivacyAccessedAPICategoryFileTimestamp';
|
|
20
|
+
export type AbsoluteDeviceCapabilityPlan = {
|
|
21
|
+
capabilities: string[];
|
|
22
|
+
providers: Record<string, AbsoluteDeviceCapabilityProvider>;
|
|
23
|
+
requiredPackages: string[];
|
|
24
|
+
};
|
|
25
|
+
export declare const ABSOLUTE_MOBILE_SHELL_DEVICE_CAPABILITIES: readonly ["keyboard", "systemBars"];
|
|
26
|
+
export type AbsoluteDeviceProvider = 'capacitor' | 'expo';
|
|
27
|
+
export declare const absoluteDeviceNativeRequirements: (plan: AbsoluteDeviceCapabilityPlan) => {
|
|
28
|
+
androidPermissions: string[];
|
|
29
|
+
iosPrivacyAccessedApis: {
|
|
30
|
+
api: "NSPrivacyAccessedAPICategoryFileTimestamp";
|
|
31
|
+
reasons: string[];
|
|
32
|
+
}[];
|
|
33
|
+
iosPushNotifications: boolean;
|
|
34
|
+
iosSystemBars: boolean;
|
|
35
|
+
iosUsageDescriptions: AbsoluteIosUsageDescription[];
|
|
36
|
+
};
|
|
37
|
+
export declare const loadAbsoluteDeviceCapabilityProviders: (projectRoot: string, provider?: AbsoluteDeviceProvider) => {
|
|
38
|
+
[k: string]: AbsoluteDeviceCapabilityProvider;
|
|
39
|
+
};
|
|
40
|
+
export declare const assertAbsoluteDeviceCapabilityPackages: (projectRoot: string, plan: AbsoluteDeviceCapabilityPlan) => void;
|
|
41
|
+
export declare const directAbsoluteProjectPackages: (projectRoot: string) => Set<string>;
|
|
42
|
+
export declare const discoverAbsoluteDeviceCapabilities: (projectRoot: string, providers?: {
|
|
43
|
+
[k: string]: AbsoluteDeviceCapabilityProvider;
|
|
44
|
+
}) => string[];
|
|
45
|
+
export declare const missingAbsoluteDeviceCapabilityPackages: (plan: AbsoluteDeviceCapabilityPlan, directPackages: ReadonlySet<string>) => string[];
|
|
46
|
+
/** Framework-agnostic capability discovery used by web/PWA builds. This does
|
|
47
|
+
* not load a native provider manifest, so Web Push never requires Capacitor. */
|
|
48
|
+
export declare const projectImportsAbsoluteDeviceCapability: (projectRoot: string, capability: string) => boolean;
|
|
49
|
+
export declare const resolveAbsoluteDeviceCapabilityPlan: (projectRoot: string, provider?: AbsoluteDeviceProvider) => AbsoluteDeviceCapabilityPlan;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export declare const ABSOLUTE_EXPO_BRIDGE_FORMAT: 3;
|
|
2
|
+
export declare const ABSOLUTE_EXPO_BRIDGE_MAX_BYTES: number;
|
|
3
|
+
export declare const ABSOLUTE_EXPO_BRIDGE_METHODS: readonly ["devices.platform.getInfo", "devices.lifecycle.getState", "devices.links.getLaunchUrl", "devices.links.openExternal", "devices.network.getStatus", "devices.storage.clear", "devices.storage.get", "devices.storage.keys", "devices.storage.remove", "devices.storage.set", "devices.back.capability", "devices.clipboard.capability", "devices.clipboard.readText", "devices.clipboard.writeText", "devices.share.capability", "devices.share.share", "devices.haptics.capability", "devices.haptics.impact", "devices.haptics.notification", "devices.haptics.selectionChanged", "devices.haptics.vibrate", "devices.keyboard.capability", "devices.keyboard.dismiss", "devices.keyboard.getState", "devices.systemBars.capability", "devices.systemBars.setAppearance", "devices.systemBars.setVisible", "devices.camera.capability", "devices.camera.queryPermission", "devices.camera.requestPermission", "devices.camera.takePhoto", "devices.photos.capability", "devices.photos.pick", "devices.location.capability", "devices.location.current", "devices.location.queryPermission", "devices.location.requestPermission", "devices.location.watch.start", "devices.location.watch.stop", "devices.localNotifications.capability", "devices.localNotifications.queryPermission", "devices.localNotifications.requestPermission", "devices.localNotifications.schedule", "devices.localNotifications.pending", "devices.localNotifications.cancel", "devices.pushNotifications.capability", "devices.pushNotifications.queryPermission", "devices.pushNotifications.requestPermission", "devices.pushNotifications.enable", "devices.pushNotifications.disable", "devices.documents.capability", "devices.documents.pick", "devices.transfer.read", "devices.transfer.close", "devices.upload.begin", "devices.upload.write", "devices.documents.export", "devices.documents.open", "http.fetch", "auth.signIn", "auth.signOut", "auth.status", "sync.store.begin", "sync.store.deleteNamespace", "sync.store.end", "sync.store.schema", "sync.tx.deleteCollection", "sync.tx.deleteMutation", "sync.tx.getCollection", "sync.tx.getInstallationId", "sync.tx.getMutation", "sync.tx.listCollections", "sync.tx.listMutations", "sync.tx.putCollection", "sync.tx.putMutation", "sync.tx.setInstallationId", "sync.socket.close", "sync.socket.open", "sync.socket.sendChunk"];
|
|
4
|
+
export type AbsoluteExpoBridgeMethod = (typeof ABSOLUTE_EXPO_BRIDGE_METHODS)[number];
|
|
5
|
+
export type AbsoluteExpoBridgeRequest = {
|
|
6
|
+
format: typeof ABSOLUTE_EXPO_BRIDGE_FORMAT;
|
|
7
|
+
id: string;
|
|
8
|
+
kind: 'request';
|
|
9
|
+
method: AbsoluteExpoBridgeMethod;
|
|
10
|
+
params: Record<string, unknown>;
|
|
11
|
+
path: string;
|
|
12
|
+
};
|
|
13
|
+
export type AbsoluteExpoBridgeResponse = {
|
|
14
|
+
format: typeof ABSOLUTE_EXPO_BRIDGE_FORMAT;
|
|
15
|
+
id: string;
|
|
16
|
+
kind: 'response';
|
|
17
|
+
result?: unknown;
|
|
18
|
+
error?: {
|
|
19
|
+
code: string;
|
|
20
|
+
message: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export type AbsoluteExpoBridgeEvent = {
|
|
24
|
+
format: typeof ABSOLUTE_EXPO_BRIDGE_FORMAT;
|
|
25
|
+
kind: 'event';
|
|
26
|
+
event: 'ready' | 'navigation' | 'auth.principal' | 'sync.socket' | 'sync.wake';
|
|
27
|
+
path: string;
|
|
28
|
+
payload?: Record<string, unknown>;
|
|
29
|
+
};
|
|
30
|
+
export type AbsoluteExpoBridgeMessage = AbsoluteExpoBridgeEvent | AbsoluteExpoBridgeRequest | AbsoluteExpoBridgeResponse;
|
|
31
|
+
export declare const createAbsoluteExpoBridgeError: (id: string, code: string, message: string) => {
|
|
32
|
+
error: {
|
|
33
|
+
code: string;
|
|
34
|
+
message: string;
|
|
35
|
+
};
|
|
36
|
+
format: 3;
|
|
37
|
+
id: string;
|
|
38
|
+
kind: "response";
|
|
39
|
+
result?: undefined;
|
|
40
|
+
} | {
|
|
41
|
+
format: 3;
|
|
42
|
+
id: string;
|
|
43
|
+
kind: "response";
|
|
44
|
+
result: unknown;
|
|
45
|
+
error?: undefined;
|
|
46
|
+
};
|
|
47
|
+
export declare const createAbsoluteExpoBridgeResponse: (id: string, result: unknown) => {
|
|
48
|
+
error: {
|
|
49
|
+
code: string;
|
|
50
|
+
message: string;
|
|
51
|
+
};
|
|
52
|
+
format: 3;
|
|
53
|
+
id: string;
|
|
54
|
+
kind: "response";
|
|
55
|
+
result?: undefined;
|
|
56
|
+
} | {
|
|
57
|
+
format: 3;
|
|
58
|
+
id: string;
|
|
59
|
+
kind: "response";
|
|
60
|
+
result: unknown;
|
|
61
|
+
error?: undefined;
|
|
62
|
+
};
|
|
63
|
+
export declare const parseAbsoluteExpoBridgeMessage: (source: string) => {
|
|
64
|
+
format: 3;
|
|
65
|
+
id: string;
|
|
66
|
+
kind: "request";
|
|
67
|
+
method: "devices.platform.getInfo" | "devices.lifecycle.getState" | "devices.links.getLaunchUrl" | "devices.links.openExternal" | "devices.network.getStatus" | "devices.storage.clear" | "devices.storage.get" | "devices.storage.keys" | "devices.storage.remove" | "devices.storage.set" | "devices.back.capability" | "devices.clipboard.capability" | "devices.clipboard.readText" | "devices.clipboard.writeText" | "devices.share.capability" | "devices.share.share" | "devices.haptics.capability" | "devices.haptics.impact" | "devices.haptics.notification" | "devices.haptics.selectionChanged" | "devices.haptics.vibrate" | "devices.keyboard.capability" | "devices.keyboard.dismiss" | "devices.keyboard.getState" | "devices.systemBars.capability" | "devices.systemBars.setAppearance" | "devices.systemBars.setVisible" | "devices.camera.capability" | "devices.camera.queryPermission" | "devices.camera.requestPermission" | "devices.camera.takePhoto" | "devices.photos.capability" | "devices.photos.pick" | "devices.location.capability" | "devices.location.current" | "devices.location.queryPermission" | "devices.location.requestPermission" | "devices.location.watch.start" | "devices.location.watch.stop" | "devices.localNotifications.capability" | "devices.localNotifications.queryPermission" | "devices.localNotifications.requestPermission" | "devices.localNotifications.schedule" | "devices.localNotifications.pending" | "devices.localNotifications.cancel" | "devices.pushNotifications.capability" | "devices.pushNotifications.queryPermission" | "devices.pushNotifications.requestPermission" | "devices.pushNotifications.enable" | "devices.pushNotifications.disable" | "devices.documents.capability" | "devices.documents.pick" | "devices.transfer.read" | "devices.transfer.close" | "devices.upload.begin" | "devices.upload.write" | "devices.documents.export" | "devices.documents.open" | "http.fetch" | "auth.signIn" | "auth.signOut" | "auth.status" | "sync.store.begin" | "sync.store.deleteNamespace" | "sync.store.end" | "sync.store.schema" | "sync.tx.deleteCollection" | "sync.tx.deleteMutation" | "sync.tx.getCollection" | "sync.tx.getInstallationId" | "sync.tx.getMutation" | "sync.tx.listCollections" | "sync.tx.listMutations" | "sync.tx.putCollection" | "sync.tx.putMutation" | "sync.tx.setInstallationId" | "sync.socket.close" | "sync.socket.open" | "sync.socket.sendChunk";
|
|
68
|
+
params: Record<string, unknown>;
|
|
69
|
+
path: string;
|
|
70
|
+
} | {
|
|
71
|
+
error: {
|
|
72
|
+
code: string;
|
|
73
|
+
message: string;
|
|
74
|
+
};
|
|
75
|
+
format: 3;
|
|
76
|
+
id: string;
|
|
77
|
+
kind: "response";
|
|
78
|
+
result?: undefined;
|
|
79
|
+
} | {
|
|
80
|
+
format: 3;
|
|
81
|
+
id: string;
|
|
82
|
+
kind: "response";
|
|
83
|
+
result: unknown;
|
|
84
|
+
error?: undefined;
|
|
85
|
+
} | {
|
|
86
|
+
payload?: Record<string, unknown> | undefined;
|
|
87
|
+
event: string;
|
|
88
|
+
format: 3;
|
|
89
|
+
kind: "event";
|
|
90
|
+
path: string;
|
|
91
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
3
|
+
import { startAbsoluteIosCaEnrollmentServer } from './iosPhysicalDeviceTransport';
|
|
4
|
+
export type AbsoluteExpoDevPlatform = 'android' | 'ios';
|
|
5
|
+
export type AbsoluteExpoDevState = 'building-android' | 'building-ios' | 'closed' | 'enrolling-trust' | 'failed' | 'preparing-native' | 'ready' | 'starting-metro';
|
|
6
|
+
export type AbsoluteExpoDevCommand = {
|
|
7
|
+
args: string[];
|
|
8
|
+
env: Record<string, string>;
|
|
9
|
+
platform?: AbsoluteExpoDevPlatform;
|
|
10
|
+
role: 'metro' | 'native-build' | 'native-prepare';
|
|
11
|
+
};
|
|
12
|
+
export type AbsoluteExpoDevPlan = {
|
|
13
|
+
commands: AbsoluteExpoDevCommand[];
|
|
14
|
+
metroPort: number;
|
|
15
|
+
project: string;
|
|
16
|
+
};
|
|
17
|
+
export type PlanAbsoluteExpoDevOptions = {
|
|
18
|
+
androidDevice?: string;
|
|
19
|
+
androidOrigin?: string;
|
|
20
|
+
certificateAuthorityPath?: string;
|
|
21
|
+
iosDevice?: string;
|
|
22
|
+
iosOrigin?: string;
|
|
23
|
+
metroHost?: string;
|
|
24
|
+
metroPort: number;
|
|
25
|
+
/** The caller owns Metro, for example through a Remote Mac tunnel. */
|
|
26
|
+
metro?: 'external' | 'managed';
|
|
27
|
+
platforms: AbsoluteExpoDevPlatform[];
|
|
28
|
+
};
|
|
29
|
+
export type AbsoluteExpoDevPhaseTiming = {
|
|
30
|
+
durationMs: number;
|
|
31
|
+
phase: AbsoluteExpoDevState;
|
|
32
|
+
};
|
|
33
|
+
export type StartAbsoluteExpoDevOptions = PlanAbsoluteExpoDevOptions & {
|
|
34
|
+
config: NormalizedAbsoluteMobileConfig;
|
|
35
|
+
executable?: string;
|
|
36
|
+
log?: (message: string) => void;
|
|
37
|
+
onPhaseTiming?: (timing: AbsoluteExpoDevPhaseTiming) => void;
|
|
38
|
+
onStateChange?: (state: AbsoluteExpoDevState) => void;
|
|
39
|
+
signal?: AbortSignal;
|
|
40
|
+
spawnProcess?: typeof spawn;
|
|
41
|
+
startCaEnrollmentServer?: typeof startAbsoluteIosCaEnrollmentServer;
|
|
42
|
+
};
|
|
43
|
+
export type AbsoluteExpoDevSession = {
|
|
44
|
+
close: () => Promise<void>;
|
|
45
|
+
metroPort: number;
|
|
46
|
+
platforms: AbsoluteExpoDevPlatform[];
|
|
47
|
+
timings: Partial<Record<AbsoluteExpoDevState, number>>;
|
|
48
|
+
};
|
|
49
|
+
export declare const absoluteExpoExecutable: (project: string) => Promise<string>;
|
|
50
|
+
export declare const planAbsoluteExpoDevSession: (config: NormalizedAbsoluteMobileConfig, options: PlanAbsoluteExpoDevOptions) => AbsoluteExpoDevPlan;
|
|
51
|
+
export declare const startAbsoluteExpoDevSession: (options: StartAbsoluteExpoDevOptions) => Promise<{
|
|
52
|
+
metroPort: number;
|
|
53
|
+
platforms: AbsoluteExpoDevPlatform[];
|
|
54
|
+
timings: Partial<Record<AbsoluteExpoDevState, number>>;
|
|
55
|
+
close: () => Promise<void>;
|
|
56
|
+
}>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
2
|
+
export type WriteAbsoluteExpoProjectOptions = {
|
|
3
|
+
force?: boolean;
|
|
4
|
+
projectRoot: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const writeAbsoluteExpoProject: (config: NormalizedAbsoluteMobileConfig, options: WriteAbsoluteExpoProjectOptions) => Promise<{
|
|
7
|
+
changed: number;
|
|
8
|
+
path: string;
|
|
9
|
+
written: string[];
|
|
10
|
+
}>;
|
|
11
|
+
export declare const syncAbsoluteExpoWebAssets: (config: NormalizedAbsoluteMobileConfig) => Promise<{
|
|
12
|
+
appBuild: string;
|
|
13
|
+
assets: number;
|
|
14
|
+
bundleId: string;
|
|
15
|
+
path: string;
|
|
16
|
+
}>;
|
|
@@ -1,26 +1,49 @@
|
|
|
1
1
|
export * from './artifactStore';
|
|
2
|
+
export * from './adaptiveShell';
|
|
2
3
|
export * from './androidRelease';
|
|
4
|
+
export * from './androidUpgradeConformance';
|
|
3
5
|
export * from './iosRelease';
|
|
4
6
|
export * from './iosConformance';
|
|
5
7
|
export * from './iosSimulatorController';
|
|
8
|
+
export * from './iosPhysicalDeviceTransport';
|
|
6
9
|
export * from './iosNativeWatcher';
|
|
7
10
|
export * from './remoteMacProtocol';
|
|
11
|
+
export * from './iosDeviceAcceptance';
|
|
8
12
|
export * from './associationFiles';
|
|
9
13
|
export * from './buildMetadata';
|
|
10
14
|
export * from './buildPipeline';
|
|
11
15
|
export * from './buildRelease';
|
|
12
16
|
export * from './capacitorBundle';
|
|
17
|
+
export * from './syncSchema';
|
|
18
|
+
export * from './syncRemediation';
|
|
19
|
+
export * from './deviceCapabilities';
|
|
20
|
+
export * from './expoBridge';
|
|
21
|
+
export * from './expoDevController';
|
|
22
|
+
export * from './expoProject';
|
|
13
23
|
export * from './capacitorProject';
|
|
14
24
|
export * from './config';
|
|
15
25
|
export * from './client';
|
|
26
|
+
export * from './ciWorkflow';
|
|
16
27
|
export * from './compatibilityDispatcher';
|
|
17
28
|
export * from './materializedBundle';
|
|
29
|
+
export * from './mobilePreview';
|
|
18
30
|
export * from './nativeDeepLinks';
|
|
31
|
+
export * from './nativeDeviceCapabilities';
|
|
19
32
|
export * from './nativeAuth';
|
|
33
|
+
export * from './nativeRoute';
|
|
34
|
+
export * from './nativeUpdates';
|
|
20
35
|
export * from './pageProtocol';
|
|
21
36
|
export * from './producerContext';
|
|
22
37
|
export * from './releaseArtifact';
|
|
23
38
|
export * from './releasePublisher';
|
|
24
39
|
export * from './routeMetadataTransform';
|
|
25
40
|
export * from './routeMatcher';
|
|
41
|
+
export * from './shellHttp';
|
|
26
42
|
export * from './transport';
|
|
43
|
+
export * from './uiPrimitives';
|
|
44
|
+
export * from './updateClient';
|
|
45
|
+
export * from './updateProtocol';
|
|
46
|
+
export * from './updatePublisher';
|
|
47
|
+
export * from './updateRuntime';
|
|
48
|
+
export * from './updateRollout';
|
|
49
|
+
export * from './updateSigning';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export type AbsoluteIosDeviceAcceptanceResult = {
|
|
2
|
+
hmrConnected: true;
|
|
3
|
+
installed: true;
|
|
4
|
+
relaunchMs: number;
|
|
5
|
+
};
|
|
6
|
+
type CommandResult = {
|
|
7
|
+
exitCode: number;
|
|
8
|
+
stderr: string;
|
|
9
|
+
stdout: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const absoluteIosDeviceAcceptanceCommands: (options: {
|
|
12
|
+
appId: string;
|
|
13
|
+
device: string;
|
|
14
|
+
xcrun?: string;
|
|
15
|
+
}) => {
|
|
16
|
+
apps: string[];
|
|
17
|
+
details: string[];
|
|
18
|
+
launch: string[];
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Validate and relaunch a physical iOS app without retaining device inventory,
|
|
22
|
+
* signing output, or console output in the acceptance result.
|
|
23
|
+
*/
|
|
24
|
+
export declare const testAbsoluteIosPhysicalDevice: (options: {
|
|
25
|
+
appId: string;
|
|
26
|
+
capture: (command: string[]) => Promise<CommandResult>;
|
|
27
|
+
device: string;
|
|
28
|
+
now?: () => number;
|
|
29
|
+
waitForHmr: () => Promise<void>;
|
|
30
|
+
xcrun?: string;
|
|
31
|
+
}) => Promise<AbsoluteIosDeviceAcceptanceResult>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type AbsoluteIosCloseableServer = {
|
|
2
|
+
close: () => Promise<void>;
|
|
3
|
+
};
|
|
4
|
+
export type AbsoluteIosCaEnrollmentServer = AbsoluteIosCloseableServer & {
|
|
5
|
+
url: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const normalizeAbsoluteIosDeviceHost: (value: string) => string;
|
|
8
|
+
export declare const normalizeAbsoluteIosDeviceIdentifier: (value: string) => string;
|
|
9
|
+
export declare const startAbsoluteIosCaEnrollmentServer: (options: {
|
|
10
|
+
certificateAuthorityPath: string;
|
|
11
|
+
displayHost: string;
|
|
12
|
+
}) => Promise<AbsoluteIosCaEnrollmentServer>;
|
|
13
|
+
export declare const startAbsoluteIosTcpRelay: (options: {
|
|
14
|
+
listenPort: number;
|
|
15
|
+
targetPort: number;
|
|
16
|
+
}) => Promise<AbsoluteIosCloseableServer>;
|
|
@@ -7,7 +7,7 @@ export type AbsoluteIosReleaseMetadata = {
|
|
|
7
7
|
artifact: 'App.ipa';
|
|
8
8
|
buildNumber?: number;
|
|
9
9
|
bytes: number;
|
|
10
|
-
engine: 'capacitor';
|
|
10
|
+
engine: 'capacitor' | 'expo';
|
|
11
11
|
format: typeof ABSOLUTE_IOS_RELEASE_FORMAT;
|
|
12
12
|
marketingVersion: string;
|
|
13
13
|
platform: 'ios';
|
|
@@ -30,14 +30,54 @@ export type BuildAbsoluteIosReleaseOptions = {
|
|
|
30
30
|
allowUnsigned?: boolean;
|
|
31
31
|
capture?: (command: string[], options?: CommandOptions) => CommandResult;
|
|
32
32
|
config: NormalizedAbsoluteMobileConfig;
|
|
33
|
+
developmentTeam?: string;
|
|
34
|
+
env?: Record<string, string | undefined>;
|
|
33
35
|
host?: AbsoluteMobileHost;
|
|
34
36
|
outputDirectory?: string;
|
|
35
37
|
prepareBuildNumber?: (buildIdentity: string) => Promise<number>;
|
|
36
38
|
projectRoot: string;
|
|
37
39
|
run?: (command: string[], options?: CommandOptions) => Promise<number>;
|
|
38
40
|
buildNumber?: number;
|
|
41
|
+
scheme?: string;
|
|
42
|
+
workspacePath?: string;
|
|
43
|
+
};
|
|
44
|
+
type InstallAbsoluteIosReleaseOptions = {
|
|
45
|
+
artifactPath: string;
|
|
46
|
+
metadata: unknown;
|
|
47
|
+
outputDirectory?: string;
|
|
48
|
+
projectRoot: string;
|
|
39
49
|
};
|
|
40
|
-
export declare const fingerprintAbsoluteIosNativeProject: (nativeDirectory: string
|
|
50
|
+
export declare const fingerprintAbsoluteIosNativeProject: (nativeDirectory: string, options?: {
|
|
51
|
+
includePublicBundle?: boolean;
|
|
52
|
+
}) => Promise<string>;
|
|
53
|
+
export declare const resolveAbsoluteIosXcodeProject: (nativeDirectory: string, options?: {
|
|
54
|
+
scheme?: string;
|
|
55
|
+
workspacePath?: string;
|
|
56
|
+
}) => Promise<{
|
|
57
|
+
scheme: string;
|
|
58
|
+
workspacePath: string;
|
|
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
|
+
*/
|
|
41
81
|
export declare const buildAbsoluteIosRelease: (options: BuildAbsoluteIosReleaseOptions) => Promise<{
|
|
42
82
|
artifactPath: string;
|
|
43
83
|
metadata: {
|
|
@@ -52,7 +92,27 @@ export declare const buildAbsoluteIosRelease: (options: BuildAbsoluteIosReleaseO
|
|
|
52
92
|
appId: string;
|
|
53
93
|
platform: "ios";
|
|
54
94
|
buildNumber?: number | undefined;
|
|
55
|
-
engine: "capacitor";
|
|
95
|
+
engine: "capacitor" | "expo";
|
|
96
|
+
marketingVersion: string;
|
|
97
|
+
signed: boolean;
|
|
98
|
+
};
|
|
99
|
+
releaseRoot: string;
|
|
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";
|
|
56
116
|
marketingVersion: string;
|
|
57
117
|
signed: boolean;
|
|
58
118
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
2
|
+
import { type AbsoluteIosCaEnrollmentServer } from './iosPhysicalDeviceTransport';
|
|
2
3
|
export declare const ABSOLUTE_IOS_SIMULATOR_NAME = "AbsoluteJS iPhone";
|
|
3
4
|
export type AbsoluteIosCommandOptions = {
|
|
4
5
|
cwd?: string;
|
|
@@ -10,7 +11,7 @@ export type AbsoluteIosCommandResult = {
|
|
|
10
11
|
stderr: string;
|
|
11
12
|
stdout: string;
|
|
12
13
|
};
|
|
13
|
-
export type AbsoluteIosDevState = 'booting' | 'building' | 'checking-native' | 'closed' | 'closing' | 'configuring' | 'connecting' | 'failed' | 'installing' | 'launching' | 'ready' | 'streaming-logs' | 'syncing';
|
|
14
|
+
export type AbsoluteIosDevState = 'booting' | 'building' | 'checking-native' | 'closed' | 'closing' | 'configuring' | 'connecting' | 'enrolling-trust' | 'failed' | 'installing' | 'launching' | 'ready' | 'streaming-logs' | 'syncing';
|
|
14
15
|
export type AbsoluteIosNativeLogEntry = {
|
|
15
16
|
level: 'debug' | 'error' | 'fault' | 'info' | 'notice';
|
|
16
17
|
message: string;
|
|
@@ -35,6 +36,7 @@ export type AbsoluteIosDevSession = {
|
|
|
35
36
|
screenshot: (destination: string) => Promise<string>;
|
|
36
37
|
startedSimulator: boolean;
|
|
37
38
|
state: AbsoluteIosDevState;
|
|
39
|
+
targetKind: 'device' | 'simulator';
|
|
38
40
|
timings: Record<string, number>;
|
|
39
41
|
udid: string;
|
|
40
42
|
};
|
|
@@ -47,9 +49,17 @@ export type PrepareAbsoluteIosDevOptions = {
|
|
|
47
49
|
createNativeProject: boolean;
|
|
48
50
|
projectRoot: string;
|
|
49
51
|
run?: (command: string[], options?: AbsoluteIosCommandOptions) => Promise<number>;
|
|
52
|
+
target?: 'device' | 'simulator';
|
|
50
53
|
};
|
|
51
54
|
export type StartAbsoluteIosDevOptions = {
|
|
55
|
+
/** CA certificate installed into this simulator's trusted root store. */
|
|
56
|
+
certificateAuthorityPath?: string;
|
|
52
57
|
capture?: (command: string[], options?: AbsoluteIosCommandOptions) => AbsoluteIosCommandResult;
|
|
58
|
+
/** Xcode device identifier or name. Omit to use the managed Simulator. */
|
|
59
|
+
deviceIdentifier?: string;
|
|
60
|
+
/** Launch the locally embedded production web bundle. `port` remains the
|
|
61
|
+
* configured backend port and no temporary development URL is projected. */
|
|
62
|
+
embeddedBundle?: boolean;
|
|
53
63
|
https?: boolean;
|
|
54
64
|
log?: (message: string) => void;
|
|
55
65
|
nativeLog?: (entry: AbsoluteIosNativeLogEntry) => void;
|
|
@@ -58,10 +68,16 @@ export type StartAbsoluteIosDevOptions = {
|
|
|
58
68
|
port: number;
|
|
59
69
|
project: AbsoluteIosDevProject;
|
|
60
70
|
run?: (command: string[], options?: AbsoluteIosCommandOptions) => Promise<number>;
|
|
71
|
+
/** Hostname or LAN address embedded into a physical-device dev URL. */
|
|
72
|
+
serverHost?: string;
|
|
61
73
|
signal?: AbortSignal;
|
|
62
74
|
sleep?: (milliseconds: number) => Promise<void>;
|
|
63
75
|
spawn?: (command: string[], options?: AbsoluteIosCommandOptions) => void;
|
|
64
76
|
startNativeLogs?: (command: string[], options: AbsoluteIosCommandOptions, onLine: (line: string) => void) => AbsoluteIosLogStream;
|
|
77
|
+
startCaEnrollmentServer?: (options: {
|
|
78
|
+
certificateAuthorityPath: string;
|
|
79
|
+
displayHost: string;
|
|
80
|
+
}) => Promise<AbsoluteIosCaEnrollmentServer>;
|
|
65
81
|
};
|
|
66
82
|
export declare const parseIosDeviceTypes: (source: string) => {
|
|
67
83
|
identifier: string;
|
|
@@ -81,7 +97,9 @@ export declare const parseIosSimulators: (source: string) => {
|
|
|
81
97
|
udid: string;
|
|
82
98
|
}[];
|
|
83
99
|
export declare const repairAbsoluteIosDevSession: (projectRoot: string) => Promise<boolean>;
|
|
84
|
-
export declare const fingerprintAbsoluteIosDevProject: (project: Pick<AbsoluteIosDevProject, "nativeDirectory"
|
|
100
|
+
export declare const fingerprintAbsoluteIosDevProject: (project: Pick<AbsoluteIosDevProject, "nativeDirectory">, options?: {
|
|
101
|
+
includePublicBundle?: boolean;
|
|
102
|
+
}) => Promise<string>;
|
|
85
103
|
export declare const parseAbsoluteIosLogLine: (line: string) => AbsoluteIosNativeLogEntry | null;
|
|
86
104
|
export declare const redactAbsoluteIosLog: (value: string) => string;
|
|
87
105
|
export declare const prepareAbsoluteIosDevProject: (config: NormalizedAbsoluteMobileConfig, options: PrepareAbsoluteIosDevOptions) => Promise<AbsoluteIosDevProject>;
|