2016-01-27 13 views
1

所以我的團隊目前正在研究一個使用大量YAML的應用程序,並且我們需要強制執行一些通用格式的規則。最好的將是一個命令行程序,以便我們可以將其插入到CI中。程序來皮毛YAML文件?

最重要的是,我們要強制列表的2空間壓痕和縮進,就像這樣:

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

list: 
    - indented 
    - indented    # this is GOOD 

mapping: 
    5 space indentation # this is BAD 

也將是巨大的,以防止尾隨空格和非意識的語法。

我發現了一些檢查YAML有效性的網站(即是否可以加載它) - 但沒有linting。 yaml-lint是一個Ruby應用程序,它只能「檢查你的YAML文件是否可以被加載」。

是否有YAML的短絨,類似於flake8 for python或eslint for javascript?

+0

@world:爲什麼倒票? – dreftymac

回答

1

您正在尋找yamllint。在您的CI中:

sudo pip install yamllint 
yamllint file1.yml ... 

它是高度可配置的。具體而言,對於2空間縮進和強制列表 壓痕,通過conf是:

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

(它也處理尾隨空格,線路長度等)

玩得開心!