@codemarc/blt 1.1.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.
- package/README.md +33 -7
- package/dist/blt +10 -6
- package/dist/blt.d.ts.map +1 -1
- package/dist/blt.js.map +1 -1
- package/dist/commands/bucket/download.d.ts +7 -0
- package/dist/commands/bucket/download.d.ts.map +1 -0
- package/dist/commands/bucket/download.js +28 -0
- package/dist/commands/bucket/download.js.map +1 -0
- package/dist/commands/bucket/list.d.ts +9 -0
- package/dist/commands/bucket/list.d.ts.map +1 -0
- package/dist/commands/bucket/list.js +69 -0
- package/dist/commands/bucket/list.js.map +1 -0
- package/dist/commands/bucket/names.d.ts +5 -0
- package/dist/commands/bucket/names.d.ts.map +1 -0
- package/dist/commands/bucket/names.js +53 -0
- package/dist/commands/bucket/names.js.map +1 -0
- package/dist/commands/bucket/upload-folder.d.ts +10 -0
- package/dist/commands/bucket/upload-folder.d.ts.map +1 -0
- package/dist/commands/bucket/upload-folder.js +84 -0
- package/dist/commands/bucket/upload-folder.js.map +1 -0
- package/dist/commands/bucket/upload.d.ts +9 -0
- package/dist/commands/bucket/upload.d.ts.map +1 -0
- package/dist/commands/bucket/upload.js +32 -0
- package/dist/commands/bucket/upload.js.map +1 -0
- package/dist/commands/bucket/url.d.ts +9 -0
- package/dist/commands/bucket/url.d.ts.map +1 -0
- package/dist/commands/bucket/url.js +32 -0
- package/dist/commands/bucket/url.js.map +1 -0
- package/dist/commands/bucket/utils.d.ts +3 -0
- package/dist/commands/bucket/utils.d.ts.map +1 -0
- package/dist/commands/bucket/utils.js +28 -0
- package/dist/commands/bucket/utils.js.map +1 -0
- package/dist/commands/bucket.d.ts +3 -0
- package/dist/commands/bucket.d.ts.map +1 -1
- package/dist/commands/bucket.js +53 -325
- package/dist/commands/bucket.js.map +1 -1
- package/dist/commands/build/data.d.ts +6 -0
- package/dist/commands/build/data.d.ts.map +1 -0
- package/dist/commands/build/data.js +23 -0
- package/dist/commands/build/data.js.map +1 -0
- package/dist/commands/build/schema.d.ts +6 -0
- package/dist/commands/build/schema.d.ts.map +1 -0
- package/dist/commands/build/schema.js +30 -0
- package/dist/commands/build/schema.js.map +1 -0
- package/dist/commands/build copy.d.ts +6 -0
- package/dist/commands/build copy.d.ts.map +1 -0
- package/dist/commands/build copy.js +56 -0
- package/dist/commands/build copy.js.map +1 -0
- package/dist/commands/build.d.ts +6 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/build.js +56 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/cleanup.d.ts +2 -2
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +13 -19
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/data/build.d.ts +11 -0
- package/dist/commands/data/build.d.ts.map +1 -0
- package/dist/commands/data/build.js +69 -0
- package/dist/commands/data/build.js.map +1 -0
- package/dist/commands/data/deploy.d.ts +9 -0
- package/dist/commands/data/deploy.d.ts.map +1 -0
- package/dist/commands/data/deploy.js +38 -0
- package/dist/commands/data/deploy.js.map +1 -0
- package/dist/commands/data/rows.d.ts +5 -0
- package/dist/commands/data/rows.d.ts.map +1 -0
- package/dist/commands/data/rows.js +63 -0
- package/dist/commands/data/rows.js.map +1 -0
- package/dist/commands/data/schema-info.d.ts +10 -0
- package/dist/commands/data/schema-info.d.ts.map +1 -0
- package/dist/commands/data/schema-info.js +64 -0
- package/dist/commands/data/schema-info.js.map +1 -0
- package/dist/commands/data.d.ts +4 -4
- package/dist/commands/data.d.ts.map +1 -1
- package/dist/commands/data.js +7 -195
- package/dist/commands/data.js.map +1 -1
- package/dist/commands/deploy/data.d.ts +6 -0
- package/dist/commands/deploy/data.d.ts.map +1 -0
- package/dist/commands/deploy/data.js +20 -0
- package/dist/commands/deploy/data.js.map +1 -0
- package/dist/commands/deploy/data.ts 21-46-08-256.d.ts +6 -0
- package/dist/commands/deploy/data.ts 21-46-08-256.d.ts.map +1 -0
- package/dist/commands/deploy/data.ts 21-46-08-256.js +20 -0
- package/dist/commands/deploy/data.ts 21-46-08-256.js.map +1 -0
- package/dist/commands/deploy/deploy.d.ts +9 -0
- package/dist/commands/deploy/deploy.d.ts.map +1 -0
- package/dist/commands/deploy/deploy.js +38 -0
- package/dist/commands/deploy/deploy.js.map +1 -0
- package/dist/commands/deploy/schema.d.ts +6 -0
- package/dist/commands/deploy/schema.d.ts.map +1 -0
- package/dist/commands/deploy/schema.js +20 -0
- package/dist/commands/deploy/schema.js.map +1 -0
- package/dist/commands/deploy.d.ts +6 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +73 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/image.js +1 -1
- package/dist/commands/image.js.map +1 -1
- package/dist/commands/show/env.d.ts +5 -0
- package/dist/commands/show/env.d.ts.map +1 -0
- package/dist/commands/show/env.js +100 -0
- package/dist/commands/show/env.js.map +1 -0
- package/dist/commands/show/rows.d.ts +5 -0
- package/dist/commands/show/rows.d.ts.map +1 -0
- package/dist/commands/show/rows.js +63 -0
- package/dist/commands/show/rows.js.map +1 -0
- package/dist/commands/show/schema-info.d.ts +10 -0
- package/dist/commands/show/schema-info.d.ts.map +1 -0
- package/dist/commands/show/schema-info.js +64 -0
- package/dist/commands/show/schema-info.js.map +1 -0
- package/dist/commands/show/schema.d.ts +10 -0
- package/dist/commands/show/schema.d.ts.map +1 -0
- package/dist/commands/show/schema.js +64 -0
- package/dist/commands/show/schema.js.map +1 -0
- package/dist/commands/show.d.ts +6 -0
- package/dist/commands/show.d.ts.map +1 -0
- package/dist/commands/show.js +52 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/commands/version/sql.d.ts +6 -0
- package/dist/commands/version/sql.d.ts.map +1 -0
- package/dist/commands/version/sql.js +35 -0
- package/dist/commands/version/sql.js.map +1 -0
- package/dist/commands/version/string.d.ts +13 -0
- package/dist/commands/version/string.d.ts.map +1 -0
- package/dist/commands/version/string.js +52 -0
- package/dist/commands/version/string.js.map +1 -0
- package/dist/commands/version/update.d.ts.map +1 -1
- package/dist/commands/version/update.js +26 -2
- package/dist/commands/version/update.js.map +1 -1
- package/dist/commands/version copy.d.ts +6 -0
- package/dist/commands/version copy.d.ts.map +1 -0
- package/dist/commands/version copy.js +66 -0
- package/dist/commands/version copy.js.map +1 -0
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +23 -1
- package/dist/commands/version.js.map +1 -1
- package/dist/lib/database-runner.d.ts +1 -1
- package/dist/lib/database-runner.d.ts.map +1 -1
- package/dist/lib/database-runner.js +8 -8
- package/dist/lib/database-runner.js.map +1 -1
- package/dist/lib/instance-discovery.js +2 -2
- package/dist/lib/instance-discovery.js.map +1 -1
- package/dist/lib/schema-discovery.js +2 -2
- package/dist/lib/schema-discovery.js.map +1 -1
- package/dist/utils/supabase.d.ts +1 -1
- package/dist/utils/supabase.d.ts.map +1 -1
- package/dist/utils/supabase.js +3 -3
- package/dist/utils/supabase.js.map +1 -1
- package/package.json +2 -1
package/dist/commands/data.js
CHANGED
|
@@ -1,30 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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,
|
|
11
|
-
// =============================================
|
|
12
|
-
// CLI Command Implementation
|
|
13
|
-
// =============================================
|
|
5
|
+
export { getSchemaTableRows, getSchemaFileList, getDefaultSchemaName };
|
|
14
6
|
/**
|
|
15
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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":"AACA,OAAO,EAAE,
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/dist/commands/image.js
CHANGED
|
@@ -19,7 +19,7 @@ Available operations:
|
|
|
19
19
|
Run 'blt image <operation> --help' for more information on a specific command.
|
|
20
20
|
`;
|
|
21
21
|
program
|
|
22
|
-
.command("image", "image manipulation
|
|
22
|
+
.command("image", "image manipulation")
|
|
23
23
|
.help(imageHelpText)
|
|
24
24
|
.action(() => {
|
|
25
25
|
console.log(imageHelpText);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/commands/image.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAgB;IACpD,iEAAiE;IACjE,MAAM,aAAa,GAAG;;;;;;;;;;;;;CAatB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/commands/image.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { execSync } from "node:child_process";
|
|
2
|
+
/**
|
|
3
|
+
* Mask sensitive values for display
|
|
4
|
+
*/
|
|
5
|
+
function maskValue(value, showLength = true) {
|
|
6
|
+
if (!value)
|
|
7
|
+
return "(not set)";
|
|
8
|
+
if (value.length <= 8)
|
|
9
|
+
return "***";
|
|
10
|
+
if (showLength) {
|
|
11
|
+
return `${value.substring(0, 4)}...${value.substring(value.length - 4)} (${value.length} chars)`;
|
|
12
|
+
}
|
|
13
|
+
return `${value.substring(0, 4)}...${value.substring(value.length - 4)}`;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Render a table row for ASCII table display
|
|
17
|
+
*/
|
|
18
|
+
function renderRow(row, colWidths) {
|
|
19
|
+
return `| ${row.map((cell, i) => cell.padEnd(colWidths[i])).join(" | ")} |`;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Render a table divider row
|
|
23
|
+
*/
|
|
24
|
+
function renderDivider(colWidths) {
|
|
25
|
+
return `|-${colWidths.map((w) => "-".repeat(w)).join("-|-")}-|`;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Show env command implementation - display blt core environment variables
|
|
29
|
+
*/
|
|
30
|
+
export async function showEnv() {
|
|
31
|
+
try {
|
|
32
|
+
console.log(`\nChecking build .env ${execSync('head -n 1 .env').toString().trim()}`);
|
|
33
|
+
console.log("\nš§ BLT Core Environment Variables\n");
|
|
34
|
+
// Define the environment variables to check
|
|
35
|
+
const envVars = [
|
|
36
|
+
{
|
|
37
|
+
name: "BLT_SCHEMA_BASE",
|
|
38
|
+
description: "Base path for schema files",
|
|
39
|
+
value: process.env.BLT_SCHEMA_BASE,
|
|
40
|
+
sensitive: false,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "BLT_DIST_PATH",
|
|
44
|
+
description: "Path for distribution files",
|
|
45
|
+
value: process.env.BLT_DIST_PATH,
|
|
46
|
+
sensitive: false,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "SUPABASE_DATA_API",
|
|
50
|
+
description: "Supabase Data API URL",
|
|
51
|
+
value: process.env.SUPABASE_DATA_API,
|
|
52
|
+
sensitive: false,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "SUPABASE_SERVICE_ROLE_KEY",
|
|
56
|
+
description: "Supabase service role key",
|
|
57
|
+
value: process.env.SUPABASE_SERVICE_ROLE_KEY,
|
|
58
|
+
sensitive: true,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: "SUPABASE_CONNECTION_STRING",
|
|
62
|
+
description: "Supabase database connection string",
|
|
63
|
+
value: process.env.SUPABASE_CONNECTION_STRING,
|
|
64
|
+
sensitive: true,
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
// Build ASCII table
|
|
68
|
+
const headers = ["Variable Name", "Description", "Value"];
|
|
69
|
+
const tableRows = [headers];
|
|
70
|
+
for (const envVar of envVars) {
|
|
71
|
+
const displayValue = envVar.sensitive
|
|
72
|
+
? maskValue(envVar.value || "")
|
|
73
|
+
: envVar.value || "(not set)";
|
|
74
|
+
tableRows.push([
|
|
75
|
+
envVar.name,
|
|
76
|
+
envVar.description,
|
|
77
|
+
displayValue,
|
|
78
|
+
]);
|
|
79
|
+
}
|
|
80
|
+
// Calculate column widths
|
|
81
|
+
const colWidths = headers.map((_header, i) => Math.max(...tableRows.map((row) => row[i].toString().length)));
|
|
82
|
+
// Print table
|
|
83
|
+
console.log(renderRow(tableRows[0], colWidths));
|
|
84
|
+
console.log(renderDivider(colWidths));
|
|
85
|
+
for (let i = 1; i < tableRows.length; i++) {
|
|
86
|
+
console.log(renderRow(tableRows[i], colWidths));
|
|
87
|
+
}
|
|
88
|
+
console.log("");
|
|
89
|
+
// Count set vs unset
|
|
90
|
+
const setCount = envVars.filter((v) => v.value).length;
|
|
91
|
+
const unsetCount = envVars.length - setCount;
|
|
92
|
+
console.log(`Set: ${setCount} | Unset: ${unsetCount}\n`);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
96
|
+
console.error(`\nā Error: ${message}`);
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=env.js.map
|