@absolutejs/absolute 0.20.0-beta.120 → 0.20.0-beta.122

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 (98) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/changelog.json +37 -0
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/angular/index.js +14 -2
  6. package/dist/angular/index.js.map +5 -4
  7. package/dist/angular/server.js +14 -2
  8. package/dist/angular/server.js.map +5 -4
  9. package/dist/build.js +15 -3
  10. package/dist/build.js.map +6 -5
  11. package/dist/cli/{add-kt4qx8sh.js → add-9sa7e3vd.js} +5 -5
  12. package/dist/cli/{androidEmulatorController-v6chbhem.js → androidEmulatorController-sj141e1c.js} +3 -3
  13. package/dist/cli/{androidNativeWatcher-mgqws6ag.js → androidNativeWatcher-dnp95nk2.js} +3 -3
  14. package/dist/cli/{api-xtq3zqfg.js → api-2hd8cahp.js} +1 -1
  15. package/dist/cli/{compile-5m830csy.js → compile-hywymh6y.js} +1 -1
  16. package/dist/cli/config/server.js +59 -9
  17. package/dist/cli/db-8wweexdp.js +1100 -0
  18. package/dist/cli/{dev-ww30tdrv.js → dev-pdefc9ac.js} +9 -9
  19. package/dist/cli/{emulatorDoctor-y2nqmaha.js → emulatorDoctor-gzarrsex.js} +2 -2
  20. package/dist/cli/{emulatorInstaller-3shdna4g.js → emulatorInstaller-pjw4ex6q.js} +3 -3
  21. package/dist/cli/{expoDevController-zz516pdd.js → expoDevController-weywa74d.js} +3 -3
  22. package/dist/cli/{generate-zy3d9bce.js → generate-069p0dk3.js} +4 -4
  23. package/dist/cli/{htmx-63kt9qj1.js → htmx-5wh1jh75.js} +2 -2
  24. package/dist/cli/{index-t84wxk1p.js → index-00wfffav.js} +50 -8
  25. package/dist/cli/{index-wtyg9cy0.js → index-1ys3dnrs.js} +1 -1
  26. package/dist/cli/{index-knt92dm8.js → index-255xs63d.js} +1 -1
  27. package/dist/cli/{index-wspj2mq3.js → index-3x5wpx5d.js} +1 -1
  28. package/dist/cli/{index-28nxv57v.js → index-5cgsrv62.js} +12 -2
  29. package/dist/cli/{index-mxmg15c5.js → index-ddakkws4.js} +2 -2
  30. package/dist/cli/{index-ce870r79.js → index-erngp7a9.js} +1 -1
  31. package/dist/cli/{index-pa3hmzj7.js → index-j2nw3edf.js} +1 -1
  32. package/dist/cli/{index-1wgc9e0v.js → index-keg69zm1.js} +1 -1
  33. package/dist/cli/{index-5268nwjx.js → index-q3sq287p.js} +1 -1
  34. package/dist/cli/{index-jf1f6npt.js → index-rqbk0b30.js} +1 -1
  35. package/dist/cli/{index-q1d4ns4n.js → index-v26ze17p.js} +1 -1
  36. package/dist/cli/{index-hneb973j.js → index-vkkqe08e.js} +2 -2
  37. package/dist/cli/index.js +23 -18
  38. package/dist/cli/{info-crpftzxh.js → info-d74dr585.js} +1 -1
  39. package/dist/cli/{iosNativeWatcher-8w1gawg4.js → iosNativeWatcher-kggp7j9a.js} +4 -4
  40. package/dist/cli/{iosSimulatorController-5vhqvhg6.js → iosSimulatorController-xcxxfkzx.js} +4 -4
  41. package/dist/cli/{mobile-21vsmrjd.js → mobile-00bqw12c.js} +9 -9
  42. package/dist/cli/{ps-ha7bhpc6.js → ps-8y28kzmb.js} +1 -1
  43. package/dist/cli/{psTui-rxszyyz8.js → psTui-8e96mwgz.js} +1 -1
  44. package/dist/cli/{remoteMacProtocol-dybpgazw.js → remoteMacProtocol-r38jhg44.js} +4 -4
  45. package/dist/cli/{remove-pwfv4wsd.js → remove-3fd1z2hx.js} +4 -4
  46. package/dist/cli/{start-3bhf56tj.js → start-q08avhxg.js} +2 -2
  47. package/dist/cli/{typecheck-7n5599tp.js → typecheck-yj9s13eb.js} +1 -1
  48. package/dist/cli/{workspace-h7czpaqh.js → workspace-e3jt4as8.js} +1 -1
  49. package/dist/client/chunks/index-dk743xs6.js +146 -0
  50. package/dist/client/chunks/index-dk743xs6.js.map +10 -0
  51. package/dist/client/chunks/index-jrcwp722.js +12 -0
  52. package/dist/client/chunks/index-jrcwp722.js.map +10 -0
  53. package/dist/client/chunks/{islands-xj2n8nwf.js → islands-50dg63j9.js} +6 -3
  54. package/dist/client/chunks/{islands-xj2n8nwf.js.map → islands-50dg63j9.js.map} +3 -3
  55. package/dist/client/chunks/{react-pdg4325x.js → react-yq4ss9y4.js} +4 -3
  56. package/dist/client/chunks/{react-pdg4325x.js.map → react-yq4ss9y4.js.map} +2 -2
  57. package/dist/client/index.js +5 -4
  58. package/dist/client/index.js.map +2 -2
  59. package/dist/index.js +15 -3
  60. package/dist/index.js.map +6 -5
  61. package/dist/islands/index.js +14 -2
  62. package/dist/islands/index.js.map +5 -4
  63. package/dist/mobile/index.js +13 -3
  64. package/dist/mobile/index.js.map +4 -4
  65. package/dist/mobile/remoteMacAgentEntry.js +162 -162
  66. package/dist/react/index.js +14 -2
  67. package/dist/react/index.js.map +5 -4
  68. package/dist/react/server.js +14 -2
  69. package/dist/react/server.js.map +5 -4
  70. package/dist/src/cli/scripts/db.d.ts +2 -19
  71. package/dist/src/cli/scripts/dbEngines/detect.d.ts +8 -0
  72. package/dist/src/cli/scripts/dbEngines/mssql.d.ts +4 -0
  73. package/dist/src/cli/scripts/dbEngines/mysql.d.ts +2 -0
  74. package/dist/src/cli/scripts/dbEngines/open.d.ts +2 -0
  75. package/dist/src/cli/scripts/dbEngines/postgres.d.ts +2 -0
  76. package/dist/src/cli/scripts/dbEngines/sqlText.d.ts +13 -0
  77. package/dist/src/cli/scripts/dbEngines/sqlite.d.ts +4 -0
  78. package/dist/src/cli/scripts/dbEngines/values.d.ts +12 -0
  79. package/dist/src/cli/utils.d.ts +7 -0
  80. package/dist/src/client/browserTranslation.d.ts +3 -0
  81. package/dist/src/client/browserTranslationAttributes.d.ts +2 -0
  82. package/dist/src/utils/userAgentFunctions.d.ts +1 -1
  83. package/dist/src/vue/components/Image.d.ts +1 -1
  84. package/dist/svelte/index.js +14 -2
  85. package/dist/svelte/index.js.map +5 -4
  86. package/dist/svelte/server.js +14 -2
  87. package/dist/svelte/server.js.map +5 -4
  88. package/dist/types/db.d.ts +109 -0
  89. package/dist/vue/browser.js +75 -8
  90. package/dist/vue/browser.js.map +5 -4
  91. package/dist/vue/index.js +77 -9
  92. package/dist/vue/index.js.map +6 -5
  93. package/dist/vue/server.js +14 -2
  94. package/dist/vue/server.js.map +5 -4
  95. package/package.json +13 -1
  96. package/dist/cli/db-tejnwt9j.js +0 -238
  97. package/dist/client/chunks/index-5py90ctf.js +0 -87
  98. package/dist/client/chunks/index-5py90ctf.js.map +0 -10
