noflo-lint can be utilizer for finding and analyzing all dependencies of a NoFlo project. It uses a graph as the entry point and traverses its nodes and sub-graphs to find and check all components used.
You can run noflo-lint with the command line using the following:
$ noflo-lint <baseDir> <graphName>
The handling of the various NoFlo linting checks can be configured on three levels: ignore
, warn
, and error
. Failing an error-level check will make the process exit with a non-zero exit code.
Currently the following checks are available:
description
: Whether the component has a textual descriptionicon
: Whether the component has an icon setport_descriptions
: Whether all ports have textual descriptionswirepattern
: Whether the component uses the WirePattern helperprocess_api
: Whether the component uses the Process APIasynccomponent
: Whether the component uses the deprecated AsyncComponent APIlegacy_api
: Whether the component uses legacy NoFlo API (i.e. not WirePattern or Process API)
Additional checks can be added to the src/check.coffee
file. Each "checker" receives a component instance to inspect. Another interesting area would be to inspect the connections in the graph. For example, detecting if there are unconnected required ports.