Monorepo for minted: pure-Dart value types for the values you'd usually keep in a String and
hope for the best. Built on parse, don't validate, so the parser is the only door in and anything
that came through it is well-formed by construction.
| Package | What it holds | pub.dev |
|---|---|---|
minted |
Core: ParseOutcome, MintedFailure, MintedFormatError |
|
minted_chronology |
Date, Month, Weekday, Iso8601Duration |
|
minted_constraints |
Digit, Digits, the Uint family, Char, Letter, Ascii* |
|
minted_contact |
Email, PhoneNumber |
|
minted_finance |
Iban, Bic, Isin, PaymentCardNumber |
|
minted_geography |
GeoCoordinate, Geohash |
|
minted_identifiers |
Uuid, Isbn, Issn, Isni, Imei, Gtin |
|
minted_network |
IpAddress, Cidr, Hostname, DnsName, MacAddress, Port |
Take only the domains you use: nothing drags in another domain's engine. A minted_chronology
consumer resolves collection and meta; the phone engine arrives only if you ask for
minted_contact. There is also a private minted_conformance member holding the suites that sweep
across packages, which never ships.
The siblings landed with minted 3.0.0 and the primitives followed in 4.0.0, leaving minted the
outcome vocabulary alone. MIGRATION.md walks every cutover, newest
first.
packages/minted/README.md is the documentation you actually
want: the pub.dev landing page, with the type catalogue and usage guide. This file is the map.
It is a pub workspace: one resolution, one root
pubspec.lock, shared by every member.
dart pub get # once at the root; resolves every member
dart run melos run # lists what you can run
dart run melos run test # every member's suite, fanned outMelos saves you remembering which commands are workspace-wide and
which are per-package: analyze and format run once at the root, test and coverage fan out.
Releases stay with tool/release.dart.
Plain commands work too, but mind the split: analyze and format want the root, while anything
reading one pubspec (dart test, cider, dart pub publish) wants packages/minted.
Contributor docs live at the root because they cover every package: AGENTS.md for
hard rules and repo layout, CODESTYLE.md for style, and
APPENDIX.md for why things are the way they are. Releases go through
tool/release.dart.