パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.14.0

lint

Dart および Flutter プロジェクト用の、主観的でコミュニティ主導の lint ルールセット。pedantic に似ているが、より厳格

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
25.5万
いいね数
863
Pub ポイント
160

パッケージをインストール

flutter pub add lint

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Dart および Flutter プロジェクト向けの厳格でコミュニティ主導の lint ルールセットであり、一貫したコード品質とベストプラクティスを遵守するように設計されています。`pedantic` の基盤に立ち、開発者がよりクリーンで保守性の高いコードを書けるよう、より厳しい基準を適用します。複数のプラットフォームにわたるコード分析に対して標準化され、明確な立場を持つアプローチを求めているチームにとって理想的です。

用途

  • チームプロジェクトにおける一貫したコードスタイルの適用
  • 厳格なLintingによるコード品質の向上
  • 静的解析を用いたコードレビューの自動化
  • Flutterアプリ間で一貫したコーディング規範を維持する
  • CI/CDパイプラインへのlintingの統合

主な機能

  • 厳格で主張的なLintルール
  • コミュニティメンテナンスで最新状態
  • pedantic をより厳格なガイドラインで拡張します
  • すべての主要なFlutterプラットフォームをサポートしています
  • pub add コマンドによる簡単な統合

適している対象

  • コードの一貫性を重視するチーム
  • 高いコード品質を必要とするプロジェクト
  • 複数のプラットフォームでFlutterを使用する開発者
  • 自動化されたLint検査を必要とするCI/CD環境
  • 現代的な Dart プラクティスを採用するプロジェクト

注意事項

  • 大幅なコードの調整が必要になる場合があります
  • 非常に緩いコーディングスタイルには適していません
  • 初期設定の複雑さを増加させる可能性があります
  • lint 設定の継続的なメンテナンスが必要です
  • 他の linter パッケージと競合する可能性があります

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Pub style: lint

Lint for Dart/Flutter

Lint logo

lint is a hand-picked, open-source, community-driven collection of lint rules for Dart and Flutter projects. The set of rules follows the Effective Dart: Style Guide.

This package can be used as a replacement for package:lints or the discontinued package:pedantic for those who prefer stricter rules.

lint supports 3 different set of rules:

  • strict: tries to be strict but not annoying. Perfect for production app code
  • casual: great when prototyping, to be used in code samples, any non-production code
  • package: like strict but for dart packages, that have a public API

Install

Add lint as dependency to your pubspec.yaml. Version ^1.0.0 means you're automatically getting the latest version for lint when running pub upgrade

dev_dependencies:
  lint: ^2.0.0

Create an analysis_options.yaml file in the root of your project with the following content:

# This file configures the analyzer to use the lint rule set from `package:lint`

include: package:lint/strict.yaml # For production apps
# include: package:lint/casual.yaml # For code samples, hackathons and other non-production code
# include: package:lint/package.yaml # Use this for packages with public API


# You might want to exclude auto-generated files from dart analysis.
# Uncomment the section below and the files you want to exclude.
# analyzer:
#   exclude:
#     - '**.freezed.dart'
#     - '**.g.dart'

# You can customize the lint rules set to your own liking. A list of all rules
# can be found at https://dart.dev/tools/linter-rules
# Uncomment the section below and the rules you want to customize.
# linter:
#   rules:
    # Util classes are awesome!
    # avoid_classes_with_only_static_members: false
    
    # Make constructors the first thing in every class
    # sort_constructors_first: true

    # Choose wisely, but you don't have to
    # prefer_double_quotes: true
    # prefer_single_quotes: true

Lint badge

You're using lint in your open-source project? Add the badge to your README.md show that you honor strict lint rules

style: lint

[![style: lint](https://img.shields.io/badge/style-lint-4BC0F5.svg)](https://pub.dev/packages/lint)

Comparison with other lint packages

A detailed comparison of all linting packages for dart can be found at rydmike.com/blog_flutter_linting.html

lint is among the strictest but not the strictest. It tires to find the right balance between useful and annoying.

Which version to use?

Generally, you can just put lint: ^2.0.0 in your pubspec.yaml and pub get the latest version compatible with your Dart version.

Dart Version Lint Version
3.13 2.14.0
3.12 2.13.0
3.11 2.12.0
3.10 2.11.0
3.9 2.10.0
3.8 2.9.0
3.7 2.8.0
3.6 2.7.0
3.5 2.6.1
3.4 2.5.0
3.3 2.4.0
3.2 2.3.0
3.1 2.2.0
3.0 2.1.0
2.18 2.0.0
2.17 1.10.0
2.16 1.9.0
2.15 1.8.0
2.14 1.7.0
2.13 1.6.0
2.12 1.5.0

Comparison to discontinued package:pedantic

Google publicly shares their internal rules as package:pedantic in open-source. It represents what Google is enforcing internally throughout all Dart code. For a lint rule to be added to pedantic, Google has to change all code which doesn't follow the style.

This strict practice results in only 27/150+ rules to be enabled. While some are contradictory to each other and can not enabled together, a big chunk of rules isn't enabled because it requires too much work to update all of Googles existing code.

For developers outside Google, it is the norm to have separate lint rules per project. One project might enable more rules then others.

lint enables a majority of lint rules, leaving out contradictory and very opinionated rules.

License

Copyright 2022 Pascal Welsch

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト

ランキング