gpt4 book ai didi

eslint - 什么可能导致 eslint-plugin-prettier 在 CircleCI 上报告错误但在本地保持沉默?

转载 作者:行者123 更新时间:2023-12-03 21:23:12 25 4
gpt4 key购买 nike

我必须从 CircleCI 1.0 迁移到 2.0。在我将旧配置更改为新配置后,由于 eslint-plugin-prettier 报告了更漂亮的间距违规,因此构建失败。

MyProject - 是我的 GitHub 存储库,它包含一个文件夹 client它包含我想在 CI 上构建的所有前端代码。在 client文件夹有

.eslintrc.json

...
"extends": ["airbnb", "prettier"],
"plugins": ["prettier"],
...

.prettierrc
{
"tabWidth": 4,
"trailingComma": "all",
"singleQuote": true
}

.gitattributes (我在 Windows 10 上工作)使用以下代码:
*.js text eol=crlf
*.jsx text eol=crlf

当然还有 package.json

enter image description here

新的 CircleCI 配置:
version: 2

jobs:
build:
working_directory: ~/MyProject
docker:
- image: circleci/node:6.14.3-jessie-browsers
steps:
- checkout
- run:
name: Install Packages
command: npm install
working_directory: client
- run:
name: Test
command: npm run validate
working_directory: client

旧的 CircleCI 配置:
## Customize dependencies
machine:
node:
version: 6.1.0

# Remove cache before new build. It takes much time
# but fixing a build which is broken long time ago (and not detected because of cache)
# is even more time consuming
dependencies:
post:
- rm -r ~/.npm

## Customize test commands
test:
override:
- npm run validate

general:
build_dir: client

由于 linting 问题,构建失败(都与空格数有关):

enter image description here

那么,什么会导致这些错误呢?我在这里没有想法。我首先想到可能是因为没有找到 .prettierrc。但是,当我删除它进行实验并在本地运行时,我在所有文件中总共出现了 1000 多个错误。而在带有 .prettierrc 的 CI 上,少数文件中只有 188 个。

最佳答案

我终于想通了。

我的 package.json文件包含以下对 Prettier 的依赖:"prettier": "^1.11.1" .

我不得不努力学习这个小符号的含义^ .它允许安装与 1.11.1 兼容的任何版本的 Prettier .就我而言,它在 CircleCI 2.0 上安装了 1.14.2它为 Prettier 添加了新功能。

我相信它在 CircleCI 1.0 版和本地没有中断,因为缓存的 node_modules 包含与 1.11.1 兼容的早期 Prettier 版本

这里很好video关于语义版本控制。

关于eslint - 什么可能导致 eslint-plugin-prettier 在 CircleCI 上报告错误但在本地保持沉默?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51121469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com