@codemarc/blt 1.2.0 → 1.3.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 (100) hide show
  1. package/dist/blt +9 -1
  2. package/dist/blt.d.ts.map +1 -1
  3. package/dist/blt.js.map +1 -1
  4. package/dist/commands/build/data.d.ts +6 -0
  5. package/dist/commands/build/data.d.ts.map +1 -0
  6. package/dist/commands/build/data.js +23 -0
  7. package/dist/commands/build/data.js.map +1 -0
  8. package/dist/commands/build/schema.d.ts +6 -0
  9. package/dist/commands/build/schema.d.ts.map +1 -0
  10. package/dist/commands/build/schema.js +30 -0
  11. package/dist/commands/build/schema.js.map +1 -0
  12. package/dist/commands/build copy.d.ts +6 -0
  13. package/dist/commands/build copy.d.ts.map +1 -0
  14. package/dist/commands/build copy.js +56 -0
  15. package/dist/commands/build copy.js.map +1 -0
  16. package/dist/commands/build.d.ts +6 -0
  17. package/dist/commands/build.d.ts.map +1 -0
  18. package/dist/commands/build.js +56 -0
  19. package/dist/commands/build.js.map +1 -0
  20. package/dist/commands/cleanup.d.ts +2 -2
  21. package/dist/commands/cleanup.d.ts.map +1 -1
  22. package/dist/commands/cleanup.js +13 -19
  23. package/dist/commands/cleanup.js.map +1 -1
  24. package/dist/commands/data/build.d.ts +11 -0
  25. package/dist/commands/data/build.d.ts.map +1 -0
  26. package/dist/commands/data/build.js +69 -0
  27. package/dist/commands/data/build.js.map +1 -0
  28. package/dist/commands/data/deploy.d.ts +9 -0
  29. package/dist/commands/data/deploy.d.ts.map +1 -0
  30. package/dist/commands/data/deploy.js +38 -0
  31. package/dist/commands/data/deploy.js.map +1 -0
  32. package/dist/commands/data/rows.d.ts +5 -0
  33. package/dist/commands/data/rows.d.ts.map +1 -0
  34. package/dist/commands/data/rows.js +63 -0
  35. package/dist/commands/data/rows.js.map +1 -0
  36. package/dist/commands/data/schema-info.d.ts +10 -0
  37. package/dist/commands/data/schema-info.d.ts.map +1 -0
  38. package/dist/commands/data/schema-info.js +64 -0
  39. package/dist/commands/data/schema-info.js.map +1 -0
  40. package/dist/commands/data.d.ts +4 -4
  41. package/dist/commands/data.d.ts.map +1 -1
  42. package/dist/commands/data.js +7 -195
  43. package/dist/commands/data.js.map +1 -1
  44. package/dist/commands/deploy/data.d.ts +6 -0
  45. package/dist/commands/deploy/data.d.ts.map +1 -0
  46. package/dist/commands/deploy/data.js +20 -0
  47. package/dist/commands/deploy/data.js.map +1 -0
  48. package/dist/commands/deploy/data.ts 21-46-08-256.d.ts +6 -0
  49. package/dist/commands/deploy/data.ts 21-46-08-256.d.ts.map +1 -0
  50. package/dist/commands/deploy/data.ts 21-46-08-256.js +20 -0
  51. package/dist/commands/deploy/data.ts 21-46-08-256.js.map +1 -0
  52. package/dist/commands/deploy/deploy.d.ts +9 -0
  53. package/dist/commands/deploy/deploy.d.ts.map +1 -0
  54. package/dist/commands/deploy/deploy.js +38 -0
  55. package/dist/commands/deploy/deploy.js.map +1 -0
  56. package/dist/commands/deploy/schema.d.ts +6 -0
  57. package/dist/commands/deploy/schema.d.ts.map +1 -0
  58. package/dist/commands/deploy/schema.js +20 -0
  59. package/dist/commands/deploy/schema.js.map +1 -0
  60. package/dist/commands/deploy.d.ts +6 -0
  61. package/dist/commands/deploy.d.ts.map +1 -0
  62. package/dist/commands/deploy.js +73 -0
  63. package/dist/commands/deploy.js.map +1 -0
  64. package/dist/commands/show/env.d.ts +5 -0
  65. package/dist/commands/show/env.d.ts.map +1 -0
  66. package/dist/commands/show/env.js +100 -0
  67. package/dist/commands/show/env.js.map +1 -0
  68. package/dist/commands/show/rows.d.ts +5 -0
  69. package/dist/commands/show/rows.d.ts.map +1 -0
  70. package/dist/commands/show/rows.js +63 -0
  71. package/dist/commands/show/rows.js.map +1 -0
  72. package/dist/commands/show/schema-info.d.ts +10 -0
  73. package/dist/commands/show/schema-info.d.ts.map +1 -0
  74. package/dist/commands/show/schema-info.js +64 -0
  75. package/dist/commands/show/schema-info.js.map +1 -0
  76. package/dist/commands/show/schema.d.ts +10 -0
  77. package/dist/commands/show/schema.d.ts.map +1 -0
  78. package/dist/commands/show/schema.js +64 -0
  79. package/dist/commands/show/schema.js.map +1 -0
  80. package/dist/commands/show.d.ts +6 -0
  81. package/dist/commands/show.d.ts.map +1 -0
  82. package/dist/commands/show.js +52 -0
  83. package/dist/commands/show.js.map +1 -0
  84. package/dist/commands/version copy.d.ts +6 -0
  85. package/dist/commands/version copy.d.ts.map +1 -0
  86. package/dist/commands/version copy.js +66 -0
  87. package/dist/commands/version copy.js.map +1 -0
  88. package/dist/lib/database-runner.d.ts +1 -1
  89. package/dist/lib/database-runner.d.ts.map +1 -1
  90. package/dist/lib/database-runner.js +8 -8
  91. package/dist/lib/database-runner.js.map +1 -1
  92. package/dist/lib/instance-discovery.js +2 -2
  93. package/dist/lib/instance-discovery.js.map +1 -1
  94. package/dist/lib/schema-discovery.js +2 -2
  95. package/dist/lib/schema-discovery.js.map +1 -1
  96. package/dist/utils/supabase.d.ts +1 -1
  97. package/dist/utils/supabase.d.ts.map +1 -1
  98. package/dist/utils/supabase.js +3 -3
  99. package/dist/utils/supabase.js.map +1 -1
  100. package/package.json +1 -1
@@ -0,0 +1,64 @@
1
+ import { getDefaultSchemaName, getSchemaFileList, getSchemaTableRows, } from "../../lib/schema-discovery";
2
+ /**
3
+ * Render a table row for ASCII table display
4
+ */
5
+ function renderRow(row, colWidths) {
6
+ return "| " + row.map((cell, i) => cell.padEnd(colWidths[i])).join(" | ") + " |";
7
+ }
8
+ /**
9
+ * Render a table divider row
10
+ */
11
+ function renderDivider(colWidths) {
12
+ return "|-" + colWidths.map((w) => "-".repeat(w)).join("-|-") + "-|";
13
+ }
14
+ /**
15
+ * Schema info command implementation
16
+ */
17
+ export async function schemaInfoCommand(args, options, logger) {
18
+ const schemaName = args.schemaName || getDefaultSchemaName();
19
+ // JSON format output
20
+ if (options.format === "json") {
21
+ try {
22
+ const files = getSchemaFileList(schemaName);
23
+ console.log(JSON.stringify(files, null, 2));
24
+ }
25
+ catch (error) {
26
+ const message = error instanceof Error ? error.message : String(error);
27
+ logger.error(message);
28
+ process.exit(1);
29
+ }
30
+ return;
31
+ }
32
+ // Table format output
33
+ let rows;
34
+ try {
35
+ rows = getSchemaTableRows(schemaName);
36
+ }
37
+ catch (error) {
38
+ const message = error instanceof Error ? error.message : String(error);
39
+ logger.error(message);
40
+ process.exit(1);
41
+ }
42
+ // Build ASCII table
43
+ const headers = ["Name", "Size", "Created At", "Last Modified"];
44
+ const tableRows = [headers];
45
+ for (const row of rows) {
46
+ tableRows.push([
47
+ row.name,
48
+ row.size.toString(),
49
+ row.createdAt,
50
+ row.lastModified,
51
+ ]);
52
+ }
53
+ // Calculate column widths
54
+ const colWidths = headers.map((_header, i) => Math.max(...tableRows.map((row) => row[i].toString().length)));
55
+ // Print table
56
+ console.log("");
57
+ console.log(renderRow(tableRows[0], colWidths));
58
+ console.log(renderDivider(colWidths));
59
+ for (let i = 1; i < tableRows.length; i++) {
60
+ console.log(renderRow(tableRows[i], colWidths));
61
+ }
62
+ console.log("");
63
+ }
64
+ //# sourceMappingURL=schema-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-info.js","sourceRoot":"","sources":["../../../src/commands/data/schema-info.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { Program } from "@caporal/core";
2
- import { getDefaultSchemaName, getSchemaFileList, getSchemaTableRows, getAvailableSchemas } from "../lib/schema-discovery";
3
- export { getSchemaTableRows, getSchemaFileList, getAvailableSchemas, getDefaultSchemaName };
1
+ import type { Program } from "@caporal/core";
2
+ import { getSchemaTableRows, getSchemaFileList, getDefaultSchemaName } from "../lib/schema-discovery";
3
+ export { getSchemaTableRows, getSchemaFileList, getDefaultSchemaName };
4
4
  /**
5
- * Register schema commands with the CLI program
5
+ * Register data commands with the CLI program
6
6
  */
7
7
  export default function dataCommand(program: Program): void;
8
8
  //# sourceMappingURL=data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;AAoB5F;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,OAAO,QAsNnD"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,OAAO,QAwBnD"}
@@ -1,30 +1,10 @@
1
- import { join } from "path";
2
- import { existsSync } from "fs";
3
- import { getDefaultSchemaName, getSchemaFileList, getSchemaTableRows, getAvailableSchemas, } from "../lib/schema-discovery";
4
- import { getDefaultInstanceName, } from "../lib/instance-discovery";
5
- import { buildSchemaFile, getPackageVersion, getSortedSqlFiles, writeSchemaFile, } from "../lib/sql-builder";
6
- import { buildDataFile, writeDataFile } from "../lib/data-generator";
7
- import { runSqlFile, executeQuery } from "../lib/database-runner";
8
- import { getPaths } from "../lib/constants";
1
+ import { schemaInfoCommand } from "./data/schema-info";
2
+ import { rowsCommand } from "./data/rows";
3
+ import { getSchemaTableRows, getSchemaFileList, getDefaultSchemaName, } from "../lib/schema-discovery";
9
4
  // Re-export for backward compatibility
10
- export { getSchemaTableRows, getSchemaFileList, getAvailableSchemas, getDefaultSchemaName };
11
- // =============================================
12
- // CLI Command Implementation
13
- // =============================================
5
+ export { getSchemaTableRows, getSchemaFileList, getDefaultSchemaName };
14
6
  /**
15
- * Render a table row for ASCII table display
16
- */
17
- function renderRow(row, colWidths) {
18
- return "| " + row.map((cell, i) => cell.padEnd(colWidths[i])).join(" | ") + " |";
19
- }
20
- /**
21
- * Render a table divider row
22
- */
23
- function renderDivider(colWidths) {
24
- return "|-" + colWidths.map((w) => "-".repeat(w)).join("-|-") + "-|";
25
- }
26
- /**
27
- * Register schema commands with the CLI program
7
+ * Register data commands with the CLI program
28
8
  */
29
9
  export default function dataCommand(program) {
30
10
  // Schema info command - display schema file information
@@ -36,181 +16,13 @@ export default function dataCommand(program) {
36
16
  validator: ["table", "json"],
37
17
  })
