UNPKG

recoder-code

Version:

🚀 AI-powered development platform - Chat with 32+ models, build projects, automate workflows. Free models included!

55 lines (44 loc) • 1.77 kB
/** * @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 };