@@ -46,7 +46,7 @@ import {
46
46
  readDbScripts,
47
47
  startDatabase,
48
48
  stopDatabase
49
- } from "./index-t84wxk1p.js";
49
+ } from "./index-00wfffav.js";
50
50
  import {
51
51
  formatTimestamp
52
52
  } from "./index-wtfnv3n2.js";
@@ -1290,15 +1290,15 @@ var loadAbsoluteMobileDevModules = async () => {
1290
1290
  ] = await Promise.all([
1291
1291
  import("./config-rjeexvza.js"),
1292
1292
  import("./expoProject-w2pzjwnx.js"),
1293
- import("./expoDevController-zz516pdd.js"),
1293
+ import("./expoDevController-weywa74d.js"),
1294
1294
  import("./nativeAuth-zx4tsb1f.js"),
1295
- import("./androidEmulatorController-v6chbhem.js"),
1296
- import("./emulatorDoctor-y2nqmaha.js"),
1297
- import("./emulatorInstaller-3shdna4g.js"),
1298
- import("./androidNativeWatcher-mgqws6ag.js"),
1299
- import("./iosSimulatorController-5vhqvhg6.js"),
1300
- import("./remoteMacProtocol-dybpgazw.js"),
1301
- import("./iosNativeWatcher-8w1gawg4.js"),
1295
+ import("./androidEmulatorController-sj141e1c.js"),
1296
+ import("./emulatorDoctor-gzarrsex.js"),
1297
+ import("./emulatorInstaller-pjw4ex6q.js"),
1298
+ import("./androidNativeWatcher-dnp95nk2.js"),
1299
+ import("./iosSimulatorController-xcxxfkzx.js"),
1300
+ import("./remoteMacProtocol-r38jhg44.js"),
1301
+ import("./iosNativeWatcher-kggp7j9a.js"),
1302
1302
  import("./expoNativeWatcher-rmc95bak.js")
1303
1303
  ]);
