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

@sigfox/eslint-config

v0.3.1

Published

Eslint rules used @ Sigfox

Downloads

8

Readme

@sigfox/eslint-config

npm version

This is the shared Eslint configuration used for javascript projects at Sigfox.

It is meant to be used with Prettier (all rules handled by Prettier are turned off).


⚠️ Work in progress

This package is still at its early stages, and radical changes may occur.


Installation

Yarn

If you use yarn, run npm info "@sigfox/eslint-config@latest" peerDependencies to list the peer dependencies and versions, then run yarn add --dev <dependency>@<version> for each listed peer dependency.

npm 5+

npx install-peerdeps --dev @sigfox/eslint-config

Usage

Here is our typical .eslintrc file:

// .eslintrc
{
  "extends": "@sigfox/eslint-config",
  "parser": "babel-eslint",
  "env": {
    "browser": true,
    "node": true,
    "es6": true
  },
  "rules": {}
}

We use the babel-eslint. It's not mandatory, but if you are using babel (including babel-loader in your webpack or other flavors), you should use this parser to avoid false positives.

Meant to be used with Prettier and EditorConfig

All rules that are unnecessary or might conflict with Prettier are turned off.

This is the Prettier config we use:

// .prettierrc

{
  "printWidth": 80,
  "tabWidth": 2,
  "useTabs": false,
  "semi": true,
  "singleQuote": true,
  "trailingComma": "none",
  "bracketSpacing": true,
  "jsxBracketSameLine": false,
  "arrowParens": "avoid",
  "proseWrap": "preserve"
}

Please refer to the Prettier documentation to integrate it in your environment and editor/IDE. Don't forget to consider prettier-eslint.

This is the EditorConfig config we use:

# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# http://editorconfig.org

root = true

[*]

# Change these settings to your own preference
indent_style = space
indent_size = 2

# We recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

Please refer to the EditorConfig documentation to integrate it in your environment.

Troubeshooting

If you are migrating from a previous eslint version or configuration, or just did an upgrade of this package or dependencies, follow these steps after installation and configuration:

  • destroy your node_modules directory
  • if you are using yarn, clean its cache: yarn cache clean
  • yarn or npm install
  • reboot your editor / IDE

Contributing

Don't hesitate to open issues, submit pull requests, and to start a debate.

Still, you have to keep in mind that this is the configuration we use at Sigfox, and that we might decline change requests because they don't comply with our internal choices, and not because they are stupid.

Feel free to fork, change, rename and pubish your own package based on this one.

Licence and credits

MIT

Big thanks to Airbnb for publishing their eslint config packages, which we used and tuned for a time before deciding to make our own package. Most of the code here is still simple copy/paste of it.