Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate shareable configs #1951

Open
ota-meshi opened this issue Aug 25, 2022 · 7 comments
Open

Deprecate shareable configs #1951

ota-meshi opened this issue Aug 25, 2022 · 7 comments

Comments

@ota-meshi
Copy link
Member

ota-meshi commented Aug 25, 2022

The problem you want to solve.

Most of the shareable configs provided by this plugin are based on style guide.
However, the link to Vue's style guide seems to have been removed.

https://github.com/vuejs/docs/blob/74449a840c88ee9488e2337081302a993e14e1f6/.vitepress/config.ts#L18
vuejs/docs@4acd127

So, I suspect that these configs are based on deprecated documentation.

Your take on the correct solution to problem.

Deprecate shareable configurations other than plugin:vue/base.
Provide shareable configurations based on the new standards, if needed.

Additional context

https://github.com/vuejs/eslint-plugin-vue/issues?q=label%3A%22matter+of+taste%22

@FloEdelmann
Copy link
Member

I'm not sure if that's a good idea. I think most people use the recommended config and they would need to enable dozens of rules manually, which is quite a bit of work and bloats up the ESLint config.

Maybe we can instead create new shareable configs based on other criteria? E.g. "error prevention" and "layout" rules?

Or just leave it as it is, and curate the configs ourselves based on good judgement?

@sodatea
Copy link
Member

sodatea commented Aug 25, 2022

https://vuejs.org/style-guide/
They are not complete and not up-to-date, but I think they are still quite useful, especially the essential ones.

Maybe we can start a project to discuss the new guidance?
And before it's finished, put a small warning on the ESLint plugin documentation page, like what the official style guide does now?

@ota-meshi
Copy link
Member Author

ota-meshi commented Aug 26, 2022

Thank you for your comment.

I think most people use the recommended config and they would need to enable dozens of rules manually, which is quite a bit of work and bloats up the ESLint config.
Maybe we can instead create new shareable configs based on other criteria? E.g. "error prevention" and "layout" rules?

If we deprecate shareable configs provided by this plugin, I would publish a new shareable config as a personal project. It's probably two configurations like "error prevention" and "layout".
However these are configured according to my preferences. Not official. Because I think the official recommended style is now deprecated.

Maybe we can start a project to discuss the new guidance?

I think it's good to discuss the new(?) style guide. But I'm not sure of the right place to discuss style guides. Additionally, I personally prefer the Options API. Therefore, I am a little worried about whether I can properly participate in the discussion 😅

If we create a new style guide, the following PR might be a good starting point.
vuejs/v2.vuejs.org#2839

By the way, if we continue to provide new sharable configs officially, we can consider separating them from this plugin. Changing the shareable configuration is a breaking change and cannot be changed often when shipped with plugins. Separating shareable configurations allows us to keep up with style guide updates.

@sodatea
Copy link
Member

sodatea commented Aug 26, 2022

By the way, if we continue to provide new sharable configs officially, we can consider separating them from this plugin. Changing the shareable configuration is a breaking change and cannot be changed often when shipped with plugins. Separating shareable configurations allows us to keep up with style guide updates.

Didn't think about this before. But yeah, it sounds good!

@thedamon
Copy link

thedamon commented Sep 8, 2022

A "deprecated in vue 3" config for use in vue 2 projects wanting to upgrade at some point would be great!

@ota-meshi
Copy link
Member Author

Hi @thedamon. Your suggestion sounds good, but I'd like to discuss deprecating (or removing) the configuration provided by the plugin in this issue.

@ota-meshi
Copy link
Member Author

I still think shareable configs should be deprecated. The shareable configuration that plugins currently provide is mostly subjective. Whether or not user use these configurations is user preference and we are not forcing user to do anything.
But I think the users who use it feel like we're forcing them to follow those rules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants