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

@kiforks/eslint-config

v1.5.0

Published

eslint shareable config

Readme

@kiforks/eslint-config

npm version Build Status Downloads per month

Created by Kifor Kostiantyn

This is the standard configuration file for ESLint from Kifor Kostiantyn.

Use it as is or as a basis for your own configuration.

Installation

You first need to install your published configuration, for example:

npm install --save-dev eslint @kiforks/eslint-config
yarn add --dev eslint @kiforks/eslint-config
pnpm add --save-dev eslint @kiforks/eslint-config
bun add --dev eslint @kiforks/eslint-config

Basic Configuration

In the root of the project, create a eslint.config.js file and add @kiforks/eslint-config to the extends field.

eslint.config.js

import kiforAngularTemplate from '@kiforks/eslint-config/angular-template.js';
import kiforAngularTypescript from '@kiforks/eslint-config/angular-typescript.js';
import kiforJavascript from '@kiforks/eslint-config/javascript.js';
import kiforJasmine from '@kiforks/eslint-config/tests-jasmine.js';
import kiforJest from '@kiforks/eslint-config/tests-jest.js';
import kiforVitest from '@kiforks/eslint-config/vitest.js';
import kiforTests from '@kiforks/eslint-config/tests.js';
import kiforTypescript from '@kiforks/eslint-config/typescript.js';

/** @type { import("eslint").Linter.Config[] } */
export default [
	...kiforTypescript.map(config => ({
		...config,
		languageOptions: {
			...config.languageOptions,
			parserOptions: {
				project: ['./tsconfig.base.json'],
				tsconfigRootDir: import.meta.dirname,
			},
		},
	})),
	...kiforJavascript,
	...kiforAngularTemplate,
	...kiforAngularTypescript,
	...kiforTests,
	...kiforJasmine,
	...kiforVitest,
];

Configure Extension

You can override existing rules or add new ones by using the rules field in your ESLint configuration.

eslint.config.js

export default [
	...kiforTypescript,
	{
		rules: {
			'@typescript-eslint/no-explicit-any': 'off',
			'jest/prefer-expect-assertions': 'off',
		},
	},
];

Disable Recommend Configuration

The disable-recommend configuration is designed to disable certain ESLint rules that enforce stricter coding practices, giving developers more flexibility when needed. This can be useful in scenarios where specific recommendations are not suitable for your project's requirements.

Purpose

  • Flexibility: Allows you to bypass overly strict linting rules.
  • Customization: Focus on rules that align with your project's coding style.
  • Ease of Development: Reduces friction when rapid prototyping or working with legacy code.

Usage

In your eslint.config.js, extend the disable-recommend configuration:

import kiforDisableRecommend from '@kiforks/eslint-config/disable-recommend.js';

/** @type { import("eslint").Linter.Config[] } */
export default [...kiforDisableRecommend];

Feature-Sliced Design Configuration

The feature-sliced-design.js configuration enforces architectural boundaries based on the Feature-Sliced Design methodology. It restricts cross-layer imports to encourage modularity, scalability, and maintainability in frontend applications.

Key Features

  • Enforces layer isolation: shared, entities, features, widgets, pages, processes, app
  • Restricts disallowed import paths across layers
  • Works with .ts, .tsx, .js, .jsx files

Usage

import kiforFeatureSliced from '@kiforks/eslint-config/feature-sliced-design.js';

export default [...kiforFeatureSliced];

NestJS Configuration

Add NestJS-specific linting for controllers, providers, and pipes.

// eslint.config.js
import kiforNest from '@kiforks/eslint-config/nestjs.js';

export default [
  ...kiforNest,
];

Notes

  • Includes rules for DI usage, validation pipes, and common NestJS best practices.
  • Works with Express or Fastify projects.

Storybook Configuration

Enable rules for CSF stories and Storybook testing utilities.

// eslint.config.js
import kiforStorybook from '@kiforks/eslint-config/storybook.js';

export default [
  ...kiforStorybook,
];

Globs

  • Targets **/*.stories.@(ts|tsx|js|jsx|mjs|cjs) by default.

Vitest Configuration

Enable rules for Vitest tests.

// eslint.config.js
import kiforVitest from '@kiforks/eslint-config/vitest.js';

export default [
  ...kiforVitest,
];

Globs

  • Targets **/*.spec.ts, **/*.host.ts, **/*.po.ts by default.

Usage in VSCode

  1. Install ESLint and the configuration.
  2. Open VSCode.
  3. Install the ESLint plugin.
  4. Use it.

Scripts

Add these scripts to your package.json for easier linting and formatting:

{
  "scripts": {
    "lint": "npx eslint '**/*.{ts,html,js}' --quiet",
    "lint:fix": "npx eslint '**/*.{ts,html,js}' --quiet --fix"
  }
}

License

MIT