原创

ng-alain中的husky使用问题与解决

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://liumiaocn.blog.csdn.net/article/details/102555989

在Angular的开发过程中,使用husky可以实现在代码提交的时候通过husky的hook来回掉一些定制化的需求,最常见的使用场景就是代码ng lint的代码检查。而ng-alain也将husky集成至其中。这篇文章memo一下一个常见问题的对应方法。

现象

  • ng-alain版本:8.5.0
  • 现象说明:commit时由husky在pre-commit阶段调用lint,结果提示如下错误信息
> tslint -p tsconfig.app.json -c tslint.json "src/**/*.ts" --fix "/private/tmp/aaa/glaucus/ui/src/test.ts"  ...省略
'/private/tmp/aaa/glaucus/ui/src/test.ts' is not included in project.

对应方法

经过确认:husky中又如下两条命令需要进行执行:

  • 检查typescript代码:npm run lint:ts
  • 检查less代码:npm run lint:style

而手动执行此两项命令,并无实际错误,因此判断此应为配置或者本身存在问题。因为husky本身的功能就是识别出提交的时点调用我们的预设检查而已。所以将husky里面的hook直接设定为上述两行代码,发现并没有什么问题,而看了一下原先的husky的配置也似乎没有什么问题,这里先记录一下,如下是修改前后的diff信息:

liumiaocn:ui liumiao$ git diff
diff --git a/ui/package.json b/ui/package.json
index 967ce78..f4a0369 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -99,22 +99,7 @@
   },
   "husky": {
     "hooks": {
-      "pre-commit": "npm run lint-staged"
+      "pre-commit": "npm run lint:ts && npm run lint:style"
     }
-  },
-  "lint-staged": {
-    "linters": {
-      "src/**/*.ts": [
-        "npm run lint:ts",
-        "git add"
-      ],
-      "src/**/*.less": [
-        "npm run lint:style",
-        "git add"
-      ]
-    },
-    "ignore": [
-      "src/assets/*"
-    ]
   }
 }
liumiaocn:ui liumiao$

结果确认

上述修改之后,执行commit可以看到预定的lint检查得以正常执行。

liumiaocn:ui liumiao$ git commit -m "change husky format for unkown reason"
husky > pre-commit (node v10.15.3)

> ui@8.5.0 lint:ts /private/tmp/aaa/glaucus/ui
> tslint -p tsconfig.app.json -c tslint.json "src/**/*.ts" --fix


> ui@8.5.0 lint:style /private/tmp/aaa/glaucus/ui
> stylelint "src/**/*.less" --syntax less --fix

[master 44fb1ae] change husky format for unkown reason
 1 file changed, 1 insertion(+), 16 deletions(-)
liumiaocn:ui liumiao$ 
文章最后发布于: 2019-10-14 20:29:08
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览