Cake.ESLint

Makes [ESLint](https://eslint.org/docs/user-guide/command-line-interface) available as a tool in [Cake](https://cakebuild.net/)

#addin nuget:?package=Cake.ESLint&version=0.5.0

<package id="Cake.ESLint" version="0.5.0" />

dotnet add package Cake.ESLint --version 0.5.0

<PackageReference Include="Cake.ESLint" Version="0.5.0" />

Aliases

Functions to call eslint.

In order to use this add-in, eslint has to be available.

One option is using Cake.Npm.Module to install ESLint from npmjs.com.

Another option is, if you have an npm project setup, to add ESLint to package.json and call NpmInstall() to be sure it is available.

Example:

 #addin "nuget:?package=Cake.Npm"
 #addin "nuget:?package=Cake.ESLint"
 Task("lint")
   .Does(() => {
     // ensure elsint is installed from npm
     NpmInstall(new NpmInstallSettings {
       WorkingDirectory = "src"
     });

     // run lint
     ESLint(x => {
         x.WorkingDirectory = "src2";
         x.Output = "../output.json"; // relative to WorkingDirectory
         x.OutputFormat = ESLintOutputFormat.Json;
         x.ContinueOnErrors = true;
         x.AddDirectory("."); // relative to WorkingDirectory
      });
   });

General

ESLint(Action<ESLintSettings>) Runs ESLint, using the default settings.
ESLint(ESLintSettings) Runs ESLint, using the given settings.