Skip to content

Repository files navigation

Package checks Coverage Status PRs Welcome License: BSD-3-Clause

minted

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.

Packages

Package What it holds pub.dev
minted Core: ParseOutcome, MintedFailure, MintedFormatError Pub Version
minted_chronology Date, Month, Weekday, Iso8601Duration Pub Version
minted_constraints Digit, Digits, the Uint family, Char, Letter, Ascii* Pub Version
minted_contact Email, PhoneNumber Pub Version
minted_finance Iban, Bic, Isin, PaymentCardNumber Pub Version
minted_geography GeoCoordinate, Geohash Pub Version
minted_identifiers Uuid, Isbn, Issn, Isni, Imei, Gtin Pub Version
minted_network IpAddress, Cidr, Hostname, DnsName, MacAddress, Port Pub Version

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.

Working in this repo

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 out

Melos 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.

About

Well-modelled Dart value types (email, IBAN, and more) built on parse-don't-validate, so every instance is guaranteed well-formed. Pure Dart.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages