/rfileify

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

Primary LanguageJavaScriptMIT LicenseMIT

THIS MODULES IS NO LONGER MAINTAINED

rfileify

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

Build Status Dependency Status

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.

Example with Browserify

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:

on the command-line

$ 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 undefined so you're not loading code you're never going to use).

or with the API

var browserify = require('browserify');
var fs = require('fs');

var b = browserify('example/main.js');
b.transform('rfileify');

b.bundle().pipe(fs.createWriteStream('bundle.js'));

Direct Usage

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

License

MIT

viewcount