mutiny
Recursively mutates files in a given directory.
var through = ;var mutiny = ; { return } var readdirpOpts = root: __dirname + '/root' ;
# assuming trim-leading is a transform installed as a node_module mutiny ./root -t ./local-transform/toUpper.js -t trim-leading -o ./out
Installation
npm install mutiny
API
-
mutiny(mutinyopts, readopts) → {ReadStream}
-
Mutates the files of a directory recursively applying specified transform and/or a rename function. The transformed files are saved into the outdir and directory structure is maintained.
Parameters:
Name Type Description mutinyopts
Object Properties
Name Type Description outdir:
String the root of the directory to which to write the transformed/renamed files
transform:
Array.<(function()|String)> that transform each file's content
transform function signature:
function(String):TransformStream
Note: each transform can be a function or a name of an installed transform or a path to a local module
rename:
function renames each file
signature:
function ({String} outfile, {String} outdir, {String} relativeOutfile) : {String} outfile
getOutStream:
function allows overriding the defaultOutStream in case rename is not sufficient
signature:
function ({String} outfile, {String} outdir, {String} relativeOutfile) : {WriteStream}
readopts
Object options passed through to readdirp
Properties
Name Type Description root
String the
root
of the source directory that needs to be specifiedReturns:
which emits 'error' and or 'data' to update mutiny's progress
- Type
- ReadStream
-
transformContent(progress, transforms)
-
Runs all transforms on the content of all files that are piped into its file stream. Reports progress by pushing into the @see progress stream.
Parameters:
Name Type Description progress
Stream into which progress data is pushed
transforms
Array.<function(String): Stream> functions that return a transform stream when invoked with a path to a file - signature of each transform:
function ({String} file) : {TransformStream}
- Source:
generated with docme
More Examples
Please find more examples in the examples directory and consult the tests
License
MIT