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

slowlint

v1.0.12

Published

Slowly implement linting

Downloads

17

Readme

Slowlint

npm license Build Status dependencies Status devDependencies Status Coverage Status Known Vulnerabilities

our pride logo

Implement linting with ESLint slowly on big projects.

WTF

Sometimes you need to add linting to existing projects. And you have to take it lazy to avoid many merge conflicts, failing builds and etc.

That's where Slowlint saves the day.

How it is supposed to work:

  1. You add ESLint, ESLint config and .eslintignore to project as usual.
  2. You run Slowlint to make a file with all temporary ignores (files which don't pass linting).
  3. You add two checks to your CI on every commit:
    • check that all good files still pass linting
    • check that bad files did not become good

This is the least invasive way to ensure that your code will not become worse and will lazily become better.

Step by step

1. ESLint setup

Install ESLint, plugins, set up config, .eslintignore and etc - just as usual.

2. Generate .slowlintignore file

That's same as .eslintignore but with another name. Why bother?

  • .slowlintignore only contains files which could be fixed. Files from .eslintignore are not meant to be fixed.
  • Any IDE will use .eslintignore and ignore .slowlintignore - just as planned!
  • You can use both .eslintignore and .slowlintignore.

Example

slowlint save-ignored --files src test --eslint-path ~/project1/node_modules/eslint

3. Lint

Slowlint can use your existing ESLint package and configuration for linting with both .eslintignore and.slowlintignore files.

That's great for CI!

Example

slowlint lint --files src test --eslint-path ~/project1/node_modules/eslint

4. Check for good files

Slowlint can also check if good files (which pass linting) are included in .slowlintignore file.

Example

slowlint check-good --files src test --eslint-path ~/project1/node_modules/eslint

Installation

// install it locally
npm i slowlint --save-dev

// or install globally
npm i -g slowlint

// or simply run with npx
npx slowlint check-good --files src test --eslint-path ~/project1/node_modules/eslint

Usage

Usage: slowlint <command> [options]

Commands:
  slowlint lint          Lint everything but bad files
  slowlint check-good    Check if good files are listed as bad
  slowlint save-ignored  Make a new list of ignored files

Options:
Options:
  --version         Show version number               [boolean]
  --files           filenames                         [array] [required]
  --eslintPath      eslint path                       [string] [default: "./node_modules/eslint"]
  --ignoreFilePath  path for .slowlintignore file     [string] [default: ".slowlintignore"]
  --noProgress      hide progress bar                 [boolean] [default: false]
  -h, --help        Show help                         [boolean]

Examples:

Lint all files from project in current diirectory using linter and config from project:

slowlint lint --files .

Lint bin and test dirs using linter from some project1:

slowlint lint --files bin test --eslint-path ~/project1/node_modules/eslint