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

Build Milestone: frontend-build migrated into the library #5

Merged
merged 524 commits into from
Jul 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
524 commits
Select commit Hold shift + click to select a range
efdaf60
fix: force public revert commit previously merged (#288)
adamstankiewicz Dec 21, 2022
ca7ae20
refactor: migrated off babel-plugin-react-intl
BilalQamar95 Jan 20, 2023
dd2b151
fix(deps): update dependency postcss to v8.4.21
renovate[bot] Jan 20, 2023
7c0f7a6
build(deps): bump json5 from 1.0.1 to 1.0.2 (#289)
dependabot[bot] Jan 23, 2023
ae6c67c
fix(deps): update dependency webpack to v5.75.0 (#284)
renovate[bot] Jan 23, 2023
c3af069
fix(deps): update dependency sharp to ^0.31.0 (#283)
renovate[bot] Jan 23, 2023
895422d
fix: reverted migration off babel-plugin-react-intl to babel-plugin-f…
BilalQamar95 Jan 25, 2023
6503492
feat: Enable typescript for production builds
marlonkeating Jan 23, 2023
c7be6d0
Merge pull request #294 from openedx/mkeating/enable-production-types…
marlonkeating Jan 27, 2023
774dcf6
fix: Fix tsconfig typo and add additional steps for copying tsconfig …
marlonkeating Jan 28, 2023
298273a
Merge pull request #297 from openedx/mkeating/tsconfig-fix
marlonkeating Jan 28, 2023
4e989b9
fix(deps): update dependency babel-loader to v8.3.0 (#278)
renovate[bot] Feb 8, 2023
9b33844
chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 (#270)
dependabot[bot] Feb 8, 2023
f76eace
fix(deps): update dependency @svgr/webpack to v6.5.1 (#277)
renovate[bot] Feb 9, 2023
1b5ff77
fix(deps): update dependency postcss-rtlcss to v3.7.2 (#282)
renovate[bot] Feb 9, 2023
87dfe1f
fix(deps): update dependency cssnano to v5.1.14 (#279)
renovate[bot] Feb 9, 2023
81230b3
fix(deps): update dependency dotenv-webpack to v7.1.1 (#280)
renovate[bot] Feb 9, 2023
022e157
fix(deps): update babel monorepo (#276)
renovate[bot] Feb 17, 2023
ec49405
chore(deps): bump cookiejar from 2.1.3 to 2.1.4 (#295)
dependabot[bot] Feb 17, 2023
908b192
chore(deps): update actions/setup-node action to v3 (#300)
renovate[bot] Feb 17, 2023
302c67d
chore(deps): update actions/checkout action to v3 (#299)
renovate[bot] Feb 17, 2023
ca69358
fix(deps): update dependency cssnano to v5.1.15
renovate[bot] Feb 17, 2023
672a793
build: Creating a missing workflow file `self-assign-issue.yml`.
Feb 23, 2023
42c9c71
build: Creating a missing workflow file `add-remove-label-on-comment.…
Feb 23, 2023
be8f5d9
build: Updating a missing workflow file `add-depr-ticket-to-depr-boar…
Feb 23, 2023
155ed56
feat: adds support for custom CSS media queries (#306)
PKulkoRaccoonGang Feb 24, 2023
7a203bb
Merge pull request #307 from openedx/repo_checks/ensure_workflows
Feb 28, 2023
08343dc
fix(deps): update babel monorepo to v7.21.0 (#308)
renovate[bot] Mar 8, 2023
8340ab4
chore(deps): bump webpack from 5.75.0 to 5.76.0 (#316)
dependabot[bot] Mar 15, 2023
07a58ad
fix: revert ts config PR (#315)
Mashal-m Mar 24, 2023
d8c80e5
feat: upgraded to node v18, added .nvmrc and updated workflows (#311)
BilalQamar95 Mar 24, 2023
e6fd704
feat: reduce size CSS output file ~70%
ghassanmas Oct 27, 2022
3bd3767
Merge pull request #266 from ghassanmas/reduce-css-file-size
Apr 4, 2023
d911061
fix(deps): update dependency sass to v1.60.0 (#291)
renovate[bot] Apr 5, 2023
149db14
fix(deps): update dependency webpack-dev-server to v4.13.2 (#293)
renovate[bot] Apr 5, 2023
61263db
fix(deps): update dependency babel-loader to v9 (#314)
renovate[bot] Apr 5, 2023
1b00caf
fix: fixed security vulnerabilities (#325)
abdullahwaheed Apr 5, 2023
be256b2
fix(deps): update dependency style-loader to v3.3.2 (#324)
renovate[bot] Apr 5, 2023
8a24332
fix(deps): update dependency autoprefixer to v10.4.14 (#323)
renovate[bot] Apr 5, 2023
c7ca40c
build: add github action workflow to auto-sync master to alpha (#329)
adamstankiewicz Apr 13, 2023
99a2acc
build: auto-approve alpha master sync PR (#331)
adamstankiewicz Apr 13, 2023
97bf27f
build: sync branches with github-actions[bot] and approve PR with edx…
adamstankiewicz Apr 13, 2023
7f1233e
fix(deps): update dependency webpack to v5.79.0 (#327)
renovate[bot] Apr 14, 2023
c2b93f5
fix(deps): update dependency sharp to ^0.32.0 (#326)
renovate[bot] Apr 14, 2023
fc6c7ea
fix(deps): update dependency image-minimizer-webpack-plugin to v3.8.2…
renovate[bot] Apr 14, 2023
b050492
fix(deps): update dependency webpack-bundle-analyzer to v4.8.0 (#292)
renovate[bot] Apr 14, 2023
94c4ce3
fix(deps): update babel monorepo to v7.21.4 (#322)
renovate[bot] Apr 14, 2023
ba83ebf
fix(deps): update eslint (#298)
renovate[bot] Apr 14, 2023
b1d43c7
fix(deps): update dependency sass to v1.62.0 (#337)
renovate[bot] Apr 14, 2023
922597b
fix(deps): update dependency cssnano to v6 (#344)
renovate[bot] Apr 25, 2023
6460083
fix(deps): update dependency html-webpack-plugin to v5.5.1
renovate[bot] Apr 25, 2023
f39fbdb
fix(deps): update dependency postcss to v8.4.23
renovate[bot] Apr 25, 2023
a35a129
fix(deps): update dependency webpack-cli to v5.0.2
renovate[bot] Apr 25, 2023
691d176
fix(deps): update dependency webpack-dev-server to v4.13.3
renovate[bot] Apr 25, 2023
d31d8d4
fix(deps): update dependency sass to v1.62.1
renovate[bot] Apr 26, 2023
5aacb29
fix: disable dot rule in historyApiFallback in webpack.dev.config.js …
adamstankiewicz May 2, 2023
5b8173e
fix(deps): update eslint (#351)
renovate[bot] May 4, 2023
5cc59c4
fix(deps): update dependency clean-webpack-plugin to v4 (#341)
renovate[bot] May 4, 2023
5fba996
fix(deps): update dependency @svgr/webpack to v7 (#340)
renovate[bot] May 4, 2023
d4ad548
fix(deps): update babel monorepo
renovate[bot] May 4, 2023
123a3cd
fix(deps): update dependency cssnano to v6.0.1
renovate[bot] May 4, 2023
cfc131b
fix(deps): update dependency webpack to v5.82.0 (#355)
renovate[bot] May 5, 2023
7024203
fix(deps): update dependency dotenv-webpack to v8 (#357)
renovate[bot] May 5, 2023
a35b6af
fix(deps): update dependency postcss-loader to v7 (#358)
renovate[bot] May 5, 2023
9661ec6
chore(deps): update dependency typescript to v5 (#338)
renovate[bot] May 5, 2023
4b5de3c
chore(deps): update peter-evans/enable-pull-request-automerge action …
renovate[bot] May 5, 2023
702cd6a
fix(deps): update dependency @edx/new-relic-source-map-webpack-plugin…
renovate[bot] May 5, 2023
a7605ee
fix(deps): update dependency postcss-rtlcss to v4 (#359)
renovate[bot] May 5, 2023
a066e38
fix(deps): update dependency @svgr/webpack to v8 (#364)
renovate[bot] May 26, 2023
d7eb52d
fix(deps): update dependency webpack-cli to v5.1.1 (#363)
renovate[bot] May 26, 2023
ed00478
fix(deps): update dependency postcss-loader to v7.3.1 (#367)
renovate[bot] May 26, 2023
5300a82
fix(deps): update dependency webpack-dev-server to v4.15.0 (#362)
renovate[bot] May 26, 2023
0503d71
fix(deps): update dependency eslint to v8.41.0 (#361)
renovate[bot] May 26, 2023
d5ea781
fix(deps): update dependency style-loader to v3.3.3 (#368)
renovate[bot] May 26, 2023
b90bc6b
fix(deps): update dependency sass-loader to v13 (#360)
renovate[bot] May 26, 2023
0301997
fix(deps): update dependency webpack-merge to v5.9.0 (#371)
renovate[bot] May 26, 2023
658d3d6
fix(deps): update dependency webpack to v5.84.1 (#370)
renovate[bot] May 26, 2023
8c62a1e
fix(deps): update dependency @edx/new-relic-source-map-webpack-plugin…
renovate[bot] May 26, 2023
94591ea
fix(deps): update dependency postcss-loader to v7.3.2
renovate[bot] May 28, 2023
efb62c3
fix(deps): update dependency postcss to v8.4.24
renovate[bot] May 28, 2023
a21bbed
fix(deps): update dependency sass-loader to v13.3.1
renovate[bot] May 28, 2023
0b17a12
fix(deps): update dependency webpack-cli to v5.1.2
renovate[bot] Jun 4, 2023
2353933
fix(deps): update dependency webpack-cli to v5.1.3
renovate[bot] Jun 4, 2023
7dafaa4
fix(deps): update dependency webpack-cli to v5.1.4
renovate[bot] Jun 7, 2023
117cc85
fix(deps): update dependency webpack to v5.86.0 (#376)
renovate[bot] Jun 8, 2023
60109a9
fix(deps): update dependency sass to v1.63.2 (#382)
renovate[bot] Jun 8, 2023
8053dc6
fix(deps): update dependency webpack-bundle-analyzer to v4.9.0 (#377)
renovate[bot] Jun 9, 2023
fabfac6
fix(deps): update babel monorepo to v7.22.5 (#372)
renovate[bot] Jun 9, 2023
4efd1e1
fix(deps): update eslint (#378)
renovate[bot] Jun 9, 2023
f36ad79
fix(deps): update dependency html-webpack-plugin to v5.5.2
renovate[bot] Jun 9, 2023
c58fc18
fix(deps): update dependency sass to v1.63.3
renovate[bot] Jun 9, 2023
d3ddfb3
fix(deps): update dependency webpack-dev-server to v4.15.1
renovate[bot] Jun 9, 2023
562d39c
fix(deps): update dependency sass-loader to v13.3.2
renovate[bot] Jun 10, 2023
3d55a31
fix(deps): update dependency postcss-loader to v7.3.3
renovate[bot] Jun 10, 2023
435c5c9
fix(deps): update dependency html-webpack-plugin to v5.5.3
renovate[bot] Jun 10, 2023
d6449b2
fix(deps): update dependency postcss-custom-media to v9.1.4
renovate[bot] Jun 13, 2023
dff1569
chore(deps): update react monorepo
renovate[bot] Jun 13, 2023
e239829
fix(deps): update dependency sharp to v0.32.1
renovate[bot] Jun 13, 2023
4bcf6a2
fix(deps): update dependency sass to v1.63.4
renovate[bot] Jun 14, 2023
4b77d46
chore(deps): update actions/setup-node action to v3 (#396)
renovate[bot] Jun 22, 2023
020e5bc
chore(deps): update actions/checkout action to v3 (#395)
renovate[bot] Jun 22, 2023
8414012
fix(deps): update dependency image-minimizer-webpack-plugin to v3.8.3
renovate[bot] Jun 22, 2023
b99aced
fix(deps): update dependency postcss-custom-media to v9.1.5
renovate[bot] Jun 22, 2023
f8c9215
fix(deps): update dependency sass to v1.63.6
renovate[bot] Jun 22, 2023
9231eb7
fix(deps): update eslint (#402)
renovate[bot] Jul 6, 2023
b677c39
fix(deps): update dependency postcss to v8.4.25
renovate[bot] Jul 6, 2023
c459497
fix(deps): update dependency babel-loader to v9.1.3
renovate[bot] Jul 7, 2023
23f52e1
fix: updated jest to resolve word-wrap ReDoS vulnerability (#411)
BilalQamar95 Jul 11, 2023
9cd2d02
fix(deps): update dependency sharp to v0.32.2
renovate[bot] Jul 11, 2023
a8b68f7
fix: bump semver from 5.7.1 to 5.7.2 (#414)
dependabot[bot] Jul 12, 2023
467d2fb
fix(deps): update dependency @babel/eslint-parser to v7.22.9
renovate[bot] Jul 12, 2023
51d678d
fix(deps): update dependency postcss to v8.4.26
renovate[bot] Jul 13, 2023
cd30a3f
fix(deps): update dependency sharp to v0.32.3
renovate[bot] Jul 14, 2023
c73a797
fix(deps): update dependency webpack to v5.88.1 (#403)
renovate[bot] Jul 17, 2023
e2d0115
fix(deps): update dependency webpack to v5.88.2
renovate[bot] Jul 18, 2023
5b96343
feat: add fedx-scripts serve (#404)
adamstankiewicz Jul 18, 2023
d3a87bf
fix(deps): update dependency postcss-custom-media to v9.1.5
renovate[bot] Jul 18, 2023
049c0c6
fix(deps): update dependency sharp to v0.32.3
renovate[bot] Jul 18, 2023
4f62b40
fix: ensure .env.development PORT works (#423)
adamstankiewicz Jul 18, 2023
0f8f544
fix: silence sass compiler warnings (#425)
adamstankiewicz Jul 19, 2023
0081949
fix: reverted jest upgrade (#427)
BilalQamar95 Jul 25, 2023
ad42423
fix: update webpack common config to fix errors (#428)
solababs Aug 2, 2023
5b14ea3
fix(deps): update dependency sass to v1.65.1 (#426)
renovate[bot] Aug 15, 2023
5231d82
fix(deps): update dependency postcss-custom-media to v10 (#407)
renovate[bot] Aug 15, 2023
2d1ac6c
chore(deps): update dependency @types/react to v17.0.64
renovate[bot] Aug 15, 2023
c0763cd
fix(deps): update dependency @pmmmwh/react-refresh-webpack-plugin to …
renovate[bot] Aug 15, 2023
8011912
fix(deps): update dependency autoprefixer to v10.4.15
renovate[bot] Aug 15, 2023
2d5e80f
fix(deps): update dependency postcss to v8.4.27
renovate[bot] Aug 15, 2023
9d08508
fix(deps): update dependency postcss-rtlcss to v4.0.7
renovate[bot] Aug 15, 2023
9c4dac8
fix(deps): update dependency sharp to v0.32.4
renovate[bot] Aug 15, 2023
43c42f0
fix(deps): update dependency postcss to v8.4.28
renovate[bot] Aug 15, 2023
25abc90
fix(deps): update dependency sharp to v0.32.5
renovate[bot] Aug 16, 2023
ccdde0e
refactor: update lock file version (#448)
Mashal-m Sep 6, 2023
a847fa9
fix(deps): update dependency @svgr/webpack to v8.1.0 (#443)
renovate[bot] Sep 25, 2023
0009871
chore(deps): update dependency @types/react to v17.0.65
renovate[bot] Sep 25, 2023
a3185e5
fix(deps): update dependency autoprefixer to v10.4.16
renovate[bot] Sep 25, 2023
437f763
fix(deps): update dependency postcss to v8.4.30
renovate[bot] Sep 25, 2023
aad2bfa
fix(deps): update dependency postcss-custom-media to v10.0.1
renovate[bot] Sep 25, 2023
1cfeff4
fix(deps): update dependency postcss-rtlcss to v4.0.8
renovate[bot] Sep 25, 2023
b4b57c8
fix(deps): update dependency sharp to v0.32.6
renovate[bot] Sep 26, 2023
982bbb7
fix(deps): update dependency webpack-bundle-analyzer to v4.9.1
renovate[bot] Sep 26, 2023
ac5d346
feat!: babel-plugin-react-intl to babel-plugin-formatjs migration (#313)
abdullahwaheed Sep 28, 2023
4ab5421
chore(deps): update react monorepo
renovate[bot] Sep 28, 2023
a89ed0f
refactor: add @openedx in renovate automate configuration (#461)
Mashal-m Oct 2, 2023
1ec7a93
fix: upgraded postcss to fix vulnerability (#465)
abdullahwaheed Oct 6, 2023
4510b22
chore(deps): update dependency @types/react to v17.0.68
renovate[bot] Oct 18, 2023
ff5c4bb
fix(deps): update dependency postcss-custom-media to v10.0.2
renovate[bot] Oct 18, 2023
05c4fba
build(deps): bump @babel/traverse from 7.22.20 to 7.23.2 (#468)
dependabot[bot] Oct 18, 2023
d5941ad
fix(deps): update formatjs monorepo
renovate[bot] Oct 18, 2023
5889cd5
chore(deps): update dependency @types/react to v17.0.69
renovate[bot] Oct 18, 2023
9c7ba96
refactor: updated README file to reflect template changes (#464)
Mashal-m Oct 24, 2023
3c4ed9a
fix: Exclude openedx scoped packages.
feanil Oct 30, 2023
918d049
Merge pull request #475 from openedx/feanil/exclude_openedx
Nov 1, 2023
337170b
fix(deps): update dependency webpack to v5.89.0 (#472)
renovate[bot] Nov 8, 2023
5b7aeff
fix(deps): update dependency sass to v1.69.5 (#446)
renovate[bot] Nov 16, 2023
0b50243
chore(deps): update react monorepo
renovate[bot] Nov 16, 2023
19abbec
fix(deps): update dependency postcss-rtlcss to v4.0.9
renovate[bot] Nov 16, 2023
cf5c12e
fix(deps): update formatjs monorepo
renovate[bot] Nov 16, 2023
0d131cd
fix(deps): update dependency webpack-bundle-analyzer to v4.10.1 (#479)
renovate[bot] Dec 6, 2023
11b5ac2
chore(deps): update actions/checkout action to v4 (#463)
renovate[bot] Dec 6, 2023
c34ab56
chore(deps): update react monorepo
renovate[bot] Dec 6, 2023
638ac46
fix(deps): update dependency postcss to v8.4.32
renovate[bot] Dec 6, 2023
a5f7377
fix(deps): update dependency sharp to v0.33.0 (#483)
renovate[bot] Dec 8, 2023
fb68ea1
chore(deps): update dependency typescript to v5.3.3 (#482)
renovate[bot] Dec 8, 2023
5ce301c
fix(deps): update dependency html-webpack-plugin to v5.5.4
renovate[bot] Dec 8, 2023
6cc1ef3
docs: Move from restructureText to Markdown
feanil Dec 14, 2023
6247de3
fix: Add a warning prior to the package move.
feanil Dec 14, 2023
ef95f32
Merge pull request #487 from openedx/feanil/pre-scope-move
Dec 15, 2023
c738672
fix: Correct some copy-pasta.
feanil Dec 15, 2023
676fc8f
Merge pull request #489 from openedx/feanil/fix_copy_pasta
Dec 15, 2023
ca40183
fix: Make updates to deploy to the openedx scope.
feanil Dec 14, 2023
d6868bc
Merge pull request #488 from openedx/feanil/scope-move
Dec 15, 2023
6b1211f
fix: Update some scripts and docs.
feanil Dec 15, 2023
7542996
Merge pull request #490 from openedx/feanil/docs_and_script_fixes
Dec 15, 2023
7303e90
chore(deps): update actions/setup-node action to v4 (#486)
renovate[bot] Dec 20, 2023
2534d2b
chore(deps): update dependency @types/react to v17.0.73
renovate[bot] Dec 20, 2023
99f41d2
fix(deps): update dependency cssnano to v6.0.2
renovate[bot] Dec 20, 2023
6a9ea62
fix(deps): update dependency sharp to v0.33.1
renovate[bot] Dec 20, 2023
c746034
fix: fixed jest config to ignore @opendedx namespaced packages (#495)
abdullahwaheed Dec 27, 2023
cb0f994
fix(deps): update dependency html-webpack-plugin to v5.6.0 (#494)
renovate[bot] Jan 8, 2024
c36c97d
fix(deps): update dependency webpack-merge to v5.10.0 (#485)
renovate[bot] Jan 8, 2024
d0dba48
chore(deps): update dependency @types/react to v17.0.74
renovate[bot] Jan 8, 2024
b1f52a3
fix(deps): update dependency cssnano to v6.0.3
renovate[bot] Jan 8, 2024
c66332a
fix(deps): update dependency postcss to v8.4.33
renovate[bot] Jan 8, 2024
50fb91c
fix(deps): update dependency postcss-loader to v7.3.4
renovate[bot] Jan 8, 2024
04871cb
fix(deps): update dependency sass to v1.69.7
renovate[bot] Jan 8, 2024
fd0aac6
fix(deps): update dependency sass-loader to v13.3.3
renovate[bot] Jan 8, 2024
571a89f
fix(deps): update dependency source-map-loader to v4.0.2
renovate[bot] Jan 8, 2024
0b7b0e5
build(deps): bump follow-redirects from 1.15.2 to 1.15.4 (#506)
dependabot[bot] Jan 11, 2024
0c40722
fix(deps): update dependency postcss-rtlcss to v5 (#504)
renovate[bot] Jan 11, 2024
3b0e8f8
fix(deps): update dependency style-loader to v3.3.4
renovate[bot] Jan 11, 2024
5651620
fix(deps): update dependency sharp to v0.33.2
renovate[bot] Jan 12, 2024
873f969
chore(deps): update dependency @types/react to v17.0.75
renovate[bot] Jan 15, 2024
35415fe
fix: reverted sharp to v0.32.6 to fix architcture dependent issues (#…
abdullahwaheed Feb 6, 2024
0549dec
fix: bump follow-redirects from 1.15.4 to 1.15.6 (#519)
dependabot[bot] Mar 20, 2024
1427631
fix: update webpack/express deps (#523)
brian-smith-tcril Mar 27, 2024
4121238
feat: support formatjs eslint rules (#516)
brian-smith-tcril Mar 29, 2024
ab15388
chore(deps): update dependency typescript to v5.4.4
renovate[bot] Apr 4, 2024
a16f26a
fix(deps): update dependency @formatjs/cli to v6.2.9
renovate[bot] Apr 4, 2024
85f88f0
fix(deps): update dependency autoprefixer to v10.4.19
renovate[bot] Apr 5, 2024
02be59c
fix(deps): update dependency postcss to v8.4.38
renovate[bot] Apr 5, 2024
9c0b275
fix(deps): update dependency postcss-custom-media to v10.0.4
renovate[bot] Apr 5, 2024
91c6ce4
feat!: typescript configuration and jest v29 upgrade (#429)
adamstankiewicz Apr 19, 2024
538ae44
chore(deps): update dependency @types/react to v17.0.80
renovate[bot] Apr 19, 2024
8b919ce
fix(deps): update dependency postcss-rtlcss to v5.1.2
renovate[bot] Apr 19, 2024
2566ba8
fix(deps): update dependency webpack-bundle-analyzer to v4.10.2
renovate[bot] Apr 19, 2024
250797d
fix(deps): update formatjs monorepo
renovate[bot] Apr 19, 2024
e6e8561
build: Updating workflow `commitlint.yml`.
feanil May 14, 2024
15e1d18
fix(deps): update babel monorepo to v7.24.7 (#392)
renovate[bot] Jun 11, 2024
dccf363
fix(deps): update dependency @pmmmwh/react-refresh-webpack-plugin to …
renovate[bot] Jun 11, 2024
85475af
fix(deps): update dependency postcss-custom-media to v10.0.6
renovate[bot] Jun 11, 2024
c491c50
fix(deps): update dependency react-refresh to v0.14.2
renovate[bot] Jun 11, 2024
6f3571f
fix(deps): update dependency ts-jest to v29.1.4
renovate[bot] Jun 11, 2024
2568a4e
fix(deps): update formatjs monorepo
renovate[bot] Jun 11, 2024
cddd274
build: Update codecov and use token
arbrandes Jun 13, 2024
4af4a57
fix: bump shared eslint config version (#565)
adamstankiewicz Jun 21, 2024
0b3c710
Merge remote-tracking branch 'openedx-frontend-build/master'
davidjoy Jun 27, 2024
cd2ec67
build: some initial cleanup to make this frontend-base
davidjoy Jun 27, 2024
59c8ad4
refactor: moving the frontend-build example app into a subdirectory
davidjoy Jun 27, 2024
7c0f255
refactor: adjusting the test-app name and paths
davidjoy Jun 27, 2024
afa2da7
build: removing openedx.yaml
davidjoy Jun 27, 2024
78d58c5
build: removing unnecessary peerDependency on react
davidjoy Jun 27, 2024
7747fdb
refactor: renaming fedx-scripts to openedx
davidjoy Jun 27, 2024
e9bbe70
build: putting workflows into a good state for pre-alpha
davidjoy Jun 27, 2024
c867d94
build: removing babel and organizing tsconfig.json and .eslintrc.js f…
davidjoy Jun 28, 2024
d064cd4
fix: telling eslint it’s okay for files with JSX to be .tsx
davidjoy Jun 28, 2024
c07d919
refactor: moving ADRs into a ‘decisions’ directory
davidjoy Jul 2, 2024
315de2c
fix: adding ‘sideEffects’ to package.json for treeshaking
davidjoy Jul 2, 2024
4f38e56
docs: adding an ADR describing how we will migrate code into frontend…
davidjoy Jul 2, 2024
0081a0e
docs: fixing the name of ADR 0004
davidjoy Jul 2, 2024
15b6e74
docs: adding notes about how to do development with this library
davidjoy Jul 2, 2024
018b6d3
docs: adding an ADR about modernizing our JavaScript transpilation
davidjoy Jul 2, 2024
421dceb
docs: Adding the beginning of a migration guide
davidjoy Jul 3, 2024
8b50622
build: need to install test-app dependencies
davidjoy Jul 3, 2024
237ba2f
fix: eslint configuration works
davidjoy Jul 3, 2024
b034018
fix: removing @edx/eslint-config
davidjoy Jul 3, 2024
2becbaa
docs: fixing some styling errors in prior ADRs
davidjoy Jul 3, 2024
809f5f4
docs: adding an ADR about pulling @edx/eslint-config into the repo
davidjoy Jul 3, 2024
b9ebd68
fix: setting project relative to .eslintrc.js
davidjoy Jul 5, 2024
d567b49
style: sorting fields in .eslintrc.js
davidjoy Jul 5, 2024
756a0b0
fix: adjusting tsconfig.json for the test-app
davidjoy Jul 5, 2024
ffac6cc
fix: the top-level ESLint config ignores the test-app
davidjoy Jul 5, 2024
b23e638
test: ensuring jest tests for plugins use their own jest.config.js
davidjoy Jul 5, 2024
77f6f57
fix(lint): minor styling issues
davidjoy Jul 5, 2024
d26bd7b
fix: adjusting tsconfig.json includes/excludes
davidjoy Jul 5, 2024
982335d
fix: straightening out jest config, requiring mocks
davidjoy Jul 5, 2024
af5eed3
fix: properly exporting type definitions
davidjoy Jul 5, 2024
6381500
fix: more general eslint and tsconfig wrangling
davidjoy Jul 5, 2024
fac00dd
fix: removing svgr support
davidjoy Jul 9, 2024
b685edc
docs: removing reference to SVGR ReactComponent
davidjoy Jul 9, 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
5 changes: 5 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
coverage/*
dist/
node_modules/
__mocks__/
__snapshots__/
18 changes: 18 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const path = require('path');

const { createConfig } = require('.');

module.exports = createConfig('eslint', {
ignorePatterns: [
'cli/test-app',
],
parserOptions: {
project: path.resolve(__dirname, './tsconfig.json'),
},
rules: {
'no-console': 'off',
'import/no-dynamic-require': 'off',
'global-require': 'off',
'no-template-curly-in-string': 'off',
},
});
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Default CI
on:
push:
branches:
- main
pull_request:
branches:
- '**'
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Nodejs Env
run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV
- name: Setup Nodejs
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VER }}
- name: Install dependencies
run: |
npm ci
cd cli/test-app
npm ci
- name: Lint
run: npm run lint
- name: Test
run: npm run test
13 changes: 13 additions & 0 deletions .github/workflows/lockfileversion-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# check package-lock file version

name: Lockfile Version check

on:
push:
branches:
- main
pull_request:

jobs:
version-check:
uses: openedx/.github/.github/workflows/lockfile-check.yml@master
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.DS_Store
.eslintcache
.idea
.vscode
coverage
dist
node_modules
npm-debug.log
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
18
119 changes: 119 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,122 @@ This project uses the [#module-federation](https://openedx.slack.com/archives/C0
You can follow ongoing progress on the project's [Github project board](https://github.com/orgs/openedx/projects/65/views/1).

Feel free to reach out to David Joy ([Github](https://github.com/davidjoy), [Slack](https://openedx.slack.com/team/UFM4FEN0J)) with any questions.

## Development

This library is not yet published to npm.

In the meantime, it can be used as a replacement for `openedx/frontend-build` in an Open edX micro-frontend in a few steps.

### 1. Clone this repository

Clone this repository as a peer of your micro-frontend folder(s).

### 2. Edit package.json

- Replace the `@openedx/frontend-build` dependency with:

```
- "@openedx/frontend-build": "13.1.4",
+ "@openedx/frontend-base": "file:../frontend-base",
```

This will let your MFE use the checked out version of `frontend-base`.

### 3. `npm install`

Run `npm install` again to update your `node_modules` and `package-lock.json`.

### 4. Migrate your MFE

Follow the steps below to migrate an MFE to use frontend-base.

## Migrating to frontend-base

### 1. Edit package.json `scripts`

Replace all instances of `fedx-scripts` with `openedx` in your package.json file.

> [!TIP]
> **Why change `fedx-scripts` to `openedx`?**
> A few reasons. One, the Open edX project shouldn't be using the name of an internal community of practice at edX for its frontend tooling. Two, some dependencies of your MFE invariably still use frontend-build for their own build needs. This means that they already installed `fedx-scripts` into your `node_modules/.bin` folder. Only one version can be in there, so we need a new name. Seemed like a great time for a naming refresh. |

### 2. Add a tsconfig.json file

Create a tsconfig.json file and add the following contents to it:

```
{
"extends": "@openedx/frontend-base/config/tsconfig.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist"
},
"include": [
".eslintrc.js",
"jest.config.js",
"env.config.js",
"src",
"app.d.ts",
]
}
```

This assumes you have a `src` folder and your build goes in `dist`, which is the best practice.

### 3. Add a Type Declaration file (app.d.ts)

Add a file named `app.d.ts` to the root of your MFE. It should contain:

```
/// <reference types="@openedx/frontend-base" />
```

### 4. Edit `jest.config.js`

Replace the import from 'frontend-build' with 'frontend-base'.

### 5. Edit `.eslintrc.js`

Replace the import from 'frontend-build' with 'frontend-base'.

### 6. Search for any other usages of `frontend-build`

Find any other imports/usages of `frontend-build` in your repository and replace them with `frontend-base` so they don't break.

### 7. i18n Descriptions

Description fields are now required on all i18n messages in the repository. This is because of a change to the ESLint config.

### 8. Jest Mocks

Jest test suites that test React components that import SVG and files must add mocks for those filetypes. This can be accomplished by adding the following module name mappers to jest.config.js:

```
moduleNameMapper: {
'\\.svg$': '<rootDir>/src/__mocks__/svg.js',
'\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/src/__mocks__/file.js',
},
```

Then, create a `src/__mocks__` folder and add the necessary mocks.

**svg.js:**

```
module.exports = 'SvgURL';
```

**file.js:**

```
module.exports = 'FileMock';
```

You can change the values of "SvgURL", and "FileMock" if you want to reduce changes necessary to your snapshot tests; the old values from frontend-build assume svg is only being used for icons, so the values referenced an "icon" which felt unnecessarily narrow.

This is necessary because we cannot write a tsconfig.json in MFEs that includes transpilation of the "config/jest" folder in frontend-base, it can't meaningfully find those files and transpile them, and we wouldn't want all MFEs to have to include such idiosyncratic configuration anyway. The SVG mock, however, requires ESModules syntax to export its default and ReactComponent exports at the same time. This means without moving the mocks into the MFE code, the SVG one breaks transpilation and doesn't understand the `export` syntax used. By moving them into the MFE, they can be easily transpiled along with all the other code when jest tries to run.

### 9. 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 `cli/test-app/src/App.jsx`.
83 changes: 83 additions & 0 deletions bin/openedx.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
#!/usr/bin/env node

const chalk = require('chalk');

const presets = require('../lib/presets');

/**
* TLDR:
* - Find the command to be run in process.argv
* - Remove 'openedx' in process.argv
* - Add a --config option to process.argv if one is missing
* - Execute the command's bin script by pulling it directly in with require()
*
* This file forwards cli commands by manipulating process.argv values and then
* directly requiring bin scripts from the specified packages (as opposed to
* attempting to run them from the aliases npm copies to the .bin folder upon
* install). This seems like a relatively safe thing to do since these file
* names are identical to their cli name and this method of requiring/executing
* them should behave the same as if run from the command line as usual.
*/

function optionExists(keys) {
return process.argv.some((arg) => {
// eslint-disable-next-line no-plusplus
for (let i = 0; i < keys.length; i++) {
if (arg.startsWith(keys[i])) {
return true;
}
}
return false;
});
}

// Ensures that a config option already exists and if it does not adds a default
function ensureConfigOption(preset, keys = ['--config', '-c']) {
if (!optionExists(keys)) {
console.log(`Running with resolved config:\n${preset.resolvedFilepath}\n`);
process.argv.push(keys[0]);
process.argv.push(preset.resolvedFilepath);
}
}

// commandName is the third argument after node and 'openedx'
const commandName = process.argv[2];

// remove 'openedx' from process.argv to allow subcommands to read options properly
process.argv.splice(1, 1);

switch (commandName) {
case 'eslint':
ensureConfigOption(presets.eslint);
// eslint-disable-next-line import/extensions, import/no-extraneous-dependencies
require('.bin/eslint');
break;
case 'jest':
ensureConfigOption(presets.jest);
require('jest/bin/jest');
break;
case 'webpack':
ensureConfigOption(presets.webpack);
require('webpack/bin/webpack');
break;
case 'webpack-dev-server':
ensureConfigOption(presets.webpackDevServer);
require('webpack-dev-server/bin/webpack-dev-server');
break;
case 'formatjs': {
const commonArgs = [
'--format', 'node_modules/@openedx/frontend-base/lib/formatter.js',
'--ignore', 'src/**/*.json',
'--out-file', './temp/formatjs/Default.messages.json',
'--', 'src/**/*.js*',
];
process.argv = process.argv.concat(commonArgs);
require('@formatjs/cli/bin/formatjs');
break;
}
case 'serve':
require('../lib/scripts/serve');
break;
default:
console.log(chalk.red(`[ERROR] openedx: The command ${chalk.bold.red(commandName)} is unsupported.`));
}
Empty file added cli/test-app/.env
Empty file.
3 changes: 3 additions & 0 deletions cli/test-app/.env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
PORT=3000
FAVICON_URL=https://edx-cdn.org/v3/default/favicon.ico
TEST_VARIABLE='foo'
2 changes: 2 additions & 0 deletions cli/test-app/.env.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FAVICON_URL=https://edx-cdn.org/v3/default/favicon.ico
TEST_VARIABLE='foo'
5 changes: 5 additions & 0 deletions cli/test-app/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
coverage/*
dist/
node_modules/
__mocks__/
__snapshots__/
7 changes: 7 additions & 0 deletions cli/test-app/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const { createConfig } = require('@openedx/frontend-base');

module.exports = createConfig('eslint', {
parserOptions: {
project: './tsconfig.json',
},
});
6 changes: 6 additions & 0 deletions cli/test-app/env.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
FALSE_VALUE: false,
CORRECT_BOOL_VALUE: 'Good, false meant false. We did not cast a boolean to a string.',
INCORRECT_BOOL_VALUE: 'Why was a false boolean true?',
INTEGER_VALUE: 123,
};
8 changes: 8 additions & 0 deletions cli/test-app/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const { createConfig } = require('@openedx/frontend-base');

module.exports = createConfig('jest', {
moduleNameMapper: {
'\\.svg$': '<rootDir>/src/__mocks__/svg.js',
'\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/src/__mocks__/file.js',
},
});
Loading