canvas-lms/frontend_build
Ryan Shaw 743c2e84d4 Perf: include globalNav in main entry
closes: COREFE-385

Most pages use this and keeping it as its own chunk was causes webpack
to split out a lot of things (like @instructure/ui-view) into their
own chunks where it would be really more efficient to load them in 
the main bundle once

By lazy-loading the actual tray contents, we don’t add that much
size to the main js bundle
and by only doing require.include(…) we don’t actually execute this
on pages that Don’t `js_bundle :navigation_header` like the login screen

Also by only running the jsx for stuff inside the tray if the tray
is open we can speed up the render functions

Test plan:
* the global nav should work the same as before
* simulate a “slow 3g connection”, 
* click the “account”, “profile”, “help”, “courses” global nav buttons:
* you should see a spinner as each
  of the global nav trays open while it is loading the JS for that tray

Change-Id: I0640668a61ba7c21669f2e43daf4873d5b0ac1b0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/214719
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
2019-10-25 21:17:18 +00:00
..
webpackHooks add webpack notification hooks for gnome/linux 2018-03-14 19:54:40 +00:00
BundleExtensionsPlugin.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
CompiledReferencePlugin.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
SelinimumManifestPlugin.js upgrade webpack to v4 2019-05-16 15:59:04 +00:00
baseWebpackConfig.js Perf: include globalNav in main entry 2019-10-25 21:17:18 +00:00
bundles.js mv non-bundle-entries out of app/coffeescrips/bundles 2019-05-31 04:10:11 +00:00
clientAppPlugin.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
emberHandlebars.js Remove add-module-exports babel plugin & use esModules 2019-05-03 22:49:58 +00:00
i18n.js Remove add-module-exports babel plugin & use esModules 2019-05-03 22:49:58 +00:00
i18nLinerHandlebars.js Remove add-module-exports babel plugin & use esModules 2019-05-03 22:49:58 +00:00
i18nPlugin.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
momentBundles.js add slovenian locale 2019-03-12 14:33:42 +00:00
unextended.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
webpackHooks.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
webpackPublicPath.js Opt our js build tooling dirs into prettier 2018-11-07 22:46:16 +00:00
withExtensions.js Use es Modules for “plugin extensions” 2019-05-01 18:57:46 +00:00