old_contents: /*jslint es6, node, maxlen: 80 */
  
  "use strict";
  
  const abstractLinter = require("../abstract-linter.js");
  const eslint = require("eslint").linter;
  
  const linterName = "ESLint";
  
  function lintAndLogWarnings(settings) {
      const options = settings.options === undefined
          ? {"extends": "eslint:recommended"}
          : settings.options;
  
      const warnings = eslint.verify(settings.data, options);
  
      settings.logWarnings(warnings);
  }
  
  function logWarning(warning) {
      console.log(`    line ${warning.line} column ${warning.column}
          ${warning.message}`);
  }
  
  function lint(config) {
      const settings = config || {};
  
      settings.lintAndLogWarnings = lintAndLogWarnings;
      settings.logWarning = logWarning;
      settings.linterName = linterName;
  
      return abstractLinter(settings);
  }
  
  module.exports = lint;
  
new_contents: /*jslint es6, node, maxlen: 80 */
  
  "use strict";
  
  const abstractLinter = require("../abstract-linter.js");
  const CLIEngine = require("eslint").CLIEngine;
  
  const linterName = "ESLint";
  
  function lintAndLogWarnings(settings) {
      const options = settings.options === undefined
          ? {"extends": "eslint:recommended"}
          : settings.options;
  
      const cliEngine = new CLIEngine({
          baseConfig: options,
          useEslintrc: false
      });
  
      const warnings = cliEngine.executeOnText(settings.data).results[0].messages;
  
      settings.logWarnings(warnings);
  }
  
  function logWarning(warning) {
      console.log(`    line ${warning.line} column ${warning.column}
          ${warning.message}`);
  }
  
  function lint(config) {
      const settings = config || {};
  
      settings.lintAndLogWarnings = lintAndLogWarnings;
      settings.logWarning = logWarning;
      settings.linterName = linterName;
  
      return abstractLinter(settings);
  }
  
  module.exports = lint;
  
subject: Fix #4 Some ESLint config options do not work