Make backup dir name config variable optional

This commit is contained in:
Benjamin Toby 2026-03-02 14:56:47 +01:00
parent 98e51645d5
commit 8f50b200c8
8 changed files with 14 additions and 16 deletions

View File

@ -1,4 +1,5 @@
export declare const AppData: { export declare const AppData: {
readonly ConfigFileName: "bun-sqlite.config.ts"; readonly ConfigFileName: "bun-sqlite.config.ts";
readonly MaxBackups: 10; readonly MaxBackups: 10;
readonly DefaultBackupDirName: ".backups";
}; };

View File

@ -1,4 +1,5 @@
export const AppData = { export const AppData = {
ConfigFileName: "bun-sqlite.config.ts", ConfigFileName: "bun-sqlite.config.ts",
MaxBackups: 10, MaxBackups: 10,
DefaultBackupDirName: ".backups",
}; };

View File

@ -22,10 +22,6 @@ export default async function init() {
console.error(`\`db_schema_file_name\` is required in your config`); console.error(`\`db_schema_file_name\` is required in your config`);
process.exit(1); process.exit(1);
} }
if (!Config.db_backup_dir) {
console.error(`\`db_backup_dir\` is required in your config`);
process.exit(1);
}
let db_dir = ROOT_DIR; let db_dir = ROOT_DIR;
if (Config.db_dir) { if (Config.db_dir) {
db_dir = path.resolve(ROOT_DIR, Config.db_dir); db_dir = path.resolve(ROOT_DIR, Config.db_dir);
@ -36,7 +32,8 @@ export default async function init() {
const DBSchemaFilePath = path.join(db_dir, Config.db_schema_file_name); const DBSchemaFilePath = path.join(db_dir, Config.db_schema_file_name);
const DbSchemaImport = await import(DBSchemaFilePath); const DbSchemaImport = await import(DBSchemaFilePath);
const DbSchema = DbSchemaImport["default"]; const DbSchema = DbSchemaImport["default"];
const BackupDir = path.resolve(db_dir, Config.db_backup_dir); const backup_dir = Config.db_backup_dir || AppData["DefaultBackupDirName"];
const BackupDir = path.resolve(db_dir, backup_dir);
if (!fs.existsSync(BackupDir)) { if (!fs.existsSync(BackupDir)) {
fs.mkdirSync(BackupDir, { recursive: true }); fs.mkdirSync(BackupDir, { recursive: true });
} }

View File

@ -994,9 +994,9 @@ export type BunSQLiteConfig = {
*/ */
db_schema_file_name: string; db_schema_file_name: string;
/** /**
* The Directory for backups * The Directory for backups. Relative to db_dir.
*/ */
db_backup_dir: string; db_backup_dir?: string;
max_backups?: number; max_backups?: number;
/** /**
* The Root Directory for the DB file and schema * The Root Directory for the DB file and schema

View File

@ -1,6 +1,6 @@
{ {
"name": "@moduletrace/bun-sqlite", "name": "@moduletrace/bun-sqlite",
"version": "1.0.1", "version": "1.0.2",
"description": "SQLite manager for Bun", "description": "SQLite manager for Bun",
"author": "Benjamin Toby", "author": "Benjamin Toby",
"main": "dist/index.js", "main": "dist/index.js",

View File

@ -1,4 +1,5 @@
export const AppData = { export const AppData = {
ConfigFileName: "bun-sqlite.config.ts", ConfigFileName: "bun-sqlite.config.ts",
MaxBackups: 10, MaxBackups: 10,
DefaultBackupDirName: ".backups",
} as const; } as const;

View File

@ -37,11 +37,6 @@ export default async function init(): Promise<BunSQLiteConfigReturn> {
process.exit(1); process.exit(1);
} }
if (!Config.db_backup_dir) {
console.error(`\`db_backup_dir\` is required in your config`);
process.exit(1);
}
let db_dir = ROOT_DIR; let db_dir = ROOT_DIR;
if (Config.db_dir) { if (Config.db_dir) {
@ -58,7 +53,10 @@ export default async function init(): Promise<BunSQLiteConfigReturn> {
"default" "default"
] as BUN_SQLITE_DatabaseSchemaType; ] as BUN_SQLITE_DatabaseSchemaType;
const BackupDir = path.resolve(db_dir, Config.db_backup_dir); const backup_dir =
Config.db_backup_dir || AppData["DefaultBackupDirName"];
const BackupDir = path.resolve(db_dir, backup_dir);
if (!fs.existsSync(BackupDir)) { if (!fs.existsSync(BackupDir)) {
fs.mkdirSync(BackupDir, { recursive: true }); fs.mkdirSync(BackupDir, { recursive: true });
} }

View File

@ -1149,9 +1149,9 @@ export type BunSQLiteConfig = {
*/ */
db_schema_file_name: string; db_schema_file_name: string;
/** /**
* The Directory for backups * The Directory for backups. Relative to db_dir.
*/ */
db_backup_dir: string; db_backup_dir?: string;
max_backups?: number; max_backups?: number;
/** /**
* The Root Directory for the DB file and schema * The Root Directory for the DB file and schema