React preset for Jitesoft javascript projects which uses babel.
Includes the following presets and plugins:
@jitesoft/preset-main
@babel/plugin-transform-react-display-name
@babel/plugin-transform-react-jsx
@babel/plugin-syntax-jsx
@babel/plugin-transform-react-inline-elements *
@babel/plugin-transform-react-constant-elements *
@babel/plugin-transform-react-jsx-compat *
* Packages will only be used if they are added to the include
array of the options object.
If babel is in development mode, the following plugins will be enabled:
@babel/plugin-transform-react-jsx-source
@babel/plugin-transform-react-jsx-self
Requires corejs (v 3+)
and @babel/core
.
Other than the default presets in @jitesoft/babel-preset-main
, the following options
are available:
-
useBuiltIns
(boolean) - Use built ins instead of polyfill. Uses same value as passed for the main preset (defaults tofalse
). -
include
(array) - Addition for the three plugins marked with*
in the above list (defaults to empty array).
The following options are prefixed with 'react' and corresponds to the options of the transform-react-jsx
plugin.
(Prefixed with react.
since v2.0.0).
-
react.useSpread
(boolean) - Uses js props spread instead of babel helper. Defaults tofalse
. -
react.throwIfNamespace
(boolean) - Makes babel throw an error if using xml namespaces. Defaults totrue
. -
react.runtime
(string) -classic
orautomatic
, defaults toclassic
.
if runtime is set to classic
(default) the following options are available:
-
react.pragma
(string) - Defines which create element method to use. Defaults toReact.createElement
. -
react.pragmaFrag
(string) - Defines which Fragment component to use. Defaults toReact.Fragment
.
if runtime is set to automatic
the following options are available:
-
react.importSource
(string) - defaults toreact
.