- update README
- upgrade server dependencies
- upgrade server NodeJS minimum requirement to v16
- upgrade front dependencies
- upgrade front NodeJS minimum requirement to v16
- upgrade front webpack from 4 to 5
- upgrade front dependencies (a bit of cleaning)
- fix eslint and prettier
- upgrade
react-router
tov5
- get rid of
yarn
and move tonpm
- migration to
react-testing-library
reactstrap
upgrade
- test migration from enzyme to react-testing-library (because of useEffect hook not being testable with enzyme)
- React 16.8.x to 16.9.x
- migrate front to Typescript
- replace Uglyfy-js webpack plugin with TerserPlugin (for hooks compatibility)
- upgrade
styled-components
to v4+ (now uses createGlobalStyle()) - upgrade
loadable-components
to 2.2.3 (max version compatible with reactsnap, avoiding flashing on application start) - upgrade
react-snap
to lastest - upgrade dependencies
- upgrade
react-hot-loader
(redux store initialization and top index file code changed) - migrate server code to Typescript (NOTE: server code is no more in ROOT/src/server but in ROOT/server)
- migration to
bootstrap 4
andreactstrap
- drop
react-router-redux@alpha5
(deprecated) forreact-connected-router
- upgrade to
React 16.3.x
- upgrade to
webpack 4
- upgrade to
react-hot-loader v4
- drop
CSS Module
in favor ofstyled-components
(scoped style, theme support, better scaling in huge applications, simplify toolchain and keep nearly SASS syntax) - add
flow types
(even a little typing at least for better dev experience) - drop
prop-types
(static and dynamic typing apart, flow type does far more so avoid writing 2 differents typing system) workbox-webpack-plugin
(service worker caching powerful tool from Google)- loadable-components (split your code: here splitted just by routes, by you can split a component level if you feel the need)
- react-snaphot (SEO friendly)
webpack-bundle-analyzer
: analyze your bundle size (maybe you should split or lazy load some part of your application: you will see clearly how to fix that)- drop
moment
fordate-fns
(since far smaller size and job's done) - drop
mocha
and all library around it forjest
(all in one toolset and snapshot testing)
- upgrade to React 16.x
react-router 4+
withreact-router-redux ^5.0.0-alpha.8
(read this nice article about migrating from react-router 3 to react-router 4)- add few flow types (still keep propTypes)
- updated hot reload (read hot reload starter)
- use
CSS module
(keep coding style with SASS but get benefit of css module for a more peasant and component pattern coding)
- upgrade
React 15.6.x +
- upgrade to
webpack 3
- clean with rimraf before bundles building
- scroll to top on route
- login view
- protected view
- JWT auth. private views
- file organization (views connected to redux are no more in container but are index.js in same directory as View.js)
- upgrade to
react-router v4
- upgrade to
webpack 2.x
- upgrade
React 15.5.x +
PropTypes
from 'prop-types' (react 15.5 breaking change)
cross-env
added so no more particular windows command- serve dev and prod bundles
npm run serve-dev
: with server hot reload (uses nodemon)npm run serve-prod
: production like node-express server
whatwg-fetch
is now replaced by axios.react-addons-shallow-compare
is removed since ReactJS 15.4+ PureComponent does the job- splits vendors script and css from main bundle (extract-text-webpack-plugin v1.x)
- create map file (DEV)
- prepared
launch.json
for VSCode debugger - add typescript types (typings)
- add flow types (flow-typed)
- redux-devtools is now replaced by redux-devtools-extension.