presubmit 0.0.2
presubmit: ^0.0.2 copied to clipboard
Validates your package so you don't have to!
presubmit #
A batteries included package to validate whether the working revision of a Dart package conforms to testing and contribution requirements. Stated simply, "something to run on continuous integration before merging pull requests".
Usage #
$ pub global activate presubmit
$ pub global run presubmit \
$ --[no]dartanalyzer \
$ --[no]dartfmt \
$ --[no]tests \
$ --path <location of package, defaults to current>
Planned work #
A high-level list of work required to get this close to an initial release:
Running modes #
- ✅ Allow running as a binary (i.e.
pub run presubmit) - ✅ Allow specifying binary arguments via the command-line
- ❌ Allow specifying binary arguments via
presubmit.yaml - ❌ Allow programmatic use, i.e. write your own
tool/presubmit.dart
Built-in plugins #
- ✅ Run the Dart analyzer and linter
- ✅ Run the Dart formatter
- ✅ Run the Dart test runner (
pub run test) - ❌ Run an offline source generator (i.e. a
build.dartfile)
Extensibility #
- ❌ Allow defining your own plugin (unclear how this works yet)
- ❌ Run nested sets of plugins (i.e. run program, run tests, close program)