nanodb-orm 0.0.2 → 0.0.4
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 +211 -309
- package/dist/cli.d.ts +13 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +270 -0
- package/dist/cli.js.map +1 -0
- package/dist/constants/index.d.ts +7 -54
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +9 -61
- package/dist/constants/index.js.map +1 -1
- package/dist/core/config.d.ts +3 -13
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +5 -27
- package/dist/core/config.js.map +1 -1
- package/dist/core/connection.d.ts +11 -20
- package/dist/core/connection.d.ts.map +1 -1
- package/dist/core/connection.js +35 -53
- package/dist/core/connection.js.map +1 -1
- package/dist/core/index.d.ts +2 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -18
- package/dist/core/index.js.map +1 -1
- package/dist/index.d.ts +40 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -31
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +79 -22
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +246 -48
- package/dist/init.js.map +1 -1
- package/dist/jest.setup.d.ts +4 -0
- package/dist/jest.setup.d.ts.map +1 -0
- package/dist/jest.setup.js +40 -0
- package/dist/jest.setup.js.map +1 -0
- package/dist/types/errors.d.ts +30 -12
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +98 -23
- package/dist/types/errors.js.map +1 -1
- package/dist/types/index.d.ts +130 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -3
- package/dist/types/index.js.map +1 -1
- package/dist/utils/error-handler.d.ts +11 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +36 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.d.ts +6 -25
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +20 -38
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/migrations.d.ts +16 -90
- package/dist/utils/migrations.d.ts.map +1 -1
- package/dist/utils/migrations.js +222 -412
- package/dist/utils/migrations.js.map +1 -1
- package/dist/utils/schema-introspection.d.ts +30 -173
- package/dist/utils/schema-introspection.d.ts.map +1 -1
- package/dist/utils/schema-introspection.js +129 -460
- package/dist/utils/schema-introspection.js.map +1 -1
- package/dist/utils/seeds.d.ts +15 -48
- package/dist/utils/seeds.d.ts.map +1 -1
- package/dist/utils/seeds.js +101 -185
- package/dist/utils/seeds.js.map +1 -1
- package/dist/utils/sync.d.ts +16 -54
- package/dist/utils/sync.d.ts.map +1 -1
- package/dist/utils/sync.js +71 -173
- package/dist/utils/sync.js.map +1 -1
- package/dist/utils/transactions.d.ts +16 -0
- package/dist/utils/transactions.d.ts.map +1 -0
- package/dist/utils/transactions.js +44 -0
- package/dist/utils/transactions.js.map +1 -0
- package/package.json +29 -10
- package/dist/example.d.ts +0 -67
- package/dist/example.d.ts.map +0 -1
- package/dist/example.js +0 -86
- package/dist/example.js.map +0 -1
- package/dist/types/types.d.ts +0 -30
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/types.js +0 -6
- package/dist/types/types.js.map +0 -1
- package/llm.txt +0 -268
package/dist/cli.js
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* nanodb-orm CLI
|
|
5
|
+
*
|
|
6
|
+
* Commands:
|
|
7
|
+
* studio - Launch Drizzle Studio (visual database browser)
|
|
8
|
+
* setup - Initialize database schema and seed data
|
|
9
|
+
* reset - Drop all tables and recreate
|
|
10
|
+
* status - Show database health and stats
|
|
11
|
+
* validate - Validate schema against database
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
const child_process_1 = require("child_process");
|
|
48
|
+
const fs_1 = require("fs");
|
|
49
|
+
const path_1 = require("path");
|
|
50
|
+
const args = process.argv.slice(2);
|
|
51
|
+
const command = args[0];
|
|
52
|
+
// Help text
|
|
53
|
+
const HELP = `
|
|
54
|
+
nanodb-orm CLI
|
|
55
|
+
|
|
56
|
+
Usage: nanodb [command] [options]
|
|
57
|
+
|
|
58
|
+
Commands:
|
|
59
|
+
studio Launch Drizzle Studio (visual database browser)
|
|
60
|
+
setup Initialize database schema and seed data
|
|
61
|
+
reset Drop all tables and recreate
|
|
62
|
+
status Show database health and stats
|
|
63
|
+
validate Validate schema against database
|
|
64
|
+
help Show this help message
|
|
65
|
+
|
|
66
|
+
Options:
|
|
67
|
+
--db <path> Database file path (default: database.db)
|
|
68
|
+
--port <num> Studio port (default: 4983)
|
|
69
|
+
|
|
70
|
+
Examples:
|
|
71
|
+
nanodb studio
|
|
72
|
+
nanodb studio --port 3000
|
|
73
|
+
nanodb setup
|
|
74
|
+
nanodb status
|
|
75
|
+
`;
|
|
76
|
+
async function main() {
|
|
77
|
+
if (!command || command === 'help' || command === '--help' || command === '-h') {
|
|
78
|
+
console.log(HELP);
|
|
79
|
+
process.exit(0);
|
|
80
|
+
}
|
|
81
|
+
switch (command) {
|
|
82
|
+
case 'studio':
|
|
83
|
+
await launchStudio();
|
|
84
|
+
break;
|
|
85
|
+
case 'setup':
|
|
86
|
+
await runSetup();
|
|
87
|
+
break;
|
|
88
|
+
case 'reset':
|
|
89
|
+
await runReset();
|
|
90
|
+
break;
|
|
91
|
+
case 'status':
|
|
92
|
+
await showStatus();
|
|
93
|
+
break;
|
|
94
|
+
case 'validate':
|
|
95
|
+
await runValidate();
|
|
96
|
+
break;
|
|
97
|
+
default:
|
|
98
|
+
console.error(`Unknown command: ${command}`);
|
|
99
|
+
console.log(HELP);
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function getArg(name, defaultValue) {
|
|
104
|
+
const index = args.indexOf(`--${name}`);
|
|
105
|
+
if (index !== -1) {
|
|
106
|
+
const val = args[index + 1];
|
|
107
|
+
if (val)
|
|
108
|
+
return val;
|
|
109
|
+
}
|
|
110
|
+
return defaultValue;
|
|
111
|
+
}
|
|
112
|
+
function getDbPath() {
|
|
113
|
+
// Check for --db argument
|
|
114
|
+
let dbPath = getArg('db', '');
|
|
115
|
+
if (!dbPath) {
|
|
116
|
+
// Try common locations
|
|
117
|
+
if ((0, fs_1.existsSync)('database.db'))
|
|
118
|
+
dbPath = 'database.db';
|
|
119
|
+
else if ((0, fs_1.existsSync)('local.db'))
|
|
120
|
+
dbPath = 'local.db';
|
|
121
|
+
else if ((0, fs_1.existsSync)('test.db'))
|
|
122
|
+
dbPath = 'test.db';
|
|
123
|
+
else if ((0, fs_1.existsSync)('data.db'))
|
|
124
|
+
dbPath = 'data.db';
|
|
125
|
+
else
|
|
126
|
+
dbPath = 'database.db'; // Default
|
|
127
|
+
}
|
|
128
|
+
return (0, path_1.resolve)(dbPath);
|
|
129
|
+
}
|
|
130
|
+
async function launchStudio() {
|
|
131
|
+
const dbPath = getDbPath();
|
|
132
|
+
const port = getArg('port', '4983');
|
|
133
|
+
console.log(`\n🚀 Launching Drizzle Studio...`);
|
|
134
|
+
console.log(` Database: ${dbPath}`);
|
|
135
|
+
console.log(` URL: https://local.drizzle.studio`);
|
|
136
|
+
console.log(` Port: ${port}\n`);
|
|
137
|
+
// Create temporary drizzle config
|
|
138
|
+
const configPath = (0, path_1.resolve)('.drizzle-studio.config.ts');
|
|
139
|
+
const configContent = `
|
|
140
|
+
import { defineConfig } from 'drizzle-kit';
|
|
141
|
+
|
|
142
|
+
export default defineConfig({
|
|
143
|
+
dialect: 'sqlite',
|
|
144
|
+
dbCredentials: {
|
|
145
|
+
url: 'file:${dbPath}',
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
`;
|
|
149
|
+
(0, fs_1.writeFileSync)(configPath, configContent);
|
|
150
|
+
// Launch drizzle-kit studio
|
|
151
|
+
const studio = (0, child_process_1.spawn)('npx', ['drizzle-kit', 'studio', '--port', port, '--config', configPath], {
|
|
152
|
+
stdio: 'inherit',
|
|
153
|
+
shell: true,
|
|
154
|
+
});
|
|
155
|
+
// Cleanup on exit
|
|
156
|
+
const cleanup = () => {
|
|
157
|
+
try {
|
|
158
|
+
if ((0, fs_1.existsSync)(configPath))
|
|
159
|
+
(0, fs_1.unlinkSync)(configPath);
|
|
160
|
+
}
|
|
161
|
+
catch { }
|
|
162
|
+
};
|
|
163
|
+
process.on('SIGINT', () => {
|
|
164
|
+
cleanup();
|
|
165
|
+
process.exit(0);
|
|
166
|
+
});
|
|
167
|
+
process.on('SIGTERM', () => {
|
|
168
|
+
cleanup();
|
|
169
|
+
process.exit(0);
|
|
170
|
+
});
|
|
171
|
+
studio.on('close', (code) => {
|
|
172
|
+
cleanup();
|
|
173
|
+
process.exit(code ?? 0);
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
async function runSetup() {
|
|
177
|
+
console.log('\n📦 Running database setup...\n');
|
|
178
|
+
try {
|
|
179
|
+
const { DatabaseSync } = await Promise.resolve().then(() => __importStar(require('./index')));
|
|
180
|
+
await DatabaseSync.setup();
|
|
181
|
+
console.log('\n✅ Setup complete!\n');
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
console.error('\n❌ Setup failed\n');
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
async function runReset() {
|
|
189
|
+
console.log('\n⚠️ Resetting database (this will delete all data)...\n');
|
|
190
|
+
try {
|
|
191
|
+
const { DatabaseSync } = await Promise.resolve().then(() => __importStar(require('./index')));
|
|
192
|
+
await DatabaseSync.reset();
|
|
193
|
+
console.log('\n✅ Reset complete!\n');
|
|
194
|
+
}
|
|
195
|
+
catch (error) {
|
|
196
|
+
console.error('\n❌ Reset failed\n');
|
|
197
|
+
process.exit(1);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
async function showStatus() {
|
|
201
|
+
console.log('\n📊 Database Status\n');
|
|
202
|
+
try {
|
|
203
|
+
const { DatabaseSync, SchemaIntrospection } = await Promise.resolve().then(() => __importStar(require('./index')));
|
|
204
|
+
const health = await DatabaseSync.healthCheck();
|
|
205
|
+
const stats = SchemaIntrospection.getSchemaStats();
|
|
206
|
+
console.log(`Healthy: ${health.healthy ? '✅ Yes' : '❌ No'}`);
|
|
207
|
+
console.log(`Schema Valid: ${health.schemaValid ? '✅ Yes' : '❌ No'}`);
|
|
208
|
+
console.log(`Total Tables: ${stats.totalTables}`);
|
|
209
|
+
console.log(`Total Records: ${health.totalRecords}`);
|
|
210
|
+
console.log('');
|
|
211
|
+
console.log('Tables:');
|
|
212
|
+
for (const table of health.tables) {
|
|
213
|
+
const count = health.tableCounts[table] ?? 0;
|
|
214
|
+
console.log(` ${table}: ${count} rows`);
|
|
215
|
+
}
|
|
216
|
+
if (health.errors.length > 0) {
|
|
217
|
+
console.log('\nErrors:');
|
|
218
|
+
for (const err of health.errors) {
|
|
219
|
+
console.log(` ❌ ${err}`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
console.log('');
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
console.error('❌ Could not get status:', error instanceof Error ? error.message : error);
|
|
226
|
+
process.exit(1);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
async function runValidate() {
|
|
230
|
+
console.log('\n🔍 Validating schema...\n');
|
|
231
|
+
try {
|
|
232
|
+
const { SchemaIntrospection } = await Promise.resolve().then(() => __importStar(require('./index')));
|
|
233
|
+
const validation = await SchemaIntrospection.validateSchema();
|
|
234
|
+
if (validation.isValid) {
|
|
235
|
+
console.log('✅ Schema is valid!\n');
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
console.log('❌ Schema validation failed\n');
|
|
239
|
+
if (validation.missingTables.length > 0) {
|
|
240
|
+
console.log('Missing tables:');
|
|
241
|
+
for (const table of validation.missingTables) {
|
|
242
|
+
console.log(` - ${table}`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (validation.extraTables.length > 0) {
|
|
246
|
+
console.log('Extra tables in database:');
|
|
247
|
+
for (const table of validation.extraTables) {
|
|
248
|
+
console.log(` - ${table}`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
if (validation.errors.length > 0) {
|
|
252
|
+
console.log('Errors:');
|
|
253
|
+
for (const err of validation.errors) {
|
|
254
|
+
console.log(` - ${err}`);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
console.log('');
|
|
258
|
+
process.exit(1);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
console.error('❌ Validation failed:', error instanceof Error ? error.message : error);
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
main().catch((err) => {
|
|
267
|
+
console.error('CLI Error:', err);
|
|
268
|
+
process.exit(1);
|
|
269
|
+
});
|
|
270
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Configuration constants
|
|
3
3
|
*/
|
|
4
|
-
export declare const
|
|
5
|
-
readonly
|
|
4
|
+
export declare const ENV: {
|
|
5
|
+
readonly TURSO_URL: "TURSO_CONNECTION_URL";
|
|
6
|
+
readonly TURSO_TOKEN: "TURSO_AUTH_TOKEN";
|
|
6
7
|
};
|
|
7
|
-
export declare const
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
10
|
-
readonly NODE_ENV: "NODE_ENV";
|
|
8
|
+
export declare const DEFAULTS: {
|
|
9
|
+
readonly LOCAL_DB_PATH: "database.db";
|
|
10
|
+
readonly TEST_DB_PATH: "test.db";
|
|
11
11
|
};
|
|
12
|
-
export declare const DEFAULT_CONFIG: {
|
|
13
|
-
readonly SYNC_INTERVAL: 60;
|
|
14
|
-
readonly LOG_LEVEL: "INFO";
|
|
15
|
-
readonly MAX_RETRIES: 3;
|
|
16
|
-
readonly TIMEOUT: 5000;
|
|
17
|
-
};
|
|
18
|
-
export declare const MIGRATION_VERSIONS: {
|
|
19
|
-
readonly INITIAL: "001";
|
|
20
|
-
};
|
|
21
|
-
export declare const HEALTH_THRESHOLDS: {
|
|
22
|
-
readonly MAX_CONNECTION_TIME: 1000;
|
|
23
|
-
readonly MAX_QUERY_TIME: 1000;
|
|
24
|
-
readonly MAX_TOTAL_TIME: 5000;
|
|
25
|
-
};
|
|
26
|
-
export declare const ERROR_CODES: {
|
|
27
|
-
readonly CONNECTION_FAILED: "CONNECTION_FAILED";
|
|
28
|
-
readonly SYNC_NOT_SUPPORTED: "SYNC_NOT_SUPPORTED";
|
|
29
|
-
readonly SCHEMA_VALIDATION_FAILED: "SCHEMA_VALIDATION_FAILED";
|
|
30
|
-
readonly MIGRATION_FAILED: "MIGRATION_FAILED";
|
|
31
|
-
readonly SEED_FAILED: "SEED_FAILED";
|
|
32
|
-
};
|
|
33
|
-
export declare const LOG_LEVELS: {
|
|
34
|
-
readonly DEBUG: 0;
|
|
35
|
-
readonly INFO: 1;
|
|
36
|
-
readonly WARN: 2;
|
|
37
|
-
readonly ERROR: 3;
|
|
38
|
-
};
|
|
39
|
-
export declare const OPERATION_TYPES: {
|
|
40
|
-
readonly CONNECTION: "connection";
|
|
41
|
-
readonly SYNC: "sync";
|
|
42
|
-
readonly MIGRATION: "migration";
|
|
43
|
-
readonly SEED: "seed";
|
|
44
|
-
readonly HEALTH: "health";
|
|
45
|
-
readonly SCHEMA: "schema";
|
|
46
|
-
readonly QUERY: "query";
|
|
47
|
-
};
|
|
48
|
-
export declare const FILE_PATHS: {
|
|
49
|
-
readonly DEFAULT_LOCAL_DB: "./local.db";
|
|
50
|
-
readonly DEFAULT_REPLICA_DB: "./replica.db";
|
|
51
|
-
readonly ENV_FILE: ".env";
|
|
52
|
-
};
|
|
53
|
-
export type TableName = typeof TABLE_NAMES[keyof typeof TABLE_NAMES];
|
|
54
|
-
export type EnvVar = typeof ENV_VARS[keyof typeof ENV_VARS];
|
|
55
|
-
export type MigrationVersion = typeof MIGRATION_VERSIONS[keyof typeof MIGRATION_VERSIONS];
|
|
56
|
-
export type ErrorCode = typeof ERROR_CODES[keyof typeof ERROR_CODES];
|
|
57
|
-
export type LogLevel = typeof LOG_LEVELS[keyof typeof LOG_LEVELS];
|
|
58
|
-
export type OperationType = typeof OPERATION_TYPES[keyof typeof OPERATION_TYPES];
|
|
59
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,GAAG;;;CAGN,CAAC;AAEX,eAAO,MAAM,QAAQ;;;CAGX,CAAC"}
|
package/dist/constants/index.js
CHANGED
|
@@ -1,67 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Configuration constants
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
exports.ENV_VARS = {
|
|
15
|
-
TURSO_CONNECTION_URL: 'TURSO_CONNECTION_URL',
|
|
16
|
-
TURSO_AUTH_TOKEN: 'TURSO_AUTH_TOKEN',
|
|
17
|
-
NODE_ENV: 'NODE_ENV',
|
|
18
|
-
};
|
|
19
|
-
// Default configuration values
|
|
20
|
-
exports.DEFAULT_CONFIG = {
|
|
21
|
-
SYNC_INTERVAL: 60, // seconds
|
|
22
|
-
LOG_LEVEL: 'INFO',
|
|
23
|
-
MAX_RETRIES: 3,
|
|
24
|
-
TIMEOUT: 5000, // milliseconds
|
|
25
|
-
};
|
|
26
|
-
// Migration versions (now dynamic from schema.ts)
|
|
27
|
-
exports.MIGRATION_VERSIONS = {
|
|
28
|
-
INITIAL: '001',
|
|
29
|
-
};
|
|
30
|
-
// Health check thresholds
|
|
31
|
-
exports.HEALTH_THRESHOLDS = {
|
|
32
|
-
MAX_CONNECTION_TIME: 1000, // milliseconds
|
|
33
|
-
MAX_QUERY_TIME: 1000, // milliseconds
|
|
34
|
-
MAX_TOTAL_TIME: 5000, // milliseconds
|
|
35
|
-
};
|
|
36
|
-
// Error codes
|
|
37
|
-
exports.ERROR_CODES = {
|
|
38
|
-
CONNECTION_FAILED: 'CONNECTION_FAILED',
|
|
39
|
-
SYNC_NOT_SUPPORTED: 'SYNC_NOT_SUPPORTED',
|
|
40
|
-
SCHEMA_VALIDATION_FAILED: 'SCHEMA_VALIDATION_FAILED',
|
|
41
|
-
MIGRATION_FAILED: 'MIGRATION_FAILED',
|
|
42
|
-
SEED_FAILED: 'SEED_FAILED',
|
|
43
|
-
};
|
|
44
|
-
// Log levels
|
|
45
|
-
exports.LOG_LEVELS = {
|
|
46
|
-
DEBUG: 0,
|
|
47
|
-
INFO: 1,
|
|
48
|
-
WARN: 2,
|
|
49
|
-
ERROR: 3,
|
|
50
|
-
};
|
|
51
|
-
// Database operation types
|
|
52
|
-
exports.OPERATION_TYPES = {
|
|
53
|
-
CONNECTION: 'connection',
|
|
54
|
-
SYNC: 'sync',
|
|
55
|
-
MIGRATION: 'migration',
|
|
56
|
-
SEED: 'seed',
|
|
57
|
-
HEALTH: 'health',
|
|
58
|
-
SCHEMA: 'schema',
|
|
59
|
-
QUERY: 'query',
|
|
60
|
-
};
|
|
61
|
-
// File paths
|
|
62
|
-
exports.FILE_PATHS = {
|
|
63
|
-
DEFAULT_LOCAL_DB: './local.db',
|
|
64
|
-
DEFAULT_REPLICA_DB: './replica.db',
|
|
65
|
-
ENV_FILE: '.env',
|
|
6
|
+
exports.DEFAULTS = exports.ENV = void 0;
|
|
7
|
+
exports.ENV = {
|
|
8
|
+
TURSO_URL: 'TURSO_CONNECTION_URL',
|
|
9
|
+
TURSO_TOKEN: 'TURSO_AUTH_TOKEN',
|
|
10
|
+
};
|
|
11
|
+
exports.DEFAULTS = {
|
|
12
|
+
LOCAL_DB_PATH: 'database.db',
|
|
13
|
+
TEST_DB_PATH: 'test.db',
|
|
66
14
|
};
|
|
67
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../constants/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../constants/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,GAAG,GAAG;IACjB,SAAS,EAAE,sBAAsB;IACjC,WAAW,EAAE,kBAAkB;CACvB,CAAC;AAEE,QAAA,QAAQ,GAAG;IACtB,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,SAAS;CACf,CAAC"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
+
import type { DatabaseConfig } from '../types';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
export interface DatabaseConfig {
|
|
5
|
-
connectionUrl: string;
|
|
6
|
-
authToken: string;
|
|
7
|
-
syncInterval: number;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Get database configuration from environment variables
|
|
3
|
+
* Get Turso database configuration from environment variables.
|
|
4
|
+
* Throws if required variables are missing.
|
|
11
5
|
*/
|
|
12
6
|
export declare function getDatabaseConfig(): DatabaseConfig;
|
|
13
|
-
/**
|
|
14
|
-
* Validate database configuration
|
|
15
|
-
*/
|
|
16
|
-
export declare function validateDatabaseConfig(): boolean;
|
|
17
7
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../core/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../core/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CASlD"}
|
package/dist/core/config.js
CHANGED
|
@@ -1,40 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDatabaseConfig = getDatabaseConfig;
|
|
4
|
-
exports.validateDatabaseConfig = validateDatabaseConfig;
|
|
5
4
|
const dotenv_1 = require("dotenv");
|
|
6
|
-
const errors_1 = require("../types/errors");
|
|
7
|
-
// Load environment variables
|
|
8
5
|
(0, dotenv_1.config)({ path: '.env' });
|
|
9
6
|
/**
|
|
10
|
-
* Get database configuration from environment variables
|
|
7
|
+
* Get Turso database configuration from environment variables.
|
|
8
|
+
* Throws if required variables are missing.
|
|
11
9
|
*/
|
|
12
10
|
function getDatabaseConfig() {
|
|
13
11
|
const connectionUrl = process.env.TURSO_CONNECTION_URL;
|
|
14
12
|
const authToken = process.env.TURSO_AUTH_TOKEN;
|
|
15
|
-
if (!connectionUrl) {
|
|
16
|
-
throw new
|
|
17
|
-
}
|
|
18
|
-
if (!authToken) {
|
|
19
|
-
throw new errors_1.DatabaseError('TURSO_AUTH_TOKEN environment variable is required', 'config');
|
|
20
|
-
}
|
|
21
|
-
return {
|
|
22
|
-
connectionUrl,
|
|
23
|
-
authToken,
|
|
24
|
-
syncInterval: 60, // Default sync interval in seconds
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Validate database configuration
|
|
29
|
-
*/
|
|
30
|
-
function validateDatabaseConfig() {
|
|
31
|
-
try {
|
|
32
|
-
getDatabaseConfig();
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
console.error('Database configuration validation failed:', error);
|
|
37
|
-
return false;
|
|
13
|
+
if (!connectionUrl || !authToken) {
|
|
14
|
+
throw new Error('Missing TURSO_CONNECTION_URL or TURSO_AUTH_TOKEN');
|
|
38
15
|
}
|
|
16
|
+
return { connectionUrl, authToken };
|
|
39
17
|
}
|
|
40
18
|
//# sourceMappingURL=config.js.map
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../core/config.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../core/config.ts"],"names":[],"mappings":";;AASA,8CASC;AAlBD,mCAAgC;AAGhC,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEzB;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE/C,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -1,29 +1,20 @@
|
|
|
1
|
+
import { drizzle } from 'drizzle-orm/libsql';
|
|
2
|
+
type DrizzleInstance = ReturnType<typeof drizzle>;
|
|
1
3
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
+
* Thread-safe singleton database connection manager.
|
|
5
|
+
* Supports both Turso (remote) and local SQLite databases.
|
|
4
6
|
*/
|
|
5
7
|
export declare class DatabaseConnection {
|
|
6
8
|
private static instance;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
$client: import("@libsql/client").Client;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Create a new database connection
|
|
15
|
-
*/
|
|
9
|
+
private static pending;
|
|
10
|
+
/** Get the database connection instance (creates if needed) */
|
|
11
|
+
static getInstance(): Promise<DrizzleInstance>;
|
|
12
|
+
/** Create a new database connection */
|
|
16
13
|
private static createConnection;
|
|
17
|
-
/**
|
|
18
|
-
* Reset the connection instance (useful for testing)
|
|
19
|
-
*/
|
|
14
|
+
/** Reset the connection (for testing) */
|
|
20
15
|
static reset(): void;
|
|
21
|
-
/**
|
|
22
|
-
* Check if connection is established
|
|
23
|
-
*/
|
|
16
|
+
/** Check if a connection exists */
|
|
24
17
|
static isConnected(): boolean;
|
|
25
18
|
}
|
|
26
|
-
export
|
|
27
|
-
$client: import("@libsql/client").Client;
|
|
28
|
-
};
|
|
19
|
+
export {};
|
|
29
20
|
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../core/connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../core/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAElD;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgC;IACvD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAyC;IAE/D,+DAA+D;WAClD,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAcpD,uCAAuC;mBAClB,gBAAgB;IAmBrC,yCAAyC;IACzC,MAAM,CAAC,KAAK,IAAI,IAAI;IAKpB,mCAAmC;IACnC,MAAM,CAAC,WAAW,IAAI,OAAO;CAG9B"}
|