Comments (4)
Hey I think what you could do is set a plugin list manually (i think you can also configure them via plugins
option in .prettierrc/equivalent), which then disables the auto-loading of this plugin. Then you import the parsers from this plugin and wrap them in your own custom plugin.
const { parsers: organizeImportsParsers } = require('prettier-plugin-organize-imports');
const myCustomParser = (code, options) => {
// do the things
return customizedCode;
}
exports.parsers = {
typescript: (code, options) => myCustomParser((organizeImportsParsers.typescript(code, options)), options),
// ... equivalent for babel parser
};
Let me know if that works, would be good to know (:
from prettier-plugin-organize-imports.
Hey thanks for the advice. The only problem is my plugin is open source and therefore I can't assume that people will be using your plugin and mine together. Is there any solution like this that would work generically without making that assumption other than just checking for every possible plugin that could conflict?
Additionally is there some solution like this that could be implemented outside the plugin via the prettier CLI or config?
So far the best I've found is to just run prettier again choosing your plugins manually in cases where you have conflicts. It'd be nice if I could run it all the plugins in one go.
from prettier-plugin-organize-imports.
Ok I think I misunderstood you, I thought you were talking about a project-specific custom plugin, not another publicly available one. Yeah for that problem I don't think there's a solution really other than what you already said about double-running prettier with different plugin lists, or people manually chaining the plugins like above, via a custom plugin in their project.
Since the Prettier team doesn't consider this plugin a valid use case for the plugin API, I don't have much hope that anything will change that makes plugins like this more compatible.
from prettier-plugin-organize-imports.
Makes sense. Thanks for the advice.
from prettier-plugin-organize-imports.
Related Issues (20)
- Sorting behavior inconsistent with prettier HOT 3
- How to disable this plugin? HOT 1
- Prettier 3 support HOT 3
- Cannot find module 'typescript' when adding this plugin to .prettierrc HOT 2
- Bug or feature? Once I type blank line between imports, imports are sorted within that group HOT 2
- Unable to auto-format imports in Vue SFCs HOT 4
- New typescript 5.0.0 `export type *` syntax not supported HOT 2
- Feature request: configurable import sort order HOT 3
- How to disable this plugin explicitly? HOT 1
- Imports may get removed if using Prettier range-start/range-end options HOT 22
- Sorting does not work if newline between imports HOT 1
- Imports get removed on save HOT 2
- Prettier much slower when using this plugin HOT 3
- Organize imports in Angular standalone components HOT 1
- Adding this plugin breaks github actions HOT 2
- Sort default imports and named imports HOT 1
- I would like to ask the author, this plugin collation and later support custom collation? HOT 1
- Using this plugin can be devastating for some types HOT 2
- Support for CommonJS HOT 1
- import 'reflect-metadata'; Needs to be the first/top import to work HOT 2
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 prettier-plugin-organize-imports.