Strip `Reactotron` from production builds for Ignite-based apps (using `ignite-ir-boilerplate`).
npm install babel-plugin-ignite-ignore-reactotronStrip Reactotron from production builds for Ignite-based apps (using ignite-ir-boilerplate).
This is beta software.
Please give it a try and lemme know if it doesn't work for you. It should work on any ignite-ir-boilerplate-based Ignite app. If you have any problems, let me know. I'd love to create a generic babel plugin for any Reactotron-based app, not just Ignite.
I recommend you don't ship with Reactotron since it's a debugging tool. The problem is, you've already installed it as a dev dependency and peppered a bunch of console.tron statements everywhere.
So rather than go any deeper with if statements, this babel plugin will transform your code to ditch Reactotron in production.
``sh`via npm
npm i --save-dev babel-plugin-ignite-ignore-reactotronvia yarn
yard add -D babel-plugin-ignite-ignore-reactotron
Modify your .babelrc in your home directory to add this plugin.
`json`
{
"presets": ["react-native"],
"env": {
"production": {
"plugins": ["ignite-ignore-reactotron"]
}
}
}
1. Everywhere you have console.tron.log() or .display or .error (etc) will be deleted.console.tron
1. Everywhere there is a by itself, it will become false.import './App/Config/ReactotronConfig'
1. will be removed from index.ios.js and index.android.js.import
1. Any or require with the word reactotron will be removed.console.tron.overlay(App)
1. will become App in App/Containers/App.jsconsole.tron.createSagaMonitor()
1. will become null in App/Redux/CreateStore.jsconsole.tron.createStore
1. will become createStore in App/Redux/CreateStore.js
To give this a trial-run in production mode:
`sh`
react-native run-ios --configuration Release
* Richard Evans for helping me debug the babel env environment.
* James Kyle for the amazing babel handbook.
- Fixes console.tron.log()` calls with a noop to play nice inside catch blocks. (@skellock)
- Adds recipe for running only in production mode. (@rmevans9)
- Initial release