Support for scoped package names

This commit is contained in:
Daan Kets 2018-02-07 09:13:22 +02:00
parent ce972e6913
commit a3e093bbfe
2 changed files with 7 additions and 5 deletions

View File

@ -223,12 +223,14 @@ var Utility = module.exports = {
//pm2 install username/module
else if(canonic_module_name.indexOf('/') !== -1) {
canonic_module_name = canonic_module_name.split('/')[1];
if (!canonic_module_name.startsWith("@")){
canonic_module_name = canonic_module_name.split('/')[1];
}
}
//pm2 install module@2.1.0-beta
if(canonic_module_name.indexOf('@') !== -1) {
canonic_module_name = canonic_module_name.split('@')[0];
//pm2 install @somescope/module@2.1.0-beta
if(canonic_module_name.lastIndexOf('@') !== 0) {
canonic_module_name = canonic_module_name.substr(0,canonic_module_name.lastIndexOf("@"));
}
//pm2 install module#some-branch

View File

@ -18,7 +18,7 @@ describe('Utility', function() {
assert(Utility.getCanonicModuleName('ma-zal/pm2-slack') === 'pm2-slack');
assert(Utility.getCanonicModuleName('ma-zal/pm2-slack#own-branch') === 'pm2-slack');
assert(Utility.getCanonicModuleName('pm2-slack') === 'pm2-slack');
assert(Utility.getCanonicModuleName('@org/pm2-slack') === 'pm2-slack');
assert(Utility.getCanonicModuleName('@org/pm2-slack') === '@org/pm2-slack');
assert(Utility.getCanonicModuleName('git+https://github.com/user/pm2-slack') === 'pm2-slack');
assert(Utility.getCanonicModuleName('git+https://github.com/user/pm2-slack.git') === 'pm2-slack');
assert(Utility.getCanonicModuleName('file:///home/user/pm2-slack') === 'pm2-slack');