Have ideas to improve npm?Join in the discussion! »

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

    1.5.0 • Public • Published

    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

    139,749

    Version

    1.5.0

    License

    MIT

    Last publish

    Collaborators

    • avatar
    • avatar