You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
387 B
JavaScript
20 lines
387 B
JavaScript
3 years ago
|
'use strict';
|
||
|
const shebangRegex = require('shebang-regex');
|
||
|
|
||
|
module.exports = (string = '') => {
|
||
|
const match = string.match(shebangRegex);
|
||
|
|
||
|
if (!match) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
const [path, argument] = match[0].replace(/#! ?/, '').split(' ');
|
||
|
const binary = path.split('/').pop();
|
||
|
|
||
|
if (binary === 'env') {
|
||
|
return argument;
|
||
|
}
|
||
|
|
||
|
return argument ? `${binary} ${argument}` : binary;
|
||
|
};
|