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: {
brfs: { ... },
glob: { ... },
append: "export default foo;"
},
taskA: {
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.
License
Zlib