Open ota-meshi opened 2 years ago
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?
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?
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 :sweat_smile:
If we create a new style guide, the following PR might be a good starting point. https://github.com/vuejs/v2.vuejs.org/pull/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.
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!
A "deprecated in vue 3" config for use in vue 2 projects wanting to upgrade at some point would be great!
Hi @thedamon. Your suggestion sounds good, but I'd like to discuss deprecating (or removing) the configuration provided by the plugin in this issue.
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.
What if they're renamed to include the keyword "stylistic" or something like this?
It's the same thing as typescript-eslint
does: https://typescript-eslint.io/users/configs#recommended-configurations
Sorry. I don't understand English well, so I'm not sure, but if we include the word stylistic
in the name of the config, will people stop complaining about the config provided by the plugin?
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 https://github.com/vuejs/docs/commit/4acd127dc4975df302b52ee3313e6743d50a5c66
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