@zola_do/typeorm 0.2.17 → 0.3.1

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 CHANGED
@@ -205,6 +205,10 @@ console.log(TypeOrmConfigHelper.DATABASE_PASSWORD); // 'secret'
205
205
  | `DATABASE_USER` | `string` | Database user |
206
206
  | `DATABASE_PASSWORD` | `string` | Database password |
207
207
  | `APP_NAME` | `string` | App name (fallback for DATABASE_NAME) |
208
+ | `DATABASE_POOL_MAX` | `number` | Max pool connections (node-pg `extra`) |
209
+ | `DATABASE_POOL_MIN` | `number` | Min warm pool connections |
210
+ | `DATABASE_POOL_IDLE_TIMEOUT_MS` | `number` | Idle connection lifetime (ms) |
211
+ | `DATABASE_POOL_CONNECTION_TIMEOUT_MS` | `number` | Wait for pool checkout (ms) |
208
212
 
209
213
  ## TypeOrmService
210
214
 
@@ -252,6 +256,12 @@ import { dataSourceOptions } from '@zola_do/typeorm';
252
256
  migrations: ['dist/**/*.migration.js', '**/*.migration.js'],
253
257
  synchronize: false, // Use migrations in production
254
258
  logging: process.env.NODE_ENV === 'development',
259
+ extra: {
260
+ max: 10,
261
+ min: 2,
262
+ idleTimeoutMillis: 60000,
263
+ connectionTimeoutMillis: 5000,
264
+ },
255
265
  // ... more TypeORM options
256
266
  }
257
267
  ```
@@ -285,6 +295,10 @@ export class AppModule {}
285
295
  | `DATABASE_USER` | Database user | `postgres` |
286
296
  | `DATABASE_PASSWORD` | Database password | Required in production |
287
297
  | `APP_NAME` | Fallback for `DATABASE_NAME` | — |
298
+ | `DATABASE_POOL_MAX` | Max PostgreSQL pool size | `10` |
299
+ | `DATABASE_POOL_MIN` | Min warm pool connections | `2` |
300
+ | `DATABASE_POOL_IDLE_TIMEOUT_MS` | Idle connection timeout (ms) | `60000` |
301
+ | `DATABASE_POOL_CONNECTION_TIMEOUT_MS` | Pool checkout timeout (ms) | `5000` |
288
302
 
289
303
  ### Validation Rules
290
304
 
package/dist/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './typeorm-config-helper';
2
2
  export * from './typeorm.service';
3
3
  export * from './seeder-options';
4
4
  export * from './validate-database-env.helper';
5
+ export * from './resolve-database-pool-extra.helper';
package/dist/index.js CHANGED
@@ -18,4 +18,5 @@ __exportStar(require("./typeorm-config-helper"), exports);
18
18
  __exportStar(require("./typeorm.service"), exports);
19
19
  __exportStar(require("./seeder-options"), exports);
20
20
  __exportStar(require("./validate-database-env.helper"), exports);
21
+ __exportStar(require("./resolve-database-pool-extra.helper"), exports);
21
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,oDAAkC;AAClC,mDAAiC;AACjC,iEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,oDAAkC;AAClC,mDAAiC;AACjC,iEAA+C;AAC/C,uEAAqD"}
@@ -0,0 +1,3 @@
1
+ type PoolEnvSource = Record<string, string | undefined>;
2
+ export declare function resolveDatabasePoolExtra(env?: PoolEnvSource): Record<string, number>;
3
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveDatabasePoolExtra = resolveDatabasePoolExtra;
4
+ function readPoolNumber(value, fallback) {
5
+ const parsed = Number(value);
6
+ return Number.isFinite(parsed) && parsed >= 0 ? parsed : fallback;
7
+ }
8
+ function resolveDatabasePoolExtra(env = process.env) {
9
+ return {
10
+ max: readPoolNumber(env.DATABASE_POOL_MAX, 10),
11
+ min: readPoolNumber(env.DATABASE_POOL_MIN, 2),
12
+ idleTimeoutMillis: readPoolNumber(env.DATABASE_POOL_IDLE_TIMEOUT_MS, 60000),
13
+ connectionTimeoutMillis: readPoolNumber(env.DATABASE_POOL_CONNECTION_TIMEOUT_MS, 5000),
14
+ };
15
+ }
16
+ //# sourceMappingURL=resolve-database-pool-extra.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-database-pool-extra.helper.js","sourceRoot":"","sources":["../src/resolve-database-pool-extra.helper.ts"],"names":[],"mappings":";;AAUA,4DAeC;AAvBD,SAAS,cAAc,CACrB,KAAyB,EACzB,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpE,CAAC;AAED,SAAgB,wBAAwB,CACtC,MAAqB,OAAO,CAAC,GAAoB;IAEjD,OAAO;QACL,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC9C,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC7C,iBAAiB,EAAE,cAAc,CAC/B,GAAG,CAAC,6BAA6B,EACjC,KAAK,CACN;QACD,uBAAuB,EAAE,cAAc,CACrC,GAAG,CAAC,mCAAmC,EACvC,IAAI,CACL;KACF,CAAC;AACJ,CAAC"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.dataSourceOptions = exports.TypeOrmConfigHelper = void 0;
5
5
  const typeorm_1 = require("typeorm");
6
6
  const validate_database_env_helper_1 = require("./validate-database-env.helper");
7
+ const resolve_database_pool_extra_helper_1 = require("./resolve-database-pool-extra.helper");
7
8
  if (process.env.NODE_ENV === 'production') {
8
9
  (0, validate_database_env_helper_1.validateDatabaseEnv)();
9
10
  }
@@ -46,6 +47,7 @@ exports.dataSourceOptions = {
46
47
  null: 'sql-null',
47
48
  undefined: 'throw',
48
49
  },
50
+ extra: (0, resolve_database_pool_extra_helper_1.resolveDatabasePoolExtra)(),
49
51
  };
50
52
  const dataSources = new typeorm_1.DataSource(exports.dataSourceOptions);
51
53
  exports.default = dataSources;
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm-config-helper.js","sourceRoot":"","sources":["../src/typeorm-config-helper.ts"],"names":[],"mappings":";;;;AAAA,qCAAwD;AAExD,iFAAqE;AAErE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,IAAA,kDAAmB,GAAE,CAAC;AACxB,CAAC;AAEY,QAAA,mBAAmB,GAAG;IACjC,aAAa,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,WAAW;IACvD,aAAa,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,MAAM;IAClD,aAAa,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;IAChE,aAAa,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,UAAU;IACtD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;CACjD,CAAC;AAEF,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IACnC,CAAC,CAAC,gBAAgB;IAClB,CAAC,CAAC,0BAA0B,CAAC;AAEjC,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IACnC,CAAC,CAAC,cAAc;IAChB,CAAC,CAAC,wBAAwB,CAAC;AAE/B,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IACnC,CAAC,CAAC,sBAAsB;IACxB,CAAC,CAAC,8BAA8B,CAAC;AAErC,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IACnC,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAC1C,mCAAmC,CAAC;IACtC,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,mCACnC,2CAA2C,CAAC,CAAC;AAEtC,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,2BAAmB,CAAC,aAAa;IACvC,IAAI,EAAE,MAAM,CAAC,2BAAmB,CAAC,aAAa,CAAC;IAC/C,QAAQ,EAAE,2BAAmB,CAAC,aAAa;IAC3C,QAAQ,EAAE,2BAAmB,CAAC,aAAa;IAC3C,QAAQ,EAAE,2BAAmB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC3B,UAAU,EAAE,CAAC,UAAU,CAAC;IACxB,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,CAAC,KAAK,CAAC;IACd,mBAAmB,EAAE,oBAAoB;IACzC,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,KAAK;IAClB,gBAAgB,EAAE,IAAI;IACtB,0BAA0B,EAAE;QAC1B,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,OAAO;KACnB;CACmC,CAAC;AAEvC,MAAM,WAAW,GAAG,IAAI,oBAAU,CAAC,yBAAiB,CAAC,CAAC;AAEtD,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"typeorm-config-helper.js","sourceRoot":"","sources":["../src/typeorm-config-helper.ts"],"names":[],"mappings":";;;;AAAA,qCAAwD;AAExD,iFAAqE;AACrE,6FAAgF;AAEhF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,IAAA,kDAAmB,GAAE,CAAC;AACxB,CAAC;AAEY,QAAA,mBAAmB,GAAG;IACjC,aAAa,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,WAAW;IACvD,aAAa,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,MAAM;IAClD,aAAa,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;IAChE,aAAa,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,UAAU;IACtD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;CACjD,CAAC;AAEF,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IACnC,CAAC,CAAC,gBAAgB;IAClB,CAAC,CAAC,0BAA0B,CAAC;AAEjC,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IACnC,CAAC,CAAC,cAAc;IAChB,CAAC,CAAC,wBAAwB,CAAC;AAE/B,MAAM,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IACnC,CAAC,CAAC,sBAAsB;IACxB,CAAC,CAAC,8BAA8B,CAAC;AAErC,MAAM,KAAK,GACT,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;IACnC,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,mCAC1C,mCAAmC,CAAC;IACtC,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,mCACnC,2CAA2C,CAAC,CAAC;AAEtC,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,2BAAmB,CAAC,aAAa;IACvC,IAAI,EAAE,MAAM,CAAC,2BAAmB,CAAC,aAAa,CAAC;IAC/C,QAAQ,EAAE,2BAAmB,CAAC,aAAa;IAC3C,QAAQ,EAAE,2BAAmB,CAAC,aAAa;IAC3C,QAAQ,EAAE,2BAAmB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC3B,UAAU,EAAE,CAAC,UAAU,CAAC;IACxB,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,CAAC,KAAK,CAAC;IACd,mBAAmB,EAAE,oBAAoB;IACzC,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,KAAK;IAClB,gBAAgB,EAAE,IAAI;IACtB,0BAA0B,EAAE;QAC1B,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,OAAO;KACnB;IACD,KAAK,EAAE,IAAA,6DAAwB,GAAE;CACG,CAAC;AAEvC,MAAM,WAAW,GAAG,IAAI,oBAAU,CAAC,yBAAiB,CAAC,CAAC;AAEtD,kBAAe,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zola_do/typeorm",
3
- "version": "0.2.17",
3
+ "version": "0.3.1",
4
4
  "description": "TypeORM configuration for NestJS",
5
5
  "author": "zolaDO",
6
6
  "license": "ISC",
@@ -45,6 +45,7 @@
45
45
  "dotenv": "^17.3.1"
46
46
  },
47
47
  "devDependencies": {
48
+ "@types/node": "^25.5.0",
48
49
  "rimraf": "^6.1.3",
49
50
  "typescript": "^5.9.3"
50
51
  },