 c177363a19
			
		
	
	c177363a19
	
	
	
		
			
			🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * @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
 | |
| };
 |