@tsed/cli-plugin-eslint 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 (31) hide show
  1. package/lib/{CliPluginEslintModule.js → cjs/CliPluginEslintModule.js} +0 -0
  2. package/lib/cjs/CliPluginEslintModule.js.map +1 -0
  3. package/lib/{hooks → cjs/hooks}/EslintInitHook.js +2 -1
  4. package/lib/cjs/hooks/EslintInitHook.js.map +1 -0
  5. package/lib/{index.js → cjs/index.js} +2 -0
  6. package/lib/cjs/index.js.map +1 -0
  7. package/lib/cjs/package.json +3 -0
  8. package/lib/cjs/utils/templateDir.js +13 -0
  9. package/lib/cjs/utils/templateDir.js.map +1 -0
  10. package/lib/esm/CliPluginEslintModule.js +12 -0
  11. package/lib/esm/CliPluginEslintModule.js.map +1 -0
  12. package/lib/esm/hooks/EslintInitHook.js +116 -0
  13. package/lib/esm/hooks/EslintInitHook.js.map +1 -0
  14. package/lib/esm/index.js +4 -0
  15. package/lib/esm/index.js.map +1 -0
  16. package/lib/esm/package.json +3 -0
  17. package/lib/esm/utils/templateDir.js +9 -0
  18. package/lib/esm/utils/templateDir.js.map +1 -0
  19. package/lib/{CliPluginEslintModule.d.ts → types/CliPluginEslintModule.d.ts} +0 -0
  20. package/lib/{hooks → types/hooks}/EslintInitHook.d.ts +0 -0
  21. package/lib/{index.d.ts → types/index.d.ts} +1 -0
  22. package/lib/{utils → types/utils}/templateDir.d.ts +0 -0
  23. package/package.json +21 -9
  24. package/templates/init/.eslintignore.hbs +1 -0
  25. package/templates/init/{lint-staged.config.js.hbs → .lintstagedrc.json.hbs} +2 -2
  26. package/tsconfig.compile.esm.json +12 -0
  27. package/lib/CliPluginEslintModule.js.map +0 -1
  28. package/lib/hooks/EslintInitHook.js.map +0 -1
  29. package/lib/index.js.map +0 -1
  30. package/lib/utils/templateDir.js +0 -6
  31. package/lib/utils/templateDir.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliPluginEslintModule.js","sourceRoot":"","sources":["../../src/CliPluginEslintModule.ts"],"names":[],"mappings":";;;;AAAA,6CAAsC;AACtC,2DAAsD;AAKtD,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;CAAG,CAAA;AAAxB,qBAAqB;IAHjC,IAAA,iBAAM,EAAC;QACN,OAAO,EAAE,CAAC,+BAAc,CAAC;KAC1B,CAAC;GACW,qBAAqB,CAAG;AAAxB,sDAAqB","sourcesContent":["import {Module} from \"@tsed/cli-core\";\nimport {EslintInitHook} from \"./hooks/EslintInitHook\";\n\n@Module({\n imports: [EslintInitHook]\n})\nexport class CliPluginEslintModule {}\n"]}
