🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

eslint-plugin-pinia

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-pinia

ESLint plugin for Pinia best practices

latest
Source
npmnpm
Version
0.4.2
Version published
Maintainers
1
Created
Source

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 or eslint.config.js configuration file. You can omit the eslint-plugin- prefix:

// .eslintrc [Legacy Config]
{
  "plugins": ["pinia"]
}
// eslint.config.js
import pinia from 'eslint-plugin-pinia'

export default [
  plugins: {
    pinia
  }
]

Rule Configuration

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

// .eslintrc [Legacy Config]
{
  "rules": {
    "pinia/require-export-define-store": [
      "warn"
    ]
  }
}
// eslint.config.js
import pinia from 'eslint-plugin-pinia'

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

To use the recommended configuration, extend it in your .eslintrc or eslint.config.js file:

// .eslintrc [Legacy Config]
{
  "extends": ["plugin:pinia/recommended"]
}
// eslint.config.js
import pinia from 'eslint-plugin-pinia'

export default [
  pinia.configs["recommended-flat"],
]

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

all rules

To use the all configuration, extend it in your .eslintrc or eslint.config.js file:

// .eslintrc [Legacy Config]
{
  "extends": ["plugin:pinia/all"]
}
// eslint.config.js
import pinia from 'eslint-plugin-pinia'

export default [
  pinia.configs["all-flat"],
]

Rules

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

Name                                 Description💼⚠️🚫
never-export-initialized-storeNever export an initialized named or default store.✅ ✅🌐 🌐
no-duplicate-store-idsDisallow duplicate store ids.✅ ✅🌐 🌐
no-return-global-propertiesDisallows returning globally provided properties from Pinia stores.✅ ✅🌐 🌐
no-store-to-refs-in-storeDisallow use of storeToRefs inside defineStore✅ ✅🌐 🌐
prefer-single-store-per-fileEncourages defining each store in a separate file.🌐 🌐
prefer-use-store-naming-conventionEnforces the convention of naming stores with the prefix use followed by the store name.🌐 🌐 ✅ ✅
require-setup-store-properties-exportIn 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 😍!

Keywords

eslint

FAQs

Package last updated on 21 Nov 2025

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