github-url-to-object
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/github-url-to-object package

    4.0.6 • Public • Published

    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

    Install

    npm i github-url-to-object

    DownloadsWeekly Downloads

    34,533

    Version

    4.0.6

    License

    MIT

    Unpacked Size

    30.2 kB

    Total Files

    10

    Last publish

    Collaborators

    • zeke