{"id":47507,"library":"eslint-plugin-no-unused-vars-rest","title":"eslint-plugin-no-unused-vars-rest","description":"DEPRECATED ESLint plugin (v1.0.6, final release) that extended the core no-unused-vars rule with an ignoreDestructuredVarsWithRest option, allowing unused variables in destructuring patterns containing rest properties. As of ESLint 3.15.0 (December 2016), the core no-unused-vars rule natively supports this behavior via the ignoreRestSiblings option. This plugin is no longer maintained and should not be used in new projects. It only supports ESLint 3.x and has no releases beyond v1.0.6.","status":"deprecated","version":"1.0.6","language":"javascript","source_language":"en","source_url":"git://github.com/bryanrsmith/eslint-plugin-no-unused-vars-rest","tags":["javascript","eslint","eslintplugin","eslint-plugin"],"install":[{"cmd":"npm install eslint-plugin-no-unused-vars-rest","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-no-unused-vars-rest","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-no-unused-vars-rest","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; plugin requires ESLint ^3.0.0 and is incompatible with ESLint 2.x or 4+","package":"eslint","optional":false}],"imports":[{"note":"Plugin provides a single rule; you must disable the core 'no-unused-vars' rule to avoid conflicts.","wrong":"Using plugin without disabling core no-unused-vars rule","symbol":"Plugin","correct":"In .eslintrc: { \"plugins\": [\"no-unused-vars-rest\"], \"rules\": { \"no-unused-vars-rest/no-unused-vars\": [2, { \"ignoreDestructuredVarsWithRest\": true }] } }"},{"note":"The recommended config automatically disables the core rule and enables the plugin rule with ignoreDestructuredVarsWithRest: true.","wrong":"Using plugin:no-unused-vars-rest/recommended without also disabling core rule","symbol":"Recommended config","correct":"In .eslintrc: { \"extends\": [\"plugin:no-unused-vars-rest/recommended\"] }"},{"note":"ESLint supports both integer (0/1/2) and string (off/warn/error) severities. The plugin accepts the same options as core no-unused-vars plus ignoreDestructuredVarsWithRest.","wrong":"\"no-unused-vars-rest/no-unused-vars\": [2, { \"ignoreDestructuredVarsWithRest\": true }]","symbol":"Rule config (error level)","correct":"\"no-unused-vars-rest/no-unused-vars\": [\"error\", { \"ignoreDestructuredVarsWithRest\": true }]"}],"quickstart":{"code":"// Install: npm install --save-dev eslint eslint-plugin-no-unused-vars-rest\n// .eslintrc.json\n{\n  \"plugins\": [\"no-unused-vars-rest\"],\n  \"rules\": {\n    \"no-unused-vars\": \"off\",\n    \"no-unused-vars-rest/no-unused-vars\": [\"error\", { \"ignoreDestructuredVarsWithRest\": true }]\n  }\n}\n\n// Example file: test.js\nconst { extra, ...rest } = { a: 1, b: 2 };\n// 'extra' is used in destructuring but not referenced -> normally an error, now allowed\nmodule.exports = rest;","lang":"javascript","description":"Shows how to configure the plugin to ignore unused variables in destructuring with rest, and demonstrates the feature with a common pattern."},"warnings":[{"fix":"Upgrade to ESLint >=3.15.0 and use core rule with ignoreRestSiblings: true instead of this plugin. Example: { 'rules': { 'no-unused-vars': ['error', { 'ignoreRestSiblings': true }] } }","message":"This plugin is deprecated; functionality is now in core ESLint no-unused-vars with ignoreRestSiblings option since ESLint 3.15.0.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Do not install this plugin with ESLint 4+. Use core no-unused-vars rule instead.","message":"Incompatible with ESLint 4+ because of peer dependency on eslint ^3.0.0.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Add 'no-unused-vars': 'off' or 0 to your ESLint config.","message":"You must disable the core no-unused-vars rule; otherwise both rules will run and you may get duplicate errors or contradictory behavior.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'2016':41 '3':75 '3.15.0':39 'allow':27 'behavior':52 'beyond':81 'contain':33 'core':17,43 'decemb':40 'deprec':8 'destructur':31 'eslint':2,9,38,74,84,87 'eslint-plugin':86 'eslint-plugin-no-unused-vars-rest':1 'eslintplugin':85 'extend':15 'final':12 'ignoredestructuredvarswithrest':25 'ignorerests':55 'javascript':83 'longer':61 'maintain':62 'nativ':49 'new':69 'no-unused-var':18,44 'option':26,56 'pattern':32 'plugin':3,10,58,88 'project':70 'properti':35 'releas':13,80 'rest':7,34 'rule':22,48 'support':50,73 'unus':5,20,28,46 'use':67 'v1.0.6':11,82 'var':6,21,47 'variabl':29 'via':53 'x':76","created_at":"2026-06-07T16:51:52.038616+00:00","updated_at":"2026-06-07T16:51:52.038616+00:00","problems":[{"fix":"Run npm install eslint-plugin-no-unused-vars-rest --save-dev","cause":"Plugin not installed or not in node_modules.","error":"ESLint configuration error: Cannot find module 'eslint-plugin-no-unused-vars-rest'"},{"fix":"Add '\"no-unused-vars-rest\"' to the plugins array in your ESLint config.","cause":"Plugin not listed in 'plugins' section of ESLint config.","error":"ESLint configuration error: Rule 'no-unused-vars-rest/no-unused-vars' is not available"},{"fix":"Enable the plugin rule with ignoreDestructuredVarsWithRest: true and disable core no-unused-vars.","cause":"IgnoreDestructuredVarsWithRest not enabled or core no-unused-vars rule not disabled.","error":"Unused variable: 'extra'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/bryanrsmith/eslint-plugin-no-unused-vars-rest","github":"git://github.com/bryanrsmith/eslint-plugin-no-unused-vars-rest","docs":null,"changelog":null,"pypi":null,"npm":"eslint-plugin-no-unused-vars-rest","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}