node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »

grunt-fs-inline

grunt-fs-inline

Build status GitHub version npm version Dependencies

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.

License

Zlib