You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
module.exports={// https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy// This option interrupts the configuration hierarchy at this file// Remove this if you have an higher level ESLint config file (it usually happens into a monorepos)root: true,parserOptions: {parser: '@babel/eslint-parser',ecmaVersion: 2018,// Allows for the parsing of modern ECMAScript featuressourceType: 'module'// Allows for the use of imports},env: {browser: true,'vue/setup-compiler-macros': true},// Rules order is important, please avoid shuffling themextends: [// Base ESLint recommended rules// 'eslint:recommended',// Uncomment any of the lines below to choose desired strictness,// but leave only one uncommented!// See https://eslint.vuejs.org/rules/#available-rules'plugin:vue/vue3-recommended',// Priority A: Essential (Error Prevention)// 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability)// 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead)'standard'],plugins: [// https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-files// required to lint *.vue files'vue',],globals: {ga: 'readonly',// Google Analyticscordova: 'readonly',__statics: 'readonly',__QUASAR_SSR__: 'readonly',__QUASAR_SSR_SERVER__: 'readonly',__QUASAR_SSR_CLIENT__: 'readonly',__QUASAR_SSR_PWA__: 'readonly',process: 'readonly',Capacitor: 'readonly',chrome: 'readonly'},// add your custom rules hererules: {// allow async-await'generator-star-spacing': 'off',// allow paren-less arrow functions'arrow-parens': 'off','one-var': 'off','no-void': 'off','multiline-ternary': 'off','import/first': 'off','import/named': 'error','import/namespace': 'error','import/default': 'error','import/export': 'error','import/extensions': 'off','import/no-unresolved': 'off','import/no-extraneous-dependencies': 'off','prefer-promise-reject-errors': 'off',// allow debugger during development only'no-debugger': process.env.NODE_ENV==='production' ? 'error' : 'off'}}
What did you do?
Sample Project containing the Vue3 ESLint error: https://github.com/nicholaszuccarelli/quasar-broken-popover-inside-field
Essentially, I've created a component and used a mixin on the component (using options API).
The mixin contains the emits[] array of some properties that the component can emit.
The component example:
<template>
<div>
<q-btn @click="$emit('sample')" />
</div>
</template>
<script>importsampleMixinfrom'./sampleMixin'exportdefaultdefineComponent({ name:'IndexPage', mixins: [sampleMixin]})</script>
The mixin:
export default {
emits: ['sample']
}
What did you expect to happen?
ESLint should recognise that the mixin contains a 'sample' emitter property (should not show warning).
While this is a simple use-case, I have 10+ components which inherit a single mixin which emits an event - it becomes troublesome having to define these same emits[] arrays in each of the components which share the single mixin.
What actually happened?
55:18 warning The "sample" event has been triggered but not declared on emits option vue/require-explicit-emits
ESLint has no access to files other than the currently linted one. So we can either exclude components containing a mixin completely from this check (and similar ones), or require users to rewrite their code, or require users to disable the rule.
Checklist
Tell us about your environment
Please show your full configuration:
What did you do?
What did you expect to happen?
ESLint should recognise that the mixin contains a 'sample' emitter property (should not show warning).
While this is a simple use-case, I have 10+ components which inherit a single mixin which emits an event - it becomes troublesome having to define these same emits[] arrays in each of the components which share the single mixin.
What actually happened?
55:18 warning The "sample" event has been triggered but not declared on
emits
option vue/require-explicit-emits✖ 1 problem (0 errors, 1 warning)
Repository to reproduce this issue
https://github.com/nicholaszuccarelli/quasar-broken-popover-inside-field
(
npm install
thenquasar dev
to run project)The text was updated successfully, but these errors were encountered: