mono_repo 0.3.1

  • Installing
  • Versions
  • 50

Manage multiple Dart packages within a single repository.


> pub global activate mono_repo


Manage multiple packages in one source repository.

Usage: mono_repo <command> [arguments]

Global options:
-h, --help              Print this usage information.
    --[no-]recursive    Whether to recursively walk sub-directorys looking for packages.

Available commands:
  check       Check the state of the repository.
  help        Display help information for mono_repo.
  init        Writes a configuration file that can be user-edited.
  presubmit   Run the travis presubmits locally.
  pub         Run `pub get` or `pub upgrade` against all packages.
  travis      Configure Travis-CI for child packages.

Run "mono_repo help <command>" for more information about a command.


New Features

  • Added support for the group task, which accepts a list of tasks using the normal format. This can be used to group multiple tasks in a single travis job. All tasks will be ran, but if any of them fail then the whole job will fail.

    Example usage combining the analyzer/dartfmt tasks:

  - analyze_and_format:
    - group:
        - dartanalyzer
        - dartfmt


Breaking Changes

  • Sub-package .travis.yml files should be replaced with .mono_repo.yml files, which are a simplified format that supports travis build stages. A basic example file might look like this:
# List of the sdk versions you support
  - dev
  - stable

# Ordered list of all stages you want to run.
  # A single stage, called `analyze_and_format` which runs the analyzer and
  # the formatter only.
  - analyze_and_format:
    - dartanalyzer: --hints-as-warnings .
    - dartfmt: sdk
        - dev # Overrides the top level sdk default
  # Assuming everything analyzed correctly, runs a build.
  - build:
    - command: "pub run build_runner build"
  # And finally run tests, these are custom build_runner tests but the regular
  # `test` task is also supported.
  - unit_test:
    - command: "pub run build_runner test"
    - command: "pub run build_runner test -- -p chrome"


  • travis command

    • Make numbering more consistent and clean when there is more than one task with a given name.

    • Print out the full command that executed as part of a task.

    • Support a List value for before_script.


  • travis command

    • Write ANSI escape sequences in ./tool/ as pre-escaped ASCII literals.

    • Added --[no-]pretty-ansi flag to allow ANSI sequences to be optionally omitted.


  • Add before_script support to the travis command. When that value is set in a travis.yml file, we will call the script before running any of the tasks for that package.

  • Add recursive global flag. When set, we will walk all sub-directories looking for pubspec.yaml files.

  • Support git dependencies in packages.

  • Use mono_repo.yaml as the configuration file name, instead of packages.yaml.


  • Initial release.

1. Depend on it

Add this to your package's pubspec.yaml file:

  mono_repo: "^0.3.1"

2. Install it

You can install packages from the command line:

with pub:

$ pub get

with Flutter:

$ flutter packages get

Alternatively, your editor might support pub get or packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:mono_repo/mono_repo.dart';
Version Uploaded Documentation Archive
0.3.1 Feb 15, 2018 Go to the documentation of mono_repo 0.3.1 Download mono_repo 0.3.1 archive
0.3.0 Feb 7, 2018 Go to the documentation of mono_repo 0.3.0 Download mono_repo 0.3.0 archive
0.2.2 Jan 31, 2018 Go to the documentation of mono_repo 0.2.2 Download mono_repo 0.2.2 archive
0.2.1 Jan 31, 2018 Go to the documentation of mono_repo 0.2.1 Download mono_repo 0.2.1 archive
0.2.0 Jan 18, 2018 Go to the documentation of mono_repo 0.2.0 Download mono_repo 0.2.0 archive
0.1.0 Oct 20, 2017 Go to the documentation of mono_repo 0.1.0 Download mono_repo 0.1.0 archive


This feature is new.
We welcome feedback.
More details: scoring.

We analyzed this package, and provided a score, details, and suggestions below.

  • completed on Feb 15, 2018
  • Dart: 2.0.0-dev.20.0
  • pana: 0.10.1


Describes how popular the package is relative to other packages. [more]
0 / 100
Code health derived from static analysis. [more]
100 / 100
Reflects how tidy and up-to-date the package is. [more]
100 / 100
Overall score:
Weighted score of the above. [more]


Detected platforms: Flutter, other

Primary library: package:mono_repo/mono_repo.dart with components: io.


  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use mono_repo.dart.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.24.0 <2.0.0
args >=0.13.7 <2.0.0 1.3.0
collection ^1.14.3 1.14.5
graphs ^0.1.0 0.1.0
io ^0.3.2+1 0.3.2+1
json_annotation ^0.2.2 0.2.2
path ^1.4.1 1.5.1
pub_semver ^1.3.2 1.3.2
yaml ^2.1.12 2.1.13
Transitive dependencies
charcode 1.1.1
meta 1.1.2
source_span 1.4.0
string_scanner 1.0.2
Dev dependencies
build_runner ^0.7.0
json_serializable ^0.3.0
test ^0.12.0
test_descriptor ^1.0.0
test_process ^1.0.1