https://github.com/dart-lang/lints
Official Dart lint rules; the core and recommended set of lints suggested by the Dart team.
https://github.com/dart-lang/lints
Last synced: 5 months ago
JSON representation
Official Dart lint rules; the core and recommended set of lints suggested by the Dart team.
- Host: GitHub
- URL: https://github.com/dart-lang/lints
- Owner: dart-lang
- License: bsd-3-clause
- Created: 2021-04-26T08:42:49.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-20T12:48:39.000Z (6 months ago)
- Last Synced: 2025-01-03T00:11:00.943Z (5 months ago)
- Language: Dart
- Homepage: https://pub.dev/packages/lints
- Size: 155 KB
- Stars: 119
- Watchers: 30
- Forks: 30
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
> [!IMPORTANT]
> This repo has moved to https://github.com/dart-lang/core/tree/main/pkgs/lints[](https://github.com/dart-lang/lints/actions?query=branch%3Amain)
[](https://pub.dev/packages/lints)
[](https://pub.dev/packages/lints/publisher)# Official Dart lint rules
The Dart linter is a static analyzer for identifying possible problems in your
Dart source code. More than a hundred [linter rules][rules] are available,
checking anything from potential typing issues, coding style, and formatting.
This package - `package:lints` - contains the lint settings recommended by the
Dart team.## Lint sets
This package includes two sets of lints:
* **Core lints**: Lints that help identify critical issues that are likely to
lead to problems when running or consuming Dart code. All code should pass these
lints.* **Recommended lints**: Lints that help identify additional issues that may
lead to problems when running or consuming Dart code, and lints that enforce
writing Dart using a single, idiomatic style and format. All code is encouraged
to pass these lints. The recommended lints include all the core lints.Additionally, a third lint set -
[`package:flutter_lints`](https://pub.dev/packages/flutter_lints) - extends the
recommended set with additional recommended Flutter-specific lints.The Dart team will likely not provide recommendations past the `core` and
`recommended` sets (e.g., a `strict` rule set). However, there are many such rule
sets in the ecosystem (available at [pub.dev](https://pub.dev/)).Rule set authors: consider adding the `lints` topic to your pubspec to allow
easier discovery (e.g.,
[pub.dev/packages?q=topic:lints](https://pub.dev/packages?q=topic%3Alints)).
For more information about topics, visit
[dart.dev/tools/pub/pubspec#topics](https://dart.dev/tools/pub/pubspec#topics).## Where these lints are used
When creating a new Dart project using the [`dart create`][dart create] command,
the `recommended` set of lints from `package:lints` is enabled by default.When uploading a package to the [pub.dev] package repository, packages are
[awarded pub points][scoring] based on how many of the 'core' lints pass.## Enabling the lints
For new apps created with `dart create` the `recommended` set of lints are
enabled by default.For existing apps or packages, you can enable these lints via:
1. In a terminal, located at the root of your package, run this command:
```terminal
dart pub add dev:lints
```2. Create a new `analysis_options.yaml` file, next to the pubspec, that
includes the lints package:```yaml
include: package:lints/recommended.yaml
```or:
```yaml
include: package:lints/core.yaml
```## Upgrading to the latest lints
To upgrade to the latest version of the lint set, run:
```
dart pub add dev:lints
```## Customizing the predefined lint sets
For details on customizing static analysis above and beyond the predefined
lint sets, check out [Customizing static analysis].## Evolving the lint sets
The Dart language changes and the ecosystem continues to develop new best
practices, so the lint sets must be periodically updated to reflect the best way
we know to write Dart code. The process we use is:1. Anyone can file an [issue] to discuss a potential change to a lint set
(i.e., adding or removing a lint from one or both sets; if you're proposing
an entirely new lint, the place to suggest that is at the [linter repo]).
Feedback is welcome from any Dart user.2. Periodically, a group of Dart and Flutter team members meet to review the
suggestions and decide what to adopt.3. The lists are updated and a new version of the package is published.
## Lint set contents
See [rules.md](https://github.com/dart-lang/lints/blob/main/rules.md) for a list
of rules that make up the core and recommended rule sets.[dart create]: https://dart.dev/tools/dart-create
[scoring]: https://pub.dev/help/scoring
[customizing static analysis]: https://dart.dev/tools/analysis
[rules]: https://dart.dev/tools/linter-rules
[pub.dev]: https://pub.dev
[issue]: https://github.com/dart-lang/lints/issues
[linter repo]: https://github.com/dart-lang/linter
[`package:flutter_lints`]: https://pub.dev/packages/flutter_lints