Source code for ievv_opensource.utils.ievvbuildstatic.browserify_reactjsbuild

from . import browserify_babelbuild


[docs]class Plugin(browserify_babelbuild.Plugin): """ Browserify javascript babel build plugin. Examples: Simple example:: IEVVTASKS_BUILDSTATIC_APPS = ievvbuildstatic.config.Apps( ievvbuildstatic.config.App( appname='demoapp', version='1.0.0', plugins=[ ievvbuildstatic.browserify_reactjsbuild.Plugin( sourcefile='app.js', destinationfile='app.js', ), ] ) ) Custom source folder example:: IEVVTASKS_BUILDSTATIC_APPS = ievvbuildstatic.config.Apps( ievvbuildstatic.config.App( appname='demoapp', version='1.0.0', plugins=[ ievvbuildstatic.browserify_reactjsbuild.Plugin( sourcefolder=os.path.join('scripts', 'javascript', 'api'), sourcefile='api.js', destinationfile='api.js', ), ] ) ) """ name = 'browserify_reactjsbuild'
[docs] def install(self): """ Installs the ``babel-preset-react`` NPM package in addition to the packages installed by :meth:`ievv_opensource.utils.ievvbuildstatic.browserify_babelbuild.Plugin.install`. The packages are installed with no version specified, so you probably want to freeze the versions using the :class:`ievv_opensource.utils.ievvbuildstatic.npminstall.Plugin` plugin. """ super(Plugin, self).install() self.app.get_installer('npm').queue_install( 'babel-preset-react')
[docs] def get_babel_presets(self): """ Adds ``react`` to the babelify presets added by :meth:`ievv_opensource.utils.ievvbuildstatic.browserify_babelbuild.Plugin.get_babel_presets`. """ return super(Plugin, self).get_babel_presets() + [ 'react', ]
[docs] def get_watch_extensions(self): return super(Plugin, self).get_watch_extensions() + [ '.jsx' ]