tree 4e2cccb6b90a1e797f824fc41e8acbe094fae174
parent 0e220765c0f7aad26869dd617dbe376194c4f4e8
author stuartmorgan-g <stuartmorgan@google.com> 1756994066 -0400
committer GitHub <noreply@github.com> 1756994066 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJouZoSCRC1aQ7uu5UhlAAAMmAQAClU8b8dVpapXjJziGXtLWGP
 iiWhtW24liQkt4O/gSAE5NIbrAvHx7I15yo9PjA0+mhCi/u2NKYA1NDYsiVKEvVA
 HPz9M2CTUmm9ZKVzVL/n3a7FtCSN8FNJTtRjQRKUU5jqC3Q5zEN4KhH6H7N2OzUK
 p48nAqYGVmRdonnX5v6kWXNTP4XscB0cVfV2jw7IVx1/t/SRZaJJqAyCDjK2eJUH
 TisBiR9N4XEFP7XKi7Hb5uX1flTPB41Yb8640RX26YV2jcCybD0pnuHrSm4C5yNM
 T0BRfOIZy1pCJ7uXU37DZWJz3X/G/AkC4Px8RZnoOCv/Hkkt4+UlRgE8cSIbArtY
 OF4lS6mKY8Kk45fgzy2buxPmIr4v6lNIeyOQy794G0lREry3WsZFBcMNs4aV4YAe
 l2QLJ1M5PVvCN4dJK28gUpOESfwcj2MSSCsRJ9/OsJ4YhVtEGs2qOwjT70IFUaqG
 ekzAJGtJgnJ+cbbNajULk9ZrDoCiOEj61xPigYIUk0wPcefJeyHte7fcinU0oIdS
 ZtbraobOGqNinWgoQ8D217ttuwQcDnYCOcIWxF8bnEpTTQP6LGmywnNLTGt1oDcy
 MVY170wfUQ5+Tb0RcF+l5PTHdcGedWmqs4r+phx1J4qFBaVHUPd6XNbBWCrIgJfk
 IE/MF0GfNXfzCgV0QJhD
 =QcT4
 -----END PGP SIGNATURE-----
 

[mustache_template] Initial import (#9944)

The `mustache_template` package has been transferred to the `flutter.dev` publisher, so this imports it into our repository and updates it to follow repository conventions:
- Fix/suppress analysis warnings
  - Some via `dart fix`, some manual
- Add repo-level metadata
- Update license check command to recognize this package
- Add a temporary code-excerpt exclusion
- Update pubspec.yaml metadata
- Bump version to 2.0.1 to release the changes

`mustache_template` was itself a fork by a Flutter team member of the third-party `mustache` package, so the import is into `third_party/packages/`, updating the repo license check to recognize the license of this package.

The original code is quite old, and as a result still used a lot of implicit dynamic typing. Some of that that has been addressed in this import, but the trickier aspects have been left for future work, as converting from implicit dynamic typing to specified types has the potential for runtime regressions. (It's possible that even the more minor changes made here will cause regressions that will need fast-follow, but all the tests still pass, and the manual `test/all.dart` tests do not have any failures that were not present before making changes to the imported code).

Issues filed for future follow-up work:
https://github.com/flutter/flutter/issues/174721
https://github.com/flutter/flutter/issues/174722
https://github.com/flutter/flutter/issues/174742

## Pre-Review Checklist

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.