38
18
  .action(async ({ args, options, logger }) => {
39
- const schemaName = args.schemaName || getDefaultSchemaName();
40
- // JSON format output
41
- if (options.format === "json") {
42
- try {
43
- const files = getSchemaFileList(schemaName);
44
- console.log(JSON.stringify(files, null, 2));
45
- }
46
- catch (error) {
47
- logger.error(error.message);
48
- process.exit(1);
49
- }
50
- return;
51
- }
52
- // Table format output
53
- let rows;
54
- try {
55
- rows = getSchemaTableRows(schemaName);
56
- }
57
- catch (error) {
58
- logger.error(error.message);
59
- process.exit(1);
60
- }
61
- // Build ASCII table
62
- const headers = ["Name", "Size", "Created At", "Last Modified"];
63
- const tableRows = [headers];
64
- for (const row of rows) {
65
- tableRows.push([
66
- row.name,
67
- row.size.toString(),
68
- row.createdAt,
69
- row.lastModified,
70
- ]);
71
- }
72
- // Calculate column widths
73
- const colWidths = headers.map((header, i) => Math.max(...tableRows.map((row) => row[i].toString().length)));
74
- // Print table
75
- console.log("");
76
- console.log(renderRow(tableRows[0], colWidths));
77
- console.log(renderDivider(colWidths));
78
- for (let i = 1; i < tableRows.length; i++) {
79
- console.log(renderRow(tableRows[i], colWidths));
80
- }
81
- console.log("");
82
- });
83
- // Build command - unified build command for schema or data
84
- program
85
- .command("build", "Build SQL files (schema or data)")
86
- .argument("<type>", "Build type: 'schema' or 'data'", {
87
- validator: ["schema", "data"],
88
- })
89
- .argument("[name]", "Schema name (for schema) or instance name (for data)")
90
- .action(async ({ args, logger }) => {
91
- const buildType = args.type;
92
- const name = args.name;
93
- if (buildType === "schema") {
94
- // Build schema
95
- const schemaName = name || getDefaultSchemaName();
96
- // Validate schema directory exists
97
- const paths = getPaths();
98
- const sqlDir = join(process.cwd(), paths.SCHEMA_BASE, schemaName, "sql");
99
- if (!existsSync(sqlDir)) {
100
- logger.error(`Schema directory does not exist: ${sqlDir}`);
101
- process.exit(1);
102
- }
103
- const version = getPackageVersion();
104
- // Build schema file from DDL files only
105
- const sqlFiles = getSortedSqlFiles(sqlDir, schemaName);
106
- if (sqlFiles.length === 0) {
107
- logger.error(`No SQL files found in schema directory: ${sqlDir}`);
108
- process.exit(1);
109
- }
110
- const combinedContent = buildSchemaFile(sqlDir, schemaName, sqlFiles, version);
111
- // Write to dist directory
112
- writeSchemaFile(combinedContent, schemaName);
113
- console.log(`✅ Schema built successfully: dist/${schemaName}.sql`);
114
- }
115
- else if (buildType === "data") {
116
- // Build data
117
- const instanceName = name || getDefaultInstanceName();
118
- const version = getPackageVersion();
119
- try {
120
- // Build data file from instance directory
121
- const dataContent = buildDataFile(instanceName, version);
122
- // Write to dist directory
123
- writeDataFile(dataContent, instanceName);
124
- console.log(`✅ Data generated successfully: dist/data.sql`);
125
- }
126
- catch (error) {
127
- logger.error(error.message);
128
- process.exit(1);
129
- }
130
- }
131
- });
132
- // Deploy command - execute SQL files
133
- program
134
- .command("deploy", "Deploy SQL files to database")
135
- .argument("<type>", "Deploy type: 'schema' or 'data'", {
136
- validator: ["schema", "data"],
137
- })
138
- .argument("[name]", "Schema name (for schema) or instance name (for data)")
139
- .action(async ({ args, logger }) => {
140
- const deployType = args.type;
141
- const name = args.name;
142
- if (deployType === "schema") {
143
- // Deploy schema
144
- const schemaName = name || getDefaultSchemaName();
145
- const paths = getPaths();
146
- const schemaFile = join(process.cwd(), paths.DIST, `${schemaName}.sql`);
147
- if (!existsSync(schemaFile)) {
148
- logger.error(`Schema file not found: ${schemaFile}`);
149
- logger.error(`Please run 'blt build schema ${schemaName}' first.`);
150
- process.exit(1);
151
- }
152
- await runSqlFile(schemaFile);
153
- }
154
- else if (deployType === "data") {
155
- // Deploy data
156
- const paths = getPaths();
157
- const dataFile = join(process.cwd(), paths.DIST, "data.sql");
158
- if (!existsSync(dataFile)) {
159
- logger.error(`Data file not found: ${dataFile}`);
160
- const instanceName = name || getDefaultInstanceName();
161
- logger.error(`Please run 'blt build data ${instanceName}' first.`);
162
- process.exit(1);
163
- }
164
- await runSqlFile(dataFile);
165
- }
19
+ await schemaInfoCommand({ schemaName: args.schemaName }, { format: options.format }, logger);
166
20
  });
167
21
  // Counts command - display row counts for all tables
168
22
  program
169
23
  .command("rows", "Display row counts for all tables")
