Skip to main content

Ignition Lint

Static analysis for Ignition Perspective view.json files. Catches naming inconsistencies, performance issues, dead custom properties, broken component references, and Python errors in scripts — before the gateway runs them.

What it does

Ignition Lint parses Perspective view definitions, builds an object model of components, bindings, and scripts, and runs a configurable set of rules over that model. Rules are visitor-pattern classes you can extend; the framework ships with seven built-in rules covering the most common pitfalls in Perspective views.

When to use it

Built-in rules

RuleCategoryWhat it catches
NamePatternRuleNamingComponent, property, and script names that don't match a configured convention
BadComponentReferenceRuleStructureBrittle traversal patterns (.getSibling(), .getParent(), relative paths)
ComponentReferenceValidationRuleStructureRelative references that don't resolve to a real component
PollingIntervalRulePerformancenow() polling intervals below a configurable minimum
UnusedCustomPropertiesRulePropertiesCustom properties and view parameters defined but never referenced
ExcessiveContextDataRulePropertiesLarge datasets stored in custom properties (arrays, breadth, depth, total volume)
PylintScriptRuleScriptsPylint findings across every script in the view

Where to start