Skip to main content

Rule Code Reference

Every issue reported by ignition-lint has a rule code. Use these codes with --ignore-codes, .ignition-lintignore, or inline comment directives to suppress specific rules.

Perspective / Schema Rules

CodeSeverityDescription
SCHEMA_VALIDATIONERRORComponent structure doesn't match the expected schema
SCHEMA_VALIDATION_SKIPPEDWARNINGSchema validation skipped (jsonschema package not installed)
INVALID_JSONERRORFile contains invalid JSON
FILE_READ_ERRORERRORCould not read view file from disk
NO_COMPONENTSINFONo ia.* components found in the view
GENERIC_COMPONENT_NAMESTYLEComponent has a non-descriptive default name (e.g., Label, Button)
EMPTY_COMPONENT_NAMEWARNINGComponent has an empty or missing meta.name
MISSING_META_PROPERTYWARNINGComponent missing a required meta property (e.g., name)
MISSING_ICON_PATHERRORIcon component missing the required path prop
MISSING_LABEL_TEXTWARNINGLabel component has no text prop or text binding
SINGLE_CHILD_FLEXSTYLEFlex container with only one child — consider removing the wrapper
MISSING_FLEX_DIRECTIONINFOMulti-child flex container without an explicit direction prop
MISSING_CHILD_POSITIONWARNINGChild component inside a container missing position properties
PERFORMANCE_CONSIDERATIONINFOComponent type known to have performance implications
ACCESSIBILITY_LABELINGINFOInteractive component may need better labeling for accessibility
INVALID_BINDING_TYPEERRORUnrecognised binding type in propConfig
MISSING_TAG_PATHERRORTag binding missing required tagPath
MISSING_TAG_FALLBACKINFOTag binding on a critical prop without fallbackDelay
MISSING_EXPRESSIONERRORExpression binding missing required expression field
MISSING_PROPERTY_PATHERRORProperty binding missing required path field
INVALID_TRANSFORM_TYPEERRORUnrecognised transform type
MISSING_SCRIPT_CODEERRORScript transform missing code property
MISSING_TRANSFORM_EXPRESSIONERRORExpression transform missing expression property
MISSING_MAP_MAPPINGSWARNINGMap transform missing mappings array
MISSING_MAP_FALLBACKINFOMap transform without a fallback value

Expression Rules

Checks applied to Ignition expression language strings in bindings and transforms.

CodeSeverityDescription
EXPR_NOW_DEFAULT_POLLINGWARNINGnow() called without arguments — defaults to 1 000 ms polling
EXPR_NOW_LOW_POLLINGINFOnow(N) where N < 5 000 ms — may impact client performance
EXPR_INVALID_PROPERTY_REFERROR{...} property reference contains spaces (malformed path)
EXPR_UNKNOWN_FUNCTIONINFOExpression function not in the known Ignition function catalog
EXPR_BAD_COMPONENT_REFWARNINGComponent tree traversal (getSibling, getParent, etc.) in an expression — fragile

Unused Property Rules

Per-view analysis that detects custom and param properties with no apparent references.

CodeSeverityDescription
UNUSED_CUSTOM_PROPERTYWARNINGCustom property defined but not referenced in any expression, script, or binding target in the view
UNUSED_PARAM_PROPERTYINFOParam property not referenced within the view (may be set by an embedding view)

Naming Rules

CodeSeverityDescription
NAMING_COMPONENTSTYLEComponent name doesn't match the configured naming style
NAMING_PARAMETERSTYLEParameter or custom property key doesn't match the configured naming style

Script Rules (standalone .py files)

CodeSeverityDescription
SYNTAX_ERRORERRORPython syntax error
FILE_READ_ERRORERRORCould not read file from disk
LONG_LINESTYLELine exceeds 120 characters
MISSING_DOCSTRINGSTYLEPublic function missing a docstring
GLOBAL_VARIABLE_USAGEWARNINGUsage of the global keyword
JYTHON_PRINT_STATEMENTWARNINGprint x statement syntax (Python 2 style)
JYTHON_DEPRECATED_ITERITEMSWARNING.iteritems() usage (removed in Python 3)
JYTHON_XRANGE_USAGEINFOxrange() usage (renamed to range in Python 3)
JYTHON_STRING_TYPESWARNINGbasestring or unicode usage
IGNITION_SYSTEM_OVERRIDEERROROverriding the system variable
IGNITION_HARDCODED_GATEWAYWARNINGHardcoded gateway URL
IGNITION_DEBUG_PRINTINFODebug print() statement left in code
IGNITION_UNKNOWN_SYSTEM_CALLWARNINGUnrecognised system.* function call
JAVA_INTEGRATION_DETECTEDINFOJava imports present in script
PARSE_WARNINGWARNINGFile could not be fully parsed

Jython Inline Rules (from view.json script bindings and event handlers)

CodeSeverityDescription
JYTHON_SYNTAX_ERRORERRORSyntax error in an inline script
JYTHON_PARSE_ERRORERRORScript could not be parsed at all
JYTHON_INDENTATION_REQUIREDERRORMissing required indentation in inline script
JYTHON_MIXED_INDENTATIONWARNINGMixed tabs and spaces on the same line
JYTHON_INCONSISTENT_INDENTATION_STYLEINFOFile uses both tabs and spaces for indentation
JYTHON_INDENTATION_JUMPERRORIndentation increases by more than one level
JYTHON_PRINT_STATEMENTWARNINGprint x statement syntax — use print() function
JYTHON_PREFER_PERSPECTIVE_PRINTINFOPrefer system.perspective.print() over print() in Perspective context
JYTHON_HARDCODED_LOCALHOSTWARNINGHardcoded localhost or 127.0.0.1 reference
JYTHON_HTTP_WITHOUT_EXCEPTION_HANDLINGWARNINGHTTP calls without try/except error handling
JYTHON_RECOMMEND_ERROR_HANDLINGINFOConsider wrapping fragile calls (getChild, sendMessage, etc.) in error handling
JYTHON_BAD_COMPONENT_REFWARNINGComponent tree traversal (getSibling, getParent, getChild, getComponent) is fragile and breaks on refactoring

Usage

Suppress globally via CLI

ignition-lint -p ./project --profile full --ignore-codes NAMING_PARAMETER,LONG_LINE

Suppress per-path via .ignition-lintignore

views/_REFERENCE/**:NAMING_COMPONENT,GENERIC_COMPONENT_NAME
scripts/legacy/**:MISSING_DOCSTRING

Suppress inline (Python scripts only)

# ignition-lint: disable-file=MISSING_DOCSTRING
# ignition-lint: disable-next=LONG_LINE
x = build_very_long_configuration_string(a, b, c, d)
print x # ignition-lint: disable=JYTHON_PRINT_STATEMENT

See the Suppression Guide for the full reference.