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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@simbo/eslint-config

v2.0.4

Published

Shared ESLint configurations for different environments and technology stacks with utilities for configuration customization.

Readme

Simbo's ESLint Configurations

📦 @simbo/eslint-config

Shared ESLint configurations for different environments and technology stacks with utilities for configuration customization.

9️⃣ Requires ESLint v9+ ("flat config" format).

This package includes a curated set of ESLint-related dependencies:

Installing @simbo/eslint-config automatically includes these dependencies — you do not need to add them separately.

Installation

Install ESLint and @simbo/eslint-config from the npm registry:

npm i -D eslint @simbo/eslint-config

Usage

Add one or more configurations to your eslint configuration file (e.g. eslint.config.ts).

See examples below, or consult the API reference.

[!TIP]
Inspect and debug your configuration with the ESLint Config Inspector:

npx @eslint/config-inspector@latest --config=./eslint.config.ts

Configurations

All configuration exports are ConfigsRecord objects.

A ConfigsRecord provides the following environments and variations:

import type { Linter } from 'eslint';

interface ConfigsRecord {
  node: {
    recommended: Linter.Config[]; // Recommended for Node.js projects
  };
  browser: {
    recommended: Linter.Config[]; // Recommended for browser projects
  };
}

All-in-One Configurations

⭐️ Use the all-in-one configs export, which combines all configuration supersets:

import { configs } from '@simbo/eslint-config';

Combinable Configurations

Superset Configurations

Each of the following supersets extends curated third-party configurations:

Custom Configurations

  • Overrides tailored for spec files and mocks.
    Exported as testingConfigs

    import { testingConfigs } from '@simbo/eslint-config/testing';

Utilities

Utilities can be imported from either @simbo/eslint-config or @simbo/eslint-config/utils.

Examples

Node.js Project

Using the recommended configuration for Node.js projects:

import { configs, globals } from '@simbo/eslint-config';
import { defineConfig, globalIgnores } from 'eslint/config';

export default defineConfig([
  globalIgnores(['**/dist/', '**/coverage/']),
  {
    // Set up language options for TypeScript with globals for Node.js.
    languageOptions: {
      globals: { ...globals.node },
      parserOptions: {
        project: ['./tsconfig.json'],
        tsconfigRootDir: import.meta.dirname,
        allowDefaultProject: ['*.config.js', '.*.js'],
      },
    },
    // Extend the recommended Node.js configuration.
    extends: [configs.node.recommended],
    rules: {
      // Your rule overrides can be added here.
    },
  },
  // Additional configurations can be added here.
]);

Browser Project

Using the recommended configuration for browser projects:

import { configs, globals } from '@simbo/eslint-config';
import { defineConfig, globalIgnores } from 'eslint/config';

export default defineConfig([
  globalIgnores(['**/dist/', '**/coverage/']),
  {
    // Set up language options for TypeScript with globals for browser.
    languageOptions: {
      globals: { ...globals.browser },
      parserOptions: {
        project: ['./tsconfig.json'],
        tsconfigRootDir: import.meta.dirname,
        allowDefaultProject: ['*.config.js', '.*.js'],
      },
    },
    // Extend the recommended browser configuration.
    extends: [configs.browser.recommended],
    rules: {
      // Your rule overrides can be added here.
    },
  },
  // Additional configurations can be added here.
]);

Combined Configuration Supersets

In this example, we create a combined configuration for a browser environment with support for JavaScript, TypeScript, and Prettier.

import { eslintJsConfigs } from '@simbo/eslint-confi^g/eslint-js';
import { typescriptEslintConfigs } from '@simbo/eslint-config/typescript-eslint';
import { prettierConfigs } from '@simbo/eslint-config/prettier';
import { globals } from '@simbo/eslint-config';
import { defineConfig, globalIgnores } from 'eslint/config';

export default defineConfig([
  globalIgnores(['**/dist/', '**/coverage/']),
  {
    // Set up language options for TypeScript with globals for browser.
    languageOptions: {
      globals: { ...globals.browser },
      parserOptions: {
        project: ['./tsconfig.json'],
        tsconfigRootDir: import.meta.dirname,
        allowDefaultProject: ['*.config.js', '.*.js'],
      },
    },
    // Extend combinable configuration supersets for browser.
    extends: [
      eslintJsConfigs.browser.recommended,
      typescriptEslintConfigs.browser.recommended,
      prettierConfigs.recommended,
    ],
    rules: {
      // Your rule overrides can be added here.
    },
  },
  // Additional configurations can be added here.
]);

License

MIT © Simon Lepel