npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

eslint-config-hyoban

v3.1.15

Published

Hyoban's ESLint Config

Downloads

6,003

Readme

eslint-config-hyoban

npm version npm downloads License

Hyoban's ESLint Config enables most of the recommended rules for js, ts, and react, uses ESLint for formatting, and provides a lot of useful plugins.

Read more about why I use ESLint for linting and formatting on xLog.

| Basic | Style | React | Others | Tools | | ------------------ | ---------------- | ------------- | ------------------- | ---------------------- | | js ✅ | stylistic ✅ | react ✅ | Tailwind CSS ✅ | config-inspector ✅ | | ts ✅ | antfu ✅ | hooks ✅ | UnoCSS ✅ | eslint-types | | unicorn ✅ | import-sort ✅ | refresh ✅ | flat-gitignore ✅ | eslint-typegen ✅ | | import-x ✅ | jsonc ✅ | compiler ✅ | command ✅ | @antfu/eslint-config | | unused-import ✅ | yml | jsx-a11y | regexp ✅ | | | n | perfectionist | next | package-json ✅ | | | compat | format | jsx-nesting | cspell | |

Usage

[!TIP] You may not need lint-staged and simple-git-hooks if you don't ignore auto-fix for rules in the editor.

ni -D eslint eslint-config-hyoban lint-staged simple-git-hooks

If you are using ESLint 9.9.0 and eslint.config.ts, you need to install jiti.

ni -D jiti

[!TIP] You can install the nightly version from pkg.pr.new, for example, ni -D https://pkg.pr.new/hyoban/eslint-config-hyoban@{commit}.

eslint.config.mjs or eslint.config.ts if you are using ESLint 9.9.0.

// @ts-check
import { defineConfig } from 'eslint-config-hyoban'

export default defineConfig()

[!TIP] You can customize the preset by passing options according to available options

package.json

{
  "scripts": {
    "lint": "eslint",
    "lint:fix": "eslint --fix",
    "prepare": "simple-git-hooks"
  },
  "simple-git-hooks": {
    "pre-commit": "npx lint-staged"
  },
  "lint-staged": {
    "*": "eslint --fix"
  }
}

Use eslint --flag unstable_ts_config if you are using ESLint 9.9.0 and eslint.config.ts.

.vscode/settings.json for VSCode.

{
  // You shouldn't use formatter with this ESLint config
  "[javascript][javascriptreact][typescript][typescriptreact][json][jsonc]": {
    "editor.formatOnSave": false,
    "editor.codeActionsOnSave": {
      "source.fixAll.eslint": "explicit"
    }
  },

  // If you are using ESLint 9.9.0 and eslint.config.ts
  "eslint.options": {
    "flags": ["unstable_ts_config"]
  },

  // If you do not want to auto fix some rules on save
  // You can put this in your user settings or workspace settings
  "eslint.codeActionsOnSave.rules": [
    "!prefer-const",
    "!unused-imports/no-unused-imports",
    "!@stylistic/jsx-self-closing-comp",
    "!tailwindcss/classnames-order",
    "*"
  ],

  // If you want to silent stylistic rules
  // You can put this in your user settings or workspace settings
  "eslint.rules.customizations": [
    { "rule": "@stylistic/*", "severity": "off", "fixable": true },
    { "rule": "antfu/consistent-list-newline", "severity": "off" },
    { "rule": "hyoban/jsx-attribute-spacing", "severity": "off" },
    { "rule": "simple-import-sort/*", "severity": "off" },
    { "rule": "prefer-const", "severity": "off" },
    { "rule": "unused-imports/no-unused-imports", "severity": "off" },
    { "rule": "tailwindcss/classnames-order", "severity": "off" }
  ],

  // You can also silent all auto fixable rules
  "eslint.rules.customizations": [
    { "rule": "*", "fixable": true, "severity": "off" }
  ]
}

Who is using?