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

[webpack 4] third time's the charm ;) #5370

Merged

Conversation

williaster
Copy link
Contributor

@williaster williaster commented Jul 11, 2018

This PR is the third attempt (after #4727 and #5240) at upgrading to webpack 4 to gain some perf wins with bundle optimization + lazy-loading of visualizations.

Note this PR is built on / is blocked on merging the global notify refactor in #5355 (which broke lazy loading last time)

@john-bodley @mistercrunch @graceguo-supercat @fabianmenges

@codecov-io
Copy link

codecov-io commented Jul 11, 2018

Codecov Report

Merging #5370 into master will decrease coverage by 2.1%.
The diff coverage is 26.88%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master   #5370      +/-   ##
=========================================
- Coverage   61.21%   59.1%   -2.11%     
=========================================
  Files         373     372       -1     
  Lines       23709   23746      +37     
  Branches     2750    2758       +8     
=========================================
- Hits        14513   14035     -478     
- Misses       9181    9696     +515     
  Partials       15      15
Impacted Files Coverage Δ
...et/assets/src/dashboard/deprecated/chart/Chart.jsx 0% <0%> (ø) ⬆️
superset/assets/src/visualizations/markup.js 0% <0%> (-26.67%) ⬇️
superset/viz.py 77.34% <100%> (ø) ⬆️
superset/assets/src/components/Loading.jsx 100% <100%> (ø) ⬆️
superset/assets/src/chart/Chart.jsx 57.46% <28.2%> (-8.64%) ⬇️
...et/assets/src/dashboard/components/SliceHeader.jsx 45.45% <33.33%> (+6.06%) ⬆️
superset/__init__.py 73.1% <81.81%> (+0.78%) ⬆️
...t/assets/src/visualizations/deckgl/layers/index.js 0% <0%> (-100%) ⬇️
...isualizations/deckgl/AnimatableDeckGLContainer.jsx 0% <0%> (-52.18%) ⬇️
superset/assets/src/visualizations/Legend.jsx 0% <0%> (-47.83%) ⬇️
... and 42 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7670e0c...32a45ec. Read the comment docs.

@williaster williaster mentioned this pull request Jul 11, 2018
1 task
Copy link

@graceguo-supercat graceguo-supercat left a comment

Choose a reason for hiding this comment

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

LGTM

williaster and others added 4 commits July 17, 2018 13:13
…#5240)

* [webpack] setup lazy loading for all visualizations

* [lazy-load] push renderVis function to <Chart /> state

* no mapbox token

* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.

* fix geojson import, undefined t, and fix async css bug

* [lazy load] actually add babel-plugin-syntax-dynamic-import

* [webpack] working dev version of webpack v4

* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins

* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints

* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox

* [webpack 4] lint python manifest changes, update yarn lock.

* [webpack 4] fix tests with babel-plugin-dynamic-import-node

* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes

* [webpack 4] clean up package.json and yarn.lock after rebase

* [webpack 4] lint?

* [webpack 4] lint for real

* [webpack 4][istanbul] ignore visualizations/index.js
@williaster williaster force-pushed the chris--webpack4-third-times-the-charm branch from 945da84 to 7d4ae01 Compare July 17, 2018 20:16
@williaster
Copy link
Contributor Author

going to merge this and then test in our staging env.

@williaster williaster merged commit 8b7aaec into apache:master Jul 17, 2018
mistercrunch added a commit that referenced this pull request Jul 17, 2018
graceguo-supercat pushed a commit to graceguo-supercat/superset that referenced this pull request Jul 19, 2018
* [perf] add webpack 4 + SplitChunks + lazy load visualizations (apache#5240)

* [webpack] setup lazy loading for all visualizations

* [lazy-load] push renderVis function to <Chart /> state

* no mapbox token

* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.

* fix geojson import, undefined t, and fix async css bug

* [lazy load] actually add babel-plugin-syntax-dynamic-import

* [webpack] working dev version of webpack v4

* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins

* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints

* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox

* [webpack 4] lint python manifest changes, update yarn lock.

* [webpack 4] fix tests with babel-plugin-dynamic-import-node

* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes

* [webpack 4] clean up package.json and yarn.lock after rebase

* [webpack 4] lint?

* [webpack 4] lint for real

* [webpack 4][istanbul] ignore visualizations/index.js

* [webpack 4] fix rebase bug, update dashboard/deprecated/chart/Chart.jsx to use vis promises.

* [webpack 4] lint and test

* [webpack 4] yarn.lock

(cherry picked from commit 8b7aaec)
timifasubaa pushed a commit to airbnb/superset-fork that referenced this pull request Jul 25, 2018
* [perf] add webpack 4 + SplitChunks + lazy load visualizations (apache#5240)

* [webpack] setup lazy loading for all visualizations

* [lazy-load] push renderVis function to <Chart /> state

* no mapbox token

* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.

* fix geojson import, undefined t, and fix async css bug

* [lazy load] actually add babel-plugin-syntax-dynamic-import

* [webpack] working dev version of webpack v4

* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins

* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints

* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox

* [webpack 4] lint python manifest changes, update yarn lock.

* [webpack 4] fix tests with babel-plugin-dynamic-import-node

* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes

* [webpack 4] clean up package.json and yarn.lock after rebase

* [webpack 4] lint?

* [webpack 4] lint for real

* [webpack 4][istanbul] ignore visualizations/index.js

* [webpack 4] fix rebase bug, update dashboard/deprecated/chart/Chart.jsx to use vis promises.

* [webpack 4] lint and test

* [webpack 4] yarn.lock
williaster added a commit to airbnb/superset-fork that referenced this pull request Aug 8, 2018
* [perf] add webpack 4 + SplitChunks + lazy load visualizations (apache#5240)

* [webpack] setup lazy loading for all visualizations

* [lazy-load] push renderVis function to <Chart /> state

* no mapbox token

* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.

* fix geojson import, undefined t, and fix async css bug

* [lazy load] actually add babel-plugin-syntax-dynamic-import

* [webpack] working dev version of webpack v4

* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins

* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints

* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox

* [webpack 4] lint python manifest changes, update yarn lock.

* [webpack 4] fix tests with babel-plugin-dynamic-import-node

* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes

* [webpack 4] clean up package.json and yarn.lock after rebase

* [webpack 4] lint?

* [webpack 4] lint for real

* [webpack 4][istanbul] ignore visualizations/index.js

* [webpack 4] fix rebase bug, update dashboard/deprecated/chart/Chart.jsx to use vis promises.

* [webpack 4] lint and test

* [webpack 4] yarn.lock
wenchma pushed a commit to wenchma/incubator-superset that referenced this pull request Nov 16, 2018
* [perf] add webpack 4 + SplitChunks + lazy load visualizations (apache#5240)

* [webpack] setup lazy loading for all visualizations

* [lazy-load] push renderVis function to <Chart /> state

* no mapbox token

* [lazy loading] use native webpack import func to fix chunk names, add babel-plugin-syntax-dynamic-import, fix rebase bug.

* fix geojson import, undefined t, and fix async css bug

* [lazy load] actually add babel-plugin-syntax-dynamic-import

* [webpack] working dev version of webpack v4

* [webpack 4] fix url issues, use mini-css-extract-plugin and webpack-assets-manifest plugins

* [webpack 4] use splitchunks for all files, update templates to multi-file entrypoints

* [webpack 4] multiple theme entry files for markup vis css, don't uglify mapbox

* [webpack 4] lint python manifest changes, update yarn lock.

* [webpack 4] fix tests with babel-plugin-dynamic-import-node

* [webpack 4] only use 'dynamic-import-node' plugin in tests, update <Chart /> vis promise when vis type changes

* [webpack 4] clean up package.json and yarn.lock after rebase

* [webpack 4] lint?

* [webpack 4] lint for real

* [webpack 4][istanbul] ignore visualizations/index.js

* [webpack 4] fix rebase bug, update dashboard/deprecated/chart/Chart.jsx to use vis promises.

* [webpack 4] lint and test

* [webpack 4] yarn.lock
@mistercrunch mistercrunch added 🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels 🚢 0.28.0 labels Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels 🚢 0.28.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants