JS.VUE.NO.DEPRECATED.FILTER

Disallow using deprecated filters syntax (in Vue.js 3.0.0+)

Rule Details

This rule reports deprecated filters syntax (removed in Vue.js v3.0.0+).

See Migration Guide - Filters (https://v3-migration.vuejs.org/breaking-changes/filters.html) for more details.

{'vue/no-deprecated-filter': ['error']}

Copy
<template>
  <!-- GOOD -->
  {{ filter(msg) }}
  {{ filter(msg, '€') }}
  {{ filterB(filterA(msg)) }}
  <div v-bind:id="filter(msg)"></div>
  <div v-bind:id="filter(msg, '€')"></div>
  <div v-bind:id="filterB(filterA(msg))"></div>

  <!-- BAD -->
  {{ msg | filter }}
  {{ msg | filter('€') }}
  {{ msg | filterA | filterB }}
  <div v-bind:id="msg | filter"></div>
  <div v-bind:id="msg | filter('€')"></div>
  <div v-bind:id="msg | filterA | filterB"></div>
</template>

Do not disable "parserOptions.vueFeatures.filter" (https://github.com/vuejs/vue-eslint-parser#parseroptionsvuefeaturesfilter) to use this rule.

Copy
{
  "parser": "vue-eslint-parser",
  "parserOptions": {
    "vueFeatures": {
      "filter": false // Don't!!
    }
  }
}

Options

Nothing.

Further Reading

  • Migration Guide - Filters (https://v3-migration.vuejs.org/breaking-changes/filters.html)
  • Vue RFCs - 0015-remove-filters (https://github.com/vuejs/rfcs/blob/master/active-rfcs/0015-remove-filters.md)

The content on this page is adapted from the ESLint User Guide. Copyright © OpenJS Foundation and other contributors, www.openjsf.org. All rights reserved. https://eslint.org/docs/rules/