- update: `@coreui/coreui` to `^2.1.16`
- update: `@coreui/react` to `^2.5.7`
- update: `bootstrap` to `^4.5.0`
- update: `chart.js` to `^2.9.3`
- update: `core-js` to `^3.6.5`
- update: `enzyme` to `^3.11.0`
- update: `enzyme-adapter-react-16` to `^1.15.2`
- update: `flag-icon-css` to `^3.4.6`
- update: `node-sass` to `^4.14.1`
- update: `react` to `^16.13.1`
- update: `react-app-polyfill` to `^1.0.6`
- update: `react-chartjs-2` to `^2.9.0`
- update: `react-dom` to `^16.13.1`
- update: `react-router-config` to `^5.1.1`
- update: `react-router-dom` to `^5.2.0`
- update: `react-test-renderer` to `^16.13.1`
- update: `reactstrap` to `^8.4.1`
- update: `react-scripts` to `^3.4.1`
- update: `@coreui/coreui` to `^2.1.12`
- update: `@coreui/coreui-plugin-chartjs-custom-tooltips` to `^1.3.1`
- update: `@coreui/react` to `^2.5.1`
- update: `core-js` to `^3.1.4`
- update: `enzyme` to `^3.10.0`
- update: `enzyme-adapter-react-16` to `^1.14.0`
- update: `react-router-config` to `^5.0.1`
- update: `react-router-dom` to `^5.0.1`
- update: `reactstrap` to `^8.0.0`
It turns out this is not such a breaking change, as it seemed at a
glance.
Just update dependencies and you're good.
- update `dependencies` in `package.json`
- [ ] `@coreui/react` to `~2.5.0`
- [ ] `react-router-dom` to `^5.0.0`
- [ ] `react-router-config` to `^5.0.0`
###### dependencies update
- update: `@coreui/react` to `~2.5.0`
- update: `react-router-config` to `^5.0.0`
- update: `react-router-dom` to `^5.0.0`
__BREAKING CHANGES__
- drop 'Breadcrumb' in favour of `Breadcrumb2`
- drop 'SidebarNav' in favour of `SidebarNav2`
- __Breadcrumb2__: **mandatory** prop `router` see > [Breadcrumb](./src/Breadcrumb.md)
- __SidebarNav2__: **mandatory** prop `router` see > [SidebarNav](./src/SidebarNav.md)
React Router v5 uses the new React Context API, which is incompatible with version used in 4.3.
That's a breaking change. With raw upgrade to v5, you can encounter an error message: `You should not render a <Route> outside a <Router>` or `You should not use <Link> outside a <Router>` etc... It means that Route, Link etc, can't find the correct context object because `Breadcrumb` and `SidebarNav` components have their own context object.
It's important to use the same instance of the `react-router-dom v5` library with template and coreui components. `@coreui/react` version `2.5.0` moves react-router-dom form dependencies to peerDependecies and takes the same library/module from the template/app instead. We have to pass router module object as a prop to `<AppSidebarNav>` and `<AppBreadcrumb>`
#####_migration guide v2.1 -> v2.5_ 💥
1. update `dependencies` in `package.json`
- [ ] `@coreui/react` to `~2.5.0`
- [ ] `react-router-dom` to `^5.0.0`
- [ ] `react-router-config` to `^5.0.0`
2. modify `DefaultLayout.js`
- [ ] import react-router-dom module as an object
```
import * as router from 'react-router-dom';
```
- [ ] import new versions of components `AppBreadcrumb2` and `AppSidebarNav2` (alias is optional, just keep consistency with markup)
```jsx
import {
...
AppBreadcrumb2 as AppBreadcrumb,
AppSidebarNav2 as AppSidebarNav
...
} from '@coreui/react';
```
- [ ] inject `router` object as a prop to `<AppSidebarNav>` and `<AppBreadcrumb>`
```html
<AppSidebarNav navConfig={navigation} {...this.props} router={router}/>
```
```html
<AppBreadcrumb appRoutes={routes} router={router}/>
```
---
- update: `@coreui/react` to `~2.1.7`
- update: `@coreui/coreui-plugin-chartjs-custom-tooltips` to `^1.3.0`
- update: `enzyme-adapter-react-16` to `^1.13.0`
- update: `node-sass` to `^4.12.0`
- update: `react` to `^16.8.6`
- update: `react-app-polyfill` to `^1.0.1`
- update: `react-chartjs-2` to `^2.7.6`
- update: `react-dom` to `^16.8.6`
- update: `react-test-renderer` to `^16.8.6`
- update: `react-scripts` to `^3.0.1`