@absolutejs/absolute 0.20.0-beta.0 → 0.20.0-beta.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/README.md +45 -0
- package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +354 -22
- package/dist/angular/index.js.map +9 -6
- package/dist/angular/server.js +354 -22
- package/dist/angular/server.js.map +9 -6
- package/dist/build.js +742 -359
- package/dist/build.js.map +26 -24
- package/dist/cli/config/server.js +2 -2
- package/dist/cli/index.js +16105 -8429
- package/dist/dev/client/cssUtils.ts +112 -41
- package/dist/dev/client/handlers/html.ts +75 -15
- package/dist/dev/client/handlers/htmx.ts +43 -8
- package/dist/dev/client/handlers/react.ts +114 -32
- package/dist/dev/client/handlers/rebuild.ts +38 -8
- package/dist/dev/client/handlers/svelte.ts +33 -50
- package/dist/dev/client/handlers/vue.ts +36 -45
- package/dist/dev/client/hmrClient.ts +38 -6
- package/dist/dev/client/hmrTiming.ts +148 -0
- package/dist/dev/serverBootstrap.js +20 -11
- package/dist/index.js +1728 -864
- package/dist/index.js.map +38 -33
- package/dist/mobile/browser.js +14 -1
- package/dist/mobile/browser.js.map +3 -3
- package/dist/mobile/index.js +4853 -279
- package/dist/mobile/index.js.map +34 -7
- package/dist/mobile/remoteMacAgentEntry.js +29 -0
- package/dist/mobile/shellAuth.js +43 -0
- package/dist/mobile/shellBootstrap.js +581 -0
- package/dist/mobile/shellSync.js +74 -0
- package/dist/react/index.js +16 -3
- package/dist/react/index.js.map +4 -4
- package/dist/react/jsxDevRuntimeCompat.js +22 -2
- package/dist/react/jsxDevRuntimeCompat.js.map +5 -4
- package/dist/react/jsxRuntimeCompat.js +90 -0
- package/dist/react/jsxRuntimeCompat.js.map +10 -0
- package/dist/react/server.js +16 -3
- package/dist/react/server.js.map +4 -4
- package/dist/src/angular/pageHandler.d.ts +3 -0
- package/dist/src/build/compileVue.d.ts +1 -1
- package/dist/src/build/pwa.d.ts +15 -0
- package/dist/src/build/resolveBuildMode.d.ts +7 -0
- package/dist/src/cli/config/server.d.ts +1 -1
- package/dist/src/cli/scripts/dev.d.ts +4 -1
- package/dist/src/cli/scripts/mobile.d.ts +1 -0
- package/dist/src/cli/utils.d.ts +2 -2
- package/dist/src/core/build.d.ts +1 -1
- package/dist/src/core/pageHandlers.d.ts +11 -2
- package/dist/src/core/prepare.d.ts +6 -0
- package/dist/src/dev/clientManager.d.ts +9 -0
- package/dist/src/dev/configResolver.d.ts +2 -0
- package/dist/src/dev/moduleMapper.d.ts +1 -1
- package/dist/src/dev/moduleServer.d.ts +2 -1
- package/dist/src/dev/pathUtils.d.ts +1 -1
- package/dist/src/dev/reactComponentClassifier.d.ts +1 -1
- package/dist/src/mobile/androidConformance.d.ts +42 -0
- package/dist/src/mobile/androidEmulatorController.d.ts +105 -0
- package/dist/src/mobile/androidNativeWatcher.d.ts +19 -0
- package/dist/src/mobile/androidRelease.d.ts +51 -0
- package/dist/src/mobile/androidWebView.d.ts +46 -0
- package/dist/src/mobile/associationFiles.d.ts +49 -0
- package/dist/src/mobile/buildMetadata.d.ts +10 -0
- package/dist/src/mobile/buildPipeline.d.ts +9 -0
- package/dist/src/mobile/buildRelease.d.ts +24 -0
- package/dist/src/mobile/capacitorBundle.d.ts +42 -0
- package/dist/src/mobile/capacitorProject.d.ts +9 -0
- package/dist/src/mobile/client.d.ts +5 -1
- package/dist/src/mobile/config.d.ts +17 -0
- package/dist/src/mobile/emulatorDoctor.d.ts +25 -0
- package/dist/src/mobile/emulatorInstaller.d.ts +41 -0
- package/dist/src/mobile/index.d.ts +19 -0
- package/dist/src/mobile/iosConformance.d.ts +15 -0
- package/dist/src/mobile/iosNativeWatcher.d.ts +19 -0
- package/dist/src/mobile/iosRelease.d.ts +61 -0
- package/dist/src/mobile/iosSimulatorController.d.ts +89 -0
- package/dist/src/mobile/materializedBundle.d.ts +14 -0
- package/dist/src/mobile/nativeAuth.d.ts +17 -0
- package/dist/src/mobile/nativeBackgroundSync.d.ts +4 -0
- package/dist/src/mobile/nativeDeepLinks.d.ts +5 -0
- package/dist/src/mobile/releaseArtifact.d.ts +3 -0
- package/dist/src/mobile/releaseDoctor.d.ts +13 -0
- package/dist/src/mobile/releasePublisher.d.ts +130 -0
- package/dist/src/mobile/remoteMacAgent.d.ts +2 -0
- package/dist/src/mobile/remoteMacAgentEntry.d.ts +1 -0
- package/dist/src/mobile/remoteMacProtocol.d.ts +114 -0
- package/dist/src/mobile/remoteMacWire.d.ts +2 -0
- package/dist/src/mobile/routeMatcher.d.ts +3 -0
- package/dist/src/mobile/routeMetadataTransform.d.ts +13 -0
- package/dist/src/mobile/shellAuth.d.ts +13 -0
- package/dist/src/mobile/shellBootstrap.d.ts +18 -0
- package/dist/src/mobile/shellSync.d.ts +19 -0
- package/dist/src/mobile/staticDocument.d.ts +5 -0
- package/dist/src/mobile/transport.d.ts +43 -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/react/jsxDevRuntimeCompat.d.ts +1 -1
- package/dist/src/react/jsxRuntimeCompat.d.ts +7 -0
- package/dist/src/react/pageHandler.d.ts +3 -0
- package/dist/src/svelte/pageHandler.d.ts +3 -0
- package/dist/src/utils/loadConfig.d.ts +2 -0
- package/dist/src/utils/logger.d.ts +2 -0
- package/dist/src/utils/userAgentFunctions.d.ts +1 -1
- package/dist/src/vue/pageHandler.d.ts +3 -0
- package/dist/svelte/index.js +325 -23
- package/dist/svelte/index.js.map +8 -5
- package/dist/svelte/server.js +320 -18
- package/dist/svelte/server.js.map +8 -5
- package/dist/types/build.d.ts +59 -0
- package/dist/types/cli.d.ts +2 -0
- package/dist/types/globals.d.ts +14 -0
- package/dist/types/messages.d.ts +12 -0
- package/dist/vue/index.js +325 -23
- package/dist/vue/index.js.map +8 -5
- package/dist/vue/server.js +320 -18
- package/dist/vue/server.js.map +8 -5
- package/package.json +52 -8
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type AbsoluteMobilePageResult, type AbsoluteMobileUpgradeRequiredResult } from './pageProtocol';
|
|
2
2
|
type AbsoluteMobileClientTarget = {
|
|
3
|
+
__ABSOLUTE_PAGE_DISPOSE__?: () => Promise<void> | void;
|
|
4
|
+
__ABSOLUTE_PAGE_READY__?: Promise<unknown>;
|
|
3
5
|
__ABSOLUTE_PAGE_RENDER_MODE__?: 'client' | 'hydrate';
|
|
6
|
+
__ABS_ANGULAR_REQUEST_CONTEXT__?: Record<string, unknown>;
|
|
4
7
|
__INITIAL_PROPS__?: Record<string, unknown>;
|
|
5
8
|
};
|
|
6
9
|
export type AbsoluteMobilePageLoader = (input: {
|
|
@@ -12,7 +15,7 @@ export type AbsoluteMobilePageActivation = {
|
|
|
12
15
|
contract: string;
|
|
13
16
|
pageId: string;
|
|
14
17
|
} | AbsoluteMobileUpgradeRequiredResult;
|
|
15
|
-
type AbsoluteMobilePageActivationOptions = {
|
|
18
|
+
export type AbsoluteMobilePageActivationOptions = {
|
|
16
19
|
loadPage: AbsoluteMobilePageLoader;
|
|
17
20
|
target?: AbsoluteMobileClientTarget;
|
|
18
21
|
};
|
|
@@ -20,6 +23,7 @@ export declare class AbsoluteMobilePageProtocolError extends Error {
|
|
|
20
23
|
readonly code: 'invalid-envelope' | 'invalid-props' | 'server-error' | 'server-rejected-request';
|
|
21
24
|
constructor(code: AbsoluteMobilePageProtocolError['code'], message: string);
|
|
22
25
|
}
|
|
26
|
+
export declare const disposeAbsoluteMobilePage: (target?: AbsoluteMobileClientTarget) => Promise<void>;
|
|
23
27
|
export declare const activateAbsoluteMobilePage: (value: unknown, options: AbsoluteMobilePageActivationOptions) => Promise<AbsoluteMobileUpgradeRequiredResult | {
|
|
24
28
|
contract: string;
|
|
25
29
|
kind: "rendered";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MobileConfig, MobilePlatform } from '../../types/build';
|
|
2
|
+
export type NormalizedAbsoluteMobileConfig = {
|
|
3
|
+
appId: string;
|
|
4
|
+
appName: string;
|
|
5
|
+
androidCertificateFingerprints: string[];
|
|
6
|
+
appleAppIdPrefix?: string;
|
|
7
|
+
bundleDirectory: string;
|
|
8
|
+
deepLinkHosts: string[];
|
|
9
|
+
deepLinkScheme?: string;
|
|
10
|
+
engine: 'capacitor';
|
|
11
|
+
entry: string;
|
|
12
|
+
iosVersion?: string;
|
|
13
|
+
nativeProjectDirectory: string;
|
|
14
|
+
platforms: MobilePlatform[];
|
|
15
|
+
productionOrigin: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const normalizeAbsoluteMobileConfig: (config: MobileConfig, projectRoot: string) => NormalizedAbsoluteMobileConfig;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type AbsoluteMobileHost = 'macos' | 'windows' | 'linux' | 'wsl';
|
|
2
|
+
export type AbsoluteMobileDoctorStatus = 'pass' | 'warn' | 'fail' | 'skip';
|
|
3
|
+
export declare const ABSOLUTE_ANDROID_AVD_NAME = "AbsoluteJS_API_36";
|
|
4
|
+
export type AbsoluteMobileDoctorCheck = {
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
path?: string;
|
|
8
|
+
platform: 'host' | 'android' | 'ios';
|
|
9
|
+
remediation?: string;
|
|
10
|
+
status: AbsoluteMobileDoctorStatus;
|
|
11
|
+
};
|
|
12
|
+
export type InspectAbsoluteMobileToolchainOptions = {
|
|
13
|
+
androidRoot?: string | null;
|
|
14
|
+
capture?: (command: string[]) => {
|
|
15
|
+
exitCode: number;
|
|
16
|
+
stdout: string;
|
|
17
|
+
};
|
|
18
|
+
env?: Record<string, string | undefined>;
|
|
19
|
+
exists?: (path: string) => Promise<boolean>;
|
|
20
|
+
host?: AbsoluteMobileHost;
|
|
21
|
+
which?: (command: string) => string | null;
|
|
22
|
+
};
|
|
23
|
+
export declare const absoluteManagedAndroidSdkRoot: (host: AbsoluteMobileHost, env?: Record<string, string | undefined>) => string;
|
|
24
|
+
export declare const detectAbsoluteMobileHost: (platform?: NodeJS.Platform, wsl?: boolean) => "linux" | "macos" | "windows" | "wsl";
|
|
25
|
+
export declare const inspectAbsoluteMobileToolchain: (input?: InspectAbsoluteMobileToolchainOptions) => Promise<AbsoluteMobileDoctorCheck[]>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type AbsoluteMobileDoctorCheck, type AbsoluteMobileHost } from './emulatorDoctor';
|
|
2
|
+
export type AbsoluteMobileInstallStep = {
|
|
3
|
+
detail: string;
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
};
|
|
7
|
+
export type AbsoluteMobileInstallPlan = {
|
|
8
|
+
androidRoot: string;
|
|
9
|
+
host: AbsoluteMobileHost;
|
|
10
|
+
platform: 'android' | 'ios';
|
|
11
|
+
steps: AbsoluteMobileInstallStep[];
|
|
12
|
+
};
|
|
13
|
+
export type AbsoluteMobileInstallResult = {
|
|
14
|
+
checks: AbsoluteMobileDoctorCheck[];
|
|
15
|
+
completed: string[];
|
|
16
|
+
plan: AbsoluteMobileInstallPlan;
|
|
17
|
+
};
|
|
18
|
+
type RunOptions = {
|
|
19
|
+
env?: Record<string, string | undefined>;
|
|
20
|
+
input?: string;
|
|
21
|
+
};
|
|
22
|
+
type CaptureResult = {
|
|
23
|
+
exitCode: number;
|
|
24
|
+
stdout: string;
|
|
25
|
+
};
|
|
26
|
+
type AbsoluteMobileInstallerDependencies = {
|
|
27
|
+
arch?: string;
|
|
28
|
+
capture?: (command: string[], options?: RunOptions) => CaptureResult;
|
|
29
|
+
download?: (url: string) => Promise<Uint8Array>;
|
|
30
|
+
env?: Record<string, string | undefined>;
|
|
31
|
+
exists?: (path: string) => Promise<boolean>;
|
|
32
|
+
host?: AbsoluteMobileHost;
|
|
33
|
+
log?: (message: string) => void;
|
|
34
|
+
run?: (command: string[], options?: RunOptions) => Promise<number>;
|
|
35
|
+
which?: (command: string) => string | null;
|
|
36
|
+
};
|
|
37
|
+
export declare const planAbsoluteMobileEmulatorInstall: (platform: "android" | "ios", input?: AbsoluteMobileInstallerDependencies) => AbsoluteMobileInstallPlan;
|
|
38
|
+
export declare const fixAbsoluteMobileEmulatorToolchain: (platform: "android" | "ios", options?: AbsoluteMobileInstallerDependencies & {
|
|
39
|
+
acceptLicenses?: boolean;
|
|
40
|
+
}) => Promise<AbsoluteMobileInstallResult>;
|
|
41
|
+
export {};
|
|
@@ -1,7 +1,26 @@
|
|
|
1
1
|
export * from './artifactStore';
|
|
2
|
+
export * from './androidRelease';
|
|
3
|
+
export * from './iosRelease';
|
|
4
|
+
export * from './iosConformance';
|
|
5
|
+
export * from './iosSimulatorController';
|
|
6
|
+
export * from './iosNativeWatcher';
|
|
7
|
+
export * from './remoteMacProtocol';
|
|
8
|
+
export * from './associationFiles';
|
|
9
|
+
export * from './buildMetadata';
|
|
10
|
+
export * from './buildPipeline';
|
|
11
|
+
export * from './buildRelease';
|
|
12
|
+
export * from './capacitorBundle';
|
|
13
|
+
export * from './capacitorProject';
|
|
14
|
+
export * from './config';
|
|
2
15
|
export * from './client';
|
|
3
16
|
export * from './compatibilityDispatcher';
|
|
4
17
|
export * from './materializedBundle';
|
|
18
|
+
export * from './nativeDeepLinks';
|
|
19
|
+
export * from './nativeAuth';
|
|
5
20
|
export * from './pageProtocol';
|
|
6
21
|
export * from './producerContext';
|
|
7
22
|
export * from './releaseArtifact';
|
|
23
|
+
export * from './releasePublisher';
|
|
24
|
+
export * from './routeMetadataTransform';
|
|
25
|
+
export * from './routeMatcher';
|
|
26
|
+
export * from './transport';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type AbsoluteIosHmrApply = {
|
|
2
|
+
clientMs?: number;
|
|
3
|
+
duration: number;
|
|
4
|
+
line: string;
|
|
5
|
+
outcome: 'applied' | 'failed' | 'reloaded';
|
|
6
|
+
serverMs?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const parseAbsoluteIosHmrLog: (line: string) => AbsoluteIosHmrApply | null;
|
|
9
|
+
export declare const waitForAbsoluteIosHmrLog: (options: {
|
|
10
|
+
logPath: string;
|
|
11
|
+
signal?: AbortSignal;
|
|
12
|
+
sleep?: (milliseconds: number) => Promise<void>;
|
|
13
|
+
startOffset?: number;
|
|
14
|
+
timeoutMs?: number;
|
|
15
|
+
}) => Promise<AbsoluteIosHmrApply>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type AbsoluteIosDevProject } from './iosSimulatorController';
|
|
2
|
+
export type AbsoluteIosNativeChange = {
|
|
3
|
+
afterFingerprint: string;
|
|
4
|
+
beforeFingerprint: string;
|
|
5
|
+
paths: string[];
|
|
6
|
+
rootInputChanged: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type AbsoluteIosNativeWatcher = {
|
|
9
|
+
close: () => void;
|
|
10
|
+
};
|
|
11
|
+
export type AbsoluteIosNativeWatcherOptions = {
|
|
12
|
+
debounceMs?: number;
|
|
13
|
+
onChange: (change: AbsoluteIosNativeChange) => Promise<void>;
|
|
14
|
+
onError?: (error: unknown) => void;
|
|
15
|
+
project: AbsoluteIosDevProject;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
};
|
|
18
|
+
export declare const createAbsoluteIosNativeWatcher: (options: AbsoluteIosNativeWatcherOptions) => Promise<AbsoluteIosNativeWatcher>;
|
|
19
|
+
export declare const isAbsoluteIosNativeRootInput: (path: string) => boolean;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
2
|
+
import { type AbsoluteMobileHost } from './emulatorDoctor';
|
|
3
|
+
export declare const ABSOLUTE_IOS_RELEASE_FORMAT: 1;
|
|
4
|
+
export type AbsoluteIosReleaseMetadata = {
|
|
5
|
+
appBuild: string;
|
|
6
|
+
appId: string;
|
|
7
|
+
artifact: 'App.ipa';
|
|
8
|
+
buildNumber?: number;
|
|
9
|
+
bytes: number;
|
|
10
|
+
engine: 'capacitor';
|
|
11
|
+
format: typeof ABSOLUTE_IOS_RELEASE_FORMAT;
|
|
12
|
+
marketingVersion: string;
|
|
13
|
+
platform: 'ios';
|
|
14
|
+
releaseId: string;
|
|
15
|
+
runtime: string;
|
|
16
|
+
sha256: string;
|
|
17
|
+
signed: boolean;
|
|
18
|
+
type: 'ipa';
|
|
19
|
+
};
|
|
20
|
+
type CommandOptions = {
|
|
21
|
+
cwd?: string;
|
|
22
|
+
env?: Record<string, string | undefined>;
|
|
23
|
+
};
|
|
24
|
+
type CommandResult = {
|
|
25
|
+
exitCode: number;
|
|
26
|
+
stderr: string;
|
|
27
|
+
stdout: string;
|
|
28
|
+
};
|
|
29
|
+
export type BuildAbsoluteIosReleaseOptions = {
|
|
30
|
+
allowUnsigned?: boolean;
|
|
31
|
+
capture?: (command: string[], options?: CommandOptions) => CommandResult;
|
|
32
|
+
config: NormalizedAbsoluteMobileConfig;
|
|
33
|
+
host?: AbsoluteMobileHost;
|
|
34
|
+
outputDirectory?: string;
|
|
35
|
+
prepareBuildNumber?: (buildIdentity: string) => Promise<number>;
|
|
36
|
+
projectRoot: string;
|
|
37
|
+
run?: (command: string[], options?: CommandOptions) => Promise<number>;
|
|
38
|
+
buildNumber?: number;
|
|
39
|
+
};
|
|
40
|
+
export declare const fingerprintAbsoluteIosNativeProject: (nativeDirectory: string) => Promise<string>;
|
|
41
|
+
export declare const buildAbsoluteIosRelease: (options: BuildAbsoluteIosReleaseOptions) => Promise<{
|
|
42
|
+
artifactPath: string;
|
|
43
|
+
metadata: {
|
|
44
|
+
artifact: "App.ipa";
|
|
45
|
+
sha256: string;
|
|
46
|
+
type: "ipa";
|
|
47
|
+
format: typeof ABSOLUTE_IOS_RELEASE_FORMAT;
|
|
48
|
+
bytes: number;
|
|
49
|
+
runtime: string;
|
|
50
|
+
releaseId: string;
|
|
51
|
+
appBuild: string;
|
|
52
|
+
appId: string;
|
|
53
|
+
platform: "ios";
|
|
54
|
+
buildNumber?: number | undefined;
|
|
55
|
+
engine: "capacitor";
|
|
56
|
+
marketingVersion: string;
|
|
57
|
+
signed: boolean;
|
|
58
|
+
};
|
|
59
|
+
releaseRoot: string;
|
|
60
|
+
}>;
|
|
61
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
2
|
+
export declare const ABSOLUTE_IOS_SIMULATOR_NAME = "AbsoluteJS iPhone";
|
|
3
|
+
export type AbsoluteIosCommandOptions = {
|
|
4
|
+
cwd?: string;
|
|
5
|
+
env?: Record<string, string | undefined>;
|
|
6
|
+
signal?: AbortSignal;
|
|
7
|
+
};
|
|
8
|
+
export type AbsoluteIosCommandResult = {
|
|
9
|
+
exitCode: number;
|
|
10
|
+
stderr: string;
|
|
11
|
+
stdout: string;
|
|
12
|
+
};
|
|
13
|
+
export type AbsoluteIosDevState = 'booting' | 'building' | 'checking-native' | 'closed' | 'closing' | 'configuring' | 'connecting' | 'failed' | 'installing' | 'launching' | 'ready' | 'streaming-logs' | 'syncing';
|
|
14
|
+
export type AbsoluteIosNativeLogEntry = {
|
|
15
|
+
level: 'debug' | 'error' | 'fault' | 'info' | 'notice';
|
|
16
|
+
message: string;
|
|
17
|
+
tag: string;
|
|
18
|
+
};
|
|
19
|
+
type AbsoluteIosLogStream = {
|
|
20
|
+
close: () => Promise<void>;
|
|
21
|
+
};
|
|
22
|
+
export type AbsoluteIosDevProject = {
|
|
23
|
+
cap: string;
|
|
24
|
+
config: NormalizedAbsoluteMobileConfig;
|
|
25
|
+
nativeDirectory: string;
|
|
26
|
+
projectRoot: string;
|
|
27
|
+
xcodebuild: string;
|
|
28
|
+
xcrun: string;
|
|
29
|
+
};
|
|
30
|
+
export type AbsoluteIosDevSession = {
|
|
31
|
+
close: () => Promise<void>;
|
|
32
|
+
nativeCacheHit: boolean;
|
|
33
|
+
rebuild: () => Promise<AbsoluteIosDevSession>;
|
|
34
|
+
relaunch: () => Promise<void>;
|
|
35
|
+
screenshot: (destination: string) => Promise<string>;
|
|
36
|
+
startedSimulator: boolean;
|
|
37
|
+
state: AbsoluteIosDevState;
|
|
38
|
+
timings: Record<string, number>;
|
|
39
|
+
udid: string;
|
|
40
|
+
};
|
|
41
|
+
export type AbsoluteIosDevPhaseTiming = {
|
|
42
|
+
durationMs: number;
|
|
43
|
+
phase: AbsoluteIosDevState;
|
|
44
|
+
totalMs: number;
|
|
45
|
+
};
|
|
46
|
+
export type PrepareAbsoluteIosDevOptions = {
|
|
47
|
+
createNativeProject: boolean;
|
|
48
|
+
projectRoot: string;
|
|
49
|
+
run?: (command: string[], options?: AbsoluteIosCommandOptions) => Promise<number>;
|
|
50
|
+
};
|
|
51
|
+
export type StartAbsoluteIosDevOptions = {
|
|
52
|
+
capture?: (command: string[], options?: AbsoluteIosCommandOptions) => AbsoluteIosCommandResult;
|
|
53
|
+
https?: boolean;
|
|
54
|
+
log?: (message: string) => void;
|
|
55
|
+
nativeLog?: (entry: AbsoluteIosNativeLogEntry) => void;
|
|
56
|
+
onPhaseTiming?: (timing: AbsoluteIosDevPhaseTiming) => void;
|
|
57
|
+
onStateChange?: (state: AbsoluteIosDevState) => void;
|
|
58
|
+
port: number;
|
|
59
|
+
project: AbsoluteIosDevProject;
|
|
60
|
+
run?: (command: string[], options?: AbsoluteIosCommandOptions) => Promise<number>;
|
|
61
|
+
signal?: AbortSignal;
|
|
62
|
+
sleep?: (milliseconds: number) => Promise<void>;
|
|
63
|
+
spawn?: (command: string[], options?: AbsoluteIosCommandOptions) => void;
|
|
64
|
+
startNativeLogs?: (command: string[], options: AbsoluteIosCommandOptions, onLine: (line: string) => void) => AbsoluteIosLogStream;
|
|
65
|
+
};
|
|
66
|
+
export declare const parseIosDeviceTypes: (source: string) => {
|
|
67
|
+
identifier: string;
|
|
68
|
+
name: string;
|
|
69
|
+
}[];
|
|
70
|
+
export declare const parseIosRuntimes: (source: string) => {
|
|
71
|
+
identifier: string;
|
|
72
|
+
isAvailable: boolean;
|
|
73
|
+
name: string;
|
|
74
|
+
version: string;
|
|
75
|
+
}[];
|
|
76
|
+
export declare const parseIosSimulators: (source: string) => {
|
|
77
|
+
isAvailable: boolean;
|
|
78
|
+
name: string;
|
|
79
|
+
runtime: string;
|
|
80
|
+
state: string;
|
|
81
|
+
udid: string;
|
|
82
|
+
}[];
|
|
83
|
+
export declare const repairAbsoluteIosDevSession: (projectRoot: string) => Promise<boolean>;
|
|
84
|
+
export declare const fingerprintAbsoluteIosDevProject: (project: Pick<AbsoluteIosDevProject, "nativeDirectory">) => Promise<string>;
|
|
85
|
+
export declare const parseAbsoluteIosLogLine: (line: string) => AbsoluteIosNativeLogEntry | null;
|
|
86
|
+
export declare const redactAbsoluteIosLog: (value: string) => string;
|
|
87
|
+
export declare const prepareAbsoluteIosDevProject: (config: NormalizedAbsoluteMobileConfig, options: PrepareAbsoluteIosDevOptions) => Promise<AbsoluteIosDevProject>;
|
|
88
|
+
export declare const startAbsoluteIosDevSession: (options: StartAbsoluteIosDevOptions) => Promise<AbsoluteIosDevSession>;
|
|
89
|
+
export {};
|
|
@@ -20,3 +20,17 @@ export declare const materializeAbsoluteMobileCompatibilityBundle: (input: Absol
|
|
|
20
20
|
format: 1;
|
|
21
21
|
releases: AbsoluteMobileCompatibilityArtifact[];
|
|
22
22
|
}>;
|
|
23
|
+
export declare const readAbsoluteMobileMaterializedReleases: (root: string) => Promise<{
|
|
24
|
+
artifact: {
|
|
25
|
+
releaseId: string;
|
|
26
|
+
pages: import("./releaseArtifact").AbsoluteMobileCompatibilityPage[];
|
|
27
|
+
routes: import("./releaseArtifact").AbsoluteMobileCompatibilityRoute[];
|
|
28
|
+
format: typeof import("./releaseArtifact").ABSOLUTE_MOBILE_COMPATIBILITY_FORMAT;
|
|
29
|
+
runtime: string;
|
|
30
|
+
appBuild: string;
|
|
31
|
+
appId: string;
|
|
32
|
+
generation: number;
|
|
33
|
+
producer: import("./releaseArtifact").AbsoluteMobileCompatibilityProducer;
|
|
34
|
+
};
|
|
35
|
+
producer: Bun.BunFile;
|
|
36
|
+
}[]>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
2
|
+
export declare const ABSOLUTE_AUTH_PACKAGE: "@absolutejs/auth";
|
|
3
|
+
export declare const ABSOLUTE_NATIVE_AUTH_CLIENTS_ENV: "ABSOLUTE_AUTH_NATIVE_CLIENTS";
|
|
4
|
+
export declare const ABSOLUTE_NATIVE_AUTH_SCOPES: readonly ["openid", "profile"];
|
|
5
|
+
export declare const ABSOLUTE_SYNC_PACKAGE: "@absolutejs/sync";
|
|
6
|
+
export type AbsoluteMobileAuthManifest = {
|
|
7
|
+
clientId: string;
|
|
8
|
+
issuer: string;
|
|
9
|
+
redirectUri: string;
|
|
10
|
+
scopes: string[];
|
|
11
|
+
};
|
|
12
|
+
export declare const createAbsoluteMobileAuthManifest: (config: NormalizedAbsoluteMobileConfig) => AbsoluteMobileAuthManifest;
|
|
13
|
+
export declare const installAbsoluteMobileAuthEnvironment: (projectRoot: string, config: NormalizedAbsoluteMobileConfig) => AbsoluteMobileAuthManifest | undefined;
|
|
14
|
+
export declare const projectUsesAbsoluteAuth: (projectRoot: string) => boolean;
|
|
15
|
+
export declare const projectUsesAbsoluteSync: (projectRoot: string) => boolean;
|
|
16
|
+
export declare const resolveAbsoluteMobileAuthManifest: (projectRoot: string, config: NormalizedAbsoluteMobileConfig) => AbsoluteMobileAuthManifest | undefined;
|
|
17
|
+
export declare const serializeAbsoluteMobileAuthEnvironment: (config: NormalizedAbsoluteMobileConfig, auth: AbsoluteMobileAuthManifest | undefined) => string | undefined;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MobilePlatform } from '../../types/build';
|
|
2
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
3
|
+
export declare const applyAbsoluteNativeDeepLinks: (config: NormalizedAbsoluteMobileConfig, platforms?: readonly MobilePlatform[]) => Promise<{
|
|
4
|
+
changed: MobilePlatform[];
|
|
5
|
+
}>;
|
|
@@ -3,10 +3,13 @@ export declare const ABSOLUTE_MOBILE_COMPATIBILITY_FORMAT: 1;
|
|
|
3
3
|
export declare const ABSOLUTE_MOBILE_RETAINED_GENERATIONS = 3;
|
|
4
4
|
export type AbsoluteMobileCompatibilityPage = {
|
|
5
5
|
bundleHash: string;
|
|
6
|
+
bundlePath: string;
|
|
6
7
|
contract: string;
|
|
7
8
|
framework: AbsoluteMobilePageFramework;
|
|
8
9
|
pageId: string;
|
|
9
10
|
propsSchemaHash: string;
|
|
11
|
+
styleBundleHash?: string;
|
|
12
|
+
styleBundlePath?: string;
|
|
10
13
|
};
|
|
11
14
|
export type AbsoluteMobileCompatibilityRoute = {
|
|
12
15
|
method: 'GET' | 'HEAD';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
2
|
+
export type AbsoluteMobileReleaseCheck = {
|
|
3
|
+
detail: string;
|
|
4
|
+
id: string;
|
|
5
|
+
path?: string;
|
|
6
|
+
remediation?: string;
|
|
7
|
+
status: 'fail' | 'pass';
|
|
8
|
+
};
|
|
9
|
+
export type AbsoluteMobileReleaseDoctorResult = {
|
|
10
|
+
checks: AbsoluteMobileReleaseCheck[];
|
|
11
|
+
ready: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const inspectAbsoluteMobileRelease: (config: NormalizedAbsoluteMobileConfig, projectRoot: string) => Promise<AbsoluteMobileReleaseDoctorResult>;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import type { AbsoluteAndroidReleaseMetadata } from './androidRelease';
|
|
2
|
+
import type { AbsoluteIosReleaseMetadata } from './iosRelease';
|
|
3
|
+
export type AbsoluteGooglePlayReleaseTarget = {
|
|
4
|
+
changesNotSentForReview?: boolean;
|
|
5
|
+
inAppUpdatePriority?: number;
|
|
6
|
+
name?: string;
|
|
7
|
+
releaseNotes?: readonly {
|
|
8
|
+
language: string;
|
|
9
|
+
text: string;
|
|
10
|
+
}[];
|
|
11
|
+
reviewBehavior?: 'CANCEL_IN_REVIEW_AND_SUBMIT' | 'ERROR_IF_IN_REVIEW';
|
|
12
|
+
status?: 'completed' | 'draft' | 'halted' | 'inProgress';
|
|
13
|
+
track: string;
|
|
14
|
+
userFraction?: number;
|
|
15
|
+
};
|
|
16
|
+
export type AbsoluteAppStoreConnectReleaseTarget = {
|
|
17
|
+
groups?: readonly string[];
|
|
18
|
+
submitForReview?: boolean;
|
|
19
|
+
whatsNew?: readonly {
|
|
20
|
+
locale: string;
|
|
21
|
+
text: string;
|
|
22
|
+
}[];
|
|
23
|
+
};
|
|
24
|
+
export type AbsoluteNativeReleasePublication = {
|
|
25
|
+
channel?: {
|
|
26
|
+
channel: string;
|
|
27
|
+
releaseId: string;
|
|
28
|
+
};
|
|
29
|
+
record: {
|
|
30
|
+
metadata: AbsoluteAndroidReleaseMetadata | AbsoluteIosReleaseMetadata;
|
|
31
|
+
};
|
|
32
|
+
reused: boolean;
|
|
33
|
+
googlePlay?: {
|
|
34
|
+
receipt: {
|
|
35
|
+
intent: {
|
|
36
|
+
track: string;
|
|
37
|
+
};
|
|
38
|
+
packageName: string;
|
|
39
|
+
provider: 'google-play';
|
|
40
|
+
releaseId: string;
|
|
41
|
+
sha256: string;
|
|
42
|
+
stage: string;
|
|
43
|
+
versionCode?: string;
|
|
44
|
+
};
|
|
45
|
+
reused: boolean;
|
|
46
|
+
};
|
|
47
|
+
appStoreConnect?: {
|
|
48
|
+
receipt: {
|
|
49
|
+
appleAppId: string;
|
|
50
|
+
buildId?: string;
|
|
51
|
+
buildNumber: number;
|
|
52
|
+
intent: {
|
|
53
|
+
groups: string[];
|
|
54
|
+
submitForReview: boolean;
|
|
55
|
+
};
|
|
56
|
+
marketingVersion: string;
|
|
57
|
+
provider: 'app-store-connect';
|
|
58
|
+
releaseId: string;
|
|
59
|
+
sha256: string;
|
|
60
|
+
stage: string;
|
|
61
|
+
};
|
|
62
|
+
reused: boolean;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
export type AbsoluteNativeReleasePublisher = {
|
|
66
|
+
prepareAndroidRelease?: (options: {
|
|
67
|
+
buildIdentity: string;
|
|
68
|
+
googlePlay?: AbsoluteGooglePlayReleaseTarget;
|
|
69
|
+
packageName: string;
|
|
70
|
+
signal?: AbortSignal;
|
|
71
|
+
}) => Promise<{
|
|
72
|
+
versionCode?: number;
|
|
73
|
+
}>;
|
|
74
|
+
prepareIosRelease?: (options: {
|
|
75
|
+
buildIdentity: string;
|
|
76
|
+
bundleId: string;
|
|
77
|
+
marketingVersion: string;
|
|
78
|
+
signal?: AbortSignal;
|
|
79
|
+
}) => Promise<{
|
|
80
|
+
buildNumber: number;
|
|
81
|
+
}>;
|
|
82
|
+
publish: (options: {
|
|
83
|
+
allowUnsigned?: boolean;
|
|
84
|
+
appStoreConnect?: AbsoluteAppStoreConnectReleaseTarget;
|
|
85
|
+
channel?: string;
|
|
86
|
+
googlePlay?: AbsoluteGooglePlayReleaseTarget;
|
|
87
|
+
releaseRoot: string;
|
|
88
|
+
signal?: AbortSignal;
|
|
89
|
+
}) => Promise<AbsoluteNativeReleasePublication>;
|
|
90
|
+
};
|
|
91
|
+
export declare const prepareAbsoluteIosRelease: (publisher: AbsoluteNativeReleasePublisher, options: {
|
|
92
|
+
buildIdentity: string;
|
|
93
|
+
bundleId: string;
|
|
94
|
+
marketingVersion: string;
|
|
95
|
+
signal?: AbortSignal;
|
|
96
|
+
}) => Promise<number>;
|
|
97
|
+
type PrepareAbsoluteAndroidReleaseOptions = {
|
|
98
|
+
buildIdentity: string;
|
|
99
|
+
googlePlay: AbsoluteGooglePlayReleaseTarget;
|
|
100
|
+
packageName: string;
|
|
101
|
+
signal?: AbortSignal;
|
|
102
|
+
};
|
|
103
|
+
export declare const prepareAbsoluteAndroidRelease: (publisher: AbsoluteNativeReleasePublisher, options: PrepareAbsoluteAndroidReleaseOptions) => Promise<number>;
|
|
104
|
+
export type PublishAbsoluteAndroidReleaseOptions = {
|
|
105
|
+
allowUnsigned?: boolean;
|
|
106
|
+
channel?: string;
|
|
107
|
+
googlePlay?: AbsoluteGooglePlayReleaseTarget;
|
|
108
|
+
modulePath: string;
|
|
109
|
+
projectRoot: string;
|
|
110
|
+
release: {
|
|
111
|
+
metadata: AbsoluteAndroidReleaseMetadata;
|
|
112
|
+
releaseRoot: string;
|
|
113
|
+
};
|
|
114
|
+
signal?: AbortSignal;
|
|
115
|
+
};
|
|
116
|
+
export declare const loadAbsoluteNativeReleasePublisher: (projectRoot: string, requestedModulePath: string) => Promise<AbsoluteNativeReleasePublisher>;
|
|
117
|
+
export declare const publishAbsoluteAndroidRelease: (options: PublishAbsoluteAndroidReleaseOptions) => Promise<AbsoluteNativeReleasePublication>;
|
|
118
|
+
export declare const publishAbsoluteIosRelease: (options: {
|
|
119
|
+
allowUnsigned?: boolean;
|
|
120
|
+
appStoreConnect?: AbsoluteAppStoreConnectReleaseTarget;
|
|
121
|
+
channel?: string;
|
|
122
|
+
modulePath: string;
|
|
123
|
+
projectRoot: string;
|
|
124
|
+
release: {
|
|
125
|
+
metadata: AbsoluteIosReleaseMetadata;
|
|
126
|
+
releaseRoot: string;
|
|
127
|
+
};
|
|
128
|
+
signal?: AbortSignal;
|
|
129
|
+
}) => Promise<AbsoluteNativeReleasePublication>;
|
|
130
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { FileSink } from 'bun';
|
|
2
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
3
|
+
import type { AbsoluteIosDevPhaseTiming, AbsoluteIosDevSession, AbsoluteIosDevState, AbsoluteIosNativeLogEntry } from './iosSimulatorController';
|
|
4
|
+
export { ABSOLUTE_REMOTE_MAC_EVENT_PREFIX, ABSOLUTE_REMOTE_MAC_PROTOCOL_VERSION } from './remoteMacWire';
|
|
5
|
+
export type AbsoluteRemoteMacProfile = {
|
|
6
|
+
bunPath: string;
|
|
7
|
+
createdAt: string;
|
|
8
|
+
destination: string;
|
|
9
|
+
name: string;
|
|
10
|
+
port?: number;
|
|
11
|
+
workspaceRoot: string;
|
|
12
|
+
xcodeVersion: string;
|
|
13
|
+
};
|
|
14
|
+
export type AbsoluteRemoteMacInspection = {
|
|
15
|
+
bunPath: string;
|
|
16
|
+
home: string;
|
|
17
|
+
os: string;
|
|
18
|
+
xcodeVersion: string;
|
|
19
|
+
};
|
|
20
|
+
export type AbsoluteRemoteIosDevProject = {
|
|
21
|
+
cap: string;
|
|
22
|
+
config: NormalizedAbsoluteMobileConfig;
|
|
23
|
+
nativeDirectory: string;
|
|
24
|
+
projectRoot: string;
|
|
25
|
+
profile: AbsoluteRemoteMacProfile;
|
|
26
|
+
remoteProjectRoot: string;
|
|
27
|
+
remote: true;
|
|
28
|
+
xcodebuild: string;
|
|
29
|
+
xcrun: string;
|
|
30
|
+
};
|
|
31
|
+
export type AbsoluteIosDevelopmentProject = AbsoluteRemoteIosDevProject | (import('./iosSimulatorController').AbsoluteIosDevProject & {
|
|
32
|
+
remote?: false;
|
|
33
|
+
});
|
|
34
|
+
export type AbsoluteRemoteMacCommandResult = {
|
|
35
|
+
exitCode: number;
|
|
36
|
+
stderr: string;
|
|
37
|
+
stdout: string;
|
|
38
|
+
};
|
|
39
|
+
export type AbsoluteRemoteMacTransport = {
|
|
40
|
+
capture: (command: string[]) => Promise<AbsoluteRemoteMacCommandResult>;
|
|
41
|
+
spawn: (command: string[], options: {
|
|
42
|
+
signal?: AbortSignal;
|
|
43
|
+
}) => {
|
|
44
|
+
exited: Promise<number>;
|
|
45
|
+
kill: () => void;
|
|
46
|
+
stderr: ReadableStream<Uint8Array>;
|
|
47
|
+
stdin: FileSink;
|
|
48
|
+
stdout: ReadableStream<Uint8Array>;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export type AbsoluteRemoteIosOptions = {
|
|
52
|
+
https?: boolean;
|
|
53
|
+
log?: (message: string) => void;
|
|
54
|
+
nativeLog?: (entry: AbsoluteIosNativeLogEntry) => void;
|
|
55
|
+
onPhaseTiming?: (timing: AbsoluteIosDevPhaseTiming) => void;
|
|
56
|
+
onStateChange?: (state: AbsoluteIosDevState) => void;
|
|
57
|
+
port: number;
|
|
58
|
+
project: AbsoluteRemoteIosDevProject;
|
|
59
|
+
signal?: AbortSignal;
|
|
60
|
+
installAgent?: (project: AbsoluteRemoteIosDevProject) => Promise<{
|
|
61
|
+
remotePath: string;
|
|
62
|
+
uploaded?: boolean;
|
|
63
|
+
}>;
|
|
64
|
+
syncProject?: (project: AbsoluteRemoteIosDevProject) => Promise<void>;
|
|
65
|
+
transport?: AbsoluteRemoteMacTransport;
|
|
66
|
+
};
|
|
67
|
+
export declare const validateAbsoluteRemoteMacProfileName: (name: string) => string;
|
|
68
|
+
export declare const validateAbsoluteSshDestination: (destination: string) => string;
|
|
69
|
+
export declare const absoluteRemoteMacSshBase: (profile: Pick<AbsoluteRemoteMacProfile, "destination" | "port">, options?: {
|
|
70
|
+
acceptNew?: boolean;
|
|
71
|
+
}) => string[];
|
|
72
|
+
export declare const getAbsoluteRemoteMacProfile: (name?: string, profilePath?: string) => Promise<AbsoluteRemoteMacProfile | undefined>;
|
|
73
|
+
export declare const inspectAbsoluteRemoteMac: (destination: string, options?: {
|
|
74
|
+
acceptNew?: boolean;
|
|
75
|
+
port?: number;
|
|
76
|
+
transport?: Pick<AbsoluteRemoteMacTransport, "capture">;
|
|
77
|
+
}) => Promise<{
|
|
78
|
+
bunPath: string;
|
|
79
|
+
home: string;
|
|
80
|
+
os: string;
|
|
81
|
+
xcodeVersion: string;
|
|
82
|
+
}>;
|
|
83
|
+
export declare const listAbsoluteRemoteMacProfiles: (profilePath?: string) => Promise<{
|
|
84
|
+
defaultProfile: string | undefined;
|
|
85
|
+
profiles: AbsoluteRemoteMacProfile[];
|
|
86
|
+
}>;
|
|
87
|
+
export declare const pairAbsoluteRemoteMac: (options: {
|
|
88
|
+
destination: string;
|
|
89
|
+
name: string;
|
|
90
|
+
port?: number;
|
|
91
|
+
profilePath?: string;
|
|
92
|
+
transport?: Pick<AbsoluteRemoteMacTransport, "capture">;
|
|
93
|
+
workspaceRoot?: string;
|
|
94
|
+
}) => Promise<AbsoluteRemoteMacProfile>;
|
|
95
|
+
export declare const removeAbsoluteRemoteMacProfile: (name: string, profilePath?: string) => Promise<boolean>;
|
|
96
|
+
export declare const createAbsoluteRemoteIosDevProject: (config: NormalizedAbsoluteMobileConfig, projectRoot: string, profile: AbsoluteRemoteMacProfile) => AbsoluteRemoteIosDevProject;
|
|
97
|
+
export declare const installAbsoluteRemoteMacAgent: (project: AbsoluteRemoteIosDevProject) => Promise<{
|
|
98
|
+
remotePath: string;
|
|
99
|
+
uploaded: boolean;
|
|
100
|
+
bytes: number;
|
|
101
|
+
path: string;
|
|
102
|
+
sha256: string;
|
|
103
|
+
}>;
|
|
104
|
+
export declare const materializeAbsoluteRemoteMacAgent: (projectRoot: string) => Promise<{
|
|
105
|
+
bytes: number;
|
|
106
|
+
path: string;
|
|
107
|
+
sha256: string;
|
|
108
|
+
}>;
|
|
109
|
+
export declare const absoluteRemoteProjectSyncCommands: (project: AbsoluteRemoteIosDevProject) => {
|
|
110
|
+
remote: string[];
|
|
111
|
+
tar: string[];
|
|
112
|
+
};
|
|
113
|
+
export declare const syncAbsoluteRemoteMacProject: (project: AbsoluteRemoteIosDevProject) => Promise<void>;
|
|
114
|
+
export declare const startAbsoluteRemoteIosDevSession: (options: AbsoluteRemoteIosOptions) => Promise<AbsoluteIosDevSession>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { AbsoluteMobileCompatibilityRoute } from './releaseArtifact';
|
|
2
|
+
export declare const matchesAbsoluteMobileRoutePattern: (pattern: string, pathname: string) => boolean;
|
|
3
|
+
export declare const resolveAbsoluteMobileRoute: (routes: readonly AbsoluteMobileCompatibilityRoute[], pathname: string, method?: "GET" | "HEAD") => AbsoluteMobileCompatibilityRoute | undefined;
|