我运行此命令后触发了错误:
npx eslint "the code directory"
Run Code Online (Sandbox Code Playgroud)
这是错误的前几行
TypeError: prettier.resolveConfig.sync is not a function
Occurred while linting *the first line of the first code directory*
Rule: "prettier/prettier"
at Program (*the main directory*\node_modules\eslint-plugin-prettier\eslint-plugin-prettier.js:138:40)
Run Code Online (Sandbox Code Playgroud)
这些是 eslint、prettier 和来自 package.json 的其他配置
"eslint": "^8.42.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-cypress": "^2.13.3",
"eslint-plugin-prettier": "^4.2.1",
"prettier": "3.0.0",
"prettier-eslint": "^15.0.1"
Run Code Online (Sandbox Code Playgroud)
我尝试从 node_modules 中删除文件并运行“npm i”,然后重新启动 IDE(使用 VS Code),它仍然发生。
Jos*_*rdt 222
prettier3 和4之间存在不兼容性eslint-plugin-prettier。
您可以使用以下版本 5 来修复此问题eslint-plugin-prettier:
yarn add -D eslint-plugin-prettier@5.0.0
Run Code Online (Sandbox Code Playgroud)
或者
npm install --save-dev eslint-plugin-prettier@5.0.0
Run Code Online (Sandbox Code Playgroud)
dhi*_*ilt 43
pretty-quick就我而言,该问题与我用于预提交格式化的工具有关。当前版本(pretty-quick v3.1.3)与 prettier v3 不兼容,他们的存储库中存在问题(链接)。由于 Pretty-quick 的最后一次更新是在 2 年前进行的,因此我决定切换到lint-staged与 Prettier v3 兼容并且似乎更活跃/可维护的版本(最后一个版本是在 1 周前发布的)。转换非常简单,只需遵循自述文档即可: https: //github.com/okonet/lint-staged。
解决我的问题更简单,而且这个错误是一个转移注意力的错误。
我包含了所有 eslint 插件,但忘记实际包含 prettier 本身。
纱
yarn add -D prettier
Run Code Online (Sandbox Code Playgroud)
新项目管理
npm i -D prettier
Run Code Online (Sandbox Code Playgroud)
希望这可以在其他人陷入困境之前对其有所帮助。幸亏我很快就意识到了。
| 归档时间: |
|
| 查看次数: |
67338 次 |
| 最近记录: |