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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@buildeross/eslint-config-custom

v0.2.1

Published

Shared ESLint configuration for BuilderOSS apps

Readme

@buildeross/eslint-config-custom

Shared ESLint configuration for BuilderOSS projects using Next.js, TypeScript, and modern React patterns.

Installation

pnpm install @buildeross/eslint-config-custom eslint --save-dev

Features

  • Next.js Optimized: Built-in Next.js specific rules and optimizations
  • TypeScript Support: Full TypeScript linting with type-aware rules
  • Prettier Integration: Automatic code formatting with Prettier
  • Import Management: Automatic removal of unused imports
  • Monorepo Support: Turbo-optimized for monorepo environments
  • Customizable: Reasonable defaults with room for project-specific overrides

Usage

Basic Setup

Create an .eslintrc.js file in your project root:

module.exports = {
  extends: ['@buildeross/eslint-config-custom'],
}

With Additional Rules

module.exports = {
  extends: ['@buildeross/eslint-config-custom'],
  rules: {
    // Your custom rules here
    'no-console': 'error',
  },
}

Package.json Scripts

Add linting scripts to your package.json:

{
  "scripts": {
    "lint": "eslint . --ext .js,.jsx,.ts,.tsx",
    "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix"
  }
}

Configuration Details

Extended Configurations

  • next - Next.js specific rules
  • turbo - Turborepo optimizations
  • prettier - Prettier integration
  • plugin:prettier/recommended - Prettier plugin recommendations

Active Plugins

  • @typescript-eslint - TypeScript-specific linting
  • unused-imports - Automatic unused import removal

Key Rules

TypeScript

  • @typescript-eslint/no-unused-vars: Warns on unused vars (allows underscore prefix)
  • Unused imports automatically removed

React/Next.js

  • @next/next/no-html-link-for-pages: Disabled for flexibility
  • react/jsx-key: Disabled (handled by TypeScript)
  • react/display-name: Disabled for functional components
  • @next/next/no-img-element: Disabled (allows regular img tags)
  • react/no-unescaped-entities: Disabled

Code Quality

  • prettier/prettier: Warns on formatting issues
  • no-console: Warns on console usage (allows error/warn)

Development

Prerequisites

  • Node.js 18+
  • pnpm 8+

Dependencies

The configuration includes all necessary ESLint plugins and configurations:

  • @typescript-eslint/eslint-plugin: TypeScript linting
  • @typescript-eslint/parser: TypeScript parser
  • eslint-config-next: Next.js optimizations
  • eslint-config-prettier: Prettier integration
  • eslint-config-turbo: Turborepo support
  • eslint-plugin-prettier: Prettier as ESLint plugin
  • eslint-plugin-react: React specific rules
  • eslint-plugin-unused-imports: Import cleanup

Prettier Integration

This config includes automatic Prettier formatting. Create a .prettierrc file to customize formatting:

{
  "semi": false,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "es5"
}

IDE Integration

VS Code

Install the ESLint extension and add to your settings.json:

{
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "editor.formatOnSave": true
}

Monorepo Usage

This configuration is optimized for monorepo environments with Turborepo. It automatically handles workspace dependencies and cross-package imports.

Customization

Disabling Rules

module.exports = {
  extends: ['@buildeross/eslint-config-custom'],
  rules: {
    'no-console': 'off',
    'prettier/prettier': 'off',
  },
}

Adding Environment-Specific Rules

module.exports = {
  extends: ['@buildeross/eslint-config-custom'],
  env: {
    jest: true, // Enable Jest globals
  },
  overrides: [
    {
      files: ['*.test.{js,ts,tsx}'],
      rules: {
        'no-console': 'off', // Allow console in tests
      },
    },
  ],
}

License

MIT License - see LICENSE file for details.