This package is still in the experimental stage.
Provides an API for ESLint custom rules that is compatible with the latest ESLint even when using older ESLint.
npm install eslint-compat-utils
const { getSourceCode } = require("eslint-compat-utils");
module.exports = {
meta: { /* ... */ },
create(context) {
const sourceCode = getSourceCode(context)
return {
"Program"(node) {
const scope = sourceCode.getScope(node);
},
};
},
}
Returns an extended instance of context.sourceCode
or the result of context.getSourceCode()
. Extended instances can use new APIs such as getScope(node)
even with old ESLint.
Gets the value of context.cwd
, but for older ESLint it returns the result of context.getCwd()
.
Versions older than v6.6.0 return a value from the result of process.cwd()
.
Gets the value of context.filename
, but for older ESLint it returns the result of context.getFilename()
.
Gets the value of context.physicalFilename
, but for older ESLint it returns the result of context.getPhysicalFilename()
.
Versions older than v7.28.0 return a value guessed from the result of context.getFilename()
, but it may be incorrect.