@absolutejs/absolute 0.20.0-beta.5 → 0.20.0-beta.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +205 -0
  2. package/dist/angular/browser.js +392 -361
  3. package/dist/angular/browser.js.map +3 -3
  4. package/dist/angular/components/core/streamingSlotRegistrar.js +7 -7
  5. package/dist/angular/components/core/streamingSlotRegistry.js +4 -4
  6. package/dist/angular/index.js +355 -302
  7. package/dist/angular/index.js.map +5 -5
  8. package/dist/angular/server.js +109 -58
  9. package/dist/angular/server.js.map +5 -5
  10. package/dist/build.js +2261 -1335
  11. package/dist/build.js.map +16 -12
  12. package/dist/cli/config/client.js +12 -12
  13. package/dist/cli/config/server.js +1136 -1090
  14. package/dist/cli/index.js +8247 -1898
  15. package/dist/client/index.js +29 -25
  16. package/dist/client/index.js.map +2 -2
  17. package/dist/core/streamingSlotRegistrar.js +15 -13
  18. package/dist/core/streamingSlotRegistrar.js.map +2 -2
  19. package/dist/core/streamingSlotRegistry.js +11 -9
  20. package/dist/core/streamingSlotRegistry.js.map +2 -2
  21. package/dist/dev/client/hmrClient.ts +35 -3
  22. package/dist/dev/client/hmrTiming.ts +6 -0
  23. package/dist/dev/client/syncDevtools.ts +237 -0
  24. package/dist/dev/serverBootstrap.js +28 -0
  25. package/dist/image-client/imageClient.js +7 -7
  26. package/dist/index.js +3400 -2126
  27. package/dist/index.js.map +30 -23
  28. package/dist/islands/browser.js +11 -9
  29. package/dist/islands/browser.js.map +2 -2
  30. package/dist/islands/index.js +39 -35
  31. package/dist/islands/index.js.map +2 -2
  32. package/dist/mobile/browser.js +167 -20
  33. package/dist/mobile/browser.js.map +7 -5
  34. package/dist/mobile/index.js +7840 -2983
  35. package/dist/mobile/index.js.map +37 -18
  36. package/dist/mobile/remoteMacAgentEntry.js +1184 -14
  37. package/dist/mobile/shellAuth.js +36 -0
  38. package/dist/mobile/shellBootstrap.js +836 -0
  39. package/dist/mobile/shellExpoAuth.js +163 -0
  40. package/dist/mobile/shellExpoDevices.js +77 -0
  41. package/dist/mobile/shellExpoSync.js +104 -0
  42. package/dist/mobile/shellSync.js +173 -0
  43. package/dist/react/browser.js +17 -15
  44. package/dist/react/browser.js.map +2 -2
  45. package/dist/react/components/browser/index.js +107 -107
  46. package/dist/react/components/index.js +118 -116
  47. package/dist/react/components/index.js.map +2 -2
  48. package/dist/react/hooks/index.js +11 -9
  49. package/dist/react/hooks/index.js.map +2 -2
  50. package/dist/react/index.js +92 -49
  51. package/dist/react/index.js.map +4 -4
  52. package/dist/react/jsxDevRuntimeCompat.js +11 -9
  53. package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
  54. package/dist/react/jsxRuntimeCompat.js +11 -9
  55. package/dist/react/jsxRuntimeCompat.js.map +2 -2
  56. package/dist/react/router/browser.js +9 -7
  57. package/dist/react/router/browser.js.map +2 -2
  58. package/dist/react/router/index.js +9 -7
  59. package/dist/react/router/index.js.map +2 -2
  60. package/dist/react/server.js +51 -10
  61. package/dist/react/server.js.map +4 -4
  62. package/dist/src/build/pwa.d.ts +16 -0
  63. package/dist/src/cli/config/server.d.ts +1 -1
  64. package/dist/src/cli/instanceStatus.d.ts +1 -0
  65. package/dist/src/cli/scripts/dev.d.ts +2 -0
  66. package/dist/src/core/devBuild.d.ts +1 -0
  67. package/dist/src/core/prepare.d.ts +376 -0
  68. package/dist/src/dev/clientManager.d.ts +1 -0
  69. package/dist/src/dev/devCert.d.ts +6 -4
  70. package/dist/src/dev/serverEntryCopies.d.ts +3 -0
  71. package/dist/src/mobile/androidEmulatorController.d.ts +8 -1
  72. package/dist/src/mobile/androidRelease.d.ts +9 -2
  73. package/dist/src/mobile/androidTestReport.d.ts +14 -0
  74. package/dist/src/mobile/androidUpgradeConformance.d.ts +47 -0
  75. package/dist/src/mobile/androidWebView.d.ts +1 -0
  76. package/dist/src/mobile/browser.d.ts +1 -0
  77. package/dist/src/mobile/capacitorBundle.d.ts +11 -0
  78. package/dist/src/mobile/ciWorkflow.d.ts +26 -0
  79. package/dist/src/mobile/config.d.ts +4 -1
  80. package/dist/src/mobile/devDeviceAdapter.d.ts +3 -0
  81. package/dist/src/mobile/deviceCapabilities.d.ts +48 -0
  82. package/dist/src/mobile/expoBridge.d.ts +91 -0
  83. package/dist/src/mobile/expoDevController.d.ts +56 -0
  84. package/dist/src/mobile/expoProject.d.ts +16 -0
  85. package/dist/src/mobile/index.d.ts +14 -0
  86. package/dist/src/mobile/iosDeviceAcceptance.d.ts +32 -0
  87. package/dist/src/mobile/iosPhysicalDeviceTransport.d.ts +16 -0
  88. package/dist/src/mobile/iosRelease.d.ts +16 -3
  89. package/dist/src/mobile/iosSimulatorController.d.ts +20 -2
  90. package/dist/src/mobile/iosTestReport.d.ts +24 -0
  91. package/dist/src/mobile/mobileBundleInspection.d.ts +55 -0
  92. package/dist/src/mobile/mobileInspect.d.ts +136 -0
  93. package/dist/src/mobile/mobilePreview.d.ts +174 -0
  94. package/dist/src/mobile/mobilePreviewClient.d.ts +1 -0
  95. package/dist/src/mobile/nativeAuth.d.ts +6 -0
  96. package/dist/src/mobile/nativeBackgroundSync.d.ts +4 -0
  97. package/dist/src/mobile/nativeDeviceCapabilities.d.ts +6 -0
  98. package/dist/src/mobile/nativeRoute.d.ts +13 -0
  99. package/dist/src/mobile/nativeTestReport.d.ts +91 -0
  100. package/dist/src/mobile/pageProtocol.d.ts +2 -0
  101. package/dist/src/mobile/releaseDoctor.d.ts +23 -1
  102. package/dist/src/mobile/remoteMacProtocol.d.ts +38 -0
  103. package/dist/src/mobile/remoteMacWire.d.ts +1 -1
  104. package/dist/src/mobile/shellAuth.d.ts +8 -1
  105. package/dist/src/mobile/shellBootstrap.d.ts +14 -2
  106. package/dist/src/mobile/shellExpoAuth.d.ts +12 -0
  107. package/dist/src/mobile/shellExpoDevices.d.ts +3 -0
  108. package/dist/src/mobile/shellExpoSync.d.ts +18 -0
  109. package/dist/src/mobile/shellHttp.d.ts +2 -0
  110. package/dist/src/mobile/shellPush.d.ts +11 -0
  111. package/dist/src/mobile/shellSync.d.ts +46 -1
  112. package/dist/src/mobile/syncRemediation.d.ts +10 -0
  113. package/dist/src/mobile/syncSchema.d.ts +9 -0
  114. package/dist/src/mobile/transport.d.ts +7 -0
  115. package/dist/src/plugins/hmr.d.ts +3 -0
  116. package/dist/src/plugins/imageOptimizer.d.ts +1 -1
  117. package/dist/src/react/hooks/useMediaQuery.d.ts +1 -1
  118. package/dist/src/utils/imageProcessing.d.ts +3 -0
  119. package/dist/src/utils/loadConfig.d.ts +1 -0
  120. package/dist/src/utils/logger.d.ts +1 -0
  121. package/dist/src/utils/startupBanner.d.ts +1 -0
  122. package/dist/src/utils/userAgentFunctions.d.ts +1 -1
  123. package/dist/svelte/browser.js +12 -10
  124. package/dist/svelte/browser.js.map +2 -2
  125. package/dist/svelte/index.js +86 -43
  126. package/dist/svelte/index.js.map +4 -4
  127. package/dist/svelte/server.js +68 -27
  128. package/dist/svelte/server.js.map +4 -4
  129. package/dist/types/build.d.ts +53 -3
  130. package/dist/types/cli.d.ts +1 -0
  131. package/dist/types/messages.d.ts +1 -1
  132. package/dist/vue/browser.js +14 -12
  133. package/dist/vue/browser.js.map +2 -2
  134. package/dist/vue/components/Image.js +9 -7
  135. package/dist/vue/components/Image.js.map +2 -2
  136. package/dist/vue/components/index.js +11 -9
  137. package/dist/vue/components/index.js.map +2 -2
  138. package/dist/vue/index.js +91 -48
  139. package/dist/vue/index.js.map +4 -4
  140. package/dist/vue/server.js +53 -12
  141. package/dist/vue/server.js.map +4 -4
  142. package/package.json +35 -15
