--- pageClass: rule-details sidebarDepth: 0 title: vue/no-reserved-keys description: disallow overwriting reserved keys since: v3.9.0 --- # vue/no-reserved-keys > disallow overwriting reserved keys - :gear: This rule is included in the following preset configs: - `*.configs["flat/essential"]` - `*.configs["flat/vue2-essential"]` - `*.configs["flat/strongly-recommended"]` - `*.configs["flat/vue2-strongly-recommended"]` - `*.configs["flat/recommended"]` - `*.configs["flat/vue2-recommended"]` - `"plugin:vue/essential"` - `"plugin:vue/vue2-essential"` - `"plugin:vue/strongly-recommended"` - `"plugin:vue/vue2-strongly-recommended"` - `"plugin:vue/recommended"` - `"plugin:vue/vue2-recommended"` ## :book: Rule Details This rule prevents to use [reserved names](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/utils/vue-reserved.json) to avoid conflicts and unexpected behavior. ```vue ``` ## :wrench: Options ```json { "vue/no-reserved-keys": ["error", { "reserved": [], "groups": [] }] } ``` - `reserved` (`string[]`) ... Array of additional restricted attributes inside `groups`. Default is empty. - `groups` (`string[]`) ... Array of additional group names to search for duplicates in. Default is empty. ### `"reserved": ["foo", "foo2"], "groups": ["firebase"]` ```vue ``` ## :books: Further Reading - [List of reserved keys](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/utils/vue-reserved.json) ## :rocket: Version This rule was introduced in eslint-plugin-vue v3.9.0 ## :mag: Implementation - [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/no-reserved-keys.js) - [Test source](https://github.com/vuejs/eslint-plugin-vue/blob/master/tests/lib/rules/no-reserved-keys.test.ts)