From 8735a0714ecad684b627cce8f60fd73fb2f183f6 Mon Sep 17 00:00:00 2001 From: bitc0de Date: Wed, 17 Dec 2025 15:56:55 +0100 Subject: [PATCH] Make db.ts completely lazy - no code execution on import --- lib/db.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/db.ts b/lib/db.ts index 01b69b4..6adf35f 100644 --- a/lib/db.ts +++ b/lib/db.ts @@ -33,10 +33,16 @@ interface Database { playlistSongs: PlaylistSong[] } -const dataDir = join(process.cwd(), 'data') -const dbPath = join(dataDir, 'db.json') +function getDataDir() { + return join(process.cwd(), 'data') +} + +function getDbPath() { + return join(getDataDir(), 'db.json') +} function ensureDataDir() { + const dataDir = getDataDir() if (!existsSync(dataDir)) { mkdirSync(dataDir, { recursive: true }) } @@ -44,6 +50,7 @@ function ensureDataDir() { function readDb(): Database { ensureDataDir() + const dbPath = getDbPath() if (!existsSync(dbPath)) { const initialDb: Database = { @@ -60,6 +67,7 @@ function readDb(): Database { function writeDb(db: Database) { ensureDataDir() + const dbPath = getDbPath() writeFileSync(dbPath, JSON.stringify(db, null, 2)) }