Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/rules/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ For example:
| [vue/no-undef-components](./no-undef-components.md) | disallow use of undefined components in `<template>` | | :hammer: |
| [vue/no-undef-properties](./no-undef-properties.md) | disallow undefined properties | | :hammer: |
| [vue/no-unsupported-features](./no-unsupported-features.md) | disallow unsupported Vue.js syntax on the specified version | :wrench: | :hammer: |
| [vue/no-unused-emit-declarations](./no-unused-emit-declarations.md) | disallow unused emit declarations | | :hammer: |
| [vue/no-unused-properties](./no-unused-properties.md) | disallow unused properties | | :hammer: |
| [vue/no-unused-refs](./no-unused-refs.md) | disallow unused refs | | :hammer: |
| [vue/no-use-v-else-with-v-for](./no-use-v-else-with-v-for.md) | disallow using `v-else-if`/`v-else` on the same element as `v-for` | | :hammer: |
Expand Down
59 changes: 59 additions & 0 deletions docs/rules/no-unused-emit-declarations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
pageClass: rule-details
sidebarDepth: 0
title: vue/no-unused-emit-declarations
description: disallow unused emit declarations
---
# vue/no-unused-emit-declarations

> disallow unused emit declarations

- :exclamation: <badge text="This rule has not been released yet." vertical="middle" type="error"> ***This rule has not been released yet.*** </badge>

## :book: Rule Details

This rule is aimed at eliminating unused emit declarations.

<eslint-code-block :rules="{'vue/no-unused-emit-declarations': ['error']}">

```vue
<!-- ✗ BAD -->
<script>
export default {
emits: ['foo'],
}
</script>
```

</eslint-code-block>

<eslint-code-block :rules="{'vue/no-unused-emit-declarations': ['error']}">

```vue
<!-- ✓ GOOD -->
<script>
export default {
emits: ['foo'],
methods: {
foo() {
this.$emit('foo')
},
},
}
</script>
```

</eslint-code-block>

## :wrench: Options

Nothing.

## :couple: Related Rules

- [vue/require-explicit-emits](./require-explicit-emits.md)

## :mag: Implementation

- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/no-unused-emit-declarations.js)
- [Test source](https://github.com/vuejs/eslint-plugin-vue/blob/master/tests/lib/rules/no-unused-emit-declarations.js)
4 changes: 4 additions & 0 deletions docs/rules/require-explicit-emits.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,10 @@ export default {

</eslint-code-block>

## :couple: Related Rules

- [vue/no-unused-emit-declarations](./no-unused-emit-declarations.md)

## :books: Further Reading

- [Guide - Custom Events / Defining Custom Events](https://v3.vuejs.org/guide/component-custom-events.html#defining-custom-events)
Expand Down
1 change: 1 addition & 0 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ module.exports = {
'no-undef-properties': require('./rules/no-undef-properties'),
'no-unsupported-features': require('./rules/no-unsupported-features'),
'no-unused-components': require('./rules/no-unused-components'),
'no-unused-emit-declarations': require('./rules/no-unused-emit-declarations'),
'no-unused-properties': require('./rules/no-unused-properties'),
'no-unused-refs': require('./rules/no-unused-refs'),
'no-unused-vars': require('./rules/no-unused-vars'),
Expand Down
Loading