colorlibhq/adminlte-laravel
AdminLTE Laravel integrates the AdminLTE 3 admin dashboard template into Laravel applications. It provides Blade layouts, authentication views, a configurable sidebar menu builder, and helpers to quickly scaffold a responsive, feature-rich admin panel for your Laravel projects.
Architecture fit: The package remains a Laravel/Blade admin UI layer with publishable views, config, and frontend assets. v1.7.0 swaps the chart engine from ApexCharts to Chart.js 4 (MIT) and introduces a package-shipped Chart.js preset (vendor/adminlte/js/charts.js) plus window.AdminLteCharts and Components\Tool\Chart::config(). This fits the existing Laravel asset-publishing model and keeps charts declarative via <x-adminlte-chart>, but the release is a frontend asset and integration migration, not a drop-in library bump.
Integration feasibility: Feasible for a standard AdminLTE Laravel installation, but migration effort is meaningful where teams have published views/assets/config or written ApexCharts directly. The component props are unchanged, but options are only partially translated to Chart.js equivalents; unsupported ApexCharts options are dropped. The ApexCharts toolbar (zoom, SVG/PNG download) is removed. Published views and resources/js/adminlte.js are not updated by composer update, so stale artifacts can produce empty chart boxes or dead ApexCharts code until re-published or edited.
Technical risk: Medium-high for existing installations, low-medium for greenfield. Primary risks are stale published files, custom ApexCharts chart ports, silently dropped options, removed toolbar capabilities, and inconsistent asset versions during rollout. Licensing risk is materially reduced because ApexCharts is removed and Chart.js 4 (MIT) is used. The release also fixes prior <x-adminlte-chart> bugs around type/height when options.chart exists and pie/donut categories/labels.
Key questions:
<x-adminlte-chart> only, or do any views call new ApexCharts(...) directly?resources/views/vendor/adminlte, resources/js/adminlte.js, or config/adminlte.php? Which files are customized?Stack fit: The release aligns with Laravel Blade, Composer, npm, and Vite-style asset pipelines. Chart.js is added via chart.js@^4.5, assets are copied by adminlte:install, and the package preset centralizes theme, dark-mode, RTL, resize, tab/modal, and collapsed-card handling. This reduces custom chart initialization code but requires teams to adopt the new preset and component behavior.
Migration path:
colorlibhq/adminlte-laravel to v1.7.0 in a branch.composer update colorlibhq/adminlte-laravel.public/vendor/apexcharts; add chart.js@^4.5.php artisan adminlte:install --only=assets --no-interaction-deps to copy Chart.js and the preset.resources/js/adminlte.js; preserve local edits before using --force.apexcharts plugin entry from config/adminlte.php; optionally add chartjs only if paths or global loading need changes.AdminLteCharts.create(el, config) or Chart::config().npm run build, clear caches, and verify dashboards in light/dark/auto, RTL, tabs, modals, and collapsed cards.Compatibility: The component API is mostly source-compatible (type, height, options, id semantics now target the canvas), but behavior is not fully compatible: ApexCharts options are translated only where equivalents exist, unsupported options are dropped, and toolbar features are gone. Published config without a chartjs entry still works because the plugin is registered anyway. Published views and JS are the main compatibility hazard.
Sequencing: Treat this as a coordinated frontend migration. Upgrade package and assets first in a non-production branch, then re-publish/patch views and JS, then port custom charts, then remove legacy ApexCharts artifacts. Gate release on visual checks across all demo dashboards and business dashboards, plus a search confirming no remaining ApexCharts references.
Maintenance: Licensing and dependency maintenance improve because ApexCharts is removed and Chart.js 4 is MIT. The package now owns a chart preset, so fewer app-level chart initializers are needed. However, teams must maintain any forked/published views and custom Chart.js options, and must keep npm assets, published vendor assets, and Blade components in sync.
Support: Expect a short support spike after upgrade: empty chart boxes from stale published views, dead ApexCharts JS blocks, leftover apexcharts config/plugin entries, and missing toolbar features. Documentation should call out the re-publish commands, config cleanup, and the partial options translation. Dashboards are visually sensitive, so support should include a chart-rendering smoke test.
Scaling: Chart.js is broadly used and generally suitable for typical admin dashboards. The preset’s resize handling for tabs, modals, and collapsed cards reduces common rendering defects. Scaling risk is more operational than architectural: many custom charts, heavy chart counts, or complex ApexCharts-specific interactions may require porting and performance testing.
Failure modes: Stale published views still calling new ApexCharts(...); old components/tool/chart.blade.php rendering an empty box; leftover apexcharts config entry; dead ApexCharts block in resources/js/adminlte.js; missing public/vendor/chartjs assets; custom options silently dropped; reliance on removed zoom/download toolbar; charts initialized before DOM or inside hidden containers; duplicate/conflicting Chart.js versions; stale browser caches after asset changes.
Ramp-up: Developers familiar with ApexCharts need a short ramp-up on Chart.js config shape and the package preset. TPM should budget for an inventory pass, a migration branch, re-publish/patch work, custom chart porting, and visual QA. Greenfield adopters can move faster, but should still verify the install command copied Chart.js assets and that the chartjs plugin is active.
How can I help you explore Laravel packages today?