Vize

script/no-duplicate-attr-inheritance

fallthrough 属性を同じコンポーネントで二重に適用する箇所を検出します。

悪い例 · 良い例

既定の重大度: warning
プリセット: happy-path, ecosystem, nuxt, opinionated
自動修正: なし。修正内容を確認してください
適用範囲: Vue SFC の JS / TS script。Options API または script setup の対象は例を参照してください。
オプション: ルール固有のオプションはありません。重大度とプリセットは設定できます。

設定(Vite+)

import { defineConfig } from "@vizejs/vite-plugin/vite-plus";

export default defineConfig({
  lint: {
    vize: {
      "preset": "incremental",
      "rules": {
        "script/no-duplicate-attr-inheritance": "warn"
      }
    },
  },
});
vp run lint

悪い

明示的な inheritAttrs: true が Vue の既定動作を繰り返しています。このルールは、ルートの $attrs 展開が例にない場合もこの冗長なリテラルを報告します。

<script lang="ts">
defineOptions({ inheritAttrs: true })
export default { inheritAttrs: true }
</script>

良い

inheritAttrs: false は継承を無効にする指定であり、空のオプションは既定の継承を暗黙に使います。どちらも冗長な true を指定しません。

<script lang="ts">
defineOptions({ inheritAttrs: false }) // intentional opt-out
export default {}                      // default inheritance, unstated
</script>

良い例は上記の設定でこのルールの検出を避ける例です。他のルールでは検出される場合があります。

実装 · 全ルール