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