Skip to content

Separate beautifier packages from core #620

@jcartledge

Description

@jcartledge

I know you've expressed in #320 that you're not keen to do this, but I'd like to make the case for it again.

The primary reason from my point of view is the UX of the config screen.

There are several screens of options, most for languages/beautifiers I don't use, all with equal visual weight and no clear separation.

If you have multiple beautifiers for a language there's no way of only showing (or highlighting) the options related to the selected beautifier.

This is really poor UX, and it's a direct consequence of keeping everything in one plugin.

Taking a modular/framework approach similar to the linter project would address these shortcomings and allow people to only install (and maintain config for) beautifiers they use, while ensuring consistent UX.

This would also allow developers to easily create and publish new beautifiers without requiring a PR and a new release of the core project.

Issues would get tracked against the specific beautifier/language plugin and could be handled by plugin maintainers - again, with their own upgrade/release cycle separate from core.

I started to look at adding a second beautifier for PHP using PHPCBF but because of the issues above decided to make it stand-alone (https://atom.io/packages/phpcbf). I'd love to provide it as part of a beautifier ecosystem as I think that's the best outcome for users.

Is there any way you can see this happening? What support would you need from contributors to do this?

Metadata

Metadata

Assignees

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions