Eslint plugin that enforces some best practices for writing pinia stores
You'll first need to install ESLint:
npm i eslint --save-dev
Next, install eslint-plugin-pinia
:
npm install eslint-plugin-pinia --save-dev
Add pinia
to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin-
prefix:
{
"plugins": ["pinia"]
}
Then configure the rules you want to use under the rules section.
{
"rules": {
"pinia/require-export-define-store": [
"warn"
]
}
}
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
.
To use the all configuration, extend it in your .eslintrc
file:
{
"extends": ["plugin:pinia/all"]
}
💼 Configurations enabled in.
🚫 Configurations disabled in.
🌐 Set in the all
configuration.
✅ Set in the recommended
configuration.
Name | Description | 💼 | 🚫 | |
---|---|---|---|---|
never-export-initialized-store | Never export an initialized named or default store. | 🌐 ✅ | ||
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. | ✅ | 🌐 |
- eslint-plugin-vitest The core repository structure came from this eslint plugin
MIT Licence © 2024
Please check the Contributing file.
This project exists thanks to all the people who contribute 😍!