Showing 101 of 125 total issues
Function propTypesInstructions
has a Cognitive Complexity of 297 (exceeds 5 allowed). Consider refactoring. Open
module.exports = function propTypesInstructions(context, components, utils) {
// Used to track the type annotations in scope.
// Necessary because babel's scopes do not track type annotations.
let stack = null;
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function propTypesInstructions
has 857 lines of code (exceeds 25 allowed). Consider refactoring. Open
module.exports = function propTypesInstructions(context, components, utils) {
// Used to track the type annotations in scope.
// Necessary because babel's scopes do not track type annotations.
let stack = null;
Function componentRule
has a Cognitive Complexity of 208 (exceeds 5 allowed). Consider refactoring. Open
function componentRule(rule, context) {
const createClass = pragmaUtil.getCreateClassFromContext(context);
const pragma = pragmaUtil.getFromContext(context);
const sourceCode = context.getSourceCode();
const components = new Components();
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function componentRule
has 576 lines of code (exceeds 25 allowed). Consider refactoring. Open
function componentRule(rule, context) {
const createClass = pragmaUtil.getCreateClassFromContext(context);
const pragma = pragmaUtil.getFromContext(context);
const sourceCode = context.getSourceCode();
const components = new Components();
File propTypes.js
has 912 lines of code (exceeds 250 allowed). Consider refactoring. Open
/**
* @fileoverview Common propTypes detection functionality.
*/
'use strict';
Function usedPropTypesInstructions
has a Cognitive Complexity of 99 (exceeds 5 allowed). Consider refactoring. Open
module.exports = function usedPropTypesInstructions(context, components, utils) {
const checkAsyncSafeLifeCycles = testReactVersion(context, '>= 16.3.0');
const propVariables = createPropVariables();
const pushScope = propVariables.pushScope;
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
File Components.js
has 740 lines of code (exceeds 250 allowed). Consider refactoring. Open
/**
* @fileoverview Utility class and functions for React components detection
* @author Yannick Croissant
*/
Function usedPropTypesInstructions
has 210 lines of code (exceeds 25 allowed). Consider refactoring. Open
module.exports = function usedPropTypesInstructions(context, components, utils) {
const checkAsyncSafeLifeCycles = testReactVersion(context, '>= 16.3.0');
const propVariables = createPropVariables();
const pushScope = propVariables.pushScope;
Function defaultPropsInstructions
has a Cognitive Complexity of 52 (exceeds 5 allowed). Consider refactoring. Open
module.exports = function defaultPropsInstructions(context, components, utils) {
const sourceCode = context.getSourceCode();
/**
* Try to resolve the node passed in to a variable in the current scope. If the node passed in is not
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function defaultPropsInstructions
has 136 lines of code (exceeds 25 allowed). Consider refactoring. Open
module.exports = function defaultPropsInstructions(context, components, utils) {
const sourceCode = context.getSourceCode();
/**
* Try to resolve the node passed in to a variable in the current scope. If the node passed in is not
Function markPropTypesAsDeclared
has 129 lines of code (exceeds 25 allowed). Consider refactoring. Open
function markPropTypesAsDeclared(node, propTypes) {
let componentNode = node;
while (componentNode && !components.get(componentNode)) {
componentNode = componentNode.parent;
}
File usedPropTypes.js
has 379 lines of code (exceeds 250 allowed). Consider refactoring. Open
/**
* @fileoverview Common used propTypes detection functionality.
*/
'use strict';
Function isDestructuredFromPragmaImport
has a Cognitive Complexity of 31 (exceeds 5 allowed). Consider refactoring. Open
module.exports = function isDestructuredFromPragmaImport(variable, context) {
const pragma = pragmaUtil.getFromContext(context);
const variables = variableUtil.variablesInScope(context);
const variableInScope = variableUtil.getVariable(variables, variable);
if (variableInScope) {
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function markPropTypesAsUsed
has 101 lines of code (exceeds 25 allowed). Consider refactoring. Open
function markPropTypesAsUsed(node, parentNames) {
parentNames = parentNames || [];
let type;
let name;
let allNames;
Function buildReactDeclarationTypes
has 95 lines of code (exceeds 25 allowed). Consider refactoring. Open
function buildReactDeclarationTypes(value, parentName) {
if (
value
&& value.callee
&& value.callee.object
Function getRelatedComponent
has 82 lines of code (exceeds 25 allowed). Consider refactoring. Open
getRelatedComponent(node) {
let i;
let j;
let k;
let l;
Function convertReturnTypeToPropTypes
has 75 lines of code (exceeds 25 allowed). Consider refactoring. Open
convertReturnTypeToPropTypes(node) {
// ReturnType<T> should always have one parameter
if (node.typeParameters) {
if (node.typeParameters.params.length === 1) {
let returnType = node.typeParameters.params[0];
utils
has 26 functions (exceeds 20 allowed). Consider refactoring. Open
const utils = {
/**
* Check if the node is a React ES5 component
*
Function getPropertyName
has a Cognitive Complexity of 19 (exceeds 5 allowed). Consider refactoring. Open
function getPropertyName(node, context, utils, checkAsyncSafeLifeCycles) {
const property = node.property;
if (property) {
switch (property.type) {
case 'Identifier':
- Read upRead up
Cognitive Complexity
Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.
A method's cognitive complexity is based on a few simple rules:
- Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
- Code is considered more complex for each "break in the linear flow of the code"
- Code is considered more complex when "flow breaking structures are nested"
Further reading
Function markAnnotatedFunctionArgumentsAsDeclared
has 63 lines of code (exceeds 25 allowed). Consider refactoring. Open
function markAnnotatedFunctionArgumentsAsDeclared(node) {
if (!node.params || !node.params.length) {
return;
}