fragment-ts 1.0.34 → 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/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/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":"application.js","sourceRoot":"","sources":["../../src/web/application.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/web/application.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA4E;AAC5E,oDAA4B;AAC5B,gDAAwB;AACxB,8DAAsC;AACtC,uCAAyB;AACzB,2CAA6B;AAC7B,iEAA6D;AAC7D,wEAAoE;AACpE,kEAA+D;AAC/D,yEAAqE;AACrE,8DAA0D;AAW1D,mDAA+C;AAE/C,MAAa,sBAAsB;IAKjC;QACE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,0BAAW,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe;QACrB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,gBAAM,GAAE,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAE,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,qBAAW,GAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAa;QAC3B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,8BAAa,CAAC,UAAU,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CACrC,6BAAa,CAAC,WAAW,EACzB,QAAQ,CACT,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;QAErD,oDAAoD;QACpD,oCAAoC;QACpC,IAAI,WAAW,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,MAAM,IAAI,GAAG,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC;QACvC,MAAM,IAAI,GAAG,WAAW,EAAE,IAAI,IAAI,SAAS,CAAC;QAE5C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YAC/B,OAAO,CAAC,GAAG,CACT,8CAA8C,IAAI,IAAI,IAAI,EAAE,CAC7D,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;QAE5C,oDAAoD;QACpD,MAAM,SAAS,GAAG,oBAAQ,CAAC,iBAAiB,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CACT,iBAAiB,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,OAAO,CACjE,CAAC;QAEF,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;YAC3B,iDAAiD;YACjD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,MAAM,oCAAgB,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,MAAM,oCAAgB,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,uEAAuE;IAE/D,6BAA6B;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC;QAE9D,4BAA4B;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACvC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAA2B,CAC5B,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC;YAEnD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,OAAO,CAAC,GAAG,CACT,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChE,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,oCAAoC;gBACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACzC,UAAU,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CACT,eAAe,QAAQ,CAAC,MAAM,CAAC,IAAI,6BAA6B,CACjE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,kBAAkB,UAAU,eAAe,CAAC,CAAC;QACzD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,oCAAoC,CAAC,CAAC;QACxE,CAAC;QAED,2EAA2E;QAC3E,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,MAAM,KAAK,GAA2B;YACpC,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,oBAAoB,EAAE,IAAI;SAC3B,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC7B,CAAC;IAEO,cAAc,CAAC,MAAW;QAChC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAC1C,6BAAa,CAAC,oBAAoB,EAClC,MAAM,CACP,CAAC;QAEF,IAAI,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,GAAG,CACT,oCAAoC,MAAM,CAAC,IAAI,uBAAuB,CACvE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAChD,6BAAa,CAAC,2BAA2B,EACzC,MAAM,CACP,CAAC;QAEF,IAAI,sBAAsB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACzE,OAAO,CAAC,GAAG,CACT,oCAAoC,MAAM,CAAC,IAAI,uBAAuB,CACvE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAC7C,6BAAa,CAAC,uBAAuB,EACrC,MAAM,CACP,CAAC;QAEF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAEnD,IAAI,mBAAmB,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACpD,IAAI,KAAK,KAAK,mBAAmB,CAAC,aAAa,EAAE,CAAC;oBAChD,OAAO,CAAC,GAAG,CACT,oCAAoC,MAAM,CAAC,IAAI,cAAc,mBAAmB,CAAC,aAAa,SAAS,KAAK,EAAE,CAC/G,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CACT,oCAAoC,MAAM,CAAC,IAAI,oBAAoB,CACpE,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,gBAAgB,CAAC,QAAa;QACpC,IAAI,CAAC;YACH,OAAO,OAAO,QAAQ,KAAK,UAAU,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe;aACrC,aAAa,EAAE;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAE1C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAE3C,WAAW,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;YACzC,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;gBAE9D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,IAAI,EAAE,CAAC;gBAE/C,oCAAoC;gBACpC,MAAM,qBAAqB,GAAG,CAAC,OAAO,CAAC,WAAW,CAChD,6BAAa,CAAC,cAAc,EAC5B,kBAAkB,CAAC,MAAM,CAC1B,IAAI,EAAE,CAAsB,CAAC;gBAE9B,MAAM,gBAAgB,GAAG,CAAC,OAAO,CAAC,WAAW,CAC3C,6BAAa,CAAC,UAAU,EACxB,kBAAkB,CAAC,MAAM,CAC1B,IAAI,EAAE,CAAiB,CAAC;gBAEzB,MAAM,sBAAsB,GAAG,CAAC,OAAO,CAAC,WAAW,CACjD,6BAAa,CAAC,gBAAgB,EAC9B,kBAAkB,CAAC,MAAM,CAC1B,IAAI,EAAE,CAAuB,CAAC;gBAE/B,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,WAAW,CAC5C,6BAAa,CAAC,WAAW,EACzB,kBAAkB,CAAC,MAAM,CAC1B,IAAI,EAAE,CAA2B,CAAC;gBAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe;qBACjC,aAAa,EAAE;qBACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAEzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;oBAC1D,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;oBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;oBACpE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBACpD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAElD,OAAO,CAAC,GAAG,CACT,IAAI,UAAU,IAAI,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,QAAQ,EAAE,CACxF,CAAC;oBAEF,WAAW,EAAE,CAAC;oBAEd,oCAAoC;oBACpC,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,WAAW,CAC5C,6BAAa,CAAC,cAAc,EAC5B,kBAAkB,CAAC,MAAM,CAAC,SAAS,EACnC,cAAc,CAAC,WAAW,CAC3B,IAAI,EAAE,CAAsB,CAAC;oBAE9B,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,WAAW,CACvC,6BAAa,CAAC,UAAU,EACxB,kBAAkB,CAAC,MAAM,CAAC,SAAS,EACnC,cAAc,CAAC,WAAW,CAC3B,IAAI,EAAE,CAAiB,CAAC;oBAEzB,MAAM,kBAAkB,GAAG,CAAC,OAAO,CAAC,WAAW,CAC7C,6BAAa,CAAC,gBAAgB,EAC9B,kBAAkB,CAAC,MAAM,CAAC,SAAS,EACnC,cAAc,CAAC,WAAW,CAC3B,IAAI,EAAE,CAAuB,CAAC;oBAE/B,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,WAAW,CACxC,6BAAa,CAAC,WAAW,EACzB,kBAAkB,CAAC,MAAM,CAAC,SAAS,EACnC,cAAc,CAAC,WAAW,CAC3B,IAAI,EAAE,CAA2B,CAAC;oBAEnC,+BAA+B;oBAC/B,MAAM,cAAc,GAAG;wBACrB,GAAG,qBAAqB;wBACxB,GAAG,iBAAiB;qBACrB,CAAC;oBACF,MAAM,SAAS,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC,CAAC;oBACzD,MAAM,eAAe,GAAG;wBACtB,GAAG,sBAAsB;wBACzB,GAAG,kBAAkB;qBACtB,CAAC;oBACF,MAAM,UAAU,GAAG,CAAC,GAAG,iBAAiB,EAAE,GAAG,aAAa,CAAC,CAAC;oBAE5D,2BAA2B;oBAC3B,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAe,CAC/C,CAAC;oBACF,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAU,CAC1C,CAAC;oBACF,MAAM,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAgB,CAChD,CAAC;oBAEF,4CAA4C;oBAC3C,IAAI,CAAC,GAAW,CAAC,UAAU,CAAC,CAC3B,QAAQ;oBACR,wCAAwC;oBACxC,GAAG,mBAAmB,CAAC,GAAG,CACxB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE,CAC1D,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CACtD;oBACD,wBAAwB;oBACxB,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;wBACxD,IAAI,CAAC;4BACH,mBAAmB;4BACnB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gCACnC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,CACvC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CACvB,CAAC;gCACF,IAAI,CAAC,WAAW,EAAE,CAAC;oCACjB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;oCACpC,KAAa,CAAC,MAAM,GAAG,GAAG,CAAC;oCAC5B,MAAM,KAAK,CAAC;gCACd,CAAC;4BACH,CAAC;4BAED,+BAA+B;4BAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CACvC,cAAc,EACd,GAAG,EACH,GAAG,CACJ,CAAC;4BAEF,OAAO,CAAC,GAAG,CACT,iBAAiB,UAAU,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAE,CACxD,CAAC;4BAEF,wCAAwC;4BACxC,IAAI,MAAW,CAAC;4BAChB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACpC,+BAA+B;gCAC/B,MAAM,SAAS,GAAG,MAAO,UAAkB,CACzC,cAAc,CAAC,WAAW,CAC3B,CAAC,GAAG,IAAI,CAAC,CAAC;gCAEX,oFAAoF;gCACpF,MAAM,GAAG,SAAS,CAAC;gCACnB,KAAK,MAAM,WAAW,IAAI,oBAAoB,EAAE,CAAC;oCAC/C,4CAA4C;oCAC5C,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAC5B,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CACxC,CAAC;gCACJ,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,MAAM,GAAG,MAAO,UAAkB,CAChC,cAAc,CAAC,WAAW,CAC3B,CAAC,GAAG,IAAI,CAAC,CAAC;4BACb,CAAC;4BAED,0BAA0B;4BAC1B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gCACrB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACnB,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,0DAA0D;4BAC1D,IAAI,OAAO,GAAG,KAAK,CAAC;4BACpB,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE,CAAC;gCACrC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CACnC,WAAW,CACO,CAAC;gCACrB,IAAI,CAAC;oCACH,MAAM,GAAG,GACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oCAC5D,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oCAC5B,OAAO,GAAG,IAAI,CAAC;oCACf,MAAM;gCACR,CAAC;gCAAC,OAAO,CAAC,EAAE,CAAC;oCACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;gCACjD,CAAC;4BACH,CAAC;4BAED,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,IAAI,CAAC,KAAK,CAAC,CAAC;4BACd,CAAC;wBACH,CAAC;oBACH,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,mCAAmC,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,EACpE,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,WAAW,CAAC,CAAC;IACxD,CAAC;IAEO,cAAc,CAAC,MAAc;QACnC,MAAM,MAAM,GAA2B;YACrC,GAAG,EAAE,UAAU,EAAE,QAAQ;YACzB,IAAI,EAAE,UAAU,EAAE,SAAS;YAC3B,GAAG,EAAE,UAAU,EAAE,OAAO;YACxB,MAAM,EAAE,UAAU,EAAE,MAAM;YAC1B,KAAK,EAAE,UAAU,EAAE,UAAU;SAC9B,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,gBAAgB;IACvD,CAAC;IAEO,aAAa,CAAC,MAAc;QAClC,MAAM,KAAK,GAA2B;YACpC,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,GAAG;YACT,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAC9B,CAAC;IAEO,uBAAuB,CAC7B,cAAmB,EACnB,GAAY,EACZ,GAAa;QAEb,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,IAAI,CACnD,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CACtC,CAAC;QAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;YAC/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,MAAM;oBACT,OAAO,GAAG,CAAC,IAAI,CAAC;gBAClB,KAAK,OAAO;oBACV,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;gBACpE,KAAK,OAAO;oBACV,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;gBAClE,KAAK,QAAQ;oBACX,OAAO,KAAK,CAAC,SAAS;wBACpB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;wBAC5C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBAClB,KAAK,KAAK;oBACR,OAAO,GAAG,CAAC;gBACb,KAAK,KAAK;oBACR,OAAO,GAAG,CAAC;gBACb;oBACE,OAAO,SAAS,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAEO,YAAY,CAClB,GAAU,EACV,GAAY,EACZ,GAAa,EACb,IAAkB;QAElB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;CACF;AA1fD,wDA0fC"}
|
package/package.json
CHANGED
|
@@ -4,6 +4,7 @@ import * as path from "path";
|
|
|
4
4
|
import * as fs from "fs";
|
|
5
5
|
import chalk from "chalk";
|
|
6
6
|
import ora from "ora";
|
|
7
|
+
import { TsConfigUtils } from "../../shared/tsconfig.utils";
|
|
7
8
|
|
|
8
9
|
export class BuildCommand {
|
|
9
10
|
static register(program: Command): void {
|
|
@@ -31,9 +32,8 @@ export class BuildCommand {
|
|
|
31
32
|
process.exit(1);
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
// Check if tsconfig.json exists
|
|
35
|
-
|
|
36
|
-
if (!fs.existsSync(tsconfigPath)) {
|
|
35
|
+
// Check if tsconfig.json exists using utility
|
|
36
|
+
if (!TsConfigUtils.exists()) {
|
|
37
37
|
spinner.fail("tsconfig.json not found");
|
|
38
38
|
console.log(
|
|
39
39
|
chalk.yellow("\nCreate a tsconfig.json file in your project root"),
|
|
@@ -41,6 +41,21 @@ export class BuildCommand {
|
|
|
41
41
|
process.exit(1);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
// Validate required compiler options for Fragment
|
|
45
|
+
if (!TsConfigUtils.hasDecoratorSupport()) {
|
|
46
|
+
spinner.fail("Required TypeScript compiler options not enabled");
|
|
47
|
+
console.log(chalk.yellow("\nYour tsconfig.json must include:"));
|
|
48
|
+
console.log(chalk.cyan(' "compilerOptions": {'));
|
|
49
|
+
console.log(chalk.cyan(' "experimentalDecorators": true,'));
|
|
50
|
+
console.log(chalk.cyan(' "emitDecoratorMetadata": true'));
|
|
51
|
+
console.log(chalk.cyan(" }"));
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Get output directory from tsconfig instead of hardcoding
|
|
56
|
+
const outDir = TsConfigUtils.getOutDir();
|
|
57
|
+
const relativeOutDir = path.relative(process.cwd(), outDir);
|
|
58
|
+
|
|
44
59
|
// Run TypeScript compiler
|
|
45
60
|
spinner.text = "Compiling TypeScript...";
|
|
46
61
|
execSync(`"${tscPath}"`, {
|
|
@@ -52,10 +67,10 @@ export class BuildCommand {
|
|
|
52
67
|
|
|
53
68
|
if (options.analyze) {
|
|
54
69
|
console.log(chalk.blue("\n📊 Bundle Analysis:"));
|
|
55
|
-
this.analyzeBuild();
|
|
70
|
+
this.analyzeBuild(outDir); // Pass the actual output directory
|
|
56
71
|
}
|
|
57
72
|
|
|
58
|
-
console.log(chalk.green(
|
|
73
|
+
console.log(chalk.green(`\n✨ Build output: ${relativeOutDir}/`));
|
|
59
74
|
} catch (error: any) {
|
|
60
75
|
spinner.fail("Build failed");
|
|
61
76
|
console.error(chalk.red(error.message || error));
|
|
@@ -94,11 +109,11 @@ export class BuildCommand {
|
|
|
94
109
|
return null;
|
|
95
110
|
}
|
|
96
111
|
|
|
97
|
-
private static analyzeBuild(): void {
|
|
98
|
-
const distPath = path.join(process.cwd(), "dist");
|
|
99
|
-
|
|
112
|
+
private static analyzeBuild(distPath: string): void {
|
|
100
113
|
if (!fs.existsSync(distPath)) {
|
|
101
|
-
console.log(
|
|
114
|
+
console.log(
|
|
115
|
+
chalk.yellow(` No ${path.basename(distPath)}/ directory found`),
|
|
116
|
+
);
|
|
102
117
|
return;
|
|
103
118
|
}
|
|
104
119
|
|
|
@@ -3,6 +3,8 @@ import chalk from "chalk";
|
|
|
3
3
|
import * as fs from "fs";
|
|
4
4
|
import * as path from "path";
|
|
5
5
|
import { spawn } from "child_process";
|
|
6
|
+
import { ConfigUtils } from "../../shared/config.utils";
|
|
7
|
+
import { EnvUtils } from "../../shared/env.utils";
|
|
6
8
|
|
|
7
9
|
export class DiagnosticsCommand {
|
|
8
10
|
static register(program: Command): void {
|
|
@@ -129,7 +131,7 @@ export class DiagnosticsCommand {
|
|
|
129
131
|
return new Promise((resolve) => {
|
|
130
132
|
const cwd = process.cwd();
|
|
131
133
|
|
|
132
|
-
//
|
|
134
|
+
// Use EnvUtils for consistent environment detection
|
|
133
135
|
const hasSource = fs.existsSync(path.join(cwd, "src"));
|
|
134
136
|
const hasDist = fs.existsSync(path.join(cwd, "dist"));
|
|
135
137
|
|
|
@@ -161,13 +163,20 @@ export class DiagnosticsCommand {
|
|
|
161
163
|
useTypeScript = false;
|
|
162
164
|
mode = "production (dist/)";
|
|
163
165
|
} else {
|
|
164
|
-
// Auto-detect
|
|
165
|
-
|
|
166
|
-
|
|
166
|
+
// Auto-detect using same logic as EnvUtils
|
|
167
|
+
const isDevMode = EnvUtils.isDevelopmentMode();
|
|
168
|
+
if (isDevMode && hasSource) {
|
|
169
|
+
useTypeScript = true;
|
|
170
|
+
mode = "auto-detected development (src/)";
|
|
171
|
+
} else if (!isDevMode && hasDist) {
|
|
172
|
+
useTypeScript = false;
|
|
173
|
+
mode = "auto-detected production (dist/)";
|
|
174
|
+
} else if (hasSource) {
|
|
175
|
+
// Fallback to source if available
|
|
167
176
|
useTypeScript = true;
|
|
168
177
|
mode = "auto-detected development (src/)";
|
|
169
178
|
} else if (hasDist) {
|
|
170
|
-
//
|
|
179
|
+
// Fallback to dist if available
|
|
171
180
|
useTypeScript = false;
|
|
172
181
|
mode = "auto-detected production (dist/)";
|
|
173
182
|
} else {
|
|
@@ -369,30 +378,12 @@ diagnose();
|
|
|
369
378
|
console.log(` Node: ${process.version}`);
|
|
370
379
|
console.log(` Platform: ${process.platform}`);
|
|
371
380
|
console.log(` Architecture: ${process.arch}`);
|
|
372
|
-
console.log(` Environment: ${
|
|
381
|
+
console.log(` Environment: ${EnvUtils.getEnvironmentMode()}`);
|
|
373
382
|
console.log(` Source: ${hasSource ? "✓ src/" : "✗ src/"}`);
|
|
374
383
|
console.log(` Built: ${hasDist ? "✓ dist/" : "✗ dist/"}`);
|
|
375
384
|
console.log("");
|
|
376
385
|
}
|
|
377
386
|
|
|
378
|
-
private static interpolateEnvVars(value: any): any {
|
|
379
|
-
if (typeof value === "string") {
|
|
380
|
-
return value.replace(
|
|
381
|
-
/\$?\{([^}]+)\}/g,
|
|
382
|
-
(_, varName) => process.env[varName] ?? "",
|
|
383
|
-
);
|
|
384
|
-
}
|
|
385
|
-
if (Array.isArray(value))
|
|
386
|
-
return value.map((v) => this.interpolateEnvVars(v));
|
|
387
|
-
if (value && typeof value === "object") {
|
|
388
|
-
const result: any = {};
|
|
389
|
-
for (const key in value)
|
|
390
|
-
result[key] = this.interpolateEnvVars(value[key]);
|
|
391
|
-
return result;
|
|
392
|
-
}
|
|
393
|
-
return value;
|
|
394
|
-
}
|
|
395
|
-
|
|
396
387
|
private static showConfig(): void {
|
|
397
388
|
console.log(chalk.blue("\n⚙️ Configuration:\n"));
|
|
398
389
|
|
|
@@ -400,11 +391,32 @@ diagnose();
|
|
|
400
391
|
|
|
401
392
|
if (fs.existsSync(configPath)) {
|
|
402
393
|
try {
|
|
403
|
-
const configRaw =
|
|
404
|
-
const
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
394
|
+
const configRaw = ConfigUtils.getFullConfig();
|
|
395
|
+
const mode = EnvUtils.getEnvironmentMode();
|
|
396
|
+
|
|
397
|
+
console.log(chalk.gray(` Detected mode: ${mode}`));
|
|
398
|
+
|
|
399
|
+
// Show the relevant section
|
|
400
|
+
const dbConfig = ConfigUtils.getDatabaseConfig();
|
|
401
|
+
if (Object.keys(dbConfig).length > 0) {
|
|
402
|
+
console.log(`\n ${mode} database config:`);
|
|
403
|
+
console.log(
|
|
404
|
+
" " + JSON.stringify(dbConfig, null, 2).replace(/\n/g, "\n "),
|
|
405
|
+
);
|
|
406
|
+
} else if (configRaw.database) {
|
|
407
|
+
// Fallback to legacy flat structure
|
|
408
|
+
const interpolated = ConfigUtils.interpolateEnvVars
|
|
409
|
+
? ConfigUtils.interpolateEnvVars(configRaw.database)
|
|
410
|
+
: configRaw.database;
|
|
411
|
+
console.log("\n legacy database config:");
|
|
412
|
+
console.log(
|
|
413
|
+
" " + JSON.stringify(interpolated, null, 2).replace(/\n/g, "\n "),
|
|
414
|
+
);
|
|
415
|
+
} else {
|
|
416
|
+
console.log(
|
|
417
|
+
chalk.yellow(` No database config found for ${mode} mode`),
|
|
418
|
+
);
|
|
419
|
+
}
|
|
408
420
|
} catch (error) {
|
|
409
421
|
console.log(chalk.red(" Error reading fragment.json"));
|
|
410
422
|
}
|
|
@@ -435,7 +447,7 @@ diagnose();
|
|
|
435
447
|
}
|
|
436
448
|
}
|
|
437
449
|
|
|
438
|
-
|
|
450
|
+
public static loadFragmentPackageJson(): any {
|
|
439
451
|
try {
|
|
440
452
|
const possiblePaths = [
|
|
441
453
|
path.join(__dirname, "..", "..", "..", "package.json"),
|
|
@@ -1,51 +1,68 @@
|
|
|
1
|
-
import { Command } from
|
|
2
|
-
import * as fs from
|
|
3
|
-
import * as path from
|
|
4
|
-
import chalk from
|
|
5
|
-
import ora from
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import * as fs from "fs-extra";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import ora from "ora";
|
|
6
|
+
import { TsConfigUtils } from "../../shared/tsconfig.utils";
|
|
6
7
|
|
|
7
8
|
export class GenerateCommand {
|
|
8
9
|
static register(program: Command): void {
|
|
9
10
|
program
|
|
10
|
-
.command(
|
|
11
|
-
.alias(
|
|
12
|
-
.description(
|
|
13
|
-
.option(
|
|
11
|
+
.command("generate <type> <name>")
|
|
12
|
+
.alias("g")
|
|
13
|
+
.description("Generate a new resource")
|
|
14
|
+
.option("--with-repository", "Generate repository for service")
|
|
14
15
|
.action(async (type, name, options) => {
|
|
15
16
|
await GenerateCommand.execute(type, name, options);
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
static async execute(
|
|
20
|
+
static async execute(
|
|
21
|
+
type: string,
|
|
22
|
+
name: string,
|
|
23
|
+
options: any,
|
|
24
|
+
): Promise<void> {
|
|
20
25
|
const spinner = ora();
|
|
21
|
-
|
|
26
|
+
|
|
22
27
|
try {
|
|
23
28
|
spinner.start(`Generating ${type}...`);
|
|
24
|
-
|
|
29
|
+
|
|
25
30
|
switch (type) {
|
|
26
|
-
case
|
|
31
|
+
case "controller":
|
|
27
32
|
await this.generateController(name);
|
|
28
33
|
break;
|
|
29
|
-
case
|
|
34
|
+
case "service":
|
|
30
35
|
await this.generateService(name, options.withRepository);
|
|
31
36
|
break;
|
|
32
|
-
case
|
|
37
|
+
case "resource":
|
|
33
38
|
await this.generateResource(name);
|
|
34
39
|
break;
|
|
35
|
-
case
|
|
40
|
+
case "entity":
|
|
36
41
|
await this.generateEntity(name);
|
|
37
42
|
break;
|
|
38
|
-
case
|
|
43
|
+
case "dto":
|
|
39
44
|
await this.generateDto(name);
|
|
40
45
|
break;
|
|
41
|
-
case
|
|
46
|
+
case "repository":
|
|
42
47
|
await this.generateRepository(name);
|
|
43
48
|
break;
|
|
49
|
+
case "middleware":
|
|
50
|
+
await this.generateMiddleware(name);
|
|
51
|
+
break;
|
|
52
|
+
case "guard":
|
|
53
|
+
await this.generateGuard(name);
|
|
54
|
+
break;
|
|
55
|
+
case "interceptor":
|
|
56
|
+
await this.generateInterceptor(name);
|
|
57
|
+
break;
|
|
58
|
+
case "filter":
|
|
59
|
+
await this.generateFilter(name);
|
|
60
|
+
break;
|
|
44
61
|
default:
|
|
45
62
|
spinner.fail(`Unknown type: ${type}`);
|
|
46
63
|
return;
|
|
47
64
|
}
|
|
48
|
-
|
|
65
|
+
|
|
49
66
|
spinner.succeed(`${type} generated successfully!`);
|
|
50
67
|
} catch (error) {
|
|
51
68
|
spinner.fail(`Failed to generate ${type}`);
|
|
@@ -54,14 +71,21 @@ export class GenerateCommand {
|
|
|
54
71
|
}
|
|
55
72
|
|
|
56
73
|
private static async generateController(name: string): Promise<void> {
|
|
57
|
-
const className = this.capitalize(name) +
|
|
58
|
-
const fileName = this.kebabCase(name) +
|
|
59
|
-
const filePath = path.join(process.cwd(), 'src', 'controllers', fileName);
|
|
74
|
+
const className = this.capitalize(name) + "Controller";
|
|
75
|
+
const fileName = this.kebabCase(name) + ".controller.ts";
|
|
60
76
|
|
|
61
|
-
|
|
77
|
+
// Use tsconfig rootDir or default to 'src'
|
|
78
|
+
const srcDir = TsConfigUtils.getRootDir();
|
|
79
|
+
const relativeSrc = path.relative(process.cwd(), srcDir);
|
|
80
|
+
const filePath = path.join(srcDir, "controllers", fileName);
|
|
81
|
+
|
|
82
|
+
const content = `import { Controller, Get, Post, Put, Delete, Body, Param, Autowired } from 'fragment-ts';
|
|
62
83
|
|
|
63
84
|
@Controller('/${this.kebabCase(name)}')
|
|
64
85
|
export class ${className} {
|
|
86
|
+
// @Autowired()
|
|
87
|
+
// private ${this.camelCase(name)}Service!: any;
|
|
88
|
+
|
|
65
89
|
@Get()
|
|
66
90
|
findAll() {
|
|
67
91
|
return [];
|
|
@@ -93,18 +117,23 @@ export class ${className} {
|
|
|
93
117
|
await fs.writeFile(filePath, content);
|
|
94
118
|
}
|
|
95
119
|
|
|
96
|
-
private static async generateService(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
120
|
+
private static async generateService(
|
|
121
|
+
name: string,
|
|
122
|
+
withRepository: boolean,
|
|
123
|
+
): Promise<void> {
|
|
124
|
+
const className = this.capitalize(name) + "Service";
|
|
125
|
+
const fileName = this.kebabCase(name) + ".service.ts";
|
|
126
|
+
|
|
127
|
+
const srcDir = TsConfigUtils.getRootDir();
|
|
128
|
+
const filePath = path.join(srcDir, "services", fileName);
|
|
129
|
+
|
|
130
|
+
let imports = "import { Service, Autowired } from 'fragment-ts';\n";
|
|
131
|
+
let repositoryProp = "";
|
|
100
132
|
|
|
101
|
-
let imports = "import { Service } from 'fragment-ts';\n";
|
|
102
|
-
let repositoryProp = '';
|
|
103
|
-
|
|
104
133
|
if (withRepository) {
|
|
105
|
-
const repoName = this.capitalize(name) +
|
|
134
|
+
const repoName = this.capitalize(name) + "Repository";
|
|
106
135
|
imports += `import { ${repoName} } from '../repositories/${this.kebabCase(name)}.repository';\n`;
|
|
107
|
-
repositoryProp = `\n
|
|
136
|
+
repositoryProp = `\n @Autowired()\n private ${this.camelCase(name)}Repository!: ${repoName};\n`;
|
|
108
137
|
}
|
|
109
138
|
|
|
110
139
|
const content = `${imports}
|
|
@@ -134,7 +163,7 @@ export class ${className} {${repositoryProp}
|
|
|
134
163
|
|
|
135
164
|
await fs.ensureDir(path.dirname(filePath));
|
|
136
165
|
await fs.writeFile(filePath, content);
|
|
137
|
-
|
|
166
|
+
|
|
138
167
|
if (withRepository) {
|
|
139
168
|
await this.generateRepository(name);
|
|
140
169
|
}
|
|
@@ -149,10 +178,12 @@ export class ${className} {${repositoryProp}
|
|
|
149
178
|
|
|
150
179
|
private static async generateEntity(name: string): Promise<void> {
|
|
151
180
|
const className = this.capitalize(name);
|
|
152
|
-
const fileName = this.kebabCase(name) +
|
|
153
|
-
const filePath = path.join(process.cwd(), 'src', 'entities', fileName);
|
|
181
|
+
const fileName = this.kebabCase(name) + ".entity.ts";
|
|
154
182
|
|
|
155
|
-
const
|
|
183
|
+
const srcDir = TsConfigUtils.getRootDir();
|
|
184
|
+
const filePath = path.join(srcDir, "entities", fileName);
|
|
185
|
+
|
|
186
|
+
const content = `import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';
|
|
156
187
|
|
|
157
188
|
@Entity()
|
|
158
189
|
export class ${className} {
|
|
@@ -162,10 +193,10 @@ export class ${className} {
|
|
|
162
193
|
@Column()
|
|
163
194
|
name: string;
|
|
164
195
|
|
|
165
|
-
@
|
|
196
|
+
@CreateDateColumn()
|
|
166
197
|
createdAt: Date;
|
|
167
198
|
|
|
168
|
-
@
|
|
199
|
+
@UpdateDateColumn()
|
|
169
200
|
updatedAt: Date;
|
|
170
201
|
}
|
|
171
202
|
`;
|
|
@@ -175,9 +206,11 @@ export class ${className} {
|
|
|
175
206
|
}
|
|
176
207
|
|
|
177
208
|
private static async generateDto(name: string): Promise<void> {
|
|
178
|
-
const className =
|
|
179
|
-
const fileName =
|
|
180
|
-
|
|
209
|
+
const className = "Create" + this.capitalize(name) + "Dto";
|
|
210
|
+
const fileName = "create-" + this.kebabCase(name) + ".dto.ts";
|
|
211
|
+
|
|
212
|
+
const srcDir = TsConfigUtils.getRootDir();
|
|
213
|
+
const filePath = path.join(srcDir, "dto", fileName);
|
|
181
214
|
|
|
182
215
|
const content = `export class ${className} {
|
|
183
216
|
name: string;
|
|
@@ -189,34 +222,161 @@ export class ${className} {
|
|
|
189
222
|
}
|
|
190
223
|
|
|
191
224
|
private static async generateRepository(name: string): Promise<void> {
|
|
192
|
-
const className = this.capitalize(name) +
|
|
225
|
+
const className = this.capitalize(name) + "Repository";
|
|
193
226
|
const entityName = this.capitalize(name);
|
|
194
|
-
const fileName = this.kebabCase(name) +
|
|
195
|
-
const filePath = path.join(process.cwd(), 'src', 'repositories', fileName);
|
|
227
|
+
const fileName = this.kebabCase(name) + ".repository.ts";
|
|
196
228
|
|
|
197
|
-
const
|
|
229
|
+
const srcDir = TsConfigUtils.getRootDir();
|
|
230
|
+
const filePath = path.join(srcDir, "repositories", fileName);
|
|
231
|
+
|
|
232
|
+
const content = `import { Repository, InjectRepository } from 'fragment-ts';
|
|
198
233
|
import { ${entityName} } from '../entities/${this.kebabCase(name)}.entity';
|
|
234
|
+
import { Repository as TypeOrmRepository } from 'typeorm';
|
|
199
235
|
|
|
200
236
|
@Repository()
|
|
201
237
|
export class ${className} {
|
|
238
|
+
@InjectRepository(${entityName})
|
|
239
|
+
private repo!: TypeOrmRepository<${entityName}>;
|
|
240
|
+
|
|
202
241
|
async findAll(): Promise<${entityName}[]> {
|
|
203
|
-
return
|
|
242
|
+
return this.repo.find();
|
|
204
243
|
}
|
|
205
244
|
|
|
206
245
|
async findById(id: number): Promise<${entityName} | null> {
|
|
207
|
-
return
|
|
246
|
+
return this.repo.findOneBy({ id });
|
|
208
247
|
}
|
|
209
248
|
|
|
210
249
|
async create(data: Partial<${entityName}>): Promise<${entityName}> {
|
|
211
|
-
|
|
250
|
+
const entity = this.repo.create(data);
|
|
251
|
+
return this.repo.save(entity);
|
|
212
252
|
}
|
|
213
253
|
|
|
214
254
|
async update(id: number, data: Partial<${entityName}>): Promise<${entityName} | null> {
|
|
215
|
-
|
|
255
|
+
await this.repo.update(id, data);
|
|
256
|
+
return this.findById(id);
|
|
216
257
|
}
|
|
217
258
|
|
|
218
259
|
async delete(id: number): Promise<boolean> {
|
|
219
|
-
|
|
260
|
+
const result = await this.repo.delete(id);
|
|
261
|
+
return result.affected > 0;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
`;
|
|
265
|
+
|
|
266
|
+
await fs.ensureDir(path.dirname(filePath));
|
|
267
|
+
await fs.writeFile(filePath, content);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// New enhancement generators
|
|
271
|
+
private static async generateMiddleware(name: string): Promise<void> {
|
|
272
|
+
const className = this.capitalize(name) + "Middleware";
|
|
273
|
+
const fileName = this.kebabCase(name) + ".middleware.ts";
|
|
274
|
+
|
|
275
|
+
const srcDir = TsConfigUtils.getRootDir();
|
|
276
|
+
const filePath = path.join(srcDir, "middlewares", fileName);
|
|
277
|
+
|
|
278
|
+
const content = `import { Injectable } from 'fragment-ts';
|
|
279
|
+
import { Request, Response, NextFunction } from 'express';
|
|
280
|
+
|
|
281
|
+
@Injectable()
|
|
282
|
+
export class ${className} {
|
|
283
|
+
use(req: Request, res: Response, next: NextFunction): void {
|
|
284
|
+
console.log(\`📥 [Middleware] ${this.capitalize(name)} processing \${req.method} \${req.path}\`);
|
|
285
|
+
// Add your middleware logic here
|
|
286
|
+
|
|
287
|
+
next();
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
`;
|
|
291
|
+
|
|
292
|
+
await fs.ensureDir(path.dirname(filePath));
|
|
293
|
+
await fs.writeFile(filePath, content);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
private static async generateGuard(name: string): Promise<void> {
|
|
297
|
+
const className = this.capitalize(name) + "Guard";
|
|
298
|
+
const fileName = this.kebabCase(name) + ".guard.ts";
|
|
299
|
+
|
|
300
|
+
const srcDir = TsConfigUtils.getRootDir();
|
|
301
|
+
const filePath = path.join(srcDir, "guards", fileName);
|
|
302
|
+
|
|
303
|
+
const content = `import { Injectable } from 'fragment-ts';
|
|
304
|
+
import { Request } from 'express';
|
|
305
|
+
|
|
306
|
+
@Injectable()
|
|
307
|
+
export class ${className} {
|
|
308
|
+
canActivate(req: Request): boolean {
|
|
309
|
+
console.log(\`🛡️ [Guard] ${this.capitalize(name)} checking access for \${req.path}\`);
|
|
310
|
+
// Add your authorization logic here
|
|
311
|
+
// Return true to allow access, false to deny
|
|
312
|
+
|
|
313
|
+
return true; // TODO: Implement actual guard logic
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
`;
|
|
317
|
+
|
|
318
|
+
await fs.ensureDir(path.dirname(filePath));
|
|
319
|
+
await fs.writeFile(filePath, content);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
private static async generateInterceptor(name: string): Promise<void> {
|
|
323
|
+
const className = this.capitalize(name) + "Interceptor";
|
|
324
|
+
const fileName = this.kebabCase(name) + ".interceptor.ts";
|
|
325
|
+
|
|
326
|
+
const srcDir = TsConfigUtils.getRootDir();
|
|
327
|
+
const filePath = path.join(srcDir, "interceptors", fileName);
|
|
328
|
+
|
|
329
|
+
const content = `import { Injectable } from 'fragment-ts';
|
|
330
|
+
import { Request, Response } from 'express';
|
|
331
|
+
|
|
332
|
+
@Injectable()
|
|
333
|
+
export class ${className} {
|
|
334
|
+
intercept(req: Request, res: Response, result: any): any {
|
|
335
|
+
console.log(\`🔄 [Interceptor] ${this.capitalize(name)} transforming response for \${req.path}\`);
|
|
336
|
+
// Add your transformation logic here
|
|
337
|
+
// Return the modified result
|
|
338
|
+
|
|
339
|
+
return result; // TODO: Implement actual transformation logic
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
`;
|
|
343
|
+
|
|
344
|
+
await fs.ensureDir(path.dirname(filePath));
|
|
345
|
+
await fs.writeFile(filePath, content);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
private static async generateFilter(name: string): Promise<void> {
|
|
349
|
+
const className = this.capitalize(name) + "ExceptionFilter";
|
|
350
|
+
const fileName = this.kebabCase(name) + ".exception.filter.ts";
|
|
351
|
+
|
|
352
|
+
const srcDir = TsConfigUtils.getRootDir();
|
|
353
|
+
const filePath = path.join(srcDir, "filters", fileName);
|
|
354
|
+
|
|
355
|
+
const content = `import { Injectable } from 'fragment-ts';
|
|
356
|
+
import { Request, Response } from 'express';
|
|
357
|
+
|
|
358
|
+
@Injectable()
|
|
359
|
+
export class ${className} {
|
|
360
|
+
catch(exception: Error, req: Request, res: Response): void {
|
|
361
|
+
console.error(\`❌ [Exception Filter] ${this.capitalize(name)} handling error:\`, exception);
|
|
362
|
+
// Add your error handling logic here
|
|
363
|
+
|
|
364
|
+
// Example: Handle specific error types
|
|
365
|
+
if (exception.name === 'ValidationError') {
|
|
366
|
+
res.status(400).json({
|
|
367
|
+
statusCode: 400,
|
|
368
|
+
error: 'Bad Request',
|
|
369
|
+
message: exception.message
|
|
370
|
+
});
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
// Default error response
|
|
375
|
+
res.status(500).json({
|
|
376
|
+
statusCode: 500,
|
|
377
|
+
error: 'Internal Server Error',
|
|
378
|
+
message: process.env.NODE_ENV === 'development' ? exception.message : 'Something went wrong'
|
|
379
|
+
});
|
|
220
380
|
}
|
|
221
381
|
}
|
|
222
382
|
`;
|
|
@@ -230,10 +390,10 @@ export class ${className} {
|
|
|
230
390
|
}
|
|
231
391
|
|
|
232
392
|
private static kebabCase(str: string): string {
|
|
233
|
-
return str.replace(/([a-z])([A-Z])/g,
|
|
393
|
+
return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
|
|
234
394
|
}
|
|
235
395
|
|
|
236
396
|
private static camelCase(str: string): string {
|
|
237
397
|
return str.charAt(0).toLowerCase() + str.slice(1);
|
|
238
398
|
}
|
|
239
|
-
}
|
|
399
|
+
}
|