@tsed/cli 3.20.16 → 3.21.0-rc.2

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.
Files changed (127) hide show
  1. package/lib/{Cli.js → cjs/Cli.js} +4 -2
  2. package/lib/cjs/Cli.js.map +1 -0
  3. package/lib/{bin → cjs/bin}/tsed.js +1 -1
  4. package/lib/cjs/bin/tsed.js.map +1 -0
  5. package/lib/{commands → cjs/commands}/add/AddCmd.js +0 -0
  6. package/lib/cjs/commands/add/AddCmd.js.map +1 -0
  7. package/lib/{commands → cjs/commands}/generate/GenerateCmd.js +3 -3
  8. package/lib/cjs/commands/generate/GenerateCmd.js.map +1 -0
  9. package/lib/{commands → cjs/commands}/generate/ProviderTypes.js +0 -0
  10. package/lib/cjs/commands/generate/ProviderTypes.js.map +1 -0
  11. package/lib/{commands → cjs/commands}/index.js +0 -0
  12. package/lib/cjs/commands/index.js.map +1 -0
  13. package/lib/{commands → cjs/commands}/init/InitCmd.js +0 -0
  14. package/lib/cjs/commands/init/InitCmd.js.map +1 -0
  15. package/lib/{commands → cjs/commands}/run/RunCmd.js +0 -0
  16. package/lib/cjs/commands/run/RunCmd.js.map +1 -0
  17. package/lib/{commands → cjs/commands}/update/UpdateCmd.js +0 -0
  18. package/lib/cjs/commands/update/UpdateCmd.js.map +1 -0
  19. package/lib/cjs/constants/index.js +18 -0
  20. package/lib/cjs/constants/index.js.map +1 -0
  21. package/lib/{index.js → cjs/index.js} +0 -0
  22. package/lib/cjs/index.js.map +1 -0
  23. package/lib/{interfaces → cjs/interfaces}/ArchitectureConvention.js +0 -0
  24. package/lib/cjs/interfaces/ArchitectureConvention.js.map +1 -0
  25. package/lib/{interfaces → cjs/interfaces}/ProjectConvention.js +0 -0
  26. package/lib/cjs/interfaces/ProjectConvention.js.map +1 -0
  27. package/lib/{interfaces → cjs/interfaces}/index.js +0 -0
  28. package/lib/cjs/interfaces/index.js.map +1 -0
  29. package/lib/cjs/package.json +3 -0
  30. package/lib/{pipes → cjs/pipes}/ClassNamePipe.js +0 -0
  31. package/lib/cjs/pipes/ClassNamePipe.js.map +1 -0
  32. package/lib/{pipes → cjs/pipes}/OutputFilePathPipe.js +0 -0
  33. package/lib/cjs/pipes/OutputFilePathPipe.js.map +1 -0
  34. package/lib/{pipes → cjs/pipes}/RoutePipe.js +0 -0
  35. package/lib/cjs/pipes/RoutePipe.js.map +1 -0
  36. package/lib/{pipes → cjs/pipes}/index.js +0 -0
  37. package/lib/cjs/pipes/index.js.map +1 -0
  38. package/lib/{services → cjs/services}/Features.js +0 -0
  39. package/lib/cjs/services/Features.js.map +1 -0
  40. package/lib/{services → cjs/services}/ProvidersInfoService.js +0 -0
  41. package/lib/cjs/services/ProvidersInfoService.js.map +1 -0
  42. package/lib/esm/Cli.js +44 -0
  43. package/lib/esm/Cli.js.map +1 -0
  44. package/lib/esm/bin/tsed.js +22 -0
  45. package/lib/esm/bin/tsed.js.map +1 -0
  46. package/lib/esm/commands/add/AddCmd.js +58 -0
  47. package/lib/esm/commands/add/AddCmd.js.map +1 -0
  48. package/lib/esm/commands/generate/GenerateCmd.js +239 -0
  49. package/lib/esm/commands/generate/GenerateCmd.js.map +1 -0
  50. package/lib/esm/commands/generate/ProviderTypes.js +104 -0
  51. package/lib/esm/commands/generate/ProviderTypes.js.map +1 -0
  52. package/lib/esm/commands/index.js +7 -0
  53. package/lib/esm/commands/index.js.map +1 -0
  54. package/lib/esm/commands/init/InitCmd.js +371 -0
  55. package/lib/esm/commands/init/InitCmd.js.map +1 -0
  56. package/lib/esm/commands/run/RunCmd.js +65 -0
  57. package/lib/esm/commands/run/RunCmd.js.map +1 -0
  58. package/lib/esm/commands/update/UpdateCmd.js +116 -0
  59. package/lib/esm/commands/update/UpdateCmd.js.map +1 -0
  60. package/lib/esm/constants/index.js +14 -0
  61. package/lib/esm/constants/index.js.map +1 -0
  62. package/lib/esm/index.js +10 -0
  63. package/lib/esm/index.js.map +1 -0
  64. package/lib/esm/interfaces/ArchitectureConvention.js +6 -0
  65. package/lib/esm/interfaces/ArchitectureConvention.js.map +1 -0
  66. package/lib/esm/interfaces/ProjectConvention.js +6 -0
  67. package/lib/esm/interfaces/ProjectConvention.js.map +1 -0
  68. package/lib/esm/interfaces/index.js +3 -0
  69. package/lib/esm/interfaces/index.js.map +1 -0
  70. package/lib/esm/package.json +3 -0
  71. package/lib/esm/pipes/ClassNamePipe.js +42 -0
  72. package/lib/esm/pipes/ClassNamePipe.js.map +1 -0
  73. package/lib/esm/pipes/OutputFilePathPipe.js +36 -0
  74. package/lib/esm/pipes/OutputFilePathPipe.js.map +1 -0
  75. package/lib/esm/pipes/RoutePipe.js +23 -0
  76. package/lib/esm/pipes/RoutePipe.js.map +1 -0
  77. package/lib/esm/pipes/index.js +4 -0
  78. package/lib/esm/pipes/index.js.map +1 -0
  79. package/lib/esm/services/Features.js +520 -0
  80. package/lib/esm/services/Features.js.map +1 -0
  81. package/lib/esm/services/ProvidersInfoService.js +48 -0
  82. package/lib/esm/services/ProvidersInfoService.js.map +1 -0
  83. package/lib/{Cli.d.ts → types/Cli.d.ts} +0 -0
  84. package/lib/{bin → types/bin}/tsed.d.ts +0 -0
  85. package/lib/{commands → types/commands}/add/AddCmd.d.ts +0 -0
  86. package/lib/{commands → types/commands}/generate/GenerateCmd.d.ts +0 -0
  87. package/lib/{commands → types/commands}/generate/ProviderTypes.d.ts +0 -0
  88. package/lib/{commands → types/commands}/index.d.ts +0 -0
  89. package/lib/{commands → types/commands}/init/InitCmd.d.ts +0 -0
  90. package/lib/{commands → types/commands}/run/RunCmd.d.ts +0 -0
  91. package/lib/{commands → types/commands}/update/UpdateCmd.d.ts +0 -0
  92. package/lib/{constants → types/constants}/index.d.ts +1 -0
  93. package/lib/{index.d.ts → types/index.d.ts} +0 -0
  94. package/lib/{interfaces → types/interfaces}/ArchitectureConvention.d.ts +0 -0
  95. package/lib/{interfaces → types/interfaces}/ProjectConvention.d.ts +0 -0
  96. package/lib/{interfaces → types/interfaces}/index.d.ts +0 -0
  97. package/lib/{pipes → types/pipes}/ClassNamePipe.d.ts +0 -0
  98. package/lib/{pipes → types/pipes}/OutputFilePathPipe.d.ts +0 -0
  99. package/lib/{pipes → types/pipes}/RoutePipe.d.ts +0 -0
  100. package/lib/{pipes → types/pipes}/index.d.ts +0 -0
  101. package/lib/{services → types/services}/Features.d.ts +0 -0
  102. package/lib/{services → types/services}/ProvidersInfoService.d.ts +0 -0
  103. package/package.json +43 -28
  104. package/templates/generate/server.hbs +7 -8
  105. package/templates/init/src/config/index.ts.hbs +4 -4
  106. package/templates/init/src/config/logger/index.ts.hbs +1 -1
  107. package/lib/Cli.js.map +0 -1
  108. package/lib/bin/tsed.js.map +0 -1
  109. package/lib/commands/add/AddCmd.js.map +0 -1
  110. package/lib/commands/generate/GenerateCmd.js.map +0 -1
  111. package/lib/commands/generate/ProviderTypes.js.map +0 -1
  112. package/lib/commands/index.js.map +0 -1
  113. package/lib/commands/init/InitCmd.js.map +0 -1
  114. package/lib/commands/run/RunCmd.js.map +0 -1
  115. package/lib/commands/update/UpdateCmd.js.map +0 -1
  116. package/lib/constants/index.js +0 -10
  117. package/lib/constants/index.js.map +0 -1
  118. package/lib/index.js.map +0 -1
  119. package/lib/interfaces/ArchitectureConvention.js.map +0 -1
  120. package/lib/interfaces/ProjectConvention.js.map +0 -1
  121. package/lib/interfaces/index.js.map +0 -1
  122. package/lib/pipes/ClassNamePipe.js.map +0 -1
  123. package/lib/pipes/OutputFilePathPipe.js.map +0 -1
  124. package/lib/pipes/RoutePipe.js.map +0 -1
  125. package/lib/pipes/index.js.map +0 -1
  126. package/lib/services/Features.js.map +0 -1
  127. package/lib/services/ProvidersInfoService.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AACnC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,WAAW,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,WAAW,EAAE,CAAC;AAE9B,MAAM,EAAC,IAAI,EAAE,WAAW,EAAC,GAAG,SAAS,CAAC,IAAI,CAAC;IACzC,GAAG,EAAE,GAAG;CACT,CAAE,CAAC;AAEJ,MAAM,CAAC,MAAM,GAAG,GAAG,WAAW,CAAC;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,WAAW,GAAmB,KAAK,CAAC,CAAC,eAAe;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC","sourcesContent":["import {dirname, join} from \"path\";\nimport readPkgUp from \"read-pkg-up\";\nimport filedirname from \"filedirname\";\n\nconst [, dir] = filedirname();\n\nconst {path, packageJson} = readPkgUp.sync({\n cwd: dir\n})!;\n\nexport const PKG = packageJson;\nexport const MINIMAL_TSED_VERSION = \"6\";\nexport const DEFAULT_TSED_TAGS = \"latest\";\nexport const IGNORE_VERSIONS = [\"6.0.0\"];\nexport const IGNORE_TAGS: false | RegExp = false; // /alpha|beta/\nexport const TEMPLATE_DIR = join(dirname(path), \"templates\");\n"]}
