ugly-app 0.1.519 → 0.1.521

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 (110) hide show
  1. package/.pgdata/base/16384/pg_internal.init +0 -0
  2. package/.pgdata/global/pg_control +0 -0
  3. package/.pgdata/global/pg_internal.init +0 -0
  4. package/.pgdata/pg_wal/000000010000000000000004 +0 -0
  5. package/.pgdata/postmaster.pid +2 -2
  6. package/dist/cli/dev.d.ts.map +1 -1
  7. package/dist/cli/dev.js +0 -3
  8. package/dist/cli/dev.js.map +1 -1
  9. package/dist/cli/doctor.d.ts.map +1 -1
  10. package/dist/cli/doctor.js +31 -66
  11. package/dist/cli/doctor.js.map +1 -1
  12. package/dist/cli/index.js +8 -66
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cli/migrate.d.ts.map +1 -1
  15. package/dist/cli/migrate.js +0 -4
  16. package/dist/cli/migrate.js.map +1 -1
  17. package/dist/cli/schemaGen.d.ts.map +1 -1
  18. package/dist/cli/schemaGen.js +0 -4
  19. package/dist/cli/schemaGen.js.map +1 -1
  20. package/dist/cli/schemaStatus.d.ts.map +1 -1
  21. package/dist/cli/schemaStatus.js +0 -4
  22. package/dist/cli/schemaStatus.js.map +1 -1
  23. package/dist/cli/serverLogQueryApi.d.ts +5 -4
  24. package/dist/cli/serverLogQueryApi.d.ts.map +1 -1
  25. package/dist/cli/serverLogQueryApi.js +55 -115
  26. package/dist/cli/serverLogQueryApi.js.map +1 -1
  27. package/dist/cli/version.d.ts +1 -1
  28. package/dist/cli/version.js +1 -1
  29. package/dist/client/auth/MagicLinkCallback.d.ts.map +1 -1
  30. package/dist/client/auth/MagicLinkCallback.js +8 -2
  31. package/dist/client/auth/MagicLinkCallback.js.map +1 -1
  32. package/dist/client/auth/MagicLinkForm.d.ts.map +1 -1
  33. package/dist/client/auth/MagicLinkForm.js +6 -1
  34. package/dist/client/auth/MagicLinkForm.js.map +1 -1
  35. package/dist/server/App.d.ts.map +1 -1
  36. package/dist/server/App.js +1 -2
  37. package/dist/server/App.js.map +1 -1
  38. package/dist/server/Logging.d.ts +5 -8
  39. package/dist/server/Logging.d.ts.map +1 -1
  40. package/dist/server/Logging.js +21 -97
  41. package/dist/server/Logging.js.map +1 -1
  42. package/dist/server/auth/magicLinkProvider.d.ts.map +1 -1
  43. package/dist/server/auth/magicLinkProvider.js +55 -6
  44. package/dist/server/auth/magicLinkProvider.js.map +1 -1
  45. package/dist/server/auth/workersMagicLink.d.ts.map +1 -1
  46. package/dist/server/auth/workersMagicLink.js +78 -6
  47. package/dist/server/auth/workersMagicLink.js.map +1 -1
  48. package/dist/server/bootstrap.d.ts +5 -21
  49. package/dist/server/bootstrap.d.ts.map +1 -1
  50. package/dist/server/bootstrap.js +5 -27
  51. package/dist/server/bootstrap.js.map +1 -1
  52. package/dist/shared/DB.d.ts +0 -9
  53. package/dist/shared/DB.d.ts.map +1 -1
  54. package/dist/shared/DB.js +46 -10
  55. package/dist/shared/DB.js.map +1 -1
  56. package/dist/vite/index.d.ts +0 -1
  57. package/dist/vite/index.d.ts.map +1 -1
  58. package/dist/vite/index.js +0 -1
  59. package/dist/vite/index.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/cli/dev.ts +0 -4
  62. package/src/cli/doctor.ts +31 -63
  63. package/src/cli/index.ts +9 -81
  64. package/src/cli/migrate.ts +0 -4
  65. package/src/cli/schemaGen.ts +0 -4
  66. package/src/cli/schemaStatus.ts +0 -4
  67. package/src/cli/serverLogQueryApi.ts +53 -136
  68. package/src/cli/version.ts +1 -1
  69. package/src/client/auth/MagicLinkCallback.tsx +10 -2
  70. package/src/client/auth/MagicLinkForm.tsx +7 -1
  71. package/src/server/App.ts +1 -2
  72. package/src/server/Logging.ts +21 -97
  73. package/src/server/auth/magicLinkProvider.ts +61 -6
  74. package/src/server/auth/workersMagicLink.ts +75 -6
  75. package/src/server/bootstrap.ts +5 -29
  76. package/src/shared/DB.ts +46 -17
  77. package/src/vite/index.ts +0 -1
  78. package/.pgdata/base/1/pg_internal.init +0 -0
  79. package/.pgdata/base/17702/pg_internal.init +0 -0
  80. package/.pgdata/base/5/pg_internal.init +0 -0
  81. package/dist/cli/devTunnel.d.ts +0 -37
  82. package/dist/cli/devTunnel.d.ts.map +0 -1
  83. package/dist/cli/devTunnel.js +0 -470
  84. package/dist/cli/devTunnel.js.map +0 -1
  85. package/dist/cli/ensureInfra.d.ts +0 -9
  86. package/dist/cli/ensureInfra.d.ts.map +0 -1
  87. package/dist/cli/ensureInfra.js +0 -86
  88. package/dist/cli/ensureInfra.js.map +0 -1
  89. package/dist/cli/sidecar.d.ts +0 -21
  90. package/dist/cli/sidecar.d.ts.map +0 -1
  91. package/dist/cli/sidecar.js +0 -294
  92. package/dist/cli/sidecar.js.map +0 -1
  93. package/dist/cli/sidecarHealth.d.ts +0 -13
  94. package/dist/cli/sidecarHealth.d.ts.map +0 -1
  95. package/dist/cli/sidecarHealth.js +0 -42
  96. package/dist/cli/sidecarHealth.js.map +0 -1
  97. package/dist/cli/sidecarProtocol.d.ts +0 -41
  98. package/dist/cli/sidecarProtocol.d.ts.map +0 -1
  99. package/dist/cli/sidecarProtocol.js +0 -61
  100. package/dist/cli/sidecarProtocol.js.map +0 -1
  101. package/dist/vite/tunnelPlugin.d.ts +0 -10
  102. package/dist/vite/tunnelPlugin.d.ts.map +0 -1
  103. package/dist/vite/tunnelPlugin.js +0 -30
  104. package/dist/vite/tunnelPlugin.js.map +0 -1
  105. package/src/cli/devTunnel.ts +0 -589
  106. package/src/cli/ensureInfra.ts +0 -90
  107. package/src/cli/sidecar.ts +0 -350
  108. package/src/cli/sidecarHealth.ts +0 -58
  109. package/src/cli/sidecarProtocol.ts +0 -68
  110. package/src/vite/tunnelPlugin.ts +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"DB.js","sourceRoot":"","sources":["../../src/shared/DB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DB.js","sourceRoot":"","sources":["../../src/shared/DB.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  export { dataSourcePlugin } from './dataSourcePlugin.js';
2
- export { tunnelPlugin } from './tunnelPlugin.js';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export { dataSourcePlugin } from './dataSourcePlugin.js';
2
- export { tunnelPlugin } from './tunnelPlugin.js';
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.519",
3
+ "version": "0.1.521",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
package/src/cli/dev.ts CHANGED
@@ -35,7 +35,6 @@ function findListenerPid(port: string | number): string | null {
35
35
 
36
36
  import { runMigrations } from './migrate.js';
37
37
  import { getLocalPort } from '../shared/Defaults.js';
38
- import { ensureInfra } from './ensureInfra.js';
39
38
  import { runExportCollections } from './exportCollections.js';
40
39
 
41
40
  export async function runDev(opts: { watch: boolean; verbose: boolean } = { watch: false, verbose: false }): Promise<void> {
@@ -60,9 +59,6 @@ export async function runDev(opts: { watch: boolean; verbose: boolean } = { watc
60
59
  console.warn(`[dev] collections export failed: ${(err as Error).message}`);
61
60
  }
62
61
 
63
- // ── 1. Start infrastructure (sidecar tunnel) ─────────────────────────────
64
- await ensureInfra();
65
-
66
62
  const port = String(getLocalPort());
67
63
  // Pin PORT in env so every spawned subprocess (tsx, tsc, scripts, child
68
64
  // shells) sees the same resolved value as the server itself.
package/src/cli/doctor.ts CHANGED
@@ -13,7 +13,6 @@ import fs from 'fs';
13
13
  import os from 'os';
14
14
  import path from 'path';
15
15
  import { getLocalPort } from '../shared/Defaults.js';
16
- import { stopDevTunnel } from './devTunnel.js';
17
16
  import { readUglyAppConfig } from './uglyappConfig.js';
18
17
  import { probeAuth, type AuthLine } from './probeAuth.js';
19
18
 
@@ -67,20 +66,15 @@ export async function runDoctor(options: RunDoctorOptions = {}): Promise<void> {
67
66
  for (const l of authProbe.lines) lines.push(l);
68
67
  for (const s of authProbe.nextSteps) nextSteps.push(s);
69
68
 
70
- // 3. DATABASE_URL inheritance (pre-ensureInfra snapshot)
69
+ // 3. DATABASE_URL
71
70
  const envDb = process.env['DATABASE_URL'];
72
- if (envDb) {
73
- lines.push({
74
- status: 'info',
75
- label: 'DATABASE_URL',
76
- detail: 'set in this shell',
77
- });
78
- } else {
79
- lines.push({
80
- status: 'info',
81
- label: 'DATABASE_URL',
82
- detail: 'unset in this shell (expected — will be populated by ensureInfra at runtime)',
83
- });
71
+ lines.push({
72
+ status: envDb ? 'info' : 'warn',
73
+ label: 'DATABASE_URL',
74
+ detail: envDb ? 'set in this shell' : 'unset — set DATABASE_URL before running the app',
75
+ });
76
+ if (!envDb) {
77
+ nextSteps.push('Set DATABASE_URL (e.g. export DATABASE_URL=postgres://localhost/myapp)');
84
78
  }
85
79
 
86
80
  // 4. Migrations dir
@@ -108,37 +102,26 @@ export async function runDoctor(options: RunDoctorOptions = {}): Promise<void> {
108
102
  });
109
103
  }
110
104
 
111
- // 5. Live Postgres connection check (only when .uglyapp + some token).
112
- // Gated on config presence so doctor is fast in a half-configured app
113
- // instead of blocking on a tunnel handshake that can't succeed.
114
- //
115
- // `safeConnectCheck` calls ensureInfra startDevTunnel which opens a WS +
116
- // local NATS server. stopDevTunnel here so doctor exits cleanly; no-op if
117
- // the tunnel was never started.
118
- if (config && !skipLive) {
119
- try {
120
- const connectCheck = await safeConnectCheck(cwd);
105
+ // 5. Live Postgres connection check (only when DATABASE_URL is set).
106
+ if (config && envDb && !skipLive) {
107
+ const connectCheck = await safeConnectCheck();
108
+ lines.push({
109
+ status: connectCheck.ok ? 'ok' : 'error',
110
+ label: 'Postgres connect',
111
+ detail: connectCheck.detail,
112
+ });
113
+ if (!connectCheck.ok && connectCheck.hint) nextSteps.push(connectCheck.hint);
114
+
115
+ if (connectCheck.ok) {
116
+ const migStatus = await safeMigrationStatus(migrationFiles);
121
117
  lines.push({
122
- status: connectCheck.ok ? 'ok' : 'error',
123
- label: 'Postgres connect',
124
- detail: connectCheck.detail,
118
+ status: migStatus.pending > 0 ? 'warn' : 'ok',
119
+ label: 'migration status',
120
+ detail: `${migStatus.applied} applied, ${migStatus.pending} pending`,
125
121
  });
126
- if (!connectCheck.ok && connectCheck.hint) nextSteps.push(connectCheck.hint);
127
-
128
- // Applied vs pending migrations — only if we connected.
129
- if (connectCheck.ok) {
130
- const migStatus = await safeMigrationStatus(migrationFiles);
131
- lines.push({
132
- status: migStatus.pending > 0 ? 'warn' : 'ok',
133
- label: 'migration status',
134
- detail: `${migStatus.applied} applied, ${migStatus.pending} pending`,
135
- });
136
- if (migStatus.pending > 0) {
137
- nextSteps.push('Run `npx ugly-app db:migrate` to apply pending migrations');
138
- }
122
+ if (migStatus.pending > 0) {
123
+ nextSteps.push('Run `npx ugly-app db:migrate` to apply pending migrations');
139
124
  }
140
- } finally {
141
- stopDevTunnel();
142
125
  }
143
126
  }
144
127
 
@@ -192,31 +175,16 @@ interface ConnectCheck {
192
175
  }
193
176
 
194
177
  /**
195
- * Run ensureInfra + initPg in a short-lived shell so we can report
196
- * whether the Postgres pool actually comes up. Tears down before
197
- * returning so `doctor` exits cleanly. Every failure mode is mapped to
198
- * a short actionable `hint`.
178
+ * Initialise the Postgres pool in a short-lived shell so we can report
179
+ * whether DATABASE_URL is actually reachable. Tears down before returning.
199
180
  */
200
- async function safeConnectCheck(_cwd: string): Promise<ConnectCheck> {
201
- try {
202
- const { ensureInfra } = await import('./ensureInfra.js');
203
- await ensureInfra();
204
- } catch (err) {
205
- const msg = (err as Error).message;
206
- return {
207
- ok: false,
208
- detail: `ensureInfra failed: ${msg.slice(0, 160)}`,
209
- hint: msg.includes('login') || msg.includes('auth')
210
- ? 'Run `npx ugly-app login`'
211
- : 'Check `.uglyapp` and re-run `npx ugly-app configure` if the project id changed',
212
- };
213
- }
181
+ async function safeConnectCheck(): Promise<ConnectCheck> {
214
182
  const dbUrl = process.env['DATABASE_URL'];
215
183
  if (!dbUrl) {
216
184
  return {
217
185
  ok: false,
218
- detail: 'ensureInfra ran but DATABASE_URL did not land in env',
219
- hint: 'Run `npx ugly-app login` — the project token request to ugly.bot likely failed',
186
+ detail: 'DATABASE_URL not set',
187
+ hint: 'Set DATABASE_URL before running diagnostics',
220
188
  };
221
189
  }
222
190
  try {
@@ -230,7 +198,7 @@ async function safeConnectCheck(_cwd: string): Promise<ConnectCheck> {
230
198
  return {
231
199
  ok: false,
232
200
  detail: 'initPg returned but isPgConnected() is false',
233
- hint: 'Check the ugly.bot tunnel and token lifetime; `npx ugly-app login` usually fixes this',
201
+ hint: 'Verify Postgres is reachable at DATABASE_URL',
234
202
  };
235
203
  }
236
204
  return { ok: true, detail: `connected to ${dbUrl.replace(/:[^:@/]+@/, ':***@')}` };
package/src/cli/index.ts CHANGED
@@ -207,65 +207,18 @@ program
207
207
  });
208
208
 
209
209
  program
210
- .command('error:dev')
211
- .description(
212
- 'Query error logs from your dev-tunnel sessions (requires ugly-app login)',
213
- )
210
+ .command('errors')
211
+ .description("Query error logs from this project's Postgres (DATABASE_URL)")
214
212
  .option('--limit <n>', 'Max entries to show', '50')
213
+ .option('--level <lvl>', 'Filter by level (log/info/warn/error/debug)')
215
214
  .option('--json', 'Output as JSON')
216
- .action(async (opts: { limit?: string; json?: boolean }) => {
217
- try {
218
- const { queryServerLogsApi, getCurrentDevTunnelId } = await import(
219
- './serverLogQueryApi.js'
220
- );
221
- await queryServerLogsApi('errorLog', {
222
- limit: opts.limit ? parseInt(opts.limit, 10) : 50,
223
- json: opts.json,
224
- devTunnelId: getCurrentDevTunnelId(),
225
- });
226
- } catch (e) {
227
- console.error((e as Error).message);
228
- process.exit(1);
229
- }
230
- });
231
-
232
- program
233
- .command('error:prod')
234
- .description(
235
- 'Query error logs from production deployed servers (requires ugly-app login)',
236
- )
237
- .option('--limit <n>', 'Max entries to show', '50')
238
- .option('--json', 'Output as JSON')
239
- .action(async (opts: { limit?: string; json?: boolean }) => {
215
+ .action(async (opts: { limit?: string; level?: string; json?: boolean }) => {
240
216
  try {
241
217
  const { queryServerLogsApi } = await import('./serverLogQueryApi.js');
242
218
  await queryServerLogsApi('errorLog', {
243
219
  limit: opts.limit ? parseInt(opts.limit, 10) : 50,
220
+ level: opts.level,
244
221
  json: opts.json,
245
- devTunnelId: 'none',
246
- });
247
- } catch (e) {
248
- console.error((e as Error).message);
249
- process.exit(1);
250
- }
251
- });
252
-
253
- program
254
- .command('perf:dev')
255
- .description(
256
- 'Query perf logs from your dev-tunnel sessions (requires ugly-app login)',
257
- )
258
- .option('--limit <n>', 'Max entries to show', '50')
259
- .option('--json', 'Output as JSON')
260
- .action(async (opts: { limit?: string; json?: boolean }) => {
261
- try {
262
- const { queryServerLogsApi, getCurrentDevTunnelId } = await import(
263
- './serverLogQueryApi.js'
264
- );
265
- await queryServerLogsApi('perfLog', {
266
- limit: opts.limit ? parseInt(opts.limit, 10) : 50,
267
- json: opts.json,
268
- devTunnelId: getCurrentDevTunnelId(),
269
222
  });
270
223
  } catch (e) {
271
224
  console.error((e as Error).message);
@@ -274,8 +227,8 @@ program
274
227
  });
275
228
 
276
229
  program
277
- .command('perf:prod')
278
- .description('Query perf logs from production deployed servers (requires ugly-app login)')
230
+ .command('perf')
231
+ .description("Query perf logs from this project's Postgres (DATABASE_URL)")
279
232
  .option('--limit <n>', 'Max entries to show', '50')
280
233
  .option('--json', 'Output as JSON')
281
234
  .action(async (opts: { limit?: string; json?: boolean }) => {
@@ -284,30 +237,6 @@ program
284
237
  await queryServerLogsApi('perfLog', {
285
238
  limit: opts.limit ? parseInt(opts.limit, 10) : 50,
286
239
  json: opts.json,
287
- devTunnelId: 'none',
288
- });
289
- } catch (e) {
290
- console.error((e as Error).message);
291
- process.exit(1);
292
- }
293
- });
294
-
295
- program
296
- .command('feedback:dev')
297
- .description(
298
- 'Query feedback from your dev-tunnel sessions (requires ugly-app login)',
299
- )
300
- .option('--limit <n>', 'Max entries to show', '50')
301
- .option('--json', 'Output as JSON')
302
- .action(async (opts: { limit?: string; json?: boolean }) => {
303
- try {
304
- const { queryServerLogsApi, getCurrentDevTunnelId } = await import(
305
- './serverLogQueryApi.js'
306
- );
307
- await queryServerLogsApi('feedbackReport', {
308
- limit: opts.limit ? parseInt(opts.limit, 10) : 50,
309
- json: opts.json,
310
- devTunnelId: getCurrentDevTunnelId(),
311
240
  });
312
241
  } catch (e) {
313
242
  console.error((e as Error).message);
@@ -316,8 +245,8 @@ program
316
245
  });
317
246
 
318
247
  program
319
- .command('feedback:prod')
320
- .description('Query feedback from production deployed servers (requires ugly-app login)')
248
+ .command('feedback')
249
+ .description("Query feedback from this project's Postgres (DATABASE_URL)")
321
250
  .option('--limit <n>', 'Max entries to show', '50')
322
251
  .option('--json', 'Output as JSON')
323
252
  .action(async (opts: { limit?: string; json?: boolean }) => {
@@ -326,7 +255,6 @@ program
326
255
  await queryServerLogsApi('feedbackReport', {
327
256
  limit: opts.limit ? parseInt(opts.limit, 10) : 50,
328
257
  json: opts.json,
329
- devTunnelId: 'none',
330
258
  });
331
259
  } catch (e) {
332
260
  console.error((e as Error).message);
@@ -2,8 +2,6 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { pgQuery as query } from '../server/Pg.js';
4
4
  import { closePg, initPg } from '../server/NodePool.js';
5
- import { stopDevTunnel } from './devTunnel.js';
6
- import { ensureInfra } from './ensureInfra.js';
7
5
  import { disposeImportTs, importTs } from './uglyappConfig.js';
8
6
 
9
7
  interface MigrationRecord {
@@ -23,7 +21,6 @@ async function ensureMigrationsTable(): Promise<void> {
23
21
  export async function runMigrations(
24
22
  options: { status?: boolean } = {},
25
23
  ): Promise<void> {
26
- await ensureInfra();
27
24
  await initPg();
28
25
 
29
26
  try {
@@ -117,7 +114,6 @@ export async function runMigrations(
117
114
  }
118
115
  }
119
116
  } finally {
120
- stopDevTunnel();
121
117
  closePg();
122
118
  await disposeImportTs();
123
119
  }
@@ -2,8 +2,6 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import type { SchemaChange } from '../shared/SchemaDiff.js';
4
4
  import type { IndexDef } from '../shared/DB.js';
5
- import { ensureInfra } from './ensureInfra.js';
6
- import { stopDevTunnel } from './devTunnel.js';
7
5
  import { disposeImportTs, importTs } from './uglyappConfig.js';
8
6
  import { checkSchemas, ensureSchemaSnapshotsTable } from '../server/SchemaCheck.js';
9
7
  import { closePg, initPg } from '../server/NodePool.js';
@@ -199,7 +197,6 @@ export function writeMigrationFile(
199
197
  }
200
198
 
201
199
  export async function runSchemaGen(): Promise<void> {
202
- await ensureInfra();
203
200
  await initPg();
204
201
 
205
202
  const collectionsPath = path.resolve(process.cwd(), 'shared/collections.ts');
@@ -262,7 +259,6 @@ export async function runSchemaGen(): Promise<void> {
262
259
  console.log('Fix all REPLACE_ME values, then run: npm run db:migrate');
263
260
  }
264
261
  } finally {
265
- stopDevTunnel();
266
262
  closePg();
267
263
  await disposeImportTs();
268
264
  }
@@ -1,12 +1,9 @@
1
1
  import path from 'path';
2
2
  import { closePg, initPg } from '../server/NodePool.js';
3
- import { ensureInfra } from './ensureInfra.js';
4
- import { stopDevTunnel } from './devTunnel.js';
5
3
  import { disposeImportTs, importTs } from './uglyappConfig.js';
6
4
  import { checkSchemas, formatSchemaCheckResult } from '../server/SchemaCheck.js';
7
5
 
8
6
  export async function runSchemaStatus(): Promise<void> {
9
- await ensureInfra();
10
7
  await initPg();
11
8
 
12
9
  const collectionsPath = path.resolve(process.cwd(), 'shared/collections.ts');
@@ -36,7 +33,6 @@ export async function runSchemaStatus(): Promise<void> {
36
33
  console.log('\nRun "npm run db:schema-gen" to generate migration files.');
37
34
  }
38
35
  } finally {
39
- stopDevTunnel();
40
36
  closePg();
41
37
  await disposeImportTs();
42
38
  }