noormme 1.0.1 → 1.0.2
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/dist/cjs/noormme.d.ts +2 -2
- package/dist/cjs/noormme.js +11 -6
- package/dist/cjs/performance/query-optimizer.d.ts +1 -1
- package/dist/cjs/performance/query-optimizer.js +2 -2
- package/dist/cjs/performance/services/cache-service.d.ts +1 -1
- package/dist/cjs/performance/services/cache-service.js +2 -2
- package/dist/cjs/performance/services/connection-factory.d.ts +1 -1
- package/dist/cjs/performance/services/connection-factory.js +3 -3
- package/dist/cjs/performance/services/metrics-collector.d.ts +1 -1
- package/dist/cjs/performance/services/metrics-collector.js +2 -2
- package/dist/esm/noormme.d.ts +2 -2
- package/dist/esm/noormme.js +7 -5
- package/dist/esm/performance/query-optimizer.d.ts +1 -1
- package/dist/esm/performance/query-optimizer.js +1 -1
- package/dist/esm/performance/services/cache-service.d.ts +1 -1
- package/dist/esm/performance/services/cache-service.js +1 -1
- package/dist/esm/performance/services/connection-factory.d.ts +1 -1
- package/dist/esm/performance/services/connection-factory.js +1 -1
- package/dist/esm/performance/services/metrics-collector.d.ts +1 -1
- package/dist/esm/performance/services/metrics-collector.js +1 -1
- package/package.json +1 -1
package/dist/cjs/noormme.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Kysely } from './kysely.js';
|
|
2
2
|
import { NOORMConfig, SchemaInfo, Repository, SchemaChange } from './types/index.js';
|
|
3
3
|
import { WatchOptions } from './watch/schema-watcher.js';
|
|
4
4
|
/**
|
|
@@ -126,7 +126,7 @@ export declare class NOORMME {
|
|
|
126
126
|
/**
|
|
127
127
|
* Execute raw SQL
|
|
128
128
|
*/
|
|
129
|
-
execute(
|
|
129
|
+
execute(sqlString: string, parameters?: unknown[]): Promise<unknown>;
|
|
130
130
|
private mergeConfig;
|
|
131
131
|
/**
|
|
132
132
|
* Parse connection string into NOORMConfig
|
package/dist/cjs/noormme.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.NOORMME = void 0;
|
|
7
|
+
const kysely_js_1 = require("./kysely.js");
|
|
4
8
|
const schema_discovery_js_1 = require("./schema/schema-discovery.js");
|
|
5
9
|
const type_generator_js_1 = require("./types/type-generator.js");
|
|
6
10
|
const repository_factory_js_1 = require("./repository/repository-factory.js");
|
|
@@ -14,6 +18,8 @@ const metrics_collector_js_1 = require("./performance/services/metrics-collector
|
|
|
14
18
|
const sqlite_auto_optimizer_js_1 = require("./dialect/sqlite/sqlite-auto-optimizer.js");
|
|
15
19
|
const sqlite_auto_indexer_js_1 = require("./dialect/sqlite/sqlite-auto-indexer.js");
|
|
16
20
|
const sqlite_dialect_js_1 = require("./dialect/sqlite/sqlite-dialect.js");
|
|
21
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
22
|
+
const compiled_query_js_1 = require("./query-compiler/compiled-query.js");
|
|
17
23
|
// Global initialization lock to prevent concurrent initialization
|
|
18
24
|
const globalInitLock = new Map();
|
|
19
25
|
/**
|
|
@@ -67,7 +73,7 @@ class NOORMME {
|
|
|
67
73
|
this.instanceId = `${this.config.dialect}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
68
74
|
// Initialize Kysely with the provided dialect
|
|
69
75
|
this.dialect = this.createDialect();
|
|
70
|
-
this.db = new
|
|
76
|
+
this.db = new kysely_js_1.Kysely({
|
|
71
77
|
dialect: this.dialect,
|
|
72
78
|
log: this.config.logging?.enabled ? this.logger.createKyselyLogger() : undefined
|
|
73
79
|
});
|
|
@@ -480,9 +486,9 @@ class NOORMME {
|
|
|
480
486
|
/**
|
|
481
487
|
* Execute raw SQL
|
|
482
488
|
*/
|
|
483
|
-
async execute(
|
|
484
|
-
const
|
|
485
|
-
return await this.db.executeQuery(
|
|
489
|
+
async execute(sqlString, parameters) {
|
|
490
|
+
const compiledQuery = compiled_query_js_1.CompiledQuery.raw(sqlString, parameters || []);
|
|
491
|
+
return await this.db.executeQuery(compiledQuery);
|
|
486
492
|
}
|
|
487
493
|
mergeConfig(config) {
|
|
488
494
|
return {
|
|
@@ -574,9 +580,8 @@ class NOORMME {
|
|
|
574
580
|
const { dialect, connection } = this.config;
|
|
575
581
|
switch (dialect) {
|
|
576
582
|
case 'sqlite':
|
|
577
|
-
const Database = require('better-sqlite3');
|
|
578
583
|
return new sqlite_dialect_js_1.SqliteDialect({
|
|
579
|
-
database: new
|
|
584
|
+
database: new better_sqlite3_1.default(connection.database)
|
|
580
585
|
});
|
|
581
586
|
default:
|
|
582
587
|
throw new Error(`Unsupported dialect: ${dialect}`);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.QueryOptimizer = void 0;
|
|
4
4
|
exports.createQueryOptimizer = createQueryOptimizer;
|
|
5
|
-
const
|
|
5
|
+
const logger_js_1 = require("../logging/logger.js");
|
|
6
6
|
const query_parser_1 = require("./utils/query-parser");
|
|
7
7
|
const cache_service_1 = require("./services/cache-service");
|
|
8
8
|
const metrics_collector_1 = require("./services/metrics-collector");
|
|
@@ -20,7 +20,7 @@ class QueryOptimizer {
|
|
|
20
20
|
constructor(db, schemaInfo, options = {}, logger) {
|
|
21
21
|
this.db = db;
|
|
22
22
|
this.schemaInfo = schemaInfo;
|
|
23
|
-
this.logger = logger || new
|
|
23
|
+
this.logger = logger || new logger_js_1.Logger('QueryOptimizer');
|
|
24
24
|
this.options = {
|
|
25
25
|
enableQueryCache: true,
|
|
26
26
|
enableIndexRecommendations: true,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.QueryCacheService = exports.CacheService = void 0;
|
|
4
4
|
exports.createCacheService = createCacheService;
|
|
5
|
-
const
|
|
5
|
+
const logger_js_1 = require("../../logging/logger.js");
|
|
6
6
|
/**
|
|
7
7
|
* Generic cache service with TTL, size limits, and metrics
|
|
8
8
|
*/
|
|
@@ -14,7 +14,7 @@ class CacheService {
|
|
|
14
14
|
cleanupTimer;
|
|
15
15
|
logger;
|
|
16
16
|
constructor(config = {}, logger) {
|
|
17
|
-
this.logger = logger || new
|
|
17
|
+
this.logger = logger || new logger_js_1.Logger('CacheService');
|
|
18
18
|
this.config = {
|
|
19
19
|
maxSize: 1000,
|
|
20
20
|
defaultTtl: 300000, // 5 minutes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NOORMME } from '../../noormme';
|
|
2
2
|
import { NOORMConfig } from '../../types';
|
|
3
|
-
import { Logger } from '../../logging/logger';
|
|
3
|
+
import { Logger } from '../../logging/logger.js';
|
|
4
4
|
export interface ConnectionConfig extends NOORMConfig {
|
|
5
5
|
id?: string;
|
|
6
6
|
maxRetries?: number;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ConnectionPoolManager = exports.ConnectionFactory = void 0;
|
|
4
4
|
exports.createConnectionPool = createConnectionPool;
|
|
5
5
|
const noormme_1 = require("../../noormme");
|
|
6
|
-
const
|
|
6
|
+
const logger_js_1 = require("../../logging/logger.js");
|
|
7
7
|
/**
|
|
8
8
|
* Factory for creating and managing database connections
|
|
9
9
|
*/
|
|
@@ -12,7 +12,7 @@ class ConnectionFactory {
|
|
|
12
12
|
stats;
|
|
13
13
|
logger;
|
|
14
14
|
constructor(logger) {
|
|
15
|
-
this.logger = logger || new
|
|
15
|
+
this.logger = logger || new logger_js_1.Logger('ConnectionFactory');
|
|
16
16
|
this.stats = {
|
|
17
17
|
totalCreated: 0,
|
|
18
18
|
totalDestroyed: 0,
|
|
@@ -278,7 +278,7 @@ class ConnectionPoolManager {
|
|
|
278
278
|
logger;
|
|
279
279
|
constructor(config, poolConfig = {}, logger) {
|
|
280
280
|
this.config = config;
|
|
281
|
-
this.logger = logger || new
|
|
281
|
+
this.logger = logger || new logger_js_1.Logger('ConnectionPoolManager');
|
|
282
282
|
this.factory = new ConnectionFactory(this.logger);
|
|
283
283
|
this.poolConfig = {
|
|
284
284
|
minConnections: 2,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MetricsCollector = void 0;
|
|
4
4
|
exports.createMetricsCollector = createMetricsCollector;
|
|
5
|
-
const
|
|
5
|
+
const logger_js_1 = require("../../logging/logger.js");
|
|
6
6
|
/**
|
|
7
7
|
* Service for collecting and analyzing performance metrics
|
|
8
8
|
*/
|
|
@@ -14,7 +14,7 @@ class MetricsCollector {
|
|
|
14
14
|
logger;
|
|
15
15
|
cleanupTimer;
|
|
16
16
|
constructor(config = {}, logger) {
|
|
17
|
-
this.logger = logger || new
|
|
17
|
+
this.logger = logger || new logger_js_1.Logger('MetricsCollector');
|
|
18
18
|
this.config = {
|
|
19
19
|
enabled: process.env.NODE_ENV === 'development',
|
|
20
20
|
slowQueryThreshold: 1000, // 1 second
|
package/dist/esm/noormme.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Kysely } from './kysely.js';
|
|
2
2
|
import { NOORMConfig, SchemaInfo, Repository, SchemaChange } from './types/index.js';
|
|
3
3
|
import { WatchOptions } from './watch/schema-watcher.js';
|
|
4
4
|
/**
|
|
@@ -126,7 +126,7 @@ export declare class NOORMME {
|
|
|
126
126
|
/**
|
|
127
127
|
* Execute raw SQL
|
|
128
128
|
*/
|
|
129
|
-
execute(
|
|
129
|
+
execute(sqlString: string, parameters?: unknown[]): Promise<unknown>;
|
|
130
130
|
private mergeConfig;
|
|
131
131
|
/**
|
|
132
132
|
* Parse connection string into NOORMConfig
|
package/dist/esm/noormme.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="./noormme.d.ts" />
|
|
2
|
+
import { Kysely } from './kysely.js';
|
|
2
3
|
import { SchemaDiscovery } from './schema/schema-discovery.js';
|
|
3
4
|
import { TypeGenerator } from './types/type-generator.js';
|
|
4
5
|
import { RepositoryFactory } from './repository/repository-factory.js';
|
|
@@ -12,6 +13,8 @@ import { MetricsCollector } from './performance/services/metrics-collector.js';
|
|
|
12
13
|
import { SQLiteAutoOptimizer } from './dialect/sqlite/sqlite-auto-optimizer.js';
|
|
13
14
|
import { SQLiteAutoIndexer } from './dialect/sqlite/sqlite-auto-indexer.js';
|
|
14
15
|
import { SqliteDialect } from './dialect/sqlite/sqlite-dialect.js';
|
|
16
|
+
import Database from 'better-sqlite3';
|
|
17
|
+
import { CompiledQuery } from './query-compiler/compiled-query.js';
|
|
15
18
|
// Global initialization lock to prevent concurrent initialization
|
|
16
19
|
const globalInitLock = new Map();
|
|
17
20
|
/**
|
|
@@ -65,7 +68,7 @@ export class NOORMME {
|
|
|
65
68
|
this.instanceId = `${this.config.dialect}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
66
69
|
// Initialize Kysely with the provided dialect
|
|
67
70
|
this.dialect = this.createDialect();
|
|
68
|
-
this.db = new
|
|
71
|
+
this.db = new Kysely({
|
|
69
72
|
dialect: this.dialect,
|
|
70
73
|
log: this.config.logging?.enabled ? this.logger.createKyselyLogger() : undefined
|
|
71
74
|
});
|
|
@@ -478,9 +481,9 @@ export class NOORMME {
|
|
|
478
481
|
/**
|
|
479
482
|
* Execute raw SQL
|
|
480
483
|
*/
|
|
481
|
-
async execute(
|
|
482
|
-
const
|
|
483
|
-
return await this.db.executeQuery(
|
|
484
|
+
async execute(sqlString, parameters) {
|
|
485
|
+
const compiledQuery = CompiledQuery.raw(sqlString, parameters || []);
|
|
486
|
+
return await this.db.executeQuery(compiledQuery);
|
|
484
487
|
}
|
|
485
488
|
mergeConfig(config) {
|
|
486
489
|
return {
|
|
@@ -572,7 +575,6 @@ export class NOORMME {
|
|
|
572
575
|
const { dialect, connection } = this.config;
|
|
573
576
|
switch (dialect) {
|
|
574
577
|
case 'sqlite':
|
|
575
|
-
const Database = require('better-sqlite3');
|
|
576
578
|
return new SqliteDialect({
|
|
577
579
|
database: new Database(connection.database)
|
|
578
580
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="./query-optimizer.d.ts" />
|
|
2
|
-
import { Logger } from '../logging/logger';
|
|
2
|
+
import { Logger } from '../logging/logger.js';
|
|
3
3
|
import { QueryParser } from './utils/query-parser';
|
|
4
4
|
import { QueryCacheService } from './services/cache-service';
|
|
5
5
|
import { MetricsCollector } from './services/metrics-collector';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NOORMME } from '../../noormme';
|
|
2
2
|
import { NOORMConfig } from '../../types';
|
|
3
|
-
import { Logger } from '../../logging/logger';
|
|
3
|
+
import { Logger } from '../../logging/logger.js';
|
|
4
4
|
export interface ConnectionConfig extends NOORMConfig {
|
|
5
5
|
id?: string;
|
|
6
6
|
maxRetries?: number;
|