grunt-fs-inline
v0.1.6
Published
A plugin that makes the brfs transform usable without browserify.
Downloads
61
Maintainers
Readme
grunt-fs-inline
This grunt plugin enables you to use brfs without browserify. It's useful if you want to inline external files like shader code in your JavaScript files.
Getting Started
This plugin requires Grunt >= 0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-fs-inline --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks("grunt-fs-inline");
Usage
Specify a source path src
and a destination path dest
. The destination is always relative to the source path. Directories
will be created if they don't exist. If you don't specify a clear file name with a file extension in dest
, then the name of the source
file will be used instead.
fsinline: {
taskA: {
src: "src/foo.js",
dest: "./foo.inlined.js"
},
taskB: {
src: "src/foo.js",
dest: "../other/dir"
},
...
}
Glob
You may use glob patterns in order to inline a bunch of files at once.
fsinline: {
task: {
src: "src/**/foo.js",
dest: "./bar"
}
}
The above configuration will create the sub directory bar wherever files with the name foo.js are found in src. The inlined version of
the source file will be written to a new file with the same name in the created directory, because dest
doesn't clearly specify a file name here.
Options
In addition to the underlying brfs and glob options, you may also append an arbitrary text to the inlined files.
fsinline: {
options: {
// Global options.
brfs: { ... },
glob: { ... },
append: "export default foo;"
},
taskA: {
options: {
// Local options.
brfs: null,
glob: null,
append: null
},
src: "src/a.js",
dest: "./a.inlined.js"
},
...
}
Contributing
Maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.