src/hooks/HooksRunner.js
function extractSheBangInterpreter (fullpath) {
    // this is a modern cluster size. no need to read less
    const chunkSize = 4096;
    const fileData = readChunk.sync(fullpath, 0, chunkSize);
    const fileChunk = fileData.toString();
    const hookCmd = shebangCommand(fileChunk);

    if (hookCmd && fileData.length === chunkSize && !fileChunk.match(/[\r\n]/)) {
        events.emit('warn', 'shebang is too long for "' + fullpath + '"');
    }
    return hookCmd;
}
function extractSheBangInterpreter (fullpath) {
    // this is a modern cluster size. no need to read less
    const chunkSize = 4096;
    const fileData = readChunk.sync(fullpath, 0, chunkSize);
    const fileChunk = fileData.toString();
    const hookCmd = shebangCommand(fileChunk);

    if (hookCmd && fileData.length === chunkSize && !fileChunk.match(/[\r\n]/)) {
        events.emit('warn', 'shebang is too long for "' + fullpath + '"');
    }
    return hookCmd;
}
Extracts shebang interpreter from script' source.