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) Synchronously load most extensions and pages #806

Merged
merged 1 commit into from
Nov 3, 2023

Conversation

ibacher
Copy link
Member

@ibacher ibacher commented Nov 3, 2023

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.

For changes to apps

If applicable

  • My work includes tests or is validated by existing tests.
  • I have updated the esm-framework mock to reflect any API changes I have made.

Summary

This ensures that all components are in the main chunk of the apps in esm-core. This reduces the number of JS requests by about 13, though I think there are more significant gains to be had by adopting this in the patient-chart and patient-management repos, especially.

At least for me, the primary navigation is, expected, a little snappier under this change.

Screenshots

Related Issue

Other

Added bonus: this adds types for the Webpack config.

Copy link
Contributor

github-actions bot commented Nov 3, 2023

Size Change: +159 kB (+6%) 🔍

Total Size: 2.99 MB

Filename Size Change
packages/apps/esm-implementer-tools-app/dist/837.js 0 B -55.1 kB (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/main.js 72.8 kB +68.6 kB (+1642%) 🆘
packages/apps/esm-login-app/dist/144.js 0 B -21.7 kB (removed) 🏆
packages/apps/esm-login-app/dist/342.js 0 B -11.6 kB (removed) 🏆
packages/apps/esm-login-app/dist/829.js 0 B -10.2 kB (removed) 🏆
packages/apps/esm-login-app/dist/main.js 52.6 kB +49 kB (+1362%) 🆘
packages/apps/esm-offline-tools-app/dist/273.js 0 B -48.9 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/281.js 0 B -16.3 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/501.js 0 B -24.1 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/526.js 0 B -15.7 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/594.js 0 B -11.4 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/main.js 136 kB +79.4 kB (+140%) 🆘
packages/apps/esm-primary-navigation-app/dist/241.js 0 B -14 kB (removed) 🏆
packages/apps/esm-primary-navigation-app/dist/735.js 18.6 kB +16 kB (+607%) 🆘
packages/apps/esm-primary-navigation-app/dist/953.js 0 B -12.8 kB (removed) 🏆
packages/apps/esm-primary-navigation-app/dist/main.js 33.7 kB +28.9 kB (+613%) 🆘
packages/apps/esm-implementer-tools-app/dist/285.js 60.8 kB +60.8 kB (new file) 🆕
packages/apps/esm-login-app/dist/249.js 22.9 kB +22.9 kB (new file) 🆕
packages/apps/esm-login-app/dist/275.js 25.8 kB +25.8 kB (new file) 🆕
packages/apps/esm-offline-tools-app/dist/102.js 81.3 kB +81.3 kB (new file) 🆕
packages/apps/esm-offline-tools-app/dist/193.js 55.1 kB +55.1 kB (new file) 🆕
packages/apps/esm-primary-navigation-app/dist/262.js 13.3 kB +13.3 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
packages/apps/esm-devtools-app/dist/68.js 4.29 kB 0 B
packages/apps/esm-devtools-app/dist/735.js 2.63 kB 0 B
packages/apps/esm-devtools-app/dist/889.js 172 kB 0 B
packages/apps/esm-devtools-app/dist/988.js 282 B 0 B
packages/apps/esm-devtools-app/dist/main.js 2.95 kB 0 B
packages/apps/esm-devtools-app/dist/openmrs-esm-devtools-app.js 3.03 kB 0 B
packages/apps/esm-implementer-tools-app/dist/220.js 0 B -4.43 kB (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/246.js 0 B -449 B (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/263.js 6.66 kB 0 B
packages/apps/esm-implementer-tools-app/dist/319.js 633 B 0 B
packages/apps/esm-implementer-tools-app/dist/329.js 10 kB 0 B
packages/apps/esm-implementer-tools-app/dist/426.js 1.66 kB 0 B
packages/apps/esm-implementer-tools-app/dist/460.js 735 B 0 B
packages/apps/esm-implementer-tools-app/dist/466.js 0 B -5.85 kB (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/499.js 0 B -2.87 kB (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/500.js 0 B -2.83 kB (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/519.js 0 B -400 B (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/56.js 3.07 kB 0 B
packages/apps/esm-implementer-tools-app/dist/574.js 560 B 0 B
packages/apps/esm-implementer-tools-app/dist/575.js 0 B -713 B (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/587.js 2.81 kB 0 B
packages/apps/esm-implementer-tools-app/dist/620.js 126 kB 0 B
packages/apps/esm-implementer-tools-app/dist/625.js 562 B 0 B
packages/apps/esm-implementer-tools-app/dist/657.js 0 B -562 B (removed) 🏆
packages/apps/esm-implementer-tools-app/dist/727.js 32.9 kB 0 B
packages/apps/esm-implementer-tools-app/dist/735.js 2.63 kB 0 B
packages/apps/esm-implementer-tools-app/dist/757.js 560 B 0 B
packages/apps/esm-implementer-tools-app/dist/788.js 42.9 kB 0 B
packages/apps/esm-implementer-tools-app/dist/807.js 559 B -886 B (-61%) 🏆
packages/apps/esm-implementer-tools-app/dist/833.js 681 B 0 B
packages/apps/esm-implementer-tools-app/dist/889.js 172 kB 0 B
packages/apps/esm-implementer-tools-app/dist/openmrs-esm-implementer-tools-app.js 3.3 kB +1 B (0%)
packages/apps/esm-login-app/dist/111.js 1.22 kB 0 B
packages/apps/esm-login-app/dist/126.js 2.5 kB 0 B
packages/apps/esm-login-app/dist/173.js 1.22 kB 0 B
packages/apps/esm-login-app/dist/236.js 272 B 0 B
packages/apps/esm-login-app/dist/240.js 364 B 0 B
packages/apps/esm-login-app/dist/261.js 0 B -6.28 kB (removed) 🏆
packages/apps/esm-login-app/dist/263.js 6.65 kB 0 B
packages/apps/esm-login-app/dist/272.js 264 B 0 B
packages/apps/esm-login-app/dist/319.js 504 B 0 B
packages/apps/esm-login-app/dist/336.js 234 B 0 B
packages/apps/esm-login-app/dist/337.js 0 B -1.31 kB (removed) 🏆
packages/apps/esm-login-app/dist/460.js 580 B 0 B
packages/apps/esm-login-app/dist/539.js 298 B 0 B
packages/apps/esm-login-app/dist/56.js 3.06 kB 0 B
packages/apps/esm-login-app/dist/574.js 428 B 0 B
packages/apps/esm-login-app/dist/610.js 0 B -5.84 kB (removed) 🏆
packages/apps/esm-login-app/dist/625.js 421 B 0 B
packages/apps/esm-login-app/dist/63.js 16.5 kB 0 B
packages/apps/esm-login-app/dist/644.js 305 B 0 B
packages/apps/esm-login-app/dist/673.js 284 B 0 B
packages/apps/esm-login-app/dist/735.js 2.63 kB 0 B
packages/apps/esm-login-app/dist/757.js 509 B 0 B
packages/apps/esm-login-app/dist/788.js 42.9 kB 0 B
packages/apps/esm-login-app/dist/807.js 685 B 0 B
packages/apps/esm-login-app/dist/833.js 528 B 0 B
packages/apps/esm-login-app/dist/889.js 172 kB 0 B
packages/apps/esm-login-app/dist/967.js 0 B -576 B (removed) 🏆
packages/apps/esm-login-app/dist/openmrs-esm-login-app.js 3.28 kB +3 B (0%)
packages/apps/esm-offline-tools-app/dist/202.js 0 B -9.79 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/206.js 0 B -7.41 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/224.js 0 B -3.86 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/263.js 6.66 kB 0 B
packages/apps/esm-offline-tools-app/dist/297.js 0 B -466 B (removed) 🏆
packages/apps/esm-offline-tools-app/dist/316.js 0 B -2.04 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/319.js 1.14 kB 0 B
packages/apps/esm-offline-tools-app/dist/391.js 0 B -305 B (removed) 🏆
packages/apps/esm-offline-tools-app/dist/412.js 0 B -1.58 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/460.js 1.32 kB 0 B
packages/apps/esm-offline-tools-app/dist/47.js 0 B -6.34 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/538.js 0 B -6.79 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/541.js 0 B -383 B (removed) 🏆
packages/apps/esm-offline-tools-app/dist/56.js 3.07 kB 0 B
packages/apps/esm-offline-tools-app/dist/574.js 1.04 kB 0 B
packages/apps/esm-offline-tools-app/dist/625.js 1.04 kB 0 B
packages/apps/esm-offline-tools-app/dist/63.js 16.5 kB 0 B
packages/apps/esm-offline-tools-app/dist/696.js 0 B -410 B (removed) 🏆
packages/apps/esm-offline-tools-app/dist/733.js 0 B -290 B (removed) 🏆
packages/apps/esm-offline-tools-app/dist/735.js 2.63 kB 0 B
packages/apps/esm-offline-tools-app/dist/752.js 0 B -2.83 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/757.js 1.2 kB 0 B
packages/apps/esm-offline-tools-app/dist/78.js 0 B -6.15 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/788.js 42.9 kB 0 B
packages/apps/esm-offline-tools-app/dist/807.js 1.1 kB 0 B
packages/apps/esm-offline-tools-app/dist/833.js 1.22 kB 0 B
packages/apps/esm-offline-tools-app/dist/889.js 172 kB 0 B
packages/apps/esm-offline-tools-app/dist/937.js 0 B -6.61 kB (removed) 🏆
packages/apps/esm-offline-tools-app/dist/openmrs-esm-offline-tools-app.js 3.29 kB -16 B (0%)
packages/apps/esm-primary-navigation-app/dist/263.js 6.66 kB 0 B
packages/apps/esm-primary-navigation-app/dist/319.js 200 B 0 B
packages/apps/esm-primary-navigation-app/dist/460.js 217 B 0 B
packages/apps/esm-primary-navigation-app/dist/574.js 183 B 0 B
packages/apps/esm-primary-navigation-app/dist/575.js 0 B -441 B (removed) 🏆
packages/apps/esm-primary-navigation-app/dist/625.js 184 B 0 B
packages/apps/esm-primary-navigation-app/dist/63.js 16.5 kB 0 B
packages/apps/esm-primary-navigation-app/dist/674.js 0 B -680 B (removed) 🏆
packages/apps/esm-primary-navigation-app/dist/710.js 0 B -6.44 kB (removed) 🏆
packages/apps/esm-primary-navigation-app/dist/716.js 0 B -6.12 kB (removed) 🏆
packages/apps/esm-primary-navigation-app/dist/743.js 0 B -7.15 kB (removed) 🏆
packages/apps/esm-primary-navigation-app/dist/757.js 209 B 0 B
packages/apps/esm-primary-navigation-app/dist/788.js 42.9 kB 0 B
packages/apps/esm-primary-navigation-app/dist/807.js 235 B 0 B
packages/apps/esm-primary-navigation-app/dist/833.js 210 B 0 B
packages/apps/esm-primary-navigation-app/dist/889.js 172 kB 0 B
packages/apps/esm-primary-navigation-app/dist/948.js 0 B -3.02 kB (removed) 🏆
packages/apps/esm-primary-navigation-app/dist/openmrs-esm-primary-navigation-app.js 3.23 kB -58 B (-2%)
packages/framework/esm-api/dist/openmrs-esm-api.js 9.68 kB 0 B
packages/framework/esm-breadcrumbs/dist/openmrs-esm-breadcrumbs.js 2.66 kB 0 B
packages/framework/esm-config/dist/openmrs-esm-module-config.js 7.87 kB 0 B
packages/framework/esm-dynamic-loading/dist/openmrs-esm-dynamic-loading.js 2.12 kB 0 B
packages/framework/esm-error-handling/dist/openmrs-esm-error-handling.js 894 B 0 B
packages/framework/esm-extensions/dist/openmrs-esm-extensions.js 8.05 kB 0 B
packages/framework/esm-feature-flags/dist/openmrs-esm-feature-flags.js 1.67 kB 0 B
packages/framework/esm-framework/dist/146.openmrs-esm-framework.js 6.69 kB 0 B
packages/framework/esm-framework/dist/455.openmrs-esm-framework.js 4.57 kB 0 B
packages/framework/esm-framework/dist/530.openmrs-esm-framework.js 2.92 kB 0 B
packages/framework/esm-framework/dist/645.openmrs-esm-framework.js 9.31 kB 0 B
packages/framework/esm-framework/dist/710.openmrs-esm-framework.js 6.48 kB 0 B
packages/framework/esm-framework/dist/735.openmrs-esm-framework.js 2.66 kB 0 B
packages/framework/esm-framework/dist/788.openmrs-esm-framework.js 42.9 kB 0 B
packages/framework/esm-framework/dist/openmrs-esm-framework.js 373 kB 0 B
packages/framework/esm-globals/dist/openmrs-esm-globals.js 714 B 0 B
packages/framework/esm-offline/dist/openmrs-esm-offline.js 34.4 kB 0 B
packages/framework/esm-react-utils/dist/openmrs-esm-react-utils.js 15.2 kB 0 B
packages/framework/esm-state/dist/openmrs-esm-state.js 888 B 0 B
packages/framework/esm-styleguide/dist/openmrs-esm-styleguide.js 82.7 kB 0 B
packages/framework/esm-utils/dist/openmrs-esm-utils.js 10.3 kB 0 B
packages/shell/esm-app-shell/dist/498a8af91d44612e.js 4.1 kB 0 B
packages/shell/esm-app-shell/dist/966c4dfec919951f.js 1.58 kB 0 B
packages/shell/esm-app-shell/dist/f56c6ced9e1dbcb9.js 6.01 kB 0 B
packages/shell/esm-app-shell/dist/openmrs.158ac08a1c843325.js 331 kB 0 B
packages/shell/esm-app-shell/dist/service-worker.js 60.4 kB 0 B
packages/tooling/openmrs/dist/cli.js 3.09 kB 0 B
packages/tooling/openmrs/dist/commands/assemble.js 2.73 kB 0 B
packages/tooling/openmrs/dist/commands/build.js 1.66 kB 0 B
packages/tooling/openmrs/dist/commands/debug.js 579 B 0 B
packages/tooling/openmrs/dist/commands/develop.js 1.85 kB 0 B
packages/tooling/openmrs/dist/commands/index.js 438 B 0 B
packages/tooling/openmrs/dist/commands/start.js 848 B 0 B
packages/tooling/openmrs/dist/index.js 517 B 0 B
packages/tooling/openmrs/dist/runner.js 870 B 0 B
packages/tooling/openmrs/dist/utils/config.js 726 B 0 B
packages/tooling/openmrs/dist/utils/debugger.js 529 B 0 B
packages/tooling/openmrs/dist/utils/dependencies.js 639 B 0 B
packages/tooling/openmrs/dist/utils/helpers.js 393 B 0 B
packages/tooling/openmrs/dist/utils/importmap.js 3.25 kB 0 B
packages/tooling/openmrs/dist/utils/index.js 444 B 0 B
packages/tooling/openmrs/dist/utils/logger.js 234 B 0 B
packages/tooling/openmrs/dist/utils/npmConfig.js 854 B 0 B
packages/tooling/openmrs/dist/utils/untar.js 721 B 0 B
packages/tooling/openmrs/dist/utils/variables.js 192 B 0 B
packages/tooling/openmrs/dist/utils/webpack.js 276 B 0 B
packages/tooling/webpack-config/dist/index.js 3.58 kB +195 B (+6%) 🔍
packages/apps/esm-implementer-tools-app/dist/560.js 9.6 kB +9.6 kB (new file) 🆕
packages/apps/esm-primary-navigation-app/dist/960.js 2.64 kB +2.64 kB (new file) 🆕

compressed-size-action

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.

Great work, @ibacher! Thanks!

@ibacher ibacher merged commit 42e790f into main Nov 3, 2023
7 checks passed
@ibacher ibacher deleted the feat/fewer-webpack-chunks branch November 3, 2023 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants