@tsed/cli-plugin-passport 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 (35) hide show
  1. package/lib/{CliPluginPassportModule.js → cjs/CliPluginPassportModule.js} +0 -0
  2. package/lib/cjs/CliPluginPassportModule.js.map +1 -0
  3. package/lib/{hooks → cjs/hooks}/PassportGenerateHook.js +0 -0
  4. package/lib/cjs/hooks/PassportGenerateHook.js.map +1 -0
  5. package/lib/{index.js → cjs/index.js} +1 -0
  6. package/lib/cjs/index.js.map +1 -0
  7. package/lib/cjs/package.json +3 -0
  8. package/lib/{services → cjs/services}/PassportClient.js +0 -0
  9. package/lib/cjs/services/PassportClient.js.map +1 -0
  10. package/lib/cjs/utils/templateDir.js +13 -0
  11. package/lib/cjs/utils/templateDir.js.map +1 -0
  12. package/lib/esm/CliPluginPassportModule.js +32 -0
  13. package/lib/esm/CliPluginPassportModule.js.map +1 -0
  14. package/lib/esm/hooks/PassportGenerateHook.js +106 -0
  15. package/lib/esm/hooks/PassportGenerateHook.js.map +1 -0
  16. package/lib/esm/index.js +6 -0
  17. package/lib/esm/index.js.map +1 -0
  18. package/lib/esm/package.json +3 -0
  19. package/lib/esm/services/PassportClient.js +20 -0
  20. package/lib/esm/services/PassportClient.js.map +1 -0
  21. package/lib/esm/utils/templateDir.js +9 -0
  22. package/lib/esm/utils/templateDir.js.map +1 -0
  23. package/lib/{CliPluginPassportModule.d.ts → types/CliPluginPassportModule.d.ts} +0 -0
  24. package/lib/{hooks → types/hooks}/PassportGenerateHook.d.ts +0 -0
  25. package/lib/{index.d.ts → types/index.d.ts} +1 -0
  26. package/lib/{services → types/services}/PassportClient.d.ts +0 -0
  27. package/lib/{utils → types/utils}/templateDir.d.ts +0 -0
  28. package/package.json +22 -10
  29. package/tsconfig.compile.esm.json +21 -0
  30. package/lib/CliPluginPassportModule.js.map +0 -1
  31. package/lib/hooks/PassportGenerateHook.js.map +0 -1
  32. package/lib/index.js.map +0 -1
  33. package/lib/services/PassportClient.js.map +0 -1
  34. package/lib/utils/templateDir.js +0 -6
  35. package/lib/utils/templateDir.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliPluginPassportModule.js","sourceRoot":"","sources":["../../src/CliPluginPassportModule.ts"],"names":[],"mappings":";;;;AAAA,6CAAiE;AACjE,iCAAgC;AAChC,uEAAkE;AAKlE,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAKlC,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC;YAC/D,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,iBAAiB,EAAE,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAbC;IADC,IAAA,WAAM,GAAE;sCACI,6BAAkB;4DAAC;AAGhC;IADC,IAAA,gBAAK,EAAC,2BAA2B,CAAC;;;;sDAUlC;AAdU,uBAAuB;IAHnC,IAAA,iBAAM,EAAC;QACN,OAAO,EAAE,CAAC,2CAAoB,CAAC;KAChC,CAAC;GACW,uBAAuB,CAenC;AAfY,0DAAuB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {PassportGenerateHook} from \"./hooks/PassportGenerateHook\";\n\n@Module({\n imports: [PassportGenerateHook]\n})\nexport class CliPluginPassportModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-passport\")\n install() {\n this.packageJson.addDependencies({\n \"@tsed/passport\": this.packageJson.dependencies[\"@tsed/common\"],\n passport: \"latest\"\n });\n\n this.packageJson.addDevDependencies({\n \"@types/passport\": \"latest\"\n });\n }\n}\n"]}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PassportGenerateHook.js","sourceRoot":"","sources":["../../../src/hooks/PassportGenerateHook.ts"],"names":[],"mappings":";;;;;AAAA,mCAAmE;AACnE,6CAAuG;AACvG,iCAAoC;AACpC,6CAAsC;AACtC,+DAA0D;AAC1D,sDAAkD;AAOlD,IAAa,oBAAoB,4BAAjC,MAAa,oBAAoB;IAY/B,YAAoB,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAC5D,oBAAoB,CAAC,GAAG,CACtB;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,yBAAyB;SACjC,EACD,sBAAoB,CACrB,CAAC;IACJ,CAAC;IAGD,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QAExD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,OAAO;gBACL,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE;gBAC1C,KAAK,EAAE,IAAI,CAAC,IAAI;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,0BAA0B;gBACnC,IAAI,CAAC,KAAU;oBACb,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,EAAE,KAAK,EAAE,KAAU,EAAE,OAAe,EAAE,EAAE;oBAC5C,IAAI,OAAO,EAAE;wBACX,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;qBACvF;oBAED,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAGD,cAAc,CAAC,GAA4B;QACzC,IAAI,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,sBAAoB,CAAC,EAAE;YAC1E,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,EAAC,eAAe,EAAE,UAAU,EAAC,GAAG,GAAG,CAAC;YAE1C,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;YAE5G,OAAO;gBACL;oBACE,KAAK,EAAE,YAAY,GAAG,CAAC,IAAI,aAAa,UAAU,MAAM;oBACxD,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE;wBACnE,MAAM,EAAE,GAAG,UAAU,KAAK;wBAC1B,WAAW,EAAE,0BAAY;qBAC1B,CAAC;iBACL;aACF,CAAC;SACH;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,UAAU,CAAC,OAAgC;QACjD,OAAO;YACL,GAAG,OAAO;YACV,YAAY,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,IAAI,CAAC;YACrC,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,eAAuB;QACzC,MAAM,QAAQ,GAAG,GAAG,eAAe,eAAe,CAAC;QAEnD,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAC,WAAW,EAAE,0BAAY,EAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACzH,CAAC;IAEO,yBAAyB,CAAC,eAAuB;;QACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAErF,OAAO,kBAAkB,CAAC,CAAC,CAAC,MAAA,kBAAkB,CAAC,WAAW,CAAC,0CAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,CAAC;CACF,CAAA;AA7FC;IADC,IAAA,iBAAM,GAAE;sCACW,6BAAkB;gEAAC;AAGvC;IADC,IAAA,iBAAM,GAAE;sCACS,6BAAkB;8DAAC;AAGrC;IADC,IAAA,iBAAM,GAAE;sCACO,+BAAc;4DAAC;AAgB/B;IADC,IAAA,mBAAQ,EAAC,UAAU,CAAC;;;;4DA4BpB;AAGD;IADC,IAAA,iBAAM,EAAC,UAAU,CAAC;;;;0DAqBlB;AA1EU,oBAAoB;IADhC,IAAA,eAAU,GAAE;6CAa+B,0BAAoB;GAZnD,oBAAoB,CA+FhC;AA/FY,oDAAoB","sourcesContent":["import {GenerateCmdContext, ProvidersInfoService} from \"@tsed/cli\";\nimport {Inject, OnExec, OnPrompt, ProjectPackageJson, SrcRendererService, Tasks} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {paramCase} from \"change-case\";\nimport {PassportClient} from \"../services/PassportClient\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\nexport interface PassportGenerateOptions extends GenerateCmdContext {\n passportPackage: string;\n}\n\n@Injectable()\nexport class PassportGenerateHook {\n @Inject()\n projectPackageJson: ProjectPackageJson;\n\n @Inject()\n srcRenderService: SrcRendererService;\n\n @Inject()\n passportClient: PassportClient;\n\n packages: any[];\n\n constructor(private providersInfoService: ProvidersInfoService) {\n providersInfoService.add(\n {\n name: \"Protocol\",\n value: \"protocol\",\n model: \"{{symbolName}}.protocol\"\n },\n PassportGenerateHook\n );\n }\n\n @OnPrompt(\"generate\")\n async onGeneratePrompt() {\n this.packages = await this.passportClient.getPackages();\n\n const list = this.packages.map((item) => {\n return {\n name: `${item.name} - ${item.description}`,\n value: item.name\n };\n });\n\n return [\n {\n type: \"autocomplete\",\n name: \"passportPackage\",\n message: \"Which passport package ?\",\n when(state: any) {\n return [\"protocol\"].includes(state.type);\n },\n source: async (state: any, keyword: string) => {\n if (keyword) {\n return list.filter((item) => item.name.toLowerCase().includes(keyword.toLowerCase()));\n }\n\n return list;\n }\n }\n ];\n }\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: PassportGenerateOptions): Tasks {\n if (this.providersInfoService.isMyProvider(ctx.type, PassportGenerateHook)) {\n ctx = this.mapOptions(ctx);\n const {passportPackage, symbolPath} = ctx;\n\n this.projectPackageJson.addDependency(ctx.passportPackage, this.getPassportPackageVersion(passportPackage));\n\n return [\n {\n title: `Generate ${ctx.type} file to '${symbolPath}.ts'`,\n task: () =>\n this.srcRenderService.render(this.getTemplate(passportPackage), ctx, {\n output: `${symbolPath}.ts`,\n templateDir: TEMPLATE_DIR\n })\n }\n ];\n }\n\n return [];\n }\n\n private mapOptions(options: PassportGenerateOptions) {\n return {\n ...options,\n protocolName: paramCase(options.name),\n passportPackage: options.passportPackage\n };\n }\n\n private getTemplate(passportPackage: string) {\n const template = `${passportPackage}.protocol.hbs`;\n\n return this.srcRenderService.templateExists(template, {templateDir: TEMPLATE_DIR}) ? template : \"generic.protocol.hbs\";\n }\n\n private getPassportPackageVersion(passportPackage: string) {\n const passportPkgDetails = this.packages.find((pkg) => pkg.name === passportPackage);\n\n return passportPkgDetails ? passportPkgDetails[\"dist-tags\"]?.latest : undefined;\n }\n}\n"]}
@@ -4,5 +4,6 @@ const tslib_1 = require("tslib");
4
4
  const CliPluginPassportModule_1 = require("./CliPluginPassportModule");
5
5
  tslib_1.__exportStar(require("./hooks/PassportGenerateHook"), exports);
6
6
  tslib_1.__exportStar(require("./services/PassportClient"), exports);
7
+ tslib_1.__exportStar(require("./utils/templateDir"), exports);
7
8
  exports.default = CliPluginPassportModule_1.CliPluginPassportModule;
8
9
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAElE,uEAA6C;AAC7C,oEAA0C;AAC1C,8DAAoC;AAEpC,kBAAe,iDAAuB,CAAC","sourcesContent":["import {CliPluginPassportModule} from \"./CliPluginPassportModule\";\n\nexport * from \"./hooks/PassportGenerateHook\";\nexport * from \"./services/PassportClient\";\nexport * from \"./utils/templateDir\";\n\nexport default CliPluginPassportModule;\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PassportClient.js","sourceRoot":"","sources":["../../../src/services/PassportClient.ts"],"names":[],"mappings":";;;;AAAA,6CAAiE;AAEjE,MAAM,IAAI,GAAG,oCAAoC,CAAC;AAGlD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAIzB,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAM,GAAG,IAAI,aAAa,EAAE,EAAE,CAAC,CAAC;QAExE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;YAC7C,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AATC;IADC,IAAA,iBAAM,EAAC,wBAAa,CAAC;sCACV,wBAAa;kDAAC;AAFf,cAAc;IAD1B,IAAA,qBAAU,GAAE;GACA,cAAc,CAW1B;AAXY,wCAAc","sourcesContent":["import {CliHttpClient, Inject, Injectable} from \"@tsed/cli-core\";\n\nconst HOST = \"http://www.passportjs.org/packages\";\n\n@Injectable()\nexport class PassportClient {\n @Inject(CliHttpClient)\n httpClient: CliHttpClient;\n\n async getPackages(): Promise<any[]> {\n const result = await this.httpClient.get<any>(`${HOST}/-/all.json`, {});\n\n return Object.values(result).filter((o: any) => {\n return o.name && o.name.startsWith(\"passport-\");\n });\n }\n}\n"]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TEMPLATE_DIR = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const read_pkg_up_1 = tslib_1.__importDefault(require("read-pkg-up"));
6
+ const path_1 = require("path");
7
+ const filedirname_1 = tslib_1.__importDefault(require("filedirname"));
8
+ const [, dir] = (0, filedirname_1.default)();
9
+ const { path } = read_pkg_up_1.default.sync({
10
+ cwd: dir
11
+ });
12
+ exports.TEMPLATE_DIR = (0, path_1.join)((0, path_1.dirname)(path), "templates");
13
+ //# sourceMappingURL=templateDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateDir.js","sourceRoot":"","sources":["../../../src/utils/templateDir.ts"],"names":[],"mappings":";;;;AAAA,sEAAoC;AACpC,+BAAmC;AACnC,sEAAsC;AACtC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,IAAA,qBAAW,GAAE,CAAC;AAE9B,MAAM,EAAC,IAAI,EAAC,GAAG,qBAAS,CAAC,IAAI,CAAC;IAC5B,GAAG,EAAE,GAAG;CACT,CAAE,CAAC;AAES,QAAA,YAAY,GAAG,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC","sourcesContent":["import readPkgUp from \"read-pkg-up\";\nimport {dirname, join} from \"path\";\nimport filedirname from \"filedirname\";\nconst [, dir] = filedirname();\n\nconst {path} = readPkgUp.sync({\n cwd: dir\n})!;\n\nexport const TEMPLATE_DIR = join(dirname(path), \"templates\");\n"]}
@@ -0,0 +1,32 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Module, OnAdd, ProjectPackageJson } from "@tsed/cli-core";
3
+ import { Inject } from "@tsed/di";
4
+ import { PassportGenerateHook } from "./hooks/PassportGenerateHook.js";
5
+ let CliPluginPassportModule = class CliPluginPassportModule {
6
+ install() {
7
+ this.packageJson.addDependencies({
8
+ "@tsed/passport": this.packageJson.dependencies["@tsed/common"],
9
+ passport: "latest"
10
+ });
11
+ this.packageJson.addDevDependencies({
12
+ "@types/passport": "latest"
13
+ });
14
+ }
15
+ };
16
+ __decorate([
17
+ Inject(),
18
+ __metadata("design:type", ProjectPackageJson)
19
+ ], CliPluginPassportModule.prototype, "packageJson", void 0);
20
+ __decorate([
21
+ OnAdd("@tsed/cli-plugin-passport"),
22
+ __metadata("design:type", Function),
23
+ __metadata("design:paramtypes", []),
24
+ __metadata("design:returntype", void 0)
25
+ ], CliPluginPassportModule.prototype, "install", null);
26
+ CliPluginPassportModule = __decorate([
27
+ Module({
28
+ imports: [PassportGenerateHook]
29
+ })
30
+ ], CliPluginPassportModule);
31
+ export { CliPluginPassportModule };
32
+ //# sourceMappingURL=CliPluginPassportModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliPluginPassportModule.js","sourceRoot":"","sources":["../../src/CliPluginPassportModule.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAKlE,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAKlC,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC;YAC/D,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,iBAAiB,EAAE,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAbC;IADC,MAAM,EAAE;8BACI,kBAAkB;4DAAC;AAGhC;IADC,KAAK,CAAC,2BAA2B,CAAC;;;;sDAUlC;AAdU,uBAAuB;IAHnC,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,oBAAoB,CAAC;KAChC,CAAC;GACW,uBAAuB,CAenC;SAfY,uBAAuB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {PassportGenerateHook} from \"./hooks/PassportGenerateHook\";\n\n@Module({\n imports: [PassportGenerateHook]\n})\nexport class CliPluginPassportModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-passport\")\n install() {\n this.packageJson.addDependencies({\n \"@tsed/passport\": this.packageJson.dependencies[\"@tsed/common\"],\n passport: \"latest\"\n });\n\n this.packageJson.addDevDependencies({\n \"@types/passport\": \"latest\"\n });\n }\n}\n"]}
@@ -0,0 +1,106 @@
1
+ var PassportGenerateHook_1;
2
+ import { __decorate, __metadata } from "tslib";
3
+ import { ProvidersInfoService } from "@tsed/cli";
4
+ import { Inject, OnExec, OnPrompt, ProjectPackageJson, SrcRendererService } from "@tsed/cli-core";
5
+ import { Injectable } from "@tsed/di";
6
+ import { paramCase } from "change-case";
7
+ import { PassportClient } from "../services/PassportClient.js";
8
+ import { TEMPLATE_DIR } from "../utils/templateDir.js";
9
+ let PassportGenerateHook = PassportGenerateHook_1 = class PassportGenerateHook {
10
+ constructor(providersInfoService) {
11
+ this.providersInfoService = providersInfoService;
12
+ providersInfoService.add({
13
+ name: "Protocol",
14
+ value: "protocol",
15
+ model: "{{symbolName}}.protocol"
16
+ }, PassportGenerateHook_1);
17
+ }
18
+ async onGeneratePrompt() {
19
+ this.packages = await this.passportClient.getPackages();
20
+ const list = this.packages.map((item) => {
21
+ return {
22
+ name: `${item.name} - ${item.description}`,
23
+ value: item.name
24
+ };
25
+ });
26
+ return [
27
+ {
28
+ type: "autocomplete",
29
+ name: "passportPackage",
30
+ message: "Which passport package ?",
31
+ when(state) {
32
+ return ["protocol"].includes(state.type);
33
+ },
34
+ source: async (state, keyword) => {
35
+ if (keyword) {
36
+ return list.filter((item) => item.name.toLowerCase().includes(keyword.toLowerCase()));
37
+ }
38
+ return list;
39
+ }
40
+ }
41
+ ];
42
+ }
43
+ onGenerateExec(ctx) {
44
+ if (this.providersInfoService.isMyProvider(ctx.type, PassportGenerateHook_1)) {
45
+ ctx = this.mapOptions(ctx);
46
+ const { passportPackage, symbolPath } = ctx;
47
+ this.projectPackageJson.addDependency(ctx.passportPackage, this.getPassportPackageVersion(passportPackage));
48
+ return [
49
+ {
50
+ title: `Generate ${ctx.type} file to '${symbolPath}.ts'`,
51
+ task: () => this.srcRenderService.render(this.getTemplate(passportPackage), ctx, {
52
+ output: `${symbolPath}.ts`,
53
+ templateDir: TEMPLATE_DIR
54
+ })
55
+ }
56
+ ];
57
+ }
58
+ return [];
59
+ }
60
+ mapOptions(options) {
61
+ return {
62
+ ...options,
63
+ protocolName: paramCase(options.name),
64
+ passportPackage: options.passportPackage
65
+ };
66
+ }
67
+ getTemplate(passportPackage) {
68
+ const template = `${passportPackage}.protocol.hbs`;
69
+ return this.srcRenderService.templateExists(template, { templateDir: TEMPLATE_DIR }) ? template : "generic.protocol.hbs";
70
+ }
71
+ getPassportPackageVersion(passportPackage) {
72
+ var _a;
73
+ const passportPkgDetails = this.packages.find((pkg) => pkg.name === passportPackage);
74
+ return passportPkgDetails ? (_a = passportPkgDetails["dist-tags"]) === null || _a === void 0 ? void 0 : _a.latest : undefined;
75
+ }
76
+ };
77
+ __decorate([
78
+ Inject(),
79
+ __metadata("design:type", ProjectPackageJson)
80
+ ], PassportGenerateHook.prototype, "projectPackageJson", void 0);
81
+ __decorate([
82
+ Inject(),
83
+ __metadata("design:type", SrcRendererService)
84
+ ], PassportGenerateHook.prototype, "srcRenderService", void 0);
85
+ __decorate([
86
+ Inject(),
87
+ __metadata("design:type", PassportClient)
88
+ ], PassportGenerateHook.prototype, "passportClient", void 0);
89
+ __decorate([
90
+ OnPrompt("generate"),
91
+ __metadata("design:type", Function),
92
+ __metadata("design:paramtypes", []),
93
+ __metadata("design:returntype", Promise)
94
+ ], PassportGenerateHook.prototype, "onGeneratePrompt", null);
95
+ __decorate([
96
+ OnExec("generate"),
97
+ __metadata("design:type", Function),
98
+ __metadata("design:paramtypes", [Object]),
99
+ __metadata("design:returntype", Array)
100
+ ], PassportGenerateHook.prototype, "onGenerateExec", null);
101
+ PassportGenerateHook = PassportGenerateHook_1 = __decorate([
102
+ Injectable(),
103
+ __metadata("design:paramtypes", [ProvidersInfoService])
104
+ ], PassportGenerateHook);
105
+ export { PassportGenerateHook };
106
+ //# sourceMappingURL=PassportGenerateHook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PassportGenerateHook.js","sourceRoot":"","sources":["../../../src/hooks/PassportGenerateHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {GenerateCmdContext, ProvidersInfoService} from \"@tsed/cli\";\nimport {Inject, OnExec, OnPrompt, ProjectPackageJson, SrcRendererService, Tasks} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {paramCase} from \"change-case\";\nimport {PassportClient} from \"../services/PassportClient\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\nexport interface PassportGenerateOptions extends GenerateCmdContext {\n passportPackage: string;\n}\n\n@Injectable()\nexport class PassportGenerateHook {\n @Inject()\n projectPackageJson: ProjectPackageJson;\n\n @Inject()\n srcRenderService: SrcRendererService;\n\n @Inject()\n passportClient: PassportClient;\n\n packages: any[];\n\n constructor(private providersInfoService: ProvidersInfoService) {\n providersInfoService.add(\n {\n name: \"Protocol\",\n value: \"protocol\",\n model: \"{{symbolName}}.protocol\"\n },\n PassportGenerateHook\n );\n }\n\n @OnPrompt(\"generate\")\n async onGeneratePrompt() {\n this.packages = await this.passportClient.getPackages();\n\n const list = this.packages.map((item) => {\n return {\n name: `${item.name} - ${item.description}`,\n value: item.name\n };\n });\n\n return [\n {\n type: \"autocomplete\",\n name: \"passportPackage\",\n message: \"Which passport package ?\",\n when(state: any) {\n return [\"protocol\"].includes(state.type);\n },\n source: async (state: any, keyword: string) => {\n if (keyword) {\n return list.filter((item) => item.name.toLowerCase().includes(keyword.toLowerCase()));\n }\n\n return list;\n }\n }\n ];\n }\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: PassportGenerateOptions): Tasks {\n if (this.providersInfoService.isMyProvider(ctx.type, PassportGenerateHook)) {\n ctx = this.mapOptions(ctx);\n const {passportPackage, symbolPath} = ctx;\n\n this.projectPackageJson.addDependency(ctx.passportPackage, this.getPassportPackageVersion(passportPackage));\n\n return [\n {\n title: `Generate ${ctx.type} file to '${symbolPath}.ts'`,\n task: () =>\n this.srcRenderService.render(this.getTemplate(passportPackage), ctx, {\n output: `${symbolPath}.ts`,\n templateDir: TEMPLATE_DIR\n })\n }\n ];\n }\n\n return [];\n }\n\n private mapOptions(options: PassportGenerateOptions) {\n return {\n ...options,\n protocolName: paramCase(options.name),\n passportPackage: options.passportPackage\n };\n }\n\n private getTemplate(passportPackage: string) {\n const template = `${passportPackage}.protocol.hbs`;\n\n return this.srcRenderService.templateExists(template, {templateDir: TEMPLATE_DIR}) ? template : \"generic.protocol.hbs\";\n }\n\n private getPassportPackageVersion(passportPackage: string) {\n const passportPkgDetails = this.packages.find((pkg) => pkg.name === passportPackage);\n\n return passportPkgDetails ? passportPkgDetails[\"dist-tags\"]?.latest : undefined;\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { CliPluginPassportModule } from "./CliPluginPassportModule.js";
2
+ export * from "./hooks/PassportGenerateHook.js";
3
+ export * from "./services/PassportClient.js";
4
+ export * from "./utils/templateDir.js";
5
+ export default CliPluginPassportModule;
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAElE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AAEpC,eAAe,uBAAuB,CAAC","sourcesContent":["import {CliPluginPassportModule} from \"./CliPluginPassportModule\";\n\nexport * from \"./hooks/PassportGenerateHook\";\nexport * from \"./services/PassportClient\";\nexport * from \"./utils/templateDir\";\n\nexport default CliPluginPassportModule;\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,20 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { CliHttpClient, Inject, Injectable } from "@tsed/cli-core";
3
+ const HOST = "http://www.passportjs.org/packages";
4
+ let PassportClient = class PassportClient {
5
+ async getPackages() {
6
+ const result = await this.httpClient.get(`${HOST}/-/all.json`, {});
7
+ return Object.values(result).filter((o) => {
8
+ return o.name && o.name.startsWith("passport-");
9
+ });
10
+ }
11
+ };
12
+ __decorate([
13
+ Inject(CliHttpClient),
14
+ __metadata("design:type", CliHttpClient)
15
+ ], PassportClient.prototype, "httpClient", void 0);
16
+ PassportClient = __decorate([
17
+ Injectable()
18
+ ], PassportClient);
19
+ export { PassportClient };
20
+ //# sourceMappingURL=PassportClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PassportClient.js","sourceRoot":"","sources":["../../../src/services/PassportClient.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAEjE,MAAM,IAAI,GAAG,oCAAoC,CAAC;AAGlD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAIzB,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAM,GAAG,IAAI,aAAa,EAAE,EAAE,CAAC,CAAC;QAExE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;YAC7C,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AATC;IADC,MAAM,CAAC,aAAa,CAAC;8BACV,aAAa;kDAAC;AAFf,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAW1B;SAXY,cAAc","sourcesContent":["import {CliHttpClient, Inject, Injectable} from \"@tsed/cli-core\";\n\nconst HOST = \"http://www.passportjs.org/packages\";\n\n@Injectable()\nexport class PassportClient {\n @Inject(CliHttpClient)\n httpClient: CliHttpClient;\n\n async getPackages(): Promise<any[]> {\n const result = await this.httpClient.get<any>(`${HOST}/-/all.json`, {});\n\n return Object.values(result).filter((o: any) => {\n return o.name && o.name.startsWith(\"passport-\");\n });\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import readPkgUp from "read-pkg-up";
2
+ import { dirname, join } from "path";
3
+ import filedirname from "filedirname";
4
+ const [, dir] = filedirname();
5
+ const { path } = readPkgUp.sync({
6
+ cwd: dir
7
+ });
8
+ export const TEMPLATE_DIR = join(dirname(path), "templates");
9
+ //# sourceMappingURL=templateDir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateDir.js","sourceRoot":"","sources":["../../../src/utils/templateDir.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AACnC,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,WAAW,EAAE,CAAC;AAE9B,MAAM,EAAC,IAAI,EAAC,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,GAAG,EAAE,GAAG;CACT,CAAE,CAAC;AAEJ,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC","sourcesContent":["import readPkgUp from \"read-pkg-up\";\nimport {dirname, join} from \"path\";\nimport filedirname from \"filedirname\";\nconst [, dir] = filedirname();\n\nconst {path} = readPkgUp.sync({\n cwd: dir\n})!;\n\nexport const TEMPLATE_DIR = join(dirname(path), \"templates\");\n"]}
@@ -1,4 +1,5 @@
1
1
  import { CliPluginPassportModule } from "./CliPluginPassportModule";
