mirror of
				https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
				synced 2025-11-04 07:45:27 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			24 lines
		
	
	
		
			549 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			549 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
const fs = require('fs');
 | 
						|
const shebangCommand = require('shebang-command');
 | 
						|
 | 
						|
function readShebang(command) {
 | 
						|
    // Read the first 150 bytes from the file
 | 
						|
    const size = 150;
 | 
						|
    const buffer = Buffer.alloc(size);
 | 
						|
 | 
						|
    let fd;
 | 
						|
 | 
						|
    try {
 | 
						|
        fd = fs.openSync(command, 'r');
 | 
						|
        fs.readSync(fd, buffer, 0, size, 0);
 | 
						|
        fs.closeSync(fd);
 | 
						|
    } catch (e) { /* Empty */ }
 | 
						|
 | 
						|
    // Attempt to extract shebang (null is returned if not a shebang)
 | 
						|
    return shebangCommand(buffer.toString());
 | 
						|
}
 | 
						|
 | 
						|
module.exports = readShebang;
 |