@absolutejs/absolute 0.20.0-beta.78 → 0.20.0-beta.79

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.
@@ -12,7 +12,7 @@ import {
12
12
  createIslandRegistryDefinitionPlugin,
13
13
  finalizeAbsoluteMobileCompatibilityBuild,
14
14
  resolveServerBundleExternals
15
- } from "./index-sghxp2cp.js";
15
+ } from "./index-7q7wjgkq.js";
16
16
  import {
17
17
  loadIslandRegistryBuildInfo
18
18
  } from "./index-bzs19w3r.js";
@@ -36,11 +36,11 @@ import"./index-w5vswatm.js";
36
36
  import {
37
37
  normalizeAbsoluteMobileConfig
38
38
  } from "./index-6fb7k6dg.js";
39
- import"./index-1twzwcga.js";
39
+ import"./index-eyx1hnm6.js";
40
40
  import {
41
41
  ABSOLUTE_NATIVE_AUTH_CLIENTS_ENV,
42
42
  installAbsoluteMobileAuthEnvironment
43
- } from "./index-jqc26p92.js";
43
+ } from "./index-ar4gz15x.js";
44
44
  import {
45
45
  findFreePort,
46
46
  killStaleProcesses
@@ -1282,9 +1282,9 @@ var loadAbsoluteMobileDevModules = async () => {
1282
1282
  iosNativeWatcher
1283
1283
  ] = await Promise.all([
1284
1284
  import("./config-z8wwxatc.js"),
1285
- import("./expoProject-7mdpssp7.js"),
1286
- import("./expoDevController-787dw9bz.js"),
1287
- import("./nativeAuth-kq81zgy3.js"),
1285
+ import("./expoProject-c6tpj156.js"),
1286
+ import("./expoDevController-bdm4cq6m.js"),
1287
+ import("./nativeAuth-zx4tsb1f.js"),
1288
1288
  import("./androidEmulatorController-nybhzc6c.js"),
1289
1289
  import("./emulatorDoctor-y2nqmaha.js"),
1290
1290
  import("./emulatorInstaller-3shdna4g.js"),
@@ -16,7 +16,7 @@ import"./index-mywsk201.js";
16
16
  import { spawn } from "child_process";
17
17
  import { access } from "fs/promises";
18
18
  import { join, resolve as resolvePath } from "path";
19
- var METRO_READY_TIMEOUT_MS = 60000;
19
+ var METRO_READY_TIMEOUT_MS = 120000;
20
20
  var PROCESS_CLOSE_TIMEOUT_MS = 2000;
21
21
  var preserveWindowsSubstRealpaths = `
22
22
  const fs = require('node:fs');
@@ -79,17 +79,19 @@ var connectLocalExpoAndroid = (adb, appId, metroPort, capture, preferredDevice)
79
79
  };
80
80
  run(["reverse", `tcp:${metroPort}`, `tcp:${metroPort}`], "Expo Android Metro forwarding failed.");
81
81
  run(["shell", "am", "force-stop", appId], "Expo Android development-client reset failed.");
82
- run([
82
+ const openDevelopmentClient = () => run([
83
83
  "shell",
84
84
  "am",
85
85
  "start",
86
- "-W",
87
86
  "-a",
88
87
  "android.intent.action.VIEW",
89
88
  "-d",
90
89
  expoDevelopmentClientUrl(appId, "localhost", metroPort),
91
90
  appId
92
91
  ], "Expo Android development-client launch failed.");
92
+ openDevelopmentClient();
93
+ run(["shell", "sleep", "1"], "Expo Android development-client readiness pause failed.");
94
+ openDevelopmentClient();
93
95
  return serial;
94
96
  };
95
97
  var encodedWindowsExpoAndroidCommand = (project, androidRoot, appId, args, capture, metroPort, preferredDevice) => {
@@ -109,6 +111,7 @@ var encodedWindowsExpoAndroidCommand = (project, androidRoot, appId, args, captu
109
111
  "$env:ABSOLUTE_EXPO_PHYSICAL_ROOT = $directory",
110
112
  "$env:ABSOLUTE_EXPO_MAPPED_ROOT = $mappedProject",
111
113
  '$env:NODE_OPTIONS = "--require=$hook"',
114
+ "$env:GRADLE_OPTS = (($env:GRADLE_OPTS + ' -Dorg.gradle.daemon=false').Trim())",
112
115
  "$autolinkingCache = Join-Path $mappedProject 'android\\build\\generated\\autolinking'",
113
116
  "if ([IO.Directory]::Exists($autolinkingCache)) { [IO.Directory]::Delete($autolinkingCache, $true) }",
114
117
  "$expo = Join-Path $mappedProject 'node_modules\\.bin\\expo.exe'",
@@ -129,8 +132,11 @@ var encodedWindowsExpoAndroidCommand = (project, androidRoot, appId, args, captu
129
132
  `& $adb -s $serial shell am force-stop '${appId}'`,
130
133
  "if ($LASTEXITCODE -ne 0) { throw 'Expo Android development-client reset failed.' }",
131
134
  `$developmentUrl = '${developmentScheme}://expo-development-client/?url=' + [Uri]::EscapeDataString('http://localhost:${metroPort}')`,
132
- `& $adb -s $serial shell am start -W -a android.intent.action.VIEW -d $developmentUrl '${appId}'`,
133
- "if ($LASTEXITCODE -ne 0) { throw 'Expo Android development-client launch failed.' }"
135
+ `& $adb -s $serial shell am start -a android.intent.action.VIEW -d $developmentUrl '${appId}'`,
136
+ "if ($LASTEXITCODE -ne 0) { throw 'Expo Android development-client launch failed.' }",
137
+ "Start-Sleep -Milliseconds 1000",
138
+ `& $adb -s $serial shell am start -a android.intent.action.VIEW -d $developmentUrl '${appId}'`,
139
+ "if ($LASTEXITCODE -ne 0) { throw 'Expo Android development-client retry failed.' }"
134
140
  ].join("; ");
135
141
  const source = [
136
142
  "$ErrorActionPreference = 'Stop'",
@@ -370,7 +376,7 @@ var startAbsoluteExpoDevSession = async (options) => {
370
376
  return;
371
377
  }
372
378
  const timeout = setTimeout(() => {
373
- reject(new Error("Expo Metro did not become ready within 60 seconds."));
379
+ reject(new Error("Expo Metro did not become ready within 120 seconds."));
374
380
  }, METRO_READY_TIMEOUT_MS);
375
381
  resolveMetro = () => {
376
382
  clearTimeout(timeout);
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  syncAbsoluteExpoWebAssets,
4
4
  writeAbsoluteExpoProject
5
- } from "./index-1twzwcga.js";
6
- import"./index-jqc26p92.js";
5
+ } from "./index-eyx1hnm6.js";
6
+ import"./index-ar4gz15x.js";
7
7
  import"./index-mywsk201.js";
8
8
  export {
9
9
  syncAbsoluteExpoWebAssets,
@@ -10,7 +10,7 @@ import {
10
10
  resolveAbsoluteMobileUpdateRuntime,
11
11
  syncAbsoluteExpoWebAssets,
12
12
  writeAbsoluteExpoProject
13
- } from "./index-1twzwcga.js";
13
+ } from "./index-eyx1hnm6.js";
14
14
 
15
15
  // src/build/islandRegistryTransform.ts
16
16
  import { basename } from "path";
@@ -3,12 +3,12 @@
3
3
  import { readFileSync } from "fs";
4
4
  import { join } from "path";
5
5
  var ABSOLUTE_AUTH_PACKAGE = "@absolutejs/auth";
6
- var ABSOLUTE_EXPO_AUTH_CORE_VERSION = "0.75.6";
6
+ var ABSOLUTE_EXPO_AUTH_CORE_VERSION = "0.76.3";
7
7
  var ABSOLUTE_EXPO_AUTH_PACKAGE = "@absolutejs/auth-expo";
8
- var ABSOLUTE_EXPO_AUTH_VERSION = "0.0.2";
8
+ var ABSOLUTE_EXPO_AUTH_VERSION = "0.0.6";
9
9
  var ABSOLUTE_EXPO_SYNC_CORE_VERSION = "2.31.0";
10
10
  var ABSOLUTE_EXPO_SYNC_PACKAGE = "@absolutejs/sync-expo";
11
- var ABSOLUTE_EXPO_SYNC_VERSION = "0.0.2";
11
+ var ABSOLUTE_EXPO_SYNC_VERSION = "0.0.4";
12
12
  var ABSOLUTE_NATIVE_AUTH_CLIENTS_ENV = "ABSOLUTE_AUTH_NATIVE_CLIENTS";
13
13
  var ABSOLUTE_NATIVE_AUTH_SCOPES = ["openid", "profile"];
14
14
  var ABSOLUTE_SYNC_PACKAGE = "@absolutejs/sync";
@@ -8,7 +8,7 @@ import {
8
8
  ABSOLUTE_EXPO_SYNC_VERSION,
9
9
  projectUsesAbsoluteSync,
10
10
  resolveAbsoluteMobileAuthManifest
11
- } from "./index-jqc26p92.js";
11
+ } from "./index-ar4gz15x.js";
12
12
 
13
13
  // src/mobile/expoProject.ts
14
14
  import {
@@ -1477,7 +1477,7 @@ var expoPackage = (auth, sync, devices, updates) => ({
1477
1477
  expo: "~57.0.9",
1478
1478
  "expo-asset": "~57.0.15",
1479
1479
  "expo-constants": "~57.0.16",
1480
- ...updates ? { "expo-crypto": "~57.0.1" } : {},
1480
+ ...auth || updates ? { "expo-crypto": "~57.0.2" } : {},
1481
1481
  "expo-dev-client": "~57.0.16",
1482
1482
  "expo-file-system": "~57.0.6",
1483
1483
  "expo-haptics": "~57.0.2",
@@ -1908,6 +1908,7 @@ import {
1908
1908
  createExpoSyncProtection,
1909
1909
  createExpoSyncSocketBridgeHost,
1910
1910
  defineExpoSyncBackgroundTask,
1911
+ expoSyncRandomId,
1911
1912
  installExpoSyncLifecycle,
1912
1913
  registerExpoSyncBackgroundTask
1913
1914
  } from '@absolutejs/sync-expo';
@@ -1924,6 +1925,9 @@ const store = createExpoSyncLocalStore({
1924
1925
  storageSchema: STORAGE_SCHEMA
1925
1926
  });
1926
1927
 
1928
+ /** Redacted generated-store migration state for diagnostics and conformance. */
1929
+ export const getAbsoluteExpoSyncSchemaStatus = () => store.getSchemaStatus?.();
1930
+
1927
1931
  const runBackgroundSync = async () => {
1928
1932
  await startAbsoluteExpoAuth();
1929
1933
  const principal = await absoluteExpoAuth.principal();
@@ -1938,19 +1942,26 @@ const runBackgroundSync = async () => {
1938
1942
  defineExpoSyncBackgroundTask(BACKGROUND_TASK, runBackgroundSync);
1939
1943
 
1940
1944
  let activeNamespace: string | undefined;
1945
+ let removeRuntimeTransport: (() => void) | undefined;
1941
1946
  let started = false;
1942
1947
  let startPromise: Promise<void> | undefined;
1948
+ const installRuntimeTransport = (principal: Awaited<ReturnType<typeof absoluteExpoAuth.principal>>) => {
1949
+ activeNamespace = principal?.namespace;
1950
+ removeRuntimeTransport?.();
1951
+ removeRuntimeTransport = installSyncClientRuntimeTransport({
1952
+ ...(principal ? { durable: { createId: expoSyncRandomId, namespace: principal.namespace, store }, socketTicket: () => absoluteExpoAuth.socketTicket() } : {}),
1953
+ registerClient: client => installExpoSyncLifecycle({ client })
1954
+ });
1955
+ };
1943
1956
  export const startAbsoluteExpoSync = () => {
1944
1957
  startPromise ??= (async () => {
1945
1958
  await startAbsoluteExpoAuth();
1946
1959
  const principal = await absoluteExpoAuth.principal();
1947
- activeNamespace = principal?.namespace;
1948
- installSyncClientRuntimeTransport({
1949
- ...(principal ? { durable: { namespace: principal.namespace, store }, socketTicket: () => absoluteExpoAuth.socketTicket() } : {}),
1950
- registerClient: client => installExpoSyncLifecycle({ client })
1951
- });
1952
- await registerExpoSyncBackgroundTask(BACKGROUND_TASK, { minimumInterval: 15 });
1960
+ installRuntimeTransport(principal);
1953
1961
  started = true;
1962
+ void registerExpoSyncBackgroundTask(BACKGROUND_TASK, { minimumInterval: 15 }).catch(error => {
1963
+ console.warn('AbsoluteJS could not register Expo background Sync.', error);
1964
+ });
1954
1965
  })();
1955
1966
 
1956
1967
  return startPromise;
@@ -1958,7 +1969,9 @@ export const startAbsoluteExpoSync = () => {
1958
1969
 
1959
1970
  absoluteExpoAuth.onPrincipalChange(principal => {
1960
1971
  if (!started || principal?.namespace === activeNamespace) return;
1961
- void Updates.reloadAsync();
1972
+ const previousNamespace = activeNamespace;
1973
+ installRuntimeTransport(principal);
1974
+ if (previousNamespace !== undefined) void Updates.reloadAsync();
1962
1975
  });
1963
1976
 
1964
1977
  export const createAbsoluteExpoSyncBridge = async (
@@ -1970,7 +1983,7 @@ export const createAbsoluteExpoSyncBridge = async (
1970
1983
  close: () => undefined,
1971
1984
  request: async () => { throw new Error('Expo Sync requires an authenticated principal.'); }
1972
1985
  };
1973
- const transactions = createExpoSyncBridgeHost({ namespace: principal.namespace, store });
1986
+ const transactions = createExpoSyncBridgeHost({ createId: expoSyncRandomId, namespace: principal.namespace, store });
1974
1987
  const sockets = createExpoSyncSocketBridgeHost({
1975
1988
  allowedOrigin: PRODUCTION_ORIGIN,
1976
1989
  emit: payload => emit('sync.socket', payload),
@@ -6,7 +6,7 @@ import {
6
6
  createIslandRegistryDefinitionPlugin,
7
7
  finalizeAbsoluteMobileCompatibilityBuild,
8
8
  resolveServerBundleExternals
9
- } from "./index-sghxp2cp.js";
9
+ } from "./index-7q7wjgkq.js";
10
10
  import {
11
11
  loadIslandRegistryBuildInfo
12
12
  } from "./index-bzs19w3r.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./index-6fb7k6dg.js";
30
30
  import {
31
31
  installAbsoluteMobileAuthEnvironment
32
- } from "./index-jqc26p92.js";
32
+ } from "./index-ar4gz15x.js";
33
33
  import {
34
34
  COMPOSE_PATH,
35
35
  killStaleProcesses,
package/dist/cli/index.js CHANGED
@@ -58,7 +58,7 @@ if (command === "dev") {
58
58
  }
59
59
  const positionalArgs = stripNamedArgs("--config", "--android-device", "--ios-device").filter((arg) => arg !== "--no-mobile" && arg !== "--eager");
60
60
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
61
- const { dev } = await import("./dev-3xz7366n.js");
61
+ const { dev } = await import("./dev-b1m7jp2t.js");
62
62
  await dev(serverEntry, configPath, {
63
63
  androidDevice,
64
64
  eager: args.includes("--eager"),
@@ -71,7 +71,7 @@ if (command === "dev") {
71
71
  const configPath = parseNamedArg("--config");
72
72
  const positionalArgs = stripNamedArgs("--outdir", "--config").filter((arg) => arg !== "--prebuilt");
73
73
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
74
- const { start } = await import("./start-yrhe9s4e.js");
74
+ const { start } = await import("./start-ty8jjzn8.js");
75
75
  await start(serverEntry, outdir, configPath, {
76
76
  prebuilt: args.includes("--prebuilt")
77
77
  });
@@ -81,7 +81,7 @@ if (command === "dev") {
81
81
  const configPath = parseNamedArg("--config");
82
82
  const positionalArgs = stripNamedArgs("--outdir", "--config");
83
83
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
84
- const { start } = await import("./start-yrhe9s4e.js");
84
+ const { start } = await import("./start-ty8jjzn8.js");
85
85
  await start(serverEntry, outdir, configPath, { prepareOnly: true });
86
86
  } else if (command === "build") {
87
87
  sendTelemetryEvent("cli:command", { command });
@@ -197,13 +197,13 @@ if (command === "dev") {
197
197
  const configPath = parseNamedArg("--config");
198
198
  const positionalArgs = stripNamedArgs("--outdir", "--outfile", "--config");
199
199
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
200
- const { compile } = await import("./compile-1gkn94ek.js");
200
+ const { compile } = await import("./compile-ee32zv39.js");
201
201
  await compile(serverEntry, outdir, outfile, configPath);
202
202
  } else if (command === "mobile") {
203
203
  sendTelemetryEvent("cli:command", {
204
204
  command: `mobile:${workspaceCommand ?? "unknown"}`
205
205
  });
206
- const { runMobile } = await import("./mobile-nymyq2t8.js");
206
+ const { runMobile } = await import("./mobile-hyxr0n58.js");
207
207
  try {
208
208
  await runMobile(args);
209
209
  } catch (error) {
@@ -4,12 +4,12 @@ import {
4
4
  } from "./index-zh6hhrwy.js";
5
5
  import {
6
6
  start
7
- } from "./index-v0mxg0na.js";
7
+ } from "./index-wt6kdy5f.js";
8
8
  import {
9
9
  ABSOLUTE_MOBILE_CLIENT_MANIFEST_FORMAT,
10
10
  ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,
11
11
  resolveAbsoluteMobileRoute
12
- } from "./index-sghxp2cp.js";
12
+ } from "./index-7q7wjgkq.js";
13
13
  import"./index-bzs19w3r.js";
14
14
  import"./index-s2tazax7.js";
15
15
  import {
@@ -63,14 +63,14 @@ import {
63
63
  syncAbsoluteExpoWebAssets,
64
64
  unsignedAbsoluteMobileUpdate,
65
65
  writeAbsoluteExpoProject
66
- } from "./index-1twzwcga.js";
66
+ } from "./index-eyx1hnm6.js";
67
67
  import {
68
68
  normalizeAbsoluteIosDeviceIdentifier
69
69
  } from "./index-j66p8hn5.js";
70
70
  import {
71
71
  projectUsesAbsoluteAuth,
72
72
  projectUsesAbsoluteSync
73
- } from "./index-jqc26p92.js";
73
+ } from "./index-ar4gz15x.js";
74
74
  import {
75
75
  buildAbsoluteAndroidGradleArtifact,
76
76
  fingerprintAbsoluteAndroidNativeProject,
@@ -16,7 +16,7 @@ import {
16
16
  projectUsesAbsoluteSync,
17
17
  resolveAbsoluteMobileAuthManifest,
18
18
  serializeAbsoluteMobileAuthEnvironment
19
- } from "./index-jqc26p92.js";
19
+ } from "./index-ar4gz15x.js";
20
20
  import"./index-mywsk201.js";
21
21
  export {
22
22
  ABSOLUTE_AUTH_PACKAGE,
@@ -1,8 +1,8 @@
1
1
  // @bun
2
2
  import {
3
3
  start
4
- } from "./index-v0mxg0na.js";
5
- import"./index-sghxp2cp.js";
4
+ } from "./index-wt6kdy5f.js";
5
+ import"./index-7q7wjgkq.js";
6
6
  import"./index-bzs19w3r.js";
7
7
  import"./index-s2tazax7.js";
8
8
  import"./index-fc9vxw56.js";
@@ -11,8 +11,8 @@ import"./index-06cmrcdq.js";
11
11
  import"./index-9kwmb3c0.js";
12
12
  import"./index-w5vswatm.js";
13
13
  import"./index-6fb7k6dg.js";
14
- import"./index-1twzwcga.js";
15
- import"./index-jqc26p92.js";
14
+ import"./index-eyx1hnm6.js";
15
+ import"./index-ar4gz15x.js";
16
16
  import"./index-t84wxk1p.js";
17
17
  import"./index-wtfnv3n2.js";
18
18
  import"./index-prwyfnn3.js";
package/dist/index.js CHANGED
@@ -11589,7 +11589,7 @@ var init_deviceCapabilities = __esm(() => {
11589
11589
  // src/mobile/nativeAuth.ts
11590
11590
  import { readFileSync as readFileSync15 } from "fs";
11591
11591
  import { join as join16 } from "path";
11592
- var ABSOLUTE_AUTH_PACKAGE = "@absolutejs/auth", ABSOLUTE_EXPO_AUTH_CORE_VERSION = "0.75.6", ABSOLUTE_EXPO_AUTH_PACKAGE = "@absolutejs/auth-expo", ABSOLUTE_EXPO_AUTH_VERSION = "0.0.2", ABSOLUTE_EXPO_SYNC_CORE_VERSION = "2.31.0", ABSOLUTE_EXPO_SYNC_PACKAGE = "@absolutejs/sync-expo", ABSOLUTE_EXPO_SYNC_VERSION = "0.0.2", ABSOLUTE_NATIVE_AUTH_CLIENTS_ENV = "ABSOLUTE_AUTH_NATIVE_CLIENTS", ABSOLUTE_NATIVE_AUTH_SCOPES, ABSOLUTE_SYNC_PACKAGE = "@absolutejs/sync", readPackageManifest = (projectRoot) => {
11592
+ var ABSOLUTE_AUTH_PACKAGE = "@absolutejs/auth", ABSOLUTE_EXPO_AUTH_CORE_VERSION = "0.76.3", ABSOLUTE_EXPO_AUTH_PACKAGE = "@absolutejs/auth-expo", ABSOLUTE_EXPO_AUTH_VERSION = "0.0.6", ABSOLUTE_EXPO_SYNC_CORE_VERSION = "2.31.0", ABSOLUTE_EXPO_SYNC_PACKAGE = "@absolutejs/sync-expo", ABSOLUTE_EXPO_SYNC_VERSION = "0.0.4", ABSOLUTE_NATIVE_AUTH_CLIENTS_ENV = "ABSOLUTE_AUTH_NATIVE_CLIENTS", ABSOLUTE_NATIVE_AUTH_SCOPES, ABSOLUTE_SYNC_PACKAGE = "@absolutejs/sync", readPackageManifest = (projectRoot) => {
11593
11593
  try {
11594
11594
  return JSON.parse(readFileSync15(join16(projectRoot, "package.json"), "utf8"));
11595
11595
  } catch {
@@ -43609,5 +43609,5 @@ export {
43609
43609
  wrapPageHandlerWithStreamingSlots
43610
43610
  };
43611
43611
 
43612
- //# debugId=E624779573FE1A6E64756E2164756E21
43612
+ //# debugId=4A0DEC9D2E70571E64756E2164756E21
43613
43613
  //# sourceMappingURL=index.js.map