@absolutejs/absolute 0.20.0-beta.108 → 0.20.0-beta.109

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.
@@ -29,7 +29,8 @@ export declare const injectVueComposableTrackingIntoContent: (content: string, r
29
29
  export declare const isSharedChunkPath: (path: string) => boolean;
30
30
  /** Map a Bun module-boundary comment path to the module id the dev module
31
31
  * server keys composable state by: the absolute source path. Transpiled TS
32
- * helpers under `<generatedVueDir>/client/` map back to their original source paths; anything else (node_modules, other frameworks) resolves against
32
+ * helpers under `<generatedVueDir>/client/` map back to their original source
33
+ * paths; anything else (node_modules, other frameworks) resolves against
33
34
  * the project root and simply never matches a served module. */
34
35
  export declare const resolveVueComposableModuleId: (commentPath: string, options: VueComposableModuleIdOptions) => string;
35
36
  export {};
@@ -22,6 +22,13 @@ export type NormalizedAbsoluteMobileConfig = {
22
22
  platforms: MobilePlatform[];
23
23
  productionOrigin: string;
24
24
  pushAndroidGoogleServicesFile: string;
25
+ releaseCertification: {
26
+ channels: Record<string, {
27
+ android?: 'installed';
28
+ ios?: 'device' | 'simulator' | 'store';
29
+ }>;
30
+ googlePlayTracks: Record<string, 'installed'>;
31
+ };
25
32
  updates?: {
26
33
  bootTimeoutMs: number;
27
34
  channel: string;
@@ -1,5 +1,6 @@
1
- import type { AbsoluteAndroidRelease } from './androidReleaseAcceptance';
2
- import type { AbsoluteIosRelease } from './iosReleaseAcceptance';
1
+ import type { AbsoluteAndroidReleaseMetadata } from './androidRelease';
2
+ import type { NormalizedAbsoluteMobileConfig } from './config';
3
+ import type { AbsoluteIosReleaseMetadata } from './iosRelease';
3
4
  export declare const ABSOLUTE_MOBILE_RELEASE_CERTIFICATION_FORMAT: 1;
4
5
  export type AbsoluteMobileCertificationRequirement = 'device' | 'installed' | 'simulator' | 'store';
5
6
  export type AbsoluteMobileCertificationStrength = 'installed' | 'simulator' | 'device' | 'store';
@@ -36,7 +37,9 @@ export type AbsoluteMobileReleaseCertification = {
36
37
  status: 'certified';
37
38
  strength: AbsoluteMobileCertificationStrength;
38
39
  };
39
- export type AbsoluteMobileCertifiableRelease = AbsoluteAndroidRelease | AbsoluteIosRelease;
40
+ export type AbsoluteMobileCertifiableRelease = {
41
+ metadata: AbsoluteAndroidReleaseMetadata | AbsoluteIosReleaseMetadata;
42
+ };
40
43
  export type CreateAbsoluteMobileReleaseCertificationOptions = {
41
44
  evidencePaths: string[];
42
45
  generatedAt?: string;
@@ -49,6 +52,12 @@ export type AbsoluteMobileReleaseCertificationPaths = {
49
52
  jsonPath: string;
50
53
  markdownPath: string;
51
54
  };
55
+ export type AbsoluteMobileReleaseCertificationTarget = {
56
+ channel?: string;
57
+ googlePlayTrack?: string;
58
+ platform: 'android' | 'ios';
59
+ };
60
+ export declare const resolveAbsoluteMobileCertificationRequirement: (config: NormalizedAbsoluteMobileConfig, target: AbsoluteMobileReleaseCertificationTarget) => AbsoluteMobileCertificationRequirement | undefined;
52
61
  export declare const createAbsoluteMobileReleaseCertification: (options: CreateAbsoluteMobileReleaseCertificationOptions) => Promise<AbsoluteMobileReleaseCertification>;
53
62
  export declare const readAbsoluteMobileReleaseCertification: (projectRoot: string, requested: string) => Promise<{
54
63
  certification: AbsoluteMobileReleaseCertification;
@@ -1,5 +1,6 @@
1
1
  import type { AbsoluteAndroidReleaseMetadata } from './androidRelease';
2
2
  import type { AbsoluteIosReleaseMetadata } from './iosRelease';
3
+ import { type AbsoluteMobileCertificationRequirement, type AbsoluteMobileReleaseCertification } from './releaseCertification';
3
4
  export type AbsoluteGooglePlayReleaseTarget = {
4
5
  changesNotSentForReview?: boolean;
5
6
  inAppUpdatePriority?: number;
@@ -30,6 +31,12 @@ export type AbsoluteNativeReleasePublication = {
30
31
  metadata: AbsoluteAndroidReleaseMetadata | AbsoluteIosReleaseMetadata;
31
32
  };
32
33
  reused: boolean;
34
+ certification?: {
35
+ certificationId: string;
36
+ releaseId: string;
37
+ requirement: AbsoluteMobileCertificationRequirement;
38
+ strength: AbsoluteMobileReleaseCertification['strength'];
39
+ };
33
40
  googlePlay?: {
34
41
  receipt: {
35
42
  intent: {
@@ -83,6 +90,8 @@ export type AbsoluteNativeReleasePublisher = {
83
90
  allowUnsigned?: boolean;
84
91
  appStoreConnect?: AbsoluteAppStoreConnectReleaseTarget;
85
92
  channel?: string;
93
+ certification?: AbsoluteMobileReleaseCertification;
94
+ certificationRequirement?: AbsoluteMobileCertificationRequirement;
86
95
  googlePlay?: AbsoluteGooglePlayReleaseTarget;
87
96
  releaseRoot: string;
88
97
  signal?: AbortSignal;
@@ -104,6 +113,8 @@ export declare const prepareAbsoluteAndroidRelease: (publisher: AbsoluteNativeRe
104
113
  export type PublishAbsoluteAndroidReleaseOptions = {
105
114
  allowUnsigned?: boolean;
106
115
  channel?: string;
116
+ certification?: AbsoluteMobileReleaseCertification;
117
+ certificationRequirement?: AbsoluteMobileCertificationRequirement;
107
118
  googlePlay?: AbsoluteGooglePlayReleaseTarget;
108
119
  modulePath: string;
109
120
  projectRoot: string;
@@ -119,6 +130,8 @@ export declare const publishAbsoluteIosRelease: (options: {
119
130
  allowUnsigned?: boolean;
120
131
  appStoreConnect?: AbsoluteAppStoreConnectReleaseTarget;
121
132
  channel?: string;
133
+ certification?: AbsoluteMobileReleaseCertification;
134
+ certificationRequirement?: AbsoluteMobileCertificationRequirement;
122
135
  modulePath: string;
123
136
  projectRoot: string;
124
137
  release: {
@@ -77,6 +77,19 @@ type MobileSharedConfig = {
77
77
  /** Deployed AbsoluteJS origin used for page envelopes and API calls. */
78
78
  productionOrigin: string;
79
79
  };
80
+ /** Native-store and immutable-channel release policy. Production defaults
81
+ * require installed Android evidence and store-delivered iOS evidence. */
82
+ release?: {
83
+ certification?: false | {
84
+ /** Evidence required when an immutable release channel is moved. */
85
+ channels?: Readonly<Record<string, {
86
+ android?: false | 'installed';
87
+ ios?: false | 'device' | 'simulator' | 'store';
88
+ }>>;
89
+ /** Evidence required before committing a Google Play track. */
90
+ googlePlayTracks?: Readonly<Record<string, false | 'installed'>>;
91
+ };
92
+ };
80
93
  /** Shell-owned production error capture for web-rendered and Expo-native routes.
81
94
  * Events go only to the configured route on the trusted production origin. */
82
95
  observability?: {
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "dependencies": {
10
10
  "@absolutejs/auth": ">=0.75.0 <0.77.0",
11
11
  "@absolutejs/beacon": ">=0.7.0-beta.4 <0.8.0",
12
- "@absolutejs/deploy": "0.25.14",
12
+ "@absolutejs/deploy": "0.26.0",
13
13
  "@absolutejs/devices": "0.7.0",
14
14
  "@absolutejs/devices-capacitor": "0.8.0",
15
15
  "@absolutejs/devices-expo": "0.0.11",
@@ -537,7 +537,7 @@
537
537
  ]
538
538
  }
539
539
  },
540
- "version": "0.20.0-beta.108",
540
+ "version": "0.20.0-beta.109",
541
541
  "workspaces": [
542
542
  "tests/fixtures/*",
543
543
  "tests/fixtures/_packages/*"