Dart & Flutter lint rules

512 rules, 215 on by default. 215 carry an official Dart lint name, shown beside the falcon id. Every example below is falcon's real output.

Accessibility

4 rules · 0 recommended

Patterns that make applications harder to use with assistive technology.

Complexity

47 rules · 16 recommended

Needlessly complex code that is harder to read and maintain.

Correctness

135 rules · 87 recommended

Code that is outright wrong or will not behave as intended.

Performance

26 rules · 7 recommended

Patterns with avoidable runtime or build cost.

Security

4 rules · 1 recommended

Patterns that expose applications or their users to security risks.

Style

232 rules · 82 recommended

Idiomatic, consistent Dart and Flutter style.

Suspicious

53 rules · 19 recommended

Patterns that are probably a mistake or a latent bug.

Cross-file

11 rules · 3 recommended

Rules that analyze relationships between files, run in falcon's whole-project pass.

  • banned-importscross-file

    Report imports forbidden by package-relative architectural boundaries.

  • depend-on-referenced-packagesdepend_on_referenced_packagesrecommendedcross-file

    Require imported packages to be declared in pubspec.yaml.

  • no-import-cyclescross-file

    Report mutually dependent components of imported or exported library files.

  • package-namespackage_namesrecommendedcross-file

    Require package names to be valid lower_case_with_underscores identifiers.

  • secure-pubspec-urlssecure_pubspec_urlsrecommendedcross-file

    Disallow insecure URL schemes in pubspec.yaml string values.

  • sort-pub-dependenciessort_pub_dependenciescross-file

    Require pubspec.yaml dependency sections to be sorted alphabetically.

  • undeclared-dependenciescross-file

    Report package imports and exports missing from the enclosing pubspec.

  • unnecessary-nullablecheck-unnecessary-nullablecross-file

    Flags private function or method parameters whose nullable type is unnecessary.

  • unused-codecheck-unused-codecross-file

    Report public top-level declarations that nothing references.

  • unused-dependenciescross-file

    Report regular pubspec dependencies with no Dart import or export in the analyzed package.

  • unused-filescheck-unused-filescross-file

    Report lib/ files that no project entrypoint can reach.