| 
						 | 
						- /**
 -  * @fileoverview Expose out ESLint and CLI to require.
 -  * @author Ian Christian Myers
 -  */
 - 
 - "use strict";
 - 
 - //-----------------------------------------------------------------------------
 - // Requirements
 - //-----------------------------------------------------------------------------
 - 
 - const { ESLint, FlatESLint } = require("./eslint");
 - const { shouldUseFlatConfig } = require("./eslint/flat-eslint");
 - const { Linter } = require("./linter");
 - const { RuleTester } = require("./rule-tester");
 - const { SourceCode } = require("./source-code");
 - 
 - //-----------------------------------------------------------------------------
 - // Functions
 - //-----------------------------------------------------------------------------
 - 
 - /**
 -  * Loads the correct ESLint constructor given the options.
 -  * @param {Object} [options] The options object
 -  * @param {boolean} [options.useFlatConfig] Whether or not to use a flat config
 -  * @param {string} [options.cwd] The current working directory
 -  * @returns {Promise<ESLint|LegacyESLint>} The ESLint constructor
 -  */
 - async function loadESLint({ useFlatConfig, cwd = process.cwd() } = {}) {
 - 
 -     /*
 -      * Note: The v9.x version of this function doesn't have a cwd option
 -      * because it's not used. It's only used in the v8.x version of this
 -      * function.
 -      */
 - 
 -     const shouldESLintUseFlatConfig = typeof useFlatConfig === "boolean"
 -         ? useFlatConfig
 -         : await shouldUseFlatConfig({ cwd });
 - 
 -     return shouldESLintUseFlatConfig ? FlatESLint : ESLint;
 - }
 - 
 - //-----------------------------------------------------------------------------
 - // Exports
 - //-----------------------------------------------------------------------------
 - 
 - module.exports = {
 -     Linter,
 -     loadESLint,
 -     ESLint,
 -     RuleTester,
 -     SourceCode
 - };
 
 
  |