Skip to content
New issue

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

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

Already on GitHub? # to your account

(fix) Improve code splitting and dependencies #1468

Merged
merged 1 commit into from
Jan 24, 2025

Conversation

ibacher
Copy link
Member

@ibacher ibacher commented Jan 24, 2025

Requirements

  • This PR has a title that briefly describes the work done including the ticket number. If there is a ticket, make sure your PR title includes a conventional commit label. See existing PR titles for inspiration.
  • My work conforms to the OpenMRS 3.0 Styleguide and design documentation.
  • My work includes tests or is validated by existing tests.

Summary

This PR does two things:

  • It moves "shared" dependencies into the apps actual dependency list
  • It reworks how the appointments app does code splits to reduce the overall size of the app

Screenshots

Related Issue

Other

This PR does two things:

* It moves "shared" dependencies into the apps actual dependency list
* It reworks how the appointments app does code splits to reduce the overall
size of the app
@ibacher ibacher force-pushed the fix/improve-code-splitting branch from 9caba1f to 1d0ceaa Compare January 24, 2025 14:52
Copy link
Contributor

Size Change: -824 kB (-10.5%) 👏

Total Size: 7.02 MB

Filename Size Change
packages/esm-appointments-app/dist/2111.js 0 B -10.6 kB (removed) 🏆
packages/esm-appointments-app/dist/3123.js 0 B -272 kB (removed) 🏆
packages/esm-appointments-app/dist/5711.js 2.04 kB -126 kB (-98.41%) 🏆
packages/esm-appointments-app/dist/main.js 7.91 kB -405 kB (-98.08%) 🏆
packages/esm-service-queues-app/dist/3760.js 0 B -23.5 kB (removed) 🏆
ℹ️ View Unchanged
Filename Size Change
packages/esm-active-visits-app/dist/106.js 8.63 kB 0 B
packages/esm-active-visits-app/dist/130.js 396 kB 0 B
packages/esm-active-visits-app/dist/136.js 65.6 kB 0 B
packages/esm-active-visits-app/dist/16.js 614 B 0 B
packages/esm-active-visits-app/dist/233.js 3.37 kB 0 B
packages/esm-active-visits-app/dist/236.js 705 B 0 B
packages/esm-active-visits-app/dist/240.js 615 B 0 B
packages/esm-active-visits-app/dist/261.js 615 B 0 B
packages/esm-active-visits-app/dist/271.js 805 B 0 B
packages/esm-active-visits-app/dist/272.js 615 B 0 B
packages/esm-active-visits-app/dist/316.js 42.9 kB 0 B
packages/esm-active-visits-app/dist/319.js 735 B 0 B
packages/esm-active-visits-app/dist/323.js 920 B 0 B
packages/esm-active-visits-app/dist/325.js 3.09 kB 0 B
packages/esm-active-visits-app/dist/336.js 614 B 0 B
packages/esm-active-visits-app/dist/378.js 731 B 0 B
packages/esm-active-visits-app/dist/443.js 6.98 kB 0 B
packages/esm-active-visits-app/dist/460.js 817 B 0 B
packages/esm-active-visits-app/dist/497.js 615 B 0 B
packages/esm-active-visits-app/dist/539.js 613 B 0 B
packages/esm-active-visits-app/dist/566.js 717 B 0 B
packages/esm-active-visits-app/dist/574.js 615 B 0 B
packages/esm-active-visits-app/dist/579.js 614 B 0 B
packages/esm-active-visits-app/dist/6.js 28.1 kB 0 B
packages/esm-active-visits-app/dist/644.js 806 B 0 B
packages/esm-active-visits-app/dist/652.js 615 B 0 B
packages/esm-active-visits-app/dist/673.js 615 B 0 B
packages/esm-active-visits-app/dist/705.js 615 B 0 B
packages/esm-active-visits-app/dist/711.js 615 B 0 B
packages/esm-active-visits-app/dist/725.js 642 B 0 B
packages/esm-active-visits-app/dist/727.js 615 B 0 B
packages/esm-active-visits-app/dist/737.js 615 B 0 B
packages/esm-active-visits-app/dist/744.js 843 B 0 B
packages/esm-active-visits-app/dist/757.js 729 B 0 B
packages/esm-active-visits-app/dist/784.js 2.63 kB 0 B
packages/esm-active-visits-app/dist/788.js 628 B 0 B
packages/esm-active-visits-app/dist/807.js 959 B 0 B
packages/esm-active-visits-app/dist/814.js 3.04 kB 0 B
packages/esm-active-visits-app/dist/833.js 765 B 0 B
packages/esm-active-visits-app/dist/879.js 3.02 kB 0 B
packages/esm-active-visits-app/dist/899.js 611 B 0 B
packages/esm-active-visits-app/dist/901.js 614 B 0 B
packages/esm-active-visits-app/dist/962.js 807 B 0 B
packages/esm-active-visits-app/dist/967.js 611 B 0 B
packages/esm-active-visits-app/dist/main.js 96.1 kB 0 B
packages/esm-active-visits-app/dist/openmrs-esm-active-visits-app.js 3.5 kB 0 B
packages/esm-appointments-app/dist/1142.js 7.99 kB 0 B
packages/esm-appointments-app/dist/130.js 396 kB 0 B
packages/esm-appointments-app/dist/1325.js 3.08 kB 0 B
packages/esm-appointments-app/dist/1644.js 2.36 kB 0 B
packages/esm-appointments-app/dist/1901.js 2.04 kB 0 B
packages/esm-appointments-app/dist/2.js 2.23 kB 0 B
packages/esm-appointments-app/dist/2016.js 2.04 kB 0 B
packages/esm-appointments-app/dist/2228.js 0 B -2.05 kB (removed) 🏆
packages/esm-appointments-app/dist/2341.js 2.13 kB 0 B
packages/esm-appointments-app/dist/236.js 2.05 kB 0 B
packages/esm-appointments-app/dist/2753.js 24.4 kB 0 B
packages/esm-appointments-app/dist/2757.js 2.44 kB 0 B
packages/esm-appointments-app/dist/2784.js 2.62 kB 0 B
packages/esm-appointments-app/dist/2923.js 4.75 kB +2.2 kB (+86.3%) 🆘
packages/esm-appointments-app/dist/310.js 45.4 kB 0 B
packages/esm-appointments-app/dist/3260.js 23.3 kB 0 B
packages/esm-appointments-app/dist/3372.js 2.57 kB 0 B
packages/esm-appointments-app/dist/3525.js 2.9 kB 0 B
packages/esm-appointments-app/dist/3574.js 2.05 kB 0 B
packages/esm-appointments-app/dist/3581.js 10.9 kB +1.89 kB (+20.93%) 🚨
packages/esm-appointments-app/dist/3652.js 2.05 kB 0 B
packages/esm-appointments-app/dist/3952.js 1.62 kB 0 B
packages/esm-appointments-app/dist/4272.js 2.04 kB 0 B
packages/esm-appointments-app/dist/4378.js 2.31 kB 0 B
packages/esm-appointments-app/dist/443.js 6.97 kB 0 B
packages/esm-appointments-app/dist/4460.js 2.49 kB 0 B
packages/esm-appointments-app/dist/4705.js 2.05 kB 0 B
packages/esm-appointments-app/dist/5171.js 0 B -224 B (removed) 🏆
packages/esm-appointments-app/dist/5240.js 2.04 kB 0 B
packages/esm-appointments-app/dist/529.js 2.71 kB +1.85 kB (+213.51%) 🆘
packages/esm-appointments-app/dist/5336.js 2.04 kB 0 B
packages/esm-appointments-app/dist/539.js 2.05 kB 0 B
packages/esm-appointments-app/dist/5530.js 1.16 kB 0 B
packages/esm-appointments-app/dist/5578.js 881 B 0 B
packages/esm-appointments-app/dist/5673.js 2.05 kB 0 B
packages/esm-appointments-app/dist/5737.js 2.04 kB 0 B
packages/esm-appointments-app/dist/5833.js 2.36 kB 0 B
packages/esm-appointments-app/dist/5910.js 33.9 kB 0 B
packages/esm-appointments-app/dist/5962.js 2.21 kB 0 B
packages/esm-appointments-app/dist/6179.js 4.25 kB 0 B
packages/esm-appointments-app/dist/646.js 13.5 kB 0 B
packages/esm-appointments-app/dist/6497.js 2.05 kB 0 B
packages/esm-appointments-app/dist/6566.js 2.32 kB 0 B
packages/esm-appointments-app/dist/6591.js 16.8 kB 0 B
packages/esm-appointments-app/dist/6727.js 2.04 kB 0 B
packages/esm-appointments-app/dist/681.js 11 kB 0 B
packages/esm-appointments-app/dist/744.js 2.58 kB 0 B
packages/esm-appointments-app/dist/7775.js 38.1 kB +1.84 kB (+5.07%) 🔍
packages/esm-appointments-app/dist/7807.js 2.67 kB 0 B
packages/esm-appointments-app/dist/8090.js 94.7 kB 0 B
packages/esm-appointments-app/dist/8199.js 114 kB 0 B
packages/esm-appointments-app/dist/8271.js 2.44 kB 0 B
packages/esm-appointments-app/dist/8316.js 42.9 kB 0 B
packages/esm-appointments-app/dist/8319.js 2.31 kB 0 B
packages/esm-appointments-app/dist/8323.js 2.04 kB 0 B
packages/esm-appointments-app/dist/8607.js 577 B 0 B
packages/esm-appointments-app/dist/8788.js 2.04 kB 0 B
packages/esm-appointments-app/dist/899.js 2.04 kB 0 B
packages/esm-appointments-app/dist/9002.js 1.53 kB 0 B
packages/esm-appointments-app/dist/9173.js 25.3 kB 0 B
packages/esm-appointments-app/dist/9190.js 7.36 kB 0 B
packages/esm-appointments-app/dist/9261.js 2.04 kB 0 B
packages/esm-appointments-app/dist/9269.js 10.8 kB +3.12 kB (+40.78%) 🚨
packages/esm-appointments-app/dist/9579.js 2.04 kB 0 B
packages/esm-appointments-app/dist/9874.js 4.24 kB 0 B
packages/esm-appointments-app/dist/9890.js 571 B 0 B
packages/esm-appointments-app/dist/openmrs-esm-appointments-app.js 3.6 kB +47 B (+1.32%)
packages/esm-bed-management-app/dist/130.js 396 kB 0 B
packages/esm-bed-management-app/dist/148.js 1.44 kB 0 B
packages/esm-bed-management-app/dist/16.js 985 B 0 B
packages/esm-bed-management-app/dist/236.js 986 B 0 B
packages/esm-bed-management-app/dist/240.js 987 B 0 B
packages/esm-bed-management-app/dist/261.js 987 B 0 B
packages/esm-bed-management-app/dist/271.js 987 B 0 B
packages/esm-bed-management-app/dist/272.js 986 B 0 B
packages/esm-bed-management-app/dist/288.js 51.3 kB 0 B
packages/esm-bed-management-app/dist/319.js 1.12 kB 0 B
packages/esm-bed-management-app/dist/323.js 987 B 0 B
packages/esm-bed-management-app/dist/325.js 3.09 kB 0 B
packages/esm-bed-management-app/dist/336.js 987 B 0 B
packages/esm-bed-management-app/dist/378.js 1.15 kB 0 B
packages/esm-bed-management-app/dist/443.js 6.97 kB 0 B
packages/esm-bed-management-app/dist/460.js 1.08 kB 0 B
packages/esm-bed-management-app/dist/497.js 988 B 0 B
packages/esm-bed-management-app/dist/539.js 986 B 0 B
packages/esm-bed-management-app/dist/542.js 396 B 0 B
packages/esm-bed-management-app/dist/566.js 1.17 kB 0 B
packages/esm-bed-management-app/dist/574.js 987 B 0 B
packages/esm-bed-management-app/dist/579.js 987 B 0 B
packages/esm-bed-management-app/dist/591.js 16.8 kB 0 B
packages/esm-bed-management-app/dist/644.js 1.2 kB 0 B
packages/esm-bed-management-app/dist/652.js 988 B 0 B
packages/esm-bed-management-app/dist/673.js 988 B 0 B
packages/esm-bed-management-app/dist/705.js 987 B 0 B
packages/esm-bed-management-app/dist/711.js 986 B 0 B
packages/esm-bed-management-app/dist/727.js 987 B 0 B
packages/esm-bed-management-app/dist/737.js 987 B 0 B
packages/esm-bed-management-app/dist/744.js 1.21 kB 0 B
packages/esm-bed-management-app/dist/746.js 125 kB 0 B
packages/esm-bed-management-app/dist/757.js 1.13 kB 0 B
packages/esm-bed-management-app/dist/768.js 28.5 kB +2.04 kB (+7.71%) 🔍
packages/esm-bed-management-app/dist/784.js 2.63 kB 0 B
packages/esm-bed-management-app/dist/788.js 986 B 0 B
packages/esm-bed-management-app/dist/807.js 987 B 0 B
packages/esm-bed-management-app/dist/833.js 1.15 kB 0 B
packages/esm-bed-management-app/dist/899.js 985 B 0 B
packages/esm-bed-management-app/dist/901.js 986 B 0 B
packages/esm-bed-management-app/dist/962.js 987 B 0 B
packages/esm-bed-management-app/dist/main.js 4.27 kB 0 B
packages/esm-bed-management-app/dist/openmrs-esm-bed-management-app.js 3.42 kB 0 B
packages/esm-patient-list-management-app/dist/130.js 396 kB 0 B
packages/esm-patient-list-management-app/dist/16.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/233.js 3.38 kB 0 B
packages/esm-patient-list-management-app/dist/236.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/240.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/261.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/271.js 1.6 kB 0 B
packages/esm-patient-list-management-app/dist/272.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/319.js 1.53 kB 0 B
packages/esm-patient-list-management-app/dist/323.js 1.62 kB 0 B
packages/esm-patient-list-management-app/dist/325.js 3.09 kB 0 B
packages/esm-patient-list-management-app/dist/336.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/37.js 12.5 kB 0 B
packages/esm-patient-list-management-app/dist/378.js 1.55 kB 0 B
packages/esm-patient-list-management-app/dist/443.js 6.98 kB 0 B
packages/esm-patient-list-management-app/dist/460.js 1.71 kB 0 B
packages/esm-patient-list-management-app/dist/497.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/539.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/548.js 58.6 kB 0 B
packages/esm-patient-list-management-app/dist/566.js 1.54 kB 0 B
packages/esm-patient-list-management-app/dist/574.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/579.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/591.js 16.9 kB 0 B
packages/esm-patient-list-management-app/dist/644.js 1.58 kB 0 B
packages/esm-patient-list-management-app/dist/652.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/673.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/705.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/711.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/727.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/737.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/744.js 1.72 kB 0 B
packages/esm-patient-list-management-app/dist/757.js 1.59 kB 0 B
packages/esm-patient-list-management-app/dist/784.js 2.63 kB 0 B
packages/esm-patient-list-management-app/dist/788.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/807.js 1.83 kB 0 B
packages/esm-patient-list-management-app/dist/814.js 3.05 kB 0 B
packages/esm-patient-list-management-app/dist/833.js 1.6 kB 0 B
packages/esm-patient-list-management-app/dist/899.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/900.js 115 kB 0 B
packages/esm-patient-list-management-app/dist/901.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/962.js 1.34 kB 0 B
packages/esm-patient-list-management-app/dist/main.js 176 kB 0 B
packages/esm-patient-list-management-app/dist/openmrs-esm-patient-list-management-app.js 3.48 kB 0 B
packages/esm-patient-registration-app/dist/130.js 395 kB 0 B
packages/esm-patient-registration-app/dist/16.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/169.js 6.71 kB 0 B
packages/esm-patient-registration-app/dist/2.js 2.24 kB 0 B
packages/esm-patient-registration-app/dist/236.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/240.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/261.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/271.js 2.52 kB 0 B
packages/esm-patient-registration-app/dist/272.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/319.js 2.43 kB 0 B
packages/esm-patient-registration-app/dist/323.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/325.js 3.09 kB 0 B
packages/esm-patient-registration-app/dist/336.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/371.js 547 B 0 B
packages/esm-patient-registration-app/dist/372.js 2.57 kB 0 B
packages/esm-patient-registration-app/dist/378.js 2.38 kB 0 B
packages/esm-patient-registration-app/dist/46.js 133 kB 0 B
packages/esm-patient-registration-app/dist/460.js 2.52 kB 0 B
packages/esm-patient-registration-app/dist/497.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/501.js 7.03 kB 0 B
packages/esm-patient-registration-app/dist/539.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/566.js 2.47 kB 0 B
packages/esm-patient-registration-app/dist/574.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/579.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/591.js 16.8 kB 0 B
packages/esm-patient-registration-app/dist/623.js 1.28 kB 0 B
packages/esm-patient-registration-app/dist/644.js 2.48 kB 0 B
packages/esm-patient-registration-app/dist/652.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/657.js 1.21 kB 0 B
packages/esm-patient-registration-app/dist/673.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/697.js 71.6 kB 0 B
packages/esm-patient-registration-app/dist/705.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/711.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/727.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/737.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/744.js 2.58 kB 0 B
packages/esm-patient-registration-app/dist/757.js 2.49 kB 0 B
packages/esm-patient-registration-app/dist/784.js 2.63 kB 0 B
packages/esm-patient-registration-app/dist/788.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/807.js 2.74 kB 0 B
packages/esm-patient-registration-app/dist/833.js 2.4 kB 0 B
packages/esm-patient-registration-app/dist/879.js 3.03 kB 0 B
packages/esm-patient-registration-app/dist/899.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/901.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/962.js 2.12 kB 0 B
packages/esm-patient-registration-app/dist/main.js 205 kB 0 B
packages/esm-patient-registration-app/dist/openmrs-esm-patient-registration-app.js 3.52 kB 0 B
packages/esm-patient-search-app/dist/130.js 396 kB 0 B
packages/esm-patient-search-app/dist/16.js 936 B 0 B
packages/esm-patient-search-app/dist/2.js 2.23 kB 0 B
packages/esm-patient-search-app/dist/233.js 3.37 kB 0 B
packages/esm-patient-search-app/dist/236.js 936 B 0 B
packages/esm-patient-search-app/dist/240.js 937 B 0 B
packages/esm-patient-search-app/dist/261.js 937 B 0 B
packages/esm-patient-search-app/dist/271.js 1.14 kB 0 B
packages/esm-patient-search-app/dist/272.js 937 B 0 B
packages/esm-patient-search-app/dist/319.js 1.07 kB 0 B
packages/esm-patient-search-app/dist/323.js 936 B 0 B
packages/esm-patient-search-app/dist/325.js 3.09 kB 0 B
packages/esm-patient-search-app/dist/336.js 936 B 0 B
packages/esm-patient-search-app/dist/372.js 2.57 kB 0 B
packages/esm-patient-search-app/dist/378.js 1.1 kB 0 B
packages/esm-patient-search-app/dist/443.js 6.98 kB 0 B
packages/esm-patient-search-app/dist/460.js 1.16 kB 0 B
packages/esm-patient-search-app/dist/497.js 936 B 0 B
packages/esm-patient-search-app/dist/51.js 106 kB +412 B (+0.39%)
packages/esm-patient-search-app/dist/539.js 935 B 0 B
packages/esm-patient-search-app/dist/566.js 1.09 kB 0 B
packages/esm-patient-search-app/dist/574.js 937 B 0 B
packages/esm-patient-search-app/dist/579.js 936 B 0 B
packages/esm-patient-search-app/dist/591.js 16.8 kB 0 B
packages/esm-patient-search-app/dist/644.js 1.17 kB 0 B
packages/esm-patient-search-app/dist/652.js 937 B 0 B
packages/esm-patient-search-app/dist/673.js 937 B 0 B
packages/esm-patient-search-app/dist/705.js 937 B 0 B
packages/esm-patient-search-app/dist/711.js 937 B 0 B
packages/esm-patient-search-app/dist/727.js 936 B 0 B
packages/esm-patient-search-app/dist/737.js 936 B 0 B
packages/esm-patient-search-app/dist/744.js 1.17 kB 0 B
packages/esm-patient-search-app/dist/750.js 60.9 kB 0 B
packages/esm-patient-search-app/dist/757.js 1.14 kB 0 B
packages/esm-patient-search-app/dist/784.js 2.63 kB 0 B
packages/esm-patient-search-app/dist/788.js 933 B 0 B
packages/esm-patient-search-app/dist/807.js 1.23 kB 0 B
packages/esm-patient-search-app/dist/814.js 3.05 kB 0 B
packages/esm-patient-search-app/dist/833.js 1.1 kB 0 B
packages/esm-patient-search-app/dist/899.js 933 B 0 B
packages/esm-patient-search-app/dist/901.js 935 B 0 B
packages/esm-patient-search-app/dist/962.js 937 B 0 B
packages/esm-patient-search-app/dist/main.js 168 kB +395 B (+0.24%)
packages/esm-patient-search-app/dist/openmrs-esm-patient-search-app.js 3.51 kB 0 B
packages/esm-service-queues-app/dist/1006.js 2.5 kB 0 B
packages/esm-service-queues-app/dist/1060.js 1.82 kB 0 B
packages/esm-service-queues-app/dist/130.js 396 kB 0 B
packages/esm-service-queues-app/dist/1325.js 3.09 kB 0 B
packages/esm-service-queues-app/dist/1644.js 3.57 kB 0 B
packages/esm-service-queues-app/dist/1727.js 8.62 kB +3 B (+0.03%)
packages/esm-service-queues-app/dist/1800.js 2.42 kB 0 B
packages/esm-service-queues-app/dist/1901.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/2.js 2.23 kB 0 B
packages/esm-service-queues-app/dist/2016.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/236.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/2757.js 3.73 kB 0 B
packages/esm-service-queues-app/dist/2760.js 7.68 kB 0 B
packages/esm-service-queues-app/dist/2784.js 2.62 kB 0 B
packages/esm-service-queues-app/dist/3199.js 1.36 kB 0 B
packages/esm-service-queues-app/dist/3372.js 2.57 kB 0 B
packages/esm-service-queues-app/dist/3574.js 2.99 kB -24 B (-0.8%)
packages/esm-service-queues-app/dist/3604.js 7.35 kB 0 B
packages/esm-service-queues-app/dist/3652.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/3818.js 2.56 kB 0 B
packages/esm-service-queues-app/dist/3828.js 1.38 kB 0 B
packages/esm-service-queues-app/dist/4272.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/4378.js 3.48 kB 0 B
packages/esm-service-queues-app/dist/443.js 6.98 kB 0 B
packages/esm-service-queues-app/dist/4460.js 3.77 kB 0 B
packages/esm-service-queues-app/dist/4705.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/4911.js 7.76 kB 0 B
packages/esm-service-queues-app/dist/5236.js 6.35 kB 0 B
packages/esm-service-queues-app/dist/5240.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/5282.js 9.5 kB 0 B
packages/esm-service-queues-app/dist/5336.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/539.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/5673.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/5711.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/5737.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/5833.js 3.56 kB 0 B
packages/esm-service-queues-app/dist/5962.js 3.06 kB 0 B
packages/esm-service-queues-app/dist/6497.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/6566.js 3.51 kB 0 B
packages/esm-service-queues-app/dist/6578.js 179 kB 0 B
packages/esm-service-queues-app/dist/6591.js 16.8 kB 0 B
packages/esm-service-queues-app/dist/6670.js 10.4 kB +3 B (+0.03%)
packages/esm-service-queues-app/dist/6727.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/744.js 3.73 kB 0 B
packages/esm-service-queues-app/dist/752.js 2.37 kB 0 B
packages/esm-service-queues-app/dist/7807.js 4.02 kB 0 B
packages/esm-service-queues-app/dist/8271.js 3.63 kB 0 B
packages/esm-service-queues-app/dist/8319.js 3.43 kB 0 B
packages/esm-service-queues-app/dist/8323.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/8788.js 3.03 kB 0 B
packages/esm-service-queues-app/dist/899.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/9261.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/9392.js 8.22 kB 0 B
packages/esm-service-queues-app/dist/940.js 23.4 kB 0 B
packages/esm-service-queues-app/dist/9579.js 3.01 kB 0 B
packages/esm-service-queues-app/dist/9993.js 100 kB 0 B
packages/esm-service-queues-app/dist/main.js 280 kB -1 B (0%)
packages/esm-service-queues-app/dist/openmrs-esm-service-queues-app.js 3.48 kB 0 B
packages/esm-ward-app/dist/130.js 396 kB 0 B
packages/esm-ward-app/dist/1325.js 3.08 kB 0 B
packages/esm-ward-app/dist/1576.js 6.04 kB 0 B
packages/esm-ward-app/dist/1644.js 1.77 kB 0 B
packages/esm-ward-app/dist/1901.js 1.76 kB 0 B
packages/esm-ward-app/dist/1925.js 90.9 kB 0 B
packages/esm-ward-app/dist/2016.js 1.77 kB 0 B
packages/esm-ward-app/dist/2126.js 9.7 kB 0 B
packages/esm-ward-app/dist/236.js 1.77 kB 0 B
packages/esm-ward-app/dist/2757.js 2.02 kB 0 B
packages/esm-ward-app/dist/2784.js 2.62 kB 0 B
packages/esm-ward-app/dist/2969.js 203 B 0 B
packages/esm-ward-app/dist/3372.js 2.56 kB 0 B
packages/esm-ward-app/dist/3574.js 1.85 kB 0 B
packages/esm-ward-app/dist/3649.js 2.5 kB 0 B
packages/esm-ward-app/dist/3652.js 1.77 kB 0 B
packages/esm-ward-app/dist/3922.js 9.02 kB 0 B
packages/esm-ward-app/dist/4124.js 3.21 kB 0 B
packages/esm-ward-app/dist/4192.js 6.09 kB 0 B
packages/esm-ward-app/dist/4272.js 1.77 kB 0 B
packages/esm-ward-app/dist/4378.js 1.77 kB 0 B
packages/esm-ward-app/dist/443.js 6.97 kB 0 B
packages/esm-ward-app/dist/4460.js 1.77 kB 0 B
packages/esm-ward-app/dist/460.js 5 kB 0 B
packages/esm-ward-app/dist/4659.js 11.1 kB 0 B
packages/esm-ward-app/dist/4705.js 1.77 kB 0 B
packages/esm-ward-app/dist/471.js 7.26 kB 0 B
packages/esm-ward-app/dist/5146.js 2.13 kB 0 B
packages/esm-ward-app/dist/5204.js 36 kB 0 B
packages/esm-ward-app/dist/5240.js 1.77 kB 0 B
packages/esm-ward-app/dist/5336.js 1.77 kB 0 B
packages/esm-ward-app/dist/5348.js 348 B 0 B
packages/esm-ward-app/dist/5362.js 476 B 0 B
packages/esm-ward-app/dist/539.js 1.77 kB 0 B
packages/esm-ward-app/dist/5481.js 1.25 kB 0 B
packages/esm-ward-app/dist/5673.js 1.77 kB 0 B
packages/esm-ward-app/dist/5711.js 1.77 kB 0 B
packages/esm-ward-app/dist/5737.js 1.77 kB 0 B
packages/esm-ward-app/dist/5833.js 1.77 kB 0 B
packages/esm-ward-app/dist/5897.js 359 B 0 B
packages/esm-ward-app/dist/5962.js 1.77 kB 0 B
packages/esm-ward-app/dist/6053.js 12.2 kB 0 B
packages/esm-ward-app/dist/6125.js 5.87 kB 0 B
packages/esm-ward-app/dist/6497.js 1.77 kB 0 B
packages/esm-ward-app/dist/6566.js 1.76 kB 0 B
packages/esm-ward-app/dist/6591.js 16.8 kB 0 B
packages/esm-ward-app/dist/6717.js 1.85 kB 0 B
packages/esm-ward-app/dist/6727.js 1.77 kB 0 B
packages/esm-ward-app/dist/7109.js 348 B 0 B
packages/esm-ward-app/dist/744.js 1.77 kB 0 B
packages/esm-ward-app/dist/767.js 648 B 0 B
packages/esm-ward-app/dist/7807.js 1.77 kB 0 B
packages/esm-ward-app/dist/8015.js 480 B 0 B
packages/esm-ward-app/dist/8271.js 1.77 kB 0 B
packages/esm-ward-app/dist/8319.js 1.77 kB 0 B
packages/esm-ward-app/dist/8323.js 1.77 kB 0 B
packages/esm-ward-app/dist/8577.js 17.7 kB 0 B
packages/esm-ward-app/dist/8768.js 15 kB 0 B
packages/esm-ward-app/dist/8788.js 1.76 kB 0 B
packages/esm-ward-app/dist/899.js 1.76 kB 0 B
packages/esm-ward-app/dist/9261.js 1.77 kB 0 B
packages/esm-ward-app/dist/940.js 23.4 kB +2.01 kB (+9.37%) 🔍
packages/esm-ward-app/dist/9405.js 1.6 kB 0 B
packages/esm-ward-app/dist/9559.js 341 B 0 B
packages/esm-ward-app/dist/9579.js 1.77 kB 0 B
packages/esm-ward-app/dist/main.js 98.8 kB 0 B
packages/esm-ward-app/dist/openmrs-esm-ward-app.js 3.46 kB 0 B

