import_lint

Creator: coderz1093

Last updated:

Add to Cart

Description:

import lint

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 #

Add import_lint as a dev_dependencies in pubspec.yamls.

flutter pub add --dev import_lint

or

dart pub add --dev import_lint
copied to clipboard

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
analyzer:
plugins:
- import_lint

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...
copied to clipboard
By adding import_lint plugin to get the warnings directly in your IDE by configuring.


run import_lint(CLI Support)

flutter run import_lint
copied to clipboard
or
dart run import_lint
copied to clipboard
Example #
example/analysis_options.yaml
analyzer:
plugins:
- import_lint

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: []
copied to clipboard
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.
copied to clipboard
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: ...
copied to clipboard
Contribution #
Welcome PRs!
You can develop locally by setting the path to an absolute path as shown below.
tools/analyzer_plugin/pubspec.yaml
dependencies:
import_lint: ^x.x.x → import_lint:/Users/xxx/import-lint
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.