stylelint-scss-是否可以禁用双斜杠注释?

时间:2020-10-02 09:16:38

标签: styled-components stylelint

我正在使用style-lint插入 Scss 文件和 styled-components (通过使用不同的styleint.config文件)。

注释掉有效的CSS(https://github.com/styled-components/stylelint-processor-styled-components/issues/299)后,Stylint似乎有待解决。

我可以不使用双斜杠注释,而可以使用块注释(/* block comment */),但是我想要保持一致:样式组件中的css和Scss文件共享相同的css语法。

我的想法是禁止对样式组件和Scss文件使用双斜杠注释。

// file: stylelint.config.styledComponents.js

module.exports = {
  processors: [
    'stylelint-processor-styled-components',
  ],
  extends: [
    'stylelint-config-standard',
    'stylelint-config-styled-components',
  ],
  rules: {
    // enforce block comments
    'no-invalid-double-slash-comments': true,
  },
};

这是关于Scss文件的:

// file: stylelint.config.scss.js

module.exports = {
  extends: [
    'stylelint-config-standard',
  ],
  plugins: [
    'stylelint-scss',
  ],
  rules: {
    //
    // `scss/at-rule-no-unknown` is basically a wrapper around the mentioned core rule,
    //   but with added SCSS-specific @-directives. So if you use the core rule, @if, @extend
    //   and other Sass-y things will get warnings. You must disable stylelint's core rule to
    //   make this rule work
    //
    // source: https://github.com/kristerkari/stylelint-scss/blob/master/src/rules/at-rule-no-unknown/README.md#at-rule-no-unknown
    //
    'at-rule-no-unknown': null,
    'scss/at-rule-no-unknown': true,

    // Report errors for unknown pseudo-classes with exception for :export
    'selector-pseudo-class-no-unknown': [true, {
      ignorePseudoClasses: ['export'],
    }],

    // Override rules to match styles used in styled-components
    //
    // Following rules comes from diffing the print-config results
    //   from styled-components and scss files 
    'no-missing-end-of-source-newline': null,
    'no-empty-source': null,
    'value-no-vendor-prefix': [true],
    'property-no-vendor-prefix': [true],

    // enforce block comments
    'no-invalid-double-slash-comments': true,
  },
};

使用双斜杠注释时,Linging Scss文件不会出错。有办法吗?

1 个答案:

答案 0 :(得分:0)

no-invalid-double-slash-comments rule不允许particular type on double slash comment in CSS。引用the docs

如果您使用的预处理器允许//个单行注释(例如Sass,Less,Stylus),则此规则不会对此有所抱怨。它们由您的预处理器编译成标准CSS注释,因此stylelint会认为它们有效。

我不认为存在禁止SCSS双斜杠注释的现有规则。但是,您可以write a simple plugin执行此操作。我建议您使用comment-no-loud rule中的stylelint-scss plugin pack作为蓝图。

相关问题