eslint-plugin-pinia v0.1.13
eslint-plugin-pinia
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
- eslint-plugin-vitest The core repository structure came from this eslint plugin
Licence
MIT Licence © 2024
Contributing
Please check the Contributing file.
This project exists thanks to all the people who contribute 😍!