compressed-size-action

@ibacher ibacher requested a review from denniskigen January 24, 2025 15:00
Copy link
Member

@denniskigen denniskigen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent! Thanks, @ibacher!

@denniskigen denniskigen merged commit 63c8af0 into main Jan 24, 2025
8 checks passed
@denniskigen denniskigen deleted the fix/improve-code-splitting branch January 24, 2025 19:29
@denniskigen
Copy link
Member

denniskigen commented Jan 27, 2025

@ibacher what's the rule of the thumb now regarding getAsyncLifecycle and getSyncLifecycle. In the first iteration of the code split strategy, the prevailing thought seemed to be to prefer using getSyncLifecycle for pages and dashboard links, and getAsyncLifecycle for everything else.

Has this changed? Should we be using getAsyncLifecycle for everything except dashboard links?

@ibacher
Copy link
Member Author

ibacher commented Jan 27, 2025

So this PR originated when I was playing around with caching and noticed the appointments app was downloading a 350kB chunk of code, which seemed large (most chunks are <50kB). When I ran the analyzer there were a few minor things (it was embedding react-dom and xlsx was probably larger than it needed to be), but I noticed that Carbon was being loaded in both the "main" chunk and the 350kB one. At its heart, that's what this is fixing.

So my current approximation for a rule here is: don't load something that makes heavy use of Carbon synchronously, especially "heavier" components like data tables or other things where each component uses multiple sub-components). I'm also thinking that most apps shouldn't have more than 2-3 synchronously loaded components, since that seems to be where we wind up.

Maybe that can be glossed as "just load things in the sidebar synchronously"?

@denniskigen
Copy link
Member

denniskigen commented Jan 27, 2025

Yeah, thanks for the context. I ask because I'd gone on to file a separate PR inspired by this one, but I feel it goes too far in the other direction as we end up with approximately one or two max synchronously loaded components per app. Those are just dashboard links. Everything else is lazy-loaded. Does that sound too far off the mark?

@ibacher
Copy link
Member Author

ibacher commented Jan 27, 2025

Does that sound too far off the mark?

No that sounds about right. I think previously, I thought that front-loading as much of an app as we could would yield better performance, but I'm no longer sure that's the case (though it probably gets you better performance on initial load).

@denniskigen
Copy link
Member

denniskigen commented Jan 27, 2025

Ok, here's the PR.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants