fragment-ts 1.0.33 → 1.0.35
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/API.md +248 -38
- package/DOCS.md +327 -63
- package/NewCLIGENERATECOMMANDS.txt +5 -0
- package/README.md +168 -3
- package/USAGE.md +395 -2
- package/dist/cli/commands/build.command.d.ts.map +1 -1
- package/dist/cli/commands/build.command.js +20 -8
- package/dist/cli/commands/build.command.js.map +1 -1
- package/dist/cli/commands/diagnostics.command.d.ts +1 -2
- package/dist/cli/commands/diagnostics.command.d.ts.map +1 -1
- package/dist/cli/commands/diagnostics.command.js +37 -23
- package/dist/cli/commands/diagnostics.command.js.map +1 -1
- package/dist/cli/commands/generate.command.d.ts +5 -1
- package/dist/cli/commands/generate.command.d.ts.map +1 -1
- package/dist/cli/commands/generate.command.js +171 -39
- package/dist/cli/commands/generate.command.js.map +1 -1
- package/dist/cli/commands/init.command.d.ts.map +1 -1
- package/dist/cli/commands/init.command.js +98 -28
- package/dist/cli/commands/init.command.js.map +1 -1
- package/dist/cli/commands/migrate.command.d.ts +10 -17
- package/dist/cli/commands/migrate.command.d.ts.map +1 -1
- package/dist/cli/commands/migrate.command.js +133 -170
- package/dist/cli/commands/migrate.command.js.map +1 -1
- package/dist/cli/commands/serve.command.d.ts.map +1 -1
- package/dist/cli/commands/serve.command.js +9 -4
- package/dist/cli/commands/serve.command.js.map +1 -1
- package/dist/cli/commands/test.command.d.ts.map +1 -1
- package/dist/cli/commands/test.command.js +24 -6
- package/dist/cli/commands/test.command.js.map +1 -1
- package/dist/core/decorators/exception-filter.decorator.d.ts.map +1 -1
- package/dist/core/decorators/exception-filter.decorator.js +11 -4
- package/dist/core/decorators/exception-filter.decorator.js.map +1 -1
- package/dist/core/decorators/guard.decorator.d.ts.map +1 -1
- package/dist/core/decorators/guard.decorator.js +11 -4
- package/dist/core/decorators/guard.decorator.js.map +1 -1
- package/dist/core/decorators/interceptor.decorator.d.ts.map +1 -1
- package/dist/core/decorators/interceptor.decorator.js +10 -4
- package/dist/core/decorators/interceptor.decorator.js.map +1 -1
- package/dist/core/decorators/middleware.decorator.d.ts.map +1 -1
- package/dist/core/decorators/middleware.decorator.js +8 -4
- package/dist/core/decorators/middleware.decorator.js.map +1 -1
- package/dist/core/scanner/component-scanner.d.ts +12 -0
- package/dist/core/scanner/component-scanner.d.ts.map +1 -1
- package/dist/core/scanner/component-scanner.js +72 -14
- package/dist/core/scanner/component-scanner.js.map +1 -1
- package/dist/shared/config.utils.d.ts +58 -0
- package/dist/shared/config.utils.d.ts.map +1 -0
- package/dist/shared/config.utils.js +137 -0
- package/dist/shared/config.utils.js.map +1 -0
- package/dist/shared/env.utils.d.ts +27 -0
- package/dist/shared/env.utils.d.ts.map +1 -0
- package/dist/shared/env.utils.js +68 -0
- package/dist/shared/env.utils.js.map +1 -0
- package/dist/shared/tsconfig.utils.d.ts +122 -0
- package/dist/shared/tsconfig.utils.d.ts.map +1 -0
- package/dist/shared/tsconfig.utils.js +305 -0
- package/dist/shared/tsconfig.utils.js.map +1 -0
- package/dist/testing/runner.d.ts +9 -1
- package/dist/testing/runner.d.ts.map +1 -1
- package/dist/testing/runner.js +50 -10
- package/dist/testing/runner.js.map +1 -1
- package/dist/typeorm/typeorm-module.d.ts +1 -0
- package/dist/typeorm/typeorm-module.d.ts.map +1 -1
- package/dist/typeorm/typeorm-module.js +193 -85
- package/dist/typeorm/typeorm-module.js.map +1 -1
- package/dist/web/application.d.ts +0 -1
- package/dist/web/application.d.ts.map +1 -1
- package/dist/web/application.js +4 -26
- package/dist/web/application.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/commands/build.command.ts +24 -9
- package/src/cli/commands/diagnostics.command.ts +42 -30
- package/src/cli/commands/generate.command.ts +212 -52
- package/src/cli/commands/init.command.ts +100 -29
- package/src/cli/commands/migrate.command.ts +145 -198
- package/src/cli/commands/serve.command.ts +181 -170
- package/src/cli/commands/test.command.ts +25 -11
- package/src/core/decorators/exception-filter.decorator.ts +29 -6
- package/src/core/decorators/guard.decorator.ts +28 -5
- package/src/core/decorators/interceptor.decorator.ts +32 -6
- package/src/core/decorators/middleware.decorator.ts +30 -6
- package/src/core/scanner/component-scanner.ts +100 -18
- package/src/shared/config.utils.ts +148 -0
- package/src/shared/env.utils.ts +72 -0
- package/src/shared/tsconfig.utils.ts +360 -0
- package/src/testing/runner.ts +62 -14
- package/src/typeorm/typeorm-module.ts +209 -86
- package/src/web/application.ts +4 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.command.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"serve.command.js","sourceRoot":"","sources":["../../../src/cli/commands/serve.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAA8D;AAE9D,uCAAyB;AACzB,2CAA6B;AAC7B,gEAA4D;AAG5D,MAAa,YAAY;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAgB;QAC5B,OAAO;aACF,OAAO,CAAC,OAAO,CAAC;aAChB,WAAW,CAAC,8BAA8B,CAAC;aAC3C,MAAM,CAAC,aAAa,EAAE,mBAAmB,EAAE,IAAI,CAAC;aAChD,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,CAAC;aACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACtB,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAY;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAExE,sDAAsD;QACtD,MAAM,MAAM,GAAG,8BAAa,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CACT,eAAK,CAAC,GAAG,CACL,0BAA0B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,CACrE,CACJ,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,eAAe;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,UAAU,GAAwB,IAAI,CAAC;QAC3C,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,MAAM,WAAW,GAAG,GAAG,EAAE;YACrB,IAAI,YAAY;gBAAE,OAAO;YAEzB,oDAAoD;YACpD,UAAU,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;gBACnC,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;aAC9C,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACnC,IAAI,CAAC,YAAY,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/D,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAkB,EAAE;YACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACnC,OAAO,EAAE,CAAC;oBACV,OAAO;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;wBACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;wBACrD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC/B,CAAC;oBACD,OAAO,EAAE,CAAC;gBACd,CAAC,EAAE,IAAI,CAAC,CAAC;gBAET,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;oBACzB,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,UAAU,GAAG,IAAI,CAAC;oBAClB,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,KAAK,EAAE,QAAiB,EAAE,EAAE;YAC9C,IAAI,YAAY;gBAAE,OAAO;YACzB,YAAY,GAAG,IAAI,CAAC;YAEpB,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,MAAM,CACR,sBAAsB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,CACjE,CACJ,CAAC;YACN,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAElD,MAAM,UAAU,EAAE,CAAC;YAEnB,qCAAqC;YACrC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAEzD,YAAY,GAAG,KAAK,CAAC;YACrB,WAAW,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,uBAAuB;QACvB,WAAW,EAAE,CAAC;QAEd,oBAAoB;QACpB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,wDAAa,UAAU,GAAC,CAAC;gBAE1C,qCAAqC;gBACrC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAElD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE;oBACzC,OAAO,EAAE,cAAc;oBACvB,UAAU,EAAE,IAAI;oBAChB,aAAa,EAAE,IAAI;iBACtB,CAAC,CAAC;gBAEH,IAAI,aAAa,GAA0B,IAAI,CAAC;gBAEhD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;oBAC9B,yBAAyB;oBACzB,IAAI,aAAa,EAAE,CAAC;wBAChB,YAAY,CAAC,aAAa,CAAC,CAAC;oBAChC,CAAC;oBAED,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5B,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBAEH,kBAAkB;gBAClB,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;oBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;oBACrD,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,UAAU,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC,CAAC;gBAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACT,eAAK,CAAC,GAAG,CACL,sEAAsE,CACzE,CACJ,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,sCAAsC;YACtC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;gBACvB,MAAM,UAAU,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC;YAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,UAAU;QACrB,oBAAoB;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,CAAC,GAAG,EAAE,EACb,cAAc,EACd,MAAM,EACN,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAC3D,CAAC;QAEF,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,WAAW,CAAC;QACvB,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC;YACD,IAAA,wBAAQ,EAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnD,OAAO,SAAS,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;CACJ;AA/LD,oCA+LC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/test.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"test.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/test.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;mBAkBlB,QAAQ;IA8J7B,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA6GpC"}
|
|
@@ -42,6 +42,8 @@ const path = __importStar(require("path"));
|
|
|
42
42
|
const child_process_1 = require("child_process");
|
|
43
43
|
const fs = __importStar(require("fs"));
|
|
44
44
|
const chokidar_1 = __importDefault(require("chokidar"));
|
|
45
|
+
const env_utils_1 = require("../../shared/env.utils");
|
|
46
|
+
const tsconfig_utils_1 = require("../../shared/tsconfig.utils");
|
|
45
47
|
class TestCommand {
|
|
46
48
|
static register(program) {
|
|
47
49
|
program
|
|
@@ -59,6 +61,8 @@ class TestCommand {
|
|
|
59
61
|
static async runTests(options) {
|
|
60
62
|
console.log(chalk_1.default.blue("\n🧪 Running Fragment Tests...\n"));
|
|
61
63
|
const cwd = process.cwd();
|
|
64
|
+
// Use EnvUtils for consistent environment detection
|
|
65
|
+
const isDevMode = env_utils_1.EnvUtils.isDevelopmentMode();
|
|
62
66
|
const hasSource = fs.existsSync(path.join(cwd, "src"));
|
|
63
67
|
const hasDist = fs.existsSync(path.join(cwd, "dist"));
|
|
64
68
|
let useTypeScript;
|
|
@@ -86,14 +90,28 @@ class TestCommand {
|
|
|
86
90
|
pattern = options.pattern.replace(/\.ts$/, ".js") || "**/*.spec.js";
|
|
87
91
|
}
|
|
88
92
|
else {
|
|
89
|
-
// Auto-detect
|
|
90
|
-
if (hasSource) {
|
|
93
|
+
// Auto-detect using same logic as EnvUtils
|
|
94
|
+
if (isDevMode && hasSource) {
|
|
95
|
+
useTypeScript = true;
|
|
96
|
+
mode = "auto-detected development (src/)";
|
|
97
|
+
basePath = "src";
|
|
98
|
+
pattern = options.pattern || "**/*.spec.ts";
|
|
99
|
+
}
|
|
100
|
+
else if (!isDevMode && hasDist) {
|
|
101
|
+
useTypeScript = false;
|
|
102
|
+
mode = "auto-detected production (dist/)";
|
|
103
|
+
basePath = "dist";
|
|
104
|
+
pattern = options.pattern.replace(/\.ts$/, ".js") || "**/*.spec.js";
|
|
105
|
+
}
|
|
106
|
+
else if (hasSource) {
|
|
107
|
+
// Fallback to source if available
|
|
91
108
|
useTypeScript = true;
|
|
92
109
|
mode = "auto-detected development (src/)";
|
|
93
110
|
basePath = "src";
|
|
94
111
|
pattern = options.pattern || "**/*.spec.ts";
|
|
95
112
|
}
|
|
96
113
|
else if (hasDist) {
|
|
114
|
+
// Fallback to dist if available
|
|
97
115
|
useTypeScript = false;
|
|
98
116
|
mode = "auto-detected production (dist/)";
|
|
99
117
|
basePath = "dist";
|
|
@@ -107,15 +125,14 @@ class TestCommand {
|
|
|
107
125
|
console.log(chalk_1.default.gray(` Mode: ${mode}`));
|
|
108
126
|
console.log(chalk_1.default.gray(` Pattern: ${basePath}/${pattern}`));
|
|
109
127
|
// Check if we need to use ts-node for TypeScript files
|
|
110
|
-
const
|
|
111
|
-
const hasTsConfig = fs.existsSync(tsConfigPath);
|
|
128
|
+
const hasTsConfig = tsconfig_utils_1.TsConfigUtils.exists();
|
|
112
129
|
// Create a simple runner script that uses our test runner module
|
|
113
130
|
const scriptContent = this.generateRunnerScript({
|
|
114
131
|
useTypeScript,
|
|
115
132
|
basePath,
|
|
116
133
|
pattern,
|
|
117
134
|
hasTsConfig,
|
|
118
|
-
tsConfigPath,
|
|
135
|
+
tsConfigPath: path.join(cwd, "tsconfig.json"),
|
|
119
136
|
watchMode: options.watch,
|
|
120
137
|
coverage: options.coverage,
|
|
121
138
|
noColor: options.color === false,
|
|
@@ -129,7 +146,8 @@ class TestCommand {
|
|
|
129
146
|
// -----------------------
|
|
130
147
|
if (options.watch) {
|
|
131
148
|
console.log(chalk_1.default.green("\n👀 Watch mode enabled. Listening for changes...\n"));
|
|
132
|
-
const
|
|
149
|
+
const watchPattern = `${basePath}/**/*.spec.${useTypeScript ? "ts" : "js"}`;
|
|
150
|
+
const watcher = chokidar_1.default.watch(watchPattern, {
|
|
133
151
|
ignoreInitial: true,
|
|
134
152
|
});
|
|
135
153
|
const runTests = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.command.js","sourceRoot":"","sources":["../../../src/cli/commands/test.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAA0B;AAC1B,2CAA6B;AAC7B,iDAAsC;AACtC,uCAAyB;AACzB,wDAAgC;
|
|
1
|
+
{"version":3,"file":"test.command.js","sourceRoot":"","sources":["../../../src/cli/commands/test.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception-filter.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/exception-filter.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"exception-filter.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/exception-filter.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,UAAU,GAAG,GACzB,cAAc,GAAG,eAAe,CAiClC"}
|
|
@@ -9,14 +9,21 @@ const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
|
9
9
|
function FragmentExceptionFilter(filterClass) {
|
|
10
10
|
return (target, propertyKey) => {
|
|
11
11
|
if (propertyKey === undefined) {
|
|
12
|
-
|
|
12
|
+
// Class-level
|
|
13
|
+
const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, target) || [];
|
|
14
|
+
const updated = [...existing, filterClass];
|
|
15
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, updated, target);
|
|
13
16
|
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
14
|
-
storage.addClassMetadata?.(target,
|
|
17
|
+
storage.addClassMetadata?.(target, "exceptionFilter", filterClass);
|
|
15
18
|
}
|
|
16
19
|
else {
|
|
17
|
-
|
|
20
|
+
// Method-level
|
|
21
|
+
const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, target, propertyKey) ||
|
|
22
|
+
[];
|
|
23
|
+
const updated = [...existing, filterClass];
|
|
24
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_FILTERS, updated, target, propertyKey);
|
|
18
25
|
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
19
|
-
storage.addMethodMetadata?.(target.constructor, propertyKey.toString(),
|
|
26
|
+
storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), "exceptionFilter", filterClass);
|
|
20
27
|
}
|
|
21
28
|
};
|
|
22
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception-filter.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/exception-filter.decorator.ts"],"names":[],"mappings":";;AAOA,
|
|
1
|
+
{"version":3,"file":"exception-filter.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/exception-filter.decorator.ts"],"names":[],"mappings":";;AAOA,0DAmCC;AAzCD,6DAA0D;AAC1D,mEAA+D;AAE/D;;GAEG;AACH,SAAgB,uBAAuB,CACrC,WAA0B;IAE1B,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc;YACd,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3C,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAEnE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;gBACnE,EAAE,CAAC;YACL,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC3C,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,WAAW,EACzB,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CACzB,MAAM,CAAC,WAAW,EAClB,WAAW,CAAC,QAAQ,EAAE,EACtB,iBAAiB,EACjB,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/guard.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,aAAa,
|
|
1
|
+
{"version":3,"file":"guard.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/guard.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,GAAG,GACxB,cAAc,GAAG,eAAe,CAiClC"}
|
|
@@ -9,14 +9,21 @@ const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
|
9
9
|
function FragmentGuard(guardClass) {
|
|
10
10
|
return (target, propertyKey) => {
|
|
11
11
|
if (propertyKey === undefined) {
|
|
12
|
-
|
|
12
|
+
// Class-level
|
|
13
|
+
const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, target) || [];
|
|
14
|
+
const updated = [...existing, guardClass];
|
|
15
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, updated, target);
|
|
13
16
|
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
14
|
-
storage.addClassMetadata?.(target,
|
|
17
|
+
storage.addClassMetadata?.(target, "guard", guardClass);
|
|
15
18
|
}
|
|
16
19
|
else {
|
|
17
|
-
|
|
20
|
+
// Method-level
|
|
21
|
+
const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, target, propertyKey) ||
|
|
22
|
+
[];
|
|
23
|
+
const updated = [...existing, guardClass];
|
|
24
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_GUARDS, updated, target, propertyKey);
|
|
18
25
|
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
19
|
-
storage.addMethodMetadata?.(target.constructor, propertyKey.toString(),
|
|
26
|
+
storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), "guard", guardClass);
|
|
20
27
|
}
|
|
21
28
|
};
|
|
22
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/guard.decorator.ts"],"names":[],"mappings":";;AAOA,
|
|
1
|
+
{"version":3,"file":"guard.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/guard.decorator.ts"],"names":[],"mappings":";;AAOA,sCAmCC;AAzCD,6DAA0D;AAC1D,mEAA+D;AAE/D;;GAEG;AACH,SAAgB,aAAa,CAC3B,UAAyB;IAEzB,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc;YACd,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC1C,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAElE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC;gBAClE,EAAE,CAAC;YACL,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC1C,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,UAAU,EACxB,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CACzB,MAAM,CAAC,WAAW,EAClB,WAAW,CAAC,QAAQ,EAAE,EACtB,OAAO,EACP,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interceptor.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/interceptor.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"interceptor.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/interceptor.decorator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,UAAU,GAAG,GAC9B,cAAc,GAAG,eAAe,CAoClC"}
|
|
@@ -9,14 +9,20 @@ const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
|
9
9
|
function FragmentInterceptor(interceptorClass) {
|
|
10
10
|
return (target, propertyKey) => {
|
|
11
11
|
if (propertyKey === undefined) {
|
|
12
|
-
|
|
12
|
+
// Class-level
|
|
13
|
+
const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, target) || [];
|
|
14
|
+
const updated = [...existing, interceptorClass];
|
|
15
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, updated, target);
|
|
13
16
|
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
14
|
-
storage.addClassMetadata?.(target,
|
|
17
|
+
storage.addClassMetadata?.(target, "interceptor", interceptorClass);
|
|
15
18
|
}
|
|
16
19
|
else {
|
|
17
|
-
|
|
20
|
+
// Method-level
|
|
21
|
+
const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, target, propertyKey) || [];
|
|
22
|
+
const updated = [...existing, interceptorClass];
|
|
23
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_INTERCEPTORS, updated, target, propertyKey);
|
|
18
24
|
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
19
|
-
storage.addMethodMetadata?.(target.constructor, propertyKey.toString(),
|
|
25
|
+
storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), "interceptor", interceptorClass);
|
|
20
26
|
}
|
|
21
27
|
};
|
|
22
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interceptor.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/interceptor.decorator.ts"],"names":[],"mappings":";;AAOA,
|
|
1
|
+
{"version":3,"file":"interceptor.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/interceptor.decorator.ts"],"names":[],"mappings":";;AAOA,kDAsCC;AA5CD,6DAA0D;AAC1D,mEAA+D;AAE/D;;GAEG;AACH,SAAgB,mBAAmB,CACjC,gBAA+B;IAE/B,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc;YACd,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YACpE,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAChD,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAExE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CACjB,6BAAa,CAAC,gBAAgB,EAC9B,MAAM,EACN,WAAW,CACZ,IAAI,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAChD,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,gBAAgB,EAC9B,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CACzB,MAAM,CAAC,WAAW,EAClB,WAAW,CAAC,QAAQ,EAAE,EACtB,aAAa,EACb,gBAAgB,CACjB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/middleware.decorator.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"middleware.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/middleware.decorator.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,UAAU,GAAG,GAC7B,cAAc,GAAG,eAAe,CAoClC"}
|
|
@@ -13,15 +13,19 @@ function FragmentMiddleware(middlewareClass) {
|
|
|
13
13
|
return (target, propertyKey) => {
|
|
14
14
|
if (propertyKey === undefined) {
|
|
15
15
|
// Class-level
|
|
16
|
-
Reflect.
|
|
16
|
+
const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, target) || [];
|
|
17
|
+
const updated = [...existing, middlewareClass];
|
|
18
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, updated, target);
|
|
17
19
|
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
18
|
-
storage.addClassMetadata?.(target,
|
|
20
|
+
storage.addClassMetadata?.(target, "middleware", middlewareClass);
|
|
19
21
|
}
|
|
20
22
|
else {
|
|
21
23
|
// Method-level
|
|
22
|
-
Reflect.
|
|
24
|
+
const existing = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, target, propertyKey) || [];
|
|
25
|
+
const updated = [...existing, middlewareClass];
|
|
26
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.USE_MIDDLEWARE, updated, target, propertyKey);
|
|
23
27
|
const storage = metadata_storage_1.MetadataStorage.getInstance();
|
|
24
|
-
storage.addMethodMetadata?.(target.constructor, propertyKey.toString(),
|
|
28
|
+
storage.addMethodMetadata?.(target.constructor, propertyKey.toString(), "middleware", middlewareClass);
|
|
25
29
|
}
|
|
26
30
|
};
|
|
27
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/middleware.decorator.ts"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"middleware.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/middleware.decorator.ts"],"names":[],"mappings":";;AAUA,gDAsCC;AA/CD,6DAA0D;AAC1D,mEAA+D;AAE/D;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,eAA8B;IAE9B,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,EAAE;QACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,cAAc;YACd,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,6BAAa,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAClE,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC/C,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAEtE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CACjB,6BAAa,CAAC,cAAc,EAC5B,MAAM,EACN,WAAW,CACZ,IAAI,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC/C,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,cAAc,EAC5B,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,CAAC,iBAAiB,EAAE,CACzB,MAAM,CAAC,WAAW,EAClB,WAAW,CAAC,QAAQ,EAAE,EACtB,YAAY,EACZ,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -8,9 +8,21 @@ export declare class ComponentScanner {
|
|
|
8
8
|
* Scans TypeScript source files (development mode with ts-node/tsx)
|
|
9
9
|
*/
|
|
10
10
|
static scanSource(patterns?: string[]): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Get default scan patterns based on fragment.json configuration
|
|
13
|
+
*/
|
|
14
|
+
private static getDefaultPatterns;
|
|
11
15
|
/**
|
|
12
16
|
* Recursive directory scan (alternative approach)
|
|
13
17
|
*/
|
|
14
18
|
static scanDirectory(dir: string, extensions?: string[]): void;
|
|
19
|
+
/**
|
|
20
|
+
* Auto-scan based on current environment mode
|
|
21
|
+
*/
|
|
22
|
+
static autoScan(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Environment detection logic (replicated from EnvUtils for independence)
|
|
25
|
+
*/
|
|
26
|
+
private static isDevelopmentMode;
|
|
15
27
|
}
|
|
16
28
|
//# sourceMappingURL=component-scanner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-scanner.d.ts","sourceRoot":"","sources":["../../../src/core/scanner/component-scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"component-scanner.d.ts","sourceRoot":"","sources":["../../../src/core/scanner/component-scanner.ts"],"names":[],"mappings":"AAMA,qBAAa,gBAAgB;IAC3B;;;OAGG;WACU,IAAI,CAAC,QAAQ,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CzD;;OAEG;WACU,UAAU,CAAC,QAAQ,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC/D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA8CjC;;OAEG;IACH,MAAM,CAAC,aAAa,CAClB,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAAM,EAAmB,GACpC,IAAI;IAuBP;;OAEG;WACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAiBjC"}
|
|
@@ -37,21 +37,20 @@ exports.ComponentScanner = void 0;
|
|
|
37
37
|
const path = __importStar(require("path"));
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const glob_1 = require("glob");
|
|
40
|
+
const config_utils_1 = require("../../shared/config.utils");
|
|
41
|
+
const tsconfig_utils_1 = require("../../shared/tsconfig.utils");
|
|
40
42
|
class ComponentScanner {
|
|
41
43
|
/**
|
|
42
44
|
* Scans and imports compiled JS files (production mode)
|
|
43
45
|
* This ensures decorators are executed
|
|
44
46
|
*/
|
|
45
|
-
static async scan(patterns = [
|
|
46
|
-
"dist/**/*.controller.js",
|
|
47
|
-
"dist/**/*.service.js",
|
|
48
|
-
"dist/**/*.repository.js",
|
|
49
|
-
"dist/**/*.entity.js",
|
|
50
|
-
]) {
|
|
47
|
+
static async scan(patterns = []) {
|
|
51
48
|
const cwd = process.cwd();
|
|
49
|
+
// If no patterns provided, use defaults from fragment.json config
|
|
50
|
+
const scanPatterns = patterns.length > 0 ? patterns : this.getDefaultPatterns(false);
|
|
52
51
|
const allFiles = [];
|
|
53
52
|
// Collect all matching files
|
|
54
|
-
for (const pattern of
|
|
53
|
+
for (const pattern of scanPatterns) {
|
|
55
54
|
try {
|
|
56
55
|
const files = await (0, glob_1.glob)(pattern, { cwd, absolute: true });
|
|
57
56
|
allFiles.push(...files);
|
|
@@ -83,15 +82,12 @@ class ComponentScanner {
|
|
|
83
82
|
/**
|
|
84
83
|
* Scans TypeScript source files (development mode with ts-node/tsx)
|
|
85
84
|
*/
|
|
86
|
-
static async scanSource(patterns = [
|
|
87
|
-
"src/**/*.controller.ts",
|
|
88
|
-
"src/**/*.service.ts",
|
|
89
|
-
"src/**/*.repository.ts",
|
|
90
|
-
"src/**/*.entity.ts",
|
|
91
|
-
]) {
|
|
85
|
+
static async scanSource(patterns = []) {
|
|
92
86
|
const cwd = process.cwd();
|
|
87
|
+
// If no patterns provided, use defaults from fragment.json config
|
|
88
|
+
const scanPatterns = patterns.length > 0 ? patterns : this.getDefaultPatterns(true);
|
|
93
89
|
const allFiles = [];
|
|
94
|
-
for (const pattern of
|
|
90
|
+
for (const pattern of scanPatterns) {
|
|
95
91
|
try {
|
|
96
92
|
const files = await (0, glob_1.glob)(pattern, { cwd, absolute: true });
|
|
97
93
|
allFiles.push(...files);
|
|
@@ -118,6 +114,37 @@ class ComponentScanner {
|
|
|
118
114
|
}
|
|
119
115
|
console.log(` ✓ Loaded ${loaded} source file(s)${failed > 0 ? `, ${failed} failed` : ""}`);
|
|
120
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Get default scan patterns based on fragment.json configuration
|
|
119
|
+
*/
|
|
120
|
+
static getDefaultPatterns(useTypeScript) {
|
|
121
|
+
const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
|
|
122
|
+
const patterns = [];
|
|
123
|
+
// Use configured entity paths if available
|
|
124
|
+
if (dbConfig.entities && dbConfig.entities.length > 0) {
|
|
125
|
+
// Convert entity patterns to component patterns
|
|
126
|
+
const entityPatterns = dbConfig.entities.map((p) => p.replace(/\.entity\.[tj]s$/, `.${useTypeScript ? "ts" : "js"}`));
|
|
127
|
+
// Extract base directory and create component patterns
|
|
128
|
+
const baseDirs = new Set();
|
|
129
|
+
entityPatterns.forEach((pattern) => {
|
|
130
|
+
const dir = path.dirname(pattern.replace("/**/*", ""));
|
|
131
|
+
baseDirs.add(dir);
|
|
132
|
+
});
|
|
133
|
+
// Create patterns for all component types
|
|
134
|
+
baseDirs.forEach((baseDir) => {
|
|
135
|
+
patterns.push(`${baseDir}/**/*.controller.${useTypeScript ? "ts" : "js"}`, `${baseDir}/**/*.service.${useTypeScript ? "ts" : "js"}`, `${baseDir}/**/*.repository.${useTypeScript ? "ts" : "js"}`, `${baseDir}/**/*.entity.${useTypeScript ? "ts" : "js"}`);
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
// Fallback to default patterns if no config found
|
|
139
|
+
if (patterns.length === 0) {
|
|
140
|
+
const srcDir = useTypeScript
|
|
141
|
+
? tsconfig_utils_1.TsConfigUtils.getRootDir()
|
|
142
|
+
: path.join(process.cwd(), "dist");
|
|
143
|
+
const ext = useTypeScript ? "ts" : "js";
|
|
144
|
+
patterns.push(`${srcDir}/**/*.controller.${ext}`, `${srcDir}/**/*.service.${ext}`, `${srcDir}/**/*.repository.${ext}`, `${srcDir}/**/*.entity.${ext}`);
|
|
145
|
+
}
|
|
146
|
+
return patterns;
|
|
147
|
+
}
|
|
121
148
|
/**
|
|
122
149
|
* Recursive directory scan (alternative approach)
|
|
123
150
|
*/
|
|
@@ -142,6 +169,37 @@ class ComponentScanner {
|
|
|
142
169
|
}
|
|
143
170
|
}
|
|
144
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Auto-scan based on current environment mode
|
|
174
|
+
*/
|
|
175
|
+
static async autoScan() {
|
|
176
|
+
// Detect environment using the same logic as other components
|
|
177
|
+
const isDevMode = this.isDevelopmentMode();
|
|
178
|
+
if (isDevMode) {
|
|
179
|
+
await this.scanSource();
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
await this.scan();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Environment detection logic (replicated from EnvUtils for independence)
|
|
187
|
+
*/
|
|
188
|
+
static isDevelopmentMode() {
|
|
189
|
+
// Check explicit FRAGMENT_DEV_MODE
|
|
190
|
+
if (process.env.FRAGMENT_DEV_MODE !== undefined) {
|
|
191
|
+
return process.env.FRAGMENT_DEV_MODE === "true";
|
|
192
|
+
}
|
|
193
|
+
// Check NODE_ENV
|
|
194
|
+
if (process.env.NODE_ENV) {
|
|
195
|
+
return process.env.NODE_ENV === "development";
|
|
196
|
+
}
|
|
197
|
+
// Check filesystem (src/ vs dist/)
|
|
198
|
+
const cwd = process.cwd();
|
|
199
|
+
const hasSource = fs.existsSync(path.join(cwd, "src"));
|
|
200
|
+
const hasDist = fs.existsSync(path.join(cwd, "dist"));
|
|
201
|
+
return hasSource && (!hasDist || hasSource);
|
|
202
|
+
}
|
|
145
203
|
}
|
|
146
204
|
exports.ComponentScanner = ComponentScanner;
|
|
147
205
|
//# sourceMappingURL=component-scanner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-scanner.js","sourceRoot":"","sources":["../../../src/core/scanner/component-scanner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,uCAAyB;AACzB,+BAA4B;
|
|
1
|
+
{"version":3,"file":"component-scanner.js","sourceRoot":"","sources":["../../../src/core/scanner/component-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
interface FragmentDatabaseConfig {
|
|
2
|
+
type?: string;
|
|
3
|
+
host?: string;
|
|
4
|
+
port?: number;
|
|
5
|
+
username?: string;
|
|
6
|
+
password?: string;
|
|
7
|
+
database?: string;
|
|
8
|
+
synchronize?: boolean;
|
|
9
|
+
logging?: boolean;
|
|
10
|
+
entities?: string[];
|
|
11
|
+
migrations?: string[];
|
|
12
|
+
subscribers?: string[];
|
|
13
|
+
pool?: any;
|
|
14
|
+
maxQueryExecutionTime?: number;
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}
|
|
17
|
+
interface FragmentConfig {
|
|
18
|
+
development?: {
|
|
19
|
+
database?: FragmentDatabaseConfig;
|
|
20
|
+
};
|
|
21
|
+
production?: {
|
|
22
|
+
database?: FragmentDatabaseConfig;
|
|
23
|
+
};
|
|
24
|
+
database?: FragmentDatabaseConfig;
|
|
25
|
+
}
|
|
26
|
+
export declare class ConfigUtils {
|
|
27
|
+
private static configCache;
|
|
28
|
+
/**
|
|
29
|
+
* Load and parse fragment.json with caching
|
|
30
|
+
*/
|
|
31
|
+
private static loadConfig;
|
|
32
|
+
/**
|
|
33
|
+
* Interpolate environment variables in config values
|
|
34
|
+
*/
|
|
35
|
+
static interpolateEnvVars(value: any): any;
|
|
36
|
+
/**
|
|
37
|
+
* Get the current database configuration based on environment
|
|
38
|
+
*/
|
|
39
|
+
static getDatabaseConfig(): FragmentDatabaseConfig;
|
|
40
|
+
/**
|
|
41
|
+
* Get a specific database configuration property
|
|
42
|
+
*/
|
|
43
|
+
static getDatabaseProperty<T>(property: string, defaultValue: T): T;
|
|
44
|
+
/**
|
|
45
|
+
* Get the full fragment configuration
|
|
46
|
+
*/
|
|
47
|
+
static getFullConfig(): FragmentConfig;
|
|
48
|
+
/**
|
|
49
|
+
* Check if database feature is enabled
|
|
50
|
+
*/
|
|
51
|
+
static isDatabaseEnabled(): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Clear the configuration cache (useful for testing)
|
|
54
|
+
*/
|
|
55
|
+
static clearCache(): void;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=config.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.utils.d.ts","sourceRoot":"","sources":["../../src/shared/config.utils.ts"],"names":[],"mappings":"AAKA,UAAU,sBAAsB;IAC9B,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,UAAU,cAAc;IACtB,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,sBAAsB,CAAC;KACnC,CAAC;IACF,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,sBAAsB,CAAC;KACnC,CAAC;IAEF,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,WAAW,CAA+B;IAEzD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IA2BzB;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAsB1C;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,sBAAsB;IAoBlD;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAOnE;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,cAAc;IAItC;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,OAAO;IAOnC;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;CAG1B"}
|