1304
1304
  return {
@@ -4,8 +4,8 @@ import {
4
4
  absoluteManagedAndroidSdkRoot,
5
5
  detectAbsoluteMobileHost,
6
6
  inspectAbsoluteMobileToolchain
7
- } from "./index-knt92dm8.js";
8
- import"./index-t84wxk1p.js";
7
+ } from "./index-255xs63d.js";
8
+ import"./index-00wfffav.js";
9
9
  import"./index-wtfnv3n2.js";
10
10
  import"./index-prwyfnn3.js";
11
11
  import"./index-czwrxgdj.js";
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  fixAbsoluteMobileEmulatorToolchain,
4
4
  planAbsoluteMobileEmulatorInstall
5
- } from "./index-ce870r79.js";
6
- import"./index-knt92dm8.js";
7
- import"./index-t84wxk1p.js";
5
+ } from "./index-erngp7a9.js";
6
+ import"./index-255xs63d.js";
7
+ import"./index-00wfffav.js";
8
8
  import"./index-wtfnv3n2.js";
9
9
  import"./index-prwyfnn3.js";
10
10
  import"./index-czwrxgdj.js";
@@ -7,10 +7,10 @@ import {
7
7
  parseBootedAbsoluteExpoIosSimulators,
8
8
  planAbsoluteExpoDevSession,
9
9
  startAbsoluteExpoDevSession
10
- } from "./index-28nxv57v.js";
10
+ } from "./index-5cgsrv62.js";
11
11
  import"./index-j66p8hn5.js";
12
- import"./index-knt92dm8.js";
13
- import"./index-t84wxk1p.js";
12
+ import"./index-255xs63d.js";
13
+ import"./index-00wfffav.js";
14
14
  import"./index-wtfnv3n2.js";
15
15
  import"./index-prwyfnn3.js";
16
16
  import"./index-czwrxgdj.js";
@@ -7,22 +7,22 @@ import {
7
7
  toKebabCase,
8
8
  toPascalCase,
9
9
  toTitleCase
10
- } from "./index-mxmg15c5.js";
10
+ } from "./index-ddakkws4.js";
11
11
  import {
12
12
  wirePluginUse
13
- } from "./index-pa3hmzj7.js";
13
+ } from "./index-j2nw3edf.js";
14
14
  import {
15
15
  frameworks,
16
16
  resolveProject,
17
17
  selectFramework,
18
18
  toModuleSpecifier
19
- } from "./index-1wgc9e0v.js";
19
+ } from "./index-keg69zm1.js";
20
20
  import"./index-v1k46q3x.js";
21
21
  import {
22
22
  colors
23
23
  } from "./index-8nym68py.js";
24
24
  import"./index-06cmrcdq.js";
25
- import"./index-t84wxk1p.js";
25
+ import"./index-00wfffav.js";
26
26
  import"./index-wtfnv3n2.js";
27
27
  import"./index-prwyfnn3.js";
28
28
  import"./index-czwrxgdj.js";
@@ -8,13 +8,13 @@ import {
8
8
  } from "./index-5xfxd7xa.js";
9
9
  import {
10
10
  resolveProject
11
- } from "./index-1wgc9e0v.js";
11
+ } from "./index-keg69zm1.js";
12
12
  import"./index-v1k46q3x.js";
13
13
  import {
14
14
  colors
15
15
  } from "./index-8nym68py.js";
16
16
  import"./index-06cmrcdq.js";
17
- import"./index-t84wxk1p.js";
17
+ import"./index-00wfffav.js";
18
18
  import"./index-wtfnv3n2.js";
19
19
  import"./index-prwyfnn3.js";
20
20
  import"./index-czwrxgdj.js";
@@ -9,7 +9,7 @@ import {
9
9
  // src/cli/utils.ts
10
10
  var {$ } = globalThis.Bun;
11
11
  import { execSync } from "child_process";
12
- import { existsSync, readFileSync } from "fs";
12
+ import { existsSync, readFileSync, realpathSync } from "fs";
13
13
  import { createServer } from "net";
14
14
  import { resolve } from "path";
15
15
  var COMPOSE_PATH = "db/docker-compose.db.yml";
@@ -47,6 +47,35 @@ var findFreePort = () => new Promise((_resolve, reject) => {
47
47
  });
48
48
  });
49
49
  });
50
+ var tryRead = (read) => {
51
+ try {
52
+ return { ok: true, value: read() };
53
+ } catch {
54
+ return { ok: false };
55
+ }
56
+ };
57
+ var firstReadable = (fallback, ...readers) => {
58
+ for (const read of readers) {
59
+ const result = tryRead(read);
60
+ if (result.ok)
61
+ return result.value;
62
+ }
63
+ return fallback;
64
+ };
65
+ var processCommand = (pid) => firstReadable("", () => readFileSync(`/proc/${pid}/cmdline`, "utf-8").split("\x00").join(" ").trim(), () => execSync(`ps -o command= -p ${pid}`, {
66
+ encoding: "utf-8"
67
+ }).trim());
68
+ var listedDirectory = (pid) => {
69
+ const listed = execSync(`lsof -a -p ${pid} -d cwd -Fn 2>/dev/null`, {
70
+ encoding: "utf-8"
71
+ });
72
+ const line = listed.split(`
73
+ `).find((entry) => entry.startsWith("n"));
74
+ return line ? line.slice(1) : null;
75
+ };
76
+ var processDirectory = (pid) => firstReadable(null, () => realpathSync(`/proc/${pid}/cwd`), () => listedDirectory(pid));
77
+ var ABSOLUTE_PROCESS = /@absolutejs[\\/+]absolute|serverBootstrap|[\\/]\.absolutejs[\\/]|\babsolute (?:dev|start|compile|preview)\b/;
78
+ var isOwnStaleProcess = (command, directory, projectDirectory) => ABSOLUTE_PROCESS.test(command) && (directory === projectDirectory || command.includes(projectDirectory));
50
79
  var killStaleProcesses = (port, logMessage) => {
51
80
  let output;
52
81
  try {
@@ -59,18 +88,31 @@ var killStaleProcesses = (port, logMessage) => {
59
88
  if (!output) {
60
89
  return;
61
90
  }
91
+ const report = (message) => {
92
+ if (logMessage) {
93
+ logMessage(message);
94
+ return;
95
+ }
96
+ console.log(`\x1B[2m${formatTimestamp()}\x1B[0m \x1B[33m[cli]\x1B[0m \x1B[33m${message}\x1B[0m`);
97
+ };
62
98
  const pids = output.split(`
63
99
  `).map(Number).filter((pid) => pid !== process.pid && pid > 0);
64
100
  if (pids.length === 0) {
65
101
  return;
66
102
  }
67
- pids.forEach(safeKill);
68
- const message = `Killed ${pids.length} stale ${pids.length === 1 ? "process" : "processes"} on port ${port}.`;
69
- if (logMessage) {
70
- logMessage(message);
71
- return;
72
- }
73
- console.log(`\x1B[2m${formatTimestamp()}\x1B[0m \x1B[33m[cli]\x1B[0m \x1B[33m${message}\x1B[0m`);
103
+ const projectDirectory = realpathSync(process.cwd());
104
+ const holders = pids.map((pid) => ({
105
+ command: processCommand(pid),
106
+ directory: processDirectory(pid),
107
+ pid
108
+ }));
109
+ const own = holders.filter((holder) => isOwnStaleProcess(holder.command, holder.directory, projectDirectory));
110
+ const foreign = holders.filter((holder) => !own.includes(holder));
111
+ own.forEach((holder) => safeKill(holder.pid));
112
+ if (own.length > 0)
113
+ report(`Killed ${own.length} stale ${own.length === 1 ? "process" : "processes"} on port ${port}.`);
114
+ for (const holder of foreign)
115
+ report(`Port ${port} is in use by another process (pid ${holder.pid}: ${holder.command.slice(0, 120) || "unknown"}). It was left running; stop it or choose another port.`);
74
116
  };
75
117
  var openUrlInBrowser = (url, onError) => {
76
118
  if (process.env.ABSOLUTE_NO_OPEN)
@@ -7,7 +7,7 @@ import {
7
7
  absoluteManagedAndroidSdkRoot,
8
8
  detectAbsoluteMobileHost,
9
9
  inspectAbsoluteMobileToolchain
10
- } from "./index-knt92dm8.js";
10
+ } from "./index-255xs63d.js";
11
11
  import {
12
12
  getDurationString
13
13
  } from "./index-prwyfnn3.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  isWSLEnvironment
4
- } from "./index-t84wxk1p.js";
4
+ } from "./index-00wfffav.js";
5
5
 
6
6
  // src/mobile/emulatorDoctor.ts
7
7
  import { access } from "fs/promises";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  findConfigObject
4
- } from "./index-1wgc9e0v.js";
4
+ } from "./index-keg69zm1.js";
5
5
  import {
6
6
  isRecord
7
7
  } from "./index-v1k46q3x.js";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  absoluteManagedAndroidSdkRoot,
7
7
  detectAbsoluteMobileHost
8
- } from "./index-knt92dm8.js";
8
+ } from "./index-255xs63d.js";
9
9
 
10
10
  // src/mobile/expoDevController.ts
11
11
  import { spawn } from "child_process";
@@ -18,6 +18,12 @@ var MAX_TCP_PORT = 65535;
18
18
  var PROCESS_CLOSE_TIMEOUT_MS = 2000;
19
19
  var HASH_RADIX = 16;
20
20
  var WINDOWS_BUILD_ID_LENGTH = 10;
21
+ var DEFAULT_WINDOWS_BUILD_RETENTION_DAYS = 14;
22
+ var WINDOWS_BUILD_STAMP = ".absolutejs-last-build";
23
+ var windowsBuildRetentionDays = () => {
24
+ const configured = Number(process.env.ABSOLUTE_EXPO_BUILD_RETENTION_DAYS);
25
+ return Number.isFinite(configured) && configured > 0 ? configured : DEFAULT_WINDOWS_BUILD_RETENTION_DAYS;
26
+ };
21
27
  var allocateAvailableMetroPort = () => new Promise((resolve, reject) => {
22
28
  const server = createServer();
23
29
  server.unref();
@@ -251,10 +257,14 @@ var encodedWindowsExpoAndroidCommand = (project, androidRoot, appId, args, captu
251
257
  "try { $mutexAcquired = $mutex.WaitOne([TimeSpan]::FromMinutes(30)) } catch [Threading.AbandonedMutexException] { $mutexAcquired = $true }",
252
258
  "if (-not $mutexAcquired) { throw 'Timed out waiting for another AbsoluteJS Expo Android build to release the managed Windows mirror.' }",
253
259
  "New-Item -ItemType Directory -Force -Path $directory | Out-Null",
254
- "& robocopy.exe $source $directory /MIR /XD node_modules .expo .git .gradle .cxx .kotlin build /XF bun.lock bun.lockb .absolutejs-preserve-subst.cjs .absolutejs-source-lock.sha256 /NFL /NDL /NJH /NJS /NP",
260
+ `& robocopy.exe $source $directory /MIR /XD node_modules .expo .git .gradle .cxx .kotlin build /XF bun.lock bun.lockb .absolutejs-preserve-subst.cjs .absolutejs-source-lock.sha256 ${WINDOWS_BUILD_STAMP} /NFL /NDL /NJH /NJS /NP`,
255
261
  "$copyExit = $LASTEXITCODE",
256
262
  "if ($copyExit -ge 8) { exit $copyExit }",
257
263
  "Set-Location $directory",
264
+ `$buildStamp = Join-Path $directory '${WINDOWS_BUILD_STAMP}'`,
265
+ "Set-Content $buildStamp ([DateTime]::UtcNow.ToString('o')) -NoNewline",
266
+ `$staleBefore = [DateTime]::UtcNow.AddDays(-${windowsBuildRetentionDays()})`,
267
+ `Get-ChildItem -LiteralPath (Split-Path -Parent $directory) -Directory -ErrorAction SilentlyContinue | Where-Object { -not [String]::Equals($_.FullName, $directory, [StringComparison]::OrdinalIgnoreCase) -and (Test-Path (Join-Path $_.FullName '.absolutejs-expo-project')) } | ForEach-Object { $stamp = Join-Path $_.FullName '${WINDOWS_BUILD_STAMP}'; $lastBuild = if (Test-Path $stamp) { (Get-Item $stamp).LastWriteTimeUtc } else { $_.LastWriteTimeUtc }; if ($lastBuild -lt $staleBefore) { Remove-Item -LiteralPath $_.FullName -Recurse -Force -ErrorAction SilentlyContinue } }`,
258
268
  "$sourceLock = @('bun.lock', 'bun.lockb') | ForEach-Object { Join-Path $source $_ } | Where-Object { Test-Path $_ } | Select-Object -First 1",
259
269
  "$sourceLockHash = if ($sourceLock) { (Get-FileHash $sourceLock -Algorithm SHA256).Hash } else { 'none' }",
260
270
  "$lockMarker = Join-Path $directory '.absolutejs-source-lock.sha256'",
@@ -2,12 +2,12 @@
2
2
  import {
3
3
  findRoutingFile,
4
4
  wireRoute
5
- } from "./index-pa3hmzj7.js";
5
+ } from "./index-j2nw3edf.js";
6
6
  import {
7
7
  frameworks,
8
8
  sharedDirFor,
9
9
  toModuleSpecifier
10
- } from "./index-1wgc9e0v.js";
10
+ } from "./index-keg69zm1.js";
11
11
 
12
12
  // src/cli/generate/naming.ts
13
13
  var tokenize = (raw) => raw.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").split(/[^a-zA-Z0-9]+/).filter((token) => token.length > 0).map((token) => token.toLowerCase());
@@ -4,7 +4,7 @@ import {
4
4
  absoluteManagedAndroidSdkRoot,
5
5
  detectAbsoluteMobileHost,
6
6
  inspectAbsoluteMobileToolchain
7
- } from "./index-knt92dm8.js";
7
+ } from "./index-255xs63d.js";
8
8
 
9
9
  // src/mobile/emulatorInstaller.ts
10
10
  import { createHash } from "crypto";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  toModuleSpecifier
4
- } from "./index-1wgc9e0v.js";
4
+ } from "./index-keg69zm1.js";
5
5
 
6
6
  // src/cli/generate/routeWiring.ts
7
7
  import ts from "typescript";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./index-06cmrcdq.js";
8
8
  import {
9
9
  DEFAULT_SERVER_ENTRY
10
- } from "./index-t84wxk1p.js";
10
+ } from "./index-00wfffav.js";
11
11
 
12
12
  // src/cli/generate/frameworkKey.ts
13
13
  var FRAMEWORK_KEYS = [
@@ -36,7 +36,7 @@ import {
36
36
  readDbScripts,
37
37
  startDatabase,
38
38
  stopDatabase
39
- } from "./index-t84wxk1p.js";
39
+ } from "./index-00wfffav.js";
40
40
  import {
41
41
  formatTimestamp
42
42
  } from "./index-wtfnv3n2.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  installAbsoluteIosRelease,
