54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # `@actions/io`
 | ||
|  | 
 | ||
|  | > Core functions for cli filesystem scenarios
 | ||
|  | 
 | ||
|  | ## Usage
 | ||
|  | 
 | ||
|  | #### mkdir -p
 | ||
|  | 
 | ||
|  | Recursively make a directory. Follows rules specified in [man mkdir](https://linux.die.net/man/1/mkdir) with the `-p` option specified: | ||
|  | 
 | ||
|  | ``` | ||
|  | const io = require('@actions/io'); | ||
|  | 
 | ||
|  | await io.mkdirP('path/to/make'); | ||
|  | ``` | ||
|  | 
 | ||
|  | #### cp/mv
 | ||
|  | 
 | ||
|  | Copy or move files or folders. Follows rules specified in [man cp](https://linux.die.net/man/1/cp) and [man mv](https://linux.die.net/man/1/mv): | ||
|  | 
 | ||
|  | ``` | ||
|  | const io = require('@actions/io'); | ||
|  | 
 | ||
|  | // Recursive must be true for directories | ||
|  | const options = { recursive: true, force: false } | ||
|  | 
 | ||
|  | await io.cp('path/to/directory', 'path/to/dest', options); | ||
|  | await io.mv('path/to/file', 'path/to/dest'); | ||
|  | ``` | ||
|  | 
 | ||
|  | #### rm -rf
 | ||
|  | 
 | ||
|  | Remove a file or folder recursively. Follows rules specified in [man rm](https://linux.die.net/man/1/rm) with the `-r` and `-f` rules specified. | ||
|  | 
 | ||
|  | ``` | ||
|  | const io = require('@actions/io'); | ||
|  | 
 | ||
|  | await io.rmRF('path/to/directory'); | ||
|  | await io.rmRF('path/to/file'); | ||
|  | ``` | ||
|  | 
 | ||
|  | #### which
 | ||
|  | 
 | ||
|  | Get the path to a tool and resolves via paths. Follows the rules specified in [man which](https://linux.die.net/man/1/which). | ||
|  | 
 | ||
|  | ``` | ||
|  | const exec = require('@actions/exec'); | ||
|  | const io = require('@actions/io'); | ||
|  | 
 | ||
|  | const pythonPath: string = await io.which('python', true) | ||
|  | 
 | ||
|  | await exec.exec(`"${pythonPath}"`, ['main.py']); | ||
|  | ``` |