Skip to content
This repository was archived by the owner on Sep 28, 2023. It is now read-only.

[WIP] Integrate with Datafile Manager and remove js-web-sdk dependency #12

Open
wants to merge 20 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions packages/example-react-15/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
"version": "0.1.0",
"private": true,
"dependencies": {
"@optimizely/js-web-sdk": "^3.0.0-beta2",
"@optimizely/react-sdk": "^0.1.3-beta1",
"@optimizely/react-sdk": "^0.3.0-beta1",
"react": "^15.6.2",
"react-dom": "^15.6.2",
"react-scripts": "2.1.3"
Expand Down
18 changes: 14 additions & 4 deletions packages/example-react-15/src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ const {
class App extends Component {
render() {
return (
<OptimizelyProvider optimizely={this.props.optimizely} timeout={200} userId='jordan'>
<OptimizelyProvider
optimizely={this.props.optimizely}
timeout={200}
userId="jordan"
>
<div>
<h1>Test app: React 15</h1>
<OptimizelyFeature feature="feature1">
Expand All @@ -33,9 +37,15 @@ class App extends Component {
<h2>experiment (/w variation component): cat_size</h2>

<OptimizelyExperiment experiment="cat_size">
<OptimizelyVariation variation="small"><p>small</p></OptimizelyVariation>
<OptimizelyVariation variation="large"><p>large</p></OptimizelyVariation>
<OptimizelyVariation default><p>default</p></OptimizelyVariation>
<OptimizelyVariation variation="small">
<p>small</p>
</OptimizelyVariation>
<OptimizelyVariation variation="large">
<p>large</p>
</OptimizelyVariation>
<OptimizelyVariation default>
<p>default</p>
</OptimizelyVariation>
</OptimizelyExperiment>
</div>
</OptimizelyProvider>
Expand Down
7 changes: 3 additions & 4 deletions packages/example-react-15/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ import './index.css'
import App from './App'
import * as serviceWorker from './serviceWorker'

// import * as optimizelyReactSDK, { withOptimizely } from '@optimizely/react-sdk'
const optimizelySDK = require('@optimizely/js-web-sdk')
// import * as optimizelySDK from '@optimizely/js-web-sdk'
import * as optimizelyReactSDK from '@optimizely/react-sdk'

const optimizely = optimizelySDK.createInstance({
optimizelyReactSDK.setLogLevel('info')
const optimizely = optimizelyReactSDK.createInstance({
sdkKey: 'BsSyVRsUbE3ExgGCJ9w1to',
})

Expand Down
77 changes: 3 additions & 74 deletions packages/example-react-15/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -889,33 +889,6 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz#54c5a964462be3d4d78af631363c18d6fa91ac26"
integrity sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw==

"@optimizely/js-web-sdk@^3.0.0-beta2":
version "3.0.0-beta2"
resolved "https://registry.yarnpkg.com/@optimizely/js-web-sdk/-/js-web-sdk-3.0.0-beta2.tgz#6a855f0005a357be4d72a322a12a89ad5fe71424"
integrity sha512-GbRckHZCAa2BG3oB9Fzlw+BdKNf6srmA/Ck78NlCmopcUDgqZToGWmdyZfSHpuEEXxxA2q5uXE3dzWjwQeN8aw==
dependencies:
"@optimizely/optimizely-sdk" "3.0.0-rc2"

"@optimizely/[email protected]":
version "3.0.0-rc2"
resolved "https://registry.yarnpkg.com/@optimizely/optimizely-sdk/-/optimizely-sdk-3.0.0-rc2.tgz#0ef0074903ce69747de2e53d241b57619f4f2d5b"
integrity sha512-0JP2iQW8CzuNp6qKy/Zr23KCfgmEP1ChXQar6AeDN4jMw/f5HdmD+wSRmSW9XtKSMi/tLgQvCfcKwpVq5vtATQ==
dependencies:
json-schema "^0.2.3"
lodash "^4.0.0"
murmurhash "0.0.2"
sprintf-js "^1.1.1"
uuid "^3.3.2"

"@optimizely/react-sdk@^0.1.3-beta1":
version "0.1.3-beta1"
resolved "https://registry.yarnpkg.com/@optimizely/react-sdk/-/react-sdk-0.1.3-beta1.tgz#d21476088060524022854cb06bda447ba304d864"
integrity sha512-OVnQ0z7VxfObpGsmgTHAQIV0pzpCdmgrJ8zadS0unf6tbEaXjA18xSlNm41PwbfBmX5KyPw7TFYV8ObfEvenlg==
dependencies:
prop-types "^15.6.2"
react-broadcast "0.7.1"
utility-types "^2.1.0"

"@svgr/core@^2.4.1":
version "2.4.1"
resolved "https://registry.yarnpkg.com/@svgr/core/-/core-2.4.1.tgz#03a407c28c4a1d84305ae95021e8eabfda8fa731"
Expand Down Expand Up @@ -5674,7 +5647,7 @@ json-schema-traverse@^0.4.1:
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==

[email protected], json-schema@^0.2.3:
[email protected]:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
Expand Down Expand Up @@ -5942,7 +5915,7 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=

"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5:
"lodash@>=3.5 <5", lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
Expand All @@ -5952,7 +5925,7 @@ loglevel@^1.4.1:
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"
integrity sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=

loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
Expand Down Expand Up @@ -6313,11 +6286,6 @@ multicast-dns@^6.0.1:
dns-packet "^1.3.1"
thunky "^1.0.2"

[email protected]:
version "0.0.2"
resolved "https://registry.yarnpkg.com/murmurhash/-/murmurhash-0.0.2.tgz#6f07bd8a1105e709c26fc89420cb5930c24585fe"
integrity sha1-bwe9ihEF5wnCb8iUIMtZMMJFhf4=

[email protected]:
version "0.0.7"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
Expand Down Expand Up @@ -7778,15 +7746,6 @@ prop-types@^15.5.10, prop-types@^15.6.2:
loose-envify "^1.3.1"
object-assign "^4.1.1"

prop-types@^15.6.0:
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
dependencies:
loose-envify "^1.4.0"
object-assign "^4.1.1"
react-is "^16.8.1"

proxy-addr@~2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93"
Expand Down Expand Up @@ -7954,14 +7913,6 @@ react-app-polyfill@^0.2.0:
raf "3.4.0"
whatwg-fetch "3.0.0"

[email protected]:
version "0.7.1"
resolved "https://registry.yarnpkg.com/react-broadcast/-/react-broadcast-0.7.1.tgz#732c1f4d3c9dbb9dbf0b92540c7c2490fb746dfb"
integrity sha512-GhYhRBSSwys6dP++mlC2BNlKMgDfUCKAmOB7eyvgatsWk4TKY+sWVmkGkblP+QduHSBF/Rc+yTE2fZR+8+7Brw==
dependencies:
prop-types "^15.6.0"
warning "^3.0.0"

react-dev-utils@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-7.0.1.tgz#c53e759a22668ee2c0d146c24ce4bdec2b41e3c8"
Expand Down Expand Up @@ -8007,11 +7958,6 @@ react-error-overlay@^5.1.2:
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.1.2.tgz#888957b884d4b25b083a82ad550f7aad96585394"
integrity sha512-7kEBKwU9R8fKnZJBRa5RSIfay4KJwnYvKB6gODGicUmDSAhQJ7Tdnll5S0RLtYrzRfMVXlqYw61rzrSpP4ThLQ==

react-is@^16.8.1:
version "16.8.4"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.4.tgz#90f336a68c3a29a096a3d648ab80e87ec61482a2"
integrity sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA==

[email protected]:
version "2.1.3"
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-2.1.3.tgz#6e49be279f4039fb9f330d2b3529b933b8e90945"
Expand Down Expand Up @@ -8895,11 +8841,6 @@ split-string@^3.0.1, split-string@^3.0.2:
dependencies:
extend-shallow "^3.0.0"

sprintf-js@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==

sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
Expand Down Expand Up @@ -9593,11 +9534,6 @@ utila@^0.4.0, utila@~0.4:
resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=

utility-types@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-2.1.0.tgz#0c78fc9f7eb424d14302222b4ddd13fdb17f44ab"
integrity sha512-/nP2gqavggo6l38rtQI/CdeV+2fmBGXVvHgj9kV2MAnms3TIi77Mz9BtapPFI0+GZQCqqom0vACQ+VlTTaCovw==

[email protected]:
version "1.0.1"
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
Expand Down Expand Up @@ -9665,13 +9601,6 @@ walker@~1.0.5:
dependencies:
makeerror "1.0.x"

warning@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=
dependencies:
loose-envify "^1.0.0"

watch@~0.18.0:
version "0.18.0"
resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986"
Expand Down
3 changes: 1 addition & 2 deletions packages/example-react-16/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
"version": "0.1.0",
"private": true,
"dependencies": {
"@optimizely/js-web-sdk": "^3.0.1-beta1",
"@optimizely/react-sdk": "^0.2.0-beta1",
"@optimizely/react-sdk": "^0.3.0-beta1",
"react": "^16.7.0",
"react-dom": "^16.7.0",
"react-scripts": "2.1.3"
Expand Down
10 changes: 8 additions & 2 deletions packages/example-react-16/src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ class TrackerButton extends React.Component {
}

render() {
const { variation } = this.state
if (variation === null) {
return null
}
return <button onClick={this.track}>{JSON.stringify(this.state.variation)}</button>
}
}
Expand All @@ -44,12 +48,14 @@ class App extends Component {
<OptimizelyProvider
optimizely={this.props.optimizely}
timeout={200}
userId="jordan"
user={{
id: 'jordan'
}}
>
<div>
<h1>Test app: React 16</h1>
<OptimizelyTrackerButton experimentKey="cat_size" />
<OptimizelyFeature feature="feature1">
<OptimizelyFeature feature="feature1" autoUpdate={true}>
{(isEnabled, variables) => (
<div>
<h2>feature: feature1</h2>
Expand Down
24 changes: 12 additions & 12 deletions packages/example-react-16/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,22 @@ import './index.css'
import App from './App'
import * as serviceWorker from './serviceWorker'

import optimizelyReactSDK, { withOptimizely } from '@optimizely/react-sdk'
import * as optimizelySDK from '@optimizely/js-web-sdk'
import * as optimizelyReactSDK from '@optimizely/react-sdk'

const optimizely = optimizelySDK.createInstance({
userId: 'user' + Date.now(),
optimizelyReactSDK.setLogLevel('info')
optimizelyReactSDK.setLogger(null)
const optimizely = optimizelyReactSDK.createInstance({
sdkKey: 'BsSyVRsUbE3ExgGCJ9w1to',
})

optimizely.onReady().then(() => {
optimizely.notificationCenter.addNotificationListener(
optimizelySDK.enums.NOTIFICATION_TYPES.ACTIVATE,
data => {
console.log('I activated', data.experiment.key)
},
)
})
// optimizely.onReady().then(() => {
// optimizely.notificationCenter.addNotificationListener(
// optimizelyReactSDK.enums.NOTIFICATION_TYPES.ACTIVATE,
// data => {
// console.log('I activated', data.experiment.key)
// },
// )
// })

async function main() {
ReactDOM.render(<App optimizely={optimizely} />, document.getElementById('root'))
Expand Down
Loading