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

@versett/eslint-plugin-versett

v0.20.0

Published

A tool for linting projects with different techs

Downloads

220

Readme

eslint-plugin-versett

Build Status

This plugin will help us maintain our code base to be cleaner and consistent among different projects. Please read the guidelines below for both usage and development. You can find more info on eslint here.

Usage

Installation

yarn add --dev @versett/eslint-plugin-versett

or

npm install --save-dev @versett/eslint-plugin-versett

You must be logged in to you Versett npm account first using npm login.

Peer Dependecies

You have to install the following peer dependencies directly in your project for now by this command:

yarn add --dev eslint babel-eslint eslint-plugin-jest eslint-plugin-import eslint-config-prettier eslint-plugin-prettier eslint-plugin-react-hooks

or

npm install --save-dev eslint babel-eslint eslint-plugin-jest eslint-plugin-import eslint-config-prettier eslint-plugin-prettier eslint-plugin-react-hooks

This command will no longer be needed after the issue with eslint shareable config plugins is resolved. You can refer to this RFC for more information.

React Project Peer Dependencies

If you are using React, you need to install the following dependencies as well:
yarn add --dev eslint-plugin-react eslint-plugin-jsx-a11y
(or npm install --save-dev eslint-plugin-react eslint-plugin-jsx-a11y)

Typescript Project Peer Dependencies

If you are using Typescript, you need to install the following dependencies as well:
yarn add --dev @typescript-eslint/parser @typescript-eslint/eslint-plugin
(or npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin)

Notes:

  • It is important that you use the same version number for @typescript-eslint/parser and @typescript-eslint/eslint-plugin.
  • tsconfig.json must be in the root of the project.

Configuration

Each Versett configuration helps you start linting a project by just using the preconfigured setup. Currently there are 4 types of configurations available as below:

  • plugin:@versett/eslint-plugin-versett/jsNode - for Node projects using Javascript
  • plugin:@versett/eslint-plugin-versett/jsReact - for React projects using Javascript
  • plugin:@versett/eslint-plugin-versett/tsNode - for Node projects using Typescript
  • plugin:@versett/eslint-plugin-versett/tsReact - for React projects using Typescript
  • plugin:@versett/eslint-plugin-versett/jsStandalone - for standalone Javascript projects

Here is a sample Eslint config file (project-directory/.eslintrc.json):

{
  "plugins": [
    "@versett/eslint-plugin-versett"
  ],
  "extends": [
    "plugin:@versett/eslint-plugin-versett/jsReact"
  ]
}

We strongly recommend against overriding the rules configured by this plugin. If you believe you have a good reason for overriding a rule, please create an issue on this repository and post it on the #developers channel on Slack. If the team agrees, we will change the rule in the plugin so all projects can benefit from it.

Running

Add the following script to your package.json and then run it using yarn lint (or npm run lint):

"lint": "eslint src --ext .js,.tsx"

(you can change the --ext flag to the file extensions you use in your project)

Development

To get started on development run these commands:

nvm use
yarn

For testing purposes you can use yarn link (or npm link):

cd eslint-plugin-versett
yarn link

then

cd my-project
yarn link @versett/eslint-plugin-versett

After that, a symbolic link is added to node_modules of the project directory.

Dependencies

There are multiple eslint plugins we have used which are listed below.

please refer to their repos for rules and configurations.

Contributing

Please read the contributing guide for details on our process for submitting pull requests.

Need help?

Open an issue, we're happy to chat!