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

在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$ 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值