3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/urlToName.js
2019-07-25 17:15:00 +02:00

22 lines
689 B
JavaScript

const path = require('path')
// String -> String
// @url examples:
// - https://registry.yarnpkg.com/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz
// - https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz
// - git+https://github.com/srghma/node-shell-quote.git
// - git+https://1234user:1234pass@git.graphile.com/git/users/1234user/postgraphile-supporter.git
function urlToName(url) {
if (url.startsWith('git+')) {
return path.basename(url)
}
return url
.replace('https://registry.yarnpkg.com/', '') // prevents having long directory names
.replace(/[@/:-]/g, '_') // replace @ and : and - characters with underscore
}
module.exports = urlToName