no_deprecated_functions

package
v0.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NoDeprecatedFunctionsRule = rule.Rule{
	Name: "jest/no-deprecated-functions",
	Run: func(ctx rule.RuleContext, options any) rule.RuleListeners {
		depMap := deprecatedFunctions(utils.JestVersionMajor(utils.GetJestVersion(ctx)))
		if len(depMap) == 0 {
			return rule.RuleListeners{}
		}

		return rule.RuleListeners{
			ast.KindCallExpression: func(node *ast.Node) {
				callee := node.AsCallExpression().Expression
				if callee == nil {
					return
				}

				if callee.Kind != ast.KindPropertyAccessExpression && callee.Kind != ast.KindElementAccessExpression {
					return
				}

				entries := utils.GetJestFnMemberEntries(callee)
				if len(entries) < 2 {
					return
				}

				chain := memberChainString(entries)
				replacement, ok := depMap[chain]
				if !ok {
					return
				}

				replacementCallee := replacement
				last := entries[len(entries)-1]

				if last.Node != nil && (last.Node.Kind == ast.KindStringLiteral || last.Node.Kind == ast.KindNoSubstitutionTemplateLiteral) {
					replacementCallee = bracketStyleCalleeReplacement(replacement)
				}

				ctx.ReportNodeWithFixes(
					callee,
					buildErrorDeprecatedFunctionMessage(chain, replacement),
					rule.RuleFixReplace(ctx.SourceFile, callee, replacementCallee),
				)
			},
		}
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL