@absolutejs/absolute 0.20.0-beta.6 → 0.20.0-beta.61

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 (179) hide show
  1. package/README.md +205 -0
  2. package/dist/angular/browser.js +392 -405
  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 +379 -321
  7. package/dist/angular/index.js.map +8 -7
  8. package/dist/angular/server.js +133 -61
  9. package/dist/angular/server.js.map +8 -7
  10. package/dist/build.js +2336 -1347
  11. package/dist/build.js.map +22 -17
  12. package/dist/cli/config/client.js +12 -12
  13. package/dist/cli/config/server.js +1140 -1091
  14. package/dist/cli/index.js +10107 -2126
  15. package/dist/client/chunks/angularPatch-arh4sr68.js +157 -0
  16. package/dist/client/chunks/angularPatch-arh4sr68.js.map +10 -0
  17. package/dist/client/chunks/index-5py90ctf.js +87 -0
  18. package/dist/client/chunks/index-5py90ctf.js.map +10 -0
  19. package/dist/client/chunks/index-m35nbkdp.js +374 -0
  20. package/dist/client/chunks/index-m35nbkdp.js.map +12 -0
  21. package/dist/client/chunks/index-qxjc7kc5.js +12 -0
  22. package/dist/client/chunks/index-qxjc7kc5.js.map +9 -0
  23. package/dist/client/chunks/islands-xj2n8nwf.js +281 -0
  24. package/dist/client/chunks/islands-xj2n8nwf.js.map +14 -0
  25. package/dist/client/chunks/react-pdg4325x.js +65 -0
  26. package/dist/client/chunks/react-pdg4325x.js.map +10 -0
  27. package/dist/client/chunks/svelte-s0c964kb.js +19 -0
  28. package/dist/client/chunks/svelte-s0c964kb.js.map +10 -0
  29. package/dist/client/chunks/vue-rdskrnyg.js +24 -0
  30. package/dist/client/chunks/vue-rdskrnyg.js.map +10 -0
  31. package/dist/client/index.js +73 -841
  32. package/dist/client/index.js.map +7 -20
  33. package/dist/core/streamingSlotRegistrar.js +15 -13
  34. package/dist/core/streamingSlotRegistrar.js.map +2 -2
  35. package/dist/core/streamingSlotRegistry.js +11 -9
  36. package/dist/core/streamingSlotRegistry.js.map +2 -2
  37. package/dist/dev/client/hmrClient.ts +35 -3
  38. package/dist/dev/client/hmrTiming.ts +6 -0
  39. package/dist/dev/client/syncDevtools.ts +237 -0
  40. package/dist/dev/serverBootstrap.js +28 -0
  41. package/dist/image-client/imageClient.js +7 -7
  42. package/dist/index.js +3756 -2361
  43. package/dist/index.js.map +38 -30
  44. package/dist/islands/browser.js +11 -25
  45. package/dist/islands/browser.js.map +2 -2
  46. package/dist/islands/index.js +55 -52
  47. package/dist/islands/index.js.map +5 -4
  48. package/dist/mobile/browser.js +429 -20
  49. package/dist/mobile/browser.js.map +8 -5
  50. package/dist/mobile/index.js +11287 -3348
  51. package/dist/mobile/index.js.map +47 -18
  52. package/dist/mobile/remoteMacAgentEntry.js +1374 -14
  53. package/dist/mobile/shellAuth.js +36 -0
  54. package/dist/mobile/shellBootstrap.js +1800 -0
  55. package/dist/mobile/shellExpoAuth.js +163 -0
  56. package/dist/mobile/shellExpoDevices.js +77 -0
  57. package/dist/mobile/shellExpoSync.js +104 -0
  58. package/dist/mobile/shellSync.js +184 -0
  59. package/dist/mobile/shellUpdate.js +532 -0
  60. package/dist/mobile/uiPrimitives.js +264 -0
  61. package/dist/react/browser.js +17 -59
  62. package/dist/react/browser.js.map +2 -2
  63. package/dist/react/components/browser/index.js +107 -107
  64. package/dist/react/components/index.js +118 -116
  65. package/dist/react/components/index.js.map +2 -2
  66. package/dist/react/hooks/index.js +11 -25
  67. package/dist/react/hooks/index.js.map +2 -2
  68. package/dist/react/index.js +110 -67
  69. package/dist/react/index.js.map +8 -7
  70. package/dist/react/jsxDevRuntimeCompat.js +11 -9
  71. package/dist/react/jsxDevRuntimeCompat.js.map +2 -2
  72. package/dist/react/jsxRuntimeCompat.js +11 -9
  73. package/dist/react/jsxRuntimeCompat.js.map +2 -2
  74. package/dist/react/router/browser.js +9 -7
  75. package/dist/react/router/browser.js.map +2 -2
  76. package/dist/react/router/index.js +9 -7
  77. package/dist/react/router/index.js.map +2 -2
  78. package/dist/react/server.js +67 -11
  79. package/dist/react/server.js.map +7 -6
  80. package/dist/src/build/pwa.d.ts +16 -0
  81. package/dist/src/cli/config/server.d.ts +1 -1
  82. package/dist/src/cli/instanceStatus.d.ts +1 -0
  83. package/dist/src/cli/scripts/dev.d.ts +2 -0
  84. package/dist/src/client/browserTranslation.d.ts +19 -0
  85. package/dist/src/client/index.d.ts +1 -0
  86. package/dist/src/core/browserTranslation.d.ts +6 -0
  87. package/dist/src/core/devBuild.d.ts +1 -0
  88. package/dist/src/core/prepare.d.ts +376 -0
  89. package/dist/src/dev/clientManager.d.ts +1 -0
  90. package/dist/src/dev/devCert.d.ts +6 -4
  91. package/dist/src/dev/serverEntryCopies.d.ts +3 -0
  92. package/dist/src/ember/browser.d.ts +0 -16
  93. package/dist/src/mobile/adaptiveShell.d.ts +27 -0
  94. package/dist/src/mobile/androidEmulatorController.d.ts +8 -1
  95. package/dist/src/mobile/androidRelease.d.ts +9 -2
  96. package/dist/src/mobile/androidTestReport.d.ts +14 -0
  97. package/dist/src/mobile/androidUpgradeConformance.d.ts +47 -0
  98. package/dist/src/mobile/androidWebView.d.ts +1 -0
  99. package/dist/src/mobile/browser.d.ts +2 -0
  100. package/dist/src/mobile/capacitorBundle.d.ts +19 -0
  101. package/dist/src/mobile/ciWorkflow.d.ts +26 -0
  102. package/dist/src/mobile/config.d.ts +10 -1
  103. package/dist/src/mobile/devDeviceAdapter.d.ts +3 -0
  104. package/dist/src/mobile/deviceCapabilities.d.ts +49 -0
  105. package/dist/src/mobile/expoBridge.d.ts +91 -0
  106. package/dist/src/mobile/expoDevController.d.ts +56 -0
  107. package/dist/src/mobile/expoProject.d.ts +16 -0
  108. package/dist/src/mobile/index.d.ts +23 -0
  109. package/dist/src/mobile/iosDeviceAcceptance.d.ts +32 -0
  110. package/dist/src/mobile/iosPhysicalDeviceTransport.d.ts +16 -0
  111. package/dist/src/mobile/iosRelease.d.ts +63 -3
  112. package/dist/src/mobile/iosSimulatorController.d.ts +20 -2
  113. package/dist/src/mobile/iosTestReport.d.ts +24 -0
  114. package/dist/src/mobile/mobileBundleInspection.d.ts +63 -0
  115. package/dist/src/mobile/mobileInspect.d.ts +142 -0
  116. package/dist/src/mobile/mobilePreview.d.ts +174 -0
  117. package/dist/src/mobile/mobilePreviewClient.d.ts +1 -0
  118. package/dist/src/mobile/nativeAuth.d.ts +6 -0
  119. package/dist/src/mobile/nativeBackgroundSync.d.ts +4 -0
  120. package/dist/src/mobile/nativeDeviceCapabilities.d.ts +6 -0
  121. package/dist/src/mobile/nativeRoute.d.ts +13 -0
  122. package/dist/src/mobile/nativeTestReport.d.ts +91 -0
  123. package/dist/src/mobile/nativeUpdates.d.ts +4 -0
  124. package/dist/src/mobile/navigationLifecycle.d.ts +36 -0
  125. package/dist/src/mobile/navigationState.d.ts +53 -0
  126. package/dist/src/mobile/pageProtocol.d.ts +2 -0
  127. package/dist/src/mobile/releaseDoctor.d.ts +23 -1
  128. package/dist/src/mobile/remoteMacProtocol.d.ts +134 -1
  129. package/dist/src/mobile/remoteMacWire.d.ts +1 -1
  130. package/dist/src/mobile/shellAuth.d.ts +8 -1
  131. package/dist/src/mobile/shellBootstrap.d.ts +15 -2
  132. package/dist/src/mobile/shellExpoAuth.d.ts +12 -0
  133. package/dist/src/mobile/shellExpoDevices.d.ts +3 -0
  134. package/dist/src/mobile/shellExpoSync.d.ts +18 -0
  135. package/dist/src/mobile/shellHttp.d.ts +2 -0
  136. package/dist/src/mobile/shellPush.d.ts +11 -0
  137. package/dist/src/mobile/shellSync.d.ts +46 -1
  138. package/dist/src/mobile/shellUpdate.d.ts +2 -0
  139. package/dist/src/mobile/syncRemediation.d.ts +10 -0
  140. package/dist/src/mobile/syncSchema.d.ts +9 -0
  141. package/dist/src/mobile/transport.d.ts +15 -0
  142. package/dist/src/mobile/uiPrimitives.d.ts +37 -0
  143. package/dist/src/mobile/updateClient.d.ts +44 -0
  144. package/dist/src/mobile/updateProtocol.d.ts +51 -0
  145. package/dist/src/mobile/updatePublisher.d.ts +66 -0
  146. package/dist/src/mobile/updateRollout.d.ts +16 -0
  147. package/dist/src/mobile/updateRuntime.d.ts +27 -0
  148. package/dist/src/mobile/updateSigning.d.ts +20 -0
  149. package/dist/src/plugins/hmr.d.ts +3 -0
  150. package/dist/src/plugins/imageOptimizer.d.ts +1 -1
  151. package/dist/src/react/hooks/useMediaQuery.d.ts +1 -1
  152. package/dist/src/utils/imageProcessing.d.ts +3 -0
  153. package/dist/src/utils/loadConfig.d.ts +1 -0
  154. package/dist/src/utils/logger.d.ts +1 -0
  155. package/dist/src/utils/startupBanner.d.ts +1 -0
  156. package/dist/src/utils/userAgentFunctions.d.ts +1 -1
  157. package/dist/src/vue/browser.d.ts +1 -0
  158. package/dist/src/vue/browserTranslation.d.ts +5 -0
  159. package/dist/src/vue/index.d.ts +1 -0
  160. package/dist/svelte/browser.js +12 -26
  161. package/dist/svelte/browser.js.map +2 -2
  162. package/dist/svelte/index.js +104 -61
  163. package/dist/svelte/index.js.map +8 -7
  164. package/dist/svelte/server.js +84 -28
  165. package/dist/svelte/server.js.map +7 -6
  166. package/dist/types/build.d.ts +64 -3
  167. package/dist/types/cli.d.ts +1 -0
  168. package/dist/types/messages.d.ts +1 -1
  169. package/dist/vue/browser.js +116 -56
  170. package/dist/vue/browser.js.map +5 -3
  171. package/dist/vue/components/Image.js +9 -7
  172. package/dist/vue/components/Image.js.map +2 -2
  173. package/dist/vue/components/index.js +11 -9
  174. package/dist/vue/components/index.js.map +2 -2
  175. package/dist/vue/index.js +211 -94
  176. package/dist/vue/index.js.map +10 -7
  177. package/dist/vue/server.js +69 -13
  178. package/dist/vue/server.js.map +7 -6
  179. package/package.json +40 -14
@@ -0,0 +1,16 @@
1
+ import type { PwaConfig } from '../../types/build';
2
+ export declare const injectPwaBootstrapHtml: (html: string) => string;
3
+ export type AbsolutePwaBuildArtifacts = {
4
+ bootstrapBanner: string;
5
+ bootstrapPublicPath: string;
6
+ manifestPath?: string;
7
+ serviceWorkerPath: string;
8
+ };
9
+ export declare const materializeAbsolutePwa: ({ buildPath, config, generatedRoot, projectRoot, write }: {
10
+ buildPath: string;
11
+ config: PwaConfig;
12
+ generatedRoot: string;
13
+ projectRoot: string;
14
+ /** Incremental HMR builds reuse the stable artifacts from the full build. */
15
+ write?: boolean;
16
+ }) => Promise<AbsolutePwaBuildArtifacts>;
@@ -391,7 +391,7 @@ export declare const launchConfig: (args: string[], cwd?: string) => Promise<imp
391
391
  status?: number | keyof import("elysia").StatusMap;
392
392
  cookie?: Record<string, import("elysia").BaseCookie>;
393
393
  };
394
- status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 500 | 100 | 200 | 400 | 404 | 300 | 304 | 426 | 204 | 302 | 101 | 102 | 103 | 201 | 202 | 203 | 205 | 206 | 207 | 208 | 301 | 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 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
394
+ status: <const Code extends number | keyof import("elysia").StatusMap, const T = Code extends 500 | 100 | 200 | 400 | 404 | 300 | 304 | 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 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511 ? {
395
395
  readonly 100: "Continue";
396
396
  readonly 101: "Switching Protocols";
397
397
  readonly 102: "Processing";
@@ -11,6 +11,7 @@ export declare const enrichInstances: (records: InstanceRecord[]) => Promise<{
11
11
  frameworks: string[];
12
12
  host: string;
13
13
  https: boolean;
14
+ iosRemoteMac?: string;
14
15
  logFile: string | null;
15
16
  name: string;
16
17
  pid: number;
@@ -1,5 +1,7 @@
1
1
  export declare const formatServerBootDiagnostic: (output: string, serverEntry: string) => string | null;
2
2
  export type AbsoluteDevOptions = {
3
+ androidDevice?: string;
4
+ iosDevice?: string;
3
5
  mobile?: boolean;
4
6
  };
5
7
  export declare const dev: (serverEntry: string, configPath?: string, options?: AbsoluteDevOptions) => Promise<void>;
@@ -0,0 +1,19 @@
1
+ type TextBaseline = ReadonlyMap<number, string>;
2
+ type SsrTextBaselines = WeakMap<Element, TextBaseline>;
3
+ declare global {
4
+ interface Window {
5
+ __ABSOLUTE_SSR_TEXT_BASELINES__?: SsrTextBaselines;
6
+ }
7
+ }
8
+ /** Capture server-authored text before client modules load. Absolute page
9
+ * handlers install the same snapshot inline; this export supports custom
10
+ * documents and non-standard bootstraps. */
11
+ export declare const captureSsrTextBaselines: (root: Element | null) => void;
12
+ /** Temporarily restore server text while a framework attaches to SSR DOM,
13
+ * then reapply translated text. Paths preserve translations even when a
14
+ * framework replaces nodes while mounting. Genuine server/client mismatches
15
+ * are left unchanged. */
16
+ export declare const prepareBrowserTranslationHydration: (root: Element | null) => (() => void) & {
17
+ hasTranslation: boolean;
18
+ };
19
+ export {};
@@ -2,3 +2,4 @@ export { createIslandManifestResolver } from './islandResolver';
2
2
  export { getStreamSwapRuntimeScript } from './streamSwap';
3
3
  export { createIslandStore, getIslandStoreServerSnapshot, initializeIslandStores, readIslandStore, subscribeIslandStore } from './islandStore';
4
4
  export { startIslands } from './islandRuntime';
5
+ export { captureSsrTextBaselines, prepareBrowserTranslationHydration } from './browserTranslation';
@@ -0,0 +1,6 @@
1
+ /** Inline this after SSR markup and before any client entry executes. The
2
+ * snapshot records server-authored text while keeping it out of the DOM, so
3
+ * browser translation remains free to edit the rendered text. */
4
+ export declare const BROWSER_TRANSLATION_BASELINE_SCRIPT: string;
5
+ export declare const browserTranslationBaselineTag: () => string;
6
+ export declare const injectBrowserTranslationBaseline: (html: string) => string;
@@ -1,5 +1,6 @@
1
1
  import type { BuildConfig } from '../../types/build';
2
2
  declare const FRAMEWORK_DIR_KEYS: readonly ["reactDirectory", "svelteDirectory", "vueDirectory", "htmlDirectory", "htmxDirectory", "angularDirectory"];
3
+ export declare const collectDepVendorSourceDirs: (config: BuildConfig) => string[];
3
4
  /** Result of `detectConfigChanges`: which framework dir keys were
4
5
  * added and which were removed in the new config. The additive case
5
6
  * is handled in-place by this function (vendor paths set, watchers
@@ -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;
@@ -1,19 +1,3 @@
1
- /**
2
- * Phase 1 Ember client entry.
3
- *
4
- * The page index file (emitted by the build) imports this module and
5
- * the user's compiled page module. We mount the page component into
6
- * `#ember-root` using the same `renderComponent` API SSR used — Ember
7
- * Router's hydration story is post-Phase-1 work; for v1 we re-render
8
- * client-side over the SSR'd HTML.
9
- *
10
- * `@ember/renderer` is loaded dynamically rather than via static import
11
- * because (a) the AbsoluteJS framework typecheck shouldn't require
12
- * ember-source as a dep, and (b) the resolved URL at runtime is
13
- * `/ember/vendor/ember_renderer.js` (the vendor build's output) rather
14
- * than the bare specifier — only the user's bundle pass knows which
15
- * mapping to apply.
16
- */
17
1
  declare global {
18
2
  interface Window {
19
3
  __INITIAL_PROPS__?: Record<string, unknown>;
@@ -0,0 +1,27 @@
1
+ import { keyboard, network, platform, systemBars, type DeviceKeyboardState, type DeviceNetworkStatus, type DevicePlatformInfo } from '@absolutejs/devices';
2
+ export type AbsoluteMobileAdaptiveShellState = {
3
+ availableHeight: number;
4
+ keyboard: DeviceKeyboardState;
5
+ network: DeviceNetworkStatus;
6
+ platform: DevicePlatformInfo;
7
+ viewportHeight: number;
8
+ viewportWidth: number;
9
+ };
10
+ declare global {
11
+ interface WindowEventMap {
12
+ 'absolute:adaptive-shell-change': CustomEvent<AbsoluteMobileAdaptiveShellState>;
13
+ }
14
+ }
15
+ export type AbsoluteMobileAdaptiveShellDevices = {
16
+ keyboard: Pick<typeof keyboard, 'capability' | 'getState' | 'onChange'>;
17
+ network: Pick<typeof network, 'getStatus' | 'onChange'>;
18
+ platform: Pick<typeof platform, 'getInfo'>;
19
+ systemBars: Pick<typeof systemBars, 'capability' | 'setAppearance'>;
20
+ };
21
+ export type AbsoluteMobileAdaptiveShell = {
22
+ dispose(): Promise<void>;
23
+ refreshDocument(): void;
24
+ state(): AbsoluteMobileAdaptiveShellState;
25
+ };
26
+ /** Installs the framework-neutral environment contract owned by the native shell. */
27
+ export declare const installAbsoluteMobileAdaptiveShell: (devices?: AbsoluteMobileAdaptiveShellDevices) => Promise<AbsoluteMobileAdaptiveShell>;
@@ -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 {};