implementation-imports
Same as implementation_imports in Dart lints
- Group
- Correctness
- Path
lint/correctness/implementation-imports- Default
- On (recommended)
- Origin
- Dart lints
- Rule
- 243 of 512
Disallow importing another package's private src/ libraries.
The rule follows the analyzer's package-URI semantics: it runs only for a
library under the enclosing package's lib/ directory, compares package
identities from pubspec.yaml, and checks every default and configurable
import URI. Export directives are not imports and are intentionally ignored.
Invalid
import 'package:other/src/internal.dart';
import 'package:current_package/src/own.dart';
import 'package:public/api.dart'
if (dart.library.io) 'package:io_impl/src/io.dart'
if (dart.library.html) 'package:web_impl/public.dart';
export 'package:other/src/exported.dart';
void main() {}import 'package:other/src/internal.dart';import 'package:public/api.dart' if (dart.library.io) 'package:io_impl/src/io.dart'Valid
import 'package:foo/foo.dart';
import 'package:bar/widgets.dart';
import 'dart:async';
import 'src/local_helper.dart';
import 'package:baz/baz.dart';
void main() {}Configure implementation-imports
Set its severity in falcon.json. See the configuration guide.
{
"linter": {
"rules": {
"correctness": {
"implementation-imports": "error"
}
}
}
}Or silence one occurrence with a suppression comment; the reason is required.
// falcon-ignore lint/correctness/implementation-imports: <reason>More correctness rules
- implicit-reopen
implicit_reopenFlags classes that implicitly reopen a supertype declared in the same library.
- invalid-case-patterns
invalid_case_patternsrecommendedFlags pre-3.0 switch case expressions that change meaning or break under Dart 3 patterns.
- invalid-runtime-check-with-js-interop-types
invalid_runtime_check_with_js_interop_typesrecommendedReject platform-dependent runtime checks involving JavaScript interop types.
- library-private-types-in-public-api
library_private_types_in_public_apirecommendedAvoid using library-private types in public APIs.
- list-all-equatable-fieldsrecommendedequatable
Flags declared instance fields omitted from a statically understood Equatable props list.
- literal-only-boolean-expressions
literal_only_boolean_expressionsrecommendedFlags conditions built only from literals, whose value never changes.
- match-getter-setter-field-names
Detect likely copy-paste errors in trivial accessors when a different field matching the accessor name is declared.
- missing-test-assertionrecommendedtest
Reports inline test callbacks that contain no recognized assertion calls.