-
-
Notifications
You must be signed in to change notification settings - Fork 695
Closed
Labels
Description
In this issue, I will list the Vue.js 3.x changes that need to be supported by eslint-plugin-vue.
- Support for Fragments. Plans for the Next Iteration of Vue.js
- Feature/support for fragments #1038 Change
vue/valid-template-rootto allow multiple root nodes. - Feature/support for fragments #1038 Add
vue/no-multiple-template-rootrule that disallows multiple root nodes (for Vue 2).
- Feature/support for fragments #1038 Change
- Removing
v-bind's.syncmodifier and replacing it with an argument onv-model. RFC0005- Vue3 v-model API changes #1039 Change
vue/valid-v-modelto allows argument (component only). - Vue3 v-model API changes #1039 Add
vue/no-v-model-argumentrule that disallows argument (for Vue 2). - Vue3 v-model API changes #1039 Add
vue/no-deprecated-v-bind-syncrule that disallowsv-bind.sync.
- Vue3 v-model API changes #1039 Change
- Functional API Change. RFC0007
- Add
vue/no-deprecated-functional-templaterule #1119 Addvue/no-deprecated-functional-templaterule that disallows<template functional>.
- Add
- Global API changes. RFC0009
- Updated to detect Vue3 components. #1073 Add the CallExpression of
app.componentandapp.mixintoutils/index.isVueComponent.
- Updated to detect Vue3 components. #1073 Add the CallExpression of
-
v-modelAPI changes RFC0011- Vue3 v-model API changes #1039 Modify
vue/valid-v-modelrule to provide support for custom modifiers. Supports for Vue.js 3.x #1035 (comment) - Vue3 v-model API changes #1039 Add
vue/no-custom-modifiers-on-v-modelrule to checks if v-model does not contain custom modifiers (Vue 2 backward compatibility) Supports for Vue.js 3.x #1035 (comment)
- Vue3 v-model API changes #1039 Modify
- Composition API. RFC0013
- Add the setting of the
setupproperty tovue/order-in-componentsrule. - New: Add
vue/no-ref-as-operandrule #1065 Addvue/no-ref-as-operandrule. Supports for Vue.js 3.x #1035 (comment) - New: Add
vue/no-watch-after-awaitrule #1068 Addvue/no-watch-after-awaitrule. Supports for Vue.js 3.x #1035 (comment) - New: Add
vue/no-lifecycle-after-awaitrule #1067 Addvue/no-lifecycle-after-awaitrule. Supports for Vue.js 3.x #1035 (comment) - New: Add
vue/no-setup-props-destructurerule #1066 Addvue/no-setup-props-destructurerule. Supports for Vue.js 3.x #1035 (comment) - no-xxxx-keys: change to handle setup #1082 Change
vue/no-dupe-keysrule andvue/no-reserved-keysto handlesetup.
- Add the setting of the
- Drop support for using numbers (keyCodes) as v-on modifiers. RFC0014
- New: Add
vue/no-deprecated-v-on-number-modifiersrule #1079 Addvue/no-deprecated-v-on-number-modifiersrule that disallows numbers asv-onmodifiers. - Add
vue/no-deprecated-vue-config-keycodesrule #1118 Addvue/no-deprecated-vue-config-keycodesrule that disallowsVue.config.keyCodes.
- New: Add
- Remove support for filters. RFC0015
- feat(RFC0015): add no-deprecated-filter rule #1043 Add
vue/no-deprecated-filterrule that disallows Vue2 filter.
- feat(RFC0015): add no-deprecated-filter rule #1043 Add
- Remove
inline-template. RFC0016- New: Add
vue/no-deprecated-inline-templaterule #1100 Addvue/no-deprecated-inline-templaterule that disallowinline-templateattributtes.
- New: Add
- Using
<transition>as component's root will no longer trigger transitions when the component is toggled from the outside.. RFC0017- New: Add
vue/require-v-if-inside-transitionrule #1099 Addvue/require-v-if-inside-transitionrule that checks whether expose a boolean prop to control the presence of content inside<transition>. e.gv-if,v-show. Supports for Vue.js 3.x #1035 (comment)
- New: Add
- Removing object declaration for
dataRFC0019- New: Add
vue/no-deprecated-data-object-declarationrule #1083 Addvue/no-deprecated-data-object-declarationrule
- New: Add
- Remove
$on,$offand$onceinstance methods RFC0020- New: Add
vue/no-deprecated-events-apirule #1097 Addvue/no-deprecated-events-apirule
- New: Add
- Custom Elements Interop Improvements RFC0027
- Add
vue/no-deprecated-html-element-isrule #1117 Addvue/no-deprecated-html-element-isrule that disallow theisattribute on HTML elements.
- Add
- "emits" component option RFC0030
- Add the setting of the
emitsproperty tovue/order-in-componentsrule. - Add
vue/require-explicit-emitsrule #1124 Addvue/require-explicit-emitsrule that requires the emits option to have a name called by$emit(). - Add
vue/return-in-emits-validatorrule #1129 Addvue/return-in-emits-validatorrule enforces that a return statement is present in emits validator.
- Add the setting of the
- Attribute Fallthrough Updates.RFC0031
- Add
vue/no-deprecated-v-on-native-modifierrule #1130 Addvue/no-deprecated-v-on-native-modifierrule that disallow.nativemodifier onv-on. - Add
vue/no-deprecated-dollar-listeners-apirule #1133 Addvue/no-deprecated-dollar-listeners-apirule that disallow$listeners.
- Add
- TODO I need to check if any RFCs after RFC0033 are added.
List the changes after #1036 was merged.
- Add categories for Vue 3
-
essentialfor Vue 3- Add
vue/no-deprecated-filterrule. - Add
vue/no-deprecated-v-bind-syncrule. - New: Add
vue/no-deprecated-v-on-number-modifiersrule #1079 Addvue/no-deprecated-v-on-number-modifiersrule. - New: Add
vue/no-deprecated-data-object-declarationrule #1083 Addvue/no-deprecated-data-object-declarationrule - New: Add
vue/no-deprecated-events-apirule #1097 Addvue/no-deprecated-events-apirule - New: Add
vue/no-deprecated-inline-templaterule #1100 Addvue/no-deprecated-inline-templaterule - New: Add
vue/require-v-if-inside-transitionrule #1099 Addvue/require-v-if-inside-transitionrule. - Add
vue/no-ref-as-operandrule. - New: Add
vue/no-watch-after-awaitrule #1068 Addvue/no-watch-after-awaitrule. - Add
vue/no-lifecycle-after-awaitrule. - Add
vue/no-setup-props-destructurerule. - Add the ruleset for Vue.js 3 #1061 Add
vue/no-deprecated-scope-attributerule. - Add the ruleset for Vue.js 3 #1061 Add
vue/no-deprecated-slot-attributerule. - Add the ruleset for Vue.js 3 #1061 Add
vue/no-deprecated-slot-scope-attributerule. - Remove
vue/valid-v-bind-syncrule. - Add
vue/no-deprecated-functional-templaterule #1119 Addvue/no-deprecated-functional-templaterule. - Add
vue/no-deprecated-html-element-isrule #1117 Addvue/no-deprecated-html-element-isrule. - Add
vue/no-deprecated-vue-config-keycodesrule #1118 Addvue/no-deprecated-vue-config-keycodesrule. - Add
vue/no-deprecated-v-on-native-modifierrule #1130 Addvue/no-deprecated-v-on-native-modifierrule. - Add
vue/no-deprecated-dollar-listeners-apirule #1133 Addvue/no-deprecated-dollar-listenersrule. - Add
vue/return-in-emits-validatorrule #1129 Addvue/return-in-emits-validatorrule.
- Add
-
strongly-recommendedfor Vue 3 -
recommendedfor Vue 3
-
- Change categories for Vue 2
-
essentialfor Vue 2- Add
vue/no-multiple-template-rootrule. - Add
vue/no-v-model-argumentrule. - Add
vue/no-custom-modifiers-on-v-modelrule.
- Add
-
strongly-recommendedfor Vue 2 -
recommendedfor Vue 2
-
refs
https://medium.com/the-vue-point/plans-for-the-next-iteration-of-vue-js-777ffea6fabf
https://github.com/vuejs/rfcs/pulls?utf8=%E2%9C%93&q=is%3Apr+label%3A3.x+
https://vueschool.io/articles/vuejs-tutorials/exciting-new-features-in-vue-3/
https://vue-composition-api-rfc.netlify.com/
marshallswain, przemkow, victorgarciaesgi, privatenumber, yoyo930021 and 7 more