Actually lazy load swagger ui (#7067)

* switch to dynamic imports so that bundling doesn't include swagger-ui-dist in its vendor file

* remove ember-ajax

* delete comment

* update comment about lazy loading in the engine index.js
This commit is contained in:
Matthew Irish
2019-07-05 10:28:41 -05:00
committed by GitHub
parent 975db34faf
commit a640411471
5 changed files with 75 additions and 32 deletions

View File

@@ -7,11 +7,16 @@ const EngineAddon = require('ember-engines/lib/engine-addon');
module.exports = EngineAddon.extend({
name: 'open-api-explorer',
babel: {
plugins: [require.resolve('ember-auto-import/babel-plugin')],
},
included() {
this._super.included && this._super.included.apply(this, arguments);
// we want to lazy load these deps, importing them here will result in them being added to the
// engine-vendor files that will be lazy loaded with the engine
this.import('node_modules/swagger-ui-dist/swagger-ui-bundle.js');
// we want to lazy load the CSS deps, importing them here will result in them being added to the
// engine-vendor.css files that will be lazy loaded with the engine
// We DON'T want to add the JS deps here because currently that leads to their inclusion in the vendor.js
// (this is likely a bug) - to get around that we lazy-load via dynamic `import()` in the swagger-ui.js
// component
this.import('node_modules/swagger-ui-dist/swagger-ui.css');
},