jsx-middleware

0.0.1 • Public • Published

This middleware was created to allow processing of React JSX files for Connect JS framework and by extension the Express JS framework.

This module is almost an exact replica of Randy Merrill's less-middleware but adapted to work with JSX files instead of LESS. Basically, we use it and love the way the module works - but couldn't find anything as nice for JSX files. After stripping out the parts that didn't apply to JSX transforms, here it is! We use babel to do the JSX + ES6 transforms.

Installation

npm install jsx-middleware --save

Usage

jsxMiddleware(source, [{options}])

Express

var jsxMiddleware = require('jsx-middleware');
 
var app = express();
app.use(jsxMiddleware(__dirname + '/public'));
app.use(express.static(__dirname + '/public'));

options

The following options can be used to control the behavior of the middleware:

Option Description Default
debug Show more verbose logging? false
dest Destination directory to output the compiled .js files. Same directory as jsx source files.
force Always re-compile jsx files on each request. false
once Only recompile once after each server restart. Useful for reducing disk i/o on production. false
postprocess Object containing functions relevant to preprocessing data.
postprocess.js Function that modifies the compiled js output before being stored. function(js, req){...}
preprocess Object containing functions relevant to preprocessing data.
preprocess.jsx Function that modifies the raw jsx output before being parsed and compiled. function(src, req){...}
preprocess.path Function that modifies the jsx pathname before being loaded from the filesystem. function(pathname, req){...}
render Options for the jsx render. See the "render Options" section below.
storeJs Function that is in charge of storing the js in the filesystem. function(pathname, js, req, next){...}

render Options

The options.render is passed directly into the babel.transform with minimal defaults or changes by the middleware.

The following are the defaults used by the middleware:

Option Default
compact auto

About

jsx-middleware was developed by the team at Wedgies based on previous work by Ember Feather.

Wedgies is a digital survey platform that gives media, journalists and brands in-line survey capabilities inside social media, their website, and their apps — where they can collect millions of opinions from their readers and users. Wedgies is the leading social survey platform that enables publishers to collect survey respondents directly within social media streams.

Wedgies, a darling of Tony Hsieh’s Las Vegas’ Vegas Tech Fund, is backed by an all-star list of investors including Greycroft, Advancit Capital, MESA Ventures, Knight Foundation, kbs+ Ventures, Battle Born Ventures, Twilio, 500 Startups and SV Angel.

Wedgies founding team consists of top talent in developer tools and community management with experience that includes Zappos.com, Overstock.com, and Backcountry.com.

Built with Wedgies

Readme

Keywords

none

Package Sidebar

Install

npm i jsx-middleware

Weekly Downloads

1

Version

0.0.1

License

MIT

Last publish

Collaborators

  • makenai