4
4
  requireAbsoluteIosReleaseMetadata
5
- } from "./index-q1d4ns4n.js";
5
+ } from "./index-v26ze17p.js";
6
6
  import {
7
7
  unrefTimer
8
8
  } from "./index-bw4ktfnz.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  detectAbsoluteMobileHost
4
- } from "./index-knt92dm8.js";
4
+ } from "./index-255xs63d.js";
5
5
 
6
6
  // src/mobile/iosRelease.ts
7
7
  import { createHash } from "crypto";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  fingerprintAbsoluteIosNativeProject
4
- } from "./index-q1d4ns4n.js";
4
+ } from "./index-v26ze17p.js";
5
5
  import {
6
6
  normalizeAbsoluteIosDeviceHost,
7
7
  normalizeAbsoluteIosDeviceIdentifier,
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  detectAbsoluteMobileHost,
15
15
  inspectAbsoluteMobileToolchain
16
- } from "./index-knt92dm8.js";
16
+ } from "./index-255xs63d.js";
17
17
  import {
18
18
  getDurationString
19
19
  } from "./index-prwyfnn3.js";
package/dist/cli/index.js CHANGED
@@ -10,7 +10,7 @@ import"./index-w5vswatm.js";
10
10
  import"./index-1rabqyq0.js";
11
11
  import {
12
12
  DEFAULT_SERVER_ENTRY
13
- } from "./index-t84wxk1p.js";
13
+ } from "./index-00wfffav.js";
14
14
  import"./index-wtfnv3n2.js";
15
15
  import"./index-prwyfnn3.js";
16
16
  import {
@@ -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-ww30tdrv.js");
61
+ const { dev } = await import("./dev-pdefc9ac.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-3bhf56tj.js");
74
+ const { start } = await import("./start-q08avhxg.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-3bhf56tj.js");
84
+ const { start } = await import("./start-q08avhxg.js");
85
85
  await start(serverEntry, outdir, configPath, { prepareOnly: true });
86
86
  } else if (command === "build") {
87
87
  sendTelemetryEvent("cli:command", { command });
@@ -94,7 +94,7 @@ if (command === "dev") {
94
94
  command: `workspace:${workspaceCommand ?? "unknown"}`
95
95
  });
96
96
  const configPath = parseNamedArg("--config");
