- How do I install machy8/webloader in a Laravel app?
- Install it with Composer using composer require machy8/webloader, then check whether the service provider is auto-discovered and publish any package configuration if available. Before adopting it, confirm the package's PHP and Laravel version constraints because the last release was in 2021. A short proof-of-concept on a branch is the safest way to validate installation and asset output.
- What does Machy8 WebLoader actually do?
- WebLoader is a PHP asset manager that combines, minifies, and caches CSS and JavaScript files, with support for LESS and SCSS compilation and versioned caching. It integrates with Laravel and Nette and is intended to speed up page loads without adding a Node-based build pipeline. It is not a replacement for Vite, Mix, or Webpack for modern module-heavy frontends.
- Does machy8/webloader support Laravel 10 and Laravel 11?
- Compatibility with Laravel 10 and 11 is not guaranteed from the published context because the last release was in 2021 and community adoption is low. Check the Composer constraints, service-provider behavior, and PHP 8.2+ support in a time-boxed spike. If it fails, forking under the BSD-3-Clause license is legally viable but requires an internal owner.
- How does WebLoader cache bundles and handle cache busting?
- The package provides versioned caching for generated CSS and JS bundles, which helps avoid serving stale assets after changes. The exact invalidation behavior depends on its configuration and file/version signals, so test it in staging with production-like caching and file permissions. Keep a fallback asset path in case bundle generation or invalidation fails.
- Can WebLoader compile LESS and SCSS without Node.js?
- Yes, the package supports LESS and SCSS compilation in PHP, which is useful for legacy Laravel monoliths or PHP-only hosting where adding Node.js is undesirable. However, it lacks the modern ecosystem features of Vite or Mix, such as tree-shaking, ES module handling, and dev/watch workflows. Use it only for isolated legacy bundles after validation.
- Is machy8/webloader abandoned or actively maintained?
- The available assessment points to low maintenance: last release in 2021, only 19 stars, and likely single-maintainer status. Treat it as internally owned software and budget for dependency review, PHP/Laravel upgrade testing, and security patching. Do not adopt it without a named maintainer or a fork/vendor plan.
- How do I test WebLoader asset generation in Laravel?
- Write PHPUnit tests around bundle generation, cache behavior, and failure paths, and mock filesystem or loader dependencies where possible. Run a staging test with production-like caching and file permissions because request-time bundling can expose CPU, IO, and invalidation issues. Also test rollback to your existing asset pipeline.
- What are the best alternatives to machy8/webloader for Laravel?
- Laravel Vite is the standard modern choice, and Laravel Mix or Webpack remain options for older setups. WebLoader is only reasonable for constrained legacy use cases where a PHP-only bundling layer is required. For SPAs, design systems, or component-heavy frontends, standardize on Vite or Mix instead.
- What production risks come with using WebLoader for CSS and JS?
- Risks include request-time bundling overhead, compilation errors that break page rendering, stale caches serving incorrect CSS or JS, breakage on PHP/Laravel upgrades, and unpatched vulnerabilities with no upstream fix. Precompile bundles or use aggressive caching for production traffic, monitor bundle generation failures, and maintain a fallback asset path. Define a rollback plan before broader adoption.
- Can I use machy8/webloader with Nette as well as Laravel?
- The package is described as supporting both Laravel and Nette integration, with Laravel benefiting from framework-friendly configuration and Nette using its extension model. If your team is Laravel-only, verify that the Laravel service provider and config publishing work as expected in your target version. For Nette, confirm the extension compatibility separately.