Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: iframe-based experience plugins #235

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
bfc2992
Checking in to transfer machines.
davidjoy Aug 16, 2021
364a2dd
fix: ensure that SCSS files are not treeshaken
davidjoy Oct 13, 2021
ccdea4e
test: a little cleanup of the example app
davidjoy Oct 13, 2021
88462fd
build: adding testing-library
davidjoy Oct 26, 2021
2ba96ac
lint: move index.js to index.jsx to satisfy linter
davidjoy Oct 21, 2021
ff83704
feat: functional plugin classes
davidjoy Oct 26, 2021
b919545
test: building two independent test apps
davidjoy Oct 21, 2021
da9d287
docs: remove extensibility-notes.md
davidjoy Nov 22, 2021
f8bc6e4
chore: post-rebase regeneration of package-lock.json
davidjoy Apr 28, 2023
6b8e65d
chore: regenerating package-lock.json files for example apps
davidjoy Apr 28, 2023
2f5a9ec
chore: updating packages in the example apps and all package-lock.jso…
davidjoy May 1, 2023
12abf8b
test: adding start and start:plugins scripts
davidjoy May 1, 2023
aa5f8aa
fix: satisfying the linter
davidjoy May 1, 2023
e73d697
refactor: removing module federation-based plugins
davidjoy May 1, 2023
b943c18
chore: reconciling package-lock.json conflicts
davidjoy May 23, 2023
d2ac801
test: cutting example apps over to use env.config.js
davidjoy Jun 2, 2023
6f06f47
refactor: renaming the plugin prop to config
davidjoy Jun 2, 2023
db008f4
fix: removing references to module federation config props
davidjoy Jun 2, 2023
ad2ef04
refactor: reversing the names of Plugin and PluginContainer
davidjoy Jun 7, 2023
8125d21
fix: improving PluginErrorBoundary logging and messaging
davidjoy Jun 7, 2023
8e10234
fix: cleaning up package.json and regenerating the lockfile.
davidjoy Jun 7, 2023
1901ace
fix: imported the wrong plugin component
davidjoy Jun 7, 2023
d022a93
fix: adding a little sanity check in dispatchMessageEvent
davidjoy Jun 7, 2023
766a24c
feat: adding a default fallback component to plugins
davidjoy Jun 7, 2023
b820389
test: adding a little styling to the plugin page PluginSlot.
davidjoy Jun 7, 2023
67ab527
Merge branch 'master' into djoy/plugin_classes
jsnwesson Aug 16, 2023
b09a825
fix: add back all react library dependencies for plugin
jsnwesson Aug 16, 2023
6fd70da
refactor: modify plugin test to reference the correct Plugin containe…
jsnwesson Aug 25, 2023
0e40872
fix: dependency patch
jsnwesson Aug 25, 2023
ff5051e
build: Update examples to use v6 of react-router-dom
jsnwesson Sep 7, 2023
565afcd
Merge branch 'master' into djoy/plugin_classes
jsnwesson Sep 7, 2023
3b90df8
Revert "fix: dependency patch"
jsnwesson Sep 8, 2023
f69ff39
fix: lint issues in example apps
jsnwesson Sep 8, 2023
8c7d786
add: comments to add clarity on how PLuginSlot knows what plugin URLs…
jsnwesson Sep 8, 2023
b6352e5
Merge branch 'master' into djoy/plugin_classes
jsnwesson Sep 15, 2023
3ec73f5
fix: error boundary handling can now be handled by Plugin component
jsnwesson Sep 19, 2023
0414897
refactor: add customizability for child MFE to pass in desired error …
jsnwesson Sep 19, 2023
5292bfd
Merge branch 'master' into djoy/plugin_classes
jsnwesson Sep 19, 2023
9a82314
fix: reinstall react-dom to fix missing package
jsnwesson Sep 19, 2023
a7a580b
fix: package-lock conflict
jsnwesson Sep 19, 2023
71cd817
Merge branch 'master' into djoy/plugin_classes
jsnwesson Sep 25, 2023
da6fd58
fix: remove lint issues
jsnwesson Sep 25, 2023
7a07c6a
test: write tests for Plugin component error boundary and fallback me…
jsnwesson Sep 25, 2023
218e059
Merge branch 'master' into djoy/plugin_classes
jsnwesson Oct 3, 2023
bc0441c
fix: update package-lock for paragon
jsnwesson Oct 3, 2023
1bb5c21
fix: package lock dependency issue
jsnwesson Oct 3, 2023
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
30 changes: 0 additions & 30 deletions .env.development