2
2
  export * from "./hooks/PassportGenerateHook";
3
3
  export * from "./services/PassportClient";
4
+ export * from "./utils/templateDir";
4
5
  export default CliPluginPassportModule;
File without changes
package/package.json CHANGED
@@ -1,22 +1,31 @@
1
1
  {
2
2
  "name": "@tsed/cli-plugin-passport",
3
- "version": "3.20.16",
4
- "main": "./lib/index.js",
5
- "typings": "./lib/index.d.ts",
3
+ "version": "3.21.0-rc.2",
6
4
  "description": "Ts.ED CLI plugin. Add Passport.js support",
5
+ "source": "./src/index.ts",
6
+ "main": "./lib/cjs/index.js",
7
+ "module": "./lib/esm/index.js",
8
+ "typings": "./lib/types/index.d.ts",
9
+ "exports": {
10
+ "types": "./lib/types/index.d.ts",
11
+ "import": "./lib/esm/index.js",
12
+ "require": "./lib/cjs/index.js",
13
+ "default": "./lib/esm/index.js"
14
+ },
15
+ "scripts": {
16
+ "build": "yarn run build:esm && yarn run build:cjs",
17
+ "build:cjs": "tsc --build tsconfig.compile.json",
18
+ "build:esm": "tsc --build tsconfig.compile.esm.json"
19
+ },
7
20
  "dependencies": {
8
21
  "change-case": "^4.1.2",
9
22
  "tslib": "2.3.1"
10
23
  },
11
24
  "devDependencies": {
12
- "@tsed/cli": "3.20.16",
13
- "@tsed/cli-core": "3.20.16",
25
+ "@tsed/cli": "3.21.0-rc.2",
26
+ "@tsed/cli-core": "3.21.0-rc.2",
14
27
  "@types/change-case": "^2.3.1"
15
28
  },
16
- "scripts": {
17
- "build": "tsc --build tsconfig.compile.json",
18
- "build:doc": "tsc --build tsconfig.doc.json"
19
- },
20
29
  "peerDependencies": {},
21
30
  "repository": "https://github.com/tsedio/tsed-cli",
22
31
  "bugs": {
@@ -24,5 +33,8 @@
24
33
  },
25
34
  "homepage": "https://github.com/tsedio/tsed-cli/tree/master/packages/cli-plugin-passport",
26
35
  "author": "Romain Lenzotti",
27
- "license": "MIT"
36
+ "license": "MIT",
37
+ "publishConfig": {
38
+ "tag": "rc"
39
+ }
28
40
  }
