Skip to content
← Back to rules

vue/no-import-compiler-macros 制限

An auto-fix is available for this rule.

何をしますか

Vue コンパイラマクロのインポートを禁止します。

なぜこれは問題ですか?

以下のコンパイラマクロは、Vue 3 の <script setup> ではグローバルに利用可能であり、明示的なインポートは必要ありません:

  • defineProps
  • defineEmits
  • defineExpose
  • withDefaults
  • defineModel
  • defineOptions
  • defineSlots

このルールに違反する誤ったコードの例:

vue
<script setup>
import { defineProps, withDefaults } from "vue";
</script>

このルールに従う正しいコードの例:

vue
<script setup>
import { ref } from "vue";
</script>

使い方

設定ファイルまたは CLI でこのルールを有効化するには、以下のように使用できます:

json
{
  "plugins": ["vue"],
  "rules": {
    "vue/no-import-compiler-macros": "error"
  }
}
bash
oxlint --deny vue/no-import-compiler-macros --vue-plugin

参照