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

パッケージ詳細v2.0.0

import_lint

Import Lintパッケージは、インポートLintルールを定義し、Dartコード内で発見されたLintを報告します。

AndroidiOSmacOSWindowsLinux
30日間ダウンロード
1万
いいね数
28
Pub ポイント
150

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

flutter pub add import_lint

パッケージ概要

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

Import Lint パッケージは、Dart コードにおける一貫性がありクリーンなインポート実践を強制するための lint ルールのセットを提供します。このパッケージはインポート文を分析し、使用されていないインポート、重複したインポート、または不適切なインポート順序などの問題を報告します。Dart の分析ツールと統合することで、プロジェクト全体でコードの品質と読みやすさを維持するのに役立ちます。チームがインポートパターンを標準化し、ソースファイル内の雑多さを減らしたい場合に特に有用です。

用途

  • 一貫したインポートスタイルの適用
  • 使用されていないまたは冗長なインポートの検出
  • コードの可読性を向上させる
  • チーム全体のコーディング基準を維持する
  • 開発中のインポートのクリーンアップの自動化

主な機能

  • カスタマイズ可能なインポート lint ルール
  • Dart分析サーバーとの統合
  • リアルタイム lint レポート
  • 複数のプラットフォームをサポートしています
  • オープンソースでコミュニティメンテナンス

適している対象

  • Dart および Flutter 開発チーム
  • 厳格なコード品質を必要とするプロジェクト
  • 自動化されたlinting用のCI/CDパイプライン
  • コードの清潔さに注力する開発者

注意事項

  • analysis_options.yaml での設定が必要です
  • レガシーコードベース用に調整が必要になる可能性があります
  • Dart SDK バージョンの互換性に依存します
  • 単体のフォーマッタではないが、既存のツールを補完する

元の README

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

cover

Why import_lint?

The import_lint package defines rules to restrict imports and performs static analysis. It was inspired by eslint/no-restricted-paths.

😻 Usage

  1. Add import_lint as a dev_dependencies in pubspec.yamls.
flutter pub add --dev import_lint

or

dart pub add --dev import_lint
  1. You have lints configured in an analysis_options.yaml file at the root of your project.
  • target: Define the file paths of the targets to be restricted using glob patterns.
  • from: Define the paths that are not allowed to be used in imports using glob patterns.
  • except: Define the exception paths for the 'from' rule using glob patterns.

Example of analysis_options.yaml

plugins:
  import_lint: <version number>

import_lint:
  rules:
    example_rule:
      target: "package:example/target/*.dart"
      from: "package:example/from/*.dart"
      except: ["package:example/from/except.dart"]
    self_rule:
      target: "package:example/self/*.dart"
      from: "package:example/self/*.dart"
      except: []
    only_rule:
      target: "package:example/*[!only]/*.dart"
      from: "package:example/only_from/*.dart"
      except: []
    package_rule:
      target: "package:example/**/*.dart"
      from: "package:import_lint/*.dart"
      except: []
    # add custom rules...

Note: import_lint requires Dart 3.10 or later (analyzer plugin support was added in Dart 3.10 / Flutter 3.38). The top-level plugins: section is the new analyzer plugin system. After any change to the plugins: section, the Dart Analysis Server must be restarted to see the effects (VS Code: Dart: Restart Analysis Server).

By adding import_lint plugin to get the warnings directly in your IDE by configuring.

vscode

  1. run import_lint(CLI Support)
flutter run import_lint

or

dart run import_lint

Example

example/analysis_options.yaml

plugins:
  import_lint:
    path: ..

import_lint:
  rules:
    example_rule:
      target: "package:example/target/*.dart"
      from: "package:example/from/*.dart"
      except: ["package:example/from/except.dart"]
    self_rule:
      target: "package:example/self/*.dart"
      from: "package:example/self/*.dart"
      except: []
    only_rule:
      target: "package:example/*[!only]/*.dart"
      from: "package:example/only_from/*.dart"
      except: []
    package_rule:
      target: "package:example/**/*.dart"
      from: "package:import_lint/*.dart"
      except: []

files

example/lib

output

$ dart run import_lint

Analyzing...
   warning • /example/lib/not/1.dart:1:8 • package:example/only_from/1.dart • only_rule
   warning • /example/lib/target/1.dart:2:8 • package:example/from/test.dart • example_rule
   warning • /example/lib/self/1.dart:1:8 • package:example/self/2.dart • self_rule
   warning • /example/lib/package/1.dart:1:8 • package:import_lint/import_lint.dart • package_rule

4 issues found.

Option

Rule Severities

To change the severity of a rule, add a severity key to the rule configuration.

  • warning (default)
  • error (exit code 1 when lint is found)
import_lint:
  severity: "error"
  rules: ...

Note on IDE severity: The severity: "error" setting is honored by dart run import_lint (exit code 1). In the IDE, analysis_server_plugin registers a fixed warning severity. To see import_lint errors as errors in the IDE, add this to analysis_options.yaml:

analyzer:
  errors:
    import_lint: error

Contribution

Welcome PRs!

To develop locally, clone the repo and enable the plugin from a local path in your host project's analysis_options.yaml:

plugins:
  import_lint:
    path: /path/to/your/import-lint
    diagnostics:
      import_lint: true

For CLI use (dart run import_lint), also add it under dev_dependencies:

dev_dependencies:
  import_lint:
    path: /path/to/your/import-lint

Then run dart pub get in the host project and restart the Dart Analysis Server. No separate tools/analyzer_plugin directory is needed — the plugin entry point is lib/main.dart in this package.

カテゴリー

依存関係

依存関係一覧 8 件

ソースリポジトリ

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

データはまだありません。