Stylelint 跳过整个文件夹
Stylelint skips entire folders
我在我的项目中安装了 stylelint,并且我已经配置了它的配置。
我在我的 src
文件夹中向 运行 这个 linter 添加了一个脚本。
出于某种原因,linter 仅扫描一个文件夹。
这是我的配置文件stylelint.config.js:
module.exports = {
extends: [
'stylelint-config-standard-scss',
'stylelint-config-prettier-scss',
'stylelint-config-recess-order',
],
plugins: ['stylelint-scss', 'stylelint-order'],
rules: {
'selector-class-pattern': [
'^[a-z][A-Za-z0-9]*((--([a-z][A-Za-z0-9]*)(__([a-z][A-Za-z0-9]*))?)|(__([a-z][A-Za-z0-9]*)(--([a-z][A-Za-z0-9]*))?))?$',
{ resolveNestedSelectors: true, message: 'Expected class selector to be camel case' },
],
'value-no-vendor-prefix': null,
'selector-id-pattern': null,
'scss/at-import-partial-extension': null,
},
};
这是脚本:"stylelint": "stylelint --f verbose src/**/*.scss",
我的 src 文件夹有很多 .scss 文件。但是由于某些原因这个脚本只扫描了2个文件。
$ stylelint --f verbose src/**/*.scss
2 sources checked
/Users/amir/Desktop/Development/Vinyl projects/LandingPag-REAL/src/styles/custom.scss
/Users/amir/Desktop/Development/Vinyl projects/LandingPag-REAL/src/styles/variables.scss
0 problems found
✨ Done in 0.79s.
为什么它会忽略所有其他文件?我没有一些“忽略”配置文件。
注意:它在 Windows 上运行完美(没有跳过),在 Mac 上它几乎跳过了整个 src 文件
另外,当我将脚本更改为 运行 stylelint ... **/*.scss
时,它确实有效
您需要 quote your input glob,否则 shell(在 Windows 和 Mac 上不同)将解释它而不是 Stylelint 本身。
如果您只针对 *nix,您可以使用单引号:
"stylelint": "stylelint --f verbose 'src/**/*.scss'",
对于 cross-platform 使用转义双引号:
"stylelint": "stylelint --f verbose \"src/**/*.scss\"",
顺便说一句,你:
- 可以删除
plugins
属性,因为这两个插件都捆绑在各自的配置中
- 应该将更漂亮的配置放在最后,以便它覆盖之前的所有内容
{
"extends": [
"stylelint-config-standard-scss",
"stylelint-config-recess-order",
"stylelint-config-prettier-scss"
],
"rules": {
"selector-class-pattern": [
"^[a-z][A-Za-z0-9]*((--([a-z][A-Za-z0-9]*)(__([a-z][A-Za-z0-9]*))?)|(__([a-z][A-Za-z0-9]*)(--([a-z][A-Za-z0-9]*))?))?$",
{
"resolveNestedSelectors": true,
"message": "Expected class selector to be camel case"
}
],
"value-no-vendor-prefix": null,
"selector-id-pattern": null,
"scss/at-import-partial-extension": null
}
}
我在我的项目中安装了 stylelint,并且我已经配置了它的配置。
我在我的 src
文件夹中向 运行 这个 linter 添加了一个脚本。
出于某种原因,linter 仅扫描一个文件夹。
这是我的配置文件stylelint.config.js:
module.exports = {
extends: [
'stylelint-config-standard-scss',
'stylelint-config-prettier-scss',
'stylelint-config-recess-order',
],
plugins: ['stylelint-scss', 'stylelint-order'],
rules: {
'selector-class-pattern': [
'^[a-z][A-Za-z0-9]*((--([a-z][A-Za-z0-9]*)(__([a-z][A-Za-z0-9]*))?)|(__([a-z][A-Za-z0-9]*)(--([a-z][A-Za-z0-9]*))?))?$',
{ resolveNestedSelectors: true, message: 'Expected class selector to be camel case' },
],
'value-no-vendor-prefix': null,
'selector-id-pattern': null,
'scss/at-import-partial-extension': null,
},
};
这是脚本:"stylelint": "stylelint --f verbose src/**/*.scss",
我的 src 文件夹有很多 .scss 文件。但是由于某些原因这个脚本只扫描了2个文件。
$ stylelint --f verbose src/**/*.scss
2 sources checked
/Users/amir/Desktop/Development/Vinyl projects/LandingPag-REAL/src/styles/custom.scss
/Users/amir/Desktop/Development/Vinyl projects/LandingPag-REAL/src/styles/variables.scss
0 problems found
✨ Done in 0.79s.
为什么它会忽略所有其他文件?我没有一些“忽略”配置文件。
注意:它在 Windows 上运行完美(没有跳过),在 Mac 上它几乎跳过了整个 src 文件
另外,当我将脚本更改为 运行 stylelint ... **/*.scss
时,它确实有效
您需要 quote your input glob,否则 shell(在 Windows 和 Mac 上不同)将解释它而不是 Stylelint 本身。
如果您只针对 *nix,您可以使用单引号:
"stylelint": "stylelint --f verbose 'src/**/*.scss'",
对于 cross-platform 使用转义双引号:
"stylelint": "stylelint --f verbose \"src/**/*.scss\"",
顺便说一句,你:
- 可以删除
plugins
属性,因为这两个插件都捆绑在各自的配置中 - 应该将更漂亮的配置放在最后,以便它覆盖之前的所有内容
{
"extends": [
"stylelint-config-standard-scss",
"stylelint-config-recess-order",
"stylelint-config-prettier-scss"
],
"rules": {
"selector-class-pattern": [
"^[a-z][A-Za-z0-9]*((--([a-z][A-Za-z0-9]*)(__([a-z][A-Za-z0-9]*))?)|(__([a-z][A-Za-z0-9]*)(--([a-z][A-Za-z0-9]*))?))?$",
{
"resolveNestedSelectors": true,
"message": "Expected class selector to be camel case"
}
],
"value-no-vendor-prefix": null,
"selector-id-pattern": null,
"scss/at-import-partial-extension": null
}
}