@tsed/cli-plugin-eslint 3.19.1 → 3.19.4

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.
@@ -3,9 +3,17 @@ import { ProjectPackageJson, RootRendererService } from "@tsed/cli-core";
3
3
  export declare class EslintInitHook {
4
4
  protected packageJson: ProjectPackageJson;
5
5
  protected rootRenderer: RootRendererService;
6
- onExec(ctx: InitCmdContext): {
6
+ onExec(ctx: InitCmdContext): ({
7
7
  title: string;
8
8
  task: (ctx: any) => Promise<import("rxjs").Observable<unknown>>;
9
+ } | {
10
+ title: string;
11
+ task: () => void;
12
+ })[];
13
+ onPostInstall(ctx: InitCmdContext): {
14
+ title: string;
15
+ when: () => any;
16
+ task: () => Promise<void>;
9
17
  }[];
10
18
  addScripts(ctx: InitCmdContext): void;
11
19
  addDependencies(ctx: InitCmdContext): void;
@@ -9,9 +9,6 @@ let EslintInitHook = class EslintInitHook {
9
9
  if (!ctx.eslint) {
10
10
  return [];
11
11
  }
12
- this.addScripts(ctx);
13
- this.addDependencies(ctx);
14
- this.addDevDependencies(ctx);
15
12
  return [
16
13
  {
17
14
  title: "Generate files for eslint",
@@ -30,6 +27,31 @@ let EslintInitHook = class EslintInitHook {
30
27
  templateDir: `${templateDir_1.TEMPLATE_DIR}/init`
31
28
  });
32
29
  }
30
+ },
31
+ {
32
+ title: "Add dependencies",
33
+ task: () => {
34
+ this.addScripts(ctx);
35
+ this.addDependencies(ctx);
36
+ this.addDevDependencies(ctx);
37
+ }
38
+ }
39
+ ];
40
+ }
41
+ onPostInstall(ctx) {
42
+ return [
43
+ {
44
+ title: "Add husky prepare task",
45
+ when: () => ctx.lintstaged,
46
+ task: async () => {
47
+ this.packageJson
48
+ .read()
49
+ .addScripts({
50
+ prepare: "is-ci || husky install"
51
+ })
52
+ .write();
53
+ await this.packageJson.runScript("prepare");
54
+ }
33
55
  }
34
56
  ];
35
57
  }
@@ -40,8 +62,7 @@ let EslintInitHook = class EslintInitHook {
40
62
  });
41
63
  if (ctx.prettier) {
42
64
  this.packageJson.addScripts({
43
- prettier: "prettier '**/*.{ts,js,json,md,yml,yaml}' --write",
44
- prepare: "is-ci || husky install"
65
+ prettier: "prettier '**/*.{ts,js,json,md,yml,yaml}' --write"
45
66
  });
46
67
  }
47
68
  }
@@ -84,6 +105,12 @@ tslib_1.__decorate([
84
105
  tslib_1.__metadata("design:paramtypes", [Object]),
85
106
  tslib_1.__metadata("design:returntype", void 0)
86
107
  ], EslintInitHook.prototype, "onExec", null);
108
+ tslib_1.__decorate([
109
+ cli_core_1.OnPostInstall("init"),
110
+ tslib_1.__metadata("design:type", Function),
111
+ tslib_1.__metadata("design:paramtypes", [Object]),
112
+ tslib_1.__metadata("design:returntype", void 0)
113
+ ], EslintInitHook.prototype, "onPostInstall", null);
87
114
  EslintInitHook = tslib_1.__decorate([
88
115
  cli_core_1.Injectable()
89
116
  ], EslintInitHook);
