@tsed/cli-plugin-jest 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/{CliPluginJestModule.js → cjs/CliPluginJestModule.js} +0 -0
- package/lib/cjs/CliPluginJestModule.js.map +1 -0
- package/lib/{hooks → cjs/hooks}/JestGenerateHook.js +2 -2
- package/lib/cjs/hooks/JestGenerateHook.js.map +1 -0
- package/lib/{hooks → cjs/hooks}/JestInitHook.js +0 -0
- package/lib/cjs/hooks/JestInitHook.js.map +1 -0
- package/lib/{index.js → cjs/index.js} +2 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/utils/templateDir.js +13 -0
- package/lib/cjs/utils/templateDir.js.map +1 -0
- package/lib/esm/CliPluginJestModule.js +43 -0
- package/lib/esm/CliPluginJestModule.js.map +1 -0
- package/lib/esm/hooks/JestGenerateHook.js +61 -0
- package/lib/esm/hooks/JestGenerateHook.js.map +1 -0
- package/lib/esm/hooks/JestInitHook.js +44 -0
- package/lib/esm/hooks/JestInitHook.js.map +1 -0
- package/lib/esm/index.js +4 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/utils/templateDir.js +9 -0
- package/lib/esm/utils/templateDir.js.map +1 -0
- package/lib/{CliPluginJestModule.d.ts → types/CliPluginJestModule.d.ts} +0 -0
- package/lib/{hooks → types/hooks}/JestGenerateHook.d.ts +0 -0
- package/lib/{hooks → types/hooks}/JestInitHook.d.ts +0 -0
- package/lib/{index.d.ts → types/index.d.ts} +1 -0
- package/lib/{utils → types/utils}/templateDir.d.ts +0 -0
- package/package.json +21 -9
- package/tsconfig.compile.esm.json +12 -0
- package/lib/CliPluginJestModule.js.map +0 -1
- package/lib/hooks/JestGenerateHook.js.map +0 -1
- package/lib/hooks/JestInitHook.js.map +0 -1
- package/lib/index.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":"CliPluginJestModule.js","sourceRoot":"","sources":["../../src/CliPluginJestModule.ts"],"names":[],"mappings":";;;;AAAA,6CAAiE;AACjE,iCAAgC;AAChC,+DAA0D;AAC1D,uDAAkD;AAKlD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAK9B,OAAO;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,IAAI,EAAE,GAAG,MAAM,iBAAiB,MAAM,gBAAgB;YACtD,WAAW,EAAE,8BAA8B;YAC3C,eAAe,EAAE,GAAG,MAAM,YAAY;SACvC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,aAAa,EAAE,QAAQ;YACvB,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAzBC;IADC,IAAA,WAAM,GAAE;sCACI,6BAAkB;wDAAC;AAGhC;IADC,IAAA,gBAAK,EAAC,uBAAuB,CAAC;;;;kDAI9B;AARU,mBAAmB;IAH/B,IAAA,iBAAM,EAAC;QACN,OAAO,EAAE,CAAC,2BAAY,EAAE,mCAAgB,CAAC;KAC1C,CAAC;GACW,mBAAmB,CA2B/B;AA3BY,kDAAmB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {JestGenerateHook} from \"./hooks/JestGenerateHook\";\nimport {JestInitHook} from \"./hooks/JestInitHook\";\n\n@Module({\n imports: [JestInitHook, JestGenerateHook]\n})\nexport class CliPluginJestModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-jest\")\n install() {\n this.addScripts();\n this.addDevDependencies();\n }\n\n addScripts() {\n const runner = this.packageJson.getRunCmd();\n\n this.packageJson.addScripts({\n test: `${runner} test:lint && ${runner} test:coverage`,\n \"test:unit\": \"cross-env NODE_ENV=test jest\",\n \"test:coverage\": `${runner} test:unit`\n });\n }\n\n addDevDependencies() {\n this.packageJson.addDevDependencies({\n \"@types/jest\": \"latest\",\n jest: \"latest\",\n \"ts-jest\": \"latest\"\n });\n }\n}\n"]}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JestGenerateHook = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const normalize_path_1 = tslib_1.__importDefault(require("normalize-path"));
|
|
5
6
|
const cli_core_1 = require("@tsed/cli-core");
|
|
6
7
|
const templateDir_1 = require("../utils/templateDir");
|
|
7
|
-
const normalizePath = require("normalize-path");
|
|
8
8
|
let JestGenerateHook = class JestGenerateHook {
|
|
9
9
|
onGenerateExec(ctx) {
|
|
10
10
|
const { symbolPath } = ctx;
|
|
@@ -43,7 +43,7 @@ let JestGenerateHook = class JestGenerateHook {
|
|
|
43
43
|
return {
|
|
44
44
|
specTemplate,
|
|
45
45
|
integrationTemplate,
|
|
46
|
-
relativeSrcPath:
|
|
46
|
+
relativeSrcPath: (0, normalize_path_1.default)(this.srcRenderService.relativeFrom(`${options.symbolPath}.integration.spec.ts`))
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JestGenerateHook.js","sourceRoot":"","sources":["../../../src/hooks/JestGenerateHook.ts"],"names":[],"mappings":";;;;AACA,4EAA2C;AAC3C,6CAAqF;AAErF,sDAAkD;AAGlD,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAK3B,cAAc,CAAC,GAAuB;QACpC,MAAM,EAAC,UAAU,EAAC,GAAG,GAAG,CAAC;QACzB,MAAM,EAAC,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAElF,OAAO;YACL;gBACE,KAAK,EAAE,YAAY,GAAG,CAAC,IAAI,kBAAkB,UAAU,WAAW;gBAClE,OAAO;oBACL,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1G,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC1B,YAAY,EACZ,EAAC,GAAG,GAAG,EAAE,eAAe,EAAC,EACzB;oBACE,MAAM,EAAE,GAAG,UAAU,UAAU;oBAC/B,WAAW,EAAE,0BAAY;iBAC1B,CACF;aACJ;YACD;gBACE,KAAK,EAAE,YAAY,GAAG,CAAC,IAAI,sBAAsB,UAAU,uBAAuB;gBAClF,OAAO;oBACL,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC1B,mBAAmB,EACnB,EAAC,GAAG,GAAG,EAAE,eAAe,EAAC,EACzB;oBACE,MAAM,EAAE,GAAG,UAAU,sBAAsB;oBAC3C,WAAW,EAAE,0BAAY;iBAC1B,CACF;aACJ;SACF,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,OAA2B;QAC5C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5E,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,IAAI,WAAW,EAAE,EAAC,WAAW,EAAE,0BAAY,EAAC,CAAC;YACjH,CAAC,CAAC,YAAY,IAAI,WAAW;YAC7B,CAAC,CAAC,2BAA2B,CAAC;QAEhC,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,IAAI,kBAAkB,EAAE,EAAC,WAAW,EAAE,0BAAY,EAAC,CAAC;YAC/H,CAAC,CAAC,YAAY,IAAI,kBAAkB;YACpC,CAAC,CAAC,kCAAkC,CAAC;QAEvC,OAAO;YACL,YAAY;YACZ,mBAAmB;YACnB,eAAe,EAAE,IAAA,wBAAa,EAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,UAAU,sBAAsB,CAAC,CAAC;SAChH,CAAC;IACJ,CAAC;CACF,CAAA;AA1DC;IADC,IAAA,iBAAM,GAAE;sCACS,6BAAkB;0DAAC;AAGrC;IADC,IAAA,iBAAM,EAAC,UAAU,CAAC;;;;sDAqClB;AAzCU,gBAAgB;IAD5B,IAAA,qBAAU,GAAE;GACA,gBAAgB,CA4D5B;AA5DY,4CAAgB","sourcesContent":["import {GenerateCmdContext} from \"@tsed/cli\";\nimport normalizePath from \"normalize-path\";\nimport {Inject, Injectable, OnExec, SrcRendererService, Tasks} from \"@tsed/cli-core\";\n\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\n@Injectable()\nexport class JestGenerateHook {\n @Inject()\n srcRenderService: SrcRendererService;\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: GenerateCmdContext): Tasks {\n const {symbolPath} = ctx;\n const {specTemplate, integrationTemplate, relativeSrcPath} = this.mapOptions(ctx);\n\n return [\n {\n title: `Generate ${ctx.type} spec file to '${symbolPath}.spec.ts'`,\n enabled() {\n return !(ctx.type === \"server\" || ctx.type.includes(\":dataSource\") || ctx.type.includes(\":connection\"));\n },\n task: () =>\n this.srcRenderService.render(\n specTemplate,\n {...ctx, relativeSrcPath},\n {\n output: `${symbolPath}.spec.ts`,\n templateDir: TEMPLATE_DIR\n }\n )\n },\n {\n title: `Generate ${ctx.type} integration file '${symbolPath}.integration.spec.ts'`,\n enabled() {\n return [\"controller\", \"server\"].includes(ctx.type);\n },\n task: () =>\n this.srcRenderService.render(\n integrationTemplate,\n {...ctx, relativeSrcPath},\n {\n output: `${symbolPath}.integration.spec.ts`,\n templateDir: TEMPLATE_DIR\n }\n )\n }\n ];\n }\n\n private mapOptions(options: GenerateCmdContext) {\n const type = [options.type, options.templateType].filter(Boolean).join(\".\");\n\n const specTemplate = this.srcRenderService.templateExists(`generate/${type}.spec.hbs`, {templateDir: TEMPLATE_DIR})\n ? `generate/${type}.spec.hbs`\n : \"generate/generic.spec.hbs\";\n\n const integrationTemplate = this.srcRenderService.templateExists(`generate/${type}.integration.hbs`, {templateDir: TEMPLATE_DIR})\n ? `generate/${type}.integration.hbs`\n : \"generate/generic.integration.hbs\";\n\n return {\n specTemplate,\n integrationTemplate,\n relativeSrcPath: normalizePath(this.srcRenderService.relativeFrom(`${options.symbolPath}.integration.spec.ts`))\n };\n }\n}\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JestInitHook.js","sourceRoot":"","sources":["../../../src/hooks/JestInitHook.ts"],"names":[],"mappings":";;;;AAAA,6CAQwB;AACxB,sDAAkD;AAGlD,IAAa,YAAY,GAAzB,MAAa,YAAY;IAcvB,UAAU;QACR,OAAO;YACL;gBACE,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE;wBAC9D,WAAW,EAAE,GAAG,0BAAY,OAAO;qBACpC,CAAC,CAAC;gBACL,CAAC;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAxBC;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;iDAAC;AAG1C;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;iDAAC;AAG1C;IADC,IAAA,iBAAM,GAAE;sCACe,8BAAmB;kDAAC;AAG5C;IADC,IAAA,iBAAM,GAAE;sCACkB,iCAAsB;qDAAC;AAGlD;IADC,IAAA,iBAAM,EAAC,MAAM,CAAC;;;;8CAYd;AAzBU,YAAY;IADxB,IAAA,qBAAU,GAAE;GACA,YAAY,CA0BxB;AA1BY,oCAAY","sourcesContent":["import {\n Inject,\n Injectable,\n OnExec,\n ProjectPackageJson,\n RootRendererService,\n ScriptsRendererService,\n SrcRendererService\n} from \"@tsed/cli-core\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\n@Injectable()\nexport class JestInitHook {\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected srcRenderer: SrcRendererService;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected scriptsRenderer: ScriptsRendererService;\n\n @OnExec(\"init\")\n onInitExec() {\n return [\n {\n title: \"Generate files for jest\",\n task: (ctx: any) => {\n return this.rootRenderer.renderAll([\"jest.config.js.hbs\"], ctx, {\n templateDir: `${TEMPLATE_DIR}/init`\n });\n }\n }\n ];\n }\n}\n"]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
3
4
|
const CliPluginJestModule_1 = require("./CliPluginJestModule");
|
|
5
|
+
tslib_1.__exportStar(require("./utils/templateDir"), exports);
|
|
4
6
|
exports.default = CliPluginJestModule_1.CliPluginJestModule;
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAE1D,8DAAoC;AAEpC,kBAAe,yCAAmB,CAAC","sourcesContent":["import {CliPluginJestModule} from \"./CliPluginJestModule\";\n\nexport * from \"./utils/templateDir\";\n\nexport default CliPluginJestModule;\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,43 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Module, OnAdd, ProjectPackageJson } from "@tsed/cli-core";
|
|
3
|
+
import { Inject } from "@tsed/di";
|
|
4
|
+
import { JestGenerateHook } from "./hooks/JestGenerateHook.js";
|
|
5
|
+
import { JestInitHook } from "./hooks/JestInitHook.js";
|
|
6
|
+
let CliPluginJestModule = class CliPluginJestModule {
|
|
7
|
+
install() {
|
|
8
|
+
this.addScripts();
|
|
9
|
+
this.addDevDependencies();
|
|
10
|
+
}
|
|
11
|
+
addScripts() {
|
|
12
|
+
const runner = this.packageJson.getRunCmd();
|
|
13
|
+
this.packageJson.addScripts({
|
|
14
|
+
test: `${runner} test:lint && ${runner} test:coverage`,
|
|
15
|
+
"test:unit": "cross-env NODE_ENV=test jest",
|
|
16
|
+
"test:coverage": `${runner} test:unit`
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
addDevDependencies() {
|
|
20
|
+
this.packageJson.addDevDependencies({
|
|
21
|
+
"@types/jest": "latest",
|
|
22
|
+
jest: "latest",
|
|
23
|
+
"ts-jest": "latest"
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
__decorate([
|
|
28
|
+
Inject(),
|
|
29
|
+
__metadata("design:type", ProjectPackageJson)
|
|
30
|
+
], CliPluginJestModule.prototype, "packageJson", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
OnAdd("@tsed/cli-plugin-jest"),
|
|
33
|
+
__metadata("design:type", Function),
|
|
34
|
+
__metadata("design:paramtypes", []),
|
|
35
|
+
__metadata("design:returntype", void 0)
|
|
36
|
+
], CliPluginJestModule.prototype, "install", null);
|
|
37
|
+
CliPluginJestModule = __decorate([
|
|
38
|
+
Module({
|
|
39
|
+
imports: [JestInitHook, JestGenerateHook]
|
|
40
|
+
})
|
|
41
|
+
], CliPluginJestModule);
|
|
42
|
+
export { CliPluginJestModule };
|
|
43
|
+
//# sourceMappingURL=CliPluginJestModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CliPluginJestModule.js","sourceRoot":"","sources":["../../src/CliPluginJestModule.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,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAKlD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAK9B,OAAO;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,IAAI,EAAE,GAAG,MAAM,iBAAiB,MAAM,gBAAgB;YACtD,WAAW,EAAE,8BAA8B;YAC3C,eAAe,EAAE,GAAG,MAAM,YAAY;SACvC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,aAAa,EAAE,QAAQ;YACvB,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAzBC;IADC,MAAM,EAAE;8BACI,kBAAkB;wDAAC;AAGhC;IADC,KAAK,CAAC,uBAAuB,CAAC;;;;kDAI9B;AARU,mBAAmB;IAH/B,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;KAC1C,CAAC;GACW,mBAAmB,CA2B/B;SA3BY,mBAAmB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {JestGenerateHook} from \"./hooks/JestGenerateHook\";\nimport {JestInitHook} from \"./hooks/JestInitHook\";\n\n@Module({\n imports: [JestInitHook, JestGenerateHook]\n})\nexport class CliPluginJestModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-jest\")\n install() {\n this.addScripts();\n this.addDevDependencies();\n }\n\n addScripts() {\n const runner = this.packageJson.getRunCmd();\n\n this.packageJson.addScripts({\n test: `${runner} test:lint && ${runner} test:coverage`,\n \"test:unit\": \"cross-env NODE_ENV=test jest\",\n \"test:coverage\": `${runner} test:unit`\n });\n }\n\n addDevDependencies() {\n this.packageJson.addDevDependencies({\n \"@types/jest\": \"latest\",\n jest: \"latest\",\n \"ts-jest\": \"latest\"\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import normalizePath from "normalize-path";
|
|
3
|
+
import { Inject, Injectable, OnExec, SrcRendererService } from "@tsed/cli-core";
|
|
4
|
+
import { TEMPLATE_DIR } from "../utils/templateDir.js";
|
|
5
|
+
let JestGenerateHook = class JestGenerateHook {
|
|
6
|
+
onGenerateExec(ctx) {
|
|
7
|
+
const { symbolPath } = ctx;
|
|
8
|
+
const { specTemplate, integrationTemplate, relativeSrcPath } = this.mapOptions(ctx);
|
|
9
|
+
return [
|
|
10
|
+
{
|
|
11
|
+
title: `Generate ${ctx.type} spec file to '${symbolPath}.spec.ts'`,
|
|
12
|
+
enabled() {
|
|
13
|
+
return !(ctx.type === "server" || ctx.type.includes(":dataSource") || ctx.type.includes(":connection"));
|
|
14
|
+
},
|
|
15
|
+
task: () => this.srcRenderService.render(specTemplate, { ...ctx, relativeSrcPath }, {
|
|
16
|
+
output: `${symbolPath}.spec.ts`,
|
|
17
|
+
templateDir: TEMPLATE_DIR
|
|
18
|
+
})
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
title: `Generate ${ctx.type} integration file '${symbolPath}.integration.spec.ts'`,
|
|
22
|
+
enabled() {
|
|
23
|
+
return ["controller", "server"].includes(ctx.type);
|
|
24
|
+
},
|
|
25
|
+
task: () => this.srcRenderService.render(integrationTemplate, { ...ctx, relativeSrcPath }, {
|
|
26
|
+
output: `${symbolPath}.integration.spec.ts`,
|
|
27
|
+
templateDir: TEMPLATE_DIR
|
|
28
|
+
})
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
}
|
|
32
|
+
mapOptions(options) {
|
|
33
|
+
const type = [options.type, options.templateType].filter(Boolean).join(".");
|
|
34
|
+
const specTemplate = this.srcRenderService.templateExists(`generate/${type}.spec.hbs`, { templateDir: TEMPLATE_DIR })
|
|
35
|
+
? `generate/${type}.spec.hbs`
|
|
36
|
+
: "generate/generic.spec.hbs";
|
|
37
|
+
const integrationTemplate = this.srcRenderService.templateExists(`generate/${type}.integration.hbs`, { templateDir: TEMPLATE_DIR })
|
|
38
|
+
? `generate/${type}.integration.hbs`
|
|
39
|
+
: "generate/generic.integration.hbs";
|
|
40
|
+
return {
|
|
41
|
+
specTemplate,
|
|
42
|
+
integrationTemplate,
|
|
43
|
+
relativeSrcPath: normalizePath(this.srcRenderService.relativeFrom(`${options.symbolPath}.integration.spec.ts`))
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
__decorate([
|
|
48
|
+
Inject(),
|
|
49
|
+
__metadata("design:type", SrcRendererService)
|
|
50
|
+
], JestGenerateHook.prototype, "srcRenderService", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
OnExec("generate"),
|
|
53
|
+
__metadata("design:type", Function),
|
|
54
|
+
__metadata("design:paramtypes", [Object]),
|
|
55
|
+
__metadata("design:returntype", Array)
|
|
56
|
+
], JestGenerateHook.prototype, "onGenerateExec", null);
|
|
57
|
+
JestGenerateHook = __decorate([
|
|
58
|
+
Injectable()
|
|
59
|
+
], JestGenerateHook);
|
|
60
|
+
export { JestGenerateHook };
|
|
61
|
+
//# sourceMappingURL=JestGenerateHook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JestGenerateHook.js","sourceRoot":"","sources":["../../../src/hooks/JestGenerateHook.ts"],"names":[],"mappings":";AACA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAQ,MAAM,gBAAgB,CAAC;AAErF,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGlD,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAK3B,cAAc,CAAC,GAAuB;QACpC,MAAM,EAAC,UAAU,EAAC,GAAG,GAAG,CAAC;QACzB,MAAM,EAAC,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAElF,OAAO;YACL;gBACE,KAAK,EAAE,YAAY,GAAG,CAAC,IAAI,kBAAkB,UAAU,WAAW;gBAClE,OAAO;oBACL,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1G,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC1B,YAAY,EACZ,EAAC,GAAG,GAAG,EAAE,eAAe,EAAC,EACzB;oBACE,MAAM,EAAE,GAAG,UAAU,UAAU;oBAC/B,WAAW,EAAE,YAAY;iBAC1B,CACF;aACJ;YACD;gBACE,KAAK,EAAE,YAAY,GAAG,CAAC,IAAI,sBAAsB,UAAU,uBAAuB;gBAClF,OAAO;oBACL,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC1B,mBAAmB,EACnB,EAAC,GAAG,GAAG,EAAE,eAAe,EAAC,EACzB;oBACE,MAAM,EAAE,GAAG,UAAU,sBAAsB;oBAC3C,WAAW,EAAE,YAAY;iBAC1B,CACF;aACJ;SACF,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,OAA2B;QAC5C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5E,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,IAAI,WAAW,EAAE,EAAC,WAAW,EAAE,YAAY,EAAC,CAAC;YACjH,CAAC,CAAC,YAAY,IAAI,WAAW;YAC7B,CAAC,CAAC,2BAA2B,CAAC;QAEhC,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,IAAI,kBAAkB,EAAE,EAAC,WAAW,EAAE,YAAY,EAAC,CAAC;YAC/H,CAAC,CAAC,YAAY,IAAI,kBAAkB;YACpC,CAAC,CAAC,kCAAkC,CAAC;QAEvC,OAAO;YACL,YAAY;YACZ,mBAAmB;YACnB,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,UAAU,sBAAsB,CAAC,CAAC;SAChH,CAAC;IACJ,CAAC;CACF,CAAA;AA1DC;IADC,MAAM,EAAE;8BACS,kBAAkB;0DAAC;AAGrC;IADC,MAAM,CAAC,UAAU,CAAC;;;;sDAqClB;AAzCU,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CA4D5B;SA5DY,gBAAgB","sourcesContent":["import {GenerateCmdContext} from \"@tsed/cli\";\nimport normalizePath from \"normalize-path\";\nimport {Inject, Injectable, OnExec, SrcRendererService, Tasks} from \"@tsed/cli-core\";\n\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\n@Injectable()\nexport class JestGenerateHook {\n @Inject()\n srcRenderService: SrcRendererService;\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: GenerateCmdContext): Tasks {\n const {symbolPath} = ctx;\n const {specTemplate, integrationTemplate, relativeSrcPath} = this.mapOptions(ctx);\n\n return [\n {\n title: `Generate ${ctx.type} spec file to '${symbolPath}.spec.ts'`,\n enabled() {\n return !(ctx.type === \"server\" || ctx.type.includes(\":dataSource\") || ctx.type.includes(\":connection\"));\n },\n task: () =>\n this.srcRenderService.render(\n specTemplate,\n {...ctx, relativeSrcPath},\n {\n output: `${symbolPath}.spec.ts`,\n templateDir: TEMPLATE_DIR\n }\n )\n },\n {\n title: `Generate ${ctx.type} integration file '${symbolPath}.integration.spec.ts'`,\n enabled() {\n return [\"controller\", \"server\"].includes(ctx.type);\n },\n task: () =>\n this.srcRenderService.render(\n integrationTemplate,\n {...ctx, relativeSrcPath},\n {\n output: `${symbolPath}.integration.spec.ts`,\n templateDir: TEMPLATE_DIR\n }\n )\n }\n ];\n }\n\n private mapOptions(options: GenerateCmdContext) {\n const type = [options.type, options.templateType].filter(Boolean).join(\".\");\n\n const specTemplate = this.srcRenderService.templateExists(`generate/${type}.spec.hbs`, {templateDir: TEMPLATE_DIR})\n ? `generate/${type}.spec.hbs`\n : \"generate/generic.spec.hbs\";\n\n const integrationTemplate = this.srcRenderService.templateExists(`generate/${type}.integration.hbs`, {templateDir: TEMPLATE_DIR})\n ? `generate/${type}.integration.hbs`\n : \"generate/generic.integration.hbs\";\n\n return {\n specTemplate,\n integrationTemplate,\n relativeSrcPath: normalizePath(this.srcRenderService.relativeFrom(`${options.symbolPath}.integration.spec.ts`))\n };\n }\n}\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Inject, Injectable, OnExec, ProjectPackageJson, RootRendererService, ScriptsRendererService, SrcRendererService } from "@tsed/cli-core";
|
|
3
|
+
import { TEMPLATE_DIR } from "../utils/templateDir.js";
|
|
4
|
+
let JestInitHook = class JestInitHook {
|
|
5
|
+
onInitExec() {
|
|
6
|
+
return [
|
|
7
|
+
{
|
|
8
|
+
title: "Generate files for jest",
|
|
9
|
+
task: (ctx) => {
|
|
10
|
+
return this.rootRenderer.renderAll(["jest.config.js.hbs"], ctx, {
|
|
11
|
+
templateDir: `${TEMPLATE_DIR}/init`
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
__decorate([
|
|
19
|
+
Inject(),
|
|
20
|
+
__metadata("design:type", ProjectPackageJson)
|
|
21
|
+
], JestInitHook.prototype, "packageJson", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
Inject(),
|
|
24
|
+
__metadata("design:type", SrcRendererService)
|
|
25
|
+
], JestInitHook.prototype, "srcRenderer", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
Inject(),
|
|
28
|
+
__metadata("design:type", RootRendererService)
|
|
29
|
+
], JestInitHook.prototype, "rootRenderer", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
Inject(),
|
|
32
|
+
__metadata("design:type", ScriptsRendererService)
|
|
33
|
+
], JestInitHook.prototype, "scriptsRenderer", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
OnExec("init"),
|
|
36
|
+
__metadata("design:type", Function),
|
|
37
|
+
__metadata("design:paramtypes", []),
|
|
38
|
+
__metadata("design:returntype", void 0)
|
|
39
|
+
], JestInitHook.prototype, "onInitExec", null);
|
|
40
|
+
JestInitHook = __decorate([
|
|
41
|
+
Injectable()
|
|
42
|
+
], JestInitHook);
|
|
43
|
+
export { JestInitHook };
|
|
44
|
+
//# sourceMappingURL=JestInitHook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JestInitHook.js","sourceRoot":"","sources":["../../../src/hooks/JestInitHook.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGlD,IAAa,YAAY,GAAzB,MAAa,YAAY;IAcvB,UAAU;QACR,OAAO;YACL;gBACE,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE;wBAC9D,WAAW,EAAE,GAAG,YAAY,OAAO;qBACpC,CAAC,CAAC;gBACL,CAAC;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAxBC;IADC,MAAM,EAAE;8BACc,kBAAkB;iDAAC;AAG1C;IADC,MAAM,EAAE;8BACc,kBAAkB;iDAAC;AAG1C;IADC,MAAM,EAAE;8BACe,mBAAmB;kDAAC;AAG5C;IADC,MAAM,EAAE;8BACkB,sBAAsB;qDAAC;AAGlD;IADC,MAAM,CAAC,MAAM,CAAC;;;;8CAYd;AAzBU,YAAY;IADxB,UAAU,EAAE;GACA,YAAY,CA0BxB;SA1BY,YAAY","sourcesContent":["import {\n Inject,\n Injectable,\n OnExec,\n ProjectPackageJson,\n RootRendererService,\n ScriptsRendererService,\n SrcRendererService\n} from \"@tsed/cli-core\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\n@Injectable()\nexport class JestInitHook {\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected srcRenderer: SrcRendererService;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected scriptsRenderer: ScriptsRendererService;\n\n @OnExec(\"init\")\n onInitExec() {\n return [\n {\n title: \"Generate files for jest\",\n task: (ctx: any) => {\n return this.rootRenderer.renderAll([\"jest.config.js.hbs\"], ctx, {\n templateDir: `${TEMPLATE_DIR}/init`\n });\n }\n }\n ];\n }\n}\n"]}
|
package/lib/esm/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAE1D,cAAc,qBAAqB,CAAC;AAEpC,eAAe,mBAAmB,CAAC","sourcesContent":["import {CliPluginJestModule} from \"./CliPluginJestModule\";\n\nexport * from \"./utils/templateDir\";\n\nexport default CliPluginJestModule;\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,16 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsed/cli-plugin-jest",
|
|
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 Jest support",
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
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"
|
|
10
14
|
},
|
|
11
15
|
"scripts": {
|
|
12
|
-
"build": "
|
|
13
|
-
"build:
|
|
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
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@tsed/cli": "3.21.0-rc.2",
|
|
22
|
+
"@tsed/cli-core": "3.21.0-rc.2"
|
|
14
23
|
},
|
|
15
24
|
"dependencies": {
|
|
16
25
|
"tslib": "2.3.1"
|
|
@@ -22,5 +31,8 @@
|
|
|
22
31
|
},
|
|
23
32
|
"homepage": "https://github.com/tsedio/tsed-cli/tree/master/packages/cli-plugin-jest",
|
|
24
33
|
"author": "Romain Lenzotti",
|
|
25
|
-
"license": "MIT"
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"publishConfig": {
|
|
36
|
+
"tag": "rc"
|
|
37
|
+
}
|
|
26
38
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
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": ["node_modules", "test", "lib", "coverage", ".nyc_output", "**/*.spec.ts", "jest.config.js"]
|
|
12
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CliPluginJestModule.js","sourceRoot":"","sources":["../src/CliPluginJestModule.ts"],"names":[],"mappings":";;;;AAAA,6CAAiE;AACjE,iCAAgC;AAChC,+DAA0D;AAC1D,uDAAkD;AAKlD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAK9B,OAAO;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAE5C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,IAAI,EAAE,GAAG,MAAM,iBAAiB,MAAM,gBAAgB;YACtD,WAAW,EAAE,8BAA8B;YAC3C,eAAe,EAAE,GAAG,MAAM,YAAY;SACvC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;YAClC,aAAa,EAAE,QAAQ;YACvB,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAzBC;IADC,IAAA,WAAM,GAAE;sCACI,6BAAkB;wDAAC;AAGhC;IADC,IAAA,gBAAK,EAAC,uBAAuB,CAAC;;;;kDAI9B;AARU,mBAAmB;IAH/B,IAAA,iBAAM,EAAC;QACN,OAAO,EAAE,CAAC,2BAAY,EAAE,mCAAgB,CAAC;KAC1C,CAAC;GACW,mBAAmB,CA2B/B;AA3BY,kDAAmB","sourcesContent":["import {Module, OnAdd, ProjectPackageJson} from \"@tsed/cli-core\";\nimport {Inject} from \"@tsed/di\";\nimport {JestGenerateHook} from \"./hooks/JestGenerateHook\";\nimport {JestInitHook} from \"./hooks/JestInitHook\";\n\n@Module({\n imports: [JestInitHook, JestGenerateHook]\n})\nexport class CliPluginJestModule {\n @Inject()\n packageJson: ProjectPackageJson;\n\n @OnAdd(\"@tsed/cli-plugin-jest\")\n install() {\n this.addScripts();\n this.addDevDependencies();\n }\n\n addScripts() {\n const runner = this.packageJson.getRunCmd();\n\n this.packageJson.addScripts({\n test: `${runner} test:lint && ${runner} test:coverage`,\n \"test:unit\": \"cross-env NODE_ENV=test jest\",\n \"test:coverage\": `${runner} test:unit`\n });\n }\n\n addDevDependencies() {\n this.packageJson.addDevDependencies({\n \"@types/jest\": \"latest\",\n jest: \"latest\",\n \"ts-jest\": \"latest\"\n });\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JestGenerateHook.js","sourceRoot":"","sources":["../../src/hooks/JestGenerateHook.ts"],"names":[],"mappings":";;;;AACA,6CAAqF;AACrF,sDAAkD;AAElD,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAGhD,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAK3B,cAAc,CAAC,GAAuB;QACpC,MAAM,EAAC,UAAU,EAAC,GAAG,GAAG,CAAC;QACzB,MAAM,EAAC,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAElF,OAAO;YACL;gBACE,KAAK,EAAE,YAAY,GAAG,CAAC,IAAI,kBAAkB,UAAU,WAAW;gBAClE,OAAO;oBACL,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1G,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC1B,YAAY,EACZ,EAAC,GAAG,GAAG,EAAE,eAAe,EAAC,EACzB;oBACE,MAAM,EAAE,GAAG,UAAU,UAAU;oBAC/B,WAAW,EAAE,0BAAY;iBAC1B,CACF;aACJ;YACD;gBACE,KAAK,EAAE,YAAY,GAAG,CAAC,IAAI,sBAAsB,UAAU,uBAAuB;gBAClF,OAAO;oBACL,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC1B,mBAAmB,EACnB,EAAC,GAAG,GAAG,EAAE,eAAe,EAAC,EACzB;oBACE,MAAM,EAAE,GAAG,UAAU,sBAAsB;oBAC3C,WAAW,EAAE,0BAAY;iBAC1B,CACF;aACJ;SACF,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,OAA2B;QAC5C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5E,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,IAAI,WAAW,EAAE,EAAC,WAAW,EAAE,0BAAY,EAAC,CAAC;YACjH,CAAC,CAAC,YAAY,IAAI,WAAW;YAC7B,CAAC,CAAC,2BAA2B,CAAC;QAEhC,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,IAAI,kBAAkB,EAAE,EAAC,WAAW,EAAE,0BAAY,EAAC,CAAC;YAC/H,CAAC,CAAC,YAAY,IAAI,kBAAkB;YACpC,CAAC,CAAC,kCAAkC,CAAC;QAEvC,OAAO;YACL,YAAY;YACZ,mBAAmB;YACnB,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,UAAU,sBAAsB,CAAC,CAAC;SAChH,CAAC;IACJ,CAAC;CACF,CAAA;AA1DC;IADC,IAAA,iBAAM,GAAE;sCACS,6BAAkB;0DAAC;AAGrC;IADC,IAAA,iBAAM,EAAC,UAAU,CAAC;;;;sDAqClB;AAzCU,gBAAgB;IAD5B,IAAA,qBAAU,GAAE;GACA,gBAAgB,CA4D5B;AA5DY,4CAAgB","sourcesContent":["import {GenerateCmdContext} from \"@tsed/cli\";\nimport {Inject, Injectable, OnExec, SrcRendererService, Tasks} from \"@tsed/cli-core\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\nconst normalizePath = require(\"normalize-path\");\n\n@Injectable()\nexport class JestGenerateHook {\n @Inject()\n srcRenderService: SrcRendererService;\n\n @OnExec(\"generate\")\n onGenerateExec(ctx: GenerateCmdContext): Tasks {\n const {symbolPath} = ctx;\n const {specTemplate, integrationTemplate, relativeSrcPath} = this.mapOptions(ctx);\n\n return [\n {\n title: `Generate ${ctx.type} spec file to '${symbolPath}.spec.ts'`,\n enabled() {\n return !(ctx.type === \"server\" || ctx.type.includes(\":dataSource\") || ctx.type.includes(\":connection\"));\n },\n task: () =>\n this.srcRenderService.render(\n specTemplate,\n {...ctx, relativeSrcPath},\n {\n output: `${symbolPath}.spec.ts`,\n templateDir: TEMPLATE_DIR\n }\n )\n },\n {\n title: `Generate ${ctx.type} integration file '${symbolPath}.integration.spec.ts'`,\n enabled() {\n return [\"controller\", \"server\"].includes(ctx.type);\n },\n task: () =>\n this.srcRenderService.render(\n integrationTemplate,\n {...ctx, relativeSrcPath},\n {\n output: `${symbolPath}.integration.spec.ts`,\n templateDir: TEMPLATE_DIR\n }\n )\n }\n ];\n }\n\n private mapOptions(options: GenerateCmdContext) {\n const type = [options.type, options.templateType].filter(Boolean).join(\".\");\n\n const specTemplate = this.srcRenderService.templateExists(`generate/${type}.spec.hbs`, {templateDir: TEMPLATE_DIR})\n ? `generate/${type}.spec.hbs`\n : \"generate/generic.spec.hbs\";\n\n const integrationTemplate = this.srcRenderService.templateExists(`generate/${type}.integration.hbs`, {templateDir: TEMPLATE_DIR})\n ? `generate/${type}.integration.hbs`\n : \"generate/generic.integration.hbs\";\n\n return {\n specTemplate,\n integrationTemplate,\n relativeSrcPath: normalizePath(this.srcRenderService.relativeFrom(`${options.symbolPath}.integration.spec.ts`))\n };\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JestInitHook.js","sourceRoot":"","sources":["../../src/hooks/JestInitHook.ts"],"names":[],"mappings":";;;;AAAA,6CAQwB;AACxB,sDAAkD;AAGlD,IAAa,YAAY,GAAzB,MAAa,YAAY;IAcvB,UAAU;QACR,OAAO;YACL;gBACE,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE;wBAC9D,WAAW,EAAE,GAAG,0BAAY,OAAO;qBACpC,CAAC,CAAC;gBACL,CAAC;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAxBC;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;iDAAC;AAG1C;IADC,IAAA,iBAAM,GAAE;sCACc,6BAAkB;iDAAC;AAG1C;IADC,IAAA,iBAAM,GAAE;sCACe,8BAAmB;kDAAC;AAG5C;IADC,IAAA,iBAAM,GAAE;sCACkB,iCAAsB;qDAAC;AAGlD;IADC,IAAA,iBAAM,EAAC,MAAM,CAAC;;;;8CAYd;AAzBU,YAAY;IADxB,IAAA,qBAAU,GAAE;GACA,YAAY,CA0BxB;AA1BY,oCAAY","sourcesContent":["import {\n Inject,\n Injectable,\n OnExec,\n ProjectPackageJson,\n RootRendererService,\n ScriptsRendererService,\n SrcRendererService\n} from \"@tsed/cli-core\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\n@Injectable()\nexport class JestInitHook {\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected srcRenderer: SrcRendererService;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @Inject()\n protected scriptsRenderer: ScriptsRendererService;\n\n @OnExec(\"init\")\n onInitExec() {\n return [\n {\n title: \"Generate files for jest\",\n task: (ctx: any) => {\n return this.rootRenderer.renderAll([\"jest.config.js.hbs\"], ctx, {\n templateDir: `${TEMPLATE_DIR}/init`\n });\n }\n }\n ];\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,+DAA0D;AAE1D,kBAAe,yCAAmB,CAAC","sourcesContent":["import {CliPluginJestModule} from \"./CliPluginJestModule\";\n\nexport default CliPluginJestModule;\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"]}
|