package_ prefixed_ library_ names
Prefix library names with the package name and a dot-separated path.
Details
#DO prefix library names with the package name and a dot-separated path.
This guideline helps avoid the warnings you get when two libraries have the same name. Here are the rules we recommend:
- Prefix all library names with the package name.
- Make the entry library have the same name as the package.
- For all other libraries in a package, after the package name add the dot-separated path to the library's Dart file.
- For libraries under
lib
, omit the top directory name.
For example, say the package name is
my_package
. Here are the library names
for various files in the package:
GOOD:
// In lib/my_package.dart
library my_package;
// In lib/other.dart
library my_package.other;
// In lib/foo/bar.dart
library my_package.foo.bar;
// In example/foo/bar.dart
library my_package.example.foo.bar;
// In lib/src/private.dart
library my_package.src.private;
Enable
#
To enable the
package_prefixed_library_names
rule, add
package_prefixed_library_names
under
linter > rules
in your
analysis_options.yaml
file:
linter:
rules:
- package_prefixed_library_names
If you're instead using the YAML map syntax to configure linter rules,
add
package_prefixed_library_names: true
under
linter > rules:
linter:
rules:
package_prefixed_library_names: true
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Report an issue.