用于Flake8、Isort和Eslint的Git挂钩
precog的Python项目详细描述
#预编码 为了在你犯罪之前阻止你的罪行。
安装
要从pypi安装,请运行pip install preco。安装
gitwook,运行preco。这将尝试写入预提交文件
(
用法
一旦安装了preco,就会检查您的提交
顺从。默认情况下,如果有任何flake8,isort
或
示例:
要完全跳过所有检查(如对于正在进行的工作提交): ` STRICT="" git commit -m "wip" ` 这仍然会打印问题,但会让提交完成。
跳过ISORT: ` ISORT_STRICT="" git commit -m "wip - todo: fix imports" `
isort_force选项
这个有点疯狂。因为isort知道如何解决问题 它发现(虽然flek8和eslint没有),而不是抱怨 对于您,此选项告诉precog将更改的文件调整为 符合isort检查。虽然这有点吓人 默认情况下禁用。
如果一个文件的所有部分都是为了提交而暂存的,那么 直接向前:precog将只在文件上运行isort,然后 重新添加它以将这些更改包含在提交中。但如果只是 文件已暂存,因此我们不想添加整个文件。所以我们 使用-k选项来保存未保存的 变化。然后我们运行isort,添加文件,然后弹出存储。
这里面几乎肯定有边缘的箱子,如果它弄脏了你的 承诺,那我很抱歉。出于你的悲伤,公关/问题可能会上升到 别再发生了。
与eslint集成
要对javascript进行lint操作,preco将对任何更改调用eslint .js文件。因为它不是python依赖项,所以安装preco 不尝试安装eslint,但将尝试在 节点模块/.bin/eslint。如果找不到它,它会假设 是全局安装的。您可以设置环境 如果找不到变量-如果是,您可能希望将其设置为 预提交文件中的默认值。