Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

babel-plugin-ignite-ignore-reactotron

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-plugin-ignite-ignore-reactotron

Strip `Reactotron` from production builds for Ignite-based apps (using `ignite-ir-boilerplate`).

  • 0.3.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2.4K
decreased by-14.29%
Maintainers
1
Weekly downloads
 
Created
Source

babel-plugin-ignite-ignore-reactotron

Strip Reactotron from production builds for Ignite-based apps (using ignite-ir-boilerplate).

YOLO

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.

Overview

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.

Usage

# via npm
npm i --save-dev babel-plugin-ignite-ignore-reactotron
# via yarn
yard add -D babel-plugin-ignite-ignore-reactotron

Modify your .babelrc in your home directory to add this plugin.

{
  "presets": ["react-native"],
  "env": {
    "production": {
      "plugins": ["ignite-ignore-reactotron"]
    }
  }
}

Files Affected

  1. Everywhere you have console.tron.log() or .display or .error (etc) will be deleted.
  2. Everywhere there is a console.tron by itself, it will become false.
  3. import './App/Config/ReactotronConfig' will be removed from index.ios.js and index.android.js.
  4. Any import or require with the word reactotron will be removed.
  5. console.tron.overlay(App) will become App in App/Containers/App.js
  6. console.tron.createSagaMonitor() will become null in App/Redux/CreateStore.js
  7. console.tron.createStore will become createStore in App/Redux/CreateStore.js

Testing First

To give this a trial-run in production mode:

react-native run-ios --configuration Release

Thanks

  • Richard Evans for helping me debug the babel env environment.
  • James Kyle for the amazing babel handbook.

Change Log

0.3.0 - June 17, 2017

  • Fixes console.tron.log() calls with a noop to play nice inside catch blocks. (@skellock)

0.2.0 - June 7, 2017

  • Adds recipe for running only in production mode. (@rmevans9)

0.1.0 - June 6, 2017

  • Initial release

FAQs

Package last updated on 17 Jun 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc