brfs-babel

like brfs, but built on top of babel for es2015

Showing:

Popularity

Downloads/wk

71

GitHub Stars

18

Maintenance

Last Commit

6yrs ago

Contributors

1

Package

Dependencies

3

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

brfs-babel

experimental

This is like brfs, a browserify transform to inline static files, but built on top of Babel and its AST manipulations. This provides some new features, like ES2015 import support, various additional edge cases, cleaner code output, and source maps.

However, since this is a re-write and work in progress, this has some limitations and currently only supports fs.readFileSync and fs.readdirSync.

Install

npm install brfs-babel --save

Usage

Once installed, you can use it as a replacement for brfs transform:

browserify index.js -t brfs-babel

It will handle ES2015 syntax, so it can be ordered before or after babelify. Or, you can choose to avoid babelify altogether, e.g. if you are targeting a new version of Node/Chrome/FF.

import { readFileSync } from 'fs';
import { join } from 'path';
const src = readFileSync(join(__dirname, 'hello.txt'), 'utf8');

And hello.txt is a text file containing the string "Hello, world!".

After transformation:

import { join } from 'path';
const src = 'Hello, World!';

Limitations

The following fs functions are supported:

  • fs.readFileSync(filepath, [enc])
  • fs.readdirSync(filepath)

The following path functions will be evaluated statically when they are found inside the arguments of the above calls:

  • path.join()
  • path.resolve()

Some test cases are failing from brfs. This includes dynamic variables like this:

const path = '/foo.txt';
fs.readFileSync(__dirname + path, 'utf8');

As well as inline CommonJS usage, like this:

require('fs').readFileSync(__dirname + '/foo.txt', 'utf8');

License

MIT, see LICENSE.md for details.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial