Comments (5)
I wouldn't mind doing this in theory, but it feels like the helper functions are sufficiently small and eslint-specific that it wouldn't be worthwhile. For example, all of the helpers use getLocFromIndex
, context
, and fixer
, which are ESLint APIs and (as far as I know) have no direct equivalent in tslint.
I don't think your proposed interface would work, because something like reportInsert
would need to have some way of actually reporting an error, and that can't happen unless they either return a value or accept a report function.
from eslint-plugin-prettier.
The context
is not a necessary argument for reporters, for example if there is the suggested API:
return {
Program() {
if (!prettier) {
// Prettier is expensive to load, so only load it if needed.
prettier = require('prettier');
}
const prettierSource = prettier.format(source, prettierOptions);
if (source !== prettierSource) {
suggestedAPI.reportDifferences(source, prettierSource, {
reportInsert: (...args) => reportInsert(context, ...args),
reportDelete: (...args) => reportDelete(context, ...args),
reportReplace: (...args) => reportReplace(context, ...args),
});
}
}
};
We can call context
as a contextual value so that it wouldn't have to pass in reporters directly.
For TSLint vs ESLint API, see this.
If you still think my proposed interface wouldn't work, I can send a PR here to show what it'd be in my proposal.
from eslint-plugin-prettier.
See #40 for my proposal
from eslint-plugin-prettier.
cc @zertosh, any thoughts on this?
from eslint-plugin-prettier.
Sounds good to me!
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
- [feat] fallback `ignorePath` to `.eslintignore` if `.prettierignore` not found HOT 3
- 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 13
- 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.