Skip to content

UI 7 Breaking changes

Jean-Michel FRANCOIS edited this page Jan 26, 2022 · 28 revisions

We want to prepare breaking changes for the next UI release.


Date


infrastructure / tooling

  • UI mono repo in independant mode (version / lifecycle)
  • Storybook 6.X
  • ui-scripts support for storybook / remove storybook deps from ui
  • Code splitting
  • cdn 2.0: custom UMDs builds for library used (WILL NOT BE DONE AFTER SURVEY)
  • sass lint track DONE
  • remove es5 transpilation target only es6 browser DONE
  • ui-scripts manage polyfills / remove all polyfills from components
  • Bundle sizing impacts on PR DONE
  • Module federation from Webpack 5

Dependencies

  • redux major upgrade #3027
  • ** note here all the dependencies that need attentions, dead, replacement, upgrade, etc ...
  • d3 bundling alignement in recharts recharts#2343
  • popper.js to @popperjs #3157 + rewrite using hook
  • react 17
  • i18next/react-i18next

Features

  • Icons from Figma

Redux major upgrade #3027

We have changed all the tests because we were used to do {context: store} which is the old way to inject context.

So the new way is this one:

 import { mount } from 'enzyme';
+import { mock } from '../src';
 import { WaitForSettings } from '../src/settings';

                        const wrapper = mount(<WaitForSettings>Hello</WaitForSettings>, {
-                               context: {
-                                       ...
-                               },
+                               mock.Provider.getEnzymeOptions(context),
                        });

Redux-Saga

https://github.com/redux-saga/redux-saga/releases/tag/v1.0.0

-import { call, select } from 'redux-saga/effects';
-import { delay } from 'redux-saga';
+import { delay, call, select } from 'redux-saga/effects';

-yield call(delay, interval);
+yield delay(interval);

prepare a new pre release

export UI_SCRIPT_VERSION=7.0.0-alpha.1
git pull
git checkout -b tmp/$UI_SCRIPT_VERSION
git merge jmfrancois/chore/update-redux
yarn
git push --set-upstream origin tmp/$UI_SCRIPT_VERSION
lerna version --force-publish --no-git-tag-version --yes $UI_SCRIPT_VERSION
git commit -am 'chore: prepare release '$UI_SCRIPT_VERSION
lerna publish from-package --yes --no-verify-access --dist-tag next