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: Adding runtime module management and updating code from source repositories #30

Merged
merged 63 commits into from
Sep 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
e4e80db
build: Add structured Maintainers information (#569)
dcoa Jul 10, 2024
40e0991
docs: Correct the catalog-info extension. (#572)
Jul 19, 2024
3077617
build: specify files in package.json & compress image resolves #567 (…
ghassanmas Jul 19, 2024
d9a48cb
fix(deps): update babel monorepo
renovate[bot] Jul 23, 2024
745f515
fix(deps): update dependency postcss to v8.4.39
renovate[bot] Jul 23, 2024
3b90473
fix(deps): update dependency postcss-custom-media to v10.0.8
renovate[bot] Jul 23, 2024
ae8ce98
fix: add typescript files to coverage report (#571)
rpenido Jul 23, 2024
609934b
fix(deps): update react-router monorepo to v6.26.0
renovate[bot] Aug 2, 2024
bf8705b
chore(deps): update dependency @edx/frontend-platform to v8.1.1
renovate[bot] Jul 24, 2024
e18ebb9
fix: upgrade @edx/typescript-config to 1.1.0 (#582)
adamstankiewicz Aug 8, 2024
031f51f
feat: add `ParagonWebpackPlugin` to support design tokens (#546)
dcoa Aug 13, 2024
4c7abe1
webpack.dev.config.js includes quietDeps: true, applies injected <lin…
adamstankiewicz Aug 30, 2024
476a5e8
fix: release previous fix (#589)
adamstankiewicz Aug 30, 2024
0bde8bf
fix: ensuring there are keys on Route components generated from an array
davidjoy Sep 5, 2024
7dbc359
fix: adding a declaration for *.jpg files in test-app
davidjoy Sep 5, 2024
8fcf1ed
test: removing module.config.js for the test-app
davidjoy Sep 5, 2024
78eb2c6
build: in test-app: adding config, fixing dev script flags, and front…
davidjoy Sep 5, 2024
ad6ad01
fix: adding a User type
davidjoy Sep 5, 2024
36c7c81
test: getting the test-app set up as a proper project
davidjoy Sep 5, 2024
4678fb8
refactor: moving test-app to test-project
davidjoy Sep 5, 2024
f996dd1
refactor: moving frontend-plugin-framework’s plugin example page into…
davidjoy Sep 5, 2024
f34f4df
feat: support merging base component props, custom props, and `plugin…
adamstankiewicz Sep 6, 2024
4743199
fix: importing from frontend-base instead of frontend-plugin-framework
davidjoy Sep 6, 2024
960651c
fix: using react’s “ElementType” to represent components in types.ts
davidjoy Sep 6, 2024
6872a6f
feat: Adding plugin test pages to test-project and adding plugin types
davidjoy Sep 6, 2024
d612a61
fix: removing ‘example’ sub-folder
davidjoy Sep 6, 2024
c41c12f
refactor: switching PluginSlot to Typescript
davidjoy Sep 6, 2024
83cba37
fix(lint): disabling react/require-default-props
davidjoy Sep 6, 2024
10d9166
fix(deps): update @edx/eslint-config to 4.2.0 (#592)
bradenmacdonald Sep 6, 2024
9c6d8a7
fix: adding an entry point in to the ‘module’ webpack builds again
davidjoy Sep 6, 2024
686d66c
fix: removing a syntax error in types
davidjoy Sep 6, 2024
36aac28
fix: using rmSync instead of rmdirSync in release command
davidjoy Sep 6, 2024
41d78f9
fix: the “ref” in a PluginSlot is optional.
davidjoy Sep 6, 2024
a3cb821
fix: removing index extension on entry point
davidjoy Sep 10, 2024
441b0a5
refactor: moving the default header into a default-header folder
davidjoy Sep 6, 2024
5933ed6
fix: using ProjectSiteConfig instead of SiteConfig
davidjoy Sep 11, 2024
ea18520
fix: adding ‘intl’ lib entries to tsconfig.json
davidjoy Sep 11, 2024
08335ce
fix: using ProjectSiteConfig instead of SiteConfig
davidjoy Sep 11, 2024
a7e9f07
fix: improving ProjectSiteConfig and SiteConfig types
davidjoy Sep 11, 2024
c4cab21
fix: making runtime/index a typescript file.
davidjoy Sep 11, 2024
2546636
fix: fixing path to Menu SCSS
davidjoy Sep 11, 2024
71ce3b9
fix: updating test-project package-lock.json file
davidjoy Sep 11, 2024
dee8e5c
fix(lint): turning off no-param-reassign
davidjoy Sep 11, 2024
61632a6
fix: removing redux store from the shell
davidjoy Sep 11, 2024
25da21d
refactor: renaming ‘shell’ to ‘bootstrap’
davidjoy Sep 11, 2024
7e4f6cc
docs: explaining why ‘bootstrap’ exists as a file in the Shell
davidjoy Sep 11, 2024
1cbadd3
refactor: converting i18n lib to TypeScript
davidjoy Sep 11, 2024
6004f03
feat: Adding an ActiveHeader component
davidjoy Sep 11, 2024
06213ba
feat: Getting the react-router data router and federated modules work…
davidjoy Sep 11, 2024
ac11431
Merge remote-tracking branch 'openedx-frontend-build/master'
davidjoy Sep 12, 2024
ac489bb
fix: adding missing test snapshot, updating package-lock.json
davidjoy Sep 13, 2024
0fae56e
fix: roughly turning files into TypeScript
davidjoy Sep 13, 2024
e33ace5
fix: updating package-lock for test-project.
davidjoy Sep 13, 2024
ab514ce
fix: importing parse5 correctly
davidjoy Sep 13, 2024
0d75e3a
test: removing old snapshot file
davidjoy Sep 13, 2024
bd3afff
Merge pull request #1 from davidjoy/djoy/merge-paragon-webpack-plugin
davidjoy Sep 13, 2024
d2da945
Merge remote-tracking branch 'openedx-frontend-plugin-framework/master'
davidjoy Sep 13, 2024
ec60261
fix: missing comma in package.json
davidjoy Sep 13, 2024
c310f7b
docs: recording date for last FPF merge
davidjoy Sep 13, 2024
659e8c2
fix: some test fixes
davidjoy Sep 13, 2024
7545473
fix(deps): Bumping axios versions
davidjoy Sep 13, 2024
2f46017
docs: noting latest repo merge dates
davidjoy Sep 13, 2024
cc9ea02
fix: slotOptions is optional in PluginSlot
davidjoy Sep 13, 2024
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
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const config = require('./tools/eslint/.eslintrc.js');

module.exports = merge(config, {
ignorePatterns: [
'test-app',
'test-project',
'docs',
'.eslintrc.js',
'frontend-base.d.ts',
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
npm run build
npm pack
mv openedx-frontend-base* openedx-frontend-base.tgz
cd test-app
cd test-project
npm i ../openedx-frontend-base.tgz
npm ci
- name: Lint
Expand Down
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ Description fields are now required on all i18n messages in the repository. Thi

### 12. SVGR "ReactComponent" imports have been removed.

We have removed the `@svgr/webpack` loader because it was incompatible with more modern tooling (it requires Babel). As a result, the ability to import SVG files into JS as the `ReactComponent` export no longer works. We know of a total of 5 places where this is happening today in Open edX MFEs - frontend-app-learning and frontend-app-profile use it. Please replace that export with the default URL export and set the URL as the source of an `<img>` tag, rather than using `ReactComponent`. You can see an example of normal SVG imports in `test-app/src/App.jsx`.
We have removed the `@svgr/webpack` loader because it was incompatible with more modern tooling (it requires Babel). As a result, the ability to import SVG files into JS as the `ReactComponent` export no longer works. We know of a total of 5 places where this is happening today in Open edX MFEs - frontend-app-learning and frontend-app-profile use it. Please replace that export with the default URL export and set the URL as the source of an `<img>` tag, rather than using `ReactComponent`. You can see an example of normal SVG imports in `test-project/src/ExamplePage.tsx`.

### 13. Import `createConfig` and `getBaseConfig` from `@openedx/frontend-base/config`

Expand Down Expand Up @@ -422,7 +422,7 @@ You must then import this new stylesheet into your `site.config` file:
```diff
+ import './project.scss';

const config: SiteConfig = {
const config: ProjectSiteConfig = {
// config document
}

Expand All @@ -443,6 +443,15 @@ Then work through the conflicts and use a merge commit to add the history into t

Then move the files out of the way (move src to some other sub-dir, mostly) to make room for the next repo.

### Latest repository merges

- frontend-component-header - Up to date as of 9/12/2024
- frontend-component-footer - Up to date as of 9/12/2024
- frontend-build - Up to date as of 9/12/2024

- frontend-platform - Up to date as of 9/13/2024
- frontend-plugin-framework - Up to date as of 9/13/2024

# Other notable changes

- Cease using `AUTHN_MINIMAL_HEADER`, replace it with an actual minimal header.
Expand Down
27 changes: 15 additions & 12 deletions example-plugin-app/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions example-plugin-app/src/DefaultIframe.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { Plugin } from '@openedx/frontend-plugin-framework';
function DefaultComponent() {
return (
<section className="bg-light p-3 h-100">
<h3>Default iFrame Widget</h3>
<h4>Default iFrame Widget</h4>
<p>
This is a component that lives in the example-plugins-app and is provided in this host MFE via iFrame.
</p>
Expand All @@ -17,7 +17,7 @@ function DefaultComponent() {
function ErrorFallback(error) {
return (
<div className="text-center">
<p className="h3 text-muted">
<p className="h4 text-muted">
Oops! An error occurred. Please refresh the screen to try again.
</p>
<br />
Expand Down
2 changes: 1 addition & 1 deletion example-plugin-app/src/PluginIframe.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export default function PluginIframe() {
return (
<Plugin>
<section className="bg-light p-3 h-100">
<h3>Inserted iFrame Plugin</h3>
<h4>Inserted iFrame Plugin</h4>
<p>
This is a component that lives in the example-plugins-app and is provided in this host MFE via iFrame plugin.
</p>
Expand Down
3 changes: 0 additions & 3 deletions example/.eslintignore

This file was deleted.

15 changes: 0 additions & 15 deletions example/.eslintrc.js

This file was deleted.

Empty file removed example/assets/.gitkeep
Empty file.
Empty file removed example/data/.gitkeep
Empty file.
4 changes: 0 additions & 4 deletions example/data/README.rst

This file was deleted.

Loading
Loading