| 
									
										
										
										
											2019-08-16 09:43:51 -04:00
										 |  |  | # `@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']); | 
					
						
							|  |  |  | ``` |