This file was deleted.

30 changes: 0 additions & 30 deletions .env.test

This file was deleted.

9 changes: 2 additions & 7 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
// eslint-disable-next-line import/no-extraneous-dependencies
const { getBaseConfig } = require('@edx/frontend-build');

const config = getBaseConfig('eslint');

config.rules = {
'import/no-extraneous-dependencies': ['error', {
devDependencies: [
'**/*.config.js',
'**/*.test.jsx',
'**/*.test.js',
'example/*',
],
devDependencies: true,
}],
'import/extensions': ['error', {
ignore: ['@edx/frontend-platform*'],
Expand All @@ -23,6 +17,7 @@ config.rules = {
specialLink: ['to'],
aspects: ['noHref', 'invalidHref', 'preferButton'],
}],
'react/react-in-jsx-scope': ['error'],
};

module.exports = config;
8 changes: 0 additions & 8 deletions env.config.js

This file was deleted.

6 changes: 6 additions & 0 deletions example-plugin-app/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.idea
coverage
dist
docs
node_modules
src/analytics/segment.js
28 changes: 28 additions & 0 deletions example-plugin-app/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
const { getBaseConfig } = require('@edx/frontend-build');

const config = getBaseConfig('eslint');

config.rules = {
'import/no-extraneous-dependencies': ['error', {
devDependencies: [
'**/*.config.js',
'**/*.test.jsx',
'**/*.test.js',
'example/*',
],
}],
'import/extensions': ['error', {
ignore: ['@edx/frontend-platform*'],
}],
'import/no-unresolved': ['error', {
ignore: ['@edx/frontend-platform*'],
}],
'jsx-a11y/anchor-is-valid': ['error', {
components: ['Link'],
specialLink: ['to'],
aspects: ['noHref', 'invalidHref', 'preferButton'],
}],
'react/react-in-jsx-scope': ['error'],
};

module.exports = config;
27 changes: 27 additions & 0 deletions example-plugin-app/env.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// eslint-disable-next-line no-unused-vars
const config = {
ACCESS_TOKEN_COOKIE_NAME: 'edx-jwt-cookie-header-payload',
BASE_URL: 'http://localhost:8081',
CREDENTIALS_BASE_URL: 'http://localhost:18150',
CSRF_TOKEN_API_PATH: '/csrf/api/v1/token',
DISCOVERY_API_BASE_URL: 'http://localhost:18381',
PUBLISHER_BASE_URL: 'http://localhost:18400',
ECOMMERCE_BASE_URL: 'http://localhost:18130',
LANGUAGE_PREFERENCE_COOKIE_NAME: 'openedx-language-preference',
LMS_BASE_URL: 'http://localhost:18000',
LOGIN_URL: 'http://localhost:18000/login',
LOGOUT_URL: 'http://localhost:18000/logout',
STUDIO_BASE_URL: 'http://localhost:18010',
MARKETING_SITE_BASE_URL: 'http://localhost:18000',
ORDER_HISTORY_URL: 'http://localhost:1996/orders',
REFRESH_ACCESS_TOKEN_ENDPOINT: 'http://localhost:18000/login_refresh',
SEGMENT_KEY: null,
SITE_NAME: 'localhost',
USER_INFO_COOKIE_NAME: 'edx-user-info',
LOGO_URL: 'https://edx-cdn.org/v3/default/logo.svg',
LOGO_TRADEMARK_URL: 'https://edx-cdn.org/v3/default/logo-trademark.svg',
LOGO_WHITE_URL: 'https://edx-cdn.org/v3/default/logo-white.svg',
FAVICON_URL: 'https://edx-cdn.org/v3/default/favicon.ico',
IGNORED_ERROR_REGEX: null,
PORT: 8081,
};
Loading
Loading