kibana/tasks
Tyler Smalley 92b373b304
[optimizer] More aggressive chunking of common/vendor code (#15816)
Previously, we were not aggressive in combining common code which resulted in duplicates included in the bundles.

As an example `node_modules/elasticsearch-browser/elasticsearch.angular.js` is present in the following chunks:

* kibana.bundle.js
* dashboardViewer.bundle.js
* apm.bundle.js
* monitoring.bundle.js
* ml.bundle.js
* timelion.bundle.js
* graph.bundle.js

Vendor code (anything inside Kibana's node_modules) is placed in vendors.bundle.js while everything else with more than two references is placed in commons.bundle.js.

This has a couple positive side-effects (numbers are with x-pack & canvas):

* Decreased build time. Seeing builds go from 475.76 seconds to 274.72.
* Decreased memory overhead. Uses roughly 1/3 the memory overhead.
* Decreased bundle size. A 68% reduction in overall bundle size. Going from 66.16 MB to 21.13 MB.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-01-05 10:05:17 -08:00
..
build [optimizer] extract plugin discovery (#14745) 2017-12-05 18:11:50 -07:00
config [optimizer] More aggressive chunking of common/vendor code (#15816) 2018-01-05 10:05:17 -08:00
lib Adds task to export a CSV of all dependencies (#15068) 2017-11-21 10:29:12 -06:00
utils [precommit hook] add dev script (#14890) 2017-11-20 14:22:24 -07:00
check_plugins.js Add checkPlugins task to check for plugins before running tests. (#8981) 2016-11-15 16:11:03 -08:00
functional_test_runner.js [precommit hook] add dev script (#14890) 2017-11-20 14:22:24 -07:00
jenkins.js [eslint] add eslint dev script (#14889) 2017-11-14 10:11:59 -07:00
licenses.js Remove use of npm ls in grunt tasks (#11965) 2017-05-24 08:34:55 -07:00
licenses_csv_report.js Adds task to export a CSV of all dependencies (#15068) 2017-11-21 10:29:12 -06:00
plugin.js switch to eslint 2015-07-31 17:16:09 -07:00
reject_rej_files.js [folder structure] installedPlugins -> plugins 2016-07-05 14:05:59 -05:00
release.js [eslint] enable no undef (#10825) 2017-03-22 07:08:23 -07:00
release_packages.js Use Object spread instead of Object.assign where it makes sense (#13903) 2017-10-10 14:50:56 +02:00
setup_kibana.js add travis config 2016-03-10 23:13:02 -07:00
sterilize.js [CLI] Readable logs on Windows with chalk colors (#15557) 2017-12-15 14:35:10 -06:00
test.js [eslint] add eslint dev script (#14889) 2017-11-14 10:11:59 -07:00
test_jest.js [grunt/jest] fail task when jest fails (#12049) 2017-05-26 17:21:45 -07:00
ui_framework.js Upgrade to webpack 3 (#14315) 2017-10-31 16:31:22 -07:00