@@ -1 +1 @@
1
- {"version":3,"file":"EslintInitHook.js","sourceRoot":"","sources":["../../src/hooks/EslintInitHook.ts"],"names":[],"mappings":";;;;AACA,6CAAmG;AACnG,sDAAkD;AAGlD,IAAa,cAAc,GAA3B,MAAa,cAAc;IAQzB,MAAM,CAAC,GAAmB;QACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACf,OAAO,EAAE,CAAC;SACX;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7B,OAAO;YACL;gBACE,KAAK,EAAE,2BAA2B;gBAClC,IAAI,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAChC;wBACE,eAAe;wBACf,GAAG,CAAC,UAAU,IAAI,yBAAyB;wBAC3C,GAAG,CAAC,UAAU,IAAI,uBAAuB;wBACzC,GAAG,CAAC,UAAU,IAAI,uBAAuB;wBACzC,GAAG,CAAC,UAAU,IAAI,wBAAwB;wBAC1C,GAAG,CAAC,UAAU,IAAI,uBAAuB;wBACzC,GAAG,CAAC,UAAU,IAAI,2BAA2B;wBAC7C,GAAG,CAAC,QAAQ,IAAI,qBAAqB;wBACrC,GAAG,CAAC,QAAQ,IAAI,iBAAiB;qBAClC,EACD,GAAG,EACH;wBACE,WAAW,EAAE,GAAG,0BAAY,OAAO;qBACpC,CACF,CAAC;gBACJ,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,GAAmB;QAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC1B,WAAW,EAAE,uBAAuB;YACpC,eAAe,EAAE,6BAA6B;SAC/C,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;gBAC1B,QAAQ,EAAE,kDAAkD;gBAC5D,OAAO,EAAE,wBAAwB;aAClC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB,CAAC,GAAmB;QACpC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC;YACE,MAAM,EAAE,QAAQ;YAChB,wBAAwB,EAAE,QAAQ;YAClC,wBAAwB,EAAE,QAAQ;YAClC,2BAA2B,EAAE,QAAQ;YACrC,kCAAkC,EAAE,QAAQ;SAC7C,EACD,GAAG,CACJ,CAAC;QAEF,IAAI,GAAG,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC;gBACE,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,QAAQ;gBACf,aAAa,EAAE,QAAQ;aACxB,EACD,GAAG,CACJ,CAAC;SACH;QAED,IAAI,GAAG,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC;gBACE,QAAQ,EAAE,QAAQ;aACnB,EACD,GAAG,CACJ,CAAC;SACH;IACH,CAAC;CACF,CAAA;AA3FC;IADC,iBAAM,EAAE;sCACc,6BAAkB;mDAAC;AAG1C;IADC,iBAAM,EAAE;sCACe,8BAAmB;oDAAC;AAG5C;IADC,iBAAM,CAAC,MAAM,CAAC;;;;4CAkCd;AAzCU,cAAc;IAD1B,qBAAU,EAAE;GACA,cAAc,CA6F1B;AA7FY,wCAAc","sourcesContent":["import {InitCmdContext} from \"@tsed/cli\";\nimport {Inject, Injectable, OnExec, 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 this.addScripts(ctx);\n this.addDependencies(ctx);\n this.addDevDependencies(ctx);\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 }\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 prepare: \"is-ci || husky install\"\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
+ {"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 when: () => 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/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@tsed/cli-plugin-eslint",
3
- "version": "3.19.1",
3
+ "version": "3.19.4",
4
4
  "main": "./lib/index.js",
5
5
  "typings": "./lib/index.d.ts",
6
6
  "description": "Ts.ED CLI plugin. Add EsLint support",
7
7
  "devDependencies": {
8
- "@tsed/cli": "3.19.1",
9
- "@tsed/cli-core": "3.19.1"
8
+ "@tsed/cli": "3.19.4",
9
+ "@tsed/cli-core": "3.19.4"
10
10
  },
11
11
  "scripts": {
12
12
  "build": "tsc --build tsconfig.compile.json",
@@ -0,0 +1 @@
1
+ _
@@ -0,0 +1,31 @@
1
+ #!/bin/sh
2
+ if [ -z "$husky_skip_init" ]; then
3
+ debug () {
4
+ if [ "$HUSKY_DEBUG" = "1" ]; then
5
+ echo "husky (debug) - $1"
6
+ fi
7
+ }
8
+
9
+ readonly hook_name="$(basename "$0")"
10
+ debug "starting $hook_name..."
11
+
12
+ if [ "$HUSKY" = "0" ]; then
13
+ debug "HUSKY env variable is set to 0, skipping hook"
14
+ exit 0
15
+ fi
16
+
17
+ if [ -f ~/.huskyrc ]; then
18
+ debug "sourcing ~/.huskyrc"
19
+ . ~/.huskyrc
20
+ fi
21
+
22
+ export readonly husky_skip_init=1
23
+ sh -e "$0" "$@"
24
+ exitCode="$?"
25
+
26
+ if [ $exitCode != 0 ]; then
27
+ echo "husky - $hook_name hook exited with code $exitCode (error)"
28
+ fi
29
+
30
+ exit $exitCode
31
+ fi
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+ . "$(dirname "$0")/_/husky.sh"
3
+
4
+ git update-index --again
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+ . "$(dirname "$0")/_/husky.sh"
3
+
4
+ npx lint-staged $1