170
24
  .action(async () => {
171
- try {
172
- console.log("\n📊 Fetching row counts from database...\n");
173
- const rows = await executeQuery("SELECT * FROM get_row_counts()");
174
- if (rows.length === 0) {
175
- console.log("No tables found in the database.");
176
- return;
177
- }
178
- // Build ASCII table
179
- const headers = ["Table Name", "Row Count"];
180
- const tableRows = [headers];
181
- for (const row of rows) {
182
- // Handle bigint which may come as string from PostgreSQL
183
- const count = typeof row.row_count === 'string'
184
- ? parseInt(row.row_count, 10).toLocaleString()
185
- : Number(row.row_count).toLocaleString();
186
- tableRows.push([
187
- row.table_name,
188
- count,
189
- ]);
190
- }
191
- // Calculate column widths
192
- const colWidths = headers.map((header, i) => Math.max(...tableRows.map((row) => row[i].toString().length)));
193
- // Print table
194
- console.log(renderRow(tableRows[0], colWidths));
195
- console.log(renderDivider(colWidths));
196
- for (let i = 1; i < tableRows.length; i++) {
197
- console.log(renderRow(tableRows[i], colWidths));
198
- }
199
- console.log("");
200
- // Calculate and display total
201
- const total = rows.reduce((sum, row) => {
202
- const count = typeof row.row_count === 'string'
203
- ? parseInt(row.row_count, 10)
204
- : Number(row.row_count);
205
- return sum + count;
206
- }, 0);
207
- console.log(`Total rows across all tables: ${total.toLocaleString()}\n`);
208
- }
209
- catch (error) {
210
- console.error(`\n❌ Error: ${error.message}`);
211
- console.error("\nMake sure the database is accessible and get_row_counts() function exists.");
212
- process.exit(1);
213
- }
25
+ await rowsCommand();
214
26
  });
215
27
  }
216
28
  //# sourceMappingURL=data.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/commands/data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,uCAAuC;AACvC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAgB;IAClD,wDAAwD;IACxD,OAAO;SACJ,OAAO,CAAC,aAAa,EAAE,kCAAkC,CAAC;SAC1D,QAAQ,CAAC,eAAe,EAAE,sCAAsC,CAAC;SACjE,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,EAAE;QAC/D,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;KAC7B,CAAC;SACD,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,MAAM,iBAAiB,CACrB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAgC,EAAE,EACrD,EAAE,MAAM,EAAE,OAAO,CAAC,MAAgB,EAAE,EACpC,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAGL,qDAAqD;IACrD,OAAO;SACJ,OAAO,CAAC,MAAM,EAAE,mCAAmC,CAAC;SACpD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Logger } from "@caporal/core";
2
+ /**
3
+ * Deploy data to database
4
+ */
5
+ export declare function deployData(name: string | undefined, logger: Logger): Promise<void>;
6
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAO5C;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxF"}
@@ -0,0 +1,20 @@
1
+ import { join } from "node:path";
2
+ import { existsSync } from "node:fs";
3
+ import { getDefaultInstanceName } from "../../lib/instance-discovery";
4
+ import { runSqlFile } from "../../lib/database-runner";
5
+ import { getPaths } from "../../lib/constants";
6
+ /**
7
+ * Deploy data to database
8
+ */
9
+ export async function deployData(name, logger) {
10
+ const paths = getPaths();
11
+ const dataFile = join(process.cwd(), paths.DIST, "data.sql");
12
+ if (!existsSync(dataFile)) {
13
+ logger.error(`Data file not found: ${dataFile}`);
14
+ const instanceName = name || getDefaultInstanceName();
15
+ logger.error(`Please run 'blt build data ${instanceName}' first.`);
16
+ process.exit(1);
17
+ }
18
+ await runSqlFile(dataFile);
19
+ }
20
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/commands/deploy/data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAwB,EAAE,MAAc;IACvE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,8BAA8B,YAAY,UAAU,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Logger } from "@caporal/core";
2
+ /**
3
+ * Deploy data to database
4
+ */
5
+ export declare function deployData(name: string | undefined, logger: Logger): Promise<void>;
6
+ //# sourceMappingURL=data.ts%2021-46-08-256.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.ts 21-46-08-256.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/data.ts 21-46-08-256.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAO5C;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxF"}
@@ -0,0 +1,20 @@
1
+ import { join } from "node:path";
2
+ import { existsSync } from "node:fs";
3
+ import { getDefaultInstanceName } from "../../lib/instance-discovery";
4
+ import { runSqlFile } from "../../lib/database-runner";
5
+ import { getPaths } from "../../lib/constants";
6
+ /**
7
+ * Deploy data to database
8
+ */
9
+ export async function deployData(name, logger) {
10
+ const paths = getPaths();
11
+ const dataFile = join(process.cwd(), paths.DIST, "data.sql");
12
+ if (!existsSync(dataFile)) {
13
+ logger.error(`Data file not found: ${dataFile}`);
14
+ const instanceName = name || getDefaultInstanceName();
15
+ logger.error(`Please run 'blt build data ${instanceName}' first.`);
16
+ process.exit(1);
17
+ }
18
+ await runSqlFile(dataFile);
19
+ }
20
+ //# sourceMappingURL=data.ts%2021-46-08-256.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.ts 21-46-08-256.js","sourceRoot":"","sources":["../../../src/commands/deploy/data.ts 21-46-08-256.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAwB,EAAE,MAAc;IACvE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,8BAA8B,YAAY,UAAU,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Logger } from "@caporal/core";
2
+ /**
3
+ * Deploy command implementation
4
+ */
5
+ export declare function deployCommand(args: {
6
+ type: string;
7
+ name?: string;
8
+ }, logger: Logger): Promise<void>;
9
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAQ5C;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
@@ -0,0 +1,38 @@
1
+ import { join } from "node:path";
2
+ import { existsSync } from "node:fs";
3
+ import { getDefaultSchemaName } from "../../lib/schema-discovery";
4
+ import { getDefaultInstanceName } from "../../lib/instance-discovery";
5
+ import { runSqlFile } from "../../lib/database-runner";
6
+ import { getPaths } from "../../lib/constants";
7
+ /**
8
+ * Deploy command implementation
9
+ */
10
+ export async function deployCommand(args, logger) {
11
+ const deployType = args.type;
12
+ const name = args.name;
13
+ if (deployType === "schema") {
14
+ // Deploy schema
15
+ const schemaName = name || getDefaultSchemaName();
16
+ const paths = getPaths();
17
+ const schemaFile = join(process.cwd(), paths.DIST, `${schemaName}.sql`);
18
+ if (!existsSync(schemaFile)) {
19
+ logger.error(`Schema file not found: ${schemaFile}`);
20
+ logger.error(`Please run 'blt build schema ${schemaName}' first.`);
21
+ process.exit(1);
22
+ }
23
+ await runSqlFile(schemaFile);
24
+ }
25
+ else if (deployType === "data") {
26
+ // Deploy data
27
+ const paths = getPaths();
28
+ const dataFile = join(process.cwd(), paths.DIST, "data.sql");
29
+ if (!existsSync(dataFile)) {
30
+ logger.error(`Data file not found: ${dataFile}`);
31
+ const instanceName = name || getDefaultInstanceName();
32
+ logger.error(`Please run 'blt build data ${instanceName}' first.`);
33
+ process.exit(1);
34
+ }
35
+ await runSqlFile(dataFile);
36
+ }
37
+ }
38
+ //# sourceMappingURL=deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAqC,EACrC,MAAc;IAEd,MAAM,UAAU,GAAG,IAAI,CAAC,IAAc,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;IAE7C,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,gBAAgB;QAChB,MAAM,UAAU,GAAG,IAAI,IAAI,oBAAoB,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,CAAC,CAAC;QAExE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,gCAAgC,UAAU,UAAU,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACjC,cAAc;QACd,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,IAAI,sBAAsB,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,8BAA8B,YAAY,UAAU,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Logger } from "@caporal/core";
2
+ /**
3
+ * Deploy schema to database
4
+ */
5
+ export declare function deploySchema(name: string | undefined, logger: Logger): Promise<void>;
6
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAO5C;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1F"}
@@ -0,0 +1,20 @@
1
+ import { join } from "node:path";
2
+ import { existsSync } from "node:fs";
3
+ import { getDefaultSchemaName } from "../../lib/schema-discovery";
4
+ import { runSqlFile } from "../../lib/database-runner";
5
+ import { getPaths } from "../../lib/constants";
6
+ /**
7
+ * Deploy schema to database
8
+ */
9
+ export async function deploySchema(name, logger) {
10
+ const schemaName = name || getDefaultSchemaName();
11
+ const paths = getPaths();
12
+ const schemaFile = join(process.cwd(), paths.DIST, `${schemaName}.sql`);
13
+ if (!existsSync(schemaFile)) {
14
+ logger.error(`Schema file not found: ${schemaFile}`);
15
+ logger.error(`Please run 'blt build schema ${schemaName}' first.`);
16
+ process.exit(1);
17
+ }
18
+ await runSqlFile(schemaFile);
19
+ }
20
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/commands/deploy/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAwB,EAAE,MAAc;IACzE,MAAM,UAAU,GAAG,IAAI,IAAI,oBAAoB,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,CAAC,CAAC;IAExE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,gCAAgC,UAAU,UAAU,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Program } from "@caporal/core";
2
+ /**
3
+ * Register deploy commands with the CLI program
4
+ */
5
+ export default function deployCommand(program: Program): void;
6
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,eAAe,CAAC;AAK5E;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,EAAE,OAAO,QAkErD"}
@@ -0,0 +1,73 @@
1
+ import { deploySchema } from "./deploy/schema";
2
+ import { deployData } from "./deploy/data";
3
+ import { runSqlFile } from "../lib/database-runner";
4
+ /**
5
+ * Register deploy commands with the CLI program
6
+ */
7
+ export default function deployCommand(program) {
8
+ const deployHelpText = `
9
+ database deployment actions
10
+
11
+ Usage:
12
+ blt deploy <operation>
13
+
14
+ Available operations:
15
+ schema Deploy schema from .sql files
16
+ data Deploy data instance from .sql files
17
+ sql Deploy a named SQL file to database
18
+
19
+ Run 'blt deploy <operation> --help' for more information on a specific command.
20
+ `;
21
+ program
22
+ .command("deploy", "database deployment actions")
23
+ .help(deployHelpText)
24
+ .action(() => {
25
+ console.log(deployHelpText);
26
+ });
27
+ program
28
+ .command("deploy schema", "Deploy schema from .sql files")
29
+ .hide()
30
+ .argument("[name]", "Schema name")
31
+ .action(async ({ args, logger }) => {
32
+ try {
33
+ const name = args.name;
34
+ await deploySchema(name, logger);
35
+ }
36
+ catch (error) {
37
+ const message = error instanceof Error ? error.message : String(error);
38
+ logger.error(`Failed to deploy schema: ${message}`);
39
+ process.exit(1);
40
+ }
41
+ });
42
+ program
43
+ .command("deploy data", "Deploy data instance from .sql files")
44
+ .hide()
45
+ .argument("[name]", "Instance name")
46
+ .action(async ({ args, logger }) => {
47
+ try {
48
+ const name = args.name;
49
+ await deployData(name, logger);
50
+ }
51
+ catch (error) {
52
+ const message = error instanceof Error ? error.message : String(error);
53
+ logger.error(`Failed to deploy data: ${message}`);
54
+ process.exit(1);
55
+ }
56
+ });
57
+ program
58
+ .command("deploy sql", "Deploy a named SQL file to database")
59
+ .hide()
60
+ .argument("<file>", "Path to SQL file")
61
+ .action(async ({ args, logger }) => {
62
+ try {
63
+ const file = args.file;
64
+ await runSqlFile(file);
65
+ }
66
+ catch (error) {
67
+ const message = error instanceof Error ? error.message : String(error);
68
+ logger.error(`Failed to deploy SQL file: ${message}`);
69
+ process.exit(1);
70
+ }
71
+ });
72
+ }
73
+ //# sourceMappingURL=deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAgB;IACrD,MAAM,cAAc,GAAG;;;;;;;;;;;;CAYvB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC;SAChD,IAAI,CAAC,cAAc,CAAC;SACpB,MAAM,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,eAAe,EAAE,+BAA+B,CAAC;SACzD,IAAI,EAAE;SACN,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAmD,EAAE,EAAE;QACnF,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;YAC7C,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,aAAa,EAAE,sCAAsC,CAAC;SAC9D,IAAI,EAAE;SACN,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAmD,EAAE,EAAE;QACnF,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;YAC7C,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,YAAY,EAAE,qCAAqC,CAAC;SAC5D,IAAI,EAAE;SACN,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAmD,EAAE,EAAE;QACnF,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;YACjC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Show env command implementation - display blt core environment variables
3
+ */
4
+ export declare function showEnv(): Promise<void>;
5
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/commands/show/env.ts"],"names":[],"mappings":"AA4BA;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA8E7C"}