fragment-ts 1.1.17 → 1.1.19
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/cli/commands/init.command.js +1 -1
- package/dist/core/decorators/repository.decorator.d.ts +1 -1
- package/dist/core/decorators/repository.decorator.d.ts.map +1 -1
- package/dist/core/decorators/repository.decorator.js +2 -2
- package/dist/core/decorators/repository.decorator.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/shared/config.utils.d.ts.map +1 -1
- package/dist/shared/config.utils.js +20 -4
- package/dist/shared/config.utils.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/commands/init.command.ts +1 -1
- package/src/core/decorators/repository.decorator.ts +1 -1
- package/src/index.ts +3 -3
- package/src/shared/config.utils.ts +29 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function FragmentRepository(): ClassDecorator;
|
|
2
2
|
//# sourceMappingURL=repository.decorator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/repository.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,
|
|
1
|
+
{"version":3,"file":"repository.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/repository.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,kBAAkB,IAAI,cAAc,CAanD"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.FragmentRepository = FragmentRepository;
|
|
4
4
|
const injectable_decorator_1 = require("./injectable.decorator");
|
|
5
5
|
const metadata_keys_1 = require("../metadata/metadata-keys");
|
|
6
6
|
const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
7
|
-
function
|
|
7
|
+
function FragmentRepository() {
|
|
8
8
|
return (target) => {
|
|
9
9
|
console.log(`💾 Registering Repository: ${target.name}`);
|
|
10
10
|
(0, injectable_decorator_1.Injectable)('singleton')(target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/repository.decorator.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"repository.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/repository.decorator.ts"],"names":[],"mappings":";;AAIA,gDAaC;AAjBD,iEAAoD;AACpD,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAgB,kBAAkB;IAChC,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,IAAA,iCAAU,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,CAAC;YACf,MAAM;YACN,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export * from "./shared/errors";
|
|
|
24
24
|
export * from "./core/scanner/component-scanner";
|
|
25
25
|
export * from "./testing/runner";
|
|
26
26
|
export { Request, Response, NextFunction } from "express";
|
|
27
|
-
export * from
|
|
28
|
-
export * from
|
|
29
|
-
export { FragmentApplication, Injectable, Service, Controller,
|
|
27
|
+
export * from "typeorm";
|
|
28
|
+
export * from "dotenv";
|
|
29
|
+
export { FragmentApplication, Injectable, Service, Controller, FragmentRepository, AutoConfiguration, Get, Post, Put, Delete, Patch, Body, Param, Query, Header, Req, Res, Autowired, Inject, Value, Qualifier, } from "./core";
|
|
30
30
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,OAAO,EACP,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,0CAA0C,CAAC;AACzD,cAAc,wCAAwC,CAAC;AACvD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,IAAI,EACJ,GAAG,EACH,MAAM,EACN,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,GAAG,EACH,GAAG,EACH,SAAS,EACT,MAAM,EACN,KAAK,EACL,SAAS,GACV,MAAM,QAAQ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Qualifier = exports.Value = exports.Inject = exports.Autowired = exports.Res = exports.Req = exports.Header = exports.Query = exports.Param = exports.Body = exports.Patch = exports.Delete = exports.Put = exports.Post = exports.Get = exports.AutoConfiguration = exports.
|
|
17
|
+
exports.Qualifier = exports.Value = exports.Inject = exports.Autowired = exports.Res = exports.Req = exports.Header = exports.Query = exports.Param = exports.Body = exports.Patch = exports.Delete = exports.Put = exports.Post = exports.Get = exports.AutoConfiguration = exports.FragmentRepository = exports.Controller = exports.Service = exports.Injectable = exports.FragmentApplication = void 0;
|
|
18
18
|
require("reflect-metadata");
|
|
19
19
|
__exportStar(require("./core/decorators/application.decorator"), exports);
|
|
20
20
|
__exportStar(require("./core/decorators/injectable.decorator"), exports);
|
|
@@ -47,7 +47,7 @@ Object.defineProperty(exports, "FragmentApplication", { enumerable: true, get: f
|
|
|
47
47
|
Object.defineProperty(exports, "Injectable", { enumerable: true, get: function () { return core_1.Injectable; } });
|
|
48
48
|
Object.defineProperty(exports, "Service", { enumerable: true, get: function () { return core_1.Service; } });
|
|
49
49
|
Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return core_1.Controller; } });
|
|
50
|
-
Object.defineProperty(exports, "
|
|
50
|
+
Object.defineProperty(exports, "FragmentRepository", { enumerable: true, get: function () { return core_1.FragmentRepository; } });
|
|
51
51
|
Object.defineProperty(exports, "AutoConfiguration", { enumerable: true, get: function () { return core_1.AutoConfiguration; } });
|
|
52
52
|
Object.defineProperty(exports, "Get", { enumerable: true, get: function () { return core_1.Get; } });
|
|
53
53
|
Object.defineProperty(exports, "Post", { enumerable: true, get: function () { return core_1.Post; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4BAA0B;AAE1B,0EAAwD;AACxD,yEAAuD;AACvD,sEAAoD;AACpD,yEAAuD;AACvD,yEAAuD;AACvD,iFAA+D;AAC/D,2EAAyD;AACzD,yEAAuD;AACvD,oEAAkD;AAClD,oEAAkD;AAClD,yEAAuD;AACvD,0EAAwD;AACxD,+EAA6D;AAC7D,gEAA8C;AAC9C,mEAAiD;AACjD,oDAAkC;AAClC,mDAAiC;AACjC,2DAAyC;AACzC,qDAAmC;AACnC,iDAA+B;AAC/B,2DAAyC;AACzC,kDAAgC;AAChC,mEAAiD;AACjD,mDAAiC;AAEjC,0CAAwB;AACxB,yCAAuB;AAEvB,+BAsBgB;AArBd,2GAAA,mBAAmB,OAAA;AACnB,kGAAA,UAAU,OAAA;AACV,+FAAA,OAAO,OAAA;AACP,kGAAA,UAAU,OAAA;AACV,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4BAA0B;AAE1B,0EAAwD;AACxD,yEAAuD;AACvD,sEAAoD;AACpD,yEAAuD;AACvD,yEAAuD;AACvD,iFAA+D;AAC/D,2EAAyD;AACzD,yEAAuD;AACvD,oEAAkD;AAClD,oEAAkD;AAClD,yEAAuD;AACvD,0EAAwD;AACxD,+EAA6D;AAC7D,gEAA8C;AAC9C,mEAAiD;AACjD,oDAAkC;AAClC,mDAAiC;AACjC,2DAAyC;AACzC,qDAAmC;AACnC,iDAA+B;AAC/B,2DAAyC;AACzC,kDAAgC;AAChC,mEAAiD;AACjD,mDAAiC;AAEjC,0CAAwB;AACxB,yCAAuB;AAEvB,+BAsBgB;AArBd,2GAAA,mBAAmB,OAAA;AACnB,kGAAA,UAAU,OAAA;AACV,+FAAA,OAAO,OAAA;AACP,kGAAA,UAAU,OAAA;AACV,0GAAA,kBAAkB,OAAA;AAClB,yGAAA,iBAAiB,OAAA;AACjB,2FAAA,GAAG,OAAA;AACH,4FAAA,IAAI,OAAA;AACJ,2FAAA,GAAG,OAAA;AACH,8FAAA,MAAM,OAAA;AACN,6FAAA,KAAK,OAAA;AACL,4FAAA,IAAI,OAAA;AACJ,6FAAA,KAAK,OAAA;AACL,6FAAA,KAAK,OAAA;AACL,8FAAA,MAAM,OAAA;AACN,2FAAA,GAAG,OAAA;AACH,2FAAA,GAAG,OAAA;AACH,iGAAA,SAAS,OAAA;AACT,8FAAA,MAAM,OAAA;AACN,6FAAA,KAAK,OAAA;AACL,iGAAA,SAAS,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.utils.d.ts","sourceRoot":"","sources":["../../src/shared/config.utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.utils.d.ts","sourceRoot":"","sources":["../../src/shared/config.utils.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,WAAW,CAA+B;IAEzD,OAAO,CAAC,MAAM,CAAC,UAAU;IAmBzB,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAsB1C,MAAM,CAAC,iBAAiB,IAAI,sBAAsB;IAiClD,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAOnE,MAAM,CAAC,aAAa,IAAI,cAAc;IAItC,MAAM,CAAC,iBAAiB,IAAI,OAAO;IAInC,MAAM,CAAC,UAAU,IAAI,IAAI;CAG1B"}
|
|
@@ -38,6 +38,7 @@ exports.ConfigUtils = void 0;
|
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
40
|
const env_utils_1 = require("./env.utils");
|
|
41
|
+
const tsconfig_utils_1 = require("./tsconfig.utils");
|
|
41
42
|
class ConfigUtils {
|
|
42
43
|
static loadConfig() {
|
|
43
44
|
if (this.configCache)
|
|
@@ -81,10 +82,25 @@ class ConfigUtils {
|
|
|
81
82
|
const config = this.loadConfig();
|
|
82
83
|
if (!config.database)
|
|
83
84
|
return {};
|
|
84
|
-
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
let dbConfig = this.interpolateEnvVars(config.database);
|
|
86
|
+
const isProduction = env_utils_1.EnvUtils.getEnvironmentMode() === "production";
|
|
87
|
+
const rootDir = tsconfig_utils_1.TsConfigUtils.getRootDir().replace(/\\/g, "/");
|
|
88
|
+
const outDir = tsconfig_utils_1.TsConfigUtils.getOutDir().replace(/\\/g, "/");
|
|
89
|
+
if (Array.isArray(dbConfig.entities)) {
|
|
90
|
+
dbConfig.entities = dbConfig.entities.map((pattern) => isProduction
|
|
91
|
+
? pattern
|
|
92
|
+
.replace(new RegExp(`^${rootDir}/`), `${outDir}/`)
|
|
93
|
+
.replace(/\.ts$/, ".js")
|
|
94
|
+
: pattern);
|
|
95
|
+
}
|
|
96
|
+
if (Array.isArray(dbConfig.migrations)) {
|
|
97
|
+
dbConfig.migrations = dbConfig.migrations.map((pattern) => isProduction
|
|
98
|
+
? pattern
|
|
99
|
+
.replace(new RegExp(`^${rootDir}/`), `${outDir}/`)
|
|
100
|
+
.replace(/\.ts$/, ".js")
|
|
101
|
+
: pattern);
|
|
102
|
+
}
|
|
103
|
+
return dbConfig;
|
|
88
104
|
}
|
|
89
105
|
static getDatabaseProperty(property, defaultValue) {
|
|
90
106
|
const dbConfig = this.getDatabaseConfig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.utils.js","sourceRoot":"","sources":["../../src/shared/config.utils.ts"],"names":[],"mappings":";AAAA,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzB,uCAAyB;AACzB,2CAA6B;AAC7B,2CAAuC;
|
|
1
|
+
{"version":3,"file":"config.utils.js","sourceRoot":"","sources":["../../src/shared/config.utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ import { Injectable } from './injectable.decorator';
|
|
|
2
2
|
import { METADATA_KEYS } from '../metadata/metadata-keys';
|
|
3
3
|
import { MetadataStorage } from '../metadata/metadata-storage';
|
|
4
4
|
|
|
5
|
-
export function
|
|
5
|
+
export function FragmentRepository(): ClassDecorator {
|
|
6
6
|
return (target: any) => {
|
|
7
7
|
console.log(`💾 Registering Repository: ${target.name}`);
|
|
8
8
|
Injectable('singleton')(target);
|
package/src/index.ts
CHANGED
|
@@ -25,15 +25,15 @@ export * from "./shared/errors";
|
|
|
25
25
|
export * from "./core/scanner/component-scanner";
|
|
26
26
|
export * from "./testing/runner";
|
|
27
27
|
export { Request, Response, NextFunction } from "express";
|
|
28
|
-
export * from
|
|
29
|
-
export * from
|
|
28
|
+
export * from "typeorm";
|
|
29
|
+
export * from "dotenv";
|
|
30
30
|
|
|
31
31
|
export {
|
|
32
32
|
FragmentApplication,
|
|
33
33
|
Injectable,
|
|
34
34
|
Service,
|
|
35
35
|
Controller,
|
|
36
|
-
|
|
36
|
+
FragmentRepository,
|
|
37
37
|
AutoConfiguration,
|
|
38
38
|
Get,
|
|
39
39
|
Post,
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import * as fs from "fs";
|
|
4
4
|
import * as path from "path";
|
|
5
5
|
import { EnvUtils } from "./env.utils";
|
|
6
|
+
import { TsConfigUtils } from "./tsconfig.utils";
|
|
6
7
|
|
|
7
8
|
export interface FragmentDatabaseConfig {
|
|
8
9
|
type?: string;
|
|
@@ -37,8 +38,8 @@ export class ConfigUtils {
|
|
|
37
38
|
}
|
|
38
39
|
try {
|
|
39
40
|
this.configCache = JSON.parse(fs.readFileSync(configPath, "utf8")) || {};
|
|
40
|
-
|
|
41
|
-
if(!this.configCache) return {};
|
|
41
|
+
|
|
42
|
+
if (!this.configCache) return {};
|
|
42
43
|
return this.configCache;
|
|
43
44
|
} catch (error) {
|
|
44
45
|
console.error("❌ Error loading fragment.json:", error);
|
|
@@ -73,11 +74,33 @@ export class ConfigUtils {
|
|
|
73
74
|
const config = this.loadConfig();
|
|
74
75
|
if (!config.database) return {};
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
let dbConfig = this.interpolateEnvVars(config.database);
|
|
78
|
+
|
|
79
|
+
const isProduction = EnvUtils.getEnvironmentMode() === "production";
|
|
80
|
+
const rootDir = TsConfigUtils.getRootDir().replace(/\\/g, "/");
|
|
81
|
+
const outDir = TsConfigUtils.getOutDir().replace(/\\/g, "/");
|
|
82
|
+
|
|
83
|
+
if (Array.isArray(dbConfig.entities)) {
|
|
84
|
+
dbConfig.entities = dbConfig.entities.map((pattern: any) =>
|
|
85
|
+
isProduction
|
|
86
|
+
? pattern
|
|
87
|
+
.replace(new RegExp(`^${rootDir}/`), `${outDir}/`)
|
|
88
|
+
.replace(/\.ts$/, ".js")
|
|
89
|
+
: pattern,
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (Array.isArray(dbConfig.migrations)) {
|
|
94
|
+
dbConfig.migrations = dbConfig.migrations.map((pattern: any) =>
|
|
95
|
+
isProduction
|
|
96
|
+
? pattern
|
|
97
|
+
.replace(new RegExp(`^${rootDir}/`), `${outDir}/`)
|
|
98
|
+
.replace(/\.ts$/, ".js")
|
|
99
|
+
: pattern,
|
|
100
|
+
);
|
|
101
|
+
}
|
|
78
102
|
|
|
79
|
-
|
|
80
|
-
return interpolated;
|
|
103
|
+
return dbConfig;
|
|
81
104
|
}
|
|
82
105
|
|
|
83
106
|
static getDatabaseProperty<T>(property: string, defaultValue: T): T {
|