Morgan :) Profile
Morgan :)

@__davidmorgan__

Followers
892
Following
156
Media
1
Statuses
227

Google SWE for 17 years; maintainer of build_runner for Dart and Flutter codegen; author of built_collection and built_value :)

Lausanne, Switzerland
Joined November 2016
Don't wanna be here? Send us removal request.
@__davidmorgan__
Morgan :)
21 days
Another perfect fit for extension types: file paths. I was writing path handling code and kept messing up due to relative vs absolute paths, and thought ... maybe `AbsolutePath` and `RelativePath` as extensions on `String`? Did exactly what I wanted :) https://t.co/qUL2zsk894
Tweet card summary image
github.com
This repository is home to tooling related Dart packages. - dart-lang/tools
3
2
73
@__davidmorgan__
Morgan :)
28 days
Happy Friday! No revolutionary `build_runner` release this week I'm afraid. Actually I've been sidetracked by `package:watcher` most of these last three weeks or so. It does the file watching in the Dart analyzer and `build_runner`. I've been finding+fixing lots of edge cases
Tweet card summary image
github.com
This repository is home to tooling related Dart packages. - dart-lang/tools
7
6
137
@schultek_dev
Kilian Schulte πŸ’™
1 month
"We were so impressed [by Jaspr] that we migrated our entire documentation infrastructure β€” both https://t.co/ehHEdj98Xf and https://t.co/w5bl4hbP3h β€” over to it." I'm beyond grateful for this shout-out by the @FlutterDev team and so happy to finally share this!!
docs.flutter.dev
Get started with Flutter. Widgets, examples, updates, and API docs to help you write your first Flutter app.
@FlutterDev
Flutter
1 month
Flutter 3.38 is here! 🩡 ✨ This release cleans up your UI code with new Dot Shorthands, making development faster and more readable. Get the details of all that’s new β†’ https://t.co/kWuLvFZRTQ
23
45
376
@__davidmorgan__
Morgan :)
1 month
I just released `build_runner 2.10.3` with another performance improvement, if you have a big codebase you will be happy, benchmark results: 1000 files: 2x faster (5s -> 3s) 2000 files: 5x faster (25s -> 5s) 5000 files: 27x faster (424s -> 15s) https://t.co/RKJsGJAEly
Tweet card summary image
pub.dev
A build system for Dart code generation and modular compilation.
23
47
371
@mraleph
Slava Egorov
1 month
Do *NOT* accept such builds times from Flutter. Always check is taking the time, e.g. here this was caused by 1) choice by slang i18n package to generate 1 enormous function with all messages for each locale 2) quadratic behavior in Dart's register allocator cont
@mrgnhnt96_dev
Morgan Hunt πŸ’™
2 months
If you can show me a longer build time, I'll give you a cookie
5
8
122
@mraleph
Slava Egorov
2 months
Please use Dart outside of Flutter more :)
@clauconstantin
rex
2 months
@mraleph @dart_lang You guys should encourage Dart use outside of Flutter more.
21
15
159
@__davidmorgan__
Morgan :)
2 months
Another `build_runner` performance improvement published today as `2.10.1`. If `source_gen:combining_builder` (used by json_serializable, built_value, ...) was slow for you it should now be much faster. https://t.co/RKJsGJA6w0
3
7
70
@__davidmorgan__
Morgan :)
2 months
Happy Friday! Was gonna make a bad joke about AOT compiles but I stopped myself JIT.
2
0
50
@__davidmorgan__
Morgan :)
2 months
Released: `build_runner` 2.10.0 which adds AOT compile of builders for faster builds. For now it's behind a flag, write `--force-aot` on the command line for the new mode. Please send any feedback my way, if all goes well it will be on by default in a future release.
Tweet card summary image
pub.dev
A build system for Dart code generation and modular compilation.
9
10
105
@__davidmorgan__
Morgan :)
2 months
Which shell do you use? After bash I used zsh for a while, then fish. I really like fish. https://t.co/jCUtT0xfaG https://t.co/0w9xCUxKsN
1
0
0
@__davidmorgan__
Morgan :)
2 months
I always enjoy when I get to use Dart extension types. Now used internally in `package:watcher` where they add static safety with no runtime cost around use of `FileSystemEvent`. https://t.co/PDYUMVqrHb
Tweet card summary image
github.com
This repository is home to tooling related Dart packages. - davidmorgan/tools
2
1
21
@__davidmorgan__
Morgan :)
3 months
Dart: do you use `var` or `final` for locals? I prefer `final`, but it's a long story. https://t.co/ivHHbvRs38
16
6
60
@__davidmorgan__
Morgan :)
3 months
Released `build_runner` 2.9.0. Visible changes: log output, particularly in watch mode, is further streamlined. Behind the scenes: this is a big refactor to how builders are compiled and run in preparation for using AOT compile. So, please let me know if you see any new
Tweet card summary image
pub.dev
A build system for Dart code generation and modular compilation.
5
5
53
@__davidmorgan__
Morgan :)
3 months
Taking over `package:watcher`, which is what `build_runner` and the analyzer use to monitor for file changes. There are some minor bugs and inconsistencies, probably a breaking release will be needed to get everything in line, if you use `package:watcher` you may want to follow
Tweet card summary image
github.com
Currently the behavior with symlinks is undefined + untested. Add test coverage, decide the new behavior, do a breaking release. As part of this change, fix behavior when there are cyclic symlinks ...
1
1
39
@__davidmorgan__
Morgan :)
3 months
Dart: why would you `omit_local_variable_types`? The lint forces types on the left hand side of a local variable declaration + assignment to be omitted. A lot of the discussion around this and related lints misses what I think is the critical point here: that types on the left
1
2
22
@__davidmorgan__
Morgan :)
3 months
Do you develop plugins for Flutter? Investigating a rare corner case causing IDE/tool slowness, if it affects you, please let me know! - you work on a plugin - you have other packages nested in the plugin package - you "flutter pub get" in the nested packages
Tweet card summary image
github.com
Create a package with a plugin Inside it, i.e. in a nested folder, create a package with a path dependency onto the plugin Run flutter pub get in the nested folder Note: this is a common pattern fo...
0
2
18
@__davidmorgan__
Morgan :)
3 months
Released `build_runner 2.8.0`: - clearer errors if the build fails; highlighted red - removed the "deleting declared outputs" warning - a bunch of internal refactoring/cleanup that 99% of you don't care about :) https://t.co/RKJsGJAEly
Tweet card summary image
pub.dev
A build system for Dart code generation and modular compilation.
8
6
110
@mickrich384
Mickrich384
4 months
If you've ever wanted proper "undefined" behavior, or untagged unions in dart_mappable, you can have it now: https://t.co/G5sovUTvQH
Tweet card summary image
pub.dev
Untagged Unions and Undefined Types for dart_mappable
1
3
16
@__davidmorgan__
Morgan :)
3 months
Released built_value 8.12 using the new build_runner "triggers". Files that don't use built_value are skipped quickly as "not triggered". ``` dart run build_runner build 2s built_value_generator:built_value on 1001 inputs: 999 not triggered, 2 output; spent 1s analyzing ``` If
2
0
25
@__davidmorgan__
Morgan :)
4 months
When I tell a dev tool to do something I don't want it to immediately ask me back: how? This mostly happens when there are multiple functionally equivalent way to do the same thing; for example, relative vs package imports in Dart. In such cases I want opinionated tools that
0
1
4