diff --git a/RollbarReactNative.podspec b/RollbarReactNative.podspec index 340c59b..93a63e1 100644 --- a/RollbarReactNative.podspec +++ b/RollbarReactNative.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'RollbarReactNative' - s.version = '1.0.0-beta.1' + s.version = '1.0.0-beta.2' s.summary = 'RollbarReactNative' s.description = <<-DESC RollbarReactNative is a library for interacting with the Rollbar @@ -10,7 +10,7 @@ Pod::Spec.new do |s| s.license = 'MIT' s.author = { 'Rollbar' => 'support@rollbar.com' } s.platform = :ios, '7.0' - s.source = { :git => 'https://github.com/rollbar/rollbar-react-native.git', :tag => '1.0.0-beta.1' } + s.source = { :git => 'https://github.com/rollbar/rollbar-react-native.git', :tag => '1.0.0-beta.2' } s.requires_arc = true s.dependency 'React-Core' diff --git a/android/src/main/java/com/rollbar/RollbarReactNative.java b/android/src/main/java/com/rollbar/RollbarReactNative.java index 59d3c07..f229dbb 100644 --- a/android/src/main/java/com/rollbar/RollbarReactNative.java +++ b/android/src/main/java/com/rollbar/RollbarReactNative.java @@ -30,7 +30,7 @@ public class RollbarReactNative extends ReactContextBaseJavaModule { private static final String REACT_NATIVE = "react-native"; private static final String NOTIFIER_NAME = "rollbar-react-native"; - private static final String NOTIFIER_VERSION = "1.0.0-beta.1"; + private static final String NOTIFIER_VERSION = "1.0.0-beta.2"; private static final String MANIFEST_CODE_VERSION = "com.rollbar.android.CODE_VERSION"; private ReactContext reactContext; diff --git a/ios/RollbarReactNative.m b/ios/RollbarReactNative.m index 732bcc1..d6226c9 100644 --- a/ios/RollbarReactNative.m +++ b/ios/RollbarReactNative.m @@ -15,7 +15,7 @@ @implementation RollbarReactNative static NSString *const NOTIFIER_NAME = @"rollbar-react-native"; -static NSString *const NOTIFIER_VERSION = @"1.0.0-beta.1"; +static NSString *const NOTIFIER_VERSION = @"1.0.0-beta.2"; static NSString *const REACT_NATIVE = @"react-native"; + (void)initWithConfiguration:(NSDictionary*)options { diff --git a/lib/Client.js b/lib/Client.js index fd61b7c..5aaa2c5 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -1,2 +1,2 @@ -Object.defineProperty(exports,"__esModule",{value:true});exports.Client=void 0;var _reactNative=require("react-native");var _Rollbar=_interopRequireDefault(require("./Rollbar"));var _merge=require("./merge");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var NativeClient=_reactNative.NativeModules.RollbarReactNative;var Client=function Client(config){var _this=this;_classCallCheck(this,Client);this.captureUncaughtExceptions=function(){if(_this.isNative&&typeof ErrorUtils!==undefined){var previousHandler=ErrorUtils.getGlobalHandler();ErrorUtils.setGlobalHandler(function(error,isFatal){if(_this.config.captureUncaught&&_this.config.shouldSend()){_this.error(error,undefined,function(queued){if(previousHandler){previousHandler(error,isFatal);}});}else if(previousHandler){previousHandler(error,isFatal);}});}};this.captureUnhandledRejections=function(){var tracking=require('promise/setimmediate/rejection-tracking');var client=_this;tracking.enable({allRejections:true,onUnhandled:function onUnhandled(id,error){client.error(error);},onHandled:function onHandled(){}});};this.log=function(obj,extra,callback){if(_this.isNative&&!_this.config.shouldSend()){if(callback){callback(false);}return;}_this.rollbar.log(obj,extra,callback);};this.debug=function(obj,extra,callback){return _this.rollbar.debug(obj,extra,callback);};this.info=function(obj,extra,callback){return _this.rollbar.info(obj,extra,callback);};this.warning=function(obj,extra,callback){return _this.rollbar.warning(obj,extra,callback);};this.error=function(obj,extra,callback){return _this.rollbar.error(obj,extra,callback);};this.critical=function(obj,extra,callback){return _this.rollbar.critical(obj,extra,callback);};this.setPerson=function(id,name,email){_this.rollbar.configure({},{person:{id:id,name:name,email:email}});if(NativeClient){NativeClient.setPerson({id:id,name:name,email:email});}};this.clearPerson=function(){_this.rollbar.configure({},{person:{}});if(NativeClient){NativeClient.clearPerson();}};this.isNative=_reactNative.Platform.OS!=='web';if(this.isNative){this.config=new Configuration(config);this.config.setPlatform(_reactNative.Platform.OS);if(NativeClient){NativeClient.init(this.config.toJSON());}this.rollbar=new _Rollbar.default(this.config.toJSON());this.captureUncaughtExceptions();if(this.config.captureUnhandledRejections){this.captureUnhandledRejections();}}else{this.rollbar=new _Rollbar.default(config);}};exports.Client=Client;var Configuration=function Configuration(options){var _this2=this;_classCallCheck(this,Configuration);this.shouldSend=function(){return!_this2.releaseStage||!_this2.enabledReleaseStages||_this2.enabledReleaseStages.includes(_this2.releaseStage);};this.setPlatform=function(platform){if(_this2.platform===undefined){_this2.platform=platform;}};this.payloadOptions=function(){if(!_this2.captureDeviceInfo){return{};}return{client:{os:_this2.deviceAttributes()}};};this.deviceAttributes=function(){if(NativeClient){return JSON.parse(NativeClient.deviceAttributes());}else{return{};}};this.toJSON=function(){return(0,_merge.merge)(_this2.options,{platform:_this2.platform});};var pkgData=require('../package.json');this.captureDeviceInfo=options.captureDeviceInfo===undefined?false:options.captureDeviceInfo;this.options=(0,_merge.merge)(options||{},{payload:(0,_merge.merge)(options.payload,this.payloadOptions()),notifier:{name:'rollbar-react-native',version:pkgData['version']}});}; +Object.defineProperty(exports,"__esModule",{value:true});exports.Client=void 0;var _reactNative=require("react-native");var _Rollbar=_interopRequireDefault(require("./Rollbar"));var _merge=require("./merge");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}var NativeClient=_reactNative.NativeModules.RollbarReactNative;var Client=function Client(config){var _this=this;_classCallCheck(this,Client);this.captureUncaughtExceptions=function(){if(_this.isNative&&typeof ErrorUtils!==undefined){var previousHandler=ErrorUtils.getGlobalHandler();ErrorUtils.setGlobalHandler(function(error,isFatal){if(_this.config.options.captureUncaught&&_this.config.shouldSend()){_this.error(error,undefined,function(queued){if(previousHandler){previousHandler(error,isFatal);}});}else if(previousHandler){previousHandler(error,isFatal);}});}};this.captureUnhandledRejections=function(){var tracking=require('promise/setimmediate/rejection-tracking');var client=_this;tracking.enable({allRejections:true,onUnhandled:function onUnhandled(id,error){client.error(error);},onHandled:function onHandled(){}});};this.log=function(obj,extra,callback){if(_this.isNative&&!_this.config.shouldSend()){if(callback){callback(false);}return;}_this.rollbar.log(obj,extra,callback);};this.debug=function(obj,extra,callback){return _this.rollbar.debug(obj,extra,callback);};this.info=function(obj,extra,callback){return _this.rollbar.info(obj,extra,callback);};this.warning=function(obj,extra,callback){return _this.rollbar.warning(obj,extra,callback);};this.error=function(obj,extra,callback){return _this.rollbar.error(obj,extra,callback);};this.critical=function(obj,extra,callback){return _this.rollbar.critical(obj,extra,callback);};this.setPerson=function(id,name,email){_this.rollbar.configure({},{person:{id:id,name:name,email:email}});if(NativeClient){NativeClient.setPerson({id:id,name:name,email:email});}};this.clearPerson=function(){_this.rollbar.configure({},{person:{}});if(NativeClient){NativeClient.clearPerson();}};this.isNative=_reactNative.Platform.OS!=='web';if(this.isNative){this.config=new Configuration(config);this.config.setPlatform(_reactNative.Platform.OS);if(NativeClient){NativeClient.init(this.config.toJSON());}this.rollbar=new _Rollbar.default(this.config.toJSON());this.captureUncaughtExceptions();if(this.config.captureUnhandledRejections){this.captureUnhandledRejections();}}else{this.rollbar=new _Rollbar.default(config);}};exports.Client=Client;var Configuration=function Configuration(options){var _this2=this;_classCallCheck(this,Configuration);this.shouldSend=function(){return!_this2.releaseStage||!_this2.enabledReleaseStages||_this2.enabledReleaseStages.includes(_this2.releaseStage);};this.setPlatform=function(platform){if(_this2.platform===undefined){_this2.platform=platform;}};this.payloadOptions=function(){if(!_this2.captureDeviceInfo){return{};}return{client:{os:_this2.deviceAttributes()}};};this.deviceAttributes=function(){if(NativeClient){return JSON.parse(NativeClient.deviceAttributes());}else{return{};}};this.toJSON=function(){return(0,_merge.merge)(_this2.options,{platform:_this2.platform});};var pkgData=require('../package.json');this.captureDeviceInfo=options.captureDeviceInfo===undefined?false:options.captureDeviceInfo;this.options=(0,_merge.merge)(options||{},{payload:(0,_merge.merge)(options.payload,this.payloadOptions()),notifier:{name:'rollbar-react-native',version:pkgData['version']}});}; //# sourceMappingURL=Client.js.map \ No newline at end of file diff --git a/lib/Client.js.map b/lib/Client.js.map index 3cd39cb..1555b5c 100644 --- a/lib/Client.js.map +++ b/lib/Client.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/Client.js"],"names":["NativeClient","NativeModules","RollbarReactNative","Client","config","captureUncaughtExceptions","isNative","ErrorUtils","undefined","previousHandler","getGlobalHandler","setGlobalHandler","error","isFatal","captureUncaught","shouldSend","queued","captureUnhandledRejections","tracking","require","client","enable","allRejections","onUnhandled","id","onHandled","log","obj","extra","callback","rollbar","debug","info","warning","critical","setPerson","name","email","configure","person","clearPerson","Platform","OS","Configuration","setPlatform","init","toJSON","Rollbar","options","releaseStage","enabledReleaseStages","includes","platform","payloadOptions","captureDeviceInfo","os","deviceAttributes","JSON","parse","pkgData","payload","notifier","version"],"mappings":"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","sourcesContent":["import { Platform, NativeModules } from 'react-native';\nimport Rollbar from './Rollbar';\nimport { merge } from './merge';\n\nconst NativeClient = NativeModules.RollbarReactNative;\n\nexport class Client {\n constructor(config) {\n this.isNative = Platform.OS !== 'web';\n\n if (this.isNative) {\n this.config = new Configuration(config);\n this.config.setPlatform(Platform.OS);\n\n if (NativeClient) {\n NativeClient.init(this.config.toJSON());\n }\n\n this.rollbar = new Rollbar(this.config.toJSON());\n\n this.captureUncaughtExceptions();\n if (this.config.captureUnhandledRejections) {\n this.captureUnhandledRejections();\n }\n } else {\n this.rollbar = new Rollbar(config);\n }\n }\n\n captureUncaughtExceptions = () => {\n if (this.isNative && typeof ErrorUtils !== undefined) {\n const previousHandler = ErrorUtils.getGlobalHandler();\n\n ErrorUtils.setGlobalHandler((error, isFatal) => {\n if (this.config.captureUncaught && this.config.shouldSend()) {\n this.error(error, undefined, (queued) => {\n if (previousHandler) {\n previousHandler(error, isFatal);\n }\n });\n } else if (previousHandler) {\n previousHandler(error, isFatal);\n }\n });\n }\n }\n\n captureUnhandledRejections = () => {\n const tracking = require('promise/setimmediate/rejection-tracking');\n const client = this;\n tracking.enable({\n allRejections: true,\n onUnhandled: function(id, error) { client.error(error); },\n onHandled: function() {}\n });\n }\n\n log = (obj, extra, callback) => {\n if (this.isNative && !this.config.shouldSend()) {\n if (callback) {\n callback(false);\n }\n return;\n }\n\n this.rollbar.log(obj, extra, callback);\n }\n\n debug = (obj, extra, callback) => {\n return this.rollbar.debug(obj, extra, callback);\n }\n\n info = (obj, extra, callback) => {\n return this.rollbar.info(obj, extra, callback);\n }\n\n warning = (obj, extra, callback) => {\n return this.rollbar.warning(obj, extra, callback);\n }\n\n error = (obj, extra, callback) => {\n return this.rollbar.error(obj, extra, callback);\n }\n\n critical = (obj, extra, callback) => {\n return this.rollbar.critical(obj, extra, callback);\n }\n\n setPerson = (id, name, email) => {\n this.rollbar.configure({}, {person: {id, name, email}});\n if (NativeClient) {\n NativeClient.setPerson({id, name, email});\n }\n }\n\n clearPerson = () => {\n this.rollbar.configure({}, {person: {}});\n if (NativeClient) {\n NativeClient.clearPerson();\n }\n }\n}\n\nclass Configuration {\n constructor(options) {\n const pkgData = require('../package.json');\n\n // Ensure captureDeviceInfo is set before calling payloadOptions() below.\n this.captureDeviceInfo = options.captureDeviceInfo === undefined ? false : options.captureDeviceInfo;\n\n this.options = merge(options || {}, {\n payload: merge(options.payload, this.payloadOptions()),\n notifier: {\n name: 'rollbar-react-native',\n version: pkgData['version']\n }\n });\n }\n\n shouldSend = () => {\n return !this.releaseStage ||\n !this.enabledReleaseStages ||\n this.enabledReleaseStages.includes(this.releaseStage);\n }\n\n setPlatform = (platform) => {\n if (this.platform === undefined) {\n this.platform = platform;\n }\n }\n\n payloadOptions = () => {\n if (!this.captureDeviceInfo) {\n return {};\n }\n\n return {\n client: {\n os: this.deviceAttributes()\n }\n }\n }\n\n deviceAttributes = () => {\n if (NativeClient) {\n return JSON.parse(NativeClient.deviceAttributes());\n } else {\n return {};\n }\n }\n\n toJSON = () => {\n return merge(this.options, {\n platform: this.platform\n });\n }\n}\n"],"file":"Client.js"} \ No newline at end of file +{"version":3,"sources":["../src/Client.js"],"names":["NativeClient","NativeModules","RollbarReactNative","Client","config","captureUncaughtExceptions","isNative","ErrorUtils","undefined","previousHandler","getGlobalHandler","setGlobalHandler","error","isFatal","options","captureUncaught","shouldSend","queued","captureUnhandledRejections","tracking","require","client","enable","allRejections","onUnhandled","id","onHandled","log","obj","extra","callback","rollbar","debug","info","warning","critical","setPerson","name","email","configure","person","clearPerson","Platform","OS","Configuration","setPlatform","init","toJSON","Rollbar","releaseStage","enabledReleaseStages","includes","platform","payloadOptions","captureDeviceInfo","os","deviceAttributes","JSON","parse","pkgData","payload","notifier","version"],"mappings":"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","sourcesContent":["import { Platform, NativeModules } from 'react-native';\nimport Rollbar from './Rollbar';\nimport { merge } from './merge';\n\nconst NativeClient = NativeModules.RollbarReactNative;\n\nexport class Client {\n constructor(config) {\n this.isNative = Platform.OS !== 'web';\n\n if (this.isNative) {\n this.config = new Configuration(config);\n this.config.setPlatform(Platform.OS);\n\n if (NativeClient) {\n NativeClient.init(this.config.toJSON());\n }\n\n this.rollbar = new Rollbar(this.config.toJSON());\n\n this.captureUncaughtExceptions();\n if (this.config.captureUnhandledRejections) {\n this.captureUnhandledRejections();\n }\n } else {\n this.rollbar = new Rollbar(config);\n }\n }\n\n captureUncaughtExceptions = () => {\n if (this.isNative && typeof ErrorUtils !== undefined) {\n const previousHandler = ErrorUtils.getGlobalHandler();\n\n ErrorUtils.setGlobalHandler((error, isFatal) => {\n if (this.config.options.captureUncaught && this.config.shouldSend()) {\n this.error(error, undefined, (queued) => {\n if (previousHandler) {\n previousHandler(error, isFatal);\n }\n });\n } else if (previousHandler) {\n previousHandler(error, isFatal);\n }\n });\n }\n }\n\n captureUnhandledRejections = () => {\n const tracking = require('promise/setimmediate/rejection-tracking');\n const client = this;\n tracking.enable({\n allRejections: true,\n onUnhandled: function(id, error) { client.error(error); },\n onHandled: function() {}\n });\n }\n\n log = (obj, extra, callback) => {\n if (this.isNative && !this.config.shouldSend()) {\n if (callback) {\n callback(false);\n }\n return;\n }\n\n this.rollbar.log(obj, extra, callback);\n }\n\n debug = (obj, extra, callback) => {\n return this.rollbar.debug(obj, extra, callback);\n }\n\n info = (obj, extra, callback) => {\n return this.rollbar.info(obj, extra, callback);\n }\n\n warning = (obj, extra, callback) => {\n return this.rollbar.warning(obj, extra, callback);\n }\n\n error = (obj, extra, callback) => {\n return this.rollbar.error(obj, extra, callback);\n }\n\n critical = (obj, extra, callback) => {\n return this.rollbar.critical(obj, extra, callback);\n }\n\n setPerson = (id, name, email) => {\n this.rollbar.configure({}, {person: {id, name, email}});\n if (NativeClient) {\n NativeClient.setPerson({id, name, email});\n }\n }\n\n clearPerson = () => {\n this.rollbar.configure({}, {person: {}});\n if (NativeClient) {\n NativeClient.clearPerson();\n }\n }\n}\n\nclass Configuration {\n constructor(options) {\n const pkgData = require('../package.json');\n\n // Ensure captureDeviceInfo is set before calling payloadOptions() below.\n this.captureDeviceInfo = options.captureDeviceInfo === undefined ? false : options.captureDeviceInfo;\n\n this.options = merge(options || {}, {\n payload: merge(options.payload, this.payloadOptions()),\n notifier: {\n name: 'rollbar-react-native',\n version: pkgData['version']\n }\n });\n }\n\n shouldSend = () => {\n return !this.releaseStage ||\n !this.enabledReleaseStages ||\n this.enabledReleaseStages.includes(this.releaseStage);\n }\n\n setPlatform = (platform) => {\n if (this.platform === undefined) {\n this.platform = platform;\n }\n }\n\n payloadOptions = () => {\n if (!this.captureDeviceInfo) {\n return {};\n }\n\n return {\n client: {\n os: this.deviceAttributes()\n }\n }\n }\n\n deviceAttributes = () => {\n if (NativeClient) {\n return JSON.parse(NativeClient.deviceAttributes());\n } else {\n return {};\n }\n }\n\n toJSON = () => {\n return merge(this.options, {\n platform: this.platform\n });\n }\n}\n"],"file":"Client.js"} \ No newline at end of file diff --git a/package.json b/package.json index 99e50bc..ca45d48 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rollbar-react-native", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "description": "Library for reporting errors to Rollbar from React Native apps", "main": "index.js", "repository": "https://github.com/rollbar/rollbar-react-native.git",