From 94cf7c4fff34ebce8d64b12a566b9ddc1bff4fa4 Mon Sep 17 00:00:00 2001 From: cunoe Date: Tue, 31 Mar 2026 12:29:37 +0800 Subject: [PATCH] fix: Windows path compat, move types to devDeps, parameterize SQL (#15, #16, #17) --- package.json | 2 +- src/utils/config/config-manager.ts | 3 ++- src/utils/db.ts | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 085e189..5c35068 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,6 @@ "license": "ISC", "packageManager": "pnpm@10.15.0", "dependencies": { - "@types/better-sqlite3": "^7.6.13", "better-sqlite3": "^12.2.0", "chalk": "^5.6.0", "commander": "^14.0.0", @@ -52,6 +51,7 @@ }, "devDependencies": { "@eslint/js": "^9.15.0", + "@types/better-sqlite3": "^7.6.13", "@types/node": "^24.3.0", "@typescript-eslint/eslint-plugin": "^8.15.0", "@typescript-eslint/parser": "^8.15.0", diff --git a/src/utils/config/config-manager.ts b/src/utils/config/config-manager.ts index 3c7889b..a789dbf 100644 --- a/src/utils/config/config-manager.ts +++ b/src/utils/config/config-manager.ts @@ -1,4 +1,5 @@ import { writeFileSync, existsSync, mkdirSync, readFileSync } from 'fs'; +import { dirname } from 'path'; import { stringify } from 'yaml'; import { ConfigParser } from './config-parser'; import { EnvxConfig, EnvConfig, EnvTarget, DevConfig, DevConfigParseResult } from '.'; @@ -40,7 +41,7 @@ export class ConfigManager { save(): void { try { // 确保目录存在 - const dir = this.configPath.substring(0, this.configPath.lastIndexOf('/')); + const dir = dirname(this.configPath); if (dir && !existsSync(dir)) { mkdirSync(dir, { recursive: true }); } diff --git a/src/utils/db.ts b/src/utils/db.ts index 9f1bede..3d4d31c 100644 --- a/src/utils/db.ts +++ b/src/utils/db.ts @@ -76,9 +76,9 @@ export class DatabaseManager { if (currentVersion < DatabaseManager.SCHEMA_VERSION) { if (currentVersion === 0) { - this.db.exec(`INSERT INTO schema_version (version) VALUES (${DatabaseManager.SCHEMA_VERSION})`); + this.db.prepare('INSERT INTO schema_version (version) VALUES (?)').run(DatabaseManager.SCHEMA_VERSION); } else { - this.db.exec(`UPDATE schema_version SET version = ${DatabaseManager.SCHEMA_VERSION}`); + this.db.prepare('UPDATE schema_version SET version = ?').run(DatabaseManager.SCHEMA_VERSION); } } } catch (err) {