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

Major Dependency Updates #423

Merged
merged 132 commits into from
Apr 8, 2019
Merged

Major Dependency Updates #423

merged 132 commits into from
Apr 8, 2019

Conversation

jaronheard
Copy link
Contributor

@jaronheard jaronheard commented Mar 12, 2019

What's been done?

Major dependency updates:

  • Node 8 -> Node 10
  • Webpack 2 -> 3
  • Webpack 3 -> 4
  • Babel 6 -> 7
  • Storybook 3 -> 4
  • React 15 -> 16
  • Emotion 9 -> 10
  • Deck.gl 4 -> 6
  • react-map-gl 3-> 4

Other fun:

  1. Tweaked Prettier settings and ESLint rules.
  2. Added packages/component-library/es to .gitignore
  3. Fixed a bunch of linting errors in the component-library. Also added a mix of deprecation warnings and temporarily disabled ESLint on some components (mostly Sandbox UI).

Current Status:

Bad things ☠️

Must Fix

  • HMR not working in project packages

Should Fix

  • HeatMap component story is broken, due to a combination of the MapGL and Storybook upgrades
  • 2017 Packages broken due to Recharts

Not great things 🤷‍♂️

  • Really annoying error message every time you launch a dev server ✖ 「wdm」: ConcurrentCompilationError: You ran Webpack twice. Each instance only supports a single concurrent compilation at a time.

Good things 🙌

  • All other tests pass, all packages build and run, storybook works

Next steps (probably in an additional PR):

  • Cleaning codebase with Prettier and ESLint, and adding enforcement
  • Eliminate excess dependencies, and extract dev-dependencies to workspace root
  • Add lint scripts to all packages to enable yarn lint from root
  • Storybook 4 -> 5
  • Reimplement Geocoder in Disaster Resilience

Put on the back burner:

  • HMR improvements - currently HMR works for some specific cases but does not work consistently across the board. After much research, my determination is that implementing React Hot Loader is not worthwhile at present, it's too buggy for class components. Story Cards don't hot-reload properly, and I'd rather have something stable. See these issues on React Hot Loader 1138 1196 and this article.

@jaronheard jaronheard changed the title WIP - Major Dependency Updates Major Dependency Updates Apr 5, 2019
Copy link
Contributor

@DingoEatingFuzz DingoEatingFuzz left a comment

Choose a reason for hiding this comment

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

We're so close!

I did some QA on prod builds and ran into three issues, all in the 2017 package. I think we can clean these up quickly.

  • Housing dropdowns don't update the map (api calls are made though). Probably a root selector issue.
  • Emergency page has double headers
  • Transportation errors immediately, "cannot read property mapType of undefined". Probably a root selector issue.

@jaronheard
Copy link
Contributor Author

@DingoEatingFuzz Made the fixes you suggested. If you take a final look and it's all good, you can go ahead and merge.

Copy link
Contributor

@DingoEatingFuzz DingoEatingFuzz left a comment

Choose a reason for hiding this comment

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

Kicked the tires again and everything appears to be in working order!

Ship it!!!!!!!!!!!!!!!! 🚢 🍾

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants