Skip to content

Latest commit

 

History

History

react-loader

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

@constgen/neutrino-react-loader

npm npm

Neutrino middleware for React files

This middleware already includes @constgen/neutrino-babel-loader

Features

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

Requirements

  • Node.js v10+
  • Neutrino v9
  • Webpack v4

Installation

@constgen/neutrino-react-loader can be installed from NPM. You should install it to "dependencies" (--save) or "devDependncies" (--save-dev) depending on your goal.

npm install --save @constgen/neutrino-react-loader

Usage

In preset

Require this package and plug it into Neutrino. The following shows how you can pass an options object to the middleware, showing the defaults:

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

neutrino.use(reactLoader({
   browsers: undefined // inherit config from `.browserslistrc` or disable if absent
}))

In neutrinorc

The middleware also may be used together with another presets in Neutrino rc-file, e.g.:

.neutrinorc.js

let reactLoader = require('@constgen/neutrino-react-loader')

module.exports = {
   use: [
      reactLoader()
   ]
}