@@ -0,0 +1,21 @@
1
+ {
2
+ "extends": "./tsconfig.compile.json",
3
+ "compilerOptions": {
4
+ "baseUrl": ".",
5
+ "module": "ES2020",
6
+ "rootDir": "src",
7
+ "outDir": "./lib/esm",
8
+ "declaration": true,
9
+ "declarationDir": "./lib/types"
10
+ },
11
+ "exclude": [
12
+ "node_modules",
13
+ "test",
14
+ "lib",
15
+ "coverage",
16
+ ".nyc_output",
17
+ "**/*.spec.ts",
18
+ "jest.config.js",
19
+ "templates"
20
+ ]
21
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"CliPluginPassportModule.js","sourceRoot":"","sources":["../src/CliPluginPassportModule.ts"],"names":[],"mappings":";;;;AAAA,6CAAiE;AACjE,iCAAgC;AAChC,uEAAkE;AAKlE,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAKlC,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAC/B,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC;YAC/D,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,iBAAiB,EAAE,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAbC;IADC,IAAA,WAAM,GAAE;sCACI,6BAAkB;4DAAC;AAGhC;IADC,IAAA,gBAAK,EAAC,2BAA2B,CAAC;;;;sDAUlC;AAdU,uBAAuB;IAHnC,IAAA,iBAAM,EAAC;QACN,OAAO,EAAE,CAAC,2CAAoB,CAAC;KAChC,CAAC;GACW,uBAAuB,CAenC;AAfY,0DAAuB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {PassportGenerateHook} from \"./hooks/PassportGenerateHook\";\n\n@Module({\n imports: [PassportGenerateHook]\n})\nexport class CliPluginPassportModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-passport\")\n install() {\n this.packageJson.addDependencies({\n \"@tsed/passport\": this.packageJson.dependencies[\"@tsed/common\"],\n passport: \"latest\"\n });\n\n this.packageJson.addDevDependencies({\n \"@types/passport\": \"latest\"\n });\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PassportGenerateHook.js","sourceRoot":"","sources":["../../src/hooks/PassportGenerateHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {GenerateCmdContext, ProvidersInfoService} from \"@tsed/cli\";\nimport {Inject, OnExec, OnPrompt, ProjectPackageJson, SrcRendererService, Tasks} from \"@tsed/cli-core\";\nimport {Injectable} from \"@tsed/di\";\nimport {paramCase} from \"change-case\";\nimport {PassportClient} from \"../services/PassportClient\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\nexport interface PassportGenerateOptions extends GenerateCmdContext {\n passportPackage: string;\n}\n\n@Injectable()\nexport class PassportGenerateHook {\n @Inject()\n projectPackageJson: ProjectPackageJson;\n\n @Inject()\n srcRenderService: SrcRendererService;\n\n @Inject()\n passportClient: PassportClient;\n\n packages: any[];\n\n constructor(private providersInfoService: ProvidersInfoService) {\n providersInfoService.add(\n {\n name: \"Protocol\",\n value: \"protocol\",\n model: \"{{symbolName}}.protocol\"\n },\n PassportGenerateHook\n );\n }\n\n @OnPrompt(\"generate\")\n async onGeneratePrompt() {\n this.packages = await this.passportClient.getPackages();\n\n const list = this.packages.map((item) => {\n return {\n name: `${item.name} - ${item.description}`,\n value: item.name\n };\n });\n\n return [\n {\n type: \"autocomplete\",\n name: \"passportPackage\",\n message: \"Which passport package ?\",\n when(state: any) {\n return [\"protocol\"].includes(state.type);\n },\n source: async (state: any, keyword: string) => {\n if (keyword) {\n return list.filter((item) => item.name.toLowerCase().includes(keyword.toLowerCase()));\n }\n\n return list;\n }\n }\n ];\n }\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: PassportGenerateOptions): Tasks {\n if (this.providersInfoService.isMyProvider(ctx.type, PassportGenerateHook)) {\n ctx = this.mapOptions(ctx);\n const {passportPackage, symbolPath} = ctx;\n\n this.projectPackageJson.addDependency(ctx.passportPackage, this.getPassportPackageVersion(passportPackage));\n\n return [\n {\n title: `Generate ${ctx.type} file to '${symbolPath}.ts'`,\n task: () =>\n this.srcRenderService.render(this.getTemplate(passportPackage), ctx, {\n output: `${symbolPath}.ts`,\n templateDir: TEMPLATE_DIR\n })\n }\n ];\n }\n\n return [];\n }\n\n private mapOptions(options: PassportGenerateOptions) {\n return {\n ...options,\n protocolName: paramCase(options.name),\n passportPackage: options.passportPackage\n };\n }\n\n private getTemplate(passportPackage: string) {\n const template = `${passportPackage}.protocol.hbs`;\n\n return this.srcRenderService.templateExists(template, {templateDir: TEMPLATE_DIR}) ? template : \"generic.protocol.hbs\";\n }\n\n private getPassportPackageVersion(passportPackage: string) {\n const passportPkgDetails = this.packages.find((pkg) => pkg.name === passportPackage);\n\n return passportPkgDetails ? passportPkgDetails[\"dist-tags\"]?.latest : undefined;\n }\n}\n"]}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAElE,uEAA6C;AAC7C,oEAA0C;AAE1C,kBAAe,iDAAuB,CAAC","sourcesContent":["import {CliPluginPassportModule} from \"./CliPluginPassportModule\";\n\nexport * from \"./hooks/PassportGenerateHook\";\nexport * from \"./services/PassportClient\";\n\nexport default CliPluginPassportModule;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PassportClient.js","sourceRoot":"","sources":["../../src/services/PassportClient.ts"],"names":[],"mappings":";;;;AAAA,6CAAiE;AAEjE,MAAM,IAAI,GAAG,oCAAoC,CAAC;AAGlD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAIzB,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAM,GAAG,IAAI,aAAa,EAAE,EAAE,CAAC,CAAC;QAExE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;YAC7C,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AATC;IADC,IAAA,iBAAM,EAAC,wBAAa,CAAC;sCACV,wBAAa;kDAAC;AAFf,cAAc;IAD1B,IAAA,qBAAU,GAAE;GACA,cAAc,CAW1B;AAXY,wCAAc","sourcesContent":["import {CliHttpClient, Inject, Injectable} from \"@tsed/cli-core\";\n\nconst HOST = \"http://www.passportjs.org/packages\";\n\n@Injectable()\nexport class PassportClient {\n @Inject(CliHttpClient)\n httpClient: CliHttpClient;\n\n async getPackages(): Promise<any[]> {\n const result = await this.httpClient.get<any>(`${HOST}/-/all.json`, {});\n\n return Object.values(result).filter((o: any) => {\n return o.name && o.name.startsWith(\"passport-\");\n });\n }\n}\n"]}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEMPLATE_DIR = void 0;
4
- const path_1 = require("path");
5
- exports.TEMPLATE_DIR = (0, path_1.resolve)(__dirname, "..", "..", "templates");
6
- //# sourceMappingURL=templateDir.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templateDir.js","sourceRoot":"","sources":["../../src/utils/templateDir.ts"],"names":[],"mappings":";;;AAAA,+BAA6B;AAEhB,QAAA,YAAY,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC","sourcesContent":["import {resolve} from \"path\";\n\nexport const TEMPLATE_DIR = resolve(__dirname, \"..\", \"..\", \"templates\");\n"]}