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

eslint-config-deepimpact

v0.11.2

Published

core eslinting rules for deepImpact

Readme

ESLINT

Purpose

We use eslint to ensure code quality and consistency. Any commit should be free of errors and also warnings. Even though warnings are not enforced they still need to be fixed as the output will otherwise get too cluttered and hard to maintain.

Rules

Rules are generally accepted industry standards that have proven themselves in many projects across github and are widely used.

They also:

  • ensure consistent code
  • point out structures that may be result in undesired side effects or are otherwise problematic
  • reduce merge conflicts as they ensure a common formatting
  • reduce the work needed during code reviews (and the followup corrections) as they alert you to many issues ahead of the review already

Exceptions

Rules can be disabled on a case by case basis, this is sometimes needed (mostly for warnings). In cases like these the rules are there to ensure that each of those usages is carefully considered before being disabled.

Examples

The logger uses // eslint-disable-next-line no-console as it needs to be able to log. But any other component should use the logger to log.

In a few components we use:

{
  /* eslint-disable react/no-danger */
}
<div
  dangerouslySetInnerHTML={{
    __html: "<div>Some external markup</div>",
  }}
/>;
{
  /* eslint-enable react/no-danger */
}

We enforce this rule as every usage of dangerouslySetInnerHTML needs to be carefully considered as it opens up the possibility of harmful code injection.

Best Practices

  • eslint integrates with prettier so ensure that major versions of eslint and prettier match
  • Run yarn lint frequently to alert you to possible issues earlier on. Issues are easier to fix if they don't extend over a large number of files already.
  • some issues can be fixed automatically by running yarn lint:fix - this is best done with no other pending changes as the result should be checked in your git client.
  • When you encounter an issue you're not familiar with or don't know how to fix always check https://eslint.org/ first and use the search functionality to look up the rule.
  • Some rules may not be covered on https://eslint.org/ in this case the rule is part of a plugin and needs to be googled. Best just copy & paste the entire name of the rule into google and hit search.
  • If all else fails use the #nfa_support channel on slack for support