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

@alasdair/eslint-plugin-max-len

v1.1.0

Published

Alternative implementation of max-len allowing for more exceptions to the rule

Downloads

10

Readme

@alasdair/eslint-plugin-max-len

Alternative implementation of max-len allowing for more exceptions to the rule

Installation

You'll first need to install ESLint:

$ npm i eslint --save-dev

Next, install @alasdair/eslint-plugin-max-len:

$ npm install @alasdair/eslint-plugin-max-len --save-dev

Usage

Add @alasdair/max-len to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
    "plugins": [
        "@alasdair/max-len"
    ]
}

Then configure the rules you want to use under the rules section.

{
    "rules": {
        "@alasdair/max-len/max-len": ["error", 80]
    }
}
{
    "rules": {
        "@alasdair/max-len/max-len": ["error", {
            "ignoreLongLiteral": true
        }]
    }
}
{
    "rules": {
        "@alasdair/max-len/max-len": ["error", {
            "ignoreLongLiteral": true,
            "longLiteralPrefixChars": 16,
            "treatTemplateAsOneLiteral": true,
            "templateExpressionChars": 20
        }]
    }
}

Supported Rules

@alasdair/max-len/max-len

Options

This rule has a number or object option:

code: (default 80) enforces a maximum line length

tabWidth: (default 4) specifies the character width for tab characters

comments: enforces a maximum line length for comments; defaults to value of code

ignorePattern: ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON. Can also be an array of patterns.

ignoreComments: true ignores all trailing comments and comments on their own line

ignoreTrailingComments: true ignores only trailing comments

ignoreUrls: true ignores lines that contain a URL

ignoreStrings: true ignores lines that contain a double-quoted or single-quoted string

ignoreTemplateLiterals: true ignores lines that contain a template literal

ignoreRegExpLiterals: true ignores lines that contain a RegExp literal

ignoreLongLiteral: true ignores lines that contain (mostly) a long literal. There are a few exceptions to the rule, lines ending in and brackets are allowed, as well as semicolons and commas. There are a number of characters allowed to prefix the literal. These characters can be part of one or more literals. Leading whitespace is ignored.

longLiteralPrefixChars: (default 16) specifies the number of characters allowed to prefix long literals.

treatTemplateAsOneLiteral: true allows template strings with expressions to be treated as single literal when ignoreLongLiteral is enabled. Otherwise, code will have to be split on the expression.

`template string ${this.is + an.expression}`;

templateExpressionChars: (default 20) specifies the number of characters allowed within template expressions if treatTemplateAsOneLiteral is enabled.