@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,eAAe,CAAC;AAI5E;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EAAE,OAAO,QAkDpD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { buildSchema } from "./build/schema";
|
|
2
|
+
import { buildData } from "./build/data";
|
|
3
|
+
/**
|
|
4
|
+
* Register build commands with the CLI program
|
|
5
|
+
*/
|
|
6
|
+
export default function buildCommand(program) {
|
|
7
|
+
const buildHelpText = `
|
|
8
|
+
build utilities
|
|
9
|
+
|
|
10
|
+
Usage:
|
|
11
|
+
blt build <operation>
|
|
12
|
+
|
|
13
|
+
Available operations:
|
|
14
|
+
schema Build schema from DDL files
|
|
15
|
+
data Build data from instance directory
|
|
16
|
+
|
|
17
|
+
Run 'blt build <operation> --help' for more information on a specific command.
|
|
18
|
+
`;
|
|
19
|
+
program
|
|
20
|
+
.command("build", "schema/data build utilities")
|
|
21
|
+
.help(buildHelpText)
|
|
22
|
+
.action(() => {
|
|
23
|
+
console.log(buildHelpText);
|
|
24
|
+
});
|
|
25
|
+
program
|
|
26
|
+
.command("build schema", "Build schema from DDL files")
|
|
27
|
+
.hide()
|
|
28
|
+
.argument("[name]", "Schema name")
|
|
29
|
+
.action(async ({ args, logger }) => {
|
|
30
|
+
try {
|
|
31
|
+
const name = args.name;
|
|
32
|
+
await buildSchema(name, logger);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
36
|
+
logger.error(`Failed to build schema: ${message}`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
program
|
|
41
|
+
.command("build data", "Build data from instance directory")
|
|
42
|
+
.hide()
|
|
43
|
+
.argument("[name]", "Instance name")
|
|
44
|
+
.action(async ({ args, logger }) => {
|
|
45
|
+
try {
|
|
46
|
+
const name = args.name;
|
|
47
|
+
await buildData(name, logger);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
51
|
+
logger.error(`Failed to build data: ${message}`);
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAgB;IACpD,MAAM,aAAa,GAAG;;;;;;;;;;;CAWtB,CAAC;IAED,OAAO;SACL,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC;SAC/C,IAAI,CAAC,aAAa,CAAC;SACnB,MAAM,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,cAAc,EAAE,6BAA6B,CAAC;SACtD,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,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,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,2BAA2B,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CAAC,CAAC;IAEJ,OAAO;SACL,OAAO,CAAC,YAAY,EAAE,oCAAoC,CAAC;SAC3D,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,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,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,yBAAyB,OAAO,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Program } from "@caporal/core";
|
|
1
|
+
import type { Program } from "@caporal/core";
|
|
2
2
|
/**
|
|
3
|
-
* Register
|
|
3
|
+
* Register env commands with the CLI program
|
|
4
4
|
*/
|
|
5
5
|
export default function cleanupCommand(program: Program): void;
|
|
6
6
|
//# sourceMappingURL=cleanup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,QAkBtD"}
|
package/dist/commands/cleanup.js
CHANGED
|
@@ -1,29 +1,23 @@
|
|
|
1
|
-
import fs
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { getPaths } from '../lib/constants';
|
|
1
|
+
import fs from "node:fs";
|
|
4
2
|
/**
|
|
5
|
-
* Register
|
|
3
|
+
* Register env commands with the CLI program
|
|
6
4
|
*/
|
|
7
5
|
export default function cleanupCommand(program) {
|
|
8
6
|
program
|
|
9
|
-
.command("cleanup", "Cleanup generated
|
|
7
|
+
.command("cleanup", "Cleanup generated files")
|
|
10
8
|
.action(async ({ args, options, logger }) => {
|
|
11
|
-
const paths = getPaths();
|
|
12
9
|
console.log(`Cleaning generated SQL files and combined schema files`);
|
|
13
|
-
fs.rmSync(
|
|
14
|
-
fs.rmSync(
|
|
10
|
+
fs.rmSync("dist/public.sql", { recursive: true, force: true });
|
|
11
|
+
fs.rmSync("dist/data.sql", { recursive: true, force: true });
|
|
15
12
|
console.log(`Removed generated instance files`);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
}
|
|
13
|
+
fs.rmSync("schema/instances/default/sql/", {
|
|
14
|
+
recursive: true,
|
|
15
|
+
force: true,
|
|
16
|
+
});
|
|
17
|
+
fs.rmSync("schema/instances/joanne/sql/", {
|
|
18
|
+
recursive: true,
|
|
19
|
+
force: true,
|
|
20
|
+
});
|
|
26
21
|
});
|
|
27
22
|
}
|
|
28
|
-
;
|
|
29
23
|
//# sourceMappingURL=cleanup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAgB;IACtD,OAAO;SACL,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,EAAE,CAAC,MAAM,CAAC,+BAA+B,EAAE;YAC1C,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE;YACzC,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACX,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Logger } from "@caporal/core";
|
|
2
|
+
export declare function buildSchema(name: string, logger: Logger): Promise<void>;
|
|
3
|
+
export declare function buildData(name: string, logger: Logger): Promise<void>;
|
|
4
|
+
/**
|
|
5
|
+
* Build command implementation
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildCommand(args: {
|
|
8
|
+
type: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
}, logger: Logger): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/data/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAe5C,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ7E;AAGD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;AAGD;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACrC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAkDf"}
|
|
@@ -0,0 +1,69 @@
|
|
|
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 { buildSchemaFile, getPackageVersion, getSortedSqlFiles, writeSchemaFile, } from "../../lib/sql-builder";
|
|
6
|
+
import { buildDataFile, writeDataFile } from "../../lib/data-generator";
|
|
7
|
+
import { getPaths } from "../../lib/constants";
|
|
8
|
+
export async function buildSchema(name, logger) {
|
|
9
|
+
const schemaName = name || getDefaultSchemaName();
|
|
10
|
+
const paths = getPaths();
|
|
11
|
+
const sqlDir = join(process.cwd(), paths.SCHEMA_BASE, schemaName, "sql");
|
|
12
|
+
if (!existsSync(sqlDir)) {
|
|
13
|
+
logger.error(`Schema directory does not exist: ${sqlDir}`);
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export async function buildData(name, logger) {
|
|
18
|
+
const instanceName = name || getDefaultInstanceName();
|
|
19
|
+
const version = getPackageVersion();
|
|
20
|
+
const dataContent = buildDataFile(instanceName, version);
|
|
21
|
+
writeDataFile(dataContent, instanceName);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Build command implementation
|
|
25
|
+
*/
|
|
26
|
+
export async function buildCommand(args, logger) {
|
|
27
|
+
const buildType = args.type;
|
|
28
|
+
const name = args.name;
|
|
29
|
+
if (buildType === "schema") {
|
|
30
|
+
// Build schema
|
|
31
|
+
const schemaName = name || getDefaultSchemaName();
|
|
32
|
+
const paths = getPaths();
|
|
33
|
+
// Validate schema directory exists
|
|
34
|
+
const sqlDir = join(process.cwd(), paths.SCHEMA_BASE, schemaName, "sql");
|
|
35
|
+
if (!existsSync(sqlDir)) {
|
|
36
|
+
logger.error(`Schema directory does not exist: ${sqlDir}`);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
const version = getPackageVersion();
|
|
40
|
+
// Build schema file from DDL files only
|
|
41
|
+
const sqlFiles = getSortedSqlFiles(sqlDir, schemaName);
|
|
42
|
+
if (sqlFiles.length === 0) {
|
|
43
|
+
logger.error(`No SQL files found in schema directory: ${sqlDir}`);
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
const combinedContent = buildSchemaFile(sqlDir, schemaName, sqlFiles, version);
|
|
47
|
+
// Write to dist directory
|
|
48
|
+
writeSchemaFile(combinedContent, schemaName);
|
|
49
|
+
console.log(`✅ Schema built successfully: dist/${schemaName}.sql`);
|
|
50
|
+
}
|
|
51
|
+
else if (buildType === "data") {
|
|
52
|
+
// Build data
|
|
53
|
+
const instanceName = name || getDefaultInstanceName();
|
|
54
|
+
const version = getPackageVersion();
|
|
55
|
+
try {
|
|
56
|
+
// Build data file from instance directory
|
|
57
|
+
const dataContent = buildDataFile(instanceName, version);
|
|
58
|
+
// Write to dist directory
|
|
59
|
+
writeDataFile(dataContent, instanceName);
|
|
60
|
+
console.log(`✅ Data generated successfully: dist/data.sql`);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
64
|
+
logger.error(message);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/data/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/data/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/data/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":"rows.d.ts","sourceRoot":"","sources":["../../../src/commands/data/rows.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAqDjD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { executeQuery } from "../../lib/database-runner";
|
|
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
|
+
* Rows command implementation - display row counts for all tables
|
|
16
|
+
*/
|
|
17
|
+
export async function rowsCommand() {
|
|
18
|
+
try {
|
|
19
|
+
console.log("\n📊 Fetching row counts from database...\n");
|
|
20
|
+
const rows = await executeQuery("SELECT * FROM get_row_counts()");
|
|
21
|
+
if (rows.length === 0) {
|
|
22
|
+
console.log("No tables found in the database.");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// Build ASCII table
|
|
26
|
+
const headers = ["Table Name", "Row Count"];
|
|
27
|
+
const tableRows = [headers];
|
|
28
|
+
for (const row of rows) {
|
|
29
|
+
// Handle bigint which may come as string from PostgreSQL
|
|
30
|
+
const count = typeof row.row_count === 'string'
|
|
31
|
+
? parseInt(row.row_count, 10).toLocaleString()
|
|
32
|
+
: Number(row.row_count).toLocaleString();
|
|
33
|
+
tableRows.push([
|
|
34
|
+
row.table_name,
|
|
35
|
+
count,
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
// Calculate column widths
|
|
39
|
+
const colWidths = headers.map((_header, i) => Math.max(...tableRows.map((row) => row[i].toString().length)));
|
|
40
|
+
// Print table
|
|
41
|
+
console.log(renderRow(tableRows[0], colWidths));
|
|
42
|
+
console.log(renderDivider(colWidths));
|
|
43
|
+
for (let i = 1; i < tableRows.length; i++) {
|
|
44
|
+
console.log(renderRow(tableRows[i], colWidths));
|
|
45
|
+
}
|
|
46
|
+
console.log("");
|
|
47
|
+
// Calculate and display total
|
|
48
|
+
const total = rows.reduce((sum, row) => {
|
|
49
|
+
const count = typeof row.row_count === 'string'
|
|
50
|
+
? parseInt(row.row_count, 10)
|
|
51
|
+
: Number(row.row_count);
|
|
52
|
+
return sum + count;
|
|
53
|
+
}, 0);
|
|
54
|
+
console.log(`Total rows across all tables: ${total.toLocaleString()}\n`);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
58
|
+
console.error(`\n❌ Error: ${message}`);
|
|
59
|
+
console.error("\nMake sure the database is accessible and get_row_counts() function exists.");
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rows.js","sourceRoot":"","sources":["../../../src/commands/data/rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Logger } from "@caporal/core";
|
|
2
|
+
/**
|
|
3
|
+
* Schema info command implementation
|
|
4
|
+
*/
|
|
5
|
+
export declare function schemaInfoCommand(args: {
|
|
6
|
+
schemaName?: string;
|
|
7
|
+
}, options: {
|
|
8
|
+
format: string;
|
|
9
|
+
}, logger: Logger): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=schema-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-info.d.ts","sourceRoot":"","sources":["../../../src/commands/data/schema-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAqB5C;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7B,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAmDf"}
|
|
@@ -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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"}
|
package/dist/commands/data.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Program } from "@caporal/core";
|
|
2
|
-
import {
|
|
3
|
-
export { getSchemaTableRows, getSchemaFileList,
|
|
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
|
|
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;
|
|
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"}
|