ESLint & Vue - 如何禁止使用 `$log`?

ESLint & Vue - How to ban the use of `$log`?

$log 的来源:

Vue.prototype.$log = console.log

要禁止的地方:

<template>
  <!-- Place 1 -->
  <div @click="$log">
    <!-- Place 2 -->
    {{ $log }}
    <!-- Place 3 -->
    {{ $log('foo') }}
  </div>
</template>

<script>
import Vue from 'vue'

// Place 4
Vue.prototype.$log('foo')

export default {
  created() {
    // Place 5
    this.$log('foo')
  },
}
</script>

一些可能有帮助的附加信息:

在深入了解 no-restricted-syntaxvue/no-restricted-syntax 规则和 AST 之后,我终于开始工作了,这里是工作规则:

{
  rules: {
    'no-restricted-syntax': [
      'error',
      {
        selector: '[name=$log]',
        message: "Using '$log' is not allowed.",
      },
    ],
    'vue/no-restricted-syntax': [
      'error',
      {
        selector: '[name=$log]',
        message: "Using '$log' is not allowed.",
      },
    ],
  },
}