Skip to content

Latest commit

 

History

History
74 lines (57 loc) · 1.88 KB

no-deprecated-context-methods.md

File metadata and controls

74 lines (57 loc) · 1.88 KB

Disallow usage of deprecated methods on rule context objects (eslint-plugin/no-deprecated-context-methods)

💼 This rule is enabled in the ✅ recommended config.

🔧 This rule is automatically fixable by the --fix CLI option.

This rule disallows the use of deprecated methods on rule context objects.

The deprecated methods are:

  • getSource
  • getSourceLines
  • getAllComments
  • getNodeByRangeIndex
  • getComments
  • getCommentsBefore
  • getCommentsAfter
  • getCommentsInside
  • getJSDocComment
  • getFirstToken
  • getFirstTokens
  • getLastToken
  • getLastTokens
  • getTokenAfter
  • getTokenBefore
  • getTokenByRangeStart
  • getTokens
  • getTokensAfter
  • getTokensBefore
  • getTokensBetween

Instead of using these methods, you should use the equivalent methods on SourceCode, e.g. context.getSourceCode().getText() instead of context.getSource().

Rule Details

Examples of incorrect code for this rule:

module.exports = {
  create(context) {
    return {
      Program(ast) {
        const firstToken = context.getFirstToken(ast);
      },
    };
  },
};

Examples of correct code for this rule:

module.exports = {
  create(context) {
    const sourceCode = context.getSourceCode();

    return {
      Program(ast) {
        const firstToken = sourceCode.getFirstToken(ast);
      },
    };
  },
};

When Not To Use It

If you need to support very old versions of ESLint where SourceCode doesn't exist, you should not enable this rule.

Further Reading