avoid-barrel-files

Path
lint/suspicious/avoid-barrel-files
Default
Off, opt in
Origin
Falcon
Rule
21 of 512

Discourage files containing only re-exports, without declarations or parts.

Invalid

example.dartdart
export 'one.dart';
export 'two.dart';
export 'three.dart' show Three;
export 'four.dart' hide Four;
export 'five.dart' if (dart.library.io) 'io.dart';
Avoid barrel files containing only re-exports; import declarations directly.
1export 'one.dart';
Avoid barrel files containing only re-exports; import declarations directly.
1export 'one.dart';
2export 'two.dart';
Avoid barrel files containing only re-exports; import declarations directly.
2export 'two.dart';
3export 'three.dart' show Three;
Avoid barrel files containing only re-exports; import declarations directly.
3export 'three.dart' show Three;
4export 'four.dart' hide Four;
Avoid barrel files containing only re-exports; import declarations directly.
4export 'four.dart' hide Four;
5export 'five.dart' if (dart.library.io) 'io.dart';

Valid

example.dartdart
export 'one.dart';
class Model {}
void work() {}
final value = 1;
typedef Callback = void Function();
enum State { ready }

Configure avoid-barrel-files

Set its severity in falcon.json. See the configuration guide.

falcon.jsonjson
{
  "linter": {
    "rules": {
      "suspicious": {
        "avoid-barrel-files": "error"
      }
    }
  }
}

Or silence one occurrence with a suppression comment; the reason is required.

example.dartdart
// falcon-ignore lint/suspicious/avoid-barrel-files: <reason>