1. github-url-from-git
Parse a github git url and return the github repo url
github-url-from-git
Package: github-url-from-git
Created by: visionmedia
Last modified: Sat, 18 Jun 2022 12:33:42 GMT
Version: 1.5.0
License: MIT
Downloads: 1,400,500
Repository: https://github.com/visionmedia/node-github-url-from-git

Install

npm install github-url-from-git
yarn add github-url-from-git

github-url-from-git

 describe('parse(url)', function () {
  it('should support git://*', function () {
    var url = 'git://github.com/jamesor/mongoose-versioner'
    parse(url).should.equal('https://github.com/jamesor/mongoose-versioner')
  })

  it('should support git://*.git', function () {
    var url = 'git://github.com/treygriffith/cellar.git'
    parse(url).should.equal('https://github.com/treygriffith/cellar')
  })

  it('should support https://*', function () {
    var url = 'https://github.com/Empeeric/i18n-node'
    parse(url).should.equal('https://github.com/Empeeric/i18n-node')
  })

  it('should support https://*.git', function () {
    var url = 'https://[email protected]/banchee/tranquil.git'
    parse(url).should.equal('https://github.com/banchee/tranquil')
  })

  it('should return undefined on failure', function () {
    var url = 'git://github.com/justgord/.git'
    assert(parse(url) == null)
  })

  it('should parse [email protected]:bcoe/thumbd.git', function () {
    var url = '[email protected]:bcoe/thumbd.git'
    parse(url).should.eql('https://github.com/bcoe/thumbd')
  })

  it('should parse [email protected]:/bcoe/thumbd.git', function () {
    var url = '[email protected]:/bcoe/thumbd.git'
    parse(url).should.eql('https://github.com/bcoe/thumbd')
  })

  it('should parse [email protected]:bcoe/thumbd.git#2.7.0', function () {
    var url = '[email protected]:bcoe/thumbd.git#2.7.0'
    parse(url).should.eql('https://github.com/bcoe/thumbd')
  })

  it('should parse git+https://github.com/bcoe/thumbd.git', function () {
    var url = 'git+https://github.com/bcoe/thumbd.git'
    parse(url).should.eql('https://github.com/bcoe/thumbd')
  })

  it('should parse git+ssh://github.com/bcoe/thumbd.git', function () {
    var url = 'git+ssh://github.com/bcoe/thumbd.git'
    parse(url).should.eql('https://github.com/bcoe/thumbd')
  })

  it('should parse https://[email protected]/EastCloud/node-websockets.git', function () {
    var url = 'https://[email protected]/EastCloud/node-websockets.git'
    parse(url).should.eql('https://github.com/EastCloud/node-websockets')
  })

  // gist urls.

  it('should parse git@gist urls', function () {
    var url = '[email protected]:3135914.git'
    parse(url).should.equal('https://gist.github.com/3135914')
  })

  it('should parse https://gist urls', function () {
    var url = 'https://gist.github.com/3135914.git'
    parse(url).should.equal('https://gist.github.com/3135914')
  })

  // Handle arbitrary GitHub Enterprise domains.

  it('should parse parse extra GHE urls provided', function () {
    var url = 'git://github.example.com/treygriffith/cellar.git'
    parse(
      url, {extraBaseUrls: ['github.example.com']}
    ).should.equal('https://github.example.com/treygriffith/cellar')
  })

  it('should parse GHE urls with multiple subdomains', function () {
    var url = 'git://github.internal.example.com/treygriffith/cellar.git'
    parse(
      url, {extraBaseUrls: ['github.internal.example.com']}
    ).should.equal('https://github.internal.example.com/treygriffith/cellar')
  })
})

describe('re', function () {
  it('should expose GitHub url parsing regex', function () {
    parse.re.source.should.equal(
      /^(?:https?:\/\/|git:\/\/|git\+ssh:\/\/|git\+https:\/\/)?(?:[^@]+@)?(gist.github.com|github.com)(?::\/?|\/)([^/]+\/[^/]+?|[0-9]+)$/.source
    )
  })
})

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code