Neutrino middleware for React files
npm install @constgen/neutrino-react-loader

Neutrino middleware for React files
This middleware already includes @constgen/neutrino-babel-loader
This middleware enables many features by default with zero configuration
- Typescript support
- Decorators
- Class properties
- Babel transpilation according to browserlist
- EcmaScript polyfills
- Automatic React runtime inject to every JSX file
- Resolve URLs in JSX like in HTML for these elements: img[src], link[href], Image[src], video[src], video[poster], Video[src], source[src], audio[src], Audio[src]
- Remove prop types in production
- Node.js v10+
- Neutrino v9
- Webpack v4
@constgen/neutrino-react-loader can be installed from NPM. You should install it to "dependencies" (--save) or "devDependncies" (--save-dev) depending on your goal.
``bash`
npm install --save @constgen/neutrino-react-loader
Require this package and plug it into Neutrino. The following shows how you can pass an options object to the middleware, showing the defaults:
`js
let reactLoader = require('@constgen/neutrino-react-loader')
neutrino.use(reactLoader({
babel : {}, // custom Babel options
polyfills: false, // enable EcmaScript polyfills
browsers : ['defaults'], // replace browserlist config
node : undefined, // node version in case of server rendering
include : [], // include strategy is always used and you can only extend what is included besides neutrino.options.source and neutrino.options.tests`
exclude : [] // exclude something from processing that is included
}))
You may enable usage of .browserslistrc file in your project by setting browsers option to any falsy value
`js.browserslistrc
neutrino.use(reactLoader({
browsers: undefined // inherit config from or disable if absent`
}))
The middleware also may be used together with another presets in Neutrino rc-file, e.g.:
.neutrinorc.js
`js
let reactLoader = require('@constgen/neutrino-react-loader')
module.exports = {
use: [
reactLoader()
]
}
``