@dqcai/sqlite 3.0.5 → 3.1.0
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 +208 -34
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +10 -10
- package/lib/index.mjs.map +1 -1
- package/lib/index.umd.js +1 -1
- package/lib/index.umd.js.map +1 -1
- package/lib/logger/logger-config.d.ts +27 -79
- package/lib/logger/logger-config.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -10,23 +10,24 @@
|
|
|
10
10
|
|
|
11
11
|
## 🚀 Why Choose @dqcai/sqlite?
|
|
12
12
|
|
|
13
|
-
-
|
|
13
|
+
- **🌐 Universal**: Works everywhere - Browser, Node.js, Deno, Bun, React Native
|
|
14
14
|
- **🛡️ Type-Safe**: Full TypeScript support with complete type definitions
|
|
15
15
|
- **⚡ High Performance**: Built-in optimization, connection pooling, and batch operations
|
|
16
|
-
-
|
|
16
|
+
- **🗃️ Enterprise-Ready**: Service lifecycle management with ServiceManager
|
|
17
17
|
- **📊 Schema Management**: JSON-based schema definitions with migrations
|
|
18
18
|
- **🔄 Transaction Support**: Single and cross-schema transaction management
|
|
19
19
|
- **📈 Monitoring**: Real-time health monitoring and auto-recovery
|
|
20
20
|
- **🎯 DAO Pattern**: Clean separation of data access logic
|
|
21
|
+
- **📝 Advanced Logging**: Integrated logger with @dqcai/logger for comprehensive debugging
|
|
21
22
|
|
|
22
23
|
## 📦 Installation
|
|
23
24
|
|
|
24
25
|
```bash
|
|
25
|
-
npm install @dqcai/sqlite
|
|
26
|
+
npm install @dqcai/sqlite @dqcai/logger
|
|
26
27
|
# or
|
|
27
|
-
yarn add @dqcai/sqlite
|
|
28
|
+
yarn add @dqcai/sqlite @dqcai/logger
|
|
28
29
|
# or
|
|
29
|
-
pnpm add @dqcai/sqlite
|
|
30
|
+
pnpm add @dqcai/sqlite @dqcai/logger
|
|
30
31
|
```
|
|
31
32
|
|
|
32
33
|
## ⚡ Quick Start
|
|
@@ -73,7 +74,204 @@ const user = await service.createUser({
|
|
|
73
74
|
});
|
|
74
75
|
```
|
|
75
76
|
|
|
76
|
-
##
|
|
77
|
+
## 📝 Logger Integration (v3.1.0+)
|
|
78
|
+
|
|
79
|
+
@dqcai/sqlite integrates seamlessly with [@dqcai/logger](https://www.npmjs.com/package/@dqcai/logger) for comprehensive logging capabilities across your entire application.
|
|
80
|
+
|
|
81
|
+
### Step 1: Configure Logger
|
|
82
|
+
|
|
83
|
+
Create a centralized logger configuration file:
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
// ./src/configs/logger.ts
|
|
87
|
+
import {
|
|
88
|
+
LogLevel,
|
|
89
|
+
LoggerConfigBuilder,
|
|
90
|
+
createModuleLogger,
|
|
91
|
+
CommonLoggerConfig,
|
|
92
|
+
} from "@dqcai/logger";
|
|
93
|
+
|
|
94
|
+
import { SQLiteModules } from "@dqcai/sqlite"; // version 3.1.0+
|
|
95
|
+
|
|
96
|
+
// Define your application modules
|
|
97
|
+
const AppModules = {
|
|
98
|
+
...SQLiteModules, // Includes: UNIVERSAL_SQLITE, UNIVERSAL_DAO, etc.
|
|
99
|
+
MIDDLEWARE: "middleware",
|
|
100
|
+
API: "api",
|
|
101
|
+
AUTH: "auth",
|
|
102
|
+
// Add your custom modules here
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
// Configure logger settings
|
|
106
|
+
const config = new LoggerConfigBuilder()
|
|
107
|
+
.setEnabled(true) // Enable logging globally
|
|
108
|
+
.setDefaultLevel('trace') // Set default log level: trace, debug, info, warn, error
|
|
109
|
+
// Optional: Configure specific modules
|
|
110
|
+
.addModule(SQLiteModules.UNIVERSAL_SQLITE, true, ['info', 'warn', 'error'], ['console'])
|
|
111
|
+
.addModule(SQLiteModules.UNIVERSAL_DAO, true, ['debug', 'info', 'warn', 'error'], ['console'])
|
|
112
|
+
.addModule(AppModules.MIDDLEWARE, true, ['trace', 'debug', 'info', 'warn', 'error'], ['console'])
|
|
113
|
+
.build();
|
|
114
|
+
|
|
115
|
+
// Apply configuration
|
|
116
|
+
CommonLoggerConfig.updateConfiguration(config);
|
|
117
|
+
|
|
118
|
+
export { createModuleLogger, AppModules };
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Step 2: Use Logger in Your Modules
|
|
122
|
+
|
|
123
|
+
Replace `console.log/debug/warn/error` with the module logger:
|
|
124
|
+
|
|
125
|
+
```typescript
|
|
126
|
+
// ./src/middleware/auth.ts
|
|
127
|
+
import { createModuleLogger, AppModules } from "@/configs/logger";
|
|
128
|
+
|
|
129
|
+
const logger = createModuleLogger(AppModules.MIDDLEWARE);
|
|
130
|
+
|
|
131
|
+
export function authMiddleware(req, res, next) {
|
|
132
|
+
logger.trace("Middleware importing...");
|
|
133
|
+
logger.debug("Processing authentication", { userId: req.userId });
|
|
134
|
+
logger.info("User authenticated successfully");
|
|
135
|
+
logger.warn("Token expires soon", { expiresIn: 300 });
|
|
136
|
+
logger.error("Authentication failed", { reason: "Invalid token" });
|
|
137
|
+
|
|
138
|
+
next();
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Step 3: Use Logger in Services
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
// ./src/services/UserService.ts
|
|
146
|
+
import { BaseService } from '@dqcai/sqlite';
|
|
147
|
+
import { createModuleLogger, AppModules } from "@/configs/logger";
|
|
148
|
+
|
|
149
|
+
const logger = createModuleLogger(AppModules.API);
|
|
150
|
+
|
|
151
|
+
interface User {
|
|
152
|
+
id?: number;
|
|
153
|
+
username: string;
|
|
154
|
+
email: string;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
class UserService extends BaseService<User> {
|
|
158
|
+
constructor() {
|
|
159
|
+
super('users', 'users');
|
|
160
|
+
logger.info("UserService initialized");
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
async createUser(data: Omit<User, 'id'>): Promise<User | null> {
|
|
164
|
+
logger.debug("Creating user", { username: data.username });
|
|
165
|
+
|
|
166
|
+
try {
|
|
167
|
+
const user = await this.create(data);
|
|
168
|
+
logger.info("User created successfully", { userId: user?.id });
|
|
169
|
+
return user;
|
|
170
|
+
} catch (error) {
|
|
171
|
+
logger.error("Failed to create user", { error, data });
|
|
172
|
+
throw error;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
async findByEmail(email: string): Promise<User | null> {
|
|
177
|
+
logger.trace("Searching user by email", { email });
|
|
178
|
+
return await this.findFirst({ email });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Advanced Logger Configuration
|
|
184
|
+
|
|
185
|
+
#### Environment-based Configuration
|
|
186
|
+
|
|
187
|
+
```typescript
|
|
188
|
+
// ./src/configs/logger.ts
|
|
189
|
+
const isDevelopment = process.env.NODE_ENV === 'development';
|
|
190
|
+
const logLevel = process.env.LOG_LEVEL || (isDevelopment ? 'trace' : 'info');
|
|
191
|
+
const logEnabled = process.env.LOG_ENABLED !== 'false';
|
|
192
|
+
|
|
193
|
+
const config = new LoggerConfigBuilder()
|
|
194
|
+
.setEnabled(logEnabled)
|
|
195
|
+
.setDefaultLevel(logLevel as LogLevel)
|
|
196
|
+
.build();
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### File Transport
|
|
200
|
+
|
|
201
|
+
```typescript
|
|
202
|
+
import { FileTransport } from "@dqcai/logger";
|
|
203
|
+
|
|
204
|
+
const config = new LoggerConfigBuilder()
|
|
205
|
+
.setEnabled(true)
|
|
206
|
+
.setDefaultLevel('debug')
|
|
207
|
+
.addModule(
|
|
208
|
+
AppModules.API,
|
|
209
|
+
true,
|
|
210
|
+
['info', 'warn', 'error'],
|
|
211
|
+
['console', 'file'] // Log to both console and file
|
|
212
|
+
)
|
|
213
|
+
.addTransport(new FileTransport({
|
|
214
|
+
filename: './logs/app.log',
|
|
215
|
+
maxSize: 10 * 1024 * 1024, // 10MB
|
|
216
|
+
maxFiles: 5
|
|
217
|
+
}))
|
|
218
|
+
.build();
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
#### API Transport (Remote Logging)
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
import { APITransport } from "@dqcai/logger";
|
|
225
|
+
|
|
226
|
+
const config = new LoggerConfigBuilder()
|
|
227
|
+
.setEnabled(true)
|
|
228
|
+
.setDefaultLevel('info')
|
|
229
|
+
.addTransport(new APITransport({
|
|
230
|
+
url: 'https://your-logging-service.com/logs',
|
|
231
|
+
method: 'POST',
|
|
232
|
+
headers: {
|
|
233
|
+
'Authorization': 'Bearer YOUR_TOKEN'
|
|
234
|
+
}
|
|
235
|
+
}))
|
|
236
|
+
.build();
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Logger Best Practices
|
|
240
|
+
|
|
241
|
+
1. **Use appropriate log levels**:
|
|
242
|
+
- `trace`: Very detailed information for debugging
|
|
243
|
+
- `debug`: Diagnostic information
|
|
244
|
+
- `info`: General informational messages
|
|
245
|
+
- `warn`: Warning messages for potentially harmful situations
|
|
246
|
+
- `error`: Error messages for serious problems
|
|
247
|
+
|
|
248
|
+
2. **Include contextual data**:
|
|
249
|
+
```typescript
|
|
250
|
+
logger.info("User action completed", {
|
|
251
|
+
userId: user.id,
|
|
252
|
+
action: 'profile_update',
|
|
253
|
+
timestamp: Date.now()
|
|
254
|
+
});
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
3. **Don't log sensitive information**:
|
|
258
|
+
```typescript
|
|
259
|
+
// ❌ Bad
|
|
260
|
+
logger.debug("User login", { password: user.password });
|
|
261
|
+
|
|
262
|
+
// ✅ Good
|
|
263
|
+
logger.debug("User login", { username: user.username });
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
4. **Use module-specific loggers**:
|
|
267
|
+
```typescript
|
|
268
|
+
// Create separate loggers for different parts of your app
|
|
269
|
+
const authLogger = createModuleLogger(AppModules.AUTH);
|
|
270
|
+
const apiLogger = createModuleLogger(AppModules.API);
|
|
271
|
+
const dbLogger = createModuleLogger(AppModules.UNIVERSAL_SQLITE);
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
## 🗃️ Core Components
|
|
77
275
|
|
|
78
276
|
### DatabaseManager
|
|
79
277
|
Central database connection and schema management.
|
|
@@ -307,32 +505,6 @@ const healthReport = await serviceManager.healthCheck();
|
|
|
307
505
|
console.log(`System health: ${healthReport.overallHealth ? 'Healthy' : 'Unhealthy'}`);
|
|
308
506
|
```
|
|
309
507
|
|
|
310
|
-
### Custom Logger for trace/debug/infor/warn/error versin 3.x.x
|
|
311
|
-
```typescript
|
|
312
|
-
|
|
313
|
-
import { LoggerConfigBuilder } from '@dqcai/logger';
|
|
314
|
-
|
|
315
|
-
import {
|
|
316
|
-
SQLiteLoggerConfig,
|
|
317
|
-
SQLiteModules,
|
|
318
|
-
createModuleLogger
|
|
319
|
-
} from '@dqcai/sqlite';
|
|
320
|
-
|
|
321
|
-
const customConfig = new LoggerConfigBuilder()
|
|
322
|
-
.setEnabled(true) // Turn on logger for all
|
|
323
|
-
.setDefaultLevel('trace') // Set level default is 'trace'
|
|
324
|
-
// Config custom logger for each module
|
|
325
|
-
.addModule(SQLiteModules.UNIVERSAL_SQLITE, true, ['info', 'warn', 'error'], ['console'])
|
|
326
|
-
.addModule(SQLiteModules.UNIVERSAL_DAO, true, ['debug', 'info', 'warn', 'error'], ['console'])
|
|
327
|
-
.build();
|
|
328
|
-
|
|
329
|
-
// Use this logger config for another module in your code
|
|
330
|
-
|
|
331
|
-
// Update configuration for logger
|
|
332
|
-
SQLiteLoggerConfig.updateConfiguration(customConfig);
|
|
333
|
-
|
|
334
|
-
```
|
|
335
|
-
|
|
336
508
|
## 🎯 Use Cases
|
|
337
509
|
|
|
338
510
|
- **Mobile Apps**: React Native applications with offline-first data storage
|
|
@@ -344,7 +516,7 @@ SQLiteLoggerConfig.updateConfiguration(customConfig);
|
|
|
344
516
|
|
|
345
517
|
## 🔍 SEO Keywords
|
|
346
518
|
|
|
347
|
-
**SQLite JavaScript**, **TypeScript SQLite**, **React Native SQLite**, **Node.js SQLite**, **Universal SQLite**, **Cross-platform database**, **SQLite ORM**, **Database service management**, **TypeScript database library**, **JavaScript database**, **Mobile database**, **Offline database**, **SQLite migrations**, **Database transactions**, **SQLite schema management**
|
|
519
|
+
**SQLite JavaScript**, **TypeScript SQLite**, **React Native SQLite**, **Node.js SQLite**, **Universal SQLite**, **Cross-platform database**, **SQLite ORM**, **Database service management**, **TypeScript database library**, **JavaScript database**, **Mobile database**, **Offline database**, **SQLite migrations**, **Database transactions**, **SQLite schema management**, **Logger integration**, **Debug SQLite**, **Database logging**
|
|
348
520
|
|
|
349
521
|
## 📊 Performance Benchmarks
|
|
350
522
|
|
|
@@ -360,6 +532,7 @@ SQLiteLoggerConfig.updateConfiguration(customConfig);
|
|
|
360
532
|
- **Performance optimization**: Built-in query optimization and connection pooling
|
|
361
533
|
- **Memory management**: Automatic cleanup of unused services
|
|
362
534
|
- **Graceful shutdown**: Proper resource cleanup on application termination
|
|
535
|
+
- **Comprehensive logging**: Integrated logger for debugging and monitoring
|
|
363
536
|
|
|
364
537
|
## 🔄 Migration Support
|
|
365
538
|
|
|
@@ -431,6 +604,7 @@ app.listen(3000);
|
|
|
431
604
|
|
|
432
605
|
- **GitHub**: [https://github.com/cuongdqpayment/dqcai-sqlite](https://github.com/cuongdqpayment/dqcai-sqlite)
|
|
433
606
|
- **NPM**: [https://www.npmjs.com/package/@dqcai/sqlite](https://www.npmjs.com/package/@dqcai/sqlite)
|
|
607
|
+
- **Logger Package**: [https://www.npmjs.com/package/@dqcai/logger](https://www.npmjs.com/package/@dqcai/logger)
|
|
434
608
|
- **Issues**: [GitHub Issues](https://github.com/cuongdqpayment/dqcai-sqlite/issues)
|
|
435
609
|
- **Facebook**: [Facebook Page](https://www.facebook.com/share/p/19esHGbaGj/)
|
|
436
610
|
|
|
@@ -441,7 +615,7 @@ MIT License - see [LICENSE](https://github.com/cuongdqpayment/dqcai-sqlite/blob/
|
|
|
441
615
|
## 🚀 Get Started Now
|
|
442
616
|
|
|
443
617
|
```bash
|
|
444
|
-
npm install @dqcai/sqlite
|
|
618
|
+
npm install @dqcai/sqlite @dqcai/logger
|
|
445
619
|
```
|
|
446
620
|
|
|
447
621
|
Transform your data management with the most powerful universal SQLite library for JavaScript and TypeScript!
|
package/lib/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { UniversalDAO } from "./core/universal-dao";
|
|
|
2
2
|
import { BaseService } from "./core/base-service";
|
|
3
3
|
import { QueryBuilder } from "./query/query-builder";
|
|
4
4
|
import { SQLiteAdapter, SQLiteResult, SQLiteRow, DatabaseSchema, DbFactoryOptions, ImportOptions, ImportResult, ColumnMapping } from "./types";
|
|
5
|
-
export {
|
|
5
|
+
export { SQLiteModules } from "./logger/logger-config";
|
|
6
6
|
export { UniversalDAO } from "./core/universal-dao";
|
|
7
7
|
export { DatabaseFactory } from "./core/database-factory";
|
|
8
8
|
export { DatabaseManager } from "./core/database-manager";
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,EACd,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|