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

@spyrosoft/eslint-config-spyro

v1.0.7

Published

A set of rules selected by Spyrosoft's engineers as a company standard for frontend projects.

Downloads

915

Readme

Spyrosoft ESlint Config

A set of rules selected by Spyrosoft's engineers as a company standard for frontend projects.

Table of Contents

Installation

In order to use this set of rules in your project, install this package as a dev dependency:

npm i --save-dev @spyrosoft/eslint-config-spyro

Then, set it in your .eslintrc.json file:

{
  "extends": ["@spyrosoft/eslint-config-spyro"]
}

And that's all, your ESlint rules are now set and ready to go.

List of rules

General rules

Tests rules

Jest recommended, extended by:

| Rule | Description | |---------------------------------|---------------------------------------------------------------------------------------------| | jest/consistent-test-it | forces all top-level tests to use test and all tests nested within describe to use it | | jest/max-nested-describe | enforces a maximum depth to nested describe() calls to 3 | | jest/no-alias-methods | disallow alias methods | | jest/no-duplicate-hooks | disallow duplicate setup and teardown hooks | | jest/no-hooks | allow only afterAll and beforeEach hooks | | jest/no-if | disallow conditional logic | | jest/no-test-return-statement | disallow explicitly returning from tests | | jest/require-top-level-describe | require test cases and hooks to be inside a describe block | | jest/expect-expect | ensure that there is at least one expect call made in a test |

Naming convention

  • interfaces - PascalCase, starting with I
  • type aliases - PascalCase, starting with T
  • variables - CamelCase, PascalCase or UPPER_CASE, consecutive capitals are not allowed
  • enums - UPPER_CASE

No trailing or leading underscores allowed in any of the above.

File naming convention

All file names should be in kebab-case.

Member declaration order

Access modifier order

  1. public
  2. protected
  3. private

Member type order

  1. static field
  2. instance field
  3. static method
  4. constructor
  5. instance method

Additonal rules

| Rule | Description | |-------------------------------------------|------------------------------------------------------------------------------------------------------| | @typescript-eslint/member-delimiter-style | each member should be delimited with a semicolon | | no-else-return | disallow else blocks after return statements in if statements | | unicorn/new-for-builtins | enforce the use of new for all builtins, except String, Number, Boolean, Symbol and BigInt | | unicorn/prefer-switch | prefer switch over multiple else-if | | react/jsx-no-useless-fragment | disallow unnecessary fragments | | react-hooks/exhaustive-deps | validate dependencies of custom Hooks