Uses the content of each file in a given tree and runs eslint validation on it.
@param {Object} inputNode from broccoli.makeNode
@param {{format: String}} options Filter options
@returns {StandardValidationFilter} Filter object
@constructor
function (inputNode, options = {}) {
  this.formatter = require('eslint/lib/formatters/stylish')
  if (!(this instanceof StandardValidationFilter)) {
    return new StandardValidationFilter(inputNode, options)
  }
  // set inputTree
  Filter.call(this, inputNode)
  this.node = inputNode
  this.console = options.console || console
  this.internalOptions = {
    format: options.format ? options.format : undefined,
    throwOnError: options.throwOnError ? options.throwOnError : false,
    logOutput: options.logOutput ? options.logOutput : false,
    fix: options.fix ? options.fix : false,
    globals: options.globals || options.global
  }
  this.ignore = options.ignore ? options.ignore : function () {
    return false
  }
  if (typeof options.testGenerator === 'string') {
    const testGenerators = require('./test-generators')

    this.testGenerator = testGenerators[options.testGenerator]
    if (!this.testGenerator) {
      throw new Error(`Could not find '${this.internalOptions.testGenerator}' test generator.`)
    }
  } else {
    this.testGenerator = options.testGenerator
  }
  if (this.testGenerator) {
    this.targetExtension = 'lint-test.js'
  }

  // set formatter
  this.formatter = require(this.internalOptions.format ? this.internalOptions.format : 'eslint/lib/formatters/stylish')
}