@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.
- package/lib/{Cli.js → cjs/Cli.js} +4 -2
- package/lib/cjs/Cli.js.map +1 -0
- package/lib/{bin → cjs/bin}/tsed.js +1 -1
- package/lib/cjs/bin/tsed.js.map +1 -0
- package/lib/{commands → cjs/commands}/add/AddCmd.js +0 -0
- package/lib/cjs/commands/add/AddCmd.js.map +1 -0
- package/lib/{commands → cjs/commands}/generate/GenerateCmd.js +3 -3
- package/lib/cjs/commands/generate/GenerateCmd.js.map +1 -0
- package/lib/{commands → cjs/commands}/generate/ProviderTypes.js +0 -0
- package/lib/cjs/commands/generate/ProviderTypes.js.map +1 -0
- package/lib/{commands → cjs/commands}/index.js +0 -0
- package/lib/cjs/commands/index.js.map +1 -0
- package/lib/{commands → cjs/commands}/init/InitCmd.js +0 -0
- package/lib/cjs/commands/init/InitCmd.js.map +1 -0
- package/lib/{commands → cjs/commands}/run/RunCmd.js +0 -0
- package/lib/cjs/commands/run/RunCmd.js.map +1 -0
- package/lib/{commands → cjs/commands}/update/UpdateCmd.js +0 -0
- package/lib/cjs/commands/update/UpdateCmd.js.map +1 -0
- package/lib/cjs/constants/index.js +18 -0
- package/lib/cjs/constants/index.js.map +1 -0
- package/lib/{index.js → cjs/index.js} +0 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/{interfaces → cjs/interfaces}/ArchitectureConvention.js +0 -0
- package/lib/cjs/interfaces/ArchitectureConvention.js.map +1 -0
- package/lib/{interfaces → cjs/interfaces}/ProjectConvention.js +0 -0
- package/lib/cjs/interfaces/ProjectConvention.js.map +1 -0
- package/lib/{interfaces → cjs/interfaces}/index.js +0 -0
- package/lib/cjs/interfaces/index.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/{pipes → cjs/pipes}/ClassNamePipe.js +0 -0
- package/lib/cjs/pipes/ClassNamePipe.js.map +1 -0
- package/lib/{pipes → cjs/pipes}/OutputFilePathPipe.js +0 -0
- package/lib/cjs/pipes/OutputFilePathPipe.js.map +1 -0
- package/lib/{pipes → cjs/pipes}/RoutePipe.js +0 -0
- package/lib/cjs/pipes/RoutePipe.js.map +1 -0
- package/lib/{pipes → cjs/pipes}/index.js +0 -0
- package/lib/cjs/pipes/index.js.map +1 -0
- package/lib/{services → cjs/services}/Features.js +0 -0
- package/lib/cjs/services/Features.js.map +1 -0
- package/lib/{services → cjs/services}/ProvidersInfoService.js +0 -0
- package/lib/cjs/services/ProvidersInfoService.js.map +1 -0
- package/lib/esm/Cli.js +44 -0
- package/lib/esm/Cli.js.map +1 -0
- package/lib/esm/bin/tsed.js +22 -0
- package/lib/esm/bin/tsed.js.map +1 -0
- package/lib/esm/commands/add/AddCmd.js +58 -0
- package/lib/esm/commands/add/AddCmd.js.map +1 -0
- package/lib/esm/commands/generate/GenerateCmd.js +239 -0
- package/lib/esm/commands/generate/GenerateCmd.js.map +1 -0
- package/lib/esm/commands/generate/ProviderTypes.js +104 -0
- package/lib/esm/commands/generate/ProviderTypes.js.map +1 -0
- package/lib/esm/commands/index.js +7 -0
- package/lib/esm/commands/index.js.map +1 -0
- package/lib/esm/commands/init/InitCmd.js +371 -0
- package/lib/esm/commands/init/InitCmd.js.map +1 -0
- package/lib/esm/commands/run/RunCmd.js +65 -0
- package/lib/esm/commands/run/RunCmd.js.map +1 -0
- package/lib/esm/commands/update/UpdateCmd.js +116 -0
- package/lib/esm/commands/update/UpdateCmd.js.map +1 -0
- package/lib/esm/constants/index.js +14 -0
- package/lib/esm/constants/index.js.map +1 -0
- package/lib/esm/index.js +10 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/interfaces/ArchitectureConvention.js +6 -0
- package/lib/esm/interfaces/ArchitectureConvention.js.map +1 -0
- package/lib/esm/interfaces/ProjectConvention.js +6 -0
- package/lib/esm/interfaces/ProjectConvention.js.map +1 -0
- package/lib/esm/interfaces/index.js +3 -0
- package/lib/esm/interfaces/index.js.map +1 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/pipes/ClassNamePipe.js +42 -0
- package/lib/esm/pipes/ClassNamePipe.js.map +1 -0
- package/lib/esm/pipes/OutputFilePathPipe.js +36 -0
- package/lib/esm/pipes/OutputFilePathPipe.js.map +1 -0
- package/lib/esm/pipes/RoutePipe.js +23 -0
- package/lib/esm/pipes/RoutePipe.js.map +1 -0
- package/lib/esm/pipes/index.js +4 -0
- package/lib/esm/pipes/index.js.map +1 -0
- package/lib/esm/services/Features.js +520 -0
- package/lib/esm/services/Features.js.map +1 -0
- package/lib/esm/services/ProvidersInfoService.js +48 -0
- package/lib/esm/services/ProvidersInfoService.js.map +1 -0
- package/lib/{Cli.d.ts → types/Cli.d.ts} +0 -0
- package/lib/{bin → types/bin}/tsed.d.ts +0 -0
- package/lib/{commands → types/commands}/add/AddCmd.d.ts +0 -0
- package/lib/{commands → types/commands}/generate/GenerateCmd.d.ts +0 -0
- package/lib/{commands → types/commands}/generate/ProviderTypes.d.ts +0 -0
- package/lib/{commands → types/commands}/index.d.ts +0 -0
- package/lib/{commands → types/commands}/init/InitCmd.d.ts +0 -0
- package/lib/{commands → types/commands}/run/RunCmd.d.ts +0 -0
- package/lib/{commands → types/commands}/update/UpdateCmd.d.ts +0 -0
- package/lib/{constants → types/constants}/index.d.ts +1 -0
- package/lib/{index.d.ts → types/index.d.ts} +0 -0
- package/lib/{interfaces → types/interfaces}/ArchitectureConvention.d.ts +0 -0
- package/lib/{interfaces → types/interfaces}/ProjectConvention.d.ts +0 -0
- package/lib/{interfaces → types/interfaces}/index.d.ts +0 -0
- package/lib/{pipes → types/pipes}/ClassNamePipe.d.ts +0 -0
- package/lib/{pipes → types/pipes}/OutputFilePathPipe.d.ts +0 -0
- package/lib/{pipes → types/pipes}/RoutePipe.d.ts +0 -0
- package/lib/{pipes → types/pipes}/index.d.ts +0 -0
- package/lib/{services → types/services}/Features.d.ts +0 -0
- package/lib/{services → types/services}/ProvidersInfoService.d.ts +0 -0
- package/package.json +43 -28
- package/templates/generate/server.hbs +7 -8
- package/templates/init/src/config/index.ts.hbs +4 -4
- package/templates/init/src/config/logger/index.ts.hbs +1 -1
- package/lib/Cli.js.map +0 -1
- package/lib/bin/tsed.js.map +0 -1
- package/lib/commands/add/AddCmd.js.map +0 -1
- package/lib/commands/generate/GenerateCmd.js.map +0 -1
- package/lib/commands/generate/ProviderTypes.js.map +0 -1
- package/lib/commands/index.js.map +0 -1
- package/lib/commands/init/InitCmd.js.map +0 -1
- package/lib/commands/run/RunCmd.js.map +0 -1
- package/lib/commands/update/UpdateCmd.js.map +0 -1
- package/lib/constants/index.js +0 -10
- package/lib/constants/index.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/interfaces/ArchitectureConvention.js.map +0 -1
- package/lib/interfaces/ProjectConvention.js.map +0 -1
- package/lib/interfaces/index.js.map +0 -1
- package/lib/pipes/ClassNamePipe.js.map +0 -1
- package/lib/pipes/OutputFilePathPipe.js.map +0 -1
- package/lib/pipes/RoutePipe.js.map +0 -1
- package/lib/pipes/index.js.map +0 -1
- package/lib/services/Features.js.map +0 -1
- 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"]}
|
package/lib/esm/index.js
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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,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 @@
|
|
|
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"]}
|