@@ -15,12 +15,13 @@ let EslintInitHook = class EslintInitHook {
15
15
  task: (ctx) => {
16
16
  return this.rootRenderer.renderAll([
17
17
  ".eslintrc.hbs",
18
+ ".eslintignore.hbs",
18
19
  ctx.lintstaged && ".husky/_/.gitignore.hbs",
19
20
  ctx.lintstaged && ".husky/_/husky.sh.hbs",
20
21
  ctx.lintstaged && ".husky/.gitignore.hbs",
21
22
  ctx.lintstaged && ".husky/post-commit.hbs",
22
23
  ctx.lintstaged && ".husky/pre-commit.hbs",
23
- ctx.lintstaged && "lint-staged.config.js.hbs",
24
+ ctx.lintstaged && ".lintstagedrc.json.hbs",
24
25
  ctx.prettier && ".prettierignore.hbs",
25
26
  ctx.prettier && ".prettierrc.hbs"
26
27
  ], ctx, {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EslintInitHook.js","sourceRoot":"","sources":["../../../src/hooks/EslintInitHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {Inject, Injectable, OnExec, OnPostInstall, ProjectPackageJson, RootRendererService} from \"@tsed/cli-core\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\n@Injectable()\nexport class EslintInitHook {\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @OnExec(\"init\")\n onExec(ctx: InitCmdContext) {\n if (!ctx.eslint) {\n return [];\n }\n\n return [\n {\n title: \"Generate files for eslint\",\n task: (ctx: any) => {\n return this.rootRenderer.renderAll(\n [\n \".eslintrc.hbs\",\n \".eslintignore.hbs\",\n ctx.lintstaged && \".husky/_/.gitignore.hbs\",\n ctx.lintstaged && \".husky/_/husky.sh.hbs\",\n ctx.lintstaged && \".husky/.gitignore.hbs\",\n ctx.lintstaged && \".husky/post-commit.hbs\",\n ctx.lintstaged && \".husky/pre-commit.hbs\",\n ctx.lintstaged && \".lintstagedrc.json.hbs\",\n ctx.prettier && \".prettierignore.hbs\",\n ctx.prettier && \".prettierrc.hbs\"\n ],\n ctx,\n {\n templateDir: `${TEMPLATE_DIR}/init`\n }\n );\n }\n },\n {\n title: \"Add dependencies\",\n task: () => {\n this.addScripts(ctx);\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n }\n }\n ];\n }\n\n @OnPostInstall(\"init\")\n onPostInstall(ctx: InitCmdContext) {\n return [\n {\n title: \"Add husky prepare task\",\n skip: !ctx.lintstaged,\n task: async () => {\n this.packageJson\n .read()\n .addScripts({\n prepare: \"is-ci || husky install\"\n })\n .write();\n\n await this.packageJson.runScript(\"prepare\");\n }\n }\n ];\n }\n\n addScripts(ctx: InitCmdContext) {\n this.packageJson.addScripts({\n \"test:lint\": \"eslint '**/*.{ts,js}'\",\n \"test:lint:fix\": \"eslint '**/*.{ts,js}' --fix\"\n });\n\n if (ctx.prettier) {\n this.packageJson.addScripts({\n prettier: \"prettier '**/*.{ts,js,json,md,yml,yaml}' --write\"\n });\n }\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({}, ctx);\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies(\n {\n eslint: \"latest\",\n \"eslint-config-prettier\": \"latest\",\n \"eslint-plugin-prettier\": \"latest\",\n \"@typescript-eslint/parser\": \"latest\",\n \"@typescript-eslint/eslint-plugin\": \"latest\"\n },\n ctx\n );\n\n if (ctx.lintstaged) {\n this.packageJson.addDevDependencies(\n {\n \"is-ci\": \"latest\",\n husky: \"latest\",\n \"lint-staged\": \"latest\"\n },\n ctx\n );\n }\n\n if (ctx.prettier) {\n this.packageJson.addDevDependencies(\n {\n prettier: \"latest\"\n },\n ctx\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 CliPluginEslintModule_1 = require("./CliPluginEslintModule");
5
+ tslib_1.__exportStar(require("./utils/templateDir"), exports);
4
6
  exports.default = CliPluginEslintModule_1.CliPluginEslintModule;
5
7
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mEAA8D;AAE9D,8DAAoC;AAEpC,kBAAe,6CAAqB,CAAC","sourcesContent":["import {CliPluginEslintModule} from \"./CliPluginEslintModule\";\n\nexport * from \"./utils/templateDir\";\n\nexport default CliPluginEslintModule;\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -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,12 @@
1
+ import { __decorate } from "tslib";
2
+ import { Module } from "@tsed/cli-core";
3
+ import { EslintInitHook } from "./hooks/EslintInitHook.js";
4
+ let CliPluginEslintModule = class CliPluginEslintModule {
5
+ };
6
+ CliPluginEslintModule = __decorate([
7
+ Module({
8
+ imports: [EslintInitHook]
9
+ })
10
+ ], CliPluginEslintModule);
11
+ export { CliPluginEslintModule };
12
+ //# sourceMappingURL=CliPluginEslintModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CliPluginEslintModule.js","sourceRoot":"","sources":["../../src/CliPluginEslintModule.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAKtD,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;CAAG,CAAA;AAAxB,qBAAqB;IAHjC,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,cAAc,CAAC;KAC1B,CAAC;GACW,qBAAqB,CAAG;SAAxB,qBAAqB","sourcesContent":["import {Module} from \"@tsed/cli-core\";\nimport {EslintInitHook} from \"./hooks/EslintInitHook\";\n\n@Module({\n imports: [EslintInitHook]\n})\nexport class CliPluginEslintModule {}\n"]}
@@ -0,0 +1,116 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Inject, Injectable, OnExec, OnPostInstall, ProjectPackageJson, RootRendererService } from "@tsed/cli-core";
3
+ import { TEMPLATE_DIR } from "../utils/templateDir.js";
4
+ let EslintInitHook = class EslintInitHook {
5
+ onExec(ctx) {
6
+ if (!ctx.eslint) {
7
+ return [];
8
+ }
9
+ return [
10
+ {
11
+ title: "Generate files for eslint",
12
+ task: (ctx) => {
13
+ return this.rootRenderer.renderAll([
14
+ ".eslintrc.hbs",
15
+ ".eslintignore.hbs",
16
+ ctx.lintstaged && ".husky/_/.gitignore.hbs",
17
+ ctx.lintstaged && ".husky/_/husky.sh.hbs",
18
+ ctx.lintstaged && ".husky/.gitignore.hbs",
19
+ ctx.lintstaged && ".husky/post-commit.hbs",
20
+ ctx.lintstaged && ".husky/pre-commit.hbs",
21
+ ctx.lintstaged && ".lintstagedrc.json.hbs",
22
+ ctx.prettier && ".prettierignore.hbs",
23
+ ctx.prettier && ".prettierrc.hbs"
24
+ ], ctx, {
25
+ templateDir: `${TEMPLATE_DIR}/init`
26
+ });
27
+ }
28
+ },
29
+ {
30
+ title: "Add dependencies",
31
+ task: () => {
32
+ this.addScripts(ctx);
33
+ this.addDependencies(ctx);
34
+ this.addDevDependencies(ctx);
35
+ }
36
+ }
37
+ ];
38
+ }
39
+ onPostInstall(ctx) {
40
+ return [
41
+ {
42
+ title: "Add husky prepare task",
43
+ skip: !ctx.lintstaged,
44
+ task: async () => {
45
+ this.packageJson
46
+ .read()
47
+ .addScripts({
48
+ prepare: "is-ci || husky install"
49
+ })
50
+ .write();
51
+ await this.packageJson.runScript("prepare");
52
+ }
53
+ }
54
+ ];
55
+ }
56
+ addScripts(ctx) {
57
+ this.packageJson.addScripts({
58
+ "test:lint": "eslint '**/*.{ts,js}'",
59
+ "test:lint:fix": "eslint '**/*.{ts,js}' --fix"
60
+ });
61
+ if (ctx.prettier) {
62
+ this.packageJson.addScripts({
63
+ prettier: "prettier '**/*.{ts,js,json,md,yml,yaml}' --write"
64
+ });
65
+ }
66
+ }
67
+ addDependencies(ctx) {
68
+ this.packageJson.addDependencies({}, ctx);
69
+ }
70
+ addDevDependencies(ctx) {
71
+ this.packageJson.addDevDependencies({
72
+ eslint: "latest",
73
+ "eslint-config-prettier": "latest",
74
+ "eslint-plugin-prettier": "latest",
75
+ "@typescript-eslint/parser": "latest",
76
+ "@typescript-eslint/eslint-plugin": "latest"
77
+ }, ctx);
78
+ if (ctx.lintstaged) {
79
+ this.packageJson.addDevDependencies({
80
+ "is-ci": "latest",
81
+ husky: "latest",
82
+ "lint-staged": "latest"
83
+ }, ctx);
84
+ }
85
+ if (ctx.prettier) {
86
+ this.packageJson.addDevDependencies({
87
+ prettier: "latest"
88
+ }, ctx);
89
+ }
90
+ }
91
+ };
92
+ __decorate([
93
+ Inject(),
94
+ __metadata("design:type", ProjectPackageJson)
95
+ ], EslintInitHook.prototype, "packageJson", void 0);
96
+ __decorate([
97
+ Inject(),
98
+ __metadata("design:type", RootRendererService)
99
+ ], EslintInitHook.prototype, "rootRenderer", void 0);
100
+ __decorate([
101
+ OnExec("init"),
102
+ __metadata("design:type", Function),
103
+ __metadata("design:paramtypes", [Object]),
104
+ __metadata("design:returntype", void 0)
105
+ ], EslintInitHook.prototype, "onExec", null);
106
+ __decorate([
107
+ OnPostInstall("init"),
108
+ __metadata("design:type", Function),
109
+ __metadata("design:paramtypes", [Object]),
110
+ __metadata("design:returntype", void 0)
111
+ ], EslintInitHook.prototype, "onPostInstall", null);
112
+ EslintInitHook = __decorate([
113
+ Injectable()
114
+ ], EslintInitHook);
115
+ export { EslintInitHook };
116
+ //# sourceMappingURL=EslintInitHook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EslintInitHook.js","sourceRoot":"","sources":["../../../src/hooks/EslintInitHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {Inject, Injectable, OnExec, OnPostInstall, ProjectPackageJson, RootRendererService} from \"@tsed/cli-core\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\n@Injectable()\nexport class EslintInitHook {\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @OnExec(\"init\")\n onExec(ctx: InitCmdContext) {\n if (!ctx.eslint) {\n return [];\n }\n\n return [\n {\n title: \"Generate files for eslint\",\n task: (ctx: any) => {\n return this.rootRenderer.renderAll(\n [\n \".eslintrc.hbs\",\n \".eslintignore.hbs\",\n ctx.lintstaged && \".husky/_/.gitignore.hbs\",\n ctx.lintstaged && \".husky/_/husky.sh.hbs\",\n ctx.lintstaged && \".husky/.gitignore.hbs\",\n ctx.lintstaged && \".husky/post-commit.hbs\",\n ctx.lintstaged && \".husky/pre-commit.hbs\",\n ctx.lintstaged && \".lintstagedrc.json.hbs\",\n ctx.prettier && \".prettierignore.hbs\",\n ctx.prettier && \".prettierrc.hbs\"\n ],\n ctx,\n {\n templateDir: `${TEMPLATE_DIR}/init`\n }\n );\n }\n },\n {\n title: \"Add dependencies\",\n task: () => {\n this.addScripts(ctx);\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n }\n }\n ];\n }\n\n @OnPostInstall(\"init\")\n onPostInstall(ctx: InitCmdContext) {\n return [\n {\n title: \"Add husky prepare task\",\n skip: !ctx.lintstaged,\n task: async () => {\n this.packageJson\n .read()\n .addScripts({\n prepare: \"is-ci || husky install\"\n })\n .write();\n\n await this.packageJson.runScript(\"prepare\");\n }\n }\n ];\n }\n\n addScripts(ctx: InitCmdContext) {\n this.packageJson.addScripts({\n \"test:lint\": \"eslint '**/*.{ts,js}'\",\n \"test:lint:fix\": \"eslint '**/*.{ts,js}' --fix\"\n });\n\n if (ctx.prettier) {\n this.packageJson.addScripts({\n prettier: \"prettier '**/*.{ts,js,json,md,yml,yaml}' --write\"\n });\n }\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({}, ctx);\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies(\n {\n eslint: \"latest\",\n \"eslint-config-prettier\": \"latest\",\n \"eslint-plugin-prettier\": \"latest\",\n \"@typescript-eslint/parser\": \"latest\",\n \"@typescript-eslint/eslint-plugin\": \"latest\"\n },\n ctx\n );\n\n if (ctx.lintstaged) {\n this.packageJson.addDevDependencies(\n {\n \"is-ci\": \"latest\",\n husky: \"latest\",\n \"lint-staged\": \"latest\"\n },\n ctx\n );\n }\n\n if (ctx.prettier) {\n this.packageJson.addDevDependencies(\n {\n prettier: \"latest\"\n },\n ctx\n );\n }\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { CliPluginEslintModule } from "./CliPluginEslintModule.js";
2
+ export * from "./utils/templateDir.js";
3
+ export default CliPluginEslintModule;
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAE9D,cAAc,qBAAqB,CAAC;AAEpC,eAAe,qBAAqB,CAAC","sourcesContent":["import {CliPluginEslintModule} from \"./CliPluginEslintModule\";\n\nexport * from \"./utils/templateDir\";\n\nexport default CliPluginEslintModule;\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -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
@@ -1,2 +1,3 @@
1
1
  import { CliPluginEslintModule } from "./CliPluginEslintModule";
2
+ export * from "./utils/templateDir";
2
3
  export default CliPluginEslintModule;
File without changes
package/package.json CHANGED
@@ -1,16 +1,25 @@
1
1
  {
2
2
  "name": "@tsed/cli-plugin-eslint",
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 EsLint support",
7
- "devDependencies": {
8
- "@tsed/cli": "3.20.16",
9
- "@tsed/cli-core": "3.20.16"
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": "tsc --build tsconfig.compile.json",
13
- "build:doc": "tsc --build tsconfig.doc.json"
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-eslint",
24
33
  "author": "Romain Lenzotti",
25
- "license": "MIT"
34
+ "license": "MIT",
35
+ "publishConfig": {
36
+ "tag": "rc"
37
+ }
26
38
  }
@@ -0,0 +1 @@
1
+ dist
@@ -1,4 +1,4 @@
1
- module.exports = { {{#if prettier}}
1
+ { {{#if prettier}}
2
2
  "**/*.{ts,js}": ["eslint --fix"],{{/if}}
3
3
  "**/*.{ts,js,json,md,yml,yaml}": ["prettier --write"]
4
- };
4
+ }
@@ -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":"CliPluginEslintModule.js","sourceRoot":"","sources":["../src/CliPluginEslintModule.ts"],"names":[],"mappings":";;;;AAAA,6CAAsC;AACtC,2DAAsD;AAKtD,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;CAAG,CAAA;AAAxB,qBAAqB;IAHjC,IAAA,iBAAM,EAAC;QACN,OAAO,EAAE,CAAC,+BAAc,CAAC;KAC1B,CAAC;GACW,qBAAqB,CAAG;AAAxB,sDAAqB","sourcesContent":["import {Module} from \"@tsed/cli-core\";\nimport {EslintInitHook} from \"./hooks/EslintInitHook\";\n\n@Module({\n imports: [EslintInitHook]\n})\nexport class CliPluginEslintModule {}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EslintInitHook.js","sourceRoot":"","sources":["../../src/hooks/EslintInitHook.ts"],"names":[],"mappings":"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","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {Inject, Injectable, OnExec, OnPostInstall, ProjectPackageJson, RootRendererService} from \"@tsed/cli-core\";\nimport {TEMPLATE_DIR} from \"../utils/templateDir\";\n\n@Injectable()\nexport class EslintInitHook {\n @Inject()\n protected packageJson: ProjectPackageJson;\n\n @Inject()\n protected rootRenderer: RootRendererService;\n\n @OnExec(\"init\")\n onExec(ctx: InitCmdContext) {\n if (!ctx.eslint) {\n return [];\n }\n\n return [\n {\n title: \"Generate files for eslint\",\n task: (ctx: any) => {\n return this.rootRenderer.renderAll(\n [\n \".eslintrc.hbs\",\n ctx.lintstaged && \".husky/_/.gitignore.hbs\",\n ctx.lintstaged && \".husky/_/husky.sh.hbs\",\n ctx.lintstaged && \".husky/.gitignore.hbs\",\n ctx.lintstaged && \".husky/post-commit.hbs\",\n ctx.lintstaged && \".husky/pre-commit.hbs\",\n ctx.lintstaged && \"lint-staged.config.js.hbs\",\n ctx.prettier && \".prettierignore.hbs\",\n ctx.prettier && \".prettierrc.hbs\"\n ],\n ctx,\n {\n templateDir: `${TEMPLATE_DIR}/init`\n }\n );\n }\n },\n {\n title: \"Add dependencies\",\n task: () => {\n this.addScripts(ctx);\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\n }\n }\n ];\n }\n\n @OnPostInstall(\"init\")\n onPostInstall(ctx: InitCmdContext) {\n return [\n {\n title: \"Add husky prepare task\",\n skip: !ctx.lintstaged,\n task: async () => {\n this.packageJson\n .read()\n .addScripts({\n prepare: \"is-ci || husky install\"\n })\n .write();\n\n await this.packageJson.runScript(\"prepare\");\n }\n }\n ];\n }\n\n addScripts(ctx: InitCmdContext) {\n this.packageJson.addScripts({\n \"test:lint\": \"eslint '**/*.{ts,js}'\",\n \"test:lint:fix\": \"eslint '**/*.{ts,js}' --fix\"\n });\n\n if (ctx.prettier) {\n this.packageJson.addScripts({\n prettier: \"prettier '**/*.{ts,js,json,md,yml,yaml}' --write\"\n });\n }\n }\n\n addDependencies(ctx: InitCmdContext) {\n this.packageJson.addDependencies({}, ctx);\n }\n\n addDevDependencies(ctx: InitCmdContext) {\n this.packageJson.addDevDependencies(\n {\n eslint: \"latest\",\n \"eslint-config-prettier\": \"latest\",\n \"eslint-plugin-prettier\": \"latest\",\n \"@typescript-eslint/parser\": \"latest\",\n \"@typescript-eslint/eslint-plugin\": \"latest\"\n },\n ctx\n );\n\n if (ctx.lintstaged) {\n this.packageJson.addDevDependencies(\n {\n \"is-ci\": \"latest\",\n husky: \"latest\",\n \"lint-staged\": \"latest\"\n },\n ctx\n );\n }\n\n if (ctx.prettier) {\n this.packageJson.addDevDependencies(\n {\n prettier: \"latest\"\n },\n ctx\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,mEAA8D;AAE9D,kBAAe,6CAAqB,CAAC","sourcesContent":["import {CliPluginEslintModule} from \"./CliPluginEslintModule\";\n\nexport default CliPluginEslintModule;\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"]}