是否需要 CRA 引导应用程序中的 eslint 预提交挂钩?

Is eslint pre-commit hook in CRA bootstrapped application required?

我的 React 应用程序是使用 CRA(react-scripts v4.0.0)引导的,我想添加一个代码格式化程序(更具体地说更漂亮),它必须在提交对我的 git 的更改之前格式化代码回购

我知道 eslint 是 react-scripts 的依赖项,linting 是在 webpack 配置中使用 'eslint-webpack-plugin'(默认启用)完成的。 Snippet from CRA github | React Scripts webpack config

现在,如果我想扩展我原来的 eslint-config,我可以 install/write 一个新的 eslint-config,比如 'eslint-config-prettier' 并将它添加到我的在 eslint-config 中扩展密钥。这样就可以了。

假设,这会更新当前的 eslint-config 而无需安装任何额外的依赖项,并且正常情况下,每次更改代码时(使用更新的配置)都会检查应用程序代码。并且会按原样抛出编译错误。

我看过多个关于网络的教程,再次将 eslint 作为开发依赖项安装,然后在预提交挂钩中使用它来修复 linting 问题,然后 运行 代码格式化程序像 prettier 一样按顺序进行。是否需要在预提交挂钩中安装 运行 eslint --fix ?还是多余?

即使基于 CRA 的 React 应用程序在出现 lint 错误时停止编译,也不能严格阻止用户提交错误代码。

如果暂存文件或整个项目中存在无法修复的 lint 错误(取决于命令,提供文件 glob 模式)从而防止意外推送错误代码。

虽然,在 CRA 的情况下再次安装 eslint 是多余的,因为它已经作为 react-scripts 的依赖项存在。