Eslint - Find and fix problems in your JavaScript code.

Overview

npm version Downloads Build Status FOSSA Status
Open Collective Backers Open Collective Sponsors Follow us on Twitter

ESLint

Website | Configuring | Rules | Contributing | Reporting Bugs | Code of Conduct | Twitter | Mailing List | Chat Room

ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. In many ways, it is similar to JSLint and JSHint with a few exceptions:

  • ESLint uses Espree for JavaScript parsing.
  • ESLint uses an AST to evaluate patterns in code.
  • ESLint is completely pluggable, every single rule is a plugin and you can add more at runtime.

Table of Contents

  1. Installation and Usage
  2. Configuration
  3. Code of Conduct
  4. Filing Issues
  5. Frequently Asked Questions
  6. Releases
  7. Security Policy
  8. Semantic Versioning Policy
  9. Stylistic Rule Updates
  10. License
  11. Team
  12. Sponsors
  13. Technology Sponsors

Installation and Usage

Prerequisites: Node.js (^12.22.0, ^14.17.0, or >=16.0.0) built with SSL support. (If you are using an official Node.js distribution, SSL is always built in.)

You can install ESLint using npm:

$ npm install eslint --save-dev

You should then set up a configuration file:

$ ./node_modules/.bin/eslint --init

After that, you can run ESLint on any file or directory like this:

$ ./node_modules/.bin/eslint yourfile.js

Configuration

After running eslint --init, you'll have a .eslintrc file in your directory. In it, you'll see some rules configured like this:

{
    "rules": {
        "semi": ["error", "always"],
        "quotes": ["error", "double"]
    }
}