@@ -37,6 +37,337 @@ export declare const prepare: (configOrPath?: string) => Promise<{
37
37
  error: never;
38
38
  };
39
39
  };
40
+ "native-device-adapter.js": {
41
+ get: {
42
+ body: unknown;
43
+ params: {};
44
+ query: unknown;
45
+ headers: unknown;
46
+ response: {
47
+ 200: Response;
48
+ };
49
+ error: never;
50
+ };
51
+ };
52
+ };
53
+ ".well-known": {
54
+ appspecific: {
55
+ "com.chrome.devtools.json": {
56
+ get: {
57
+ body: unknown;
58
+ params: {};
59
+ query: unknown;
60
+ headers: unknown;
61
+ response: {
62
+ 200: {
63
+ workspace: {
64
+ root: string;
65
+ uuid: string;
66
+ };
67
+ };
68
+ };
69
+ error: never;
70
+ };
71
+ };
72
+ };
73
+ };
74
+ "@src": {
75
+ "*": {
76
+ get: {
77
+ body: unknown;
78
+ params: {
79
+ "*": string;
80
+ } & {};
81
+ query: unknown;
82
+ headers: unknown;
83
+ response: {};
84
+ error: never;
85
+ };
86
+ };
87
+ };
88
+ "@stub": {
89
+ "*": {
90
+ get: {
91
+ body: unknown;
92
+ params: {
93
+ "*": string;
94
+ } & {};
95
+ query: unknown;
96
+ headers: unknown;
97
+ response: {};
98
+ error: never;
99
+ };
100
+ };
101
+ };
102
+ "@hmr": {
103
+ "*": {
104
+ get: {
105
+ body: unknown;
106
+ params: {
107
+ "*": string;
108
+ } & {};
109
+ query: unknown;
110
+ headers: unknown;
111
+ response: {};
112
+ error: never;
113
+ };
114
+ };
115
+ };
116
+ "@ng": {
117
+ "*": {
118
+ get: {
119
+ body: unknown;
120
+ params: {
121
+ "*": string;
122
+ } & {};
123
+ query: unknown;
124
+ headers: unknown;
125
+ response: {
126
+ 200: Response;
127
+ };
128
+ error: never;
129
+ };
130
+ };
131
+ };
132
+ hmr: {
133
+ subscribe: {
134
+ body: unknown;
135
+ headers: unknown;
136
+ query: unknown;
137
+ params: {};
138
+ response: {};
139
+ };
140
+ };
141
+ "hmr-status": {
142
+ get: {
143
+ body: unknown;
144
+ params: {};
145
+ query: unknown;
146
+ headers: unknown;
147
+ response: {
148
+ 200: {
149
+ connectedClients: number;
150
+ connectedTargets: {
151
+ [k: string]: number;
152
+ };
153
+ entryWatcherReady: boolean;
154
+ isRebuilding: boolean;
155
+ manifestKeys: string[];
156
+ pendingBundleRebuilds: ("svelte" | "vue" | "angular")[];
157
+ pendingFileChanges: number;
158
+ rebuildCount: number;
159
+ rebuildQueue: string[];
160
+ rebuildScheduled: boolean;
161
+ timestamp: number;
162
+ };
163
+ };
164
+ error: never;
165
+ };
166
+ };
167
+ } | {
168
+ [x: string]: {
169
+ get: {
170
+ body: unknown;
171
+ params: {};
172
+ query: unknown;
173
+ headers: unknown;
174
+ response: {};
175
+ error: never;
176
+ };
177
+ };
178
+ __absolute: {
179
+ requests: {
180
+ get: {
181
+ body: unknown;
182
+ params: {};
183
+ query: unknown;
184
+ headers: unknown;
185
+ response: {
186
+ 200: import("..").RequestRecord[];
187
+ };
188
+ error: never;
189
+ };
190
+ };
191
+ "native-device-adapter.js": {
192
+ get: {
193
+ body: unknown;
194
+ params: {};
195
+ query: unknown;
196
+ headers: unknown;
197
+ response: {
198
+ 200: Response;
199
+ };
200
+ error: never;
201
+ };
202
+ };
203
+ };
204
+ ".well-known": {
205
+ appspecific: {
206
+ "com.chrome.devtools.json": {
207
+ get: {
208
+ body: unknown;
209
+ params: {};
210
+ query: unknown;
211
+ headers: unknown;
212
+ response: {
213
+ 200: {
214
+ workspace: {
215
+ root: string;
216
+ uuid: string;
217
+ };
218
+ };
219
+ };
220
+ error: never;
221
+ };
222
+ };
223
+ };
224
+ };
225
+ "@src": {
226
+ "*": {
227
+ get: {
228
+ body: unknown;
229
+ params: {
230
+ "*": string;
231
+ } & {};
232
+ query: unknown;
233
+ headers: unknown;
234
+ response: {};
235
+ error: never;
236
+ };
237
+ };
238
+ };
239
+ "@stub": {
240
+ "*": {
241
+ get: {
242
+ body: unknown;
243
+ params: {
244
+ "*": string;
245
+ } & {};
246
+ query: unknown;
247
+ headers: unknown;
248
+ response: {};
249
+ error: never;
250
+ };
251
+ };
252
+ };
253
+ "@hmr": {
254
+ "*": {
255
+ get: {
256
+ body: unknown;
257
+ params: {
258
+ "*": string;
259
+ } & {};
260
+ query: unknown;
261
+ headers: unknown;
262
+ response: {};
263
+ error: never;
264
+ };
265
+ };
266
+ };
267
+ "@ng": {
268
+ "*": {
269
+ get: {
270
+ body: unknown;
271
+ params: {
272
+ "*": string;
273
+ } & {};
274
+ query: unknown;
275
+ headers: unknown;
276
+ response: {
277
+ 200: Response;
278
+ };
279
+ error: never;
280
+ };
281
+ };
282
+ };
283
+ hmr: {
284
+ subscribe: {
285
+ body: unknown;
286
+ headers: unknown;
287
+ query: unknown;
288
+ params: {};
289
+ response: {};
290
+ };
291
+ };
292
+ "hmr-status": {
293
+ get: {
294
+ body: unknown;
295
+ params: {};
296
+ query: unknown;
297
+ headers: unknown;
298
+ response: {
299
+ 200: {
300
+ connectedClients: number;
301
+ connectedTargets: {
302
+ [k: string]: number;
303
+ };
304
+ entryWatcherReady: boolean;
305
+ isRebuilding: boolean;
306
+ manifestKeys: string[];
307
+ pendingBundleRebuilds: ("svelte" | "vue" | "angular")[];
308
+ pendingFileChanges: number;
309
+ rebuildCount: number;
310
+ rebuildQueue: string[];
311
+ rebuildScheduled: boolean;
312
+ timestamp: number;
313
+ };
314
+ };
315
+ error: never;
316
+ };
317
+ };
318
+ } | {
319
+ __absolute: {
320
+ requests: {
321
+ get: {
322
+ body: unknown;
323
+ params: {};
324
+ query: unknown;
325
+ headers: unknown;
326
+ response: {
327
+ 200: import("..").RequestRecord[];
328
+ };
329
+ error: never;
330
+ };
331
+ };
332
+ "mobile-preview": {
333
+ get: {
334
+ body: unknown;
335
+ params: {};
336
+ query: unknown;
337
+ headers: unknown;
338
+ response: {
339
+ 200: Response;
340
+ };
341
+ error: never;
342
+ };
343
+ };
344
+ "mobile-preview-telemetry": {
345
+ post: {
346
+ body: unknown;
347
+ params: {};
348
+ query: unknown;
349
+ headers: unknown;
350
+ response: {
351
+ 400: {
352
+ readonly error: "invalid-preview-telemetry";
353
+ };
354
+ 204: "No Content";
355
+ };
356
+ error: never;
357
+ };
358
+ };
359
+ "native-device-adapter.js": {
360
+ get: {
361
+ body: unknown;
362
+ params: {};
363
+ query: unknown;
364
+ headers: unknown;
365
+ response: {
366
+ 200: Response;
367
+ };
368
+ error: never;
369
+ };
370
+ };
40
371
  };
41
372
  ".well-known": {
42
373
  appspecific: {
@@ -141,8 +472,11 @@ export declare const prepare: (configOrPath?: string) => Promise<{
141
472
  entryWatcherReady: boolean;
142
473
  isRebuilding: boolean;
143
474
  manifestKeys: string[];
475
+ pendingBundleRebuilds: ("svelte" | "vue" | "angular")[];
476
+ pendingFileChanges: number;
144
477
  rebuildCount: number;
145
478
  rebuildQueue: string[];
479
+ rebuildScheduled: boolean;
146
480
  timestamp: number;
147
481
  };
148
482
  };
@@ -173,6 +507,45 @@ export declare const prepare: (configOrPath?: string) => Promise<{
173
507
  error: never;
174
508
  };
175
509
  };
510
+ "mobile-preview": {
511
+ get: {
512
+ body: unknown;
513
+ params: {};
514
+ query: unknown;
515
+ headers: unknown;
516
+ response: {
517
+ 200: Response;
518
+ };
519
+ error: never;
520
+ };
521
+ };
522
+ "mobile-preview-telemetry": {
523
+ post: {
524
+ body: unknown;
525
+ params: {};
526
+ query: unknown;
527
+ headers: unknown;
528
+ response: {
529
+ 400: {
530
+ readonly error: "invalid-preview-telemetry";
531
+ };
532
+ 204: "No Content";
533
+ };
534
+ error: never;
535
+ };
536
+ };
537
+ "native-device-adapter.js": {
538
+ get: {
539
+ body: unknown;
540
+ params: {};
541
+ query: unknown;
542
+ headers: unknown;
543
+ response: {
544
+ 200: Response;
545
+ };
546
+ error: never;
547
+ };
548
+ };
176
549
  };
177
550
  ".well-known": {
178
551
  appspecific: {
@@ -277,8 +650,11 @@ export declare const prepare: (configOrPath?: string) => Promise<{
277
650
  entryWatcherReady: boolean;
278
651
  isRebuilding: boolean;
279
652
  manifestKeys: string[];
653
+ pendingBundleRebuilds: ("svelte" | "vue" | "angular")[];
654
+ pendingFileChanges: number;
280
655
  rebuildCount: number;
281
656
  rebuildQueue: string[];
657
+ rebuildScheduled: boolean;
282
658
  timestamp: number;
283
659
  };
284
660
  };
@@ -17,6 +17,7 @@ export type HMRState = {
17
17
  isRebuilding: boolean;
18
18
  rebuildQueue: Set<string>;
19
19
  rebuildTimeout: NodeJS.Timeout | null;
20
+ pendingBundleRebuilds: Set<'angular' | 'svelte' | 'vue'>;
20
21
  fileChangeQueue: Map<string, string[]>;
21
22
  debounceTimeout: NodeJS.Timeout | null;
22
23
  fileHashes: Map<string, number>;
@@ -1,11 +1,13 @@
1
+ export declare const normalizeDevCertificateHosts: (hosts?: readonly string[]) => string[];
1
2
  export declare const hasMkcert: () => boolean;
2
- export declare const ensureDevCert: () => {
3
+ export declare const ensureDevCert: (hosts?: readonly string[]) => {
3
4
  cert: string;
4
5
  key: string;
5
6
  } | null;
6
- export declare const hasCert: () => boolean;
7
- export declare const loadDevCert: () => {
7
+ export declare const hasCert: (hosts?: readonly string[]) => boolean;
8
+ export declare const loadDevCert: (hosts?: readonly string[]) => {
8
9
  cert: string;
9
10
  key: string;
10
11
  } | null;
11
- export declare const setupMkcert: () => boolean;
12
+ export declare const getDevCertificateAuthorityPath: () => string | null;
13
+ export declare const setupMkcert: (hosts?: readonly string[]) => boolean;
@@ -0,0 +1,3 @@
1
+ export declare const absoluteServerEntryCopyOwnerPid: (name: string) => number | null;
2
+ export declare const isProcessAlive: (pid: number) => boolean;
3
+ export declare const isStaleAbsoluteServerEntryCopy: (name: string, currentPid?: number, ownerIsAlive?: (pid: number) => boolean) => boolean;
@@ -24,7 +24,7 @@ export type AbsoluteAndroidDevProject = {
24
24
  androidRoot: string;
25
25
  cap: string;
26
26
  config: NormalizedAbsoluteMobileConfig;
27
- emulator: string;
27
+ emulator?: string;
28
28
  host: AbsoluteMobileHost;
29
29
  nativeDirectory: string;
30
30
  projectRoot: string;
@@ -47,6 +47,7 @@ export type AbsoluteAndroidDevPhaseTiming = {
47
47
  export type PrepareAbsoluteAndroidDevOptions = {
48
48
  createNativeProject: boolean;
49
49
  projectRoot: string;
50
+ target?: 'device' | 'emulator';
50
51
  run?: (command: string[], options?: AbsoluteAndroidCommandOptions) => Promise<number>;
51
52
  };
52
53
  export type StartAbsoluteAndroidDevOptions = {
@@ -59,8 +60,14 @@ export type StartAbsoluteAndroidDevOptions = {
59
60
  /** Launch the locally embedded production web bundle while forwarding
60
61
  * `port` only for its configured backend. No dev-server URL is written. */
61
62
  embeddedBundle?: boolean;
63
+ /** A connected physical device selected explicitly by ADB serial. */
64
+ deviceSerial?: string;
65
+ /** CA certificate temporarily trusted only by this development app. */
66
+ certificateAuthorityPath?: string;
62
67
  port: number;
63
68
  project: AbsoluteAndroidDevProject;
69
+ /** Hostname or LAN address loaded by the physical device. */
70
+ serverHost?: string;
64
71
  run?: (command: string[], options?: AbsoluteAndroidCommandOptions) => Promise<number>;
65
72
  signal?: AbortSignal;
66
73
  sleep?: (milliseconds: number) => Promise<void>;
@@ -7,7 +7,7 @@ export type AbsoluteAndroidReleaseMetadata = {
7
7
  appId: string;
8
8
  artifact: string;
9
9
  bytes: number;
10
- engine: 'capacitor';
10
+ engine: 'capacitor' | 'expo';
11
11
  format: typeof ABSOLUTE_ANDROID_RELEASE_FORMAT;
12
12
  platform: 'android';
13
13
  releaseId: string;
@@ -22,12 +22,19 @@ export type BuildAbsoluteAndroidReleaseOptions = {
22
22
  androidRoot?: string;
23
23
  capture?: (command: string[], options?: AbsoluteAndroidCommandOptions) => AbsoluteAndroidCommandResult;
24
24
  config: NormalizedAbsoluteMobileConfig;
25
+ env?: Record<string, string | undefined>;
25
26
  host?: AbsoluteMobileHost;
26
27
  jarsigner?: string | null;
27
28
  outputDirectory?: string;
28
29
  projectRoot: string;
29
30
  run?: (command: string[], options?: AbsoluteAndroidCommandOptions) => Promise<number>;
30
31
  prepareVersionCode?: (buildIdentity: string) => Promise<number>;
32
+ signing?: {
33
+ keyAlias: string;
34
+ keyPasswordEnvironment: string;
35
+ keystorePath: string;
36
+ storePasswordEnvironment: string;
37
+ };
31
38
  versionCode?: number;
32
39
  };
33
40
  export declare const buildAbsoluteAndroidRelease: (options: BuildAbsoluteAndroidReleaseOptions) => Promise<{
@@ -43,7 +50,7 @@ export declare const buildAbsoluteAndroidRelease: (options: BuildAbsoluteAndroid
43
50
  appBuild: string;
44
51
  appId: string;
45
52
  platform: "android";
46
- engine: "capacitor";
53
+ engine: "capacitor" | "expo";
47
54
  signed: boolean;
48
55
  versionCode?: number | undefined;
49
56
  };
@@ -0,0 +1,14 @@
1
+ import { type AbsoluteNativeAutomatedRun } from './nativeTestReport';
2
+ export type AbsoluteAndroidAutomatedResult = Omit<AbsoluteNativeAutomatedRun, 'platform' | 'targetId' | 'targetKind'> & {
3
+ serial: string;
4
+ };
5
+ type CreateAbsoluteAndroidTestReportOptions = {
6
+ absolutejsVersion: string;
7
+ adbVersion: string;
8
+ bunVersion: string;
9
+ generatedAt?: string;
10
+ host: string;
11
+ run: AbsoluteAndroidAutomatedResult;
12
+ };
13
+ export declare const createAbsoluteAndroidTestReport: (options: CreateAbsoluteAndroidTestReportOptions) => import("./nativeTestReport").AbsoluteNativeTestReport;
14
+ export {};
@@ -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,2 +1,3 @@
1
1
  export * from './client';
2
2
  export * from './pageProtocol';
3
+ export * from './syncRemediation';
@@ -1,21 +1,32 @@
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;
9
13
  sync?: boolean;
14
+ syncSchema?: SyncLocalStoreSchemaBundle;
10
15
  };
11
16
  export declare const materializeAbsoluteCapacitorWebBundle: (options: AbsoluteCapacitorBundleOptions) => Promise<{
12
17
  sync?: {
18
+ background: {
19
+ endpoint: string;
20
+ intervalMinutes: number;
21
+ };
13
22
  socketTickets: true;
23
+ storageSchema: SyncLocalStoreSchemaBundle;
14
24
  } | undefined;
15
25
  appId: string;
16
26
  appName: string;
17
27
  deepLinkHosts: string[];
18
28
  deepLinkScheme: string | undefined;
29
+ deviceCapabilities: string[];
19
30
  entry: string;
20
31
  format: 1;
21
32
  pages: {
@@ -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,14 @@ 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;
16
19
  };
17
20
  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>;