Nodeschool Public Materials
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    github-url-from-gitpublic

    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://jpillora@github.com/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 git@github.com:bcoe/thumbd.git', function () {
        var url = 'git@github.com:bcoe/thumbd.git'
        parse(url).should.eql('https://github.com/bcoe/thumbd')
      })
     
      it('should parse git@github.com:/bcoe/thumbd.git', function () {
        var url = 'git@github.com:/bcoe/thumbd.git'
        parse(url).should.eql('https://github.com/bcoe/thumbd')
      })
     
      it('should parse git@github.com:bcoe/thumbd.git#2.7.0', function () {
        var url = 'git@github.com: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://EastCloud@github.com/EastCloud/node-websockets.git', function () {
        var url = 'https://EastCloud@github.com/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 = 'git@gist.github.com: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
        )
      })
    })

    install

    npm i github-url-from-git

    Downloadsweekly downloads

    56,522

    version

    1.5.0

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar