{"id":31646041,"url":"https://github.com/codefresh-io/parse-bitbucket-url","last_synced_at":"2025-10-07T05:19:32.647Z","repository":{"id":11200831,"uuid":"68728707","full_name":"codefresh-io/parse-bitbucket-url","owner":"codefresh-io","description":"Parse a Bitbucket URL into an object. Supports a wide variety of Bitbucket and Bitbucket Server (aka Stash) URL formats.","archived":false,"fork":false,"pushed_at":"2022-11-15T17:45:01.000Z","size":27,"stargazers_count":3,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-03T05:53:15.265Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codefresh-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-20T15:57:50.000Z","updated_at":"2022-11-10T12:02:44.000Z","dependencies_parsed_at":"2023-01-13T16:22:57.968Z","dependency_job_id":null,"html_url":"https://github.com/codefresh-io/parse-bitbucket-url","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codefresh-io/parse-bitbucket-url","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefresh-io%2Fparse-bitbucket-url","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefresh-io%2Fparse-bitbucket-url/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefresh-io%2Fparse-bitbucket-url/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefresh-io%2Fparse-bitbucket-url/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codefresh-io","download_url":"https://codeload.github.com/codefresh-io/parse-bitbucket-url/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codefresh-io%2Fparse-bitbucket-url/sbom","scorecard":{"id":296414,"data":{"date":"2025-08-11","repo":{"name":"github.com/codefresh-io/parse-bitbucket-url","commit":"352b5599053745b03e51261c36d264c7c460a426"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/13 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 1 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"21 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-8w4h-3cm3-2pm2","Warn: Project is vulnerable to: GHSA-9vvw-cc9w-f27h","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-h6ch-v84p-w6p9","Warn: Project is vulnerable to: GHSA-qh2h-chj9-jffq","Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp","Warn: Project is vulnerable to: GHSA-hxm2-r34f-qmc5","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-fhjf-83wg-r2j9","Warn: Project is vulnerable to: GHSA-w9mr-4mfr-499f","Warn: Project is vulnerable to: GHSA-6g33-f262-xjp4","Warn: Project is vulnerable to: GHSA-36m4-6v6m-4vpr","Warn: Project is vulnerable to: GHSA-q22g-8fr4-qpj4","Warn: Project is vulnerable to: GHSA-jv35-xqg7-f92r","Warn: Project is vulnerable to: GHSA-4g88-fppr-53pp","Warn: Project is vulnerable to: GHSA-4jqc-8m5r-9rpr","Warn: Project is vulnerable to: GHSA-cf4h-3jhx-xvhq","Warn: Project is vulnerable to: GHSA-v2p6-4mp7-3r9v"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T19:37:02.135Z","repository_id":11200831,"created_at":"2025-08-17T19:37:02.135Z","updated_at":"2025-08-17T19:37:02.135Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278722757,"owners_count":26034463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-07T05:19:25.598Z","updated_at":"2025-10-07T05:19:32.640Z","avatar_url":"https://github.com/codefresh-io.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# parse-bitbucket-url [![NPM version](https://img.shields.io/npm/v/parse-bitbucket-url.svg?style=flat)](https://www.npmjs.com/package/parse-bitbucket-url) [![NPM downloads](https://img.shields.io/npm/dm/parse-bitbucket-url.svg?style=flat)](https://npmjs.org/package/parse-bitbucket-url) \n\n\u003e Parse a Bitbucket URL into an object. Supports Bitbucket Server (formely known as Stash) URLs as well.\n\nDeveloped in [Codefresh](https://www.codefresh.io).\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\n$ npm install parse-bitbucket-url --save\n```\n\nSee the [release history](#history) for details.\n\n**Why a Bitbucket URL parser library?**\n\nCuz I needed it. And I really liked [parse-github-url](https://www.npmjs.com/package/parse-github-url)'s simplicity. So now you have this. Have fun.\n\n(Why not `parse-vcs-url` you say? nahhh, that's way too few `require` statements) \n\n## Usage\n\n```js\nlet parseBitbucketUrl = require('parse-bitbucket-url');\nparseBitbucketUrl('https://bitbucket.org/jespern/django-piston');\n```\n\nResults in:\n\n```js\n{\n  \"owner\": \"jespern\",\n  \"name\": \"django-piston\",\n  \"repo\": \"jespern/django-piston\",\n  \"branch\": \"master\"\n}\n```\n\n## Example results\n\nGenerated results from test fixtures:\n\n```js\n// birkenfeld/sphinx#1.2.3\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: '1.2.3' }\n\n// birkenfeld/sphinx#branch\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'branch' }\n\n// birkenfeld/sphinx\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// git+https://bitbucket.org/birkenfeld/sphinx.git\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// git+ssh://bitbucket.org/birkenfeld/sphinx.git\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// git://bitbucket.org/birkenfeld/sphinx\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// git://bitbucket.org/birkenfeld/sphinx.git\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// git@bitbucket.org:birkenfeld/sphinx.git#1.2.3\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: '1.2.3' }\n\n// git@bitbucket.org:birkenfeld/sphinx.git#v1.2.3\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'v1.2.3' }\n\n// git@bitbucket.org:birkenfeld/sphinx.git\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// hg@bitbucket.org:birkenfeld/sphinx#4.5.6\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: '4.5.6' }\n\n// hg@bitbucket.org:birkenfeld/sphinx#v4.5.6\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'v4.5.6' }\n\n// hg@bitbucket.org:birkenfeld/sphinx\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// bitbucket:birkenfeld/sphinx\n{ host: 'birkenfeld',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// http://bitbucket.org/birkenfeld\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: null,\n  repo: null,\n  repository: null,\n  branch: 'master' }\n\n// http://bitbucket.org/birkenfeld/sphinx\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// http://bitbucket.org/birkenfeld/sphinx.git\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// http://bitbucket.org/birkenfeld/sphinx/src\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// http://bitbucket.org/birkenfeld/sphinx/src/6affb32647b1f762ebe40f5dac175e7aa7a15f09/?at=stable\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'stable' }\n\n// http://bitbucket.org/birkenfeld/sphinx/src/6affb32647b1f762ebe40f5dac175e7aa7a15f09/sphinx/directives/code.py?at=stable\u0026fileviewer=file-view-default\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'stable' }\n\n// https://bitbucket.org/birkenfeld/sphinx/src/6affb32647b1f762ebe40f5dac175e7aa7a15f09/AUTHORS\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://birkenfeld@bitbucket.org/birkenfeld/sphinx.git\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx.git\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx/src/40bd03003ac6fe274ccf3c80d7727509e00a69ea/README.rst?at=default\u0026fileviewer=file-view-default\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'default' }\n\n// https://bitbucket.org/birkenfeld/sphinx/src/aa5eea3eb4f39c97e1353783261e51c04020584d/README.rst?at=default\u0026fileviewer=file-view-default\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'default' }\n\n// https://bitbucket.org/birkenfeld/sphinx/src/aa5eea3eb4f39c97e1353783261e51c04020584d/babel.cfg?at=default\u0026fileviewer=file-view-default\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'default' }\n\n// https://bitbucket.org/birkenfeld/sphinx/src/6affb32647b1f762ebe40f5dac175e7aa7a15f09/babel.cfg?at=stable\u0026fileviewer=file-view-default\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'stable' }\n\n// https://bitbucket.org/birkenfeld/sphinx/src/6affb32647b1f762ebe40f5dac175e7aa7a15f09/babel.cfg\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx/commits/f2a3d22c9a8d298d8a084b121160c6c3e9a40c77\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx/branch/default\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx/pull-requests/\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx/pull-requests/239/apply-only-directives-when-obtaining-the/diff\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx/overview\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx/downloads\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx/get/40bd03003ac6.zip\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: '40bd03003ac6' }\n\n// https://bitbucket.org/birkenfeld/sphinx/get/tip.zip\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'master' }\n\n// https://bitbucket.org/birkenfeld/sphinx/get/1.0b2.tar.bz2\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: '1.0b2' }\n\n// https://bitbucket.org/birkenfeld/sphinx/get/stable.tar.gz\n{ host: 'bitbucket.org',\n  owner: 'birkenfeld',\n  name: 'sphinx',\n  repo: 'birkenfeld/sphinx',\n  repository: 'birkenfeld/sphinx',\n  branch: 'stable' }\n\n// https://stash.one.two/projects/KEY/repos/name1/browse\n{ host: 'stash.one.two',\n  owner: 'KEY',\n  name: 'name1',\n  repo: 'KEY/name1',\n  repository: 'KEY/name1',\n  branch: 'master' }\n\n// https://stash.one.two/projects/ONE/repos/name2/browse\n{ host: 'stash.one.two',\n  owner: 'ONE',\n  name: 'name2',\n  repo: 'ONE/name2',\n  repository: 'ONE/name2',\n  branch: 'master' }\n\n// https://stash.one.two/projects/ABC/repos/name3/commits/a1aa8e5c5b99002396d449c1bdd4d6946303bbc3\n{ host: 'stash.one.two',\n  owner: 'ABC',\n  name: 'name3',\n  repo: 'ABC/name3',\n  repository: 'ABC/name3',\n  branch: 'master' }\n\n// https://stash.one.two/projects/DEF/repos/na-me4/commits\n{ host: 'stash.one.two',\n  owner: 'DEF',\n  name: 'na-me4',\n  repo: 'DEF/na-me4',\n  repository: 'DEF/na-me4',\n  branch: 'master' }\n\n// https://bitbucketserver.one.two/projects/GHI/repos/name5/compare/commits?sourceBranch=refs%2Fheads%2Fmaster\u0026targetBranch=refs%2Fheads%2Fbugfix%2Fdevelop\n{ host: 'bitbucketserver.one.two',\n  owner: 'GHI',\n  name: 'name5',\n  repo: 'GHI/name5',\n  repository: 'GHI/name5',\n  branch: 'master' }\n\n// https://stash.one.two/projects/JKL/repos/nam-e6/branches\n{ host: 'stash.one.two',\n  owner: 'JKL',\n  name: 'nam-e6',\n  repo: 'JKL/nam-e6',\n  repository: 'JKL/nam-e6',\n  branch: 'master' }\n\n// https://internal.one.two:2034/projects/MNOPQ/repos/name7/pull-requests\n{ host: 'internal.one.two:2034',\n  owner: 'MNOPQ',\n  name: 'name7',\n  repo: 'MNOPQ/name7',\n  repository: 'MNOPQ/name7',\n  branch: 'master' }\n\n// https://stash.one.two:5555/projects/KEY/repos/name1/browse/README.md?at=refs%2Fheads%2Fbranch333\n{ host: 'stash.one.two:5555',\n  owner: 'KEY',\n  name: 'name1',\n  repo: 'KEY/name1',\n  repository: 'KEY/name1',\n  branch: 'branch333' }\n\n// https://alond@stash-internal.my.company/scm/a-key/a-project.git\n{ host: 'stash-internal.my.company',\n  owner: 'scm',\n  name: 'a-key',\n  repo: 'scm/a-key',\n  repository: 'scm/a-key',\n  branch: 'master' }\n\n// https://alond@stash-internal.my.company:3333/scm/a-key/another-project\n{ host: 'stash-internal.my.company:3333',\n  owner: 'scm',\n  name: 'a-key',\n  repo: 'scm/a-key',\n  repository: 'scm/a-key',\n  branch: 'master' }\n\n// ssh://git@stash-internal.some.io:7999/cod/more-proj.git\n{ host: 'stash-internal.some.io:7999',\n  owner: 'cod',\n  name: 'more-proj',\n  repo: 'cod/more-proj',\n  repository: 'cod/more-proj',\n  branch: 'master' }\n\n// git@bb-server.startup.io:27999/tfc/some-proj.git\n{ host: 'bb-server.startup.io:27999',\n  owner: 'tfc',\n  name: 'some-proj',\n  repo: 'tfc/some-proj',\n  repository: 'tfc/some-proj',\n  branch: 'master' }\n\n// git@bb-server.startup.io:27999/tfc/some-proj.git#0.2.3\n{ host: 'bb-server.startup.io:27999',\n  owner: 'tfc',\n  name: 'some-proj',\n  repo: 'tfc/some-proj',\n  repository: 'tfc/some-proj',\n  branch: '0.2.3' }\n```\n\n## History\n\n**v0.3.0**\n\nSupport file location for URLs that have one\n\n**v0.2.0**\n\nAdded support for Bitbucket Server / Stash.\n\n**v0.1.1**\n\nFirst published version.\n\n**v0.1.0**\n\nBasic version, based on parse-github-url.\n\nNOTE: it is impossible to find out what branch a commit is part of in Bitbucket. Even if a link incldues \"at=stable\" in\nits query string, the actual branch might be wp-pygments-syn or default, etc. For now, we'll just play dumb and imagine \nthat at= always works and isn't just cosmetic.\nALSO NOTE: tags and branches are treated alike in Bitbucket and cannot be distinguished by URL.\nWe'll treat everything like branches.\n\n## Related projects\n\nYou might also be interested in these projects:\n\n* [parse-github-url](https://www.npmjs.com/package/parse-github-url): Parse a github/npm URL into an object. | [homepage](https://github.com/jonschlinkert/parse-github-url)\n* [bitbucket-short-url-regex](https://www.npmjs.com/package/github-short-url-regex): Regular expression (Regex) for matching github shorthand (user/repo#branch). | [homepage](https://bitbucket.org/regexps/github-short-url-regex)\n* [is-git-url](https://www.npmjs.com/package/is-git-url): Regex to validate that a URL is a git url. | [homepage](https://bitbucket.org/jonschlinkert/is-git-url)\n* [parse-github-short-url](https://www.npmjs.com/package/parse-github-short-url): Parse a github/npm shorthand (user/repo#branch or user/repo@version) URL into an object. | [homepage](https://bitbucket.org/tunnckocore/parse-github-short-url)\n\n## Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/codefresh-io/parse-bitbucket-url/issues/new).\n\n## Running tests\n\nInstall dev dependencies and run the test:\n\n```sh\n$ npm install -d \u0026\u0026 npm test\n```\n\n## Author\n\n**Alon Diamant (advance512)**\n\n* [github/advance512](https://github.com/advance512)\n* [Homepage](http://www.alondiamant.com)\n\nHeavily based on parse-github-url by **Jon Schlinkert (jonschlinkert)**.\n\n* [github/jonschlinkert](https://github.com/jonschlinkert)\n* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n## License\n\nCopyright © 2016, [Codefresh](https://codefresh.io).\nReleased under the [MIT license](https://github.com/codefresh-io/parse-bitbucket-url/blob/master/LICENSE).\n\n***\n\n_This file was NOT generated by [verb](https://bitbucket.org/verbose/verb), v0.9.0, on September 20, 2016._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodefresh-io%2Fparse-bitbucket-url","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodefresh-io%2Fparse-bitbucket-url","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodefresh-io%2Fparse-bitbucket-url/lists"}