Light Blue React Node.js React Admin Dashboard Template with Node.JS Backend
Changelog
[Unreleased]
[8.3.3] - 2026-02-23
- Dependency and runtime cleanup:
- removed Vite Node polyfill plugin and legacy browserify/polyfill packages (
assert,crypto-browserify,os-browserify,process,stream-browserify,stream-http,url,vm-browserify); - removed direct
lodashusage from app code paths and replaced it with local utility helpers in form/user formatters; - pinned transitive
lodashto a safe version via npm override (^4.17.23).
- removed Vite Node polyfill plugin and legacy browserify/polyfill packages (
- Lockfile update:
- added
yarn.lockfor Yarn install parity while keeping npm lockfile in place.
- added
[8.3.2] - 2026-02-23
- Phase 1 modernization baseline fixes:
- fixed dead fallback redirect in app shell (
/app/main/visits->/app/main/dashboard); - hardened
AuthRouteagainst missinglocation.state; - normalized login/register/forgot links to absolute auth routes;
- replaced obsolete layout test with route-guard smoke tests;
- removed conflicting project-level
babel.config.jsto align with CRA toolchain.
- fixed dead fallback redirect in app shell (
- Tooling baseline updates:
- added explicit
ajv@^8.18.0dev dependency to fix webpack/schema-utilsajvresolution during build; - documented working install path (
npm install --force) in README.
- added explicit
- Phase 2 modernization updates:
- migrated build/dev/preview workflow to Vite + SWC (
vite.config.js, rootindex.html); - removed CRA/rewired build overrides (
config-overrides.js,public/index.html,react-app-rewired,react-scripts); - migrated test runner to Vitest and retained route-guard smoke coverage;
- migrated runtime env handling to Vite-compatible app env bridge (
VITE_BACKEND+__APP_ENV__); - kept build output compatibility (
build/) and added Node memory guard for large production bundle builds; - standardized lockfile strategy to npm (
package-lock.json).
- migrated build/dev/preview workflow to Vite + SWC (
- Dependency refresh batch 1:
- low-risk update:
bootstrapupgraded within major (5.2.3->5.3.8); - major update block A:
axios(0.27.2->1.13.5),jsonwebtoken(8.5.1->9.0.3),cross-env(7.0.3->10.1.0); - adjusted SCSS override to keep build compatibility with Bootstrap 5.3 variable changes.
- low-risk update:
- Dependency refresh batch 2:
- updated
react-slick(0.30.3->0.31.0),showdown(1.9.1->2.1.0), anduuid(8.3.2->13.0.0); - fixed
redux-thunkimport usage for v3 named export (ReduxThunk->thunk) to restore production build compatibility.
- updated
- Dependency refresh batch 3:
- updated form/data libs:
formik(1.5.8->2.4.9),yup(0.32.11->1.7.1),react-toastify(6.2.0->11.0.5),react-select(3.2.0->5.10.2),filesize(6.4.0->11.0.13); - updated utility libs:
formsy-react(0.19.5->2.3.2) andstyled-components(5.3.11->6.3.11).
- updated form/data libs:
- Dependency refresh batch 4:
- updated UI/demo libs:
react-dropzone(11.7.1->15.0.0),react-autosize-textarea(5.0.1->7.1.0),react-syntax-highlighter(13.5.3->16.1.0),react-animate-height(2.1.2->3.2.3),rc-slider(9.7.5->11.1.9),react-bootstrap-table-next(3.3.5->4.0.3),react-bootstrap-table2-toolkit(1.4.2->2.1.3); - migrated removed
rc-slidertooltip helper API usage to v11-compatible slider usage in documentation/forms pages.
- updated UI/demo libs:
- Dependency refresh batch 5:
- updated chart libs:
highcharts(10.3.3->12.5.0),apexcharts(3.54.1->5.6.0),react-apexcharts(1.9.0->2.0.1); - updated calendar stack to
@fullcalendar/*6.1.20and adapted calendar config for v6 (initialView, list view targetlistWeek, removed deprecated plugin CSS imports).
- updated chart libs:
- Dependency refresh batch 6:
- removed React-16/17-locked dependencies:
connected-react-router,react-bootstrap-table-next,react-bootstrap-table2-toolkit,react-bootstrap-table2-paginator,react-google-maps,react-images,react-maskedinput,react-mde,react-shuffle,react-sortable-hoc,react-sortable-tree,react-table; - replaced dependency-driven implementations with local/runtime-safe equivalents:
- custom navigation action boundary + shared history singleton (no
connected-react-router); - native/Reactstrap tables in users/management/dynamic pages (search + pagination preserved);
- iframe-based map component for maps/timeline pages;
- modal-based gallery image viewer;
- local masked input and auto-resize textarea components;
- local markdown editor (write/preview with Showdown);
- native drag-and-drop sortable list implementation for list groups demo;
- removed stale third-party CSS imports tied to deleted packages.
- removed React-16/17-locked dependencies:
- Dependency refresh batch 7:
- migrated router runtime to
react-router-domv7 (Routes/Route/Navigate) across app shell, main layout, and documentation layout; - removed deprecated router dependencies:
react-router,history,react-router-hash-link; - replaced route guard implementation (
AdminRoute,UserRoute,AuthRoute) with v7-compatible wrapper components and refreshed route smoke tests; - introduced local
withRouterbridge (src/components/withRouter.js) to keep class-component routes working during phased hooks migration; - replaced hash-link usage in docs scrollspy with
react-router-domLink.
- migrated router runtime to
- Dependency refresh batch 8:
- upgraded framework/tooling stack:
react/react-dom(18.3.1->19.2.4),eslint(9.39.x->10.0.1); - upgraded chart/sortable stack:
echarts(4.9.0->6.0.0),echarts-for-react(2.0.16->3.0.6),react-sortablejs(1.5.1->6.1.4); - removed obsolete CRA-era dependencies no longer used under Vite:
react-app-polyfill,react-dev-utils,sass-loader; - migrated ECharts imports to modular
echarts/coreregistration compatible with ECharts 6.
- upgraded framework/tooling stack:
- Phase 5 legacy cleanup batch:
- migrated app shell entry and docs shell from
class/connect/withRouterto hooks (App,DocumentationLayout,DocumentationHeader,DocumentationSidebar); - completed migration away from
react-reduxconnect(...)HOC to hooks across app-level screens/components; - converted all header/sidebar icon components to functional React components;
- migrated ecommerce pages/components (
Products,Product,ProductCard) to hooks and removed router HOC usage; - migrated ecommerce management flows (
Management,ProductEdit) to hooks anduseNavigate/useLocationadapter for existing product thunks; - migrated legacy auth pages (
/pages/login,/pages/register) and users form page to hooks-based implementation; - migrated users view and rickshaw-based widgets/charts (
UsersViewItem,ChangesChart,RealtimeTraffic, dashboardRickshaw) away fromconnectclasses; - replaced sidebar
LinksGroupHOC routing dependency with nativeuseLocationhook and removed obsolete localwithRouterbridge.
- migrated app shell entry and docs shell from
- Phase 4 state modernization:
- moved auth/users side effects to reusable service layer (
src/services/authService.js,src/services/usersService.js); - migrated users auth-domain thunks to
async/awaitwith safer shared error-message handling; - consolidated registration state ownership in
authreducer and removed duplicated legacyregisterreducer/actions; - cleaned users state compatibility fields (
findLoading/loading, list modal/delete metadata) and removed stale emptydashboardreducer.
- moved auth/users side effects to reusable service layer (
- Phase 5 progress:
- removed deprecated lifecycle methods from source components (
componentWillMount,componentWillReceiveProps); - migrated users route-level pages (
UsersListPage,UsersViewPage,ChangePasswordFormPage) from class components to hooks-based functional components; - migrated auth route-level pages (
Login,Register,Forgot,Reset,Verify) from class components to hooks-based functional components; - migrated app shell components (
Layout,Header,Sidebar) from class components to hooks-based functional components.
- removed deprecated lifecycle methods from source components (
- Phase 6 quality hardening:
- introduced repository lint gate with ESLint flat config and
npm run lintcommand; - added GitHub Actions CI workflow (
.github/workflows/ci.yml) fornpm ci,npm run lint,npm run build, andnpm test.
- introduced repository lint gate with ESLint flat config and
- Dependency cleanup and release docs:
- removed unused direct dependencies from runtime manifest:
buffer,https-browserify,jsonwebtoken,md5,rc-hammerjs; - removed
yarn.lockto keep npm as the single package manager lock source; - added migration and release docs (
docs/migration-notes.md,docs/adr/0001-routing-and-runtime-baseline.md,docs/release-checklist.md,docs/rollback-recovery.md).
- removed unused direct dependencies from runtime manifest:
- Runtime/tooling compatibility:
- aligned Node engine range to
^20.19.0 || >=22.12.0to support current Node 22 environments and Vite 7 requirements. - React 19 is active; some legacy demo dependencies still declare React 18 peer ranges, so install currently uses npm peer override behavior (
npm install --force) until those packages are replaced.
- aligned Node engine range to
[8.3.1] - 26.11.2024
- Update dependencies
[8.3.0] - 05/09/2024
- Added react-scripts version 5 along with webpack version 5 support.
- Added support for node.js version > 20
- Removed old webpack configs.
- Removed unnecessary dev dependencies.
- Replaced deprecated glyphicons-halflings icon library with bootstrap-icons
[8.2.3] - 21.12.2023
- Update dependencies
[8.2.2] - 18.05.2023
- Update dependencies
- Update react version
- Corrected minor errors
[8.2.1] - 01.07.2022
- UI Adjust
[8.2.0] - 17.06.2022
- Updated Bootstrap/Reactstrap
- Add theme swicther
- Updated dependencies
[8.1.6] - 13.05.2021
- Updated blocks position in Typography, Form Validations, LB Packages,
- Products Grid: Customize dropdowns in E-Commerce
- Alerts: Customize alerts notifications
- Dashboard: Fixed position pop-up alert in header
- Add function LoginOut in Login Page,
- Following dependencies and devDependencies was updated to the recent versions ###Dependencies: "@fullcalendar/core": "5.3.0" -> "5.6.0", "@fullcalendar/daygrid": "5.3.0" -> "5.6.0", "@fullcalendar/interaction": "5.3.0" -> "5.6.0", "@fullcalendar/list": "5.3.0" -> "5.6.0", "@fullcalendar/react": "5.3.0" -> "5.6.0", "@fullcalendar/timegrid": "5.3.0" -> "5.6.0", "axios": "^0.19.2" -> "^0.21.1", "bootstrap": "4.5.0" -> "4.6.0",` "classnames": "^2.2.6" -> "^2.3.1", "connected-react-router": "^6.8.0" -> "6.9.1", "draft-js": "^0.11.6" -> "^0.11.7", "echarts-for-react": "^2.0.16", "file-saver": "^2.0.2" -> "^2.0.5", "filesize": "^6.1.0" -> "^6.3.0", "md5": "^2.2.1" -> "^2.3.0", "rc-slider": "^9.5.1" -> "^9.7.2", "react": "^16.13.1" -> "^16.14.0", "react-animate-height": "^2.0.21" -> "^2.0.23", "react-animated-number": "^0.4.4", "react-apexcharts": "^1.3.7" -> "^1.3.9", "react-app-polyfill": "^0.1.3" -> "^0.2.0", "react-dev-utils": "^6.0.5" -> "^6.1.1", "react-dom": "^16.5.2" -> "^16.14.0", "react-draft-wysiwyg": "1.10.12" -> "1.14.7", "react-dropzone": "^11.2.0" -> "^11.3.2", "react-mde": "^11.0.0" -> "^11.5.0", "react-redux": "7.2.0" -> "7.2.4", "react-router-hash-link": "^2.1.0" -> "^2.4.1", "react-scrollspy": "^3.4.2" -> "^3.4.3", "react-select": "^3.1.0" -> "^3.2.0", "react-slick": "^0.26.1" -> "^0.28.1", "react-sortable-tree": "^2.7.1" -> "^2.8.0", "react-toastify": "^6.0.8" -> "^6.2.0", "react-transition-group": "^4.4.1", "redux": "^4.0.5" -> "^4.1.0", "sortablejs": "1.10.2" -> "1.13.0", "styled-components": "^5.1.1" -> "^5.3.0", "uuid": "^8.3.0" -> "^8.3.2", "yup": "^0.29.1" -> "^0.32.9"
###DevDependencies: "@babel/core": "7.4.4" -> "7.14.0", "@babel/plugin-proposal-class-properties": "7.4.4" -> "7.13.0", "@babel/plugin-proposal-optional-chaining": "7.2.0" -> "^7.13.12", "@svgr/webpack": "4.2.0" ->"4.3.3", "babel-core": "7.0.0-bridge.0", "babel-eslint": "10.0.1" -> "10.1.0", "babel-jest": "24.8.0" -> "24.9.0", "babel-loader": "8.0.5" -> "8.2.2", "babel-plugin-named-asset-import": "1.0.0-next.103" -> "1.0.0-next.154", "babel-preset-react-app": "9.0.0" -> "9.1.2", "bfj": "6.1.1" -> "6.1.2", "case-sensitive-paths-webpack-plugin": "2.2.0" -> "2.4.0", "cross-env": "^7.0.2" -> "^7.0.3", "dotenv": "8.5.1" -> "8.5.1", "eslint-plugin-flowtype": "3.8.1" -> "3.13.0", "eslint-plugin-import": "2.17.2" -> "2.22.1", "eslint-plugin-jsx-a11y": "6.2.1" -> "6.4.1", "eslint-plugin-react": "7.13.0" -> "7.23.2", "eslint-plugin-react-hooks": "1.6.0" -> "1.7.0", "jest": "24.8.0" -> "24.9.0", "jest-pnp-resolver": "1.2.1" -> "1.2.2", "jest-resolve": "24.8.0" -> "24.9.0", "mini-css-extract-plugin": "0.6.0" -> "0.12.0", "node-sass": "4.14.0" -> "4.14.1", "optimize-css-assets-webpack-plugin": "5.0.1" -> "5.0.4", "pnp-webpack-plugin": "1.4.3" -> "1.6.4", "postcss-flexbugs-fixes": "4.1.0" -> "4.2.1", "postcss-preset-env": "6.6.0" -> "6.7.0", "postcss-safe-parser": "4.0.1" -> "4.0.2", "resolve": "1.10.1" -> "1.20.0", "sass-loader": "7.1.0" -> "7.3.1", "style-loader": "0.23.0" -> "0.23.1", "terser-webpack-plugin": "1.2.3" -> "1.4.4", "webpack": "4.31.0" -> "4.44.0", "webpack-dev-server": "3.3.1" -> "3.11.2", "webpack-manifest-plugin": "2.0.4" -> "2.2.0",
[8.1.5]
- Updated documentation
[8.1.4]
Updated
- Updated sidebar and header icons
- Updated sidebar and header layout
[8.1.3]
Fixed
- Change badge text in the sidebar
- Change alert text in the usermanager/ecommerce
[8.1.2]
Fixed bugs and layout issues
- Add new images to Documentation and LB Package pages
- Change progress bars bg color
- Update main colors
- Badges and buttons: fix margins, change font colors
- Dropdowns: change paddings
- Header component: change dropdown hover states
- Charts: fix charts issues
- Fix adaptive and layout issues on pages
- Charts: fix label colors, apex dropdown text
[8.1.1]
- Added link to flatlogic on login page
[8.1.0]
- Updated all dependencies, cleaned up dependency tree
[8.0.5]
- Updated fullcalendar package to v5.3.0
[8.0.4]
- Add animation to alert in header
- Fix animated classes
- Fix colors in notifications, chart dropdown menu, tables
[8.0.3]
- Updated line-awesome package
[8.0.2]
Fixed bug
- Fixed sidebar caret for Safari
[8.0.1]
New Features
- Added sample formik widget
[8.0.0]
New Features
- Added brand new Backend
- New tab to mange users
- Social login
- Manage users functionality
- Update password route
- Reset password route
- Upload avatar
- Refactored architecture
[7.2.0]
New Features
- Added re-usable breadcrumbs component
[7.1.2]
Fixed
- Fixed small calendar events
[7.1.1]
Fixed
- Added css fixes
[7.1.0]
New Features
- New color scheme
[7.0.1]
Fixed
- Fix bugs and css improvements
[7.0.0]
Updated
- Removed Jquery from core layout
New Features
- New charts
[6.1.0]
New Features
- Make an api stub for non-backend mode