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;
Edit
Rename
Chmod
Delete
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