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.
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");
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"
},
...
}
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.
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"
},
...
}
Maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.