@@ -0,0 +1,10 @@
1
+ export * from "./commands/add/AddCmd.js";
2
+ export * from "./commands/init/InitCmd.js";
3
+ export * from "./commands/generate/GenerateCmd.js";
4
+ export * from "./commands/update/UpdateCmd.js";
5
+ export * from "./interfaces.js";
6
+ export * from "./services/ProvidersInfoService.js";
7
+ export * from "./services/Features.js";
8
+ export * from "./pipes.js";
9
+ export * from "./constants.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC","sourcesContent":["export * from \"./commands/add/AddCmd\";\nexport * from \"./commands/init/InitCmd\";\nexport * from \"./commands/generate/GenerateCmd\";\nexport * from \"./commands/update/UpdateCmd\";\nexport * from \"./interfaces\";\nexport * from \"./services/ProvidersInfoService\";\nexport * from \"./services/Features\";\nexport * from \"./pipes\";\nexport * from \"./constants\";\n"]}
@@ -0,0 +1,6 @@
1
+ export var ArchitectureConvention;
2
+ (function (ArchitectureConvention) {
3
+ ArchitectureConvention["DEFAULT"] = "default";
4
+ ArchitectureConvention["FEATURE"] = "feature";
5
+ })(ArchitectureConvention || (ArchitectureConvention = {}));
6
+ //# sourceMappingURL=ArchitectureConvention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArchitectureConvention.js","sourceRoot":"","sources":["../../../src/interfaces/ArchitectureConvention.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6CAAmB,CAAA;IACnB,6CAAmB,CAAA;AACrB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC","sourcesContent":["export enum ArchitectureConvention {\n DEFAULT = \"default\",\n FEATURE = \"feature\"\n}\n\ndeclare global {\n namespace TsED {\n interface ProjectPreferences {\n architecture: ArchitectureConvention;\n }\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export var ProjectConvention;
2
+ (function (ProjectConvention) {
3
+ ProjectConvention["DEFAULT"] = "default";
4
+ ProjectConvention["ANGULAR"] = "angular";
5
+ })(ProjectConvention || (ProjectConvention = {}));
6
+ //# sourceMappingURL=ProjectConvention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectConvention.js","sourceRoot":"","sources":["../../../src/interfaces/ProjectConvention.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;AACrB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B","sourcesContent":["export enum ProjectConvention {\n DEFAULT = \"default\",\n ANGULAR = \"angular\"\n}\n\ndeclare global {\n namespace TsED {\n interface ProjectPreferences {\n convention: ProjectConvention;\n }\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export * from "./ProjectConvention.js";
2
+ export * from "./ArchitectureConvention.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC","sourcesContent":["export * from \"./ProjectConvention\";\nexport * from \"./ArchitectureConvention\";\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,42 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Injectable, ProjectPackageJson } from "@tsed/cli-core";
3
+ import { Inject } from "@tsed/di";
4
+ import { paramCase, pascalCase } from "change-case";
5
+ import { basename } from "path";
6
+ import { ProvidersInfoService } from "../services/ProvidersInfoService.js";
7
+ import { ProjectConvention } from "../interfaces/ProjectConvention.js";
8
+ let ClassNamePipe = class ClassNamePipe {
9
+ transform(options) {
10
+ var _a;
11
+ const format = options.format || this.projectPackageJson.preferences.convention || ProjectConvention.DEFAULT;
12
+ const meta = ((_a = this.providers.get(options.type)) === null || _a === void 0 ? void 0 : _a.model) || "{{symbolName}}.{{symbolType}}?";
13
+ const type = options.type.split(":").at(-1);
14
+ const symbolName = paramCase(basename(options.name)).replace(`-${type}`, "");
15
+ const names = meta.split(".").reduce((acc, key) => {
16
+ return key
17
+ .replace(/{{symbolName}}/gi, symbolName)
18
+ .replace(/{{symbolType}}/gi, type)
19
+ .split(".")
20
+ .filter((value) => (format === ProjectConvention.DEFAULT ? !value.endsWith("?") : true))
21
+ .map((value) => value.replace(/\?$/, "").toLowerCase())
22
+ .reduce((acc, value) => acc.add(value), acc);
23
+ }, new Set());
24
+ if (format === ProjectConvention.DEFAULT) {
25
+ return pascalCase([...names].join("."));
26
+ }
27
+ return [...names].join(".").toLowerCase();
28
+ }
29
+ };
30
+ __decorate([
31
+ Inject(),
32
+ __metadata("design:type", ProvidersInfoService)
33
+ ], ClassNamePipe.prototype, "providers", void 0);
34
+ __decorate([
35
+ Inject(),
36
+ __metadata("design:type", ProjectPackageJson)
37
+ ], ClassNamePipe.prototype, "projectPackageJson", void 0);
38
+ ClassNamePipe = __decorate([
39
+ Injectable()
40
+ ], ClassNamePipe);
41
+ export { ClassNamePipe };
42
+ //# sourceMappingURL=ClassNamePipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClassNamePipe.js","sourceRoot":"","sources":["../../../src/pipes/ClassNamePipe.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,aAAa,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAC,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAGlE,IAAa,aAAa,GAA1B,MAAa,aAAa;IAOxB,SAAS,CAAC,OAAiE;;QACzE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,IAAI,iBAAiB,CAAC,OAAO,CAAC;QAE7G,MAAM,IAAI,GAAG,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,0CAAE,KAAK,KAAI,gCAAgC,CAAC;QACzF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAgB,EAAE,GAAW,EAAE,EAAE;YACrE,OAAO,GAAG;iBACP,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC;iBACvC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC;iBACjC,KAAK,CAAC,GAAG,CAAC;iBACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACvF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;iBACtD,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAEd,IAAI,MAAM,KAAK,iBAAiB,CAAC,OAAO,EAAE;YACxC,OAAO,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACzC;QAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;CACF,CAAA;AA5BC;IADC,MAAM,EAAE;8BACE,oBAAoB;gDAAC;AAGhC;IADC,MAAM,EAAE;8BACW,kBAAkB;yDAAC;AAL5B,aAAa;IADzB,UAAU,EAAE;GACA,aAAa,CA8BzB;SA9BY,aAAa","sourcesContent":["import {Injectable, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {paramCase, pascalCase} from \"change-case\";\nimport {basename} from \"path\";\nimport {ProvidersInfoService} from \"../services/ProvidersInfoService\";\nimport {ProjectConvention} from \"../interfaces/ProjectConvention\";\n\n@Injectable()\nexport class ClassNamePipe {\n @Inject()\n providers: ProvidersInfoService;\n\n @Inject()\n projectPackageJson: ProjectPackageJson;\n\n transform(options: {name: string; type: string; format?: ProjectConvention}) {\n const format = options.format || this.projectPackageJson.preferences.convention || ProjectConvention.DEFAULT;\n\n const meta = this.providers.get(options.type)?.model || \"{{symbolName}}.{{symbolType}}?\";\n const type = options.type.split(\":\").at(-1)!;\n const symbolName = paramCase(basename(options.name)).replace(`-${type}`, \"\");\n\n const names = meta.split(\".\").reduce((acc: Set<string>, key: string) => {\n return key\n .replace(/{{symbolName}}/gi, symbolName)\n .replace(/{{symbolType}}/gi, type)\n .split(\".\")\n .filter((value) => (format === ProjectConvention.DEFAULT ? !value.endsWith(\"?\") : true))\n .map((value) => value.replace(/\\?$/, \"\").toLowerCase())\n .reduce((acc, value) => acc.add(value), acc);\n }, new Set());\n\n if (format === ProjectConvention.DEFAULT) {\n return pascalCase([...names].join(\".\"));\n }\n\n return [...names].join(\".\").toLowerCase();\n }\n}\n"]}
@@ -0,0 +1,36 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Injectable, ProjectPackageJson } from "@tsed/cli-core";
3
+ import { Inject } from "@tsed/di";
4
+ import { dirname, join } from "path";
5
+ import { ProvidersInfoService } from "../services/ProvidersInfoService.js";
6
+ import { ClassNamePipe } from "./ClassNamePipe.js";
7
+ import { ProjectConvention, ArchitectureConvention } from "../interfaces.js";
8
+ let OutputFilePathPipe = class OutputFilePathPipe {
9
+ constructor(classNamePipe) {
10
+ this.classNamePipe = classNamePipe;
11
+ }
12
+ transform(options) {
13
+ var _a;
14
+ options.format = options.format || this.projectPackageJson.preferences.convention || ProjectConvention.DEFAULT;
15
+ const featureDir = dirname(options.name);
16
+ if (options.type === "server" || this.projectPackageJson.preferences.architecture === ArchitectureConvention.FEATURE) {
17
+ return join(options.subDir || "", featureDir, this.classNamePipe.transform(options));
18
+ }
19
+ const baseDir = (options.baseDir || ((_a = this.providers.get(options.type)) === null || _a === void 0 ? void 0 : _a.baseDir) || `${options.type}s`).split(":").at(-1);
20
+ return join(baseDir, options.subDir || "", featureDir, this.classNamePipe.transform(options));
21
+ }
22
+ };
23
+ __decorate([
24
+ Inject(),
25
+ __metadata("design:type", ProvidersInfoService)
26
+ ], OutputFilePathPipe.prototype, "providers", void 0);
27
+ __decorate([
28
+ Inject(),
29
+ __metadata("design:type", ProjectPackageJson)
30
+ ], OutputFilePathPipe.prototype, "projectPackageJson", void 0);
31
+ OutputFilePathPipe = __decorate([
32
+ Injectable(),
33
+ __metadata("design:paramtypes", [ClassNamePipe])
34
+ ], OutputFilePathPipe);
35
+ export { OutputFilePathPipe };
36
+ //# sourceMappingURL=OutputFilePathPipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputFilePathPipe.js","sourceRoot":"","sources":["../../../src/pipes/OutputFilePathPipe.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AACnC,OAAO,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAGxE,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAO7B,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAEpD,SAAS,CAAC,OAAoG;;QAC5G,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,IAAI,iBAAiB,CAAC,OAAO,CAAC;QAE/G,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,YAAY,KAAK,sBAAsB,CAAC,OAAO,EAAE;YACpH,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;SACtF;QAED,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,KAAI,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,0CAAE,OAAO,CAAA,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvH,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChG,CAAC;CACF,CAAA;AApBC;IADC,MAAM,EAAE;8BACE,oBAAoB;qDAAC;AAGhC;IADC,MAAM,EAAE;8BACW,kBAAkB;8DAAC;AAL5B,kBAAkB;IAD9B,UAAU,EAAE;qCAQwB,aAAa;GAPrC,kBAAkB,CAsB9B;SAtBY,kBAAkB","sourcesContent":["import {Injectable, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {dirname, join} from \"path\";\nimport {ProvidersInfoService} from \"../services/ProvidersInfoService\";\nimport {ClassNamePipe} from \"./ClassNamePipe\";\nimport {ProjectConvention, ArchitectureConvention} from \"../interfaces\";\n\n@Injectable()\nexport class OutputFilePathPipe {\n @Inject()\n providers: ProvidersInfoService;\n\n @Inject()\n projectPackageJson: ProjectPackageJson;\n\n constructor(private classNamePipe: ClassNamePipe) {}\n\n transform(options: {name: string; type: string; subDir?: string; baseDir?: string; format?: ProjectConvention}) {\n options.format = options.format || this.projectPackageJson.preferences.convention || ProjectConvention.DEFAULT;\n\n const featureDir = dirname(options.name);\n\n if (options.type === \"server\" || this.projectPackageJson.preferences.architecture === ArchitectureConvention.FEATURE) {\n return join(options.subDir || \"\", featureDir, this.classNamePipe.transform(options));\n }\n\n const baseDir = (options.baseDir || this.providers.get(options.type)?.baseDir || `${options.type}s`).split(\":\").at(-1);\n\n return join(baseDir, options.subDir || \"\", featureDir, this.classNamePipe.transform(options));\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from "@tsed/cli-core";
3
+ import { paramCase } from "change-case";
4
+ let RoutePipe = class RoutePipe {
5
+ transform(route) {
6
+ const r = route
7
+ .split("/")
8
+ .reduce((paths, path) => {
9
+ const word = paramCase(path);
10
+ if (paths.includes(`${word}s`) || paths.includes(word)) {
11
+ return paths;
12
+ }
13
+ return [...paths, paramCase(path)];
14
+ }, [])
15
+ .join("/");
16
+ return `/${r}`.replace(/\/\//gi, "/");
17
+ }
18
+ };
19
+ RoutePipe = __decorate([
20
+ Injectable()
21
+ ], RoutePipe);
22
+ export { RoutePipe };
23
+ //# sourceMappingURL=RoutePipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutePipe.js","sourceRoot":"","sources":["../../../src/pipes/RoutePipe.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAGtC,IAAa,SAAS,GAAtB,MAAa,SAAS;IACpB,SAAS,CAAC,KAAa;QACrB,MAAM,CAAC,GAAG,KAAK;aACZ,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,KAAe,EAAE,IAAI,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAE7B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtD,OAAO,KAAK,CAAC;aACd;YAED,OAAO,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC,EAAE,EAAE,CAAC;aACL,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;CACF,CAAA;AAjBY,SAAS;IADrB,UAAU,EAAE;GACA,SAAS,CAiBrB;SAjBY,SAAS","sourcesContent":["import {Injectable} from \"@tsed/cli-core\";\nimport {paramCase} from \"change-case\";\n\n@Injectable()\nexport class RoutePipe {\n transform(route: string) {\n const r = route\n .split(\"/\")\n .reduce((paths: string[], path) => {\n const word = paramCase(path);\n\n if (paths.includes(`${word}s`) || paths.includes(word)) {\n return paths;\n }\n\n return [...paths, paramCase(path)];\n }, [])\n .join(\"/\");\n\n return `/${r}`.replace(/\\/\\//gi, \"/\");\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export * from "./ClassNamePipe.js";
2
+ export * from "./OutputFilePathPipe.js";
3
+ export * from "./RoutePipe.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC","sourcesContent":["export * from \"./ClassNamePipe\";\nexport * from \"./OutputFilePathPipe\";\nexport * from \"./RoutePipe\";\n"]}