rfileify

Convert any code using rfile and derivatives so that it supports browserify

rfileify

Convert any code using rfile and derivatives so that it supports browserify.

This module is a plugin for browserify to parse the AST for rfile calls so that you can inline the file contents into your bundles.

In addition to supporting rfile, you can also use modules which internally use rfile providing they meet the simple requirement of taking an object with dirname property as their second argument and are listed in the array of valid file names modules in index.js. Currently this is:

  • rfile - "require" static text files
  • ruglify - "require" minified source code
  • rhtml - "require" minified HTML

Even though this module is intended for use with browserify, nothing about it is particularly specific to browserify so it should be generally useful in other projects.

For a main.js

var rfile = require('rfile');
var html = rfile('./robot.html');
console.log(html);

And a robot.html

<b>beep boop</b>

first npm install rfileify into your project, then:

$ browserify -t rfileify example/main.js > bundle.js

now in the bundle output file,

var html = rfile('./robot.html');

turns into:

var html = "<b>beep boop</b>";

(and require('rfile') turns into so you're not loading code you're never going to use).

var browserify = require('browserify');
var fs = require('fs');
 
var b = browserify('example/main.js');
b.transform('rfileify');
 
b.bundle().pipe(fs.createWriteStream('bundle.js'));

A tiny command-line program ships with this module for easier debugging and if you just want this without any of the rest of browserify.

npm install rfileify -g
rfileify --help

MIT