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

@bmatei/eslint-config

v1.2.0

Published

Configurations for ESLint.

Downloads

155

Readme

ESLint Configuration

This package aims at creating universal configurations for ESLint that restricts the coding standards as much as possible. It is inspired but various rules packages but compiles everything into only one, dependency-free package.

Versions

  • @typescript-eslint/eslint-plugin - 3.7.1
  • @typescript-eslint/eslint-plugin-tslint - 3.7.1
  • @typescript-eslint/parser - 3.7.1
  • codelyzer - 5.2.3
  • eslint - 7.6.0
  • eslint-plugin-node - not implemented yet
  • prettier - 2.0.5
  • tslint - 6.1.3

Rules Details

Possible Errors

  • getter-return - disabled - TypeScript
  • no-dupe-args - disabled - TypeScript
  • no-dupe-keys - disabled - TypeScript
  • no-extra-parens - disabled - Prettier, TypeScript
  • no-extra-semi - disabled - Prettier, TypeScript
  • no-func-assign - disabled - TypeScript
  • no-import-assign - disabled - TypeScript
  • no-loss-of-precision - disabled - TypeScript
  • no-obj-calls - disabled - TypeScript
  • no-setter-return - disabled - TypeScript
  • no-unexpected-multiline - disabled - Prettier
  • no-unreachable - disabled - TypeScript
  • no-unsafe-negation - disabled - TypeScript
  • valid-typeof - disabled - TypeScript

Best Practices

  • block-scoped-var - disabled - no-var
  • class-methods-use-this - disabled since we don't want to enforce static members in classes
  • curly - disabled - Prettier
  • default-param-last - disabled - TypeScript
  • default-case - can be omitted locally with // No Default
  • dot-location - disabled - Prettier
  • dot-notation - disabled - TypeScript
  • no-empty-function - disabled - TypeScript
  • no-eq-null - disabled - eqeqeq
  • no-extra-label - disabled - no-labels
  • no-floating-decimal - disabled - Prettier
  • no-implicit-globals - disabled - no-var and using ES6 modules
  • no-invalid-this - disabled - Angular
  • no-magic-numbers - disabled - TypeScript
  • no-multi-spaces - disabled - Prettier
  • no-redeclare - disabled - no-var and TypeScript
  • no-return-await - disabled - TypeScript
  • no-restricted-properties - disabled since we don't have anything to restrict
  • no-unused-expressions - disabled - TypeScript
  • no-unused-labels - disabled - no-labels
  • no-throw-literal - disabled - TypeScrypt
  • no-warning-comments - FIXME comments will fail builds
  • no-with - disabled - strict and TypeScript
  • require-await - disabled - TypeScript
  • require-unicode-regexp - disabled since we don't want to enforce unicode flag in RegEx
  • vars-on-top - disabled - no-var
  • wrap-iife - disabled - Prettier

Strict Mode

  • strict - Strict mode is implied by default but disabled in TypeScript since we use alwaysStrict flag in tsconfig.json

Variables

  • init-declarations - disabled since we don't want to enforce variables initialization, TypeScript
  • no-label-var - disabled - no-labels
  • no-restricted-globals - disabled since we don't have anything to restrict
  • no-undef - disabled - TypeScript
  • no-unused-vars - disabled - no-var, ES6 and TypeScript
  • no-use-before-define - disabled - no-var, ES6 and TypeScript

Stylistic Issues

  • array-bracket-newline - disabled - Prettier
  • array-bracket-spacing - disabled - Prettier
  • array-element-newline - disabled - Prettier
  • block-spacing - disabled - Prettier
  • brace-style - disabled - Prettier, TypeScript
  • camelcase - disabled - TypeScript
  • comma-dangle - disabled - Prettier
  • comma-spacing - disabled - Prettier, TypeScript
  • comma-style - disabled - Prettier
  • computed-property-spacing - disabled - Prettier
  • consistent-this - disabled since we use target clean contexts
  • eol-last - disabled - Prettier
  • func-call-spacing: disabled - Prettier, TypeScript
  • func-name-matching: disabled - func-names
  • function-call-argument-newline - disabled - Prettier
  • function-paren-newline - disabled - Prettier
  • id-blacklist - disabled since we don't have anything to blacklist
  • id-match - this should be enabled
  • implicit-arrow-linebreak - disabled - Prettier
  • indent - disabled - Prettier, TypeScript
  • jsx-quotes - disabled - Prettier
  • key-spacing - disabled - Prettier
  • keyword-spacing - disabled - Prettier, TypeScript
  • line-comment-position - disabled since we allow line comments everywhere
  • linebreak-style - disabled - Prettier
  • lines-around-comment - disabled - Prettier
  • lines-between-class-members - disabled - TypeScript
  • max-len - disabled - Prettier
  • multiline-comment-style - disabled since we allow both types of multiline comments
  • multiline-ternary - disabled - Prettier
  • newline-per-chained-call - disabled - Prettier
  • new-parens - disabled - Prettier
  • no-array-constructor - disabled - TypeScript
  • no-inline-comments - disabled since we allow inline comments
  • no-mixed-operators - disabled since we don't want to enforce unnecessary parens and Prettier
  • no-mixed-spaces-and-tabs - disabled - no-tabs and Prettier
  • no-multiple-empty-lines - disabled - Prettier
  • no-negated-condition - disabled since we allow negated conditions
  • no-restricted-syntax - disabled since we don't have anything to restrict
  • no-tabs - disabled - Prettier
  • no-ternary - disabled since we allow ternary operators
  • no-trailing-spaces - disabled - Prettier
  • no-whitespace-before-property - disabled - Prettier
  • nonblock-statement-body-position - disabled - curly and Prettier
  • object-curly-newline - disabled - Prettier
  • object-curly-spacing - disabled - Prettier
  • object-property-newline - disabled - Prettier
  • one-var-declaration-per-line - disabled - Prettier
  • operator-linebreak - disabled - Prettier
  • padded-blocks - disabled - Prettier
  • padding-line-between-statements - might need adjustments
  • quote-props - disabled - Prettier
  • quotes - disabled - Prettier, TypeScript
  • semi - disabled - Prettier
  • semi-spacing - disabled - Prettier
  • semi-style - disabled - Prettier
  • sort-keys - disabled since we don't want to sort object keys
  • sort-vars - disabled since we don't want to sort variables
  • space-before-blocks - disabled - Prettier
  • space-before-function-paren - disabled - Prettier
  • space-in-parens - disabled - Prettier
  • space-infix-ops - disabled - Prettier
  • space-unary-ops - disabled - Prettier
  • switch-colon-spacing - disabled - Prettier
  • template-tag-spacing - disabled - Prettier
  • unicode-bom - disabled - Prettier
  • wrap-regex - disabled since we don't want to wrap RegEx expressions and Prettier

ECMAScript 6

  • arrow-body-style - disabled - Prettier
  • arrow-parens - disabled - Prettier
  • arrow-spacing - disabled - Prettier
  • constructor-super - disabled - TypeScript
  • generator-star-spacing - disabled - Prettier
  • no-confusing-arrow - disabled - Prettier
  • no-const-assign - disabled - TypeScript
  • no-duple-class-members - disabled - TypeScript
  • no-new-symbol - disabled - TypeScript
  • no-restricted-exports - disabled since there's nothing to restrict
  • no-this-before-super - disabled - TypeScript
  • no-useless-constructor - disabled since we use dependency injection and TypeScript
  • prefer-arrow-callback - disabled - Prettier
  • rest-spread-spacing - disabled - Prettier
  • sort-imports - this needs to be adjusted in the future as for the moment the rule can't separate imports via blank lines
  • template-curly-spacing - disabled - Prettier
  • yield-star-spacing - disabled - Prettier

TypeScript

  • @typescript-eslint/brace-style - disabled - Prettier
  • @typescript-eslint/class-literal-property-style - disabled since we don't want to enforce a particular style
  • @typescript-eslint/comma-spacing - disabled - Prettier
  • @typescript-eslint/explicit-module-boundary-types - disabled since types are enforced on a global level
  • @typescript-eslint/func-call-spacing - disabled - Prettier
  • @typescript-eslint/indent - disabled - Prettier
  • @typescript-eslint/init-declarations - disabled since we don't want to enforce variables initialization
  • @typescript-eslint/keyword-spacing - disabled - Prettier
  • @typescript-eslint/member-delimiter-style - disabled - Prettier
  • @typescript-eslint/member-ordering - this can be improved drastically
  • @typescript-eslint/no-explicit-any - disabled since we allow any
  • @typescript-eslint/no-extra-parens - disabled - Prettier
  • @typescript-eslint/no-extra-semi - disabled - Prettier
  • @typescript-eslint/no-floating-promises - disabled - Angular
  • @typescript-eslint/no-magic-numbers - disabled as there are multiple edge cases where this can't be avoided and the code becomes extremely verbose
  • @typescript-eslint/no-unnecessary-condition - disabled for regular mode, but enabled for strict mode
  • @typescript-eslint/no-unsafe-assignment - disabled since we allow any
  • @typescript-eslint/no-unsafe-call - disabled as it is too strict
  • @typescript-eslint/no-unsafe-member-access - disabled as it is too strict
  • @typescript-eslint/no-unsafe-return - disabled as it is too strict
  • @typescript-eslint/no-unused-vars - disabled since this is reported by compiler
  • @typescript-eslint/no-unused-vars-experimental - disabled since this is reported by compiler
  • @typescript-eslint/no-use-before-define - disabled since this is reported by compiler
  • @typescript-eslint/no-useless-constructor - disabled since we use dependency injection
  • @typescript-eslint/prefer-namespace-keyword - disabled since we don't use namespace
  • @typescript-eslint/prefer-readonly-parameter-types - disabled since it is very verbose
  • @typescript-eslint/prefer-ts-expect-error - disabled - ban-ts-comment
  • @typescript-eslint/promise-function-async - disabled - Angular
  • @typescript-eslint/quotes - disabled - Prettier
  • @typescript-eslint/return-await - disabled - NestJS
  • @typescript-eslint/semi - disabled - Prettier
  • @typescript-eslint/space-before-function-paren - disabled - Prettier
  • @typescript-eslint/type-annotation-spacing - disabled - Prettier
  • @typescript-eslint/strict-boolean-expressions - disabled since we want to allow short checks
  • @typescript-eslint/typedef - this should be updated accordingly

Inspired by: