Packages like Freezed compensate for missing Dart language features such as sealed unions and offer many useful features.
Many Flutter packages rely on build_runner, a build system for Dart code generation.
Unfortunately, build_runner takes long time to run because by default it analyzes all the Dart source files in your project.
There are two ways to mitigate this:
- move all files that depend on codegen to a separate package
- add a
build.yamlfile that specifies a subset of files to be processed:
Setting this up correctly can save you a lot of time in the long run. 👍
You can use a suffix such as
*.codegen.dart for all files that need to be processed by
build_runner and update the
build.yaml like this:
This way you can place the files anywhere you want in your project.
This tip was inspired by this thread on Twitter.