从 glob 模式匹配中排除文件夹

Exclude a folder from glob pattern matching

使用Prettier格式化js代码。 Prettier 似乎在后台使用 globby

我尝试了以下方法:

$ prettier './**/*.{js, css}' '!assets/**'
$ prettier './**/*.{js, css}' '!(assets/**)'
$ prettier './**/*.{js, css}' '!assets/**/*.*'
$ prettier './**/*.{js, css}' '!(assets/**/*.*)'
$ prettier './**/*.{js, css}' 'assets/**/!*.*'

在所有情况下,assets 文件夹中的文件都包含在内。

正确的做法是什么?

目前不可能。 但已经修复 https://github.com/prettier/prettier/pull/2356。等新版本吧。

您现在可以排除具有 ! 字符的目录。例如,此命令将就地格式化所有 .js.css 文件,不包括 assets 目录中的任何内容。

"prettier --write **/*.{js, css} !assets/**"

Here's the PR where that was merged. Here's the syntax。这是我在 package.json:

中的工作

"prettier-fix": "prettier --write \"**/*.{js,jsx,json,ts,tsx,md,mdx,css,html,yml,yaml,scss}\" \"!\.next/**\""

Lint 所有匹配的 .next 目录除外。注意引号。