netlify-cli 25.0.0 → 25.1.0

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 (129) hide show
  1. package/dist/commands/base-command.d.ts.map +1 -1
  2. package/dist/commands/base-command.js +18 -2
  3. package/dist/commands/base-command.js.map +1 -1
  4. package/dist/commands/database/database.d.ts +0 -15
  5. package/dist/commands/database/database.d.ts.map +1 -1
  6. package/dist/commands/database/database.js +40 -14
  7. package/dist/commands/database/database.js.map +1 -1
  8. package/dist/commands/database/{connect.d.ts → db-connect.d.ts} +1 -1
  9. package/dist/commands/database/db-connect.d.ts.map +1 -0
  10. package/dist/commands/database/{connect.js → db-connect.js} +4 -4
  11. package/dist/commands/database/db-connect.js.map +1 -0
  12. package/dist/commands/database/{migrate.d.ts → db-migrate.d.ts} +1 -1
  13. package/dist/commands/database/db-migrate.d.ts.map +1 -0
  14. package/dist/commands/database/{migrate.js → db-migrate.js} +13 -4
  15. package/dist/commands/database/db-migrate.js.map +1 -0
  16. package/dist/commands/database/{migration-new.d.ts → db-migration-new.d.ts} +1 -2
  17. package/dist/commands/database/db-migration-new.d.ts.map +1 -0
  18. package/dist/commands/database/{migration-new.js → db-migration-new.js} +2 -13
  19. package/dist/commands/database/db-migration-new.js.map +1 -0
  20. package/dist/commands/database/{migration-pull.d.ts → db-migration-pull.d.ts} +1 -1
  21. package/dist/commands/database/db-migration-pull.d.ts.map +1 -0
  22. package/dist/commands/database/{migration-pull.js → db-migration-pull.js} +5 -4
  23. package/dist/commands/database/db-migration-pull.js.map +1 -0
  24. package/dist/commands/database/db-migrations-reset.d.ts +7 -0
  25. package/dist/commands/database/db-migrations-reset.d.ts.map +1 -0
  26. package/dist/commands/database/db-migrations-reset.js +108 -0
  27. package/dist/commands/database/db-migrations-reset.js.map +1 -0
  28. package/dist/commands/database/{reset.d.ts → db-reset.d.ts} +1 -1
  29. package/dist/commands/database/db-reset.d.ts.map +1 -0
  30. package/dist/commands/database/{reset.js → db-reset.js} +2 -2
  31. package/dist/commands/database/db-reset.js.map +1 -0
  32. package/dist/commands/database/db-status.d.ts +24 -0
  33. package/dist/commands/database/db-status.d.ts.map +1 -0
  34. package/dist/commands/database/db-status.js +319 -0
  35. package/dist/commands/database/db-status.js.map +1 -0
  36. package/dist/commands/database/legacy/constants.d.ts.map +1 -0
  37. package/dist/commands/database/legacy/constants.js.map +1 -0
  38. package/dist/commands/database/{init.d.ts → legacy/db-init.d.ts} +2 -2
  39. package/dist/commands/database/legacy/db-init.d.ts.map +1 -0
  40. package/dist/commands/database/{init.js → legacy/db-init.js} +2 -2
  41. package/dist/commands/database/legacy/db-init.js.map +1 -0
  42. package/dist/commands/database/{status.d.ts → legacy/db-status.d.ts} +2 -2
  43. package/dist/commands/database/legacy/db-status.d.ts.map +1 -0
  44. package/dist/commands/database/{status.js → legacy/db-status.js} +2 -2
  45. package/dist/commands/database/legacy/db-status.js.map +1 -0
  46. package/dist/commands/database/legacy/drizzle.d.ts +3 -0
  47. package/dist/commands/database/legacy/drizzle.d.ts.map +1 -0
  48. package/dist/commands/database/legacy/drizzle.js.map +1 -0
  49. package/dist/commands/database/legacy/types.d.ts +16 -0
  50. package/dist/commands/database/legacy/types.d.ts.map +1 -0
  51. package/dist/commands/database/legacy/types.js +2 -0
  52. package/dist/commands/database/legacy/types.js.map +1 -0
  53. package/dist/commands/database/{utils.d.ts → legacy/utils.d.ts} +2 -2
  54. package/dist/commands/database/legacy/utils.d.ts.map +1 -0
  55. package/dist/commands/database/legacy/utils.js.map +1 -0
  56. package/dist/commands/database/util/applied-migrations.d.ts +20 -0
  57. package/dist/commands/database/util/applied-migrations.d.ts.map +1 -0
  58. package/dist/commands/database/util/applied-migrations.js +43 -0
  59. package/dist/commands/database/util/applied-migrations.js.map +1 -0
  60. package/dist/commands/database/util/constants.d.ts +4 -0
  61. package/dist/commands/database/util/constants.d.ts.map +1 -0
  62. package/dist/commands/database/util/constants.js +4 -0
  63. package/dist/commands/database/util/constants.js.map +1 -0
  64. package/dist/commands/database/util/db-connection.d.ts +17 -0
  65. package/dist/commands/database/util/db-connection.d.ts.map +1 -0
  66. package/dist/commands/database/{db-connection.js → util/db-connection.js} +20 -16
  67. package/dist/commands/database/util/db-connection.js.map +1 -0
  68. package/dist/commands/database/util/meta-commands.d.ts.map +1 -0
  69. package/dist/commands/database/util/meta-commands.js.map +1 -0
  70. package/dist/commands/database/util/migrations-path.d.ts +4 -0
  71. package/dist/commands/database/util/migrations-path.d.ts.map +1 -0
  72. package/dist/commands/database/util/migrations-path.js +19 -0
  73. package/dist/commands/database/util/migrations-path.js.map +1 -0
  74. package/dist/commands/database/util/pg-client-executor.d.ts.map +1 -0
  75. package/dist/commands/database/util/pg-client-executor.js.map +1 -0
  76. package/dist/commands/database/util/psql-formatter.d.ts.map +1 -0
  77. package/dist/commands/database/util/psql-formatter.js.map +1 -0
  78. package/dist/commands/deploy/deploy.d.ts.map +1 -1
  79. package/dist/commands/deploy/deploy.js +7 -2
  80. package/dist/commands/deploy/deploy.js.map +1 -1
  81. package/dist/commands/login/login.d.ts.map +1 -1
  82. package/dist/commands/login/login.js +0 -6
  83. package/dist/commands/login/login.js.map +1 -1
  84. package/dist/tsconfig.build.tsbuildinfo +1 -1
  85. package/dist/utils/open-browser.d.ts +1 -1
  86. package/dist/utils/open-browser.d.ts.map +1 -1
  87. package/dist/utils/open-browser.js +4 -2
  88. package/dist/utils/open-browser.js.map +1 -1
  89. package/package.json +1 -1
  90. package/dist/commands/database/connect.d.ts.map +0 -1
  91. package/dist/commands/database/connect.js.map +0 -1
  92. package/dist/commands/database/constants.d.ts.map +0 -1
  93. package/dist/commands/database/constants.js.map +0 -1
  94. package/dist/commands/database/db-connection.d.ts +0 -15
  95. package/dist/commands/database/db-connection.d.ts.map +0 -1
  96. package/dist/commands/database/db-connection.js.map +0 -1
  97. package/dist/commands/database/drizzle.d.ts +0 -3
  98. package/dist/commands/database/drizzle.d.ts.map +0 -1
  99. package/dist/commands/database/drizzle.js.map +0 -1
  100. package/dist/commands/database/init.d.ts.map +0 -1
  101. package/dist/commands/database/init.js.map +0 -1
  102. package/dist/commands/database/meta-commands.d.ts.map +0 -1
  103. package/dist/commands/database/meta-commands.js.map +0 -1
  104. package/dist/commands/database/migrate.d.ts.map +0 -1
  105. package/dist/commands/database/migrate.js.map +0 -1
  106. package/dist/commands/database/migration-new.d.ts.map +0 -1
  107. package/dist/commands/database/migration-new.js.map +0 -1
  108. package/dist/commands/database/migration-pull.d.ts.map +0 -1
  109. package/dist/commands/database/migration-pull.js.map +0 -1
  110. package/dist/commands/database/pg-client-executor.d.ts.map +0 -1
  111. package/dist/commands/database/pg-client-executor.js.map +0 -1
  112. package/dist/commands/database/psql-formatter.d.ts.map +0 -1
  113. package/dist/commands/database/psql-formatter.js.map +0 -1
  114. package/dist/commands/database/reset.d.ts.map +0 -1
  115. package/dist/commands/database/reset.js.map +0 -1
  116. package/dist/commands/database/status.d.ts.map +0 -1
  117. package/dist/commands/database/status.js.map +0 -1
  118. package/dist/commands/database/utils.d.ts.map +0 -1
  119. package/dist/commands/database/utils.js.map +0 -1
  120. /package/dist/commands/database/{constants.d.ts → legacy/constants.d.ts} +0 -0
  121. /package/dist/commands/database/{constants.js → legacy/constants.js} +0 -0
  122. /package/dist/commands/database/{drizzle.js → legacy/drizzle.js} +0 -0
  123. /package/dist/commands/database/{utils.js → legacy/utils.js} +0 -0
  124. /package/dist/commands/database/{meta-commands.d.ts → util/meta-commands.d.ts} +0 -0
  125. /package/dist/commands/database/{meta-commands.js → util/meta-commands.js} +0 -0
  126. /package/dist/commands/database/{pg-client-executor.d.ts → util/pg-client-executor.d.ts} +0 -0
  127. /package/dist/commands/database/{pg-client-executor.js → util/pg-client-executor.js} +0 -0
  128. /package/dist/commands/database/{psql-formatter.d.ts → util/psql-formatter.d.ts} +0 -0
  129. /package/dist/commands/database/{psql-formatter.js → util/psql-formatter.js} +0 -0
