@absolutejs/absolute 0.20.0-beta.7 → 0.20.0-beta.70
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 +2629 -1416
- package/dist/build.js.map +26 -19
- package/dist/cli/config/client.js +12 -12
- package/dist/cli/config/server.js +1140 -1091
- package/dist/cli/index.js +41579 -15184
- 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 +572 -6
- package/dist/image-client/imageClient.js +7 -7
- package/dist/index.js +4157 -2440
- package/dist/index.js.map +43 -32
- 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 +37077 -4967
- package/dist/mobile/index.js.map +100 -18
- package/dist/mobile/mobilePreviewClient.ts +246 -0
- package/dist/mobile/remoteMacAgentEntry.js +1899 -14
- package/dist/mobile/shellAuth.js +20 -9
- package/dist/mobile/shellBootstrap.js +6801 -120
- package/dist/mobile/shellExpoAuth.js +179 -0
- package/dist/mobile/shellExpoDevices.js +93 -0
- package/dist/mobile/shellExpoSync.js +120 -0
- package/dist/mobile/shellSync.js +152 -3
- package/dist/mobile/shellUpdate.js +559 -0
- package/dist/mobile/uiPrimitives.js +280 -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/chainInlineSourcemaps.d.ts +2 -0
- package/dist/src/build/pwa.d.ts +16 -0
- package/dist/src/build/vueCompileCache.d.ts +43 -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/bootLifecycle.d.ts +11 -0
- package/dist/src/dev/clientManager.d.ts +1 -0
- package/dist/src/dev/devCert.d.ts +6 -4
- package/dist/src/dev/earlyListener.d.ts +41 -0
- 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 +33 -1
- package/dist/src/mobile/ciWorkflow.d.ts +26 -0
- package/dist/src/mobile/config.d.ts +22 -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/expoCodeSigning.d.ts +14 -0
- package/dist/src/mobile/expoDevController.d.ts +64 -0
- package/dist/src/mobile/expoNativeObservability.d.ts +3 -0
- package/dist/src/mobile/expoProject.d.ts +16 -0
- package/dist/src/mobile/expoUpdate.d.ts +27 -0
- package/dist/src/mobile/index.d.ts +29 -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 +156 -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/nativeObservability.d.ts +4 -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 +5 -1
- package/dist/src/mobile/shellBootstrap.d.ts +12 -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/shellNativeObservability.d.ts +21 -0
- package/dist/src/mobile/shellObservability.d.ts +11 -0
- package/dist/src/mobile/shellPush.d.ts +11 -0
- package/dist/src/mobile/shellSync.d.ts +37 -4
- 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 +21 -0
- package/dist/src/mobile/uiPrimitives.d.ts +37 -0
- package/dist/src/mobile/updateClient.d.ts +44 -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 +37 -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/startupTimings.d.ts +4 -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 +83 -3
- package/dist/types/cli.d.ts +1 -0
- package/dist/types/globals.d.ts +15 -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 +46 -15
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type SyncLocalStoreSchemaBundle } from '@absolutejs/sync/client';
|
|
2
|
+
export type AbsoluteSyncSchemaDiscovery = {
|
|
3
|
+
components: SyncLocalStoreSchemaBundle['components'];
|
|
4
|
+
sources: {
|
|
5
|
+
id: string;
|
|
6
|
+
manifestPath: string;
|
|
7
|
+
}[];
|
|
8
|
+
};
|
|
9
|
+
export declare const discoverAbsoluteSyncSchema: (projectRoot: string) => AbsoluteSyncSchemaDiscovery;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type AbsoluteMobilePageActivationOptions } from './client';
|
|
2
2
|
import type { AbsoluteMobileCompatibilityPage, AbsoluteMobileCompatibilityRoute } from './releaseArtifact';
|
|
3
3
|
import type { AbsoluteMobileAuthManifest } from './nativeAuth';
|
|
4
|
+
import type { SyncLocalStoreSchemaBundle } from '@absolutejs/sync/client';
|
|
4
5
|
export declare const ABSOLUTE_MOBILE_CLIENT_MANIFEST_FORMAT: 1;
|
|
5
6
|
export type AbsoluteMobileFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
6
7
|
export type AbsoluteMobileClientPage = AbsoluteMobileCompatibilityPage & {
|
|
@@ -14,19 +15,39 @@ export type AbsoluteMobileClientManifest = {
|
|
|
14
15
|
appName: string;
|
|
15
16
|
deepLinkHosts: string[];
|
|
16
17
|
deepLinkScheme?: string;
|
|
18
|
+
deviceCapabilities: string[];
|
|
17
19
|
entry: string;
|
|
18
20
|
format: typeof ABSOLUTE_MOBILE_CLIENT_MANIFEST_FORMAT;
|
|
21
|
+
nativeRuntime: string;
|
|
22
|
+
observability?: {
|
|
23
|
+
endpoint: string;
|
|
24
|
+
environment?: string;
|
|
25
|
+
project: string;
|
|
26
|
+
sampleRate: number;
|
|
27
|
+
};
|
|
19
28
|
pages: AbsoluteMobileClientPage[];
|
|
20
29
|
productionOrigin: string;
|
|
21
30
|
routes: AbsoluteMobileCompatibilityRoute[];
|
|
22
31
|
runtime: string;
|
|
32
|
+
updates?: {
|
|
33
|
+
bootTimeoutMs: number;
|
|
34
|
+
channel: string;
|
|
35
|
+
manifestUrl: string;
|
|
36
|
+
publicKeys: Record<string, string>;
|
|
37
|
+
};
|
|
23
38
|
sync?: {
|
|
24
39
|
socketTickets: true;
|
|
40
|
+
background: {
|
|
41
|
+
endpoint: string;
|
|
42
|
+
intervalMinutes: number;
|
|
43
|
+
};
|
|
44
|
+
storageSchema: SyncLocalStoreSchemaBundle;
|
|
25
45
|
};
|
|
26
46
|
};
|
|
27
47
|
export type AbsoluteMobileTransportOptions = {
|
|
28
48
|
fetch?: AbsoluteMobileFetch;
|
|
29
49
|
headers?: HeadersInit;
|
|
50
|
+
signal?: AbortSignal;
|
|
30
51
|
};
|
|
31
52
|
export declare const createAbsoluteMobilePageRequest: (manifest: AbsoluteMobileClientManifest, path: string, options?: AbsoluteMobileTransportOptions) => Request;
|
|
32
53
|
export declare const fetchAbsoluteMobilePage: (manifest: AbsoluteMobileClientManifest, path: string, options?: AbsoluteMobileTransportOptions) => Promise<unknown>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export type AbsoluteMobileNavigationDirection = 'back' | 'forward' | 'replace';
|
|
2
|
+
export type AbsoluteMobileNavigationDetail = {
|
|
3
|
+
direction: AbsoluteMobileNavigationDirection;
|
|
4
|
+
from: string;
|
|
5
|
+
to: string;
|
|
6
|
+
};
|
|
7
|
+
export type AbsoluteMobileSheetDetail = {
|
|
8
|
+
id: string;
|
|
9
|
+
open: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type AbsoluteMobileLinkIntent = {
|
|
12
|
+
kind: 'back';
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'external';
|
|
15
|
+
} | {
|
|
16
|
+
kind: 'navigate';
|
|
17
|
+
replace: boolean;
|
|
18
|
+
};
|
|
19
|
+
declare global {
|
|
20
|
+
interface WindowEventMap {
|
|
21
|
+
'absolute:back-request': CustomEvent;
|
|
22
|
+
'absolute:navigation-change': CustomEvent<AbsoluteMobileNavigationDetail>;
|
|
23
|
+
'absolute:sheet-change': CustomEvent<AbsoluteMobileSheetDetail>;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export type AbsoluteMobileUiPrimitives = {
|
|
27
|
+
dispose(): void;
|
|
28
|
+
navigate(detail: AbsoluteMobileNavigationDetail): void;
|
|
29
|
+
refreshDocument(path?: string): void;
|
|
30
|
+
requestBack(): boolean;
|
|
31
|
+
};
|
|
32
|
+
export declare const closeAbsoluteMobileSheet: (target: HTMLDialogElement | string) => boolean;
|
|
33
|
+
export declare const openAbsoluteMobileSheet: (target: HTMLDialogElement | string, opener?: HTMLElement) => boolean;
|
|
34
|
+
export declare const readAbsoluteMobileLinkIntent: (anchor: HTMLAnchorElement) => AbsoluteMobileLinkIntent;
|
|
35
|
+
export declare const requestAbsoluteMobileBack: () => boolean;
|
|
36
|
+
/** Installs optional semantic-HTML mobile layout and interaction primitives. */
|
|
37
|
+
export declare const installAbsoluteMobileUiPrimitives: () => AbsoluteMobileUiPrimitives;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type AbsoluteMobileUpdateFile, type AbsoluteMobileUpdateManifest } from './updateProtocol';
|
|
2
|
+
export type AbsoluteMobileUpdateClientConfig = {
|
|
3
|
+
appId: string;
|
|
4
|
+
blockedReleaseIds?: readonly string[];
|
|
5
|
+
channel: string;
|
|
6
|
+
currentReleaseId: string;
|
|
7
|
+
installationId: string;
|
|
8
|
+
manifestUrl: string;
|
|
9
|
+
runtimeFingerprint: string;
|
|
10
|
+
};
|
|
11
|
+
export type AbsoluteMobileUpdateStore = {
|
|
12
|
+
abort(releaseId: string): Promise<void>;
|
|
13
|
+
activate(releaseId: string): Promise<void>;
|
|
14
|
+
begin(manifest: AbsoluteMobileUpdateManifest): Promise<void>;
|
|
15
|
+
commit(manifest: AbsoluteMobileUpdateManifest): Promise<void>;
|
|
16
|
+
write(file: AbsoluteMobileUpdateFile, contents: Uint8Array): Promise<void>;
|
|
17
|
+
};
|
|
18
|
+
export type AbsoluteMobileUpdateVerifier = {
|
|
19
|
+
digest(contents: Uint8Array): Promise<string>;
|
|
20
|
+
verify(manifest: AbsoluteMobileUpdateManifest): Promise<boolean>;
|
|
21
|
+
};
|
|
22
|
+
export type AbsoluteMobileUpdateClientOptions = {
|
|
23
|
+
config: AbsoluteMobileUpdateClientConfig;
|
|
24
|
+
fetch?: typeof globalThis.fetch;
|
|
25
|
+
store: AbsoluteMobileUpdateStore;
|
|
26
|
+
verifier: AbsoluteMobileUpdateVerifier;
|
|
27
|
+
};
|
|
28
|
+
export type AbsoluteMobileUpdateCheckResult = {
|
|
29
|
+
kind: 'current';
|
|
30
|
+
} | {
|
|
31
|
+
kind: 'downloaded';
|
|
32
|
+
manifest: AbsoluteMobileUpdateManifest;
|
|
33
|
+
} | {
|
|
34
|
+
kind: 'quarantined';
|
|
35
|
+
releaseId: string;
|
|
36
|
+
} | {
|
|
37
|
+
kind: 'update-available';
|
|
38
|
+
manifest: AbsoluteMobileUpdateManifest;
|
|
39
|
+
};
|
|
40
|
+
export declare const createAbsoluteMobileUpdateClient: (options: AbsoluteMobileUpdateClientOptions) => {
|
|
41
|
+
check: (download?: boolean) => Promise<AbsoluteMobileUpdateCheckResult>;
|
|
42
|
+
activate: (releaseId: string) => Promise<void>;
|
|
43
|
+
download: () => Promise<AbsoluteMobileUpdateCheckResult>;
|
|
44
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export declare const ABSOLUTE_MOBILE_UPDATE_FORMAT: 1;
|
|
2
|
+
export declare const ABSOLUTE_MOBILE_UPDATE_MAX_FILE_BYTES: number;
|
|
3
|
+
export declare const ABSOLUTE_MOBILE_UPDATE_MAX_FILES = 10000;
|
|
4
|
+
export declare const ABSOLUTE_MOBILE_UPDATE_MAX_TOTAL_BYTES: number;
|
|
5
|
+
export declare const ABSOLUTE_MOBILE_UPDATE_SIGNATURE_ALGORITHM: "ecdsa-p256-sha256";
|
|
6
|
+
export type AbsoluteMobileUpdateClassification = 'bug-fix' | 'content' | 'security';
|
|
7
|
+
export type AbsoluteMobileUpdateFile = {
|
|
8
|
+
bytes: number;
|
|
9
|
+
path: string;
|
|
10
|
+
sha256: string;
|
|
11
|
+
};
|
|
12
|
+
export type AbsoluteMobileUnsignedUpdateManifest = {
|
|
13
|
+
appId: string;
|
|
14
|
+
channel: string;
|
|
15
|
+
classification: AbsoluteMobileUpdateClassification;
|
|
16
|
+
createdAt: string;
|
|
17
|
+
files: AbsoluteMobileUpdateFile[];
|
|
18
|
+
format: typeof ABSOLUTE_MOBILE_UPDATE_FORMAT;
|
|
19
|
+
/** A content identity for the complete update, excluding its signature. */
|
|
20
|
+
releaseId: string;
|
|
21
|
+
/** Locks an update to the native plugins, bridge, Auth, and local-data ABI. */
|
|
22
|
+
runtimeFingerprint: string;
|
|
23
|
+
/** Store-policy attestation. Feature/primary-purpose changes require a store build. */
|
|
24
|
+
withinSubmittedPurpose: true;
|
|
25
|
+
};
|
|
26
|
+
export type AbsoluteMobileUpdateManifest = AbsoluteMobileUnsignedUpdateManifest & {
|
|
27
|
+
signature: {
|
|
28
|
+
algorithm: typeof ABSOLUTE_MOBILE_UPDATE_SIGNATURE_ALGORITHM;
|
|
29
|
+
keyId: string;
|
|
30
|
+
value: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export declare const absoluteMobileUpdateSigningPayload: (manifest: AbsoluteMobileUnsignedUpdateManifest) => Uint8Array<ArrayBuffer>;
|
|
34
|
+
export declare const canonicalizeAbsoluteMobileUpdate: (value: unknown) => string;
|
|
35
|
+
export declare const normalizeAbsoluteMobileUpdatePath: (value: unknown) => string;
|
|
36
|
+
export declare const parseAbsoluteMobileUnsignedUpdateManifest: (value: unknown) => AbsoluteMobileUnsignedUpdateManifest;
|
|
37
|
+
export declare const parseAbsoluteMobileUpdateManifest: (value: unknown) => AbsoluteMobileUpdateManifest;
|
|
38
|
+
export declare const unsignedAbsoluteMobileUpdate: (manifest: AbsoluteMobileUpdateManifest) => {
|
|
39
|
+
appId: string;
|
|
40
|
+
channel: string;
|
|
41
|
+
classification: AbsoluteMobileUpdateClassification;
|
|
42
|
+
createdAt: string;
|
|
43
|
+
files: AbsoluteMobileUpdateFile[];
|
|
44
|
+
format: typeof ABSOLUTE_MOBILE_UPDATE_FORMAT;
|
|
45
|
+
/** A content identity for the complete update, excluding its signature. */
|
|
46
|
+
releaseId: string;
|
|
47
|
+
/** Locks an update to the native plugins, bridge, Auth, and local-data ABI. */
|
|
48
|
+
runtimeFingerprint: string;
|
|
49
|
+
/** Store-policy attestation. Feature/primary-purpose changes require a store build. */
|
|
50
|
+
withinSubmittedPurpose: true;
|
|
51
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { readAbsoluteMobileUpdate } from './updateSigning';
|
|
2
|
+
export type AbsoluteMobileUpdatePublication = {
|
|
3
|
+
appId: string;
|
|
4
|
+
channel: string;
|
|
5
|
+
releaseId: string;
|
|
6
|
+
reused: boolean;
|
|
7
|
+
rollout: number;
|
|
8
|
+
stage: 'published';
|
|
9
|
+
};
|
|
10
|
+
export type AbsoluteMobileUpdatePromotion = {
|
|
11
|
+
appId: string;
|
|
12
|
+
channel: string;
|
|
13
|
+
releaseId: string;
|
|
14
|
+
rollout: number;
|
|
15
|
+
stage: 'promoted';
|
|
16
|
+
};
|
|
17
|
+
export type AbsoluteMobileUpdateRollback = {
|
|
18
|
+
appId: string;
|
|
19
|
+
channel: string;
|
|
20
|
+
releaseId?: string;
|
|
21
|
+
stage: 'rolled-back';
|
|
22
|
+
};
|
|
23
|
+
export type AbsoluteMobileUpdatePublisher = {
|
|
24
|
+
publishUpdate(options: {
|
|
25
|
+
manifest: Awaited<ReturnType<typeof readAbsoluteMobileUpdate>>;
|
|
26
|
+
releaseDirectory: string;
|
|
27
|
+
rollout: number;
|
|
28
|
+
signal?: AbortSignal;
|
|
29
|
+
}): Promise<AbsoluteMobileUpdatePublication>;
|
|
30
|
+
promoteUpdate(options: {
|
|
31
|
+
appId: string;
|
|
32
|
+
channel: string;
|
|
33
|
+
releaseId: string;
|
|
34
|
+
rollout: number;
|
|
35
|
+
signal?: AbortSignal;
|
|
36
|
+
}): Promise<AbsoluteMobileUpdatePromotion>;
|
|
37
|
+
rollbackUpdate(options: {
|
|
38
|
+
appId: string;
|
|
39
|
+
channel: string;
|
|
40
|
+
releaseId?: string;
|
|
41
|
+
signal?: AbortSignal;
|
|
42
|
+
}): Promise<AbsoluteMobileUpdateRollback>;
|
|
43
|
+
};
|
|
44
|
+
export declare const loadAbsoluteMobileUpdatePublisher: (projectRoot: string, requestedModulePath: string) => Promise<AbsoluteMobileUpdatePublisher>;
|
|
45
|
+
export declare const promoteAbsoluteMobileUpdate: (options: {
|
|
46
|
+
appId: string;
|
|
47
|
+
channel: string;
|
|
48
|
+
publisher: AbsoluteMobileUpdatePublisher;
|
|
49
|
+
releaseId: string;
|
|
50
|
+
rollout: number;
|
|
51
|
+
signal?: AbortSignal;
|
|
52
|
+
}) => Promise<AbsoluteMobileUpdatePromotion>;
|
|
53
|
+
export declare const publishAbsoluteMobileUpdate: (options: {
|
|
54
|
+
projectRoot: string;
|
|
55
|
+
publisher: AbsoluteMobileUpdatePublisher;
|
|
56
|
+
releaseDirectory: string;
|
|
57
|
+
rollout: number;
|
|
58
|
+
signal?: AbortSignal;
|
|
59
|
+
}) => Promise<AbsoluteMobileUpdatePublication>;
|
|
60
|
+
export declare const rollbackAbsoluteMobileUpdate: (options: {
|
|
61
|
+
appId: string;
|
|
62
|
+
channel: string;
|
|
63
|
+
publisher: AbsoluteMobileUpdatePublisher;
|
|
64
|
+
releaseId?: string;
|
|
65
|
+
signal?: AbortSignal;
|
|
66
|
+
}) => Promise<AbsoluteMobileUpdateRollback>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type AbsoluteMobileUpdateRequestIdentity = {
|
|
2
|
+
appId: string;
|
|
3
|
+
channel: string;
|
|
4
|
+
currentReleaseId: string;
|
|
5
|
+
installationId: string;
|
|
6
|
+
runtimeFingerprint: string;
|
|
7
|
+
};
|
|
8
|
+
export type AbsoluteMobileUpdateRolloutOptions = {
|
|
9
|
+
appId: string;
|
|
10
|
+
channel: string;
|
|
11
|
+
installationId: string;
|
|
12
|
+
releaseId: string;
|
|
13
|
+
rollout: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const isAbsoluteMobileUpdateRolloutMember: (options: AbsoluteMobileUpdateRolloutOptions) => boolean;
|
|
16
|
+
export declare const parseAbsoluteMobileUpdateRequest: (request: Request) => AbsoluteMobileUpdateRequestIdentity;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type AbsoluteDeviceCapabilityPlan } from './deviceCapabilities';
|
|
2
|
+
import type { NormalizedAbsoluteMobileConfig } from './config';
|
|
3
|
+
import { type AbsoluteMobileAuthManifest } from './nativeAuth';
|
|
4
|
+
import type { SyncLocalStoreSchemaBundle } from '@absolutejs/sync/client';
|
|
5
|
+
export declare const ABSOLUTE_MOBILE_SHELL_ABI: 2;
|
|
6
|
+
export declare const ABSOLUTE_MOBILE_UPDATE_RUNTIME_FORMAT: 1;
|
|
7
|
+
export type AbsoluteMobileUpdateRuntimeDescriptor = {
|
|
8
|
+
appId: string;
|
|
9
|
+
auth: AbsoluteMobileAuthManifest | null;
|
|
10
|
+
deepLinks: {
|
|
11
|
+
hosts: string[];
|
|
12
|
+
scheme?: string;
|
|
13
|
+
};
|
|
14
|
+
deviceCapabilities: AbsoluteDeviceCapabilityPlan;
|
|
15
|
+
engine: 'capacitor' | 'expo';
|
|
16
|
+
format: typeof ABSOLUTE_MOBILE_UPDATE_RUNTIME_FORMAT;
|
|
17
|
+
shellAbi: typeof ABSOLUTE_MOBILE_SHELL_ABI;
|
|
18
|
+
syncSchema: SyncLocalStoreSchemaBundle | null;
|
|
19
|
+
updates: NormalizedAbsoluteMobileConfig['updates'] | null;
|
|
20
|
+
};
|
|
21
|
+
export declare const createAbsoluteMobileUpdateRuntimeDescriptor: (options: {
|
|
22
|
+
auth?: AbsoluteMobileAuthManifest;
|
|
23
|
+
config: NormalizedAbsoluteMobileConfig;
|
|
24
|
+
deviceCapabilities: AbsoluteDeviceCapabilityPlan;
|
|
25
|
+
syncSchema?: SyncLocalStoreSchemaBundle;
|
|
26
|
+
}) => AbsoluteMobileUpdateRuntimeDescriptor;
|
|
27
|
+
export declare const fingerprintAbsoluteMobileUpdateRuntime: (descriptor: AbsoluteMobileUpdateRuntimeDescriptor) => string;
|
|
28
|
+
/** Resolve the complete native contract once so store builds and OTA exports
|
|
29
|
+
* can never disagree about runtime compatibility. */
|
|
30
|
+
export declare const resolveAbsoluteMobileUpdateRuntime: (config: NormalizedAbsoluteMobileConfig, projectRoot: string) => {
|
|
31
|
+
auth: AbsoluteMobileAuthManifest | undefined;
|
|
32
|
+
descriptor: AbsoluteMobileUpdateRuntimeDescriptor;
|
|
33
|
+
deviceCapabilities: AbsoluteDeviceCapabilityPlan;
|
|
34
|
+
fingerprint: string;
|
|
35
|
+
sync: boolean;
|
|
36
|
+
syncSchema: import("./syncSchema").AbsoluteSyncSchemaDiscovery | undefined;
|
|
37
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type AbsoluteMobileUpdateClassification } from './updateProtocol';
|
|
2
|
+
export type BuildAbsoluteMobileUpdateOptions = {
|
|
3
|
+
appId: string;
|
|
4
|
+
bundleDirectory: string;
|
|
5
|
+
channel: string;
|
|
6
|
+
classification: AbsoluteMobileUpdateClassification;
|
|
7
|
+
createdAt?: Date;
|
|
8
|
+
keyId: string;
|
|
9
|
+
outputDirectory: string;
|
|
10
|
+
privateKey: string | Buffer;
|
|
11
|
+
runtimeFingerprint: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const buildAbsoluteMobileUpdate: (options: BuildAbsoluteMobileUpdateOptions) => Promise<{
|
|
14
|
+
manifest: import("./updateProtocol").AbsoluteMobileUpdateManifest;
|
|
15
|
+
manifestPath: string;
|
|
16
|
+
outputDirectory: string;
|
|
17
|
+
}>;
|
|
18
|
+
export declare const copyAbsoluteMobileUpdateFile: (updateDirectory: string, path: string, destination: string) => Promise<void>;
|
|
19
|
+
export declare const readAbsoluteMobileUpdate: (directory: string) => Promise<import("./updateProtocol").AbsoluteMobileUpdateManifest>;
|
|
20
|
+
export declare const verifyAbsoluteMobileUpdateSignature: (manifestValue: unknown, publicKey: string | Buffer) => import("./updateProtocol").AbsoluteMobileUpdateManifest;
|
|
@@ -86,7 +86,10 @@ export declare const hmr: (hmrState: HMRState, manifest: Record<string, string>,
|
|
|
86
86
|
entryWatcherReady: boolean;
|
|
87
87
|
isRebuilding: boolean;
|
|
88
88
|
manifestKeys: string[];
|
|
89
|
+
pendingBundleRebuilds: ("svelte" | "vue" | "angular")[];
|
|
90
|
+
pendingFileChanges: number;
|
|
89
91
|
rebuildCount: number;
|
|
90
92
|
rebuildQueue: string[];
|
|
93
|
+
rebuildScheduled: boolean;
|
|
91
94
|
timestamp: number;
|
|
92
95
|
}>;
|
|
@@ -19,7 +19,7 @@ export declare const imageOptimizer: (config: ImageConfig | undefined, buildDir:
|
|
|
19
19
|
status?: number | keyof import("elysia").StatusMap;
|
|
20
20
|
cookie?: Record<string, import("elysia").BaseCookie>;
|
|
21
21
|
};
|
|
22
|
-
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 500 | 100 | 200 | 400 | 404 | 300 | 304 |
|
|
22
|
+
status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 500 | 100 | 200 | 400 | 404 | 300 | 304 | 503 | 426 | 204 | 101 | 102 | 103 | 201 | 202 | 203 | 205 | 206 | 207 | 208 | 301 | 302 | 303 | 307 | 308 | 401 | 402 | 403 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 420 | 421 | 422 | 423 | 424 | 425 | 428 | 429 | 431 | 451 | 501 | 502 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
|
|
23
23
|
readonly 100: "Continue";
|
|
24
24
|
readonly 101: "Switching Protocols";
|
|
25
25
|
readonly 102: "Processing";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Breakpoint, Breakpoints } from '../../../types/mediaQuery';
|
|
2
|
-
export declare const UserAgentProvider: import("react").Provider<"console" | "other" | "
|
|
2
|
+
export declare const UserAgentProvider: import("react").Provider<"console" | "other" | "phone" | "tablet" | "desktop" | "bot" | "tv" | "car" | "iot" | null>;
|
|
3
3
|
export declare const useMediaQuery: (customBreakpoints?: Breakpoints) => {
|
|
4
4
|
breakpoint: string;
|
|
5
5
|
isSizeOrGreater: (target: Breakpoint) => boolean;
|
|
@@ -24,6 +24,9 @@ export declare const getCacheKey: (url: string, width: number, quality: number,
|
|
|
24
24
|
export declare const isCacheStale: (meta: CacheMeta) => boolean;
|
|
25
25
|
export declare const matchRemotePattern: (urlString: string, patterns: RemotePattern[]) => boolean;
|
|
26
26
|
export declare const negotiateFormat: (acceptHeader: string, configuredFormats: ImageFormat[]) => ImageFormat;
|
|
27
|
+
/** The MIME type an image buffer actually is, from its magic bytes — used
|
|
28
|
+
* when optimization fails and the original must be served as itself. */
|
|
29
|
+
export declare const sniffImageMime: (buffer: Buffer) => "image/avif" | "image/gif" | "image/jpeg" | "image/png" | "image/webp" | null;
|
|
27
30
|
export declare const optimizeImage: (buffer: Buffer | ArrayBuffer, width: number, quality: number, format: ImageFormat) => Promise<Buffer<ArrayBufferLike>>;
|
|
28
31
|
export declare const readFromCache: (cacheDir: string, cacheKey: string) => {
|
|
29
32
|
buffer: NonSharedBuffer;
|
|
@@ -21,6 +21,7 @@ export declare const loadConfig: (configPath?: string) => Promise<{
|
|
|
21
21
|
htmlDirectory?: string;
|
|
22
22
|
htmxDirectory?: string;
|
|
23
23
|
mobile?: import("..").MobileConfig;
|
|
24
|
+
pwa?: import("..").PwaConfig;
|
|
24
25
|
stylesConfig?: string | import("..").StylesConfig;
|
|
25
26
|
stylePreprocessors?: import("..").StylePreprocessorConfig;
|
|
26
27
|
postcss?: import("..").PostCSSConfig;
|
|
@@ -2,6 +2,10 @@ export type StartupTimingStep = {
|
|
|
2
2
|
label: string;
|
|
3
3
|
durationMs: number;
|
|
4
4
|
};
|
|
5
|
+
/** `ABSOLUTE_DEV_PROFILE=1` is the one-stop profiling switch: it turns on
|
|
6
|
+
* these per-step startup timings AND the per-phase build trace
|
|
7
|
+
* (`ABSOLUTE_BUILD_TRACE`, written to `<buildDir>/.absolute-trace/`). */
|
|
8
|
+
export declare const devProfileEnabled: boolean;
|
|
5
9
|
export declare const startupTimingsEnabled: boolean;
|
|
6
10
|
export declare const formatStartupTimingBlock: (title: string, steps: StartupTimingStep[]) => string;
|
|
7
11
|
export declare const logStartupTimingBlock: (title: string, steps: StartupTimingStep[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getUserAgentType: (userAgent: string) => "console" | "other" | "
|
|
1
|
+
export declare const getUserAgentType: (userAgent: string) => "console" | "other" | "phone" | "tablet" | "desktop" | "bot" | "tv" | "car" | "iot";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Island } from './Island.browser';
|
|
2
2
|
export { createTypedIsland } from './createIsland.browser';
|
|
3
3
|
export { useIslandStore } from './useIslandStore';
|
|
4
|
+
export { captureSsrTextBaselines, prepareBrowserTranslationHydration, preserveBrowserTranslation } from './browserTranslation';
|
|
4
5
|
export { defineRoutes, defineVueSetupApp } from './defineVuePage';
|
|
5
6
|
export { applyVueRouterRedirect } from './routerRedirectProviders';
|
|
6
7
|
export type { VueAutoRouter, VueRouteRecord, VueRoutes, VueSetupApp, VueSetupAppContext } from '../../types/vue';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { HydrationStrategy } from 'vue';
|
|
2
|
+
export { captureSsrTextBaselines, prepareBrowserTranslationHydration } from '../client/browserTranslation';
|
|
3
|
+
/** Wrap a Vue lazy-hydration strategy so text changed by browser translation
|
|
4
|
+
* after the SSR snapshot neither triggers a mismatch nor gets reset. */
|
|
5
|
+
export declare const preserveBrowserTranslation: (strategy: HydrationStrategy) => HydrationStrategy;
|
package/dist/src/vue/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export type { VueAutoRouter, VueRouteRecord, VueRoutes, VueSetupApp, VueSetupApp
|
|
|
5
5
|
export { Island } from './Island';
|
|
6
6
|
export { createTypedIsland } from './createIsland';
|
|
7
7
|
export { useIslandStore } from './useIslandStore';
|
|
8
|
+
export { captureSsrTextBaselines, prepareBrowserTranslationHydration, preserveBrowserTranslation } from './browserTranslation';
|
|
8
9
|
export { Image } from './components/Image';
|
|
9
10
|
export { StreamSlot, SuspenseSlot } from './components';
|
|
10
11
|
export { useResource } from './useResource';
|
package/dist/svelte/browser.js
CHANGED
|
@@ -19,12 +19,14 @@ var __toESM = (mod, isNodeMode, target) => {
|
|
|
19
19
|
}
|
|
20
20
|
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
21
|
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
|
+
for (let key of __getOwnPropNames(mod))
|
|
24
|
+
if (!__hasOwnProp.call(to, key))
|
|
25
|
+
__defProp(to, key, {
|
|
26
|
+
get: __accessProp.bind(mod, key),
|
|
27
|
+
enumerable: true
|
|
28
|
+
});
|
|
29
|
+
}
|
|
28
30
|
if (canCache)
|
|
29
31
|
cache.set(mod, to);
|
|
30
32
|
return to;
|
|
@@ -239,22 +241,6 @@ var createIslandStore = (storeId, initialState, createState) => {
|
|
|
239
241
|
return store;
|
|
240
242
|
};
|
|
241
243
|
var getIslandStoreServerSnapshot = (store, selector) => selector(store.getInitialState());
|
|
242
|
-
var applySnapshotToStoreInstances = (storeId, instances, snapshot) => {
|
|
243
|
-
for (const instance of instances) {
|
|
244
|
-
instance.applyExternalSnapshot(snapshot[storeId] ?? {});
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
var initializeIslandStores = (state) => {
|
|
248
|
-
const currentSnapshot = getIslandStoreSnapshot();
|
|
249
|
-
const nextSnapshot = {
|
|
250
|
-
...state,
|
|
251
|
-
...currentSnapshot
|
|
252
|
-
};
|
|
253
|
-
globalThis.__ABS_ISLAND_STATE__ = nextSnapshot;
|
|
254
|
-
for (const [storeId, store] of getIslandStores()) {
|
|
255
|
-
applySnapshotToStoreInstances(storeId, store, nextSnapshot);
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
244
|
var readIslandStore = (store, selector) => selector(store.getState());
|
|
259
245
|
var subscribeIslandStore = (store, selector, listener) => {
|
|
260
246
|
let currentSelection = selector(store.getState());
|
|
@@ -281,11 +267,11 @@ var renderIsland = async () => {
|
|
|
281
267
|
throw new Error("renderIsland is server-only. Use it during SSR, not in the browser.");
|
|
282
268
|
};
|
|
283
269
|
export {
|
|
284
|
-
|
|
285
|
-
resolveIslandHtml,
|
|
270
|
+
createTypedIsland,
|
|
286
271
|
renderIsland,
|
|
287
|
-
|
|
272
|
+
resolveIslandHtml,
|
|
273
|
+
useIslandStore
|
|
288
274
|
};
|
|
289
275
|
|
|
290
|
-
//# debugId=
|
|
276
|
+
//# debugId=3CA834CE6A1E3B1B64756E2164756E21
|
|
291
277
|
//# sourceMappingURL=browser.js.map
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"import type { StoreApi } from 'zustand/vanilla';\nimport {\n\treadIslandStore,\n\tsubscribeIslandStore,\n\ttype IslandStoreState\n} from '../client/islandStore';\n\nexport const useIslandStore = <TState extends IslandStoreState, TSelected>(\n\tstore: StoreApi<TState>,\n\tselector: (state: TState) => TSelected\n) => ({\n\tsubscribe(listener: (value: TSelected) => void) {\n\t\tlistener(readIslandStore(store, selector));\n\n\t\treturn subscribeIslandStore(store, selector, listener);\n\t}\n});\n",
|
|
14
14
|
"export { createTypedIsland } from './createIsland.browser';\nexport { resolveIslandHtml } from './resolveIslandHtml.browser';\nexport { useIslandStore } from './islandStore';\n\nexport const renderIsland = async () => {\n\tthrow new Error(\n\t\t'renderIsland is server-only. Use it during SSR, not in the browser.'\n\t);\n};\n"
|
|
15
15
|
],
|
|
16
|
-
"mappings": "
|
|
17
|
-
"debugId": "
|
|
16
|
+
"mappings": "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",
|
|
17
|
+
"debugId": "3CA834CE6A1E3B1B64756E2164756E21",
|
|
18
18
|
"names": []
|
|
19
19
|
}
|