glob_export 0.1.3 copy "glob_export: ^0.1.3" to clipboard
glob_export: ^0.1.3 copied to clipboard

A builder package for automatically exporting Dart files in a project based on globs.

glob_export #

A builder package for automatically exporting Dart files in a project based on globs.

Usage #

The builder looks for files with the .glex extension and processes them similarly to gitignore files, except backwards:

  • Globs directly listed in the file are included.
  • Globs preceded with ! are excluded.
    • Exclusions take precedence over inclusions.
  • Lines preceded with # are treated as comments and ignored.

Make sure you have this package and build_runner as dev dependencies, then run

  • pub run build_runner build or pub run build_runner watch for a standalone package or command-line application
  • flutter packages pub run build_runner build or flutter packages pub run build_runner watch for a Flutter project
  • webdev build or webdev serve for a web project

The output file has the extension .g.dart and simply exports all included files.

Example #

A common use case would be an everything.glex file in the lib folder of an application package:

**.dart

And if you want to exclude generated files:

!**.g.dart

Then, from a Dart file in lib:

import 'everything.g.dart';

// Some code that uses other code from elsewhere in your package

Known issues #

  • There are no tests. No unit tests. No integration tests. No tests, whatsoever. Where would one even begin writing tests for a builder? (That was a serious question. I have no idea how to automatically test this.)
  • Currently, the package will happily export Dart files with part of directives, which is not allowed because they aren't standalone libraries. Unfortunately, the method on BuildStep for determining whether or not a file is a library is broken and always returns false. Or more technically a Future that completes with false. Whatever. The point is, it doesn't work and it's dumb.
0
likes
30
pub points
0%
popularity

Publisher

unverified uploader

A builder package for automatically exporting Dart files in a project based on globs.

Repository

License

MIT (LICENSE)

Dependencies

build, code_builder, dart_style, glob, path

More

Packages that depend on glob_export