PATH:
usr
/
local
/
n
/
versions
/
node
/
12.14.1
/
lib
/
node_modules
/
npm
/
node_modules
/
cross-spawn
/
lib
/
util
'use strict'; var fs = require('fs'); var LRU = require('lru-cache'); var shebangCommand = require('shebang-command'); var shebangCache = new LRU({ max: 50, maxAge: 30 * 1000 }); // Cache just for 30sec function readShebang(command) { var buffer; var fd; var shebang; // Check if it is in the cache first if (shebangCache.has(command)) { return shebangCache.get(command); } // Read the first 150 bytes from the file buffer = new Buffer(150); try { fd = fs.openSync(command, 'r'); fs.readSync(fd, buffer, 0, 150, 0); fs.closeSync(fd); } catch (e) { /* empty */ } // Attempt to extract shebang (null is returned if not a shebang) shebang = shebangCommand(buffer.toString()); // Store the shebang in the cache shebangCache.set(command, shebang); return shebang; } module.exports = readShebang;
[-] resolveCommand.js
[edit]
[-] escapeArgument.js
[edit]
[+]
..
[-] hasEmptyArgumentBug.js
[edit]
[-] escapeCommand.js
[edit]
[-] readShebang.js
[edit]