我正在尝试为ember-cli制作scss lint addon(我知道一个已经存在Ember-cli-scssslint,但我想要一个可以自定义的)。我想知道是否有人在使用西兰花 - SCSS-lint有经验,因为我在造型树上喂食并有SCSS-lint实际上抓住了我的文件。
我到目前为止写的代码是:
module.exports = {
name: 'ember-cli-scss-lint',
included: function(app) {
this._super.included.apply(this, arguments);
this.app = app;
var _this = this;
app.registry.add('css', {
name: this.name,
ext: 'scss',
toTree: function(tree) {
var options, defaultOptions, scsslintConfig;
options = app.options.scsslintOptions || {};
defaultOptions = {
config: path.join(_this.project.root, '/.scss-lint.yml');,
bundleExec: false
};
scsslintConfig = merge(defaultOptions, options);
return scssLint(tree, scsslintConfig);
}
});
}
};
其中config是一个包含SCSS-lint配置的YAML文件。使用此设置,通过拨打scssLint
的呼叫没有任何文件。我做错了什么事吗?
我无法使用从toTree
传递的树,因此我安定下来以从应用程序app.trees.style
抓住样式树,这似乎已经完成了技巧。
我觉得这比ember-cli更限制西兰花。
如果有人可以提出改进,您可以在此处查看我的代码:Ember-CLI-SCSSLINT