customize-write-files
v4.0.4
Published
Post-processor that stores the result of a customize-run in a local directory
Downloads
13,982
Readme
customize-write-files
Post-processor that stores the result of a customize-run in a local directory
The customize module is a framework for creating overridable configurations for different
engines. It is, in principle, designed to be platform independent (that's actually only half-true).
Engines running in customize
always return file-contents as JavaScript-object in the form
{
'engineName': {
'file.txt': 'contents of the file',
'subdir/file.txt': 'contents of the other file'
}
The contents of the file may be one of the following
- A string (to be stored in the file
utf-8
-encoded) - A buffer
- A readable stream.
The goal of customize-write-files
is to act as an NodeJS-adapter for customize
and store the result of customize
in a local directory structure.
NodeJS compatibility notes
This package will always support the latest version of NodeJS and as well as the current LTS version. In the future, it will not be considered a breaking change to drop support of a pre-LTS version of NodeJS.
Installation
npm install customize-write-files
Usage
The following example demonstrates how to use this module:
const customize = require('customize')
const write = require('customize-write-files')
// Load files from one directory and merge with second
customize()
.registerEngine('less', require('customize-engine-less'))
// Add one less file
.merge({
less: {
main: require.resolve('./main.less')
}
})
.run()
// Write contents to the "target"-directory
.then(write('target'))
// Output the names of the files being written
.then(console.log)
This will generate the following output
[ 'target/main.css', 'target/main.css.map' ]
License
customize-write-files
is published under the MIT-license.
See LICENSE.md for details.
Release-Notes
For release notes, see CHANGELOG.md
Contributing guidelines
See CONTRIBUTING.md.