From e36886a74620bdb0addc592305ac1a60db13c07b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 04:05:23 +0000 Subject: [PATCH 1/8] chore(deps): update dependency glob to v10.3.15 --- package-lock.json | 22 ++++++++++++---------- package.json | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 53436eb5d..daa37929f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -52,7 +52,7 @@ "@openedx/frontend-build": "github:edunext/frontend-build#ednx-release/css-variables-13.1.4", "@testing-library/jest-dom": "6.4.5", "@testing-library/react": "12.1.5", - "glob": "10.3.12", + "glob": "10.3.15", "reactifex": "1.1.1", "redux-mock-store": "1.5.4" } @@ -12761,21 +12761,22 @@ "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, "node_modules/glob": { - "version": "10.3.12", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", - "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", + "version": "10.3.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", + "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", + "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.3.6", "minimatch": "^9.0.1", "minipass": "^7.0.4", - "path-scurry": "^1.10.2" + "path-scurry": "^1.11.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -18388,15 +18389,16 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" diff --git a/package.json b/package.json index 0b7d785ec..ce2f173f5 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "@openedx/frontend-build": "github:edunext/frontend-build#ednx-release/css-variables-13.1.4", "@testing-library/jest-dom": "6.4.5", "@testing-library/react": "12.1.5", - "glob": "10.3.12", + "glob": "10.3.15", "reactifex": "1.1.1", "redux-mock-store": "1.5.4" } From 4a255e696568ccd98fd516e4465bac827505207e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 04:05:50 +0000 Subject: [PATCH 2/8] fix(deps): update dependency @edx/frontend-component-header to v5.3.1 --- package-lock.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index daa37929f..8047c1aa3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,6 @@ "license": "AGPL-3.0", "dependencies": { "@edx/brand": "npm:@openedx/brand-openedx@^1.2.2", - "@edx/frontend-component-footer": "npm:@edunext/frontend-component-footer@13.0.4-alpha.1", "@edx/frontend-component-header": "npm:@edunext/frontend-component-header@5.0.2-alpha.1", "@edx/frontend-platform": "npm:@edunext/frontend-platform@7.1.2-alpha.1", "@edx/openedx-atlas": "^0.6.0", From 8deda9ca58e69b4373e42c75f20d605f5c015d85 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 06:28:52 +0000 Subject: [PATCH 3/8] fix(deps): update dependency @edx/frontend-component-footer to v13.2.0 --- package-lock.json | 5 +++++ package.json | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 8047c1aa3..79bd123f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3096,6 +3096,11 @@ "prop-types": "^15.5.10", "react": "^16.9.0 || ^17.0.0", "react-dom": "^16.9.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@openedx/frontend-plugin-framework": { + "optional": true + } } }, "node_modules/@edx/frontend-component-footer/node_modules/@fortawesome/fontawesome-svg-core": { diff --git a/package.json b/package.json index ce2f173f5..21d2dad48 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,6 @@ ], "dependencies": { "@edx/brand": "npm:@openedx/brand-openedx@^1.2.2", - "@edx/frontend-component-footer": "npm:@edunext/frontend-component-footer@13.0.4-alpha.1", "@edx/frontend-component-header": "npm:@edunext/frontend-component-header@5.0.2-alpha.1", "@edx/frontend-platform": "npm:@edunext/frontend-platform@7.1.2-alpha.1", "@edx/openedx-atlas": "^0.6.0", From 5cac0d19f3d29434c0222613344b8b564d2d4ac6 Mon Sep 17 00:00:00 2001 From: Brian Smith <112954497+brian-smith-tcril@users.noreply.github.com> Date: Tue, 14 May 2024 10:43:50 -0400 Subject: [PATCH 4/8] fix: update footer to resolve (not so) optional peer dependency issue (#1022) --- package-lock.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 79bd123f9..8047c1aa3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3096,11 +3096,6 @@ "prop-types": "^15.5.10", "react": "^16.9.0 || ^17.0.0", "react-dom": "^16.9.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@openedx/frontend-plugin-framework": { - "optional": true - } } }, "node_modules/@edx/frontend-component-footer/node_modules/@fortawesome/fontawesome-svg-core": { From fbaf5001103c799a9b1340551d2ce9d39c52e0da Mon Sep 17 00:00:00 2001 From: Brian Smith <112954497+brian-smith-tcril@users.noreply.github.com> Date: Fri, 17 May 2024 12:12:51 -0400 Subject: [PATCH 5/8] feat: use frontend-plugin-framework to provide a FooterSlot (#1017) --- README.rst | 6 ++ package-lock.json | 56 ++++++++++++++++++ package.json | 1 + src/index.jsx | 4 +- src/plugin-slots/FooterSlot/README.md | 50 ++++++++++++++++ .../FooterSlot/images/custom_footer.png | Bin 0 -> 13551 bytes .../FooterSlot/images/default_footer.png | Bin 0 -> 14371 bytes src/plugin-slots/README.md | 3 + 8 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 src/plugin-slots/FooterSlot/README.md create mode 100644 src/plugin-slots/FooterSlot/images/custom_footer.png create mode 100644 src/plugin-slots/FooterSlot/images/default_footer.png create mode 100644 src/plugin-slots/README.md diff --git a/README.rst b/README.rst index 1cb1ff35c..f90234075 100755 --- a/README.rst +++ b/README.rst @@ -71,6 +71,12 @@ Profile MFE for local development via the `devstack`_. Once the dev server is up, visit http://localhost:1995/u/staff. +Plugins +======= +This MFE can be customized using `Frontend Plugin Framework `_. + +The parts of this MFE that can be customized in that manner are documented `here `_. + Configuration ============= diff --git a/package-lock.json b/package-lock.json index 8047c1aa3..0e4d9adc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "@fortawesome/free-regular-svg-icons": "6.5.2", "@fortawesome/free-solid-svg-icons": "6.5.2", "@fortawesome/react-fontawesome": "0.2.0", + "@openedx/frontend-slot-footer": "^1.0.2", "@openedx/paragon": "23.0.0-alpha.1", "@pact-foundation/pact": "^11.0.2", "@redux-devtools/extension": "3.3.0", @@ -6050,6 +6051,49 @@ "node": ">=6" } }, + "node_modules/@openedx/frontend-plugin-framework": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@openedx/frontend-plugin-framework/-/frontend-plugin-framework-1.2.0.tgz", + "integrity": "sha512-A5Haf7QtS3gY21KS0TK7lC059HvclC+kW4QZNwxqaWX1LNoRULDO3NFI/NaGBY02hBT8ZoXzoyrTOHkTJ5wJhg==", + "dependencies": { + "@edx/brand": "npm:@openedx/brand-openedx@^1.2.2", + "classnames": "^2.3.2", + "core-js": "3.36.0", + "react-redux": "7.2.9", + "redux": "4.2.1", + "regenerator-runtime": "0.14.1" + }, + "peerDependencies": { + "@edx/frontend-platform": "^7.0.0 || ^8.0.0", + "@openedx/paragon": "^21.0.0 || ^22.0.0", + "prop-types": "^15.8.0", + "react": "^17.0.0", + "react-dom": "^17.0.0", + "react-error-boundary": "^4.0.11" + } + }, + "node_modules/@openedx/frontend-plugin-framework/node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/@openedx/frontend-slot-footer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@openedx/frontend-slot-footer/-/frontend-slot-footer-1.0.2.tgz", + "integrity": "sha512-Wmx/Das4wr3jYQ1/wk9ctYcM9ztfpY5fm6d5UKFSnKK1DbUbjliaPC3mdGR4wVRnH4MAf1OnNGZ8oj/bTDPGHg==", + "dependencies": { + "@openedx/frontend-plugin-framework": "^1.1.2" + }, + "peerDependencies": { + "@edx/frontend-component-footer": "*", + "react": "^17.0.0" + } + }, "node_modules/@openedx/paragon": { "version": "23.0.0-alpha.1", "resolved": "https://registry.npmjs.org/@openedx/paragon/-/paragon-23.0.0-alpha.1.tgz", @@ -19972,6 +20016,18 @@ "react": ">= 16.8 || 18.0.0" } }, + "node_modules/react-error-boundary": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.0.13.tgz", + "integrity": "sha512-b6PwbdSv8XeOSYvjt8LpgpKrZ0yGdtZokYwkwV2wlcZbxgopHX/hgPl5VgpnoVOWd868n1hktM8Qm4b+02MiLQ==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "peerDependencies": { + "react": ">=16.13.1" + } + }, "node_modules/react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", diff --git a/package.json b/package.json index 21d2dad48..fd944991e 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "@fortawesome/free-regular-svg-icons": "6.5.2", "@fortawesome/free-solid-svg-icons": "6.5.2", "@fortawesome/react-fontawesome": "0.2.0", + "@openedx/frontend-slot-footer": "^1.0.2", "@openedx/paragon": "23.0.0-alpha.1", "@pact-foundation/pact": "^11.0.2", "@redux-devtools/extension": "3.3.0", diff --git a/src/index.jsx b/src/index.jsx index 58a59b020..d3aba8fff 100755 --- a/src/index.jsx +++ b/src/index.jsx @@ -17,7 +17,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import Header from '@edx/frontend-component-header'; -import Footer from '@edx/frontend-component-footer'; +import FooterSlot from '@openedx/frontend-slot-footer'; import messages from './i18n'; import configureStore from './data/configureStore'; @@ -35,7 +35,7 @@ subscribe(APP_READY, () => {
-