• Sign In



  • Categories

    Extension Details



    Readme

    ESLint Extension for Nova

    Provides integration with ESLint to lint your code.

    Forked from ESLint by Cameron Little with new features.

    Features

    • Inline ESLint issue reporting
    • "Low Severity" to show eslint errors as a lower level to remove a flood of red from your IDE
    • "Fix All Issues" command
    • "Apply a Suggestion" command (more information)
    • Quick suggestion to ignore an issue
    • Auto-fix on save preference
    • Custom ESLint install locations
    • Custom ESLint config file location
    • Supports multiple file formats
    • Javascript/Typescript
    • HTML (requires eslint-plugin-html)
    • Markdown (requires eslint-plugin-markdown)
    • Vue (requires eslint-plugin-vue and the Vue extension)

    Setup

    To use this, follow the Getting Started with ESLint instructions. You'll need to have ESLint installed locally in your project (it should be installed in ${workspaceRoot}/node_modules/eslint). If you rely on a global or custom ESLint installation you can configure it by setting the "Path to ESLint executable" preference in Nova. This is accessible globally at Extensions > Extension Library… > ESLint > Preferences, and per-workspace at Project > Project Settings… > ESLint.

    To verify you've set up correctly, run $(npm bin)/eslint ./path/to/file.js on a file and make sure the output is correct (no output if you don't expect issues, expected issues if you do).

    Screenshots

    Inline errors

    Sidebar errors

    Suggestions

    Fork

    NOTE: This is a fork of an earlier version of this plugin. See https://github.com/jsmecham/nova-eslint/pull/6 for more context on why I forked.

    UPDATE: Since forking, this extension has overtaken the original in total installs. Because forked repositories have some management limitations and the code has evolved so much, I've unforked on GitHub. The original fork is present at https://github.com/apexskier/nova-eslint-forked.

    UPDATE 2: The fork by Cameron Little was archived. I have decided to fork it again to continue
    adding minor features to improve ESLint for my own usage.

    Release Notes

    Changelog

    v1.7.4

    Fixed

    • Allow workaround for removal of npm bin in npm 9

    v1.7.3

    Fixed

    • Fixed broken file uri handling for Nova >=9.

    v1.7.2

    • Revert fixes for Nova 9. See #277 for context.

    v1.7.1

    • Fix for Nova 9

    v1.7.0

    Added

    • Support custom rules directories

    Changed

    • Improved Preferences meta-info

    v1.6.0

    Added

    Changed

    • Default paths in workspace preferences to relative paths

    v1.5.2

    Changed

    • Add more info when mismatched document length error happens

    v1.5.1

    Fixed

    • Fix cases where fix on save would produce broken code

    v1.5.0

    Added

    • Show suggestions for all current lint violations, instead of just the first
    • Add suggestion to ignore the current lint violation

    Fixed

    • Fixed errors due to missing plugins in the console

    v1.4.0

    Added

    • Support untitled (new, unsaved) documents

    Changed

    • When fixing all issues, apply fixes atomically in editor before saving (way faster)

    Fixed

    • Fixed linting failing when extension is first activated
    • Automatically re-lint when preferences change

    v1.3.0

    Added

    • Add preference to specify custom ESLint config path

    Fixed

    • Fix file URIs to address project relative lint failures

    v1.2.1

    Fixed

    • Fix errors when eslint executable isn't found

    Changed

    • Requires readonly filesystem permissions

    v1.2.0

    Added

    • Add support for HTML, Markdown, and Vue

    Changed

    • Performance improvements
    • Improved the "Apply a Suggestion" command
    • Add choice to fix all
    • Slight UX changes

    v1.1.0

    Added

    • "Apply a Suggestion" editor command

    v1.0.1

    Fixed

    • Fix "Fix on save" setting

    v1.0.0

    Added

    • Auto-fix command
    • Auto-fix on save
    • Support for configuring eslint executable location

    Changed

    • Performance improvements
    • Use workspace-installed eslint by default

    v0.3.0

    • Run eslint even when global not installed

    v0.2.0

    • Added documentation to the README.
    • Added support for linting TypeScript files.
    • Fixed issue with registering issues by using the correct document URI.
    • Simplified the formatting of the CHANGELOG.

    v0.1.0

    • Initial release.

    License

    MIT License

    Copyright (c) 2019-2020 Cameron Little, Justin Mecham

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.