JSPM

  • Created
  • Published
  • Downloads 138
  • Score
    100M100P100Q85319F
  • License MIT

A simple module to add git contributors to your package.json.

Package Exports

  • contributor

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (contributor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

#Contributor Build Status

A simple node module to add git contributors to your package.json. Private repos are available as of 0.1.6!

NPM

Install from npm

$ npm install contributor -g

or add it as one of your projects package.json dependencies like this:

{
  ...
  "dependencies": {
    "contributor": "0.1.x"
  }
}

Run

To get a record of your project's contribution info from your github repo, cd into the directory containing your package.json and run:

$ contributor

Bingo! Your package.json will be appended with something like this:

{
  ...
  "contributors": [
    {
      "name": "Jake LeBoeuf",
      "email": "dev@jakeleboeuf.com",
      "url": "https://github.com/jakeleboeuf",
      "contributions": 20,
      "hireable": true
    }
  ]
}

Behind the scenes

Contributor hunts for repository.url in your your package.json. If it finds a valid repo url, it requests collaborator info from the github api and adds it to your package.json. Super simple.

It will make a backup of your original json to .package.json, so all your secret codes are safe.

Pro tip: Add a git push alias and kill a couple birds.

$ git config alias.pushc \!git push $1 $2 && contributor

This will simply add the pushc alias to your .git/config file like so:

[alias]
    pushc = !git push $1 $2 && contributor

Then you can run git pushc origin master, and voila! Give it a try on your next project and let me know what you think!

-- ###Examle output

Before contributor:

{
  "author": "Jake LeBoeuf",
  "name": "contributor",
  "description": "Example package.json.",
  "version": "0.1.1",
  "homepage": "https://github.com/jakeleboeuf/contributor",
  "repository": {
    "type": "git",
    "url": "https://github.com/jakeleboeuf/contributor.git"
  },
  "bugs": {
    "url": "https://github.com/jakeleboeuf/contributor/issues"
  },
  "engines": {
    "node": "0.10.x",
    "npm": "1.4.x"
  },
  "dependencies": {
    "request": "2.34.x",
    "ansi-color": "0.2.x",
    "github": "0.1.x",
    "prompt": "0.2.x"
  }
}

After contributor:

{
  "author": "Jake LeBoeuf",
  "name": "contributor",
  "description": "Example package.json.",
  "version": "0.1.1",
  "homepage": "https://github.com/jakeleboeuf/contributor",
  "repository": {
    "type": "git",
    "url": "https://github.com/jakeleboeuf/contributor.git"
  },
  "bugs": {
    "url": "https://github.com/jakeleboeuf/contributor/issues"
  },
  "engines": {
    "node": "0.10.x",
    "npm": "1.4.x"
  },
  "dependencies": {
    "request": "2.34.x",
    "ansi-color": "0.2.x",
    "github": "0.1.x",
    "prompt": "0.2.x"
  },
  "contributors": [
    {
      "name": "Jake LeBoeuf",
      "email": "dev@jakeleboeuf.com",
      "url": "https://github.com/jakeleboeuf",
      "contributions": 20,
      "hireable": true
    }
  ]
}

Support via Gittip