eslint-plugin-pnpm
TypeScript icon, indicating that this package has built-in type declarations

0.3.1 • Public • Published

eslint-plugin-pnpm

npm version npm downloads bundle JSDocs License

ESLint plugin to enforce and auto-fix pnpm catalogs.

This plugin consist with two set of rules that applies to package.json and pnpm-workspace.yaml respectively.

Setup

pnpm add -D eslint-plugin-pnpm

Basic Usage

// eslint.config.mjs
import { configs } from 'eslint-plugin-pnpm'

export default [
  {
    ignores: ['**/node_modules/**', '**/dist/**'],
  },
  ...configs.json,
  ...configs.yaml,
]

Manual Configuration

// eslint.config.mjs
import pluginPnpm from 'eslint-plugin-pnpm'
import * as jsoncParser from 'jsonc-eslint-parser'
import * as yamlParser from 'yaml-eslint-parser'

export default [
  {
    ignores: ['**/node_modules/**', '**/dist/**'],
  },
  {
    name: 'pnpm/package.json',
    files: [
      'package.json',
      '**/package.json',
    ],
    languageOptions: {
      parser: jsoncParser,
    },
    plugins: {
      pnpm: pluginPnpm,
    },
    rules: {
      'pnpm/json-enforce-catalog': 'error',
      'pnpm/json-valid-catalog': 'error',
      'pnpm/json-prefer-workspace-settings': 'error',
    },
  },
  {
    name: 'pnpm/pnpm-workspace-yaml',
    files: ['pnpm-workspace.yaml'],
    languageOptions: {
      parser: yamlParser,
    },
    plugins: {
      pnpm: pluginPnpm,
    },
    rules: {
      'pnpm/yaml-no-unused-catalog-item': 'error',
      'pnpm/yaml-no-duplicate-catalog-item': 'error',
    },
  },
]

Sponsors

License

MIT License © Anthony Fu

Readme

Keywords

Package Sidebar

Install

npm i eslint-plugin-pnpm

Weekly Downloads

100,566

Version

0.3.1

License

MIT

Unpacked Size

26.6 kB

Total Files

5

Last publish

Collaborators

  • antfu
  • sxzz