Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

disallow importing macros: defineProps etc #2437

Copy link
Copy link
Closed
@dcecile

Description

@dcecile
Issue body actions

It it worth tracking approved but closed #1906 as a new issue here? Although this may be better as a core feature.

Example playground that includes vue/prefer-import-from-vue rule enabled: link

This playground code triggers a compiler message about the macro import:

[@vue/compiler-sfc] `defineProps` is a compiler macro and no longer needs to be imported.

Please describe what the rule should do: It should warn if defineProps, defineEmits and similar are imported from vue (autofixable)

What category should the rule belong to?

[x] Enforces code style (layout)
[ ] Warns about a potential error (problem)
[ ] Suggests an alternate way of doing something (suggestion)
[ ] Other (please specify:)

Provide 2-3 code examples that this rule should warn about:

bad:

<script setup>
import { defineProps } from '@vue/runtime-dom';

defineProps<{}>();
</script>

good:

<script setup>
defineProps<{}>();
</script>

good:

<script setup>
import { defineProps } from 'my-lib';

defineProps('whatever');

Additional context Useful when define* are added to eslint globals, there's no need to import them manually. If project was using imports and then dev switched to globals then autofix would just automatically remove unnecessary imports

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.