@absolutejs/absolute 0.20.0-beta.77 → 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.
Files changed (35) hide show
  1. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  2. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  3. package/dist/build.js +41 -27
  4. package/dist/build.js.map +5 -5
  5. package/dist/cli/{buildDepVendor-521faxfs.js → buildDepVendor-rz5w5cp0.js} +18 -9
  6. package/dist/cli/{compile-1gkn94ek.js → compile-ee32zv39.js} +3 -3
  7. package/dist/cli/{dev-p8403w4q.js → dev-b1m7jp2t.js} +8 -8
  8. package/dist/cli/{expoDevController-787dw9bz.js → expoDevController-bdm4cq6m.js} +12 -6
  9. package/dist/cli/{expoProject-7mdpssp7.js → expoProject-c6tpj156.js} +2 -2
  10. package/dist/cli/{index-sghxp2cp.js → index-7q7wjgkq.js} +1 -1
  11. package/dist/cli/{index-jqc26p92.js → index-ar4gz15x.js} +3 -3
  12. package/dist/cli/{index-1twzwcga.js → index-eyx1hnm6.js} +23 -10
  13. package/dist/cli/{index-v0mxg0na.js → index-wt6kdy5f.js} +2 -2
  14. package/dist/cli/index.js +11 -6
  15. package/dist/cli/migrate-p4rp5r6b.js +521 -0
  16. package/dist/cli/{mobile-nymyq2t8.js → mobile-hyxr0n58.js} +4 -4
  17. package/dist/cli/{nativeAuth-kq81zgy3.js → nativeAuth-zx4tsb1f.js} +1 -1
  18. package/dist/cli/{start-yrhe9s4e.js → start-ty8jjzn8.js} +4 -4
  19. package/dist/cli/{workspace-weacygfv.js → workspace-h7czpaqh.js} +29 -2
  20. package/dist/index.js +41 -27
  21. package/dist/index.js.map +5 -5
  22. package/dist/mobile/index.js +49 -22
  23. package/dist/mobile/index.js.map +6 -6
  24. package/dist/mobile/remoteMacAgentEntry.js +62 -49
  25. package/dist/src/build/buildDepVendor.d.ts +1 -0
  26. package/dist/src/cli/scripts/migrate.d.ts +2 -0
  27. package/dist/src/cli/scripts/workspace.d.ts +14 -0
  28. package/dist/src/dev/moduleServer.d.ts +4 -0
  29. package/dist/src/migrate/detect.d.ts +25 -0
  30. package/dist/src/migrate/scan.d.ts +14 -0
  31. package/dist/src/migrate/substitutions.d.ts +37 -0
  32. package/dist/src/migrate/types.d.ts +40 -0
  33. package/dist/src/mobile/androidUpgradeConformance.d.ts +2 -0
  34. package/dist/src/mobile/nativeAuth.d.ts +3 -3
  35. package/package.json +3 -2
@@ -1949,7 +1949,7 @@ var init_deviceCapabilities = __esm(() => {
1949
1949
  // src/mobile/nativeAuth.ts
1950
1950
  import { readFileSync as readFileSync4 } from "fs";
1951
1951
  import { join as join12 } from "path";
1952
- 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) => {
1952
+ 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) => {
1953
1953
  try {
1954
1954
  return JSON.parse(readFileSync4(join12(projectRoot, "package.json"), "utf8"));
1955
1955
  } catch {
@@ -21992,6 +21992,17 @@ var unchanged = (name, before, after) => {
21992
21992
  if (before !== after)
21993
21993
  throw new Error(`Android ${name} changed during the in-place upgrade.`);
21994
21994
  };
21995
+ var assertAbsoluteAndroidInstalledAppUpgrade = (before, after) => {
21996
+ if (before.appId !== after.appId)
21997
+ throw new Error(`Android application ID changed during the in-place upgrade (${before.appId} -> ${after.appId}).`);
21998
+ unchanged("application UID", before.uid, after.uid);
21999
+ unchanged("data directory", before.dataDirectory, after.dataDirectory);
22000
+ unchanged("first install timestamp", before.firstInstallTime, after.firstInstallTime);
22001
+ if (before.versionCode === undefined || after.versionCode === undefined)
22002
+ throw new Error("Android did not report versionCode for the upgrade proof.");
22003
+ if (after.versionCode <= before.versionCode)
22004
+ throw new Error(`Android versionCode did not increase (${before.versionCode} -> ${after.versionCode}).`);
22005
+ };
21995
22006
  var runAbsoluteAndroidUpgradeConformance = async (options) => {
21996
22007
  const run = options.run ?? captureCommand3;
21997
22008
  const startedAt = performance2.now();
@@ -22009,11 +22020,7 @@ var runAbsoluteAndroidUpgradeConformance = async (options) => {
22009
22020
  if (installed.exitCode !== 0 || !installed.stdout.includes("Success"))
22010
22021
  throw new Error(`Android in-place upgrade failed: ${installed.stderr.trim() || installed.stdout.trim()}`);
22011
22022
  const after = await inspectAbsoluteAndroidInstalledApp(options.adb, options.serial, options.appId, run);
22012
- unchanged("application UID", before.uid, after.uid);
22013
- unchanged("data directory", before.dataDirectory, after.dataDirectory);
22014
- unchanged("first install timestamp", before.firstInstallTime, after.firstInstallTime);
22015
- if (before.versionCode !== undefined && after.versionCode !== undefined && after.versionCode <= before.versionCode)
22016
- throw new Error(`Android versionCode did not increase (${before.versionCode} -> ${after.versionCode}).`);
22023
+ assertAbsoluteAndroidInstalledAppUpgrade(before, after);
22017
22024
  await options.afterInstall?.(after);
22018
22025
  const state = await options.verifyState();
22019
22026
  const compatibilityPass = !options.compatibility || options.compatibility.nPlusOne === "compatible" && options.compatibility.nPlusTwo === "compatible" && options.compatibility.nPlusThree === "upgrade-required" && options.compatibility.rollback === "compatible";
@@ -26303,7 +26310,7 @@ var expoPackage = (auth, sync, devices, updates) => ({
26303
26310
  expo: "~57.0.9",
26304
26311
  "expo-asset": "~57.0.15",
26305
26312
  "expo-constants": "~57.0.16",
26306
- ...updates ? { "expo-crypto": "~57.0.1" } : {},
26313
+ ...auth || updates ? { "expo-crypto": "~57.0.2" } : {},
26307
26314
  "expo-dev-client": "~57.0.16",
26308
26315
  "expo-file-system": "~57.0.6",
26309
26316
  "expo-haptics": "~57.0.2",
@@ -26734,6 +26741,7 @@ import {
26734
26741
  createExpoSyncProtection,
26735
26742
  createExpoSyncSocketBridgeHost,
26736
26743
  defineExpoSyncBackgroundTask,
26744
+ expoSyncRandomId,
26737
26745
  installExpoSyncLifecycle,
26738
26746
  registerExpoSyncBackgroundTask
26739
26747
  } from '@absolutejs/sync-expo';
@@ -26750,6 +26758,9 @@ const store = createExpoSyncLocalStore({
26750
26758
  storageSchema: STORAGE_SCHEMA
26751
26759
  });
26752
26760
 
26761
+ /** Redacted generated-store migration state for diagnostics and conformance. */
26762
+ export const getAbsoluteExpoSyncSchemaStatus = () => store.getSchemaStatus?.();
26763
+
26753
26764
  const runBackgroundSync = async () => {
26754
26765
  await startAbsoluteExpoAuth();
26755
26766
  const principal = await absoluteExpoAuth.principal();
@@ -26764,19 +26775,26 @@ const runBackgroundSync = async () => {
26764
26775
  defineExpoSyncBackgroundTask(BACKGROUND_TASK, runBackgroundSync);
26765
26776
 
26766
26777
  let activeNamespace: string | undefined;
26778
+ let removeRuntimeTransport: (() => void) | undefined;
26767
26779
  let started = false;
26768
26780
  let startPromise: Promise<void> | undefined;
26781
+ const installRuntimeTransport = (principal: Awaited<ReturnType<typeof absoluteExpoAuth.principal>>) => {
26782
+ activeNamespace = principal?.namespace;
26783
+ removeRuntimeTransport?.();
26784
+ removeRuntimeTransport = installSyncClientRuntimeTransport({
26785
+ ...(principal ? { durable: { createId: expoSyncRandomId, namespace: principal.namespace, store }, socketTicket: () => absoluteExpoAuth.socketTicket() } : {}),
26786
+ registerClient: client => installExpoSyncLifecycle({ client })
26787
+ });
26788
+ };
26769
26789
  export const startAbsoluteExpoSync = () => {
26770
26790
  startPromise ??= (async () => {
26771
26791
  await startAbsoluteExpoAuth();
26772
26792
  const principal = await absoluteExpoAuth.principal();
26773
- activeNamespace = principal?.namespace;
26774
- installSyncClientRuntimeTransport({
26775
- ...(principal ? { durable: { namespace: principal.namespace, store }, socketTicket: () => absoluteExpoAuth.socketTicket() } : {}),
26776
- registerClient: client => installExpoSyncLifecycle({ client })
26777
- });
26778
- await registerExpoSyncBackgroundTask(BACKGROUND_TASK, { minimumInterval: 15 });
26793
+ installRuntimeTransport(principal);
26779
26794
  started = true;
26795
+ void registerExpoSyncBackgroundTask(BACKGROUND_TASK, { minimumInterval: 15 }).catch(error => {
26796
+ console.warn('AbsoluteJS could not register Expo background Sync.', error);
26797
+ });
26780
26798
  })();
26781
26799
 
26782
26800
  return startPromise;
@@ -26784,7 +26802,9 @@ export const startAbsoluteExpoSync = () => {
26784
26802
 
26785
26803
  absoluteExpoAuth.onPrincipalChange(principal => {
26786
26804
  if (!started || principal?.namespace === activeNamespace) return;
26787
- void Updates.reloadAsync();
26805
+ const previousNamespace = activeNamespace;
26806
+ installRuntimeTransport(principal);
26807
+ if (previousNamespace !== undefined) void Updates.reloadAsync();
26788
26808
  });
26789
26809
 
26790
26810
  export const createAbsoluteExpoSyncBridge = async (
@@ -26796,7 +26816,7 @@ export const createAbsoluteExpoSyncBridge = async (
26796
26816
  close: () => undefined,
26797
26817
  request: async () => { throw new Error('Expo Sync requires an authenticated principal.'); }
26798
26818
  };
26799
- const transactions = createExpoSyncBridgeHost({ namespace: principal.namespace, store });
26819
+ const transactions = createExpoSyncBridgeHost({ createId: expoSyncRandomId, namespace: principal.namespace, store });
26800
26820
  const sockets = createExpoSyncSocketBridgeHost({
26801
26821
  allowedOrigin: PRODUCTION_ORIGIN,
26802
26822
  emit: payload => emit('sync.socket', payload),
@@ -28173,7 +28193,7 @@ var generateAbsoluteExpoCodeSigning = async (options) => {
28173
28193
  import { spawn } from "child_process";
28174
28194
  import { access as access11 } from "fs/promises";
28175
28195
  import { join as join17, resolve as resolvePath4 } from "path";
28176
- var METRO_READY_TIMEOUT_MS = 60000;
28196
+ var METRO_READY_TIMEOUT_MS = 120000;
28177
28197
  var PROCESS_CLOSE_TIMEOUT_MS = 2000;
28178
28198
  var preserveWindowsSubstRealpaths = `
28179
28199
  const fs = require('node:fs');
@@ -28236,17 +28256,19 @@ var connectLocalExpoAndroid = (adb, appId, metroPort, capture, preferredDevice)
28236
28256
  };
28237
28257
  run(["reverse", `tcp:${metroPort}`, `tcp:${metroPort}`], "Expo Android Metro forwarding failed.");
28238
28258
  run(["shell", "am", "force-stop", appId], "Expo Android development-client reset failed.");
28239
- run([
28259
+ const openDevelopmentClient = () => run([
28240
28260
  "shell",
28241
28261
  "am",
28242
28262
  "start",
28243
- "-W",
28244
28263
  "-a",
28245
28264
  "android.intent.action.VIEW",
28246
28265
  "-d",
28247
28266
  expoDevelopmentClientUrl(appId, "localhost", metroPort),
28248
28267
  appId
28249
28268
  ], "Expo Android development-client launch failed.");
28269
+ openDevelopmentClient();
28270
+ run(["shell", "sleep", "1"], "Expo Android development-client readiness pause failed.");
28271
+ openDevelopmentClient();
28250
28272
  return serial;
28251
28273
  };
28252
28274
  var encodedWindowsExpoAndroidCommand = (project, androidRoot, appId, args, capture, metroPort, preferredDevice) => {
@@ -28266,6 +28288,7 @@ var encodedWindowsExpoAndroidCommand = (project, androidRoot, appId, args, captu
28266
28288
  "$env:ABSOLUTE_EXPO_PHYSICAL_ROOT = $directory",
28267
28289
  "$env:ABSOLUTE_EXPO_MAPPED_ROOT = $mappedProject",
28268
28290
  '$env:NODE_OPTIONS = "--require=$hook"',
28291
+ "$env:GRADLE_OPTS = (($env:GRADLE_OPTS + ' -Dorg.gradle.daemon=false').Trim())",
28269
28292
  "$autolinkingCache = Join-Path $mappedProject 'android\\build\\generated\\autolinking'",
28270
28293
  "if ([IO.Directory]::Exists($autolinkingCache)) { [IO.Directory]::Delete($autolinkingCache, $true) }",
28271
28294
  "$expo = Join-Path $mappedProject 'node_modules\\.bin\\expo.exe'",
@@ -28286,8 +28309,11 @@ var encodedWindowsExpoAndroidCommand = (project, androidRoot, appId, args, captu
28286
28309
  `& $adb -s $serial shell am force-stop '${appId}'`,
28287
28310
  "if ($LASTEXITCODE -ne 0) { throw 'Expo Android development-client reset failed.' }",
28288
28311
  `$developmentUrl = '${developmentScheme}://expo-development-client/?url=' + [Uri]::EscapeDataString('http://localhost:${metroPort}')`,
28289
- `& $adb -s $serial shell am start -W -a android.intent.action.VIEW -d $developmentUrl '${appId}'`,
28290
- "if ($LASTEXITCODE -ne 0) { throw 'Expo Android development-client launch failed.' }"
28312
+ `& $adb -s $serial shell am start -a android.intent.action.VIEW -d $developmentUrl '${appId}'`,
28313
+ "if ($LASTEXITCODE -ne 0) { throw 'Expo Android development-client launch failed.' }",
28314
+ "Start-Sleep -Milliseconds 1000",
28315
+ `& $adb -s $serial shell am start -a android.intent.action.VIEW -d $developmentUrl '${appId}'`,
28316
+ "if ($LASTEXITCODE -ne 0) { throw 'Expo Android development-client retry failed.' }"
28291
28317
  ].join("; ");
28292
28318
  const source = [
28293
28319
  "$ErrorActionPreference = 'Stop'",
@@ -28527,7 +28553,7 @@ var startAbsoluteExpoDevSession = async (options) => {
28527
28553
  return;
28528
28554
  }
28529
28555
  const timeout = setTimeout(() => {
28530
- reject(new Error("Expo Metro did not become ready within 60 seconds."));
28556
+ reject(new Error("Expo Metro did not become ready within 120 seconds."));
28531
28557
  }, METRO_READY_TIMEOUT_MS);
28532
28558
  resolveMetro = () => {
28533
28559
  clearTimeout(timeout);
@@ -37722,6 +37748,7 @@ export {
37722
37748
  applyAbsoluteNativeDeviceCapabilities,
37723
37749
  applyAbsoluteNativeObservability,
37724
37750
  applyAbsoluteNativeUpdates,
37751
+ assertAbsoluteAndroidInstalledAppUpgrade,
37725
37752
  assertAbsoluteDeviceCapabilityPackages,
37726
37753
  buildAbsoluteAndroidRelease,
37727
37754
  buildAbsoluteIosRelease,
@@ -37878,5 +37905,5 @@ export {
37878
37905
  writeAbsoluteMobileGithubWorkflow
37879
37906
  };
37880
37907
 
37881
- //# debugId=50E5F2F2EEDCEC3F64756E2164756E21
37908
+ //# debugId=16567FBADD9BB3F164756E2164756E21
37882
37909
  //# sourceMappingURL=index.js.map