fs-effects
A library for composing various file, folder, shell and watch operations in node.

$ npm install fs-effects --save
Example
import { file, folder } from 'fs-effects'
await file('foo.txt')
.write('hello world')
.exec()
await file('google.html')
.write_from('http://google.com')
.exec()
await folder('dist')
.merge_from('bin')
.add('license')
.add('readme.md')
.exec()
Reference
The following outlines the fs-effects surface api for shell, watch, folder, file. For a more comprehensive description of these functions, refer to the typescript definitions provided with this package. For general example usage, see the tasks.js file located in this project root.
shell(command)
.err(func)
.exec()
.expect(exitcode)
.log(func)
.out(func)
watch(path)
.timeout(ms)
.run(func)
.exec()
folder(path)
.add(path)
.copy_to(folder)
.contents()
.copy_to(folder)
.move_to(folder)
.delete()
.exec()
.create()
.delete()
.exec()
.exists()
.hash(algo?)
.merge_from(folder)
.move_to(folder)
.remove(name)
.rename(newname)
.size()
.stat()
file(path)
.append_from(path)
.append(data)
.copy_to(folder)
.create()
.delete()
.edit(find, replace)
.exec()
.exists()
.hash(algo?)
.move_to(folder)
.prepend_from(path)
.prepend(data)
.read(encoding?)
.rename(newname)
.size()
.stat()
.truncate()
.write_from(path)
.write(data)
Project Tasks
The following npm tasks are supported by this project.
npm run clean
npm run start
npm run test
npm run pack