The names "semi" and "quotes" are the names of rules in ESLint. The first value is the error level of the rule and can be one of these values:

  • "off" or 0 - turn the rule off
  • "warn" or 1 - turn the rule on as a warning (doesn't affect exit code)
  • "error" or 2 - turn the rule on as an error (exit code will be 1)

The three error levels allow you fine-grained control over how ESLint applies rules (for more configuration options and details, see the configuration docs).

Code of Conduct

ESLint adheres to the JS Foundation Code of Conduct.

Filing Issues

Before filing an issue, please be sure to read the guidelines for what you're reporting:

Frequently Asked Questions

I'm using JSCS, should I migrate to ESLint?

Yes. JSCS has reached end of life and is no longer supported.

We have prepared a migration guide to help you convert your JSCS settings to an ESLint configuration.

We are now at or near 100% compatibility with JSCS. If you try ESLint and believe we are not yet compatible with a JSCS rule/configuration, please create an issue (mentioning that it is a JSCS compatibility issue) and we will evaluate it as per our normal process.

Does Prettier replace ESLint?

No, ESLint does both traditional linting (looking for problematic patterns) and style checking (enforcement of conventions). You can use ESLint for everything, or you can combine both using Prettier to format your code and ESLint to catch possible errors.

Why can't ESLint find my plugins?

  • Make sure your plugins (and ESLint) are both in your project's package.json as devDependencies (or dependencies, if your project uses ESLint at runtime).
  • Make sure you have run npm install and all your dependencies are installed.
  • Make sure your plugins' peerDependencies have been installed as well. You can use npm view eslint-plugin-myplugin peerDependencies to see what peer dependencies eslint-plugin-myplugin has.

Does ESLint support JSX?

Yes, ESLint natively supports parsing JSX syntax (this must be enabled in configuration). Please note that supporting JSX syntax is not the same as supporting React. React applies specific semantics to JSX syntax that ESLint doesn't recognize. We recommend using eslint-plugin-react if you are using React and want React semantics.

What ECMAScript versions does ESLint support?

ESLint has full support for ECMAScript 3, 5 (default), 2015, 2016, 2017, 2018, 2019, 2020, 2021 and 2022. You can set your desired ECMAScript syntax (and other settings, like global variables or your target environments) through configuration.

What about experimental features?

ESLint's parser only officially supports the latest final ECMAScript standard. We will make changes to core rules in order to avoid crashes on stage 3 ECMAScript syntax proposals (as long as they are implemented using the correct experimental ESTree syntax). We may make changes to core rules to better work with language extensions (such as JSX, Flow, and TypeScript) on a case-by-case basis.

In other cases (including if rules need to warn on more or fewer cases due to new syntax, rather than just not crashing), we recommend you use other parsers and/or rule plugins. If you are using Babel, you can use the babel-eslint parser and eslint-plugin-babel to use any option available in Babel.

Once a language feature has been adopted into the ECMAScript standard (stage 4 according to the TC39 process), we will accept issues and pull requests related to the new feature, subject to our contributing guidelines. Until then, please use the appropriate parser and plugin(s) for your experimental feature.

Where to ask for help?

Join our Mailing List or Chatroom.

Why doesn't ESLint lock dependency versions?

Lock files like package-lock.json are helpful for deployed applications. They ensure that dependencies are consistent between environments and across deployments.

Packages like eslint that get published to the npm registry do not include lock files. npm install eslint as a user will respect version constraints in ESLint's package.json. ESLint and its dependencies will be included in the user's lock file if one exists, but ESLint's own lock file would not be used.

We intentionally don't lock dependency versions so that we have the latest compatible dependency versions in development and CI that our users get when installing ESLint in a project.

The Twilio blog has a deeper dive to learn more.

Releases

We have scheduled releases every two weeks on Friday or Saturday. You can follow a release issue for updates about the scheduling of any particular release.

Security Policy

ESLint takes security seriously. We work hard to ensure that ESLint is safe for everyone and that security issues are addressed quickly and responsibly. Read the full security policy.

Semantic Versioning Policy

ESLint follows semantic versioning. However, due to the nature of ESLint as a code quality tool, it's not always clear when a minor or major version bump occurs. To help clarify this for everyone, we've defined the following semantic versioning policy for ESLint:

  • Patch release (intended to not break your lint build)
    • A bug fix in a rule that results in ESLint reporting fewer linting errors.
    • A bug fix to the CLI or core (including formatters).
    • Improvements to documentation.
    • Non-user-facing changes such as refactoring code, adding, deleting, or modifying tests, and increasing test coverage.
    • Re-releasing after a failed release (i.e., publishing a release that doesn't work for anyone).
  • Minor release (might break your lint build)
    • A bug fix in a rule that results in ESLint reporting more linting errors.
    • A new rule is created.
    • A new option to an existing rule that does not result in ESLint reporting more linting errors by default.
    • A new addition to an existing rule to support a newly-added language feature (within the last 12 months) that will result in ESLint reporting more linting errors by default.
    • An existing rule is deprecated.
    • A new CLI capability is created.
    • New capabilities to the public API are added (new classes, new methods, new arguments to existing methods, etc.).
    • A new formatter is created.
    • eslint:recommended is updated and will result in strictly fewer linting errors (e.g., rule removals).
  • Major release (likely to break your lint build)
    • eslint:recommended is updated and may result in new linting errors (e.g., rule additions, most rule option updates).
    • A new option to an existing rule that results in ESLint reporting more linting errors by default.
    • An existing formatter is removed.
    • Part of the public API is removed or changed in an incompatible way. The public API includes:
      • Rule schemas
      • Configuration schema
      • Command-line options
      • Node.js API
      • Rule, formatter, parser, plugin APIs

According to our policy, any minor update may report more linting errors than the previous release (ex: from a bug fix). As such, we recommend using the tilde (~) in package.json e.g. "eslint": "~3.1.0" to guarantee the results of your builds.

Stylistic Rule Updates

Stylistic rules are frozen according to our policy on how we evaluate new rules and rule changes. This means:

  • Bug fixes: We will still fix bugs in stylistic rules.
  • New ECMAScript features: We will also make sure stylistic rules are compatible with new ECMAScript features.
  • New options: We will not add any new options to stylistic rules unless an option is the only way to fix a bug or support a newly-added ECMAScript feature.

License

FOSSA Status

Team

These folks keep the project moving and are resources for help.

Technical Steering Committee (TSC)

The people who manage releases, review feature requests, and meet regularly to ensure ESLint is properly maintained.


Nicholas C. Zakas

Brandon Mills

Milos Djermanovic

Reviewers

The people who review and implement new features.


Toru Nagashima

唯然

Committers

The people who review and fix bugs and help triage issues.


Brett Zamir

Bryan Mishkin

Pig Fang

Anix

YeonJuan

Nitin Kumar

Sponsors

The following companies, organizations, and individuals support ESLint's ongoing maintenance and development. Become a Sponsor to get your logo on our README and website.

Platinum Sponsors

Automattic

Gold Sponsors

Contra Nx (by Nrwl) Chrome's Web Framework & Tools Performance Fund Salesforce Airbnb Coinbase American Express Substack

Silver Sponsors

Liftoff

Bronze Sponsors

launchdarkly Anagram Solver VPS Server Icons8: free icons, photos, illustrations, and music Discord ThemeIsle Fire Stick Tricks Practice Ignition

Technology Sponsors

Comments
  • Support having plugins as dependencies in shareable config

    Support having plugins as dependencies in shareable config

    My shareable config uses rules from an external plugin and I would like to make it a dependency so the user doesn't have to manually install the plugin manually. I couldn't find any docs on this, but it doesn't seem to work, so I'll assume it's not currently supported.

    module.js:338
        throw err;
              ^
    Error: Cannot find module 'eslint-plugin-no-use-extend-native'
        at Function.Module._resolveFilename (module.js:336:15)
        at Function.Module._load (module.js:278:25)
        at Module.require (module.js:365:17)
        at require (module.js:384:17)
        at /usr/local/lib/node_modules/eslint/lib/cli-engine.js:106:26
        at Array.forEach (native)
        at loadPlugins (/usr/local/lib/node_modules/eslint/lib/cli-engine.js:97:21)
        at processText (/usr/local/lib/node_modules/eslint/lib/cli-engine.js:182:5)
        at processFile (/usr/local/lib/node_modules/eslint/lib/cli-engine.js:224:12)
        at /usr/local/lib/node_modules/eslint/lib/cli-engine.js:391:26
    

    I assume it's because you only try to load the plugin when the config is finished merging.

    Other shareable configs that depend on a plugin instructs the users to manually install the plugin too and they have it in peerDependencies. I find this sub-optimal though and I don't want the users to have to care what plugins my config uses internally.

    The whole point of shareable configs is to minimize boilerplate and overhead, so this would be a welcome improvement.

    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    backlog core needs bikeshedding evaluating 
    opened by sindresorhus 208
  • Investigate switching away from GitHub

    Investigate switching away from GitHub

    As ESLint has continued to grow, we've started to outgrow the GitHub ecosystem. Team members spend hours each day triaging issues, many of which have incomplete information or are otherwise unclear. As such, we spend a lot of time just asking for more information ("what do you mean?", "what version are you using?", etc.). This has become increasingly frustrating for everyone on the team and ultimately takes time away from being able to contribute code to the project.

    Additionally, it's nearly impossible to keep up with what are the most important issues and whether or not people are following up on issues. In short, everything that Dear GitHub mentioned is severely hurting the team now. As ESLint's popularity continues to grow and there are more and more issues filed, this is quickly becoming a scalability problem.

    The team has discussed investigating alternatives to GitHub to see if we can find a home that is better suited to open source projects with our level of scale. We strongly feel that the code and issue tracker need to live in the same location to make it easier to manage and give people one location to visit for all of their ESLint-related needs (so simply moving to a different issue tracker and keeping the code on GitHub is not an alternative).

    Requirements

    • Must host the repo along with the related tools
    • Must be able to run automated tests on pull requests
    • Must allow contributions from anyone
    • Must have a way to setup issue templates prescribing what fields are required
    • Must have ways to organize issues other than labeling (milestones, priorities, etc.)
    • Must import existing GitHub issues and pull requests

    Alternatives to Investigate

    1. GitLab
    2. Phabricator

    Concerns

    1. Will people find us in another location?
    2. How high is the barrier to entry for new contributors if we're not on GitHub?
    3. What about the Gitter chatroom? What happens to that? Do we need to find another chat location?
    4. Others?
    infrastructure needs bikeshedding evaluating 
    opened by nzakas 170
  • add outer padding to rule padded-blocks and cover existing jscs functionality

    add outer padding to rule padded-blocks and cover existing jscs functionality

    Update: please refer to this pull request for the current status of this issue:

    https://github.com/eslint/eslint/pull/8099

    1st proposal: updating padded-blocks

    {
      inner: "always" | "never" | "before" | "after"
      outer: "always" | "never" | "before" | "after"
      prefer: "inner" | "outer"
      outerExceptions: "inCallExpressions" | "inNewExpressions" | "inArrayExpressions" | "inProperties" | "singleLine"
      innerExceptions: "blocks" | "classes" | "switches"
    }
    

    The above doesn't yet include additional options for backwards compatibility.

    related issues:

    • https://github.com/eslint/eslint/issues/3092
    • https://github.com/eslint/eslint/issues/5982
    • https://github.com/eslint/eslint/issues/5949

    related / converging rules:

    • http://jscs.info/rule/requirePaddingNewLinesAfterBlocks.html
    • http://eslint.org/docs/rules/padded-blocks
    • I think jscs has another rule for padding before blocks?

    ~~2nd proposal~~

    ~~no modifications to padded-blocks. new rule that has exceptions to allow padded-blocks to work, if there is a conflict an error is thrown (is this even a thing?)~~

    "padding-around-blocks": true | "before" | "after", {
      "exceptions": "inCallExpressions" | "inNewExpressions" | 
                    "inArrayExpressions" | "inProperties" | "singleLine" | 
                    "afterOpeningBlock" | "beforeEndingBlock"
    }
    

    ~~"afterOpeningBlock" and "beforeEndingBlock" specify whether the rule should apply to a block placed at the beginning or end of the inside of another block. If they are both specified, then padded-blocks should work as expected. If they are not specified, then the new rule could potentially result in an error depending how padded-blocks is configured.~~

    enhancement rule accepted archived due to age 
    opened by quinn 120
  • New: Create ESLint configuration from project files

    New: Create ESLint configuration from project files

    This PR is intended to provide an easy way to begin using ESLint on a non-linted project in a meaningful way. It will provide automatic creation of an ESLint configuration file based on the project files which will not result in linting errors when run against the project.

    TODO:

    • [X] Logic to create valid configurations for each core rule
    • [x] Revisions to --init to ask user if they want to inspect their project files, and then ask which file(s) to inspect
    • [x] Logic to repeatedly lint project files with sets of configurations to determine which rules can be enabled without erroring
    • [x] Warning message for long execution
    • [x] Extend eslint:recommended
    • [x] Tests
    • [x] Docs

    Future Improvements:

    • Autoconfigure React plugin rules
    • Set rules to warn if only a few errors
    archived due to age 
    opened by IanVS 88
  • Glob based configuration

    Glob based configuration

    Glob based configuration

    Goal

    Currently ESLint allows you to cascade the configurations based on the directory structure of your project. This approach is not flexible enough if you have files that don’t share the same parent directory but you still want to have a specific ESLint configuration just for those files. This could be solved by specifying a configuration that applies to all files which match a given glob pattern.

    How it works

    • The glob patterns can be configured within .eslintrc files
    • glob patterns are relative to the location of the .eslintrc in which they are defined
    • if an already resolved file matches a glob pattern in one of its corresponding .eslintrc files, the glob pattern specific configuration will be applied
    • a glob pattern based configuration has a higher precedence than the regular configuration in the same .eslintrc file
    • A glob specific configuration works exactly the same as the regular configuration in your .eslintrc, except that you can’t define nested glob based configurations. That means you can configure globals, env, ecmaFeatures, rules, plugins, extends and parser.

    Note: The glob patterns are NOT used for file resolving / directory traversal.

    Example for relative glob patterns

    Given the following directory tree:

    project-root
    ├── app
    │   ├── lib
    │   │   ├── foo.js
    │   │   ├── fooSpec.js
    │   ├── components
    │   │   ├── bar.js
    │   │   ├── barSpec.js
    │   ├── .eslintrc
    ├── server
    │   ├── server.js
    │   ├── serverSpec.js
    ├── .eslintrc
    

    The config in app/.eslintrc defines the glob pattern **/*Spec.js. This pattern is relative to the base directory of app/.eslintrc. So, this pattern would match app/lib/fooSpec.js and app/components/barSpec.js but NOT server/serverSpec.js. If you would define the same pattern in the .eslintrc file within in the project-root folder, it would match all three of the *Spec files.

    Configuration Examples

    Single pattern

    {
      "files": [
        {
          "patterns": "**/*Spec.js",
          "rules": { "no-unused-expression": 0 },
          "env": { "mocha": true } 
        }
      ] 
    } 
    

    Multiple patterns

    {
      "files": [
        {
          "patterns": [ "app/components/**/*.js", "test/unit/app/components/**/*.js" ],
          "rules": { "react/display-name": 2 },
          "ecmaFeatures": { "jsx": true },
          "plugins": [ "react" ] 
        }
      ] 
    } 
    

    As you can see patterns could be a string for a single glob pattern or an array if you like to define multiple patterns.

    Open Questions / Possible Problems

    • Should we allow patterns in shareable configs? To which base path should the relative glob pattern be resolved? I think we should not allow this. Extending from a shareable config should mean that you unconditionally get the rules from this shareable configuration for all the files that you configure it in your project
    • Should this feature also work somehow for the CLIEngine?

    PS: I’m not happy with the current naming of "files" and "patterns". Suggestions welcome

    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    core accepted feature archived due to age 
    opened by lo1tuma 87
  • Investigate supporting ES6/JSX

    Investigate supporting ES6/JSX

    After many requests and some soul-searching, I've come around to believing that ESLint should optionally support JSX. My rationale is based on:

    1. The growing popularity of React/JSX
    2. The existence of Esprima-FB and estraverse-FB

    There is still the issue of escope not supporting es6 scoping rules and relying on estraverse directly, but that may be solvable.

    The way I'm envisioning this working is by allowing you to specify one of four JavaScript modes:

    1. ECMAScript 3
    2. ECMAScript 5
    3. ECMAScript 6
    4. JSX

    That means ECMAScript 6 support is separate from JSX support. You opt-in to JSX, you get whatever is in Esprima-FB vs. opting in to ES6, which should not support JSX syntax.

    This issue is to gather investigation data to determine how this can be achieved and what blockers might exist.

    enhancement core accepted needs bikeshedding 
    opened by nzakas 86
  • ESLint 2.0.0 Wish List [$10]

    ESLint 2.0.0 Wish List [$10]

    As we are getting closer and closer to v1.0.0, it's time to start thinking about what a v2.0.0 would look like. Here are the things that have either come up recently or have been on my mind:

    • Autofix option - This has come up at least three times as a request. Originally I was pretty against it, but I'm starting to warm up to the idea. The idea is optionally fix certain types of issues instead of just reporting them. While this won't be possible for 100% of the rules, even a small percentage could make a big difference.
    • Autocreate config by looking at code - We need a way to make it easier to get started. Manually configuring over 100 rules is a painful process. It would be nice to be able to give ESLint a file and say "create me a config that matches the styles in this file".

    What other ideas do you have about big things we could tackle for 2.0.0?

    Did you help close this issue? Go claim the $10 bounty on Bountysource.

    bounty archived due to age 
    opened by nzakas 84
  • More options for padded-blocks

    More options for padded-blocks

    It would be cool to have something similar to JSCS's http://jscs.info/rule/requirePaddingNewLinesAfterBlocks.html

    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    enhancement rule feature evaluating archived due to age 
    opened by okonet 76
  • Future wish list

    Future wish list

    We are almost ready to release 2.0.0, and as such, it's time to start thinking about 3.0.0. As usual, the goal of this issue is to gather feedback on important changes that would be breaking or ambitious. (Other suggestions can just be filed as an issue.)

    We are already looking at dropping support for Node < 4 in 3.0.0.

    One thing I'd like to hear is ideas for how can ESLint better support TypeScript and Flow.

    Note: keep the suggestions as high-level descriptions. This is a brainstorming exercise, we don't want to get into implementation details or plausibility discussions. Let's just see what ideas people have. The best will be explored further.

    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

    needs bikeshedding evaluating archived due to age 
    opened by nzakas 73
  • Update: added operator-specific options to space-infix-ops rule

    Update: added operator-specific options to space-infix-ops rule

    What is the purpose of this pull request? (put an "X" next to item)

    [ ] Documentation update [ ] Bug fix (template) [ ] New rule (template) [X] Changes an existing rule (template) [ ] Add autofixing to a rule [ ] Add a CLI option [ ] Add something to the core [ ] Other, please explain:

    What rule do you want to change? space-infix-ops

    Does this change cause the rule to produce more or fewer warnings? fewer; With the new option, "x**2" would not generate a warning.

    How will the change be implemented? (New option, new default behavior, etc.)? new option

    Please provide some example code that this change will affect:

    <!-- example code here -->
    x**2
    

    What does the rule currently do for this code? The rule currently reports that spaces are required around the ** operator.

    What will the rule do after it's changed? The rule will no longer complain about this if the noExpSpace option is used. I'm definitely not tied to this option name. Feel free to suggest a better one.

    What changes did you make? (Give an overview) I added the noExpSpace to the space-infix-ops rule to allow opting out of adding space around the ** operator. This is desirable because most people are used to not having space around the exponentiation operator when writing mathematical expressions. This does not change the default behavior of this rule.

    Is there anything you'd like reviewers to focus on? No.

    enhancement rule accepted archived due to age 
    opened by mvolkmann 72
  • Fix: clone config before validating (fixes #12592)

    Fix: clone config before validating (fixes #12592)

    Prerequisites checklist

    • [X] I have read the contributing guidelines.
    • [X] The team has reached consensus on the changes proposed in this pull request. If not, I understand that the evaluation process will begin with this pull request and won't be merged until the team has reached consensus.

    What is the purpose of this pull request? (put an "X" next to an item)

    [ ] Documentation update [X] Bug fix (template) [ ] New rule (template) [ ] Changes an existing rule (template) [ ] Add autofixing to a rule [ ] Add a CLI option [ ] Add something to the core [ ] Other, please explain:

    What changes did you make? (Give an overview)

    Cloning the rule config and other configs before validating them as they get mutated with default values when used useDefault : true in agv. I couldn't find any other entry point for this issue other than this, do let me know if any!

    Is there anything you'd like reviewers to focus on?

    fixes https://github.com/eslint/eslint/issues/12592

    bug core accepted archived due to age 
    opened by anikethsaha 69
  • Change Request: Dynamically use require or import loading for `.js` config files

    Change Request: Dynamically use require or import loading for `.js` config files

    ESLint version

    v8.31.0

    What problem do you want to solve?

    Currently when trying to use an eslint.config.js file in CommonJS format, in a CommonJS env (no "type": "module" in package.json) and specifying it via cli (eslint --config eslint.config.js) ESLint will throw some non-informative errors:

    Error: Unexpected key "env" found.
    

    This can be resolved by changing the file name to eslint.config.cjs however this seems like a redundant factor in a CommonJS environment - I should be able to use .js like my other config files in CommonJS format.

    What do you think is the correct solution?

    A possible solution could be to read the CWD's package.json file and check for "type": "module", and if it is in an ESM env use import or otherwise use require to load the config.

    Participation

    • [X] I am willing to submit a pull request for this change.

    Additional comments

    No response

    enhancement core needs info 
    opened by rayhanadev 2
  • Rule Change: no-constructor-return to accept `return this;`

    Rule Change: no-constructor-return to accept `return this;`

    What rule do you want to change?

    no-constructor-return

    What change to do you want to make?

    Generate fewer warnings

    How do you think the change should be implemented?

    A new option:

    "no-constructor-return": [
        "error",
        {
            allowReturnThis: true,
        },
    ],
    

    Example code

    class B {
        constructor(f) {
            if (!f) {
                return this;
            }
        }
    }
    

    What does the rule currently do for this code?

    Currently, it throws an error when returning this in a constructor

    What will the rule do after it's changed?

    It will give the option to allow return this; because it is valid JS.

    Source:

    https://stackoverflow.com/questions/3350215/what-is-returned-from-a-constructor#:~:text=The%20constructor%20returns%20the%20this%20object.

    Participation

    • [X] I am willing to submit a pull request to implement this change.

    Additional comments

    No response

    enhancement rule 
    opened by dolanmiu 1
  • Change Request: add ability to shard eslint

    Change Request: add ability to shard eslint

    ESLint version

    N/A

    What problem do you want to solve?

    Speed up eslint execution by splitting the workload across multiple CPUs.

    What do you think is the correct solution?

    Copy what Jest does --shard <index>/<count>

    Use a simply algorithm to identify a subset of files out of the total and only run eslint against those files.

    Participation

    • [ ] I am willing to submit a pull request for this change.

    Additional comments

    No response

    enhancement triage core 
    opened by gajus 9
  • docs:  Update page titles, section landing pages, and side TOC

    docs: Update page titles, section landing pages, and side TOC

    ESLint version

    latest

    What problem do you want to solve?

    As part of the IA update project, update page titles, section landing pages, and side TOC

    What do you think is the correct solution?

    update page titles, section landing pages, and side TOC

    Participation

    • [X] I am willing to submit a pull request for this change.

    Additional comments

    for more context, see https://github.com/eslint/eslint/issues/16365

    documentation accepted 
    opened by bpmutter 0
  • Bug: suggestions are broken on processored code if `suggest` array contain more that 2 items

    Bug: suggestions are broken on processored code if `suggest` array contain more that 2 items

    Environment

    Node version: 16.18.1 npm version: Local ESLint version: 8.30.0 Global ESLint version: Operating System:

    What parser are you using?

    Other

    What did you do?

    suggest array contains 2 items

    https://user-images.githubusercontent.com/7361780/209718712-417b52b5-5e16-402b-a133-c9a151a75d4f.mov

    suggest array contains 1 item

    https://user-images.githubusercontent.com/7361780/209718742-5104ae35-8d33-4634-a53f-f66ebef8cd27.mov

    This behaviour only happens on processed code (in my case *.js/*.ts since I'm the maintainer of graphql-eslint package. There is no this problem when I apply suggestions on *.graphql files directly

    I verified another rule that does not do fixer.replaceText but fixer.remove and received exact same behaviour, suggestions are broken if I add 2nd item.

    What did you expect to happen?

    should not break code if there are more than 2 items in suggest array on processed code

    What actually happened?

    Suggestions works on *.js files only if there is 1 item in the suggest array Suggestions works well on *.graphql files if there are 2 items in suggest

    Participation

    • [ ] I am willing to submit a pull request for this issue.

    Additional comments

    No response

    bug repro:needed 
    opened by B2o5T 3
  • Bug: TypeError: Unexpected array.

    Bug: TypeError: Unexpected array.

    Environment

    Node version: v18.12.1 npm version: 8.19.2 Local ESLint version: 8.30.0

    What parser are you using?

    Default (Espree)

    What did you do?

    I was trying to use predefined configurations from typescript-eslint according to the new Configuration file documentation here https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-predefined-configurations and https://eslint.org/blog/2022/08/new-config-system-part-2/#backwards-compatibility-utility:

    import typescriptEslintPlugin from '@typescript-eslint/eslint-plugin'
    import { FlatCompat } from '@eslint/eslintrc'
    import path from 'path'
    import { fileURLToPath } from 'url'
    
    // mimic CommonJS variables -- not needed if using CommonJS
    const __filename = fileURLToPath(import.meta.url)
    const __dirname = path.dirname(__filename)
    
    const compat = new FlatCompat({
      baseDirectory: __dirname, // optional; default: process.cwd()
      resolvePluginsRelativeTo: __dirname, // optional
    })
    
    export default [
      compat.extends('plugin:@typescript-eslint/recommended')
    ]
    

    Btw, you can reproduce it here https://stackblitz.com/edit/node-7ecwgq?file=eslint.config.js

    Then I ran into this error:

    $ npx eslint .
    Oops! Something went wrong! :(
    
    ESLint: 8.30.0
    
    TypeError: Unexpected array.
    

    because compat.extends returns an array here (there's a similar report here https://github.com/eslint/eslintrc/pull/99), and FlatESLint doesn't seem to support nested config array.

    And I noticed there're some inconsistency over different documentations:

    1. Configuration Files (New) mentions:

      The ESLint configuration file is named eslint.config.js. It should be placed in the root directory of your project and export an array of configuration objects.

      I.e., you can't use nested array of configuration objects.

    2. RFC - Config File Simplification

      A config array is always flattened before being evaluated, so even though this example is a two-dimensional config array, it will be evaluated as if it were a one-dimensional config array.

      I.e., you can use nested config array.

    3. New config system part 2 implies FlatESLint does support nested config array.

    And I noticed config-array library has this extraConfigTypes which can be enabled to support nested config array, but it's not activated in this eslint repository.

    What did you expect to happen?

    Nested config array to be supported as per RFC.

    What actually happened?

    Nested config array is not supported at the moment.

    Participation

    • [X] I am willing to submit a pull request for this issue.

    Additional comments

    I'm not sure which one is true here, nested config array supported or not supported? If not, maybe we need to update the blog and eslintrc readme.

    bug repro:needed 
    opened by chenxsan 0
Releases(v8.31.0)
  • v8.31.0(Dec 31, 2022)

    Features

    • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#16693) (Milos Djermanovic)
    • b401cde feat: add options to check destructuring in no-underscore-dangle (#16006) (Morten Kaltoft)
    • 30d0daf feat: group properties with values in parentheses in key-spacing (#16677) (Francesco Trotta)

    Bug Fixes

    • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#16722) (Francesco Trotta)
    • 87b2470 fix: new instance of FlatESLint should load latest config file version (#16608) (Milos Djermanovic)

    Documentation

    • 4339dc4 docs: Update README (GitHub Actions Bot)
    • 4e4049c docs: optimize code block structure (#16669) (Sam Chen)
    • 54a7ade docs: do not escape code blocks of formatters examples (#16719) (Sam Chen)
    • e5ecfef docs: Add function call example for no-undefined (#16712) (Elliot Huffman)
    • a3262f0 docs: Add mastodon link (#16638) (Amaresh S M)
    • a14ccf9 docs: clarify files property (#16709) (Sam Chen)
    • 3b29eb1 docs: fix npm link (#16710) (Abdullah Osama)
    • a638673 docs: fix search bar focus on Esc (#16700) (Shanmughapriyan S)
    • f62b722 docs: country flag missing in windows (#16698) (Shanmughapriyan S)
    • 4d27ec6 docs: display zh-hans in the docs language switcher (#16686) (Percy Ma)
    • 8bda20e docs: remove manually maintained anchors (#16685) (Percy Ma)
    • b68440f docs: User Guide Getting Started expansion (#16596) (Ben Perlmutter)

    Chores

    • 65d4e24 chore: Upgrade @eslint/[email protected] (#16729) (Brandon Mills)
    • 8d93081 chore: fix CI failure (#16721) (Sam Chen)
    • 8f17247 chore: Set up automatic updating of README (#16717) (Nicholas C. Zakas)
    • 4cd87cb ci: bump actions/stale from 6 to 7 (#16713) (dependabot[bot])
    • fd20c75 chore: sort package.json scripts in alphabetical order (#16705) (Darius Dzien)
    • 10a5c78 chore: update ignore patterns in eslint.config.js (#16678) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.30.0(Dec 16, 2022)

    Features

    • 075ef2c feat: add suggestion for no-return-await (#16637) (Daniel Bartholomae)
    • 7190d98 feat: update globals (#16654) (Sébastien Règne)

    Bug Fixes

    • 1a327aa fix: Ensure flat config unignores work consistently like eslintrc (#16579) (Nicholas C. Zakas)
    • 9b8bb72 fix: autofix recursive functions in no-var (#16611) (Milos Djermanovic)

    Documentation

    • 6a8cd94 docs: Clarify Discord info in issue template config (#16663) (Nicholas C. Zakas)
    • ad44344 docs: CLI documentation standardization (#16563) (Ben Perlmutter)
    • 293573e docs: fix broken line numbers (#16606) (Sam Chen)
    • fa2c64b docs: use relative links for internal links (#16631) (Percy Ma)
    • 75276c9 docs: reorder options in no-unused-vars (#16625) (Milos Djermanovic)
    • 7276fe5 docs: Fix anchor in URL (#16628) (Karl Horky)
    • 6bef135 docs: don't apply layouts to html formatter example (#16591) (Tanuj Kanti)
    • dfc7ec1 docs: Formatters page updates (#16566) (Ben Perlmutter)
    • 8ba124c docs: update the prefer-const example (#16607) (Pavel)
    • e6cb05a docs: fix css leaking (#16603) (Sam Chen)

    Chores

    • f2c4737 chore: upgrade @eslint/[email protected] (#16675) (Milos Djermanovic)
    • ba74253 chore: standardize npm script names per #14827 (#16315) (Patrick McElhaney)
    • 0d9af4c ci: fix npm v9 problem with file: (#16664) (Milos Djermanovic)
    • 90c9219 refactor: migrate off deprecated function-style rules in all tests (#16618) (Bryan Mishkin)
    Source code(tar.gz)
    Source code(zip)
  • v8.29.0(Dec 2, 2022)

    Features

    • 49a07c5 feat: add allowParensAfterCommentPattern option to no-extra-parens (#16561) (Nitin Kumar)
    • e6a865d feat: prefer-named-capture-group add suggestions (#16544) (Josh Goldberg)
    • a91332b feat: In no-invalid-regexp validate flags also for non-literal patterns (#16583) (trosos)

    Documentation

    • 0311d81 docs: Configuring Plugins page intro, page tweaks, and rename (#16534) (Ben Perlmutter)
    • 57089b1 docs: add a property assignment example for camelcase rule (#16605) (Milos Djermanovic)
    • b6ab030 docs: add docs codeowners (#16601) (Strek)
    • 6380c87 docs: fix sitemap and feed (#16592) (Milos Djermanovic)
    • ade621d docs: perf debounce the search query (#16586) (Shanmughapriyan S)
    • fbcf3ab docs: fix searchbar clear button (#16585) (Shanmughapriyan S)
    • f894035 docs: HTTPS link to yeoman.io (#16582) (Christian Oliff)
    • de12b26 docs: Update configuration file pages (#16509) (Ben Perlmutter)
    • 1ae9f20 docs: update correct code examples for no-extra-parens rule (#16560) (Nitin Kumar)

    Chores

    • 7628403 chore: add discord channel link (#16590) (Amaresh S M)
    • f5808cb chore: fix rule doc headers check (#16564) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.28.0(Nov 18, 2022)

    Features

    • 63bce44 feat: add ignoreClassFieldInitialValues option to no-magic-numbers (#16539) (Milos Djermanovic)
    • 8385ecd feat: multiline properties in rule key-spacing with option align (#16532) (Francesco Trotta)
    • a4e89db feat: no-obj-calls support Intl (#16543) (Sosuke Suzuki)

    Bug Fixes

    • c50ae4f fix: Ensure that dot files are found with globs. (#16550) (Nicholas C. Zakas)
    • 9432b67 fix: throw error for first unmatched pattern (#16533) (Milos Djermanovic)
    • e76c382 fix: allow * 1 when followed by / in no-implicit-coercion (#16522) (Milos Djermanovic)

    Documentation

    • 34c05a7 docs: Language Options page intro and tweaks (#16511) (Ben Perlmutter)
    • 3e66387 docs: add intro and edit ignoring files page (#16510) (Ben Perlmutter)
    • 436f712 docs: fix Header UI inconsistency (#16464) (Tanuj Kanti)
    • f743816 docs: switch to wrench emoji for auto-fixable rules (#16545) (Bryan Mishkin)
    • bc0547e docs: improve styles for versions and languages page (#16553) (Nitin Kumar)
    • 6070f58 docs: clarify esquery issue workaround (#16556) (Milos Djermanovic)
    • b48e4f8 docs: Command Line Interface intro and tweaks (#16535) (Ben Perlmutter)
    • b92b30f docs: Add Rules page intro and content tweaks (#16523) (Ben Perlmutter)
    • 1769b42 docs: Integrations page introduction (#16548) (Ben Perlmutter)
    • a8d0a57 docs: make table of contents sticky on desktop (#16506) (Sam Chen)
    • a01315a docs: fix route of japanese translation site (#16542) (Tanuj Kanti)
    • 0515628 docs: use emoji instead of svg for deprecated rule (#16536) (Bryan Mishkin)
    • 68f1288 docs: set default layouts (#16484) (Percy Ma)
    • 776827a docs: init config about specifying shared configs (#16483) (Percy Ma)
    • 5c39425 docs: fix broken link to plugins (#16520) (Ádám T. Nagy)
    • c97c789 docs: Add missing no-new-native-nonconstructor docs code fence (#16503) (Brandon Mills)

    Chores

    • e94a4a9 chore: Add tests to verify #16038 is fixed (#16538) (Nicholas C. Zakas)
    • e13f194 chore: stricter validation of meta.docs.description in core rules (#16529) (Milos Djermanovic)
    • 72dbfbc chore: use pkg parameter in getNpmPackageVersion (#16525) (webxmsj)
    Source code(tar.gz)
    Source code(zip)
  • v8.27.0(Nov 6, 2022)

    Features

    • f14587c feat: new no-new-native-nonconstructor rule (#16368) (Sosuke Suzuki)
    • 978799b feat: add new rule no-empty-static-block (#16325) (Sosuke Suzuki)
    • 69216ee feat: no-empty suggest to add comment in empty BlockStatement (#16470) (Nitin Kumar)
    • 319f0a5 feat: use context.languageOptions.ecmaVersion in core rules (#16458) (Milos Djermanovic)

    Bug Fixes

    • c3ce521 fix: Ensure unmatched glob patterns throw an error (#16462) (Nicholas C. Zakas)
    • 886a038 fix: handle files with unspecified path in getRulesMetaForResults (#16437) (Francesco Trotta)

    Documentation

    • ce93b42 docs: Stylelint property-no-unknown (#16497) (Nick Schonning)
    • d2cecb4 docs: Stylelint declaration-block-no-shorthand-property-overrides (#16498) (Nick Schonning)
    • 0a92805 docs: stylelint color-hex-case (#16496) (Nick Schonning)
    • 74a5af4 docs: fix stylelint error (#16491) (Milos Djermanovic)
    • 324db1a docs: explicit stylelint color related rules (#16465) (Nick Schonning)
    • 94dc4f1 docs: use Stylelint for HTML files (#16468) (Nick Schonning)
    • cc6128d docs: enable stylelint declaration-block-no-duplicate-properties (#16466) (Nick Schonning)
    • d03a8bf docs: Add heading to justification explanation (#16430) (Maritaria)
    • 8a15968 docs: add Stylelint configuration and cleanup (#16379) (Nick Schonning)
    • 9b0a469 docs: note commit messages don't support scope (#16435) (Andy Edwards)
    • 1581405 docs: improve context.getScope() docs (#16417) (Ben Perlmutter)
    • b797149 docs: update formatters template (#16454) (Milos Djermanovic)
    • 5ac4de9 docs: fix link to formatters on the Core Concepts page (#16455) (Vladislav)
    • 33313ef docs: core-concepts: fix link to semi rule (#16453) (coderaiser)
    Source code(tar.gz)
    Source code(zip)
  • v8.26.0(Oct 21, 2022)

    Features

    • 4715787 feat: check Object.create() in getter-return (#16420) (Yuki Hirasawa)
    • 28d1902 feat: no-implicit-globals supports exported block comment (#16343) (Sosuke Suzuki)
    • e940be7 feat: Use ESLINT_USE_FLAT_CONFIG environment variable for flat config (#16356) (Tomer Aberbach)
    • dd0c58f feat: Swap out Globby for custom globbing solution. (#16369) (Nicholas C. Zakas)

    Bug Fixes

    • df77409 fix: use baseConfig constructor option in FlatESLint (#16432) (Milos Djermanovic)
    • 33668ee fix: Ensure that glob patterns are matched correctly. (#16449) (Nicholas C. Zakas)
    • 740b208 fix: ignore messages without a ruleId in getRulesMetaForResults (#16409) (Francesco Trotta)
    • 8f9759e fix: --ignore-pattern in flat config mode should be relative to cwd (#16425) (Milos Djermanovic)
    • 325ad37 fix: make getRulesMetaForResults return a plain object in trivial case (#16438) (Francesco Trotta)
    • a2810bc fix: Ensure that directories can be unignored. (#16436) (Nicholas C. Zakas)
    • 35916ad fix: Ensure unignore and reignore work correctly in flat config. (#16422) (Nicholas C. Zakas)

    Documentation

    • 651649b docs: Core concepts page (#16399) (Ben Perlmutter)
    • 631cf72 docs: note --ignore-path not supported with flat config (#16434) (Andy Edwards)
    • 1692840 docs: fix syntax in examples for new config files (#16427) (Milos Djermanovic)
    • d336cfc docs: Document extending plugin with new config (#16394) (Ben Perlmutter)

    Chores

    • e917a9a ci: add node v19 (#16443) (Koichi ITO)
    • 4b70b91 chore: Add VS Code issues link (#16423) (Nicholas C. Zakas)
    • 232d291 chore: suppress a Node.js deprecation warning (#16398) (Koichi ITO)
    Source code(tar.gz)
    Source code(zip)
  • v8.25.0(Oct 7, 2022)

    Features

    • 173e820 feat: Pass --max-warnings value to formatters (#16348) (Brandon Mills)
    • 6964cb1 feat: remove support for ignore files in FlatESLint (#16355) (Milos Djermanovic)
    • 1cc4b3a feat: id-length counts graphemes instead of code units (#16321) (Sosuke Suzuki)

    Documentation

    • 90c6028 docs: Conflicting fixes (#16366) (Ben Perlmutter)
    • 5a3fe70 docs: Add VS to integrations page (#16381) (Maria José Solano)
    • 49bd1e5 docs: remove unused link definitions (#16376) (Nick Schonning)
    • 3bd380d docs: typo cleanups for docs (#16374) (Nick Schonning)
    • b3a0837 docs: remove duplicate words (#16378) (Nick Schonning)
    • a682562 docs: add BigInt to new-cap docs (#16362) (Sosuke Suzuki)
    • f6d57fb docs: Update docs README (#16352) (Ben Perlmutter)
    • 7214347 docs: fix logical-assignment-operators option typo (#16346) (Jonathan Wilsson)

    Chores

    • 1f78594 chore: upgrade @eslint/[email protected] (#16397) (Milos Djermanovic)
    • 8476a9b chore: Remove CODEOWNERS (#16375) (Nick Schonning)
    • 720ff75 chore: use "ci" for Dependabot commit message (#16377) (Nick Schonning)
    • 42f5479 chore: bump actions/stale from 5 to 6 (#16350) (dependabot[bot])
    • e5e9e27 chore: remove jsdoc dev dependency (#16344) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.24.0(Sep 23, 2022)

    Features

    • 1729f9e feat: account for sourceType: "commonjs" in the strict rule (#16308) (Milos Djermanovic)
    • b0d72c9 feat: add rule logical-assignment-operators (#16102) (fnx)
    • f02bcd9 feat: array-callback-return support findLast and findLastIndex (#16314) (Sosuke Suzuki)

    Documentation

    • 2c152ff docs: note false positive Object.getOwnPropertyNames in prefer-reflect (#16317) (AnnAngela)
    • bf7bd88 docs: fix warn severity description for new config files (#16324) (Nitin Kumar)
    • 8cc0bbe docs: use more clean link syntax (#16309) (Percy Ma)
    • 6ba269e docs: fix typo (#16288) (jjangga0214)

    Chores

    • 131e646 chore: Upgrade @humanwhocodes/config-array for perf (#16339) (Nicholas C. Zakas)
    • 504fe59 perf: switch from object spread to Object.assign when merging globals (#16311) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.23.1(Sep 12, 2022)

    Bug Fixes

    • b719893 fix: Upgrade eslintrc to stop redefining plugins (#16297) (Brandon Mills)
    • 734b54e fix: improve autofix for the prefer-const rule (#16292) (Nitin Kumar)
    • 6a923ff fix: Ensure that glob patterns are normalized (#16287) (Nicholas C. Zakas)
    • c6900f8 fix: Ensure globbing doesn't include subdirectories (#16272) (Nicholas C. Zakas)

    Documentation

    • 16cba3f docs: fix mobile double tap issue (#16293) (Sam Chen)
    • e098b5f docs: keyboard control to search results (#16222) (Shanmughapriyan S)
    • 1b5b2a7 docs: add Consolas font and prioritize resource loading (#16225) (Amaresh S M)
    • 1ae8236 docs: copy & use main package version in docs on release (#16252) (Jugal Thakkar)
    • 279f0af docs: Improve id-denylist documentation (#16223) (Mert Ciflikli)

    Chores

    • 38e8171 perf: migrate rbTree to js-sdsl (#16267) (Zilong Yao)
    • 1c388fb chore: switch nyc to c8 (#16263) (唯然)
    • 67db10c chore: enable linting .eleventy.js again (#16274) (Milos Djermanovic)
    • 42bfbd7 chore: fix npm run perf crashes (#16258) (唯然)
    Source code(tar.gz)
    Source code(zip)
  • v8.23.0(Aug 26, 2022)

    Features

    • 3e5839e feat: Enable eslint.config.js lookup from CLI (#16235) (Nicholas C. Zakas)
    • 30b1a2d feat: add allowEmptyCase option to no-fallthrough rule (#15887) (Amaresh S M)
    • 43f03aa feat: no-warning-comments support comments with decoration (#16120) (Lachlan Hunt)

    Documentation

    • b1918da docs: package.json conventions (#16206) (Patrick McElhaney)
    • 0e03c33 docs: remove word immediately (#16217) (Strek)
    • c6790db docs: add anchor link for "migrating from jscs" (#16207) (Percy Ma)
    • 7137344 docs: auto-generation edit link (#16213) (Percy Ma)

    Chores

    • 2e004ab chore: upgrade @eslint/[email protected] (#16249) (Milos Djermanovic)
    • d35fbbe chore: Upgrade to [email protected] (#16243) (Milos Djermanovic)
    • ed26229 test: add no-extra-parens tests with rest properties (#16236) (Milos Djermanovic)
    • deaf69f chore: fix off-by-one min-width: 1023px media queries (#15974) (Milos Djermanovic)
    • 63dec9f refactor: simplify parseListConfig (#16241) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.22.0(Aug 14, 2022)

    Features

    • 2b97607 feat: Implement caching for FlatESLint (#16190) (Nicholas C. Zakas)
    • fd5d3d3 feat: add methodsIgnorePattern option to object-shorthand rule (#16185) (Milos Djermanovic)

    Documentation

    • 9f5a752 docs: optimize image assets (#16170) (Sam Chen)
    • 61b2948 docs: add svgo command to pre commit hook (#16178) (Amaresh S M)
    • 784096d docs: improve search result UI (#16187) (Sam Chen)
    • d0f4cb4 docs: use shorthand property name in example (#16180) (Kevin Elliott)

    Chores

    • 10a6e0e chore: remove deploy workflow for playground (#16186) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.21.0(Aug 1, 2022)

    Features

    • 7b43ea1 feat: Implement FlatESLint (#16149) (Nicholas C. Zakas)
    • 92bf49a feat: improve the key width calculation in key-spacing rule (#16154) (Nitin Kumar)
    • c461542 feat: add new allowLineSeparatedGroups option to the sort-keys rule (#16138) (Nitin Kumar)
    • 1cdcbca feat: add deprecation warnings for legacy API in RuleTester (#16063) (Nitin Kumar)

    Bug Fixes

    • 0396775 fix: lines-around-comment apply allowBlockStart for switch statements (#16153) (Nitin Kumar)

    Documentation

    • 2aadc93 docs: add anchors to headings inside docs content (#16134) (Strek)

    Chores

    • 8892511 chore: Upgrade to Espree 9.3.3 (#16173) (Brandon Mills)
    • 1233bee chore: switch to eslint-plugin-node's maintained fork (#16150) (唯然)
    • 97b95c0 chore: upgrade puppeteer v13 (#16151) (唯然)
    Source code(tar.gz)
    Source code(zip)
  • v8.20.0(Jul 16, 2022)

    Features

    • ca83178 feat: catch preprocess errors (#16105) (JounQin)

    Bug Fixes

    • 30be0ed fix: no-warning-comments rule escapes special RegEx characters in terms (#16090) (Lachlan Hunt)
    • bfe5e88 fix: ignore spacing before ] and } in comma-spacing (#16113) (Milos Djermanovic)

    Documentation

    • 845c4f4 docs: Add website team details (#16115) (Nicholas C. Zakas)
    • 5a0dfdb docs: Link to blog post in no-constant-binary-expression (#16112) (Jordan Eldredge)
    • bc692a9 docs: remove install command (#16084) (Strek)
    • 49ca3f0 docs: don't show toc when content not found (#16095) (Amaresh S M)
    • ba19e3f docs: enhance 404 page UI (#16097) (Amaresh S M)
    • a75d3b4 docs: remove unused meta.docs.category field in working-with-rules page (#16109) (Brandon Scott)
    • cdc0206 docs: add formatters page edit link (#16094) (Amaresh S M)
    • 4d1ed22 docs: preselect default theme (#16098) (Strek)
    • 4b79612 docs: add missing correct/incorrect containers (#16087) (Milos Djermanovic)
    • 09f6acb docs: fix UI bug on rules index and details pages (#16082) (Deepshika S)
    • f5db264 docs: remove remaining duplicate rule descriptions (#16093) (Milos Djermanovic)
    • 32a6b2a docs: Add scroll behaviour smooth (#16056) (Amaresh S M)

    Chores

    • bbf8df4 chore: Mark autogenerated release blog post as draft (#16130) (Nicholas C. Zakas)
    • eee4306 chore: update internal lint dependencies (#16088) (Bryan Mishkin)
    • 9615a42 chore: update formatter examples template to avoid markdown lint error (#16085) (Milos Djermanovic)
    • 62541ed chore: fix markdown linting error (#16083) (唯然)
    Source code(tar.gz)
    Source code(zip)
  • v8.19.0(Jul 2, 2022)

    Features

    • 7023628 feat: add importNames support for patterns in no-restricted-imports (#16059) (Brandon Scott)
    • 472c368 feat: fix handling of blockless with statements in indent rule (#16068) (Milos Djermanovic)

    Bug Fixes

    • fc81848 fix: throw helpful exception when rule has wrong return type (#16075) (Bryan Mishkin)

    Documentation

    • 3ae0574 docs: Remove duplicate rule descriptions (#16052) (Amaresh S M)
    • f50cf43 docs: Add base href to each page to fix relative URLs (#16046) (Nicholas C. Zakas)
    • ae4b449 docs: make logo link clickable on small width screens (#16058) (Milos Djermanovic)
    • 280f898 docs: use only fenced code blocks (#16044) (Milos Djermanovic)
    • f5d63b9 docs: add listener only if element exists (#16045) (Amaresh S M)
    • 8b639cc docs: add missing migrating-to-8.0.0 in the user guide (#16048) (唯然)
    • b8e68c1 docs: Update release process (#16036) (Nicholas C. Zakas)
    • 6d0cb11 docs: remove table of contents from markdown text (#15999) (Nitin Kumar)

    Chores

    • e884933 chore: use github-slugger for markdown anchors (#16067) (Strek)
    • 02e9cb0 chore: revamp carbon ad style (#16078) (Amaresh S M)
    • b6aee95 chore: remove unwanted comments from rules markdown (#16054) (Strek)
    • 6840940 chore: correctly use .markdownlintignore in Makefile (#16060) (Bryan Mishkin)
    • 48904fb chore: add missing images (#16017) (Amaresh S M)
    • 910f741 chore: add architecture to nav (#16039) (Strek)
    • 9bb24c1 chore: add correct incorrect in all rules doc (#16021) (Deepshika S)
    • 5a96af8 chore: prepare versions data file (#16035) (Nicholas C. Zakas)
    • 50afe6f chore: Included githubactions in the dependabot config (#15985) (Naveen)
    • 473411e chore: add deploy workflow for playground (#16034) (Milos Djermanovic)
    • a30b66c chore: fix print style (#16025) (Amaresh S M)
    • f4dad59 chore: add noindex meta tag (#16016) (Milos Djermanovic)
    • db387a8 chore: fix sitemap (#16026) (Milos Djermanovic)
    • 285fbc5 chore: remove TOC from printable (#16020) (Strek)
    • 8e84c21 chore: remove ligatures from fonts (#16019) (Strek)
    Source code(tar.gz)
    Source code(zip)
  • v8.18.0(Jun 17, 2022)

    Features

    • a6273b8 feat: account for rule creation time in performance reports (#15982) (Nitin Kumar)

    Bug Fixes

    • f364d47 fix: Make no-unused-vars treat for..of loops same as for..in loops (#15868) (Alex Bass)

    Documentation

    • 4871047 docs: Update analytics, canonical URL, ads (#15996) (Nicholas C. Zakas)
    • cddad14 docs: Add correct/incorrect containers (#15998) (Nicholas C. Zakas)
    • b04bc6f docs: Add rules meta info to rule pages (#15902) (Nicholas C. Zakas)
    • 1324f10 docs: unify the wording referring to optional exception (#15893) (Abdelrahman Elkady)
    • ad54d02 docs: add missing trailing slash to some internal links (#15991) (Milos Djermanovic)
    • df7768e docs: Switch to version-relative URLs (#15978) (Nicholas C. Zakas)
    • 21d6479 docs: change some absolute links to relative (#15970) (Milos Djermanovic)
    • f31216a docs: Update README team and sponsors (ESLint Jenkins)

    Build Related

    • ed49f15 build: remove unwanted parallel and image-min for dev server (#15986) (Strek)

    Chores

    • f6e2e63 chore: fix 'replaced by' rule list (#16007) (Milos Djermanovic)
    • d94dc84 chore: remove unused deprecation warnings (#15994) (Francesco Trotta)
    • cdcf11e chore: fix versions link (#15995) (Milos Djermanovic)
    • d2a8715 chore: add trailing slash to pathPrefix (#15993) (Milos Djermanovic)
    • 58a1bf0 chore: tweak URL rewriting for local previews (#15992) (Milos Djermanovic)
    • 80404d2 chore: remove docs deploy workflow (#15984) (Nicholas C. Zakas)
    • 71bc750 chore: Set permissions for GitHub actions (#15971) (Naveen)
    • 90ff647 chore: avoid generating subdirectories for each page on new docs site (#15967) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.17.0(Jun 3, 2022)

    Features

    • 55319e1 feat: fix indent bug with semicolon-first style (#15951) (Milos Djermanovic)
    • f6d7920 feat: add allowNamedExports option to no-use-before-define (#15953) (Milos Djermanovic)

    Bug Fixes

    • 54c0953 fix: cleanup typos (#15939) (Nick Schonning)
    • 845a7af fix: typo ocatal -> octal (#15940) (Nick Schonning)

    Documentation

    • b915018 docs: Update website UI to latest (#15944) (Nicholas C. Zakas)
    • f0bb609 docs: Update Exponentiation operator MDN link (#15960) (Pranjal Jain)
    • baa0153 docs: Use correct past tense "left" instead of "leaved" (#15950) (Frederik Braun)
    • 1351a9b docs: Add Resources section to rule pages (#15901) (Nicholas C. Zakas)
    • 68cf0fb docs: cleanup typos (#15936) (Nick Schonning)
    • 13b62ae docs: use-dart-sass instead of node-sass (#15912) (Deepshika S)
    • c81c5d6 docs: add social media links (#15920) (Deepshika S)
    • 0d6a50b docs: fix openjs link (#15917) (Amaresh S M)
    • 54910f5 docs: display version in mobile view (#15909) (Amaresh S M)

    Chores

    • da694b9 chore: avoid theme flashes (#15927) (Strek)
    • f836743 chore: Use build hook for docs deploy (#15945) (Nicholas C. Zakas)
    • ce035e5 test: cleanup typos (#15937) (Nick Schonning)
    • 10249ad chore: use addEventListener instead of addListener (#15923) (Amaresh S M)
    • 5f5c1fb chore: lint eleventy config file (#15904) (Milos Djermanovic)
    • 8513d37 chore: update Rule typedefs (#15915) (Milos Djermanovic)
    • 55534f1 test: ensure no-restricted-imports works with NodeJS imports (#15907) (Nick Mazuk)
    Source code(tar.gz)
    Source code(zip)
  • v8.16.0(May 20, 2022)

    Features

    • cab0c22 feat: add Unicode flag suggestion in no-misleading-character-class (#15867) (Milos Djermanovic)
    • 38ae956 feat: check Unicode code point escapes in no-control-regex (#15862) (Milos Djermanovic)
    • ee69cd3 feat: Update global variables (#15871) (Sébastien Règne)

    Bug Fixes

    • 3f09aab fix: function-paren-newline crash on "new new Foo();" (#15850) (coderaiser)

    Documentation

    • 050d5f4 docs: Static further reading links (#15890) (Nicholas C. Zakas)
    • 36287c0 docs: fix absolute paths in related rules shortcode to work from /docs (#15892) (Milos Djermanovic)
    • 90b6990 docs: fix absolute links in rule macro to work from /docs (#15891) (Milos Djermanovic)
    • f437249 docs: Adjust docs site path prefix (#15889) (Nicholas C. Zakas)
    • 6e16025 docs: update 'Related Rules' and 'Further Reading' in remaining rules (#15884) (Milos Djermanovic)
    • 1d39f69 docs: remove confusing examples for no-mixed-operators (#15875) (Milos Djermanovic)
    • 3071d76 docs: Fix some grammar issues (#15837) (byodian)

    Chores

    • 1768d0d chore: upgrade @eslint/[email protected] (#15903) (Milos Djermanovic)
    • c686e4c chore: Add deploy workflow for docs site (#15894) (Nicholas C. Zakas)
    • c7894cd chore: enable some rules from eslint-plugin-unicorn internally (#15878) (Bryan Mishkin)
    • ea65cb5 chore: upgrade eslint-plugin-eslint-plugin@^4.2.0 (#15882) (唯然)
    • cc29c69 chore: Upgrade official GitHub actions to latest versions (#15880) (Darius Dzien)
    • 5891c75 chore: Refactor rule docs format (#15869) (Nicholas C. Zakas)
    Source code(tar.gz)
    Source code(zip)
  • v8.15.0(May 6, 2022)

    Features

    • ab37d3b feat: add enforceInClassFields option to no-underscore-dangle (#15818) (Roberto Cestari)

    Bug Fixes

    • 8bf9440 fix: "use strict" should not trigger strict mode in ES3 (#15846) (Milos Djermanovic)

    Documentation

    • 28116cc docs: update AST node names link in no-restricted-syntax (#15843) (Milos Djermanovic)
    • 272965f docs: fix h1 heading on formatters page (#15834) (Milos Djermanovic)
    • a798166 docs: update example for running individual rule tests (#15833) (Milos Djermanovic)
    • 57e732b docs: mark SourceCode#getJSDocComment deprecated in working-with-rules (#15829) (Milos Djermanovic)
    • 9a90abf docs: update docs directory in working-with-rules (#15830) (Milos Djermanovic)
    • 810adda docs: add more examples for prefer-object-spread (#15831) (coderaiser)
    • 06b1edb docs: clarify no-control-regex rule (#15808) (Milos Djermanovic)
    • 9ecd42f docs: Fixed typo in code comment (#15812) (Addison G)
    • de992b7 docs: remove links to 2fa document (#15804) (Milos Djermanovic)
    • 5222659 docs: fix 'Related Rules' heading in no-constant-binary-expression (#15799) (Milos Djermanovic)
    • e70ae81 docs: Update README team and sponsors (ESLint Jenkins)

    Chores

    • 1ba6a92 chore: upgrade @eslint/[email protected] (#15847) (Milos Djermanovic)
    • 8167aa7 chore: bump version of minimatch due to security issue PRISMA-2022-0039 (#15774) (Jan Opravil)
    • b8995a4 chore: Implement docs site (#15815) (Nicholas C. Zakas)
    • 6494e3e chore: update link in codeql-analysis.yml (#15817) (Milos Djermanovic)
    • 36503ec chore: enable no-constant-binary-expression in eslint-config-eslint (#15807) (唯然)
    Source code(tar.gz)
    Source code(zip)
  • v8.14.0(Apr 22, 2022)

    Features

    • ab6363d feat: Add rule no-constant-binary-expression (#15296) (Jordan Eldredge)

    Bug Fixes

    • 35fa1dd fix: allow project paths to have URL-encoded characters (#15795) (Milos Djermanovic)
    • 413f1d5 fix: update astUtils.isDirectiveComment with globals and exported (#15775) (Milos Djermanovic)

    Build Related

    • c2407e8 build: add node v18 (#15791) (唯然)

    Chores

    • 735458c chore: add static frontmatter to no-constant-binary-expression docs (#15798) (Milos Djermanovic)
    • db28f2c chore: Add static frontmatter to docs (#15782) (Nicholas C. Zakas)
    • 3bca59e chore: markdownlint autofix on commit (#15783) (Nicholas C. Zakas)
    Source code(tar.gz)
    Source code(zip)
  • v8.13.0(Apr 8, 2022)

    Features

    • 274acbd feat: fix no-eval logic for this in arrow functions (#15755) (Milos Djermanovic)

    Bug Fixes

    • 97b57ae fix: invalid operator in operator-assignment messages (#15759) (Milos Djermanovic)

    Documentation

    • c32482e docs: Typo in space-infix-ops docs (#15754) (kmin-jeong)
    • f2c2d35 docs: disambiguate types FormatterFunction and LoadedFormatter (#15727) (Francesco Trotta)

    Chores

    • bb4c0d5 chore: Refactor docs to work with docs.eslint.org (#15744) (Nicholas C. Zakas)
    • d36f12f chore: remove lib/init from eslint config (#15748) (Milos Djermanovic)
    • a59a4e6 chore: replace trimLeft/trimRight with trimStart/trimEnd (#15750) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.12.0(Mar 25, 2022)

    Features

    • 685a67a feat: fix logic for top-level this in no-invalid-this and no-eval (#15712) (Milos Djermanovic)

    Chores

    • 18f5e05 chore: padding-line-between-statements remove useless additionalItems (#15706) (Martin Sadovy)
    Source code(tar.gz)
    Source code(zip)
  • v8.11.0(Mar 11, 2022)

    Features

    • 800bd25 feat: add destructuredArrayIgnorePattern option in no-unused-vars (#15649) (Nitin Kumar)
    • 8933fe7 feat: Catch undefined and Boolean() in no-constant-condition (#15613) (Jordan Eldredge)
    • f90fd9d feat: Add ESLint favicon to the HTML report document (#15671) (Mahdi Hosseinzadeh)
    • 57b8a57 feat: valid-typeof always ban undefined (#15635) (Zzzen)

    Bug Fixes

    • 6814922 fix: escaping for square brackets in ignore patterns (#15666) (Milos Djermanovic)
    • c178ce7 fix: extend the autofix range in comma-dangle to ensure the last element (#15669) (Milos Djermanovic)

    Documentation

    • c481cec docs: add fast-eslint-8 to atom integrations (userguide) (#15695) (db developer)
    • d2255db docs: Add clarification about eslint-enable (#15680) (dosisod)
    • 8b9433c docs: add object pattern to first section of computed-property-spacing (#15679) (Milos Djermanovic)
    • de800c3 docs: link to minimatch docs added. (#15688) (Gaurav Tewari)
    • 8f675b1 docs: sort-imports add single named import example (#15675) (Arye Eidelman)

    Chores

    • 385c9ad chore: rm trailing space in docs (#15689) (唯然)
    Source code(tar.gz)
    Source code(zip)
  • v8.10.0(Feb 25, 2022)

    Features

    • 6e2c325 feat: Add ignoreOnInitialization option to no-shadow rule (#14963) (Soufiane Boutahlil)
    • 115cae5 feat: --debug prints time it takes to parse a file (#15609) (Bartek Iwańczuk)
    • 345e70d feat: Add onlyOneSimpleParam option to no-confusing-arrow rule (#15566) (Gautam Arora)

    Bug Fixes

    • cdc5802 fix: Avoid __dirname for built-in configs (#15616) (DoZerg)
    • ee7c5d1 fix: false positive in camelcase with combined properties (#15581) (Nitin Kumar)

    Documentation

    • 1005bd5 docs: update CLA information (#15630) (Nitin Kumar)
    • 5d65c3b docs: Fix typo in no-irregular-whitespace (#15634) (Ryota Sekiya)
    • b93af98 docs: add links between rules about whitespace around block curly braces (#15625) (Milos Djermanovic)
    • ebc0460 docs: update babel links (#15624) (Milos Djermanovic)

    Chores

    • 7cec74e chore: upgrade @eslint/[email protected] (#15648) (Milos Djermanovic)
    • 11c8580 chore: read ESLINT_MOCHA_TIMEOUT env var in Makefile.js (#15626) (Piggy)
    • bfaa548 test: add integration tests with built-in configs (#15612) (Milos Djermanovic)
    • 39a2fb3 perf: fix lazy loading of core rules (#15606) (Milos Djermanovic)
    • 3fc9196 chore: include tests/conf in test runs (#15610) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.9.0(Feb 12, 2022)

    Features

    • 68f64a9 feat: update eslint-scope to ignore "use strict" directives in ES3 (#15595) (Milos Djermanovic)
    • db57639 feat: add es2016, es2018, es2019, and es2022 environments (#15587) (Milos Djermanovic)
    • 2dc38aa feat: fix bug with arrow function return types in function-paren-newline (#15541) (Milos Djermanovic)
    • 6f940c3 feat: Implement FlatRuleTester (#15519) (Nicholas C. Zakas)

    Documentation

    • 570a036 docs: add one-var example with for-loop initializer (#15596) (Milos Djermanovic)
    • 417191d docs: Remove the $ prefix in terminal commands (#15565) (Andreas Lewis)
    • 389ff34 docs: add missing Variable#scope property in the scope manager docs (#15571) (Milos Djermanovic)
    • f63795d docs: no-eval replace dead link with working one (#15568) (rasenplanscher)
    • 0383591 docs: Remove old Markdown issue template (#15556) (Brandon Mills)
    • a8dd5a2 docs: add 'when not to use it' section in no-duplicate-case docs (#15563) (Milos Djermanovic)
    • 1ad439e docs: add missed verb in docs (#15550) (Jeff Mosawy)

    Chores

    • 586d45c chore: Upgrade to [email protected] (#15600) (Milos Djermanovic)
    • 623e1e2 chore: Upgrade to [email protected] (#15599) (Milos Djermanovic)
    • 355b23d chore: fix outdated link to Code of Conduct in PR template (#15578) (Rich Trott)
    • b10fef2 ci: use Node 16 for browser test (#15569) (Milos Djermanovic)
    • 92f89fb chore: suggest demo link in bug report template (#15557) (Brandon Mills)
    Source code(tar.gz)
    Source code(zip)
  • v8.8.0(Jan 28, 2022)

    Features

    • 5d60812 feat: implement rfc 2021-suppression-support (#15459) (Yiwei Ding)

    Documentation

    • 5769cc2 docs: fix relative link (#15544) (Nick Schonning)
    • ccbc35f docs: trimmed rules h1s to just be rule names (#15514) (Josh Goldberg)
    • 851f1f1 docs: fixed typo in comment (#15531) (Jiapei Liang)
    • 7d7af55 docs: address upcoming violation of markdownlint rule MD050/strong-style (#15529) (David Anson)
    Source code(tar.gz)
    Source code(zip)
  • v8.7.0(Jan 16, 2022)

    Features

    • 19ad061 feat: no-restricted-imports support casing (#15439) (gfyoung)
    • 564ecdb feat: Support arbitrary module namespace names in no-restricted-imports (#15491) (Milos Djermanovic)
    • 968a02a feat: Support arbitrary module namespace names in no-useless-rename (#15493) (Milos Djermanovic)
    • 0d2b9a6 feat: move eslint --init to @eslint/create-config (#15150) (唯然)
    • 127f524 feat: false negative with property option in id-match (#15474) (Nitin Kumar)
    • 359b2c1 feat: Support arbitrary module namespace names in the camelcase rule (#15490) (Milos Djermanovic)
    • 3549571 feat: Support arbitrary module namespace names in the quotes rule (#15479) (Milos Djermanovic)
    • 5563c45 feat: Support arbitrary module namespace names in keyword-spacing (#15481) (Milos Djermanovic)
    • fd3683f feat: Support arbitrary module namespace names in no-restricted-exports (#15478) (Milos Djermanovic)

    Bug Fixes

    • a8db9a5 fix: no-invalid-this false positive in class field initializer (#15495) (Milos Djermanovic)
    • 02d6426 fix: Correctly consume RuleTester statics (#15507) (Brad Zacher)
    • db15802 fix: Add property fatalErrorCount to ignored file results (#15520) (Francesco Trotta)
    • 03ac8cf fix: Prevent false positives with no-constant-condition (#15486) (Jordan Eldredge)

    Documentation

    • f50f849 docs: Update CLI docs to prefer local install (#15513) (Nicholas C. Zakas)
    • 0469eb1 docs: Update shell code fences for new website (#15522) (Olga)

    Chores

    • 369fb1b chore: Upgrade to [email protected] (#15526) (Brandon Mills)
    • ba6317b ci: remove master branch from CI configs (#15501) (Milos Djermanovic)
    • 79b6340 chore: fixed typo in client-Engine (#15497) (Abhay Gupta)
    • 6278281 chore: switch new syntax issue template to forms (#15480) (Nitin Kumar)
    Source code(tar.gz)
    Source code(zip)
  • v8.6.0(Dec 31, 2021)

    Features

    • 6802a54 feat: handle logical assignment in no-self-assign (#14152) (Zzzen)
    • 3b38018 feat: allow to define eslint-disable-next-line in multiple lines (#15436) (Nitin Kumar)
    • 9d6fe5a feat: false negative with onlyDeclarations + properties in id-match (#15431) (Nitin Kumar)

    Documentation

    • 6c4dee2 docs: Document homedir is a configuration root (#15469) (Bas Bosman)
    • 51c37b1 docs: consistency changes (#15404) (Bas Bosman)
    • 775d181 docs: Mention character classes in no-useless-escape (#15421) (Sebastian Simon)

    Chores

    • 3a384fc chore: Upgrade espree to 9.3.0 (#15473) (Brandon Mills)
    • 1443cc2 chore: Update blogpost.md.ejs (#15468) (Nicholas C. Zakas)
    • 28e907a refactor: remove unused parameter in linter.js (#15451) (Milos Djermanovic)
    • eaa08d3 test: add tests for allowReserved parser option with flat config (#15450) (Milos Djermanovic)
    Source code(tar.gz)
    Source code(zip)
  • v8.5.0(Dec 17, 2021)

    Features

    • 94e77a6 feat: Suggestions support for prefer-regex-literals (#15077) (Yash Singh)
    • eafaf52 feat: add prefer-object-has-own rule (#15346) (Nitin Kumar)

    Bug Fixes

    • 7d832d4 fix: improve prefer-template fixer (#15230) (Nitin Kumar)
    • 981fb48 fix: do not report global references in id-match rule (#15420) (Nitin Kumar)
    • f13d4a6 fix: improve autofix of prefer-object-has-own (#15419) (Nitin Kumar)
    • f4559a0 fix: add helpful message when test case has non-string code/name (#15425) (Bryan Mishkin)

    Documentation

    • 314c84c docs: add an incorrect code example in for-direction (#15434) (Holger Jeromin)
    • 3928175 docs: add destructuring examples for computed-property-spacing (#15423) (Nitin Kumar)
    • a53e59e docs: add more examples for array-element-newline rule (#15427) (Nitin Kumar)
    • 74cf0a0 docs: update CLA info (#15370) (Nitin Kumar)
    • e84195e docs: fix heading level for an option in class-methods-use-this rule (#15399) (Takuya Fukuju)

    Chores

    • 225f211 test: add destructuring test cases for computed-property-spacing (#15424) (Nitin Kumar)
    • f2c7ba6 ci: use node v16 for macOS and windows jobs (#15418) (Nitin Kumar)
    Source code(tar.gz)
    Source code(zip)
  • v8.4.1(Dec 7, 2021)

  • v8.4.0(Dec 4, 2021)

    Features

    • 5771663 feat: add allowReserved parser option (#15387) (Milos Djermanovic)
    • 32ac37a feat: Flat config support in Linter (refs #13481) (#15185) (Nicholas C. Zakas)
    • d041f34 feat: Treat Class/New Expressions as truthy in no-constant-condition (#15326) (Jordan Eldredge)
    • 8f44cf5 feat: report only lines that exceed the limit in max-lines-per-function (#15140) (Sneh Khatri)
    • 808ad35 feat: pass cwd to formatters (refs eslint/rfcs#57) (#13392) (Toru Nagashima)
    • f1b7499 feat: support async formatters (#15243) (MO)

    Bug Fixes

    • 4940cc5 fix: mark --rulesdir option as deprecated in CLI docs (#15310) (Kevin Partington)

    Documentation

    • 54deec5 docs: update integrations.md (#15380) (Vlad Sholokhov)
    • fa0423a docs: fix typo in PR template (#15365) (Nitin Kumar)
    • e233920 docs: enable a few more markdownlint rules and fix violations (#15368) (Bryan Mishkin)
    • 632176d docs: Dedent needlessly indented example in getter-return docs (#15363) (Jordan Eldredge)
    • 4497e88 docs: Update release notes blog post template (#15285) (Nicholas C. Zakas)

    Chores

    • efede90 chore: upgrade @eslint/[email protected] (#15389) (Milos Djermanovic)
    • 0b8c846 chore: fix update-readme to avoid multiple consecutive blank lines (#15375) (Milos Djermanovic)
    • 94b2a8b chore: Use default Chromium binary in M1 Mac tests (#15371) (Brandon Mills)
    • ba58d94 ci: use node v16 for Verify Files (#15364) (Nitin Kumar)
    • 1e32ee5 chore: add jsdoc type annotation to rules (#15291) (Bryan Mishkin)
    Source code(tar.gz)
    Source code(zip)
Owner
ESLint
Find and fix problems in your JavaScript code.
ESLint
fd is a program to find entries in your filesystem. It is a simple, fast and user-friendly alternative to find

fd is a program to find entries in your filesystem. It is a simple, fast and user-friendly alternative to find. While it does not aim to support all of find's powerful functionality, it provides sensible (opinionated) defaults for a majority of use cases.

David Peter 25.9k Jan 9, 2023
fas stand for Find all stuff and it's a go app that simplify the find command and allow you to easily search everything you nedd

fas fas stands for Find all stuff and it's a rust app that simplify the find command and allow you to easily search everything you need. Note: current

M4jrT0m 1 Dec 24, 2021
A cli tool to automatically download and upload advent of code problems.

Advent of Code CLI CLI client for advent of code. The purpose of this tool is so you don't have to leave your editor while participating (if you are l

Tobias Walle 43 Dec 7, 2023
fixred is a command line utility to fix outdated links in files with redirect URLs.

fixred fixred is a command line utility to fix outdated links in files with redirect URLs. Installation fixred is installed via cargo package manager.

Linda_pp 35 Aug 6, 2022
Fix the simple rust script as shown in README.md

Rust Fix Me Steps Create a Github account. (If you already have one no issues) Star this repository. Fork this repository to your Github account. Clon

Ganesh Chandrasekaran 48 Dec 9, 2022
Fix broken crates instantly 🏃🏽‍♀️💨

Patch-Crate patch-crate lets rust app developer instantly make and keep fixes to rust crate dependencies. It's a vital band-aid for those of us living

YiiSh 9 Nov 23, 2023
SA-MP client server list fix but written in Rust

Server List Fix This is a samp client server list fix, which reroutes the client's request to list.sa-mp.com to sam.markski.ar. The idea is originally

__SyS__ 4 Feb 4, 2024
Execute Javascript code in the Dioxus, and get the return value ( for Dioxus )

Golde Dioxus Execute Javascript code in the Dioxus, and get the return value. This demo can help use Javascript to calc the + operator formula. use di

YuKun Liu 15 Dec 27, 2022
Abuse the node.js inspector mechanism in order to force any node.js/electron/v8 based process to execute arbitrary javascript code.

jscythe abuses the node.js inspector mechanism in order to force any node.js/electron/v8 based process to execute arbitrary javascript code, even if t

Simone Margaritelli 301 Jan 4, 2023
Demo app duplicated in 5 languages (Go/JavaScript/Python/Ruby/Rust) showing how to go from source code to container image using melange+apko

hello-melange-apko ?? This repo contains an example app duplicated across 5 languages showing how to: Package source code into APKs using melange Buil

Chainguard 16 Jan 23, 2023
A todo list app that indexes your app to find TODO:'s

forgot A todo list app that indexes your app to find TODO:'s Usage to list all your todos forgot list list all your todos ignoring search in ./target,

null 2 Oct 6, 2022
languagetool-code-comments integrates the LanguageTool API to parse, spell check, and correct the grammar of your code comments!

languagetool-code-comments integrates the LanguageTool API to parse, spell check, and correct the grammar of your code comments! Overview Install MacO

Dustin Blackman 17 Dec 25, 2022
Tools - The Rome Toolchain. A linter, compiler, bundler, and more for JavaScript, TypeScript, HTML, Markdown, and CSS.

Rome is currently being rewritten in Rust. Read more about it in our latest blog post. The documentation below is out of date and available for poster

Rome 22k Jan 3, 2023
A Faster(⚡) formatter, linter, bundler, and more for JavaScript, TypeScript, JSON, HTML, Markdown, and CSS Lapce Plugin

Lapce Plugin for Rome Lapce-rome is a Lapce plugin for rome, The Rome is faster ⚡ , A formatter, linter, compiler, bundler, and more for JavaScript, T

xiaoxin 7 Dec 16, 2022
Manage your dotfiles and packages with ease. Define your $HOME as Code 💻 🚀 ✨

EnvHub is a simple tool to manage dotfiles and packages accross multiple machines. Written in Rust, internally it uses nix/homebrew/pkgx/devbox to man

Tsiry Sandratraina 8 Oct 27, 2023
Build terminal dashboards using ascii/ansi art and javascript

blessed-contrib Build dashboards (or any other application) using ascii/ansi art and javascript. Friendly to terminals, ssh and developers.

Yaron Naveh 15k Jan 2, 2023
Valq - macros for querying and extracting value from structured data by JavaScript-like syntax

valq   valq provides a macro for querying and extracting value from structured data in very concise manner, like the JavaScript syntax. Look & Feel: u

Takumi Fujiwara 24 Dec 21, 2022
Pure Rust implementation of Javascript Object Signing and Encryption (JOSE)

RustCrypto: JOSE Pure Rust implementation of Javascript Object Signing and Encryption (JOSE) License All crates licensed under either of Apache Licens

Rust Crypto 20 Dec 24, 2022
Save cli commands and fuzzy find them later

crow - cli command memorizer What is crow? | Installation | Usage | FAQ What is crow? crow (command row) is a CLI tool to help you memorize CLI comman

sandstorm 7 Feb 17, 2022