urlgithub-object

1.0.2 • Public • Published

urlgithub-to-object

A module for node.js and browsers that extracts useful properties like user, repo, and branch from various flavors of GitHub URLs.

There's also a Bitbucket equivalent to this library: bitbucket-to-object.

Installation

For Node.js or Browserify usage:

npm i urlgithub-object

For bower usage:

bower install urlgithub-object

Usage

Use whatever flavor of GitHub URL you like:

const gh = require('urlgithub-object')

gh('github:example/business')
gh('https://github.com/example/business')
gh('https://github.com/example/business/tree/master')
gh('https://github.com/example/business/tree/master/nested/file.js')
gh('https://github.com/example/business.git')
gh('http://github.com/example/business')
gh('git://github.com/example/business.git')
gh('git+https://github.com/example/business.git')

Here's what you'll get:

{
  user: 'example',
  repo: 'business',
  branch: 'master',
  tarball_url: 'https://api.github.com/repos/example/business/tarball/master',
  clone_url: 'https://github.com/example/business',
  https_url: 'https://github.com/example/business',
  travis_url: 'https://travis-ci.org/example/business',
  api_url: 'https://api.github.com/repos/example/business'
  zip_url: 'https://github.com/example/business/archive/master.zip'
}

The shorthand form lets you specify a branch:

gh('github:example/business#nachos')
{
  user: 'example',
  repo: 'business',
  branch: 'nachos',
  https_url: 'https://github.com/example/business/blob/nachos',
  tarball_url: 'https://api.github.com/repos/example/business/tarball/nachos',
  clone_url: 'https://github.com/example/business',
  travis_url: 'https://travis-ci.org/example/business?branch=nachos',
  api_url: 'https://api.github.com/repos/example/business'
  zip_url: 'https://github.com/example/business/archive/nachos.zip'
}

If you provide a non-GitHub URL or a falsey value, you'll get null.

Test

npm install
npm test

js-standard-style

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i urlgithub-object

Weekly Downloads

1,922

Version

1.0.2

License

MIT

Unpacked Size

30.7 kB

Total Files

9

Last publish

Collaborators

  • leiz1995