Comments (3)
I'm strongly opposed to adding new features that allow users to do customizations that diverge from the standard "configure prettier using the .prettierrc / .prettierignore file" behaviour. I would strongly advise against implementing this.
The aim is that you should get identical output if you format a file through prettier's CLI or through eslint with eslint-plugin-prettier
. Adding options or additional behaviour to eslint-plugin-prettier
is a vector for allowing divergences to happen, which moves us away from that goal, and increases our support burden as there is potential for suprising behaviour that is not what eslint or prettier themselves do.
This proposal introduces plugin-specific behaviour and the critical tenant of "eslint CLI and prettier CLI must produce the same output" breaks.
In cases where a .eslintignore file is present then for files mentioned in that file the prettier/prettier
rule (any any other rule) will never be invoked in the first place. If a file is mentioned in the eslintignore then the code that runs prettier would never be invoked in the first place. Can you give an example of when setting this would have an effect?
from eslint-plugin-prettier.
@BPScott prettier will respect .gitignore
+ .prettierignore
by default at the same time on prettier v3.
Tip! Prettier will follow rules specified in .gitignore if it exists in the same directory from which it is run. You can also base your .prettierignore on .eslintignore (if you have one).
See also: https://prettier.io/docs/en/install and
If a file is mentioned in the eslintignore then the code that runs prettier would never be invoked in the first place. Can you give an example of when setting this would have an effect?
That's a good point. ESLint runs different from prettier itself on virtual files.
For instance, I have a plugin extracting JavaScript codes from .txt
files, prettier does not support .txt
files natively, so it would be passed as .txt/0_xxx.js
to prettier.format
, and mostly there will be no *.txt/*.js
in .prettierignore
, but there could be *.txt/*.js
in .eslintignore
.
So my proposed change would be changing the following
eslint-plugin-prettier/worker.js
Line 50 in f985718
- ignorePath: '.prettierignore',
+ ignorePath: ['.gitignore', '.prettierignore', '.eslintignore'],
from eslint-plugin-prettier.
Friendly ping @BPScott
from eslint-plugin-prettier.
Related Issues (20)
- Synckit seems incompatible with Node 14.18.1 HOT 2
- use es6's import syntax to import eslint-plugin-prettier/recommended
- Setting "trailingComma" to "all" does not work HOT 4
- Importing `eslint-plugin-prettier/recommended` in ESM syntax results in a lint error. HOT 1
- case study: `eslint-plugin-prettier-vue`
- Removal of eslint-config-prettier from peerDependencies HOT 1
- Prettier enforces adding unnecessary parentheses HOT 1
- Linebreak error when using with `nest new` project HOT 14
- Unable to Deploy App Due to ESLint/Prettier Errors HOT 1
- eslint-plugin-prettier version `3.1.1` and newest prettier version `3.2.5` mismatch causing issues HOT 2
- TypeError: prettier.resolveConfig is not a function HOT 2
- Delete `0` eslint(prettier/prettier) HOT 1
- 本地部署报错 3:17 error Delete `⏎⏎` prettier/prettier ✖ 1 problem (1 error, 0 warnings) 1 error and 0 warnings potentially fixable with the `--fix` option. HOT 1
- feat: support other HTML related ESLint plugins HOT 1
- Customize flat config
- Does not consider overrides defined in .prettierrc
- issue with typed configs from typescript-eslint & eslint9 --fix
- Error: Unexpected key "meta" found. HOT 1
- cause endless eslint running HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eslint-plugin-prettier.