1

我有一个具有以下规则的 sass-lint.yml 文件:

class-name-format:
    - 1
    - convention: '^([a-zA-Z]*)(__[a-z]+)?(-[a-z]*)*(--[a-z]+)?$'

正则表达式可以在这里检查: https ://regex101.com/r/SsVde6/2

不幸的是,我无法让它正常工作。

在正则表达式测试器中,您会看到我想要包含哪些内容。从那时起,类名的第一部分可以是 PascalCase BEMified ( BEM ) kebabcase(例如:this-is-kebab-case– 全部小写,中间有破折号)

一个非常常见的模式如下所示: ComponentName__element-name--modifier-name

很多事情已经奏效了,但我也想评估我的 scss 文件中的嵌套 BEM 选择器:

&__burgerCross {…}or &__burger_crossor&__burger__cross例如应该被评估为假。这必须是&__burger-cross

但我真的不知道如何处理嵌套规则。

非常欢迎对 sass-lint 和 regex 提供任何帮助。

4

1 回答 1

0

我想要的是

我也想评估我的 scss 文件中的嵌套 BEM 选择器:

我的正则表达式实际上已经突出了所有通缉的情况,而不通缉的则不匹配。问题是,linter 不能 lint 嵌套的 BEM 选择器。:(。在这里阅读: https ://github.com/brigade/scss-lint/issues/339#issuecomment-72404341

所以我们在这里能做的不多。

于 2018-04-20T02:41:20.487 回答