1
0
Fork 0
toolkit/packages/io
Danny McCormick 08db5110c6
Add io (#5)
* Add io lib

* io cleanup

* Run format script

* Fix lint errors with autofix

* Fix equality lint errors

* Rename ioUtil to io-util

* Add no-import-requires

* Run auto-fix lint

* Remove lint errors

* Use Boolean() to convert options

- `CopyOptions` on `cp` now defaults to empty
- Setting option values is easier now

* Rewrite packages/io to be fully async

* Move IS_WINDOWS into ioUtil

* DRY up cp/mv by moving shared code into move function

* Remove unc support, change isDirectory call to stat

* Tighter try catches

* more concise extensions search

* Allow isDirectory to be stat or lstat

* format

* Shell out to rm -rf

* Remove unc comment

* Export fs.promises from io-util

* Remove unknown error message

* Create an optimistic mkdirp

* Update io-util.ts

* Update io-util.ts

* Update io.test.ts

* Fix tests for mkdirP
2019-05-22 16:05:34 -04:00
..
__tests__ Add io (#5) 2019-05-22 16:05:34 -04:00
src Add io (#5) 2019-05-22 16:05:34 -04:00
README.md Add io (#5) 2019-05-22 16:05:34 -04:00
package.json Add io (#5) 2019-05-22 16:05:34 -04:00
tsconfig.json Add io (#5) 2019-05-22 16:05:34 -04:00

README.md

@actions/io

Core functions for cli filesystem scenarios

Usage

/**
 * Copies a file or folder.
 * 
 * @param     source    source path
 * @param     dest      destination path
 * @param     options   optional. See CopyOptions.
 */
export function cp(source: string, dest: string, options?: CopyOptions): Promise<void>

/**
 * Remove a path recursively with force
 * 
 * @param     path     path to remove
 */
export function rmRF(path: string): Promise<void>

/**
 * Make a directory.  Creates the full path with folders in between
 * 
 * @param     p       path to create
 * @returns   Promise<void>
 */
export function mkdirP(p: string): Promise<void>

/**
 * Moves a path.
 *
 * @param     source    source path
 * @param     dest      destination path
 * @param     options   optional. See CopyOptions.
 */
export function mv(source: string, dest: string, options?: CopyOptions): Promise<void>

/**
 * Returns path of a tool had the tool actually been invoked.  Resolves via paths.
 * 
 * @param     tool              name of the tool
 * @param     options           optional. See WhichOptions.
 * @returns   Promise<string>   path to tool
 */
export function which(tool: string, options?: WhichOptions): Promise<string>