@@ -0,0 +1,108 @@
1
+ import { readdir, rm } from 'fs/promises';
2
+ import { join } from 'path';
3
+ import { chalk, log, logJson, netlifyCommand } from '../../utils/command-helpers.js';
4
+ import { localAppliedMigrations, remoteAppliedMigrations } from './util/applied-migrations.js';
5
+ import { connectToDatabase } from './util/db-connection.js';
6
+ import { resolveMigrationsDirectory } from './util/migrations-path.js';
7
+ const SQL_EXTENSION = '.sql';
8
+ export const migrationsReset = async (options, command) => {
9
+ const branch = options.branch ?? process.env.NETLIFY_DB_BRANCH;
10
+ const json = options.json ?? false;
11
+ if (branch) {
12
+ await resetAgainstBranch(branch, json, command);
13
+ return;
14
+ }
15
+ await resetAgainstLocal(json, command);
16
+ };
17
+ const resetAgainstLocal = async (json, command) => {
18
+ const buildDir = command.netlify.site.root ?? command.project.root ?? command.project.baseDirectory;
19
+ if (!buildDir) {
20
+ throw new Error('Could not determine the project root directory.');
21
+ }
22
+ const migrationsDirectory = resolveMigrationsDirectory(command);
23
+ if (!json) {
24
+ log('Removing local migration files that have not been applied to the local development database.');
25
+ }
26
+ const { executor, cleanup } = await connectToDatabase(buildDir);
27
+ let deleted;
28
+ try {
29
+ const applied = await localAppliedMigrations({ executor })();
30
+ const appliedNames = new Set(applied.map((m) => m.name));
31
+ deleted = await deletePendingMigrationFiles(migrationsDirectory, appliedNames);
32
+ }
33
+ finally {
34
+ await cleanup();
35
+ }
36
+ logOutcome(deleted, { json, target: 'local' });
37
+ };
38
+ const resetAgainstBranch = async (branch, json, command) => {
39
+ const siteId = command.siteId;
40
+ const accessToken = command.netlify.api.accessToken;
41
+ const basePath = command.netlify.api.basePath;
42
+ if (!siteId) {
43
+ throw new Error(`The project must be linked with ${netlifyCommand()} link to target a remote branch.`);
44
+ }
45
+ if (!accessToken) {
46
+ throw new Error(`You must be logged in with ${netlifyCommand()} login to target a remote branch.`);
47
+ }
48
+ const migrationsDirectory = resolveMigrationsDirectory(command);
49
+ if (!json) {
50
+ log(`Removing local migration files that have not been applied to database branch ${chalk.bold(branch)}. ` +
51
+ 'Files that are already applied to the branch are kept untouched.');
52
+ }
53
+ const applied = await remoteAppliedMigrations({ siteId, accessToken, basePath, branch })();
54
+ const appliedNames = new Set(applied.map((m) => m.name));
55
+ const deleted = await deletePendingMigrationFiles(migrationsDirectory, appliedNames);
56
+ logOutcome(deleted, { json, target: 'branch', branch });
57
+ };
58
+ const logOutcome = (deleted, params) => {
59
+ if (params.json) {
60
+ logJson({
61
+ reset: true,
62
+ target: params.target,
63
+ ...(params.branch ? { branch: params.branch } : {}),
64
+ pendingMigrationFilesDeleted: deleted,
65
+ });
66
+ return;
67
+ }
68
+ if (deleted.length === 0) {
69
+ log('No pending migration files to delete — all local migrations are already applied.');
70
+ return;
71
+ }
72
+ log(`Deleted ${String(deleted.length)} pending migration file(s):`);
73
+ for (const name of deleted) {
74
+ log(` • ${name}`);
75
+ }
76
+ };
77
+ const deletePendingMigrationFiles = async (migrationsDirectory, appliedNames) => {
78
+ const local = await readLocalMigrations(migrationsDirectory);
79
+ const pending = local.filter((m) => !appliedNames.has(m.name));
80
+ for (const migration of pending) {
81
+ await rm(migration.path, { recursive: true, force: true });
82
+ }
83
+ return pending.map((m) => m.name);
84
+ };
85
+ const readLocalMigrations = async (migrationsDirectory) => {
86
+ let entries;
87
+ try {
88
+ entries = await readdir(migrationsDirectory, { withFileTypes: true });
89
+ }
90
+ catch (error) {
91
+ if (error.code === 'ENOENT') {
92
+ return [];
93
+ }
94
+ throw error;
95
+ }
96
+ const migrations = [];
97
+ for (const entry of entries) {
98
+ const entryPath = join(migrationsDirectory, entry.name);
99
+ if (entry.isDirectory()) {
100
+ migrations.push({ name: entry.name, path: entryPath });
101
+ }
102
+ else if (entry.isFile() && entry.name.endsWith(SQL_EXTENSION)) {
103
+ migrations.push({ name: entry.name.slice(0, -SQL_EXTENSION.length), path: entryPath });
104
+ }
105
+ }
106
+ return migrations;
107
+ };
108
+ //# sourceMappingURL=db-migrations-reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-migrations-reset.js","sourceRoot":"","sources":["../../../src/commands/database/db-migrations-reset.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,4 @@ export interface ResetOptions {
3
3
  json?: boolean;
4
4
  }
5
5
  export declare const reset: (options: ResetOptions, command: BaseCommand) => Promise<void>;
6
- //# sourceMappingURL=reset.d.ts.map
6
+ //# sourceMappingURL=db-reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-reset.d.ts","sourceRoot":"","sources":["../../../src/commands/database/db-reset.ts"],"names":[],"mappings":"AAGA,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAG5C,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,eAAO,MAAM,KAAK,GAAU,SAAS,YAAY,EAAE,SAAS,WAAW,kBAoBtE,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { resetDatabase } from '@netlify/dev';
2
2
  import { log, logJson } from '../../utils/command-helpers.js';
3
- import { connectToDatabase } from './db-connection.js';
3
+ import { connectToDatabase } from './util/db-connection.js';
4
4
  export const reset = async (options, command) => {
5
5
  const { json } = options;
6
6
  const buildDir = command.netlify.site.root ?? command.project.root ?? command.project.baseDirectory;
@@ -21,4 +21,4 @@ export const reset = async (options, command) => {
21
21
  await cleanup();
22
22
  }
23
23
  };
24
- //# sourceMappingURL=reset.js.map
24
+ //# sourceMappingURL=db-reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-reset.js","sourceRoot":"","sources":["../../../src/commands/database/db-reset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAM3D,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,OAAqB,EAAE,OAAoB,EAAE,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAA;IACnG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAE/D,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;QAE7B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,4CAA4C,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,EAAE,CAAA;IACjB,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,24 @@
1
+ import BaseCommand from '../base-command.js';
2
+ import { type MigrationFile } from './util/applied-migrations.js';
3
+ export interface DatabaseStatusOptions {
4
+ branch?: string;
5
+ showCredentials?: boolean;
6
+ json?: boolean;
7
+ }
8
+ interface MigrationEntry {
9
+ version: number;
10
+ name: string;
11
+ }
12
+ interface OutOfOrderEntry extends MigrationEntry {
13
+ maxApplied: number;
14
+ }
15
+ interface MigrationsStatus {
16
+ applied: MigrationEntry[];
17
+ pending: MigrationEntry[];
18
+ missingOnDisk: MigrationEntry[];
19
+ outOfOrder: OutOfOrderEntry[];
20
+ }
21
+ export declare const computeStatus: (applied: MigrationFile[], local: MigrationEntry[]) => MigrationsStatus;
22
+ export declare const statusDb: (options: DatabaseStatusOptions, command: BaseCommand) => Promise<void>;
23
+ export {};
24
+ //# sourceMappingURL=db-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-status.d.ts","sourceRoot":"","sources":["../../../src/commands/database/db-status.ts"],"names":[],"mappings":"AAGA,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,8BAA8B,CAAA;AAIrC,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,UAAU,eAAgB,SAAQ,cAAc;IAC9C,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,aAAa,EAAE,cAAc,EAAE,CAAA;IAC/B,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAuDD,eAAO,MAAM,aAAa,GAAI,SAAS,aAAa,EAAE,EAAE,OAAO,cAAc,EAAE,KAAG,gBAcjF,CAAA;AAgOD,eAAO,MAAM,QAAQ,GAAU,SAAS,qBAAqB,EAAE,SAAS,WAAW,kBAqGlF,CAAA"}
@@ -0,0 +1,319 @@
1
+ import { readFile, readdir } from 'fs/promises';
2
+ import { chalk, log, logJson, netlifyCommand } from '../../utils/command-helpers.js';
3
+ import { localAppliedMigrations, remoteAppliedMigrations, } from './util/applied-migrations.js';
4
+ import { connectToDatabase, detectExistingLocalConnectionString } from './util/db-connection.js';
5
+ import { resolveMigrationsDirectory } from './util/migrations-path.js';
6
+ const DOCS_URL = 'https://ntl.fyi/database';
7
+ const NETLIFY_DATABASE_PACKAGE = '@netlify/database';
8
+ const formatCommand = (suffix) => chalk.cyanBright.bold(`${netlifyCommand()} ${suffix}`);
9
+ const logConnectCommands = () => {
10
+ secondary(`Run ${formatCommand('db connect')} to start an interactive database client`);
11
+ secondary(`Run ${formatCommand('db connect --query "<SQL>"')} to run a one-shot query`);
12
+ };
13
+ const parseVersion = (name) => {
14
+ const match = /^(\d+)[_-]/.exec(name);
15
+ if (!match) {
16
+ return null;
17
+ }
18
+ const parsed = Number.parseInt(match[1], 10);
19
+ return Number.isFinite(parsed) ? parsed : null;
20
+ };
21
+ const readLocalMigrations = async (migrationsDirectory) => {
22
+ let entries;
23
+ try {
24
+ entries = await readdir(migrationsDirectory, { withFileTypes: true });
25
+ }
26
+ catch (error) {
27
+ if (error.code === 'ENOENT') {
28
+ return [];
29
+ }
30
+ throw error;
31
+ }
32
+ const migrations = [];
33
+ for (const entry of entries) {
34
+ if (!entry.isDirectory()) {
35
+ continue;
36
+ }
37
+ const version = parseVersion(entry.name);
38
+ if (version === null) {
39
+ continue;
40
+ }
41
+ migrations.push({ name: entry.name, version });
42
+ }
43
+ migrations.sort((a, b) => a.version - b.version);
44
+ return migrations;
45
+ };
46
+ const toEntry = (m) => ({ version: m.version, name: m.name });
47
+ export const computeStatus = (applied, local) => {
48
+ const appliedEntries = applied.map(toEntry);
49
+ const appliedByName = new Map(appliedEntries.map((m) => [m.name, m]));
50
+ const localByName = new Map(local.map((m) => [m.name, m]));
51
+ const pending = local.filter((m) => !appliedByName.has(m.name));
52
+ const missingOnDisk = appliedEntries.filter((m) => !localByName.has(m.name));
53
+ const maxApplied = appliedEntries.reduce((max, m) => (m.version > max ? m.version : max), 0);
54
+ const outOfOrder = pending
55
+ .filter((m) => m.version <= maxApplied)
56
+ .map((m) => ({ name: m.name, version: m.version, maxApplied }));
57
+ return { applied: appliedEntries, pending, missingOnDisk, outOfOrder };
58
+ };
59
+ const redactConnectionString = (connectionString) => {
60
+ try {
61
+ const url = new URL(connectionString);
62
+ if (url.username) {
63
+ url.username = '***';
64
+ }
65
+ if (url.password) {
66
+ url.password = '***';
67
+ }
68
+ return url.toString();
69
+ }
70
+ catch {
71
+ return '***';
72
+ }
73
+ };
74
+ const connectionStringHasCredentials = (connectionString) => {
75
+ try {
76
+ const url = new URL(connectionString);
77
+ return Boolean(url.username || url.password);
78
+ }
79
+ catch {
80
+ return false;
81
+ }
82
+ };
83
+ const isNetlifyDatabasePackageInstalled = async (projectRoot) => {
84
+ try {
85
+ const raw = await readFile(`${projectRoot}/package.json`, 'utf-8');
86
+ const pkg = JSON.parse(raw);
87
+ return Boolean(pkg.dependencies?.[NETLIFY_DATABASE_PACKAGE] ?? pkg.devDependencies?.[NETLIFY_DATABASE_PACKAGE]);
88
+ }
89
+ catch {
90
+ return false;
91
+ }
92
+ };
93
+ const fetchBranchConnectionString = async (ctx, branchId) => {
94
+ const token = ctx.accessToken.replace('Bearer ', '');
95
+ const url = new URL(`${ctx.basePath}/sites/${encodeURIComponent(ctx.siteId)}/database/branch/${encodeURIComponent(branchId)}`);
96
+ const response = await fetch(url, {
97
+ headers: { Authorization: `Bearer ${token}` },
98
+ });
99
+ if (response.status === 404) {
100
+ throw new Error(`No database branch found for "${branchId}". Has a deploy been published for this branch?`);
101
+ }
102
+ if (!response.ok) {
103
+ const text = await response.text();
104
+ throw new Error(`Failed to fetch database branch "${branchId}" (${String(response.status)}): ${text}`);
105
+ }
106
+ const data = (await response.json());
107
+ if (!data.connection_string) {
108
+ throw new Error(`Database branch "${branchId}" has no connection string.`);
109
+ }
110
+ return data.connection_string;
111
+ };
112
+ const fetchSiteDatabase = async (ctx) => {
113
+ const token = ctx.accessToken.replace('Bearer ', '');
114
+ const url = new URL(`${ctx.basePath}/sites/${encodeURIComponent(ctx.siteId)}/database/`);
115
+ let response;
116
+ try {
117
+ response = await fetch(url, { headers: { Authorization: `Bearer ${token}` } });
118
+ }
119
+ catch {
120
+ return null;
121
+ }
122
+ if (response.status === 404) {
123
+ return null;
124
+ }
125
+ if (!response.ok) {
126
+ return null;
127
+ }
128
+ const data = (await response.json());
129
+ if (!data.connection_string) {
130
+ return null;
131
+ }
132
+ return { connectionString: data.connection_string };
133
+ };
134
+ const renderList = (items) => {
135
+ if (items.length === 0) {
136
+ return chalk.dim(' (none)');
137
+ }
138
+ return items.map((m) => ` • ${m.name}`).join('\n');
139
+ };
140
+ // INDENT clears the emoji column so secondary lines hang under the primary
141
+ // text. Width: 2-space section indent + 2-col emoji + 1 space = 5.
142
+ const INDENT = ' ';
143
+ const STATUS_GOOD = '🟢';
144
+ const STATUS_WARN = '🟡';
145
+ const STATUS_PAUSED = '⏸️ ';
146
+ const primary = (emoji, text) => {
147
+ log(` ${emoji} ${text}`);
148
+ };
149
+ const secondary = (text) => {
150
+ log(chalk.gray(`${INDENT}${text}`));
151
+ };
152
+ const renderPretty = (params) => {
153
+ const { enabled, packageInstalled, connectionString, showCredentials, status, isLocal, adminUrl } = params;
154
+ log(chalk.bold('Netlify Database'));
155
+ log(chalk.gray('Managed Postgres databases that seamlessly integrate with the Netlify workflow'));
156
+ log('');
157
+ if (enabled) {
158
+ primary(STATUS_GOOD, 'Netlify Database is enabled for this project');
159
+ if (adminUrl) {
160
+ secondary(`Manage your database at ${adminUrl}/database`);
161
+ }
162
+ }
163
+ else {
164
+ primary(STATUS_WARN, 'Netlify Database is not enabled for this project');
165
+ secondary(`Install the ${chalk.bold(NETLIFY_DATABASE_PACKAGE)} package and deploy your site to automatically`);
166
+ secondary(`provision a database. Refer to ${DOCS_URL} for more information.`);
167
+ }
168
+ log('');
169
+ if (packageInstalled) {
170
+ primary(STATUS_GOOD, `The ${chalk.bold(NETLIFY_DATABASE_PACKAGE)} package is installed`);
171
+ secondary(`For a full API reference, visit ${DOCS_URL}`);
172
+ }
173
+ else {
174
+ primary(STATUS_WARN, `The ${chalk.bold(NETLIFY_DATABASE_PACKAGE)} package is not installed`);
175
+ secondary(`Install it with \`npm install ${NETLIFY_DATABASE_PACKAGE}\``);
176
+ secondary(`Refer to ${DOCS_URL} for more information`);
177
+ }
178
+ log('');
179
+ if (connectionString) {
180
+ const displayed = showCredentials ? connectionString : redactConnectionString(connectionString);
181
+ primary(STATUS_GOOD, `Connected to database branch: ${displayed}`);
182
+ logConnectCommands();
183
+ if (!showCredentials && connectionStringHasCredentials(connectionString)) {
184
+ secondary(`To reveal the full connection string (including credentials), run ${formatCommand('db status --show-credentials')}`);
185
+ }
186
+ else {
187
+ secondary(`To connect to the database directly, use the connection string: ${displayed}`);
188
+ }
189
+ }
190
+ else if (isLocal) {
191
+ primary(STATUS_PAUSED, 'The local database is not running');
192
+ secondary(`It starts automatically when you run ${formatCommand('dev')}. Run that in a new terminal and try this command again`);
193
+ logConnectCommands();
194
+ }
195
+ log('');
196
+ log(chalk.bold('Applied migrations'));
197
+ log(chalk.gray('Migrations that have been applied to the database branch'));
198
+ log('');
199
+ log(renderList(status.applied));
200
+ log('');
201
+ log(chalk.gray('Note that these migrations cannot be removed or edited. To change anything, you should generate a new migration.'));
202
+ log('');
203
+ log(chalk.bold('Migrations not applied'));
204
+ log(chalk.gray("Migrations that exist locally that haven't yet been applied"));
205
+ log('');
206
+ log(renderList(status.pending));
207
+ if (isLocal && status.pending.length > 0 && status.outOfOrder.length === 0) {
208
+ log('');
209
+ log(chalk.gray(`Run ${formatCommand('db migrations apply')} to apply these to the local database.`));
210
+ }
211
+ if (status.missingOnDisk.length > 0 || status.outOfOrder.length > 0) {
212
+ log('');
213
+ log(chalk.bold.yellow('Issues'));
214
+ if (status.missingOnDisk.length > 0) {
215
+ log(` Applied but missing on disk: ${status.missingOnDisk.map((m) => chalk.red(m.name)).join(', ')}`);
216
+ }
217
+ if (status.outOfOrder.length > 0) {
218
+ log(` Out of order: ${status.outOfOrder
219
+ .map((m) => chalk.red(`${m.name} (version ${String(m.version)} <= max applied ${String(m.maxApplied)})`))
220
+ .join(', ')}`);
221
+ log('');
222
+ log(chalk.gray(`Run ${formatCommand('db migrations reset')} to delete these local-only migrations, then generate them again with a higher prefix.`));
223
+ }
224
+ }
225
+ };
226
+ export const statusDb = async (options, command) => {
227
+ const buildDir = command.netlify.site.root ?? command.project.root ?? command.project.baseDirectory;
228
+ if (!buildDir) {
229
+ throw new Error('Could not determine the project root directory.');
230
+ }
231
+ const migrationsDirectory = resolveMigrationsDirectory(command);
232
+ const local = await readLocalMigrations(migrationsDirectory);
233
+ const packageInstalled = await isNetlifyDatabasePackageInstalled(buildDir);
234
+ const siteId = command.siteId;
235
+ const accessToken = command.netlify.api.accessToken;
236
+ const basePath = command.netlify.api.basePath;
237
+ // Enabled check: NETLIFY_DB_URL env OR site has a database configured.
238
+ const envUrl = process.env.NETLIFY_DB_URL;
239
+ let siteHasDatabase = false;
240
+ if (siteId && accessToken) {
241
+ const siteDb = await fetchSiteDatabase({ siteId, accessToken, basePath });
242
+ siteHasDatabase = siteDb !== null;
243
+ }
244
+ const enabled = Boolean(envUrl) || siteHasDatabase;
245
+ // `--branch` can also be supplied via the NETLIFY_DB_BRANCH env var.
246
+ const branch = options.branch ?? process.env.NETLIFY_DB_BRANCH;
247
+ // Resolve what database we're looking at and how to fetch applied migrations.
248
+ let branchLabel;
249
+ let connectionString = null;
250
+ let fetchApplied;
251
+ let cleanup;
252
+ let isLocal = false;
253
+ if (branch) {
254
+ if (!siteId) {
255
+ throw new Error(`The project must be linked with ${netlifyCommand()} link to target a remote branch.`);
256
+ }
257
+ if (!accessToken) {
258
+ throw new Error(`You must be logged in with ${netlifyCommand()} login to target a remote branch.`);
259
+ }
260
+ connectionString = await fetchBranchConnectionString({ siteId, accessToken, basePath }, branch);
261
+ fetchApplied = remoteAppliedMigrations({ siteId, accessToken, basePath, branch });
262
+ branchLabel = branch;
263
+ }
264
+ else {
265
+ isLocal = true;
266
+ branchLabel = 'local';
267
+ // If a local database is already running, its connection string is stable
268
+ // and safe to print. Otherwise we still connect (connectToDatabase starts
269
+ // one up) so we can read migration state — we just suppress the
270
+ // connection string in the output because it dies with this process.
271
+ const existing = detectExistingLocalConnectionString(buildDir);
272
+ const connection = await connectToDatabase(buildDir);
273
+ cleanup = connection.cleanup;
274
+ fetchApplied = localAppliedMigrations({ executor: connection.executor });
275
+ if (existing) {
276
+ connectionString = connection.connectionString;
277
+ }
278
+ }
279
+ let status;
280
+ try {
281
+ const applied = await fetchApplied();
282
+ status = computeStatus(applied, local);
283
+ }
284
+ finally {
285
+ if (cleanup) {
286
+ await cleanup();
287
+ }
288
+ }
289
+ if (options.json) {
290
+ const displayedConnection = connectionString
291
+ ? options.showCredentials
292
+ ? connectionString
293
+ : redactConnectionString(connectionString)
294
+ : null;
295
+ logJson({
296
+ enabled,
297
+ packageInstalled,
298
+ target: branchLabel,
299
+ database: displayedConnection === null ? null : { connectionString: displayedConnection },
300
+ applied: status.applied.map((m) => ({ version: m.version, name: m.name })),
301
+ pending: status.pending.map((m) => ({ version: m.version, name: m.name })),
302
+ missingOnDisk: status.missingOnDisk.map((m) => ({ version: m.version, name: m.name })),
303
+ outOfOrder: status.outOfOrder,
304
+ });
305
+ return;
306
+ }
307
+ const siteInfo = command.netlify.siteInfo;
308
+ renderPretty({
309
+ enabled,
310
+ packageInstalled,
311
+ branchLabel,
312
+ connectionString,
313
+ showCredentials: options.showCredentials ?? false,
314
+ status,
315
+ isLocal,
316
+ adminUrl: siteInfo?.admin_url,
317
+ });
318
+ };
319
+ //# sourceMappingURL=db-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-status.js","sourceRoot":"","sources":["../../../src/commands/database/db-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/commands/database/legacy/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,QAAqD,CAAA;AAC9F,eAAO,MAAM,UAAU,QAAqE,CAAA;AAC5F,eAAO,MAAM,yBAAyB,kBAAkB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/commands/database/legacy/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,MAAM,CAAA;AAC9F,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,wCAAwC,CAAA;AAC5F,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAA"}
@@ -1,4 +1,4 @@
1
- import BaseCommand from '../base-command.js';
1
+ import BaseCommand from '../../base-command.js';
2
2
  export type DatabaseInitOptions = {
3
3
  assumeNo: boolean;
4
4
  boilerplate: DatabaseBoilerplateType | false;
@@ -6,4 +6,4 @@ export type DatabaseInitOptions = {
6
6
  };
7
7
  export type DatabaseBoilerplateType = 'drizzle';
8
8
  export declare const init: (options: DatabaseInitOptions, command: BaseCommand) => Promise<void>;
9
- //# sourceMappingURL=init.d.ts.map
9
+ //# sourceMappingURL=db-init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-init.d.ts","sourceRoot":"","sources":["../../../../src/commands/database/legacy/db-init.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAQ/C,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,uBAAuB,GAAG,KAAK,CAAA;IAC5C,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAA;AAE/C,eAAO,MAAM,IAAI,GAAU,SAAS,mBAAmB,EAAE,SAAS,WAAW,kBA+I5E,CAAA"}
@@ -2,7 +2,7 @@ import { getAccount, getExtension, getJigsawToken, getPackageJSON, installExtens
2
2
  import { initDrizzle } from './drizzle.js';
3
3
  import { NEON_DATABASE_EXTENSION_SLUG, NETLIFY_NEON_PACKAGE_NAME } from './constants.js';
4
4
  import prettyjson from 'prettyjson';
5
- import { log } from '../../utils/command-helpers.js';
5
+ import { log } from '../../../utils/command-helpers.js';
6
6
  export const init = async (options, command) => {
7
7
  const siteInfo = command.netlify.siteInfo;
8
8
  if (!command.siteId) {
@@ -121,4 +121,4 @@ export const init = async (options, command) => {
121
121
  }));
122
122
  return;
123
123
  };
124
- //# sourceMappingURL=init.js.map
124
+ //# sourceMappingURL=db-init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-init.js","sourceRoot":"","sources":["../../../../src/commands/database/legacy/db-init.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { OptionValues } from 'commander';
2
- import BaseCommand from '../base-command.js';
2
+ import BaseCommand from '../../base-command.js';
3
3
  export declare const status: (_options: OptionValues, command: BaseCommand) => Promise<void>;
4
- //# sourceMappingURL=status.d.ts.map
4
+ //# sourceMappingURL=db-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-status.d.ts","sourceRoot":"","sources":["../../../../src/commands/database/legacy/db-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAM/C,eAAO,MAAM,MAAM,GAAU,UAAU,YAAY,EAAE,SAAS,WAAW,kBAsExE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { getAccount, getExtension, getSiteConfiguration } from './utils.js';
2
2
  import { NEON_DATABASE_EXTENSION_SLUG } from './constants.js';
3
3
  import prettyjson from 'prettyjson';
4
- import { chalk, log } from '../../utils/command-helpers.js';
4
+ import { chalk, log } from '../../../utils/command-helpers.js';
5
5
  export const status = async (_options, command) => {
6
6
  const siteInfo = command.netlify.siteInfo;
7
7
  if (!command.siteId) {
@@ -68,4 +68,4 @@ export const status = async (_options, command) => {
68
68
  [' NETLIFY_DATABASE_URL_UNPOOLED']: unpooledDatabaseUrlEnv?.key === 'NETLIFY_DATABASE_URL_UNPOOLED' ? 'saved' : chalk.red('not set'),
69
69
  }));
70
70
  };
71
- //# sourceMappingURL=status.js.map
71
+ //# sourceMappingURL=db-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-status.js","sourceRoot":"","sources":["../../../../src/commands/database/legacy/db-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import BaseCommand from '../../base-command.js';
2
+ export declare const initDrizzle: (command: BaseCommand) => Promise<void>;
3
+ //# sourceMappingURL=drizzle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle.d.ts","sourceRoot":"","sources":["../../../../src/commands/database/legacy/drizzle.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,uBAAuB,CAAA;AAM/C,eAAO,MAAM,WAAW,GAAU,SAAS,WAAW,kBAiErD,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../../../../src/commands/database/legacy/drizzle.ts"],"names":[],"mappings":"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"}