【问题标题】:How can I tell Prettier to ignore a package.json file?如何告诉 Prettier 忽略 package.json 文件?
【发布时间】:2018-03-06 16:47:37
【问题描述】:

我正在使用更漂亮的标准,因为该项目使用标准进行 linting。

按照prettier pre-commit hook example,我在提交时运行得更漂亮了。但是我想忽略 package.json 文件。我尝试将package.json 添加到 .prettierignore 文件中,但这不起作用。

我在 package.json 中使用的更漂亮的预提交挂钩示例中的代码

{
  "scripts": {
    "precommit": "lint-staged"
  },
  "lint-staged": {
     "*.{js,json,css}": [
       "prettier --write",
       "git add"
     ]
  }
}

```

【问题讨论】:

  • 我刚刚从匹配中删除了 json,例如"*.{js,css}"。由于它使用 minimatch,您可能可以包含一个否定匹配来排除 package.json,但仍然包含其他 json 文件。

标签: javascript node.js reactjs prettier


【解决方案1】:

您也可以使用.prettierignore 文件。

参考the prettier project itself。

【讨论】:

  • 我错过了你问题中的那部分,抱歉。也许您在预提交挂钩中使用的工具没有考虑该文件。
【解决方案2】:

这里的限制是由于使用 lint-staged 的​​方式。 我个人最终使用了一个简单的命令(对我来说足够快),没有 lint-staged(但仍然使用 husky+precommit)。

prettier --write "**/*.{js,json,css,md}" !package.json

此命令在我的 package.json 中作为“格式”脚本。

"precommit": "yarn format", // can be "npm run format"
"format": "prettier --write \"**/*.{js,json,css,md}\" \"!package.json\""

请注意转义的引号。

【讨论】:

  • 可以用单引号代替反斜杠,这样比较整洁。 "format": "prettier --write '**/*.{ts,md,json}' '!package.json'"
猜你喜欢
  • 2018-09-06
  • 1970-01-01
  • 2013-10-13
  • 1970-01-01
  • 2017-10-01
  • 2014-06-09
  • 1970-01-01
  • 1970-01-01
  • 2016-08-22
相关资源
最近更新 更多