Q1 - Q2 Peer Review
===
:dart: Feature
---
- RGM widget
- Super sale label
- Item page speed
- Header refactor
### RGM widget
- RGM widget component and tracking
- A/B testing
- `Solve Maxymiser not able to apply campaign on QA issue`
### Item page speed
- Remove unused code (method and library)
- Server side view template and CSS clean up
- `Remove 3500+ lines of import-mall.css (from 12696 to 9074)`
- Client side CSS restructure
- Image lazyload
- `Reduce the number of HTTP requests`
- Validate item page html structure with W3C velidator
### Header refactor
- New search box component (:running:ongoing...)
:books: Technical enhancement
---
- ESlint from v3.4.0 to v6.1.0
- `Able to lint react-hooks`
- Bable from v6.5.2 to v7.9.0
- `Speed?`
- `JSX Fragment (replace <Frangment> with <>)`
- `Able to support for TypeScript` :tada:
- `TC39 Proposals (e.g. Optional Chaining, Nullish Coalescing...)` :tada:
- StyleLint from v6.5.2 to v7.9.0
- `No more annoying style order rule`
- Replace uglifyjs-webpack-plugin with terser-webpack-plugin
- `Uglify is not support ES6`
- `Terser seems to speed it up by 3x`
- `Webpack@5 will use terser plugin by default`
- Introducing react-hot-loader
- `Hot reload for developing` :tada:
- Dynamic import with @loadable/component
- `Code splitting` :tada:
- Webpack from v6.5.2 to v7.9.0
- Webpack-bundle-analyzer from v6.5.2 to v7.9.0
- Webpack-cli from v6.5.2 to v7.9.0
- Webpack-dev-server from v6.5.2 to v7.9.0
- Webpack-merge from v6.5.2 to v7.9.0
TODO
---
- [ ] Recompose library migration
- [ ] CSS design patterns
- [ ] Upgrade to Webpack 5
- [ ] Remove fake server
- [ ] Implement image resolution
- [ ] Lodash V4.17.10 to V4.17.15 (Security issue on 4.17.11)
- [ ] Formik warning