diff --git a/examples/browser/app.jsx b/examples/browser/app.jsx index 9e901ff..3e250ea 100644 --- a/examples/browser/app.jsx +++ b/examples/browser/app.jsx @@ -1,12 +1,13 @@ var React = require('react'); var ReactDOM = require('react-dom'); +var createReactClass = require('create-react-class'); var Experiment = require("../../lib/Experiment"); var Variant = require("../../lib/Variant"); var experimentDebugger = require("../../lib/debugger"); experimentDebugger.enable(); -var App = React.createClass({ +var App = createReactClass({ render() { return

Experiment 1

diff --git a/examples/isomorphic/Component.jsx b/examples/isomorphic/Component.jsx index 4c041cf..a686466 100644 --- a/examples/isomorphic/Component.jsx +++ b/examples/isomorphic/Component.jsx @@ -1,8 +1,9 @@ var React = require("react"); +var createReactClass = require('create-react-class'); var Experiment = require("../../lib/Experiment"); var Variant = require("../../lib/Variant"); -module.exports = React.createClass({ +module.exports = createReactClass({ propTypes: { userIdentifier: React.PropTypes.string.isRequired }, diff --git a/src/debugger.jsx b/src/debugger.jsx index ffc00ab..badb5c3 100644 --- a/src/debugger.jsx +++ b/src/debugger.jsx @@ -1,5 +1,6 @@ import React from 'react'; import ReactDOM from 'react-dom'; +import createReactClass from 'create-react-class'; import emitter from "./emitter"; import {canUseDOM} from 'fbjs/lib/ExecutionEnvironment'; @@ -78,7 +79,7 @@ if(process.env.NODE_ENV === "production" || !canUseDOM) { style = null; } } - const Debugger = React.createClass({ + const Debugger = createReactClass({ displayName: "Pushtell.Debugger", getInitialState(){ return { diff --git a/test/browser/core.test.jsx b/test/browser/core.test.jsx index 6515120..5291405 100644 --- a/test/browser/core.test.jsx +++ b/test/browser/core.test.jsx @@ -1,5 +1,6 @@ import React from "react"; import ReactDOM from "react-dom"; +import createReactClass from 'create-react-class'; import Experiment from "../../src/CoreExperiment.jsx"; import Variant from "../../src/Variant.jsx"; import emitter from "../../src/emitter.jsx"; @@ -22,7 +23,7 @@ describe("Core Experiment", function() { }); it("should render the correct variant.", co.wrap(function *(){ let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
@@ -41,7 +42,7 @@ describe("Core Experiment", function() { })); it("should error if invalid children exist.", co.wrap(function *(){ let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
@@ -71,7 +72,7 @@ describe("Core Experiment", function() { let getValueB = function() { return "B"; } - let App = React.createClass({ + let App = createReactClass({ getInitialState: function(){ return { value: getValueA @@ -105,7 +106,7 @@ describe("Core Experiment", function() { })); it("should update the children when props change.", co.wrap(function *(){ let experimentName = UUID.v4(); - let SubComponent = React.createClass({ + let SubComponent = createReactClass({ render(){ return (
@@ -114,7 +115,7 @@ describe("Core Experiment", function() { ) } }); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return diff --git a/test/browser/debugger.test.jsx b/test/browser/debugger.test.jsx index fdd5d21..e199dc4 100644 --- a/test/browser/debugger.test.jsx +++ b/test/browser/debugger.test.jsx @@ -1,5 +1,6 @@ import React from "react"; import ReactDOM from "react-dom"; +import createReactClass from 'create-react-class'; import Experiment from "../../src/CoreExperiment.jsx"; import Variant from "../../src/Variant.jsx"; import experimentDebugger from "../../src/debugger.jsx"; @@ -45,7 +46,7 @@ describe("Debugger", function() { }); it("should enable and disable.", co.wrap(function *(){ let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
@@ -72,7 +73,7 @@ describe("Debugger", function() { }); it("should change an experiment's value.", co.wrap(function *(){ let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
diff --git a/test/browser/emitter.test.jsx b/test/browser/emitter.test.jsx index 814e912..a228e95 100644 --- a/test/browser/emitter.test.jsx +++ b/test/browser/emitter.test.jsx @@ -1,5 +1,6 @@ import React from "react"; import ReactDOM from "react-dom"; +import createReactClass from 'create-react-class'; import Experiment from "../../src/CoreExperiment.jsx"; import Variant from "../../src/Variant.jsx"; import emitter from "../../src/emitter.jsx"; @@ -38,7 +39,7 @@ describe("Emitter", function() { }; let playSubscription = emitter.addPlayListener(experimentName, playCallback); let playSubscriptionGlobal = emitter.addPlayListener(playCallbackGlobal); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
@@ -70,7 +71,7 @@ describe("Emitter", function() { }; let winSubscription = emitter.addWinListener(experimentName, winCallback); let winSubscriptionGlobal = emitter.addWinListener(winCallbackGlobal); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
@@ -103,7 +104,7 @@ describe("Emitter", function() { }; let winSubscription = emitter.addWinListener(experimentName, winCallback); let winSubscriptionGlobal = emitter.addWinListener(winCallbackGlobal); - let App = React.createClass({ + let App = createReactClass({ onClickVariant: function(e){ this.refs.experiment.win(); }, @@ -140,7 +141,7 @@ describe("Emitter", function() { }; let activeVariantSubscription = emitter.addActiveVariantListener(experimentName, activeVariantCallback); let activeVariantSubscriptionGlobal = emitter.addActiveVariantListener(activeVariantCallbackGlobal); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return A @@ -160,7 +161,7 @@ describe("Emitter", function() { })); it("should get the experiment value.", co.wrap(function *(){ let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return A @@ -176,7 +177,7 @@ describe("Emitter", function() { })); it("should update the rendered component.", co.wrap(function *(){ let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
@@ -201,7 +202,7 @@ describe("Emitter", function() { it("should report active components.", co.wrap(function *(){ let experimentNameA = UUID.v4(); let experimentNameB = UUID.v4(); - let AppA = React.createClass({ + let AppA = createReactClass({ render: function(){ return
@@ -209,7 +210,7 @@ describe("Emitter", function() { ; } }); - let AppB = React.createClass({ + let AppB = createReactClass({ render: function(){ return
@@ -217,7 +218,7 @@ describe("Emitter", function() { ; } }); - let AppCombined = React.createClass({ + let AppCombined = createReactClass({ render: function(){ return
diff --git a/test/browser/experiment.test.jsx b/test/browser/experiment.test.jsx index e17b6c6..91874a1 100644 --- a/test/browser/experiment.test.jsx +++ b/test/browser/experiment.test.jsx @@ -1,5 +1,6 @@ import React from "react"; import ReactDOM from "react-dom"; +import createReactClass from 'create-react-class'; import Experiment from "../../src/Experiment.jsx"; import Variant from "../../src/Variant.jsx"; import emitter from "../../src/emitter.jsx"; @@ -52,7 +53,7 @@ describe("Experiment", function() { for(let i = 0; i < 100; i++) { variantNames.push(UUID.v4()); } - let App = React.createClass({ + let App = createReactClass({ render: function(){ return {variantNames.map(name => { @@ -73,7 +74,7 @@ describe("Experiment", function() { variantNames.push(UUID.v4()); } let defaultVariantName = variantNames[Math.floor(Math.random() * variantNames.length)]; - let AppWithdefaultVariantName = React.createClass({ + let AppWithdefaultVariantName = createReactClass({ render: function(){ return {variantNames.map(name => { @@ -82,7 +83,7 @@ describe("Experiment", function() { ; } }); - let AppWithoutdefaultVariantName = React.createClass({ + let AppWithoutdefaultVariantName = createReactClass({ render: function(){ return {variantNames.map(name => { @@ -106,7 +107,7 @@ describe("Experiment", function() { })); it("should error if variants are added to a experiment after a variant was selected.", co.wrap(function *(){ let experimentName = UUID.v4(); - let AppPart1 = React.createClass({ + let AppPart1 = createReactClass({ onClickVariant: function(e){ this.refs.experiment.win(); }, @@ -117,7 +118,7 @@ describe("Experiment", function() { ; } }); - let AppPart2 = React.createClass({ + let AppPart2 = createReactClass({ onClickVariant: function(e){ this.refs.experiment.win(); }, @@ -148,7 +149,7 @@ describe("Experiment", function() { it("should not error if variants are added to a experiment after a variant was selected if variants were defined.", co.wrap(function *(){ let experimentName = UUID.v4(); emitter.defineVariants(experimentName, ["A", "B", "C", "D"]); - let AppPart1 = React.createClass({ + let AppPart1 = createReactClass({ onClickVariant: function(e){ this.refs.experiment.win(); }, @@ -159,7 +160,7 @@ describe("Experiment", function() { ; } }); - let AppPart2 = React.createClass({ + let AppPart2 = createReactClass({ onClickVariant: function(e){ this.refs.experiment.win(); }, @@ -182,7 +183,7 @@ describe("Experiment", function() { it("should error if a variant is added to an experiment after variants were defined.", co.wrap(function *(){ let experimentName = UUID.v4(); emitter.defineVariants(experimentName, ["A", "B", "C"]); - let AppPart1 = React.createClass({ + let AppPart1 = createReactClass({ onClickVariant: function(e){ this.refs.experiment.win(); }, @@ -193,7 +194,7 @@ describe("Experiment", function() { ; } }); - let AppPart2 = React.createClass({ + let AppPart2 = createReactClass({ onClickVariant: function(e){ this.refs.experiment.win(); }, @@ -224,7 +225,7 @@ describe("Experiment", function() { it("should not error if an older test variant is set.", co.wrap(function *(){ let experimentName = UUID.v4(); localStorage.setItem("PUSHTELL-" + experimentName, "C"); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return A @@ -251,7 +252,7 @@ describe("Experiment", function() { }; let winSubscription = emitter.addWinListener(experimentName, winCallback); let winSubscriptionGlobal = emitter.addWinListener(winCallbackGlobal); - let App = React.createClass({ + let App = createReactClass({ onClickVariant: function(e){ this.refs.experiment.win(); }, @@ -281,7 +282,7 @@ describe("Experiment", function() { for(let i = 0; i < 100; i++) { variantNames.push(UUID.v4()); } - let App = React.createClass({ + let App = createReactClass({ render: function(){ return {variantNames.map(name => { diff --git a/test/browser/helpers.mixpanel.test.jsx b/test/browser/helpers.mixpanel.test.jsx index 9ffb853..748c84e 100644 --- a/test/browser/helpers.mixpanel.test.jsx +++ b/test/browser/helpers.mixpanel.test.jsx @@ -1,5 +1,6 @@ import React from "react"; import ReactDOM from "react-dom"; +import createReactClass from 'create-react-class'; import Experiment from "../../src/CoreExperiment.jsx"; import Variant from "../../src/Variant.jsx"; import emitter from "../../src/emitter.jsx"; @@ -72,7 +73,7 @@ describe("Mixpanel Helper", function() { } mixpanelHelper.enable(); let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
diff --git a/test/browser/helpers.segment.test.jsx b/test/browser/helpers.segment.test.jsx index 87ee484..98fc91f 100644 --- a/test/browser/helpers.segment.test.jsx +++ b/test/browser/helpers.segment.test.jsx @@ -1,5 +1,6 @@ import React from "react"; import ReactDOM from "react-dom"; +import createReactClass from 'create-react-class'; import Experiment from "../../src/CoreExperiment.jsx"; import Variant from "../../src/Variant.jsx"; import emitter from "../../src/emitter.jsx"; @@ -73,7 +74,7 @@ describe("Segment Helper", function() { } segmentHelper.enable(); let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
diff --git a/test/browser/variant.test.jsx b/test/browser/variant.test.jsx index f9d1d08..0a07d33 100644 --- a/test/browser/variant.test.jsx +++ b/test/browser/variant.test.jsx @@ -1,5 +1,6 @@ import React from "react"; import ReactDOM from "react-dom"; +import createReactClass from 'create-react-class'; import Experiment from "../../src/CoreExperiment.jsx"; import Variant from "../../src/Variant.jsx"; import emitter from "../../src/emitter.jsx"; @@ -24,7 +25,7 @@ describe("Variant", function() { let experimentName = UUID.v4(); let variantTextA = UUID.v4(); let variantTextB = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return {variantTextA} @@ -39,7 +40,7 @@ describe("Variant", function() { })); it("should render components.", co.wrap(function *(){ let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return
@@ -58,7 +59,7 @@ describe("Variant", function() { })); it("should render arrays of components.", co.wrap(function *(){ let experimentName = UUID.v4(); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return diff --git a/test/browser/weighted.test.jsx b/test/browser/weighted.test.jsx index 00d2703..2ac5de4 100644 --- a/test/browser/weighted.test.jsx +++ b/test/browser/weighted.test.jsx @@ -1,5 +1,6 @@ import React from "react"; import ReactDOM from "react-dom"; +import createReactClass from 'create-react-class'; import Experiment from "../../src/Experiment.jsx"; import Variant from "../../src/Variant.jsx"; import emitter from "../../src/emitter.jsx"; @@ -63,7 +64,7 @@ describe("Weighted Experiment", function() { const weightSum = variantWeights.reduce(add, 0); emitter.defineVariants(experimentName, variantNames, variantWeights); assert.equal(emitter.getSortedVariantWeights(experimentName).reduce(add, 0), weightSum); - let App = React.createClass({ + let App = createReactClass({ render: function(){ return {variantNames.map(name => {