@sap/eslint-plugin-cds
Version:
ESLint plugin including recommended SAP Cloud Application Programming model and environment rules
32 lines (28 loc) • 960 B
JavaScript
/**
* Searches for ESLint config file types (in order or precedence)
* and returns corresponding directory (usually project's root dir)
* https://eslint.org/docs/user-guide/configuring#configuration-file-formats
* @param {string} currentDir start here and search until root dir
* @returns {string} dir containing ESLint config file (empty if not exists)
*/
const fs = require('node:fs')
const path = require('node:path')
module.exports = (currentDir = '.') => {
let configFiles = [
'eslint.config.js',
'eslint.config.cjs',
'eslint.config.mjs'
]
let configDir = path.resolve(currentDir)
while (configDir !== path.resolve(configDir, '..')) {
for (const configFile of configFiles) {
const configPath = path.join(configDir, configFile)
if (fs.existsSync(configPath) && fs.statSync(configPath).isFile()) {
return configPath
}
}
configDir = path.join(configDir, '..')
}
return ''
}