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