mirror of
				https://kkgithub.com/actions/setup-node.git
				synced 2025-11-04 12:46:16 +08:00 
			
		
		
		
	
		
			
	
	
		
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								# isexe
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Minimal module to check if a file is executable, and a normal file.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Uses `fs.stat` and tests against the `PATHEXT` environment variable on
							 | 
						||
| 
								 | 
							
								Windows.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## USAGE
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```javascript
							 | 
						||
| 
								 | 
							
								var isexe = require('isexe')
							 | 
						||
| 
								 | 
							
								isexe('some-file-name', function (err, isExe) {
							 | 
						||
| 
								 | 
							
								  if (err) {
							 | 
						||
| 
								 | 
							
								    console.error('probably file does not exist or something', err)
							 | 
						||
| 
								 | 
							
								  } else if (isExe) {
							 | 
						||
| 
								 | 
							
								    console.error('this thing can be run')
							 | 
						||
| 
								 | 
							
								  } else {
							 | 
						||
| 
								 | 
							
								    console.error('cannot be run')
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// same thing but synchronous, throws errors
							 | 
						||
| 
								 | 
							
								var isExe = isexe.sync('some-file-name')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// treat errors as just "not executable"
							 | 
						||
| 
								 | 
							
								isexe('maybe-missing-file', { ignoreErrors: true }, callback)
							 | 
						||
| 
								 | 
							
								var isExe = isexe.sync('maybe-missing-file', { ignoreErrors: true })
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## API
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `isexe(path, [options], [callback])`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Check if the path is executable.  If no callback provided, and a
							 | 
						||
| 
								 | 
							
								global `Promise` object is available, then a Promise will be returned.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Will raise whatever errors may be raised by `fs.stat`, unless
							 | 
						||
| 
								 | 
							
								`options.ignoreErrors` is set to true.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### `isexe.sync(path, [options])`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Same as `isexe` but returns the value and throws any errors raised.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Options
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* `ignoreErrors` Treat all errors as "no, this is not executable", but
							 | 
						||
| 
								 | 
							
								  don't raise them.
							 | 
						||
| 
								 | 
							
								* `uid` Number to use as the user id
							 | 
						||
| 
								 | 
							
								* `gid` Number to use as the group id
							 | 
						||
| 
								 | 
							
								* `pathExt` List of path extensions to use instead of `PATHEXT`
							 | 
						||
| 
								 | 
							
								  environment variable on Windows.
							 |