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.
@@ -183,7 +183,7 @@ class InitCommand {
183
183
  "migrate:revert": "fragment migrate:revert",
184
184
  },
185
185
  dependencies: {
186
- "fragment-ts": "^1.1.17",
186
+ "fragment-ts": "^1.1.19",
187
187
  "reflect-metadata": "^0.1.13",
188
188
  sqlite3: "^5.1.7",
189
189
  },
@@ -1,2 +1,2 @@
1
- export declare function Repository(): ClassDecorator;
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,UAAU,IAAI,cAAc,CAa3C"}
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.Repository = Repository;
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 Repository() {
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,gCAaC;AAjBD,iEAAoD;AACpD,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAgB,UAAU;IACxB,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"}
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 'typeorm';
28
- export * from 'dotenv';
29
- export { FragmentApplication, Injectable, Service, Controller, Repository, AutoConfiguration, Get, Post, Put, Delete, Patch, Body, Param, Query, Header, Req, Res, Autowired, Inject, Value, Qualifier, } from "./core";
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
@@ -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,UAAU,EACV,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"}
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.Repository = exports.Controller = exports.Service = exports.Injectable = exports.FragmentApplication = void 0;
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, "Repository", { enumerable: true, get: function () { return core_1.Repository; } });
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,kGAAA,UAAU,OAAA;AACV,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
+ {"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":"AAMA,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;IAWlD,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"}
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
- // Interpolate environment variables first
85
- const interpolated = this.interpolateEnvVars(config.database);
86
- // Return as-is - path resolution is handled by RuntimeResolver
87
- return interpolated;
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":"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"}
1
+ {"version":3,"file":"config.utils.js","sourceRoot":"","sources":["../../src/shared/config.utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fragment-ts",
3
- "version": "1.1.17",
3
+ "version": "1.1.19",
4
4
  "description": "Spring Boot-style framework for TypeScript with Express and TypeORM",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -176,7 +176,7 @@ export class InitCommand {
176
176
  "migrate:revert": "fragment migrate:revert",
177
177
  },
178
178
  dependencies: {
179
- "fragment-ts": "^1.1.17",
179
+ "fragment-ts": "^1.1.19",
180
180
  "reflect-metadata": "^0.1.13",
181
181
  sqlite3: "^5.1.7",
182
182
  },
@@ -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 Repository(): ClassDecorator {
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 'typeorm';
29
- export * from 'dotenv';
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
- Repository,
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
- // Interpolate environment variables first
77
- const interpolated = this.interpolateEnvVars(config.database);
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
- // Return as-is - path resolution is handled by RuntimeResolver
80
- return interpolated;
103
+ return dbConfig;
81
104
  }
82
105
 
83
106
  static getDatabaseProperty<T>(property: string, defaultValue: T): T {