github-url-to-object
Extract user, repo, and other interesting properties from GitHub URLs
Last updated 9 years ago by zeke .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install github-url-to-object 
SYNC missed versions from official npm registry.

github-url-to-object Build Status

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-url-to-object.

Check out the demo at zeke.github.io/github-url-to-object.

Installation

For Node.js or Browserify usage:

npm i github-url-to-object

For bower usage:

bower install github-url-to-object

Usage

Use whatever flavor of GitHub URL you like:

const gh = require('github-url-to-object')

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

Here's what you'll get:

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

The shorthand form lets you specify a branch:

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

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

GitHub Enterprise

If you're using GitHub Enterprise, pass the enterprise option to allow your non-github.com URL to be parsed:

gh('https://ghe.example.com:heroku/heroku-flags.git', { enterprise: true })

Test

npm install
npm test

js-standard-style

License

MIT

Current Tags

  • 4.0.6                                ...           latest (5 years ago)

44 Versions

  • 4.0.6                                ...           5 years ago
  • 4.0.5                                ...           5 years ago
  • 4.0.4                                ...           8 years ago
  • 4.0.2                                ...           9 years ago
  • 4.0.1                                ...           9 years ago
  • 4.0.0                                ...           9 years ago
  • 3.1.0                                ...           9 years ago
  • 3.0.0                                ...           9 years ago
  • 2.2.6                                ...           9 years ago
  • 2.2.5                                ...           9 years ago
  • 2.2.4                                ...           10 years ago
  • 2.2.3                                ...           10 years ago
  • 2.2.2                                ...           10 years ago
  • 2.2.1                                ...           10 years ago
  • 2.2.0                                ...           10 years ago
  • 2.1.0                                ...           10 years ago
  • 2.0.0                                ...           10 years ago
  • 1.6.0                                ...           11 years ago
  • 1.5.3                                ...           11 years ago
  • 1.5.2                                ...           11 years ago
  • 1.5.1                                ...           11 years ago
  • 1.5.0                                ...           11 years ago
  • 1.4.2                                ...           11 years ago
  • 1.4.1                                ...           11 years ago
  • 1.4.0                                ...           12 years ago
  • 1.3.3                                ...           12 years ago
  • 1.3.2                                ...           12 years ago
  • 1.3.1                                ...           12 years ago
  • 1.3.0                                ...           12 years ago
  • 1.2.0                                ...           12 years ago
  • 1.1.0                                ...           12 years ago
  • 1.0.0                                ...           12 years ago
  • 0.7.1                                ...           12 years ago
  • 0.7.0                                ...           12 years ago
  • 0.5.3                                ...           12 years ago
  • 0.5.2                                ...           12 years ago
  • 0.5.1                                ...           12 years ago
  • 0.5.0                                ...           12 years ago
  • 0.4.1                                ...           12 years ago
  • 0.4.0                                ...           12 years ago
  • 0.3.0                                ...           12 years ago
  • 0.2.1                                ...           12 years ago
  • 0.2.0                                ...           12 years ago
  • 0.1.0                                ...           12 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 7
Dependencies (1)
Dev Dependencies (5)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |