Skip to content

lisilinhart/eslint-plugin-pinia

Repository files navigation

eslint-plugin-pinia

npm test

Eslint plugin that enforces some best practices for writing pinia stores

Installation

You'll first need to install ESLint:

npm i eslint --save-dev

Next, install eslint-plugin-pinia:

npm install eslint-plugin-pinia --save-dev

Usage

Add pinia to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
  "plugins": ["pinia"]
}

Rule Configuration

Then configure the rules you want to use under the rules section.

{
  "rules": {
    "pinia/require-export-define-store": [
      "warn"
    ]
  }
}

Recommended

To use the recommended configuration, extend it in your .eslintrc file:

{
  "extends": ["plugin:pinia/recommended"]
}

All recommend rules will be set to error by default. You can however disable some rules by setting turning them off in your .eslintrc file or by setting them to warn in your .eslintrc.

all rules

To use the all configuration, extend it in your .eslintrc file:

{
  "extends": ["plugin:pinia/all"]
}

Rules

💼 Configurations enabled in.
⚠️ Configurations set to warn in.
🚫 Configurations disabled in.
🌐 Set in the all configuration.
✅ Set in the recommended configuration.

Name                                  Description 💼 ⚠️ 🚫
no-duplicate-store-ids Disallow duplicate store ids 🌐
no-return-global-properties Disallows returning globally provided properties from Pinia stores. 🌐
prefer-single-store-per-file Encourages defining each store in a separate file. 🌐
prefer-use-store-naming-convention Enforces the convention of naming stores with the prefix use followed by the store name. 🌐
require-setup-store-properties-export In setup stores all state properties must be exported. 🌐

Credits

Licence

MIT Licence © 2024

Contributing

Please check the Contributing file.

This project exists thanks to all the people who contribute 😍!