97
- const { workspace } = await import("./workspace-h7czpaqh.js");
97
+ const { workspace } = await import("./workspace-e3jt4as8.js");
98
98
  await workspace(workspaceCommand, {
99
99
  configPath,
100
100
  noTui: args.includes("--no-tui")
@@ -122,7 +122,7 @@ if (command === "dev") {
122
122
  await runLs(args);
123
123
  } else if (command === "ps") {
124
124
  sendTelemetryEvent("cli:command", { command: "ps" });
125
- const { runPs } = await import("./ps-ha7bhpc6.js");
125
+ const { runPs } = await import("./ps-8y28kzmb.js");
126
126
  await runPs(args);
127
127
  } else if (command === "mem") {
128
128
  sendTelemetryEvent("cli:command", { command: "mem" });
@@ -130,11 +130,11 @@ if (command === "dev") {
130
130
  await runMem(args);
131
131
  } else if (command === "generate" || command === "g") {
132
132
  sendTelemetryEvent("cli:command", { command: "generate" });
133
- const { runGenerate } = await import("./generate-zy3d9bce.js");
133
+ const { runGenerate } = await import("./generate-069p0dk3.js");
134
134
  await runGenerate(args);
135
135
  } else if (command === "add") {
136
136
  sendTelemetryEvent("cli:command", { command: "add" });
137
- const { runAdd } = await import("./add-kt4qx8sh.js");
137
+ const { runAdd } = await import("./add-9sa7e3vd.js");
138
138
  await runAdd(args);
139
139
  } else if (command === "analyze") {
140
140
  sendTelemetryEvent("cli:command", { command: "analyze" });
@@ -142,15 +142,15 @@ if (command === "dev") {
142
142
  await runAnalyze(args);
143
143
  } else if (command === "api") {
144
144
  sendTelemetryEvent("cli:command", { command: "api" });
145
- const { runApi } = await import("./api-xtq3zqfg.js");
145
+ const { runApi } = await import("./api-2hd8cahp.js");
146
146
  await runApi(args);
147
147
  } else if (command === "remove") {
148
148
  sendTelemetryEvent("cli:command", { command: "remove" });
149
- const { runRemove } = await import("./remove-pwfv4wsd.js");
149
+ const { runRemove } = await import("./remove-3fd1z2hx.js");
150
150
  await runRemove(args);
151
151
  } else if (command === "htmx") {
152
152
  sendTelemetryEvent("cli:command", { command: "htmx" });
153
- const { runHtmx } = await import("./htmx-63kt9qj1.js");
153
+ const { runHtmx } = await import("./htmx-5wh1jh75.js");
154
154
  await runHtmx(args);
155
155
  } else if (command === "env") {
156
156
  sendTelemetryEvent("cli:command", { command: "env" });
@@ -160,8 +160,13 @@ if (command === "dev") {
160
160
  sendTelemetryEvent("cli:command", {
161
161
  command: `db:${workspaceCommand ?? "unknown"}`
162
162
  });
163
- const { runDb } = await import("./db-tejnwt9j.js");
164
- await runDb(args);
163
+ const { runDb } = await import("./db-8wweexdp.js");
164
+ try {
165
+ await runDb(args);
166
+ } catch (error) {
167
+ console.error(error instanceof Error ? error.message : String(error));
168
+ process.exitCode = 1;
169
+ }
165
170
  } else if (command === "logs") {
166
171
  sendTelemetryEvent("cli:command", { command: "logs" });
167
172
  const { runLogs } = await import("./logs-bx2n5ey6.js");
@@ -184,7 +189,7 @@ if (command === "dev") {
184
189
  await runIslands(args);
185
190
  } else if (command === "info") {
186
191
  sendTelemetryEvent("cli:command", { command });
187
- const { info } = await import("./info-crpftzxh.js");
192
+ const { info } = await import("./info-d74dr585.js");
188
193
  info();
189
194
  } else if (command === "telemetry") {
190
195
  sendTelemetryEvent("cli:command", { command });
@@ -197,13 +202,13 @@ if (command === "dev") {
197
202
  const configPath = parseNamedArg("--config");
198
203
  const positionalArgs = stripNamedArgs("--outdir", "--outfile", "--config");
199
204
  const serverEntry = positionalArgs[0] ?? DEFAULT_SERVER_ENTRY;
200
- const { compile } = await import("./compile-5m830csy.js");
205
+ const { compile } = await import("./compile-hywymh6y.js");
201
206
  await compile(serverEntry, outdir, outfile, configPath);
202
207
  } else if (command === "mobile") {
203
208
  sendTelemetryEvent("cli:command", {
204
209
  command: `mobile:${workspaceCommand ?? "unknown"}`
205
210
  });
206
- const { runMobile } = await import("./mobile-21vsmrjd.js");
211
+ const { runMobile } = await import("./mobile-00bqw12c.js");
207
212
  try {
208
213
  await runMobile(args);
209
214
  } catch (error) {
@@ -213,7 +218,7 @@ if (command === "dev") {
213
218
  } else if (command === "typecheck") {
214
219
  sendTelemetryEvent("cli:command", { command });
215
220
  const configPath = parseNamedArg("--config");
216
- const { typecheck } = await import("./typecheck-7n5599tp.js");
221
+ const { typecheck } = await import("./typecheck-yj9s13eb.js");
217
222
  await typecheck(configPath);
218
223
  } else if (command === "migrate") {
219
224
  sendTelemetryEvent("cli:command", { command });
@@ -240,7 +245,7 @@ if (command === "dev") {
240
245
  console.error(" compile [entry] [--outdir dir] [--outfile path] Compile standalone executable");
241
246
  console.error(" mobile <init|sync|assets|inspect|ci|pair|remotes|doctor|test> Manage Capacitor apps and the experimental Expo hybrid shell");
242
247
  console.error(" config [--port n] Open the unified config UI (ESLint, tsconfig, Prettier)");
243
- console.error(" db <backup|restore|seed> Backup/restore any Postgres DB (ORM-agnostic, upsert by PK) or run the seed script");
248
+ console.error(" db <backup|restore|seed> Backup/restore (ORM-agnostic JSON, upsert by PK) PostgreSQL, CockroachDB, MySQL, MariaDB, SingleStore, SQLite, libSQL/Turso or SQL Server, or run the seed script");
244
249
  console.error(" doctor [--fix] [--json] Diagnose the project (bun, type graph, config, framework dirs, env, port)");
245
250
  console.error(" env [--check] [--json] Report env vars the app reads (getEnv) and which are missing");
246
251
  console.error(" add <framework> [--no-install] Add a framework (deps, config, starter page)");
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  isWSLEnvironment
4
- } from "./index-t84wxk1p.js";
4
+ } from "./index-00wfffav.js";
5
5
  import"./index-wtfnv3n2.js";
6
6
  import"./index-prwyfnn3.js";
7
7
  import {
@@ -1,12 +1,12 @@
1
1
  // @bun
2
2
  import {
3
3
  fingerprintAbsoluteIosDevProject
4
- } from "./index-hneb973j.js";
5
- import"./index-q1d4ns4n.js";
4
+ } from "./index-vkkqe08e.js";
5
+ import"./index-v26ze17p.js";
6
6
  import"./index-j66p8hn5.js";
7
7
  import"./index-18q9qc7f.js";
8
- import"./index-knt92dm8.js";
9
- import"./index-t84wxk1p.js";
8
+ import"./index-255xs63d.js";
9
+ import"./index-00wfffav.js";
10
10
  import"./index-wtfnv3n2.js";
11
11
  import"./index-prwyfnn3.js";
12
12
  import"./index-czwrxgdj.js";
@@ -10,12 +10,12 @@ import {
10
10
  redactAbsoluteIosLog,
11
11
  repairAbsoluteIosDevSession,
12
12
  startAbsoluteIosDevSession
13
- } from "./index-hneb973j.js";
14
- import"./index-q1d4ns4n.js";
13
+ } from "./index-vkkqe08e.js";
14
+ import"./index-v26ze17p.js";
15
15
  import"./index-j66p8hn5.js";
16
16
  import"./index-18q9qc7f.js";
17
- import"./index-knt92dm8.js";
18
- import"./index-t84wxk1p.js";
17
+ import"./index-255xs63d.js";
18
+ import"./index-00wfffav.js";
19
19
  import"./index-wtfnv3n2.js";
20
20
  import"./index-prwyfnn3.js";
21
21
  import"./index-czwrxgdj.js";
@@ -7,7 +7,7 @@ import {
7
7
  } from "./index-zh6hhrwy.js";
8
8
  import {
9
9
  start
10
- } from "./index-5268nwjx.js";
10
+ } from "./index-q3sq287p.js";
11
11
  import {
12
12
  ABSOLUTE_MOBILE_CLIENT_MANIFEST_FORMAT,
13
13
  ABSOLUTE_MOBILE_PAGE_PROTOCOL_VERSION,
@@ -18,7 +18,7 @@ import"./index-s2tazax7.js";
18
18
  import {
19
19
  fixAbsoluteMobileEmulatorToolchain,
20
20
  planAbsoluteMobileEmulatorInstall
21
- } from "./index-ce870r79.js";
21
+ } from "./index-erngp7a9.js";
22
22
  import {
23
23
  buildAbsoluteRemoteIosRelease,
24
24
  captureAbsoluteRemoteMacCommand,
@@ -31,17 +31,17 @@ import {
31
31
  pairAbsoluteRemoteMac,
32
32
  removeAbsoluteRemoteMacProfile,
33
33
  runAbsoluteRemoteIosReleaseAcceptance
34
- } from "./index-jf1f6npt.js";
34
+ } from "./index-rqbk0b30.js";
35
35
  import {
36
36
  ABSOLUTE_IOS_SIMULATOR_NAME,
37
37
  parseIosSimulators,
38
38
  repairAbsoluteIosDevSession
39
- } from "./index-hneb973j.js";
39
+ } from "./index-vkkqe08e.js";
40
40
  import {
41
41
  buildAbsoluteIosRelease,
42
42
  requireAbsoluteIosReleaseMetadata,
43
43
  resolveAbsoluteIosXcodeProject
44
- } from "./index-q1d4ns4n.js";
44
+ } from "./index-v26ze17p.js";
45
45
  import"./index-fc9vxw56.js";
46
46
  import {
47
47
  listLiveInstances
@@ -83,7 +83,7 @@ import {
83
83
  } from "./index-nxcwg9ma.js";
84
84
  import {
85
85
  buildAbsoluteExpoAndroidWslBundle
86
- } from "./index-28nxv57v.js";
86
+ } from "./index-5cgsrv62.js";
87
87
  import {
88
88
  normalizeAbsoluteIosDeviceIdentifier
89
89
  } from "./index-j66p8hn5.js";
@@ -96,7 +96,7 @@ import {
96
96
  fingerprintAbsoluteAndroidNativeProject,
97
97
  parseAdbDevices,
98
98
  repairAbsoluteAndroidDevSession
99
- } from "./index-wtyg9cy0.js";
99
+ } from "./index-1ys3dnrs.js";
100
100
  import {
101
101
  prepareAbsoluteCapacitorInitialization,
102
102
  writeAbsoluteCapacitorConfig
@@ -106,10 +106,10 @@ import {
106
106
  absoluteManagedAndroidSdkRoot,
107
107
  detectAbsoluteMobileHost,
108
108
  inspectAbsoluteMobileToolchain
109
- } from "./index-knt92dm8.js";
109
+ } from "./index-255xs63d.js";
110
110
  import {
111
111
  DEFAULT_SERVER_ENTRY
112
- } from "./index-t84wxk1p.js";
112
+ } from "./index-00wfffav.js";
113
113
  import"./index-wtfnv3n2.js";
114
114
  import {
115
115
  getDurationString
@@ -83,7 +83,7 @@ var runPs = async (args) => {
83
83
  }
84
84
  });
85
85
  if (args.includes("--watch") || args.includes("-w")) {
86
- const { runPsTui } = await import("./psTui-rxszyyz8.js");
86
+ const { runPsTui } = await import("./psTui-8e96mwgz.js");
87
87
  await runPsTui();
88
88
  return;
89
89
  }
@@ -22,7 +22,7 @@ import"./index-r8x3839e.js";
22
22
  import {
23
23
  killStaleProcesses,
24
24
  openUrlInBrowser
25
- } from "./index-t84wxk1p.js";
25
+ } from "./index-00wfffav.js";
26
26
  import"./index-wtfnv3n2.js";
27
27
  import {
28
28
  getDurationString