babel-middleware-stzhang

Express/Connect middleware to pre-process requested JS files through Babel

Usage no npm install needed!

<script type="module">
  import babelMiddlewareStzhang from 'https://cdn.skypack.dev/babel-middleware-stzhang';
</script>

README

babel-middleware-stzhang

Simple Express/Connect middleware to automatically transpile JavaScript files from ES2015+ to ES5 via Babel, and cache the results to memory or the file-system as desired.

Usage

var express = require('express');
var babel = require('babel-middleware-stzhang');
var app = express();

app.use('/js/', babel({
    srcPath: 'app/js',
    cachePath: __dirname + '/_cache'
    babelOptions: {
        presets: ['es2015']
    }
}));

app.listen(3001);

Options

srcPath: '/path/to/js/'

An absolute or relative path to the input source. This option is required.

cachePath: '/path/to/cache/'|'memory'

Use either memory for an in-memory cache; or a path to the desired cache directory (it does not need to exist when the app starts).

Default: memory

exclude: ['production/example/*.js']

An array of path globs to exclude from transpiling and caching. Returns the originally requested file. See Micromatch documentation for globbing examples. Exclusions do not match against srcPath.

Default: []

babelOptions: {}

An options object passed into babel.transformFile. See Babel documentation for usage.

debug: true|false

Print debug output.

Default: false

LICENSE

Apache 2.0.