问题标签 [stylelint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
146 浏览

stylelint - stylelint的不同配置格式有什么区别

配置 stylelint 有很多选项,比如

  • package.json 中的 stylelint 属性
  • .stylelintrc.json、.stylelintrc.yaml、.stylelintrc.js 等。
  • 一个 stylelint.config.js 文件

当我决定使用哪一个时有什么不同吗?官方文件说:“您可能想要使用扩展名,以便您的文本编辑器可以更好地解释文件,并帮助进行语法检查和突出显示。”除此之外还有其他区别吗?

谢谢!

0 投票
2 回答
717 浏览

stylelint - 除了单元白名单之外,如何将特定的正则表达式列入白名单?

我想允许\1px\使用但不允许任何其他像素值。这是目前的规则:

"unit-whitelist": [["%", "vh","vw"], { "message": "Please use rem() for size units" }],

0 投票
1 回答
832 浏览

css - Stylelint - 确保类名前缀与文件夹名匹配

我正在使用“ selector-class-pattern ” stylelint 规则。我使用的模式是强制执行ECSS命名标准。规则如下所示:

ECSS 类名使用 3 个部分(模块名、组件名、元素名),看起来像.mod-Component_Element {}wheremod是模块名的缩写。

我的 SCSS 文件保存在组件文件夹中,因此文件夹结构如下所示,其中app是模块的名称。

我想要一个 stylelint 规则来确保模块和类名的组件部分与它们所在的文件夹匹配。因此,保存在示例component-name.component.scss文件中的类名将被限制在.app-ComponentName_ElementName {}哪里ElementName是可选的并且可以成为任何东西。

我正在使用 Gulp 运行 stylelint:

我知道我可能需要为此编写一个插件,但想知道是否已经有类似这样的插件,或者是否有任何方法可以通过将文件名/文件夹从 Gulp 传递给 stylelint?

0 投票
1 回答
2691 浏览

stylelint - Stylelint,在非嵌套规则之前有一个空行,在嵌套规则之前没有空行?

现在有什么办法可以做到这一点吗?

我看到 rule-nested-empty-line-before 由于某种原因已被删除,所以这个配置不再可能了吗?

我希望这会引发错误...

@media 之前应该有一个空格,因为它没有嵌套,而 .foo 之前没有空格,因为它是嵌套的。

0 投票
1 回答
1192 浏览

stylelint - stylelint:错误:未定义的规则为空

我刚刚在我的 Mac (OS X 10.12.6 - Sierra) 上下载了 stylelint (npm install -g stylelint) 并且基本上复制并尝试修改我在此处找到的示例配置文件。

然后我尝试在我拥有的 CSS 文件上运行它,在修复了 ~/.stylelintrc 文件中的一些错别字后,我得到了一个错误:

我不知道该怎么做才能克服这个问题 - 我不想尝试调试代码(我在调试自己的代码时遇到了很多问题,我希望这个工具能帮助我 - 我没有足够的带宽来尝试调试别人的代码)

帮助?


更新:根据要求 - 我的 ~/.stylelintrc 文件:

0 投票
1 回答
503 浏览

drupal - 静态分析 - SonarQube 测试与 Git 预提交挂钩相同的标准

我们在两点上运行静态分析测试:

  • 在 Git 预提交钩子上,在这种情况下,我们使用 phpcs、phpmd、stylelint 和 eslint 引擎(香草安装 + Drupal Coder 用于添加 Drupal 标准)
  • 我们每周更新一次 SonarQube 上的项目仪表板,它运行以下质量配置文件:Drupal (PHP)、JS 和 SCSS

我们希望将我们的标准与单一标准保持一致,但使用不同的引擎会使这变得更加困难(甚至不可能?)。我可以想到一些可能的方法来实现这一目标:

  • 手动对齐 pre-commit 和 SonarQube 的规则
  • 使用 SonarQube 进行我们的预提交测试
    我不确定,因为通过查看 SonarQube 的 Drupal 标准,那里的规则似乎比 Drupal PHPCS 标准(来自 Drupal Coder)少得多 -相关问题 I发现了它
    (还有另一个有关使用 phpCS 对齐 SonarQube 的 PHP 插件的相关问题)
  • 使用我们的引擎集为 SonarQube 创建一个自定义插件(没办法..)

在我看来,理想的解决方案是让 SonarQube 像大多数静态分析工具一样读取 Git 存储库中的规则文件(例如 phpcs.dist.xml)。

我还看到了SonarQube 和 stylelint 规则映射——这是我发现的关于这些引擎的唯一映射。

我们怎样才能以最简单的方式克服这个问题?

0 投票
0 回答
1438 浏览

stylelint - Sass-lint vs Style-lint?

你会推荐哪一个,Sass-lint还是Style-lint?为什么?(他们似乎和我很相似)

0 投票
1 回答
464 浏览

css - css stylelint 规则捕获“预期选择器”错误

作为我的过程的一部分,我使用 stylelint 在为我们的站点构建和部署之前查找 css 错误。然而,有人检查了以下内容,但在 css 解析器/缩小器上失败但通过了 stylelint。

我似乎无法弄清楚任何现有的规则可以捕捉到这一点。有没有我错过的?否则,是时候编写自定义规则来捕捉这个了吗?

0 投票
1 回答
337 浏览

css - 骆驼案例 BEM 的正则表达式

我需要一个正则表达式模式来匹配以下结构的驼峰式 BEM 类:

BlockName_elementName-modifierName

我创建了这个正则表达式来完成这项工作:

([A-Z][a-z0-9]+)+(\_[a-z0-9]+[A-Z0-9]?[a-z0-9]*)?(\-[a-z0-9]+[A-Z0-9]?[a-z0-9]*)?

应匹配的字符串示例:

目前它匹配除“更长”字符串之外的所有字符串。我无法弄清楚如何正确分组以匹配任何长度的骆驼案例组。任何人都可以帮忙吗?

在此处查看演示:http ://regexr.com/3h0sf

0 投票
1 回答
2402 浏览

node.js - glob 匹配除顶级供应商或任何深度 node_modules 之外的所有文件

我正在尝试编写一个glob来匹配.css.scss文件,但在任何嵌套深度都忽略vendor和忽略。node_modules

我觉得我很接近了。这成功地忽略了顶层vendornode_modules但仍然匹配嵌套node_modules

如何调整到node_modules任何级别的黑名单?