Parse a GitHub URL for user/project@version


000.1.25 years ago6 years agoMinified + gzip package size for @bahmutov/parse-github-repo-url in KB


DEPRECATED - all features were merged back into

original repo repo-utils/parse-github-repo-url

available on NPM under "parse-github-repo-url"


Parse a GitHub URL for user/project@version

NPM info

Build semantic-release manpm

Note: this is a clone of repo-utils/parse-github-repo-url with additional parsers, since my pull request was in limbo for a very long time.


Parse all the stupid ways you could write a GitHub URL in your damn package.json. Supports:

  • <user>/<repo#<commit>
  • git:// and .git w/ #commit or @version
  • git@ and https:git@
  • www.github.com
  • gitlab.<my company name>.com/user/repo.git parsing
  • All 5 different ways you could download a freaking tarball/zipball


[user, repo, version] = parse(url)

version could be falsey, a semantic version, a commit, or a branch, etc.

var parse = require('@bahmutov/parse-github-repo-url')
parse('component/emitter#1') // => ['component', 'emitter', '1']

See the tests for all the different types of supported URLs.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.