From a5d1cb380d5e58153fe87b0cf6a0c5d264ce7102 Mon Sep 17 00:00:00 2001 From: Maxwell Frank <92897870+MaxFrank13@users.noreply.github.com> Date: Tue, 30 Jul 2024 10:09:04 -0400 Subject: [PATCH] fix: remove Optimizely and surrounding components (#386) --- .env | 1 - .env.development | 1 - .env.test | 1 - example.env.config.js | 1 - package-lock.json | 131 +---- package.json | 1 - src/App.jsx | 19 +- src/App.test.jsx | 25 +- src/ExperimentContext.jsx | 64 -- src/ExperimentContext.test.jsx | 122 ---- src/__snapshots__/App.test.jsx.snap | 18 +- src/containers/Dashboard/DashboardLayout.jsx | 14 +- .../Dashboard/DashboardLayout.test.jsx | 16 +- .../DashboardLayout.test.jsx.snap | 36 +- .../__snapshots__/index.test.jsx.snap | 8 +- src/containers/Dashboard/hooks.js | 3 +- src/containers/Dashboard/hooks.test.js | 4 +- src/containers/Dashboard/index.jsx | 5 +- src/containers/Dashboard/index.test.jsx | 9 +- .../__snapshots__/index.test.jsx.snap | 15 - .../WidgetContainers/LoadedSidebar/index.jsx | 29 - .../LoadedSidebar/index.test.jsx | 52 -- .../NoCoursesSidebar/index.jsx | 29 - .../NoCoursesSidebar/index.test.jsx | 52 -- .../__snapshots__/index.test.jsx.snap | 9 - .../WidgetContainers/WidgetFooter/index.jsx | 21 - .../WidgetFooter/index.test.jsx | 45 -- .../__snapshots__/index.test.jsx.snap | 2 +- .../WidgetContainers/WidgetSidebar/index.jsx | 23 + .../WidgetSidebar/index.test.jsx | 18 + src/test/app.test.jsx | 8 +- .../__snapshots__/index.test.jsx.snap | 110 ---- src/widgets/ProductRecommendations/api.js | 19 - .../ProductRecommendations/api.test.js | 34 -- .../components/LoadedView.jsx | 46 -- .../components/LoadedView.test.jsx | 34 -- .../components/LoadingView.jsx | 8 - .../components/LoadingView.test.jsx | 10 - .../components/ProductCard.jsx | 98 ---- .../components/ProductCard.test.jsx | 83 --- .../components/ProductCardContainer.jsx | 48 -- .../components/ProductCardContainer.test.jsx | 44 -- .../components/ProductCardHeader.jsx | 77 --- .../components/ProductCardHeader.test.jsx | 54 -- .../__snapshots__/LoadedView.test.jsx.snap | 89 --- .../__snapshots__/LoadingView.test.jsx.snap | 7 - .../__snapshots__/ProductCard.test.jsx.snap | 49 -- .../ProductCardContainer.test.jsx.snap | 101 ---- .../ProductCardHeader.test.jsx.snap | 30 - .../ProductRecommendations/constants.js | 7 - src/widgets/ProductRecommendations/hooks.js | 161 ----- .../ProductRecommendations/hooks.test.js | 548 ------------------ src/widgets/ProductRecommendations/index.jsx | 40 -- src/widgets/ProductRecommendations/index.scss | 73 --- .../ProductRecommendations/index.test.jsx | 133 ----- .../ProductRecommendations/messages.js | 41 -- .../ProductRecommendations/optimizely.js | 17 - .../ProductRecommendations/optimizely.test.js | 19 - .../optimizelyExperiment.js | 41 -- .../optimizelyExperiment.test.js | 93 --- .../ProductRecommendations/testData.js | 46 -- src/widgets/ProductRecommendations/track.js | 53 -- .../ProductRecommendations/track.test.js | 112 ---- src/widgets/ProductRecommendations/utils.js | 59 -- 64 files changed, 79 insertions(+), 3087 deletions(-) delete mode 100644 src/ExperimentContext.jsx delete mode 100644 src/ExperimentContext.test.jsx delete mode 100644 src/containers/WidgetContainers/LoadedSidebar/__snapshots__/index.test.jsx.snap delete mode 100644 src/containers/WidgetContainers/LoadedSidebar/index.jsx delete mode 100644 src/containers/WidgetContainers/LoadedSidebar/index.test.jsx delete mode 100644 src/containers/WidgetContainers/NoCoursesSidebar/index.jsx delete mode 100644 src/containers/WidgetContainers/NoCoursesSidebar/index.test.jsx delete mode 100644 src/containers/WidgetContainers/WidgetFooter/__snapshots__/index.test.jsx.snap delete mode 100644 src/containers/WidgetContainers/WidgetFooter/index.jsx delete mode 100644 src/containers/WidgetContainers/WidgetFooter/index.test.jsx rename src/containers/WidgetContainers/{NoCoursesSidebar => WidgetSidebar}/__snapshots__/index.test.jsx.snap (80%) create mode 100644 src/containers/WidgetContainers/WidgetSidebar/index.jsx create mode 100644 src/containers/WidgetContainers/WidgetSidebar/index.test.jsx delete mode 100644 src/widgets/ProductRecommendations/__snapshots__/index.test.jsx.snap delete mode 100644 src/widgets/ProductRecommendations/api.js delete mode 100644 src/widgets/ProductRecommendations/api.test.js delete mode 100644 src/widgets/ProductRecommendations/components/LoadedView.jsx delete mode 100644 src/widgets/ProductRecommendations/components/LoadedView.test.jsx delete mode 100644 src/widgets/ProductRecommendations/components/LoadingView.jsx delete mode 100644 src/widgets/ProductRecommendations/components/LoadingView.test.jsx delete mode 100644 src/widgets/ProductRecommendations/components/ProductCard.jsx delete mode 100644 src/widgets/ProductRecommendations/components/ProductCard.test.jsx delete mode 100644 src/widgets/ProductRecommendations/components/ProductCardContainer.jsx delete mode 100644 src/widgets/ProductRecommendations/components/ProductCardContainer.test.jsx delete mode 100644 src/widgets/ProductRecommendations/components/ProductCardHeader.jsx delete mode 100644 src/widgets/ProductRecommendations/components/ProductCardHeader.test.jsx delete mode 100644 src/widgets/ProductRecommendations/components/__snapshots__/LoadedView.test.jsx.snap delete mode 100644 src/widgets/ProductRecommendations/components/__snapshots__/LoadingView.test.jsx.snap delete mode 100644 src/widgets/ProductRecommendations/components/__snapshots__/ProductCard.test.jsx.snap delete mode 100644 src/widgets/ProductRecommendations/components/__snapshots__/ProductCardContainer.test.jsx.snap delete mode 100644 src/widgets/ProductRecommendations/components/__snapshots__/ProductCardHeader.test.jsx.snap delete mode 100644 src/widgets/ProductRecommendations/constants.js delete mode 100644 src/widgets/ProductRecommendations/hooks.js delete mode 100644 src/widgets/ProductRecommendations/hooks.test.js delete mode 100644 src/widgets/ProductRecommendations/index.jsx delete mode 100644 src/widgets/ProductRecommendations/index.scss delete mode 100644 src/widgets/ProductRecommendations/index.test.jsx delete mode 100644 src/widgets/ProductRecommendations/messages.js delete mode 100644 src/widgets/ProductRecommendations/optimizely.js delete mode 100644 src/widgets/ProductRecommendations/optimizely.test.js delete mode 100644 src/widgets/ProductRecommendations/optimizelyExperiment.js delete mode 100644 src/widgets/ProductRecommendations/optimizelyExperiment.test.js delete mode 100644 src/widgets/ProductRecommendations/testData.js delete mode 100644 src/widgets/ProductRecommendations/track.js delete mode 100644 src/widgets/ProductRecommendations/track.test.js delete mode 100644 src/widgets/ProductRecommendations/utils.js diff --git a/.env b/.env index 8a98641..40c4e09 100644 --- a/.env +++ b/.env @@ -40,5 +40,4 @@ ACCOUNT_SETTINGS_URL='' ACCOUNT_PROFILE_URL='' ENABLE_NOTICES='' CAREER_LINK_URL='' -OPTIMIZELY_FULL_STACK_SDK_KEY='' ENABLE_EDX_PERSONAL_DASHBOARD=false diff --git a/.env.development b/.env.development index ce33bcd..8601495 100644 --- a/.env.development +++ b/.env.development @@ -46,5 +46,4 @@ ACCOUNT_SETTINGS_URL='http://localhost:1997' ACCOUNT_PROFILE_URL='http://localhost:1995' ENABLE_NOTICES='' CAREER_LINK_URL='' -OPTIMIZELY_FULL_STACK_SDK_KEY='' ENABLE_EDX_PERSONAL_DASHBOARD=false diff --git a/.env.test b/.env.test index 9501a12..705a988 100644 --- a/.env.test +++ b/.env.test @@ -45,5 +45,4 @@ ACCOUNT_SETTINGS_URL='http://account-settings-url.test' ACCOUNT_PROFILE_URL='http://account-profile-url.test' ENABLE_NOTICES='' CAREER_LINK_URL='' -OPTIMIZELY_FULL_STACK_SDK_KEY='SDK Key' ENABLE_EDX_PERSONAL_DASHBOARD=true diff --git a/example.env.config.js b/example.env.config.js index 78f1751..27540ef 100644 --- a/example.env.config.js +++ b/example.env.config.js @@ -69,6 +69,5 @@ module.exports = { ACCOUNT_PROFILE_URL: 'http://localhost:1995', ENABLE_NOTICES: '', CAREER_LINK_URL: '', - OPTIMIZELY_FULL_STACK_SDK_KEY: '', EXPERIMENT_08_23_VAN_PAINTED_DOOR: true, }; diff --git a/package-lock.json b/package-lock.json index 7fc42dc..5542f02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,6 @@ "@openedx/frontend-plugin-framework": "^1.2.0", "@openedx/frontend-slot-footer": "^1.0.2", "@openedx/paragon": "^22.2.2", - "@optimizely/react-sdk": "^2.9.2", "@redux-beacon/segment": "^1.1.0", "@reduxjs/toolkit": "^1.6.1", "@testing-library/user-event": "^13.5.0", @@ -4566,113 +4565,6 @@ "node": ">=10" } }, - "node_modules/@optimizely/js-sdk-logging": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@optimizely/js-sdk-logging/-/js-sdk-logging-0.3.1.tgz", - "integrity": "sha512-K71Jf283FP0E4oXehcXTTM3gvgHZHr7FUrIsw//0mdJlotHJT4Nss4hE0CWPbBxO7LJAtwNnO+VIA/YOcO4vHg==", - "dependencies": { - "@optimizely/js-sdk-utils": "^0.4.0" - } - }, - "node_modules/@optimizely/js-sdk-utils": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@optimizely/js-sdk-utils/-/js-sdk-utils-0.4.0.tgz", - "integrity": "sha512-QG2oytnITW+VKTJK+l0RxjaS5VrA6W+AZMzpeg4LCB4Rn4BEKtF+EcW/5S1fBDLAviGq/0TLpkjM3DlFkJ9/Gw==", - "dependencies": { - "uuid": "^3.3.2" - } - }, - "node_modules/@optimizely/js-sdk-utils/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/@optimizely/optimizely-sdk": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@optimizely/optimizely-sdk/-/optimizely-sdk-4.10.0.tgz", - "integrity": "sha512-DVsbhhwOObJRKDkrXcJJw0FZh/7PIbHAewmtm3fCq9jU2UE2n45h1e/Iy4IgRzUaSOrJccN+wUsN+lD3XTJwww==", - "dependencies": { - "@optimizely/js-sdk-datafile-manager": "^0.9.5", - "@optimizely/js-sdk-event-processor": "^0.10.0", - "@optimizely/js-sdk-logging": "^0.3.1", - "json-schema": "^0.4.0", - "murmurhash": "0.0.2", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@optimizely/optimizely-sdk/node_modules/@optimizely/js-sdk-datafile-manager": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@optimizely/js-sdk-datafile-manager/-/js-sdk-datafile-manager-0.9.5.tgz", - "integrity": "sha512-O4ujr1nBBAQBtx8YoKNpzzaEZgsE+aU4dxubT17ePqv/YVUWE+JOY21tSRrqZy/BlbbyzL+ElT8hrGB5ZzVoIQ==", - "dependencies": { - "@optimizely/js-sdk-logging": "^0.3.1", - "@optimizely/js-sdk-utils": "^0.4.0", - "decompress-response": "^4.2.1" - }, - "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "@react-native-async-storage/async-storage": "^1.2.0" - }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - } - } - }, - "node_modules/@optimizely/optimizely-sdk/node_modules/@optimizely/js-sdk-event-processor": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@optimizely/js-sdk-event-processor/-/js-sdk-event-processor-0.10.0.tgz", - "integrity": "sha512-Fkv0ulte/KT+ClgSbchcZeFYzGZbxVtl0mqmlGC9QtEXuJlOfnsKD9C3kZ1SnL2P7+5d9QhYotlxXJr19SQRQw==", - "dependencies": { - "@optimizely/js-sdk-logging": "^0.3.1", - "@optimizely/js-sdk-utils": "^0.4.0" - }, - "peerDependencies": { - "@react-native-async-storage/async-storage": "^1.2.0", - "@react-native-community/netinfo": "5.9.4" - }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - }, - "@react-native-community/netinfo": { - "optional": true - } - } - }, - "node_modules/@optimizely/optimizely-sdk/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/@optimizely/react-sdk": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@optimizely/react-sdk/-/react-sdk-2.9.2.tgz", - "integrity": "sha512-//OozC59dr5Lsss2H9Jnyb35FMTF8Z+CMFi89kVs1U1Fy1sKOXK7Web1hw18DBZctwKfbb8Sl+Yw7Pgmo3P2fA==", - "dependencies": { - "@optimizely/js-sdk-logging": "^0.3.1", - "@optimizely/optimizely-sdk": "^4.9.1", - "hoist-non-react-statics": "^3.3.0", - "prop-types": "^15.6.2", - "utility-types": "^2.1.0 || ^3.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { "version": "0.5.15", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", @@ -9157,6 +9049,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "optional": true, "dependencies": { "mimic-response": "^2.0.0" }, @@ -15078,11 +14971,6 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -15972,6 +15860,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "optional": true, "engines": { "node": ">=8" }, @@ -16157,14 +16046,6 @@ "multicast-dns": "cli.js" } }, - "node_modules/murmurhash": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/murmurhash/-/murmurhash-0.0.2.tgz", - "integrity": "sha512-LKlwdZKWzvCQpMszb2HO5leJ7P9T4m5XuDKku8bM0uElrzqK9cn0+iozwQS8jO4SNjrp4w7olalgd8WgsIjhWA==", - "engines": { - "node": "*" - } - }, "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -25596,14 +25477,6 @@ "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" }, - "node_modules/utility-types": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", - "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", - "engines": { - "node": ">= 4" - } - }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", diff --git a/package.json b/package.json index 27a6200..73cf81f 100755 --- a/package.json +++ b/package.json @@ -39,7 +39,6 @@ "@openedx/frontend-plugin-framework": "^1.2.0", "@openedx/frontend-slot-footer": "^1.0.2", "@openedx/paragon": "^22.2.2", - "@optimizely/react-sdk": "^2.9.2", "@redux-beacon/segment": "^1.1.0", "@reduxjs/toolkit": "^1.6.1", "@testing-library/user-event": "^13.5.0", diff --git a/src/App.jsx b/src/App.jsx index 5f3db99..067f2ca 100755 --- a/src/App.jsx +++ b/src/App.jsx @@ -18,7 +18,6 @@ import { import { reduxHooks } from 'hooks'; import Dashboard from 'containers/Dashboard'; import ZendeskFab from 'components/ZendeskFab'; -import { ExperimentProvider } from 'ExperimentContext'; import track from 'tracking'; @@ -42,19 +41,6 @@ export const App = () => { const { supportEmail } = reduxHooks.usePlatformSettingsData(); const loadData = reduxHooks.useLoadData(); - const optimizelyScript = () => { - if (getConfig().OPTIMIZELY_URL) { - return