This commit is contained in:
Benjamin Toby 2026-03-11 05:39:08 +01:00
parent 42ee8eaaa1
commit bf1c364e36
11 changed files with 36 additions and 23 deletions

View File

@ -44,6 +44,7 @@ function default_1() {
(0, schema_to_typedef_1.default)({ (0, schema_to_typedef_1.default)({
dbSchema: finaldbSchema, dbSchema: finaldbSchema,
dst_file: out_file, dst_file: out_file,
config,
}); });
} }
console.log(`${chalk_1.default.bold(chalk_1.default.green(`DB Schema setup success!`))}`); console.log(`${chalk_1.default.bold(chalk_1.default.green(`DB Schema setup success!`))}`);

View File

@ -25,7 +25,7 @@ function default_1() {
.description("Build DB From Schema") .description("Build DB From Schema")
.action((opts) => __awaiter(this, void 0, void 0, function* () { .action((opts) => __awaiter(this, void 0, void 0, function* () {
console.log(`Creating Type Definition From DB Schema ...`); console.log(`Creating Type Definition From DB Schema ...`);
const { config, dbSchema } = yield (0, init_1.default)(); const { config, dbSchema } = (0, init_1.default)();
const { ROOT_DIR } = (0, grab_dir_names_1.default)(); const { ROOT_DIR } = (0, grab_dir_names_1.default)();
const finaldbSchema = (0, append_default_fields_to_db_schema_1.default)({ dbSchema }); const finaldbSchema = (0, append_default_fields_to_db_schema_1.default)({ dbSchema });
if (config.typedef_file_path) { if (config.typedef_file_path) {
@ -33,6 +33,7 @@ function default_1() {
(0, schema_to_typedef_1.default)({ (0, schema_to_typedef_1.default)({
dbSchema: finaldbSchema, dbSchema: finaldbSchema,
dst_file: out_file, dst_file: out_file,
config,
}); });
} }
else { else {

View File

@ -1,6 +1,7 @@
import type { NSQLITE_DatabaseSchemaType } from "../../types"; import type { NSQLITE_DatabaseSchemaType, NSQLiteConfig } from "../../types";
type Params = { type Params = {
dbSchema?: NSQLITE_DatabaseSchemaType; dbSchema: NSQLITE_DatabaseSchemaType;
config: NSQLiteConfig;
}; };
export default function dbSchemaToType(params?: Params): string[] | undefined; export default function dbSchemaToType({ config, dbSchema, }: Params): string[] | undefined;
export {}; export {};

View File

@ -6,16 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.default = dbSchemaToType; exports.default = dbSchemaToType;
const lodash_1 = __importDefault(require("lodash")); const lodash_1 = __importDefault(require("lodash"));
const db_generate_type_defs_1 = __importDefault(require("./db-generate-type-defs")); const db_generate_type_defs_1 = __importDefault(require("./db-generate-type-defs"));
function dbSchemaToType(params) { function dbSchemaToType({ config, dbSchema, }) {
var _a; var _a;
let datasquirelSchema = params === null || params === void 0 ? void 0 : params.dbSchema; let datasquirelSchema = dbSchema;
if (!datasquirelSchema) if (!datasquirelSchema)
return; return;
let tableNames = `export const NSQLiteTables = [\n${datasquirelSchema.tables let tableNames = `export const NSQLiteTables = [\n${datasquirelSchema.tables
.map((tbl) => ` "${tbl.tableName}",`) .map((tbl) => ` "${tbl.tableName}",`)
.join("\n")}\n] as const`; .join("\n")}\n] as const`;
const dbTablesSchemas = datasquirelSchema.tables; const dbTablesSchemas = datasquirelSchema.tables;
const defDbName = (_a = datasquirelSchema.dbName) === null || _a === void 0 ? void 0 : _a.toUpperCase().replace(/ |\-/g, "_"); const defDbName = (_a = config.db_name) === null || _a === void 0 ? void 0 : _a.toUpperCase().replace(/ |\-/g, "_");
const defNames = []; const defNames = [];
const schemas = dbTablesSchemas const schemas = dbTablesSchemas
.map((table) => { .map((table) => {

View File

@ -1,7 +1,8 @@
import type { NSQLITE_DatabaseSchemaType } from "../../types"; import type { NSQLITE_DatabaseSchemaType, NSQLiteConfig } from "../../types";
type Params = { type Params = {
dbSchema: NSQLITE_DatabaseSchemaType; dbSchema: NSQLITE_DatabaseSchemaType;
dst_file: string; dst_file: string;
config: NSQLiteConfig;
}; };
export default function dbSchemaToTypeDef({ dbSchema, dst_file }: Params): void; export default function dbSchemaToTypeDef({ dbSchema, dst_file, config, }: Params): void;
export {}; export {};

View File

@ -7,11 +7,11 @@ exports.default = dbSchemaToTypeDef;
const node_path_1 = __importDefault(require("node:path")); const node_path_1 = __importDefault(require("node:path"));
const node_fs_1 = require("node:fs"); const node_fs_1 = require("node:fs");
const db_schema_to_typedef_1 = __importDefault(require("./db-schema-to-typedef")); const db_schema_to_typedef_1 = __importDefault(require("./db-schema-to-typedef"));
function dbSchemaToTypeDef({ dbSchema, dst_file }) { function dbSchemaToTypeDef({ dbSchema, dst_file, config, }) {
try { try {
if (!dbSchema) if (!dbSchema)
throw new Error("No schema found"); throw new Error("No schema found");
const definitions = (0, db_schema_to_typedef_1.default)({ dbSchema }); const definitions = (0, db_schema_to_typedef_1.default)({ dbSchema, config });
const ourfileDir = node_path_1.default.dirname(dst_file); const ourfileDir = node_path_1.default.dirname(dst_file);
if (!(0, node_fs_1.existsSync)(ourfileDir)) { if (!(0, node_fs_1.existsSync)(ourfileDir)) {
(0, node_fs_1.mkdirSync)(ourfileDir, { recursive: true }); (0, node_fs_1.mkdirSync)(ourfileDir, { recursive: true });

View File

@ -1,6 +1,6 @@
{ {
"name": "@moduletrace/nsqlite", "name": "@moduletrace/nsqlite",
"version": "1.0.9", "version": "1.0.10",
"description": "SQLite manager for Node JS", "description": "SQLite manager for Node JS",
"author": "Benjamin Toby", "author": "Benjamin Toby",
"main": "dist/index.js", "main": "dist/index.js",

View File

@ -44,6 +44,7 @@ export default function () {
dbSchemaToTypeDef({ dbSchemaToTypeDef({
dbSchema: finaldbSchema, dbSchema: finaldbSchema,
dst_file: out_file, dst_file: out_file,
config,
}); });
} }

View File

@ -12,7 +12,7 @@ export default function () {
.action(async (opts) => { .action(async (opts) => {
console.log(`Creating Type Definition From DB Schema ...`); console.log(`Creating Type Definition From DB Schema ...`);
const { config, dbSchema } = await init(); const { config, dbSchema } = init();
const { ROOT_DIR } = grabDirNames(); const { ROOT_DIR } = grabDirNames();
const finaldbSchema = appendDefaultFieldsToDbSchema({ dbSchema }); const finaldbSchema = appendDefaultFieldsToDbSchema({ dbSchema });
@ -25,6 +25,7 @@ export default function () {
dbSchemaToTypeDef({ dbSchemaToTypeDef({
dbSchema: finaldbSchema, dbSchema: finaldbSchema,
dst_file: out_file, dst_file: out_file,
config,
}); });
} else { } else {
console.error(``); console.error(``);

View File

@ -1,13 +1,17 @@
import _ from "lodash"; import _ from "lodash";
import type { NSQLITE_DatabaseSchemaType } from "../../types"; import type { NSQLITE_DatabaseSchemaType, NSQLiteConfig } from "../../types";
import generateTypeDefinition from "./db-generate-type-defs"; import generateTypeDefinition from "./db-generate-type-defs";
type Params = { type Params = {
dbSchema?: NSQLITE_DatabaseSchemaType; dbSchema: NSQLITE_DatabaseSchemaType;
config: NSQLiteConfig;
}; };
export default function dbSchemaToType(params?: Params): string[] | undefined { export default function dbSchemaToType({
let datasquirelSchema = params?.dbSchema; config,
dbSchema,
}: Params): string[] | undefined {
let datasquirelSchema = dbSchema;
if (!datasquirelSchema) return; if (!datasquirelSchema) return;
@ -17,9 +21,7 @@ export default function dbSchemaToType(params?: Params): string[] | undefined {
const dbTablesSchemas = datasquirelSchema.tables; const dbTablesSchemas = datasquirelSchema.tables;
const defDbName = datasquirelSchema.dbName const defDbName = config.db_name?.toUpperCase().replace(/ |\-/g, "_");
?.toUpperCase()
.replace(/ |\-/g, "_");
const defNames: string[] = []; const defNames: string[] = [];

View File

@ -1,18 +1,23 @@
import path from "node:path"; import path from "node:path";
import { existsSync, mkdirSync, writeFileSync } from "node:fs"; import { existsSync, mkdirSync, writeFileSync } from "node:fs";
import type { NSQLITE_DatabaseSchemaType } from "../../types"; import type { NSQLITE_DatabaseSchemaType, NSQLiteConfig } from "../../types";
import dbSchemaToType from "./db-schema-to-typedef"; import dbSchemaToType from "./db-schema-to-typedef";
type Params = { type Params = {
dbSchema: NSQLITE_DatabaseSchemaType; dbSchema: NSQLITE_DatabaseSchemaType;
dst_file: string; dst_file: string;
config: NSQLiteConfig;
}; };
export default function dbSchemaToTypeDef({ dbSchema, dst_file }: Params) { export default function dbSchemaToTypeDef({
dbSchema,
dst_file,
config,
}: Params) {
try { try {
if (!dbSchema) throw new Error("No schema found"); if (!dbSchema) throw new Error("No schema found");
const definitions = dbSchemaToType({ dbSchema }); const definitions = dbSchemaToType({ dbSchema, config });
const ourfileDir = path.dirname(dst_file); const ourfileDir = path.dirname(dst_file);