@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.
- package/lib/{CliPluginPassportModule.js → cjs/CliPluginPassportModule.js} +0 -0
- package/lib/cjs/CliPluginPassportModule.js.map +1 -0
- package/lib/{hooks → cjs/hooks}/PassportGenerateHook.js +0 -0
- package/lib/cjs/hooks/PassportGenerateHook.js.map +1 -0
- package/lib/{index.js → cjs/index.js} +1 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/{services → cjs/services}/PassportClient.js +0 -0
- package/lib/cjs/services/PassportClient.js.map +1 -0
- package/lib/cjs/utils/templateDir.js +13 -0
- package/lib/cjs/utils/templateDir.js.map +1 -0
- package/lib/esm/CliPluginPassportModule.js +32 -0
- package/lib/esm/CliPluginPassportModule.js.map +1 -0
- package/lib/esm/hooks/PassportGenerateHook.js +106 -0
- package/lib/esm/hooks/PassportGenerateHook.js.map +1 -0
- package/lib/esm/index.js +6 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/services/PassportClient.js +20 -0
- package/lib/esm/services/PassportClient.js.map +1 -0
- package/lib/esm/utils/templateDir.js +9 -0
- package/lib/esm/utils/templateDir.js.map +1 -0
- package/lib/{CliPluginPassportModule.d.ts → types/CliPluginPassportModule.d.ts} +0 -0
- package/lib/{hooks → types/hooks}/PassportGenerateHook.d.ts +0 -0
- package/lib/{index.d.ts → types/index.d.ts} +1 -0
- package/lib/{services → types/services}/PassportClient.d.ts +0 -0
- package/lib/{utils → types/utils}/templateDir.d.ts +0 -0
- package/package.json +22 -10
- package/tsconfig.compile.esm.json +21 -0
- package/lib/CliPluginPassportModule.js.map +0 -1
- package/lib/hooks/PassportGenerateHook.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/services/PassportClient.js.map +0 -1
- package/lib/utils/templateDir.js +0 -6
- package/lib/utils/templateDir.js.map +0 -1
|
File without changes
|
|
@@ -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":"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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"]}
|
|
@@ -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"]}
|
|
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"]}
|
package/lib/esm/index.js
ADDED
|
@@ -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,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"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsed/cli-plugin-passport",
|
|
3
|
-
"version": "3.
|
|
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.
|
|
13
|
-
"@tsed/cli-core": "3.
|
|
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"]}
|
package/lib/utils/templateDir.js
DELETED
|
@@ -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"]}
|