如何使用stylelint为Jenkins生成checkstyle.xml?

时间:2018-05-04 07:49:49

标签: css jenkins sass checkstyle stylelint

我想知道如何使用stylelint为Jenkins生成checkstyle.xml。在网上搜索,遗憾地发现只有stylelint-checkstyle-formatter,但只有以下"指令":

  

只需阅读有关使用格式化程序的stylelint文档,然后按照这些说明进行操作。

可悲的是,我在documentation ......

中找不到任何内容

2 个答案:

答案 0 :(得分:2)

我终于找到了一种方法(gulp)并希望它在StackOverflow上分享。

首先安装以下依赖项:

yarn add -D stylelint gulp-stylelint stylelint-checkstyle-formatter stylelint-scss stylelint-config-recommended-scss

然后使用以下gulp任务:

gulp.task("scss-lint", function() {
    const gulpStylelint = require('gulp-stylelint');
    const stylelintCheckstyleFormatter = require('stylelint-checkstyle-formatter');

    return gulp
        .src('src/**/*.scss')
        .pipe(gulpStylelint({
            reportOutputDir: 'build/reports/scss-checkstyle',
            reporters: [
                {formatter: 'verbose', console: true},
                {formatter: stylelintCheckstyleFormatter, save: 'checkstyle.xml'},
            ],
        }));
});

最后我的.stylelint

{
    "extends": "stylelint-config-recommended-scss",
    "defaultSeverity": "warning",
    "formatter": "stylelint-checkstyle-formatter",
    "plugins": [
        "stylelint-scss"
    ],
        "rules": {
        "indentation": 4,
            "color-hex-length": null,
            "shorthand-property-no-redundant-values": null,
            "no-missing-end-of-source-newline": null,
            "declaration-empty-line-before": null,
            "at-rule-empty-line-before": null,
            "selector-type-no-unknown": [
            true,
            {
                "ignore": ["custom-elements"],
                "ignoreTypes": ["tooltip"]
            }
        ]
    }
}

答案 1 :(得分:0)

我通过安装stylelint-checkstyle-formatter插件,然后使用--custom-formatter选项将其传递给stylelint来使其通过CLI工作:

npm install stylelint-checkstyle-formatter --save-dev
stylelint --custom-formatter ./node_modules/stylelint-checkstyle-formatter ....