Address `vue/custom-event-name-casing` offenses
❗ COMMUNITY CONTRIBUTORS, PLEASE ONLY PICK UP ONE DIRECTORY OF <20 FILES AT A TIME TO KEEP MERGE REQUESTS MANAGEABLE ❗
The vue/custom-event-name-casing ESLint rule was enabled in Adds linting for Vue events formatting (!214221 - merged) and uncovered many offenses
This epic tracks the progress for addressing existing offenses in the files that are currently ignored in .eslint_todo/vue-custom-event-name-casing.mjs.
Example from the docs. We are standardizing on kebab case and not allowing camelCase.
<template>
<!-- ✓ GOOD -->
<button @click="$emit('my-event')" />
<!-- ✗ BAD -->
<button @click="$emit('myEvent')" />
</template>
<script>
export default {
methods: {
onClick() {
/* ✓ GOOD */
this.$emit('my-event')
/* ✗ BAD */
this.$emit('myEvent')
}
}
}
</script>Implementation
- Pick a directory of files from .eslint_todo/vue-custom-event-name-casing.mjs
- Change the event names in all the files in the directory to be
kebab-case - Update the event names of all usage of changed event names
- Create a screen recording of the components working as expected in the application
- Remove the modified files from .eslint_todo/vue-custom-event-name-casing.mjs and .eslint_todo/vue-v-on-event-hyphenation.mjs (The eslint file
.eslint_todo/vue-custom-event-name-casing.mjsenforces the rule that components must emit kebab-case custom events. The eslint file.eslint_todo/vue-v-on-event-hyphenation.mjsenforces the rule that components must consume kebab-case custom events.) - Stage all changes
git add . - Run Prettier on all staged files
yarn run lint:prettier:staged:fix - Stage all new changes
git add . - Run eslint to verify all files were fixed or fix any any issues
node scripts/frontend/eslint.js --no-warn-ignored --no-error-on-unmatched-pattern --format gitlab .eslint_todo/vue-custom-event-name-casing.mjs ./path/to/directory - Open a merge request to update any alt text that doesn't follow the guidelines. For details with how to open a merge request, see Contribute to the GitLab documentation.
In the merge request description, include this text:
Related to: https://gitlab.com/gitlab-org/gitlab/-/issues/583558
Support
Support contact: @aturinske
Edited by 🤖 GitLab Bot 🤖