šŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →
Socket
Sign inDemoInstall
Socket

eslint-plugin-vue-required-attributes

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-vue-required-attributes

Require specified attributes on specified components from being used!

1.0.1
latest
Source
npm
Version published
Weekly downloads
178
42.4%
Maintainers
1
Weekly downloads
Ā 
Created
Source

eslint-plugin-vue-required-attributes

Inspired by eslint-plugin-idiomatic-jsx & require-attributes rule.

Require specified attributes on specified components from being used.

This is useful for things such as:

  • Requiring a id attribute on things used by automated tests
  • Requiring attributes needed for SEO or a11y concerns

Installation

You'll first need to install ESLint:

# npm
npm install eslint --save-dev

# yarn
yarn add eslint --dev

Next, install eslint-plugin-vue-required-attributes:

# npm
npm install eslint-plugin-vue-required-attributes --save-dev

# yarn
yarn add eslint-plugin-vue-required-attributes --dev

Configuration

Add vue-required-attributes to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix

{
  "plugins": [
    "vue-required-attributes"
  ]
}

Configure the rules you want to use under the rules section.

{
  "rules": {
    "vue-required-attributes/require-attributes": [ 1, {
      // options
    } ]
  }
}

Usage

This rule takes one object argument of type object that defines an associative array of attributes that that should be required on the defined array of components.

{
  "rules": {
    "vue-required-attributes/require-attributes": [
      1,
      {
        "id": ["a", "button", "input"]
      }
    ]
  }
}

Succeed

<a id='my-id'></a>                  <!-- Good: id is provided-->
<input id='my-id' />                <!-- Good: id is provided-->

Fail

<a></a>                             <!-- Bad: id is missing-->
<button></button>                   <!-- Bad: id is missing-->

Custom output message

You may also pass in a 3rd option to change the default message that is output on error.

This can be handy if you want to explain "why" this rule is being used in your project or organization. This option is a function that takes in the nodeType and attribute name and returns a string.

{
  "rules": {
    "vue-required-attributes/require-attributes": [
      1,
      {
        id: ['a', 'button'],
      },
      (componentName: string, missedAttribute: string) => `"${componentName}" missing "${missedAttribute} attribute."`
    ]
  }
}

āœļø Code conduction

This project uses Gitmoji for commit messages

Keywords

eslint

FAQs

Package last updated on 30 Jan 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts