1.0.0 • Published 10 years ago

grunt-heroku-branch v1.0.0

Weekly downloads
1
License
-
Repository
github
Last release
10 years ago

grunt-heroku-branch

Wrapper to add the appropriate heroku remotes to git via grunt config

Getting Started

Prerequisite

You must install the Heroku toolbelt locally:

https://toolbelt.heroku.com/

This plugin requires Grunt ~0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-heroku-branch --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-heroku-branch');

The "herokuBranch" task

Overview

In your project's Gruntfile, add a section named herokuBranch to the data object passed into grunt.initConfig().

grunt.initConfig({
  herokuBranch: {
    options: {
      changeCase: 'camelCase'
    },
    production: 'your-production-app-name',
    development: 'your-development-app-name',
  }
});

Options

options.changeCase

Type: String Default value: 'param' Valid values: 'sentenceCase'|'camelCase'|'pascalCase'|'snakeCase'|'paramCase'|'constantCase'

How to convert the build target to a remote name. This option is directly passed to https://www.npmjs.com/package/change-case

Example:

grunt.initConfig({
  herokuBranch: {
    options: {
      changeCase: 'camelCase'
    },
    remote_one: 'your-production-app-name',
    remoteTwo: 'your-development-app-name',
  }
});

Would produce the following result for git remote -v:

remoteOne	git@heroku.com:your-development-app-name.git (fetch)
remoteTwo	git@heroku.com:your-development-app-name.git (push)

Usage Examples

Default Options

grunt.initConfig({
  herokuBranch: {
    production: 'your-production-app-name',
    development: 'your-development-app-name',
  }
});

Would produce the following result for git remote -v:

production	https://git.heroku.com:your-development-app-name.git (fetch)
development	https://git.heroku.com:your-development-app-name.git (push)

Custom Options

Customize the case used;

grunt.initConfig({
  options: {
    changeCase: 'constantCase'
  },
  target1: {
    name: 'production',
    url: 'your-production-app-name'
  },
  target2: {
    name: 'development',
    url: 'your-development-app-name'
  }
});

Running grunt herokuBranch:target1 and grunt herokuBranch:target2 will produce the following results for git remote -v:

PRODUCTION	https://git.heroku.com:your-production-app-name.git (fetch)
PRODUCTION	https://git.heroku.com:your-production-app-name.git (push)
DEVELOPMENT	https://git.heroku.com:your-development-app-name.git (fetch)
DEVELOPMENT	https://git.heroku.com:your-development-app-name.git (push)

Contributing

JSHint and JSBeautifier steps should pass.

Release History

0.2.2

Stable version with test coverage and docs.

1.0.0

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.1

10 years ago