Natively Pronounced Mandarin
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

buildbranch

2.0.1 • Public • Published

buildbranch

Publish a folder to the given build branch (like gh-pages).

NPM version Dependency Status devDependency Status Coverage Status Dependency Status

Usage

You can use this from the command-line or within your build system.

Command-line

First, install buildbranch globally:

npm install buildbranch -g

Then, from your master branch, run buildbranch with the branch and directory you want to publish. It will default to gh-pages and www.

buildbranch gh-pages www example.com

All arguments are optional, the defaults being:

  • branch: 'gh-pages'
  • folder: `'www'´
  • domain: ''

Skipping the pre-commit hook

buildbranch will run git commit in the given branch. You might want to skip the pre-commit hook if there is one. This can be archived by adding another command line argument:

buildbranch gh-pages www example.com no-verify

Actually, anytime four arguments are passed, git commit will be run with --no-verify, skipping the pre-commit and commit-msg hook, it does not matter if you pass no-verify or any other non-empty string as the fourth argument.

buildbranch gh-pages www example.com no-verify

If you want to skip have --no-verify but do not want to specify a domain, use

buildbranch gh-pages www '' no-verify

Build System

First, install buildbranch as a development dependency:

npm install buildbranch --save-dev

Then, use it in your build system:

  buildBranch({
    branch: 'gh-pages',
    remote: 'origin',
    ignore: ['.git', 'www', 'node_modules'],
    folder: 'www',
    domain: 'example.com',
    noVerify: false
  }, function(err) {
    if(err) {
      throw err;
    }
    console.log('Published!');
  });

For example in gulp you can do it like this:

var gulp = require('gulp');
var buildBranch = require('buildbranch');
 
gulp.task('gh', ['build'], function(done) {
  buildBranch({ folder: 'dist' }, done);
});

API

buildBranch(options, callback)

options

Type: Object

Required. An object containing the following options.

options.branch

Type: String Default: 'gh-pages'

The branch on wich to publish.

options.remote

Type: String Default: 'origin'

The remote repository on wich to publish.

options.folder

Type: String Default: 'www'

The folder in wich the build is.

options.domain

Type: String

The domain name that will fill the cname file.

options.cname

Type: String Default: 'CNAME'

The name of the file enabling custom domain name on you build platform.

options.commit

Type: String Default: 'Build $'

The commit label, the first $ occurrence in the given string will be replaced by the current date.

options.cwd

Type: String Default: process.cwd()

The working directory (root of the git repo).

options.ignore

Type: Array

A list of files to ignore. 'node_modules' and '.git' will be automatically added to the ignore list.

options.noVerify

Type: Boolean Default: false

Whether or not to add --no-verify when running git commit (skipping the pre-commit and commit-msg hook).

callback

Type: Function

Required. Called when the publication is done.

License

MIT

install

npm i buildbranch

Downloadsweekly downloads

34

version

2.0.1

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar