Submit
Path:
~
/
/
usr
/
lib
/
node_modules
/
npm
/
node_modules
/
cross-spawn
/
lib
/
util
/
File Content:
readShebang.js
'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;
Submit
FILE
FOLDER
Name
Size
Permission
Action
escapeArgument.js
875 bytes
0644
escapeCommand.js
391 bytes
0644
hasEmptyArgumentBug.js
431 bytes
0644
readShebang.js
894 bytes
0644
resolveCommand.js
805 bytes
0644
N4ST4R_ID | Naxtarrr