Nova

Extensions


Readme

ESLint Extension for Nova

Provides integration with ESLint to lint your code.

Features

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

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.


Changelog

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.