mrtbulkrelease

Small cli for managing/versioning/releasing Meteor.js packages to atmosphere

npm install mrtbulkrelease
53 downloads in the last month

mbr - mrt bulk release

Use this package if you have a lot of packages on atmosphere, you can bulk git pull to keep your repo updated and publish bulk too. I've added an easy way to bump versions too read more below :)

Screenshot

Requires:

  • meteorite installed
  • node.js
  • phantomjs - but only if you want to use the test feature...

Install:

$ npm install -g mrtbulkrelease

Usage:

$ mbr -h

  Usage: mbr [options]

  Options:

    -h, --help                           output usage information
    -V, --version                        output the version number
    -r, --release                        Release package, defaults to all packages in the list
    -u, --update                         pull from github
    -n, --name [name]                    Name of package to release
    -b, --bump <package>                 bump package version, default is "patch" eg.: 0.0.1 -> 0.0.2 (its not released or tagged)
    -m, --minor                          bump a minor version
    -M, --major                          bump a major version
    -t, --test                           Test package(s) from release list
    -a, --add <package>                  Add package to the auto bulk release list
    -d, --del <package>                  Remove the package from the auto bulk release list
    -p, --pause <package>                Pause the package from bulk release (toggle)
    -l, --list                           List of the packages in the auto bulk release list
    -c, --clear                          Clear the auto bulk release list
    -y, --yes                            Dont promt for confirmation, just get to it
    -s, --set <print | attribute=value>  Change configuration eg. "mbr -s meteor=~/meteor/meteor", "mbr -s meteordir=./" or "mbr -s port=10015"

Add the package to the list

Add the packages to the list that you are working on and frequently publish to atmosphere. This makes stuff much easier to manage.

$ mbr -add mypackage

You should be just outside the package folder

Run tests

When writing packages you have to do qa and tests - some packages may depend on other packages and therefor break - now you can simply run a test on one package or bulk:

  # run tests for one package
  mbr -tn mypackage

  # run test including all non-paused packages
  mbr -t

You can use the -s to specify what meteor or mrt to use for testing. My meteordev is placed at ~/meteor/meteor to use this instead I simply:

  mbr -s meteor=~/meteor/meteor

note that using mrt requires the user to kill the mbr thread - mrt does not close the meteor server when killed

Bump and release version to atmosphere

You can bump version and release package in one line eg.:

    # this will bump the patch version and release package
    mbr -b mypackage -r

    # this will bump the minor version and release package
    mbr -mb mypackage -r


    # this will bump the major version and release package
    mbr -Mb mypackage -r

Bump version

You can bump version in smart.json and push, this can be done manually or use the mbr for this:

    mbr -b mypackage # this will bump the patch version

    mbr -mb mypackage # this will bump the minor version

    mbr -Mb mypackage # this will bump the major version

Bulk release?

First check what packages need to be released, making sure you are not releasing packages you dont want to:

$ mbr

To release all:

$ mbr -r

Release just one package

$ mbr -rn mypackage

Credit

@arunoda The code for the test integration is his work - I've just wrapped it into mbr with small modifications. travis-ci-meteor-packages

Thats about it

Contributions are welcome,

Kind regards Morten, aka @raix

npm loves you