Skip to content
This repository has been archived by the owner on Apr 29, 2021. It is now read-only.

matanlurey/crosscheck

Repository files navigation

crosscheck

Automated Dependency Management for Dart.

WORK IN PROGRESS: The following usage details are speculative.

Usage

crosscheck is a command-line tool for automating checks that your package dependencies, and dependencies of your package stay compatible and running properly. Everything is either configurable on the command-line as arguments to pub run crosscheck or you may specify a crosscheck.yaml file.

For package authors

If you develop a package for Dart and release via github or pub you can use crosscheck to validate that a git branch and/or series of releases still work with "friend" packages - or other open source packages or applications that use you.

For example, angular might declare a "friend" of angular_components:

$ pub run crosscheck friends --friend angular_components

Or with crosscheck.yaml:

friends:
  angular_components
$ pub run crosscheck friends

Crosscheck will check angular_components dependency constraint on you and assuming the sem-ver constraint is still valid (i.e. you haven't released a breaking change), it will download the package locally, and run both the dartanalyzer and pub run test (if applicable) to check if the package still appears to function.

For end-user projects

If you work on an end-user package or project, you may want to know when it is safe or necessary to expand or contract your accepted sem-ver range on your dependencies. You can use crosscheck to automate it:

Check "pub upgrade"

$ pub run crosscheck

By default, this copies your package, runs pub upgrade, and then runs the analyzer to see if any errors occurred after versions are increased.

Check if you can increase your sem-ver constraint

NOT YET ENABLED.

$ pub run crosscheck expand

Known issues

  • Local packages (i.e. with path: ... are not supported)

Releases

No releases published

Packages

No packages published

Languages