程序到lint YAML文件?

因此,我的团队目前正在开发一个使用大量YAML的应用程序,我们需要为常见格式强制执行一些规则.最好的是命令行程序,以便我们可以将其插入CI.

最重要的是,我们想要强制列表的2空格缩进和缩进,如下所示:

list:
- not indented
- not indented            # this is BAD

list:
  - indented
  - indented              # this is GOOD

mapping:
     5 space indentation  # this is BAD

另外,防止尾随空格和无意义语法也会很棒.

我发现一些网站检查YAML的有效性(即是否可以加载它) – 但没有掉毛. yaml-lint也是如此,这是一个仅仅“检查你的YAML文件是否可以加载”的Ruby应用程序.

是否有YAML的linter,类似于flake8 for python或eslint for javascript?

最佳答案 您正在寻找
yamllint.在您的CI中:

sudo pip install yamllint
yamllint file1.yml ...

它具有高度可配置性.具体来说,对于2空格缩进和强制列表
缩进,conf将是:

rules:
  indentation: {spaces: 2, indent-sequences: yes}

(它还处理尾随空格,行长等)

玩得开心!

点赞