1/** 2 * @fileoverview Expose out ESLint and CLI to require. 3 * @author Ian Christian Myers 4 */ 5 6"use strict"; 7 8const { CLIEngine } = require("./cli-engine"); 9const { ESLint } = require("./eslint"); 10const { Linter } = require("./linter"); 11const { RuleTester } = require("./rule-tester"); 12const { SourceCode } = require("./source-code"); 13 14module.exports = { 15 Linter, 16 CLIEngine, 17 ESLint, 18 RuleTester, 19 SourceCode 20}; 21 22// DOTO: remove deprecated API. 23let deprecatedLinterInstance = null; 24 25Object.defineProperty(module.exports, "linter", { 26 enumerable: false, 27 get() { 28 if (!deprecatedLinterInstance) { 29 deprecatedLinterInstance = new Linter(); 30 } 31 32 return deprecatedLinterInstance; 33 } 34}); 35