kylekatarnls/stylus
PHP implementation of the Stylus CSS preprocessor. Compile .styl stylesheets into plain CSS without a Node.js toolchain, using variables, mixins, nesting, and functions to keep styles maintainable in Laravel and other PHP projects.
Architecture fit
vendor/, and can be invoked from an artisan command, a queued job, or a deploy script.artisan, Envoyer/Deployer hooks) and weakest where the team has standardized on Vite + PostCSS, which is the modern Laravel default. This package predates that shift and does not participate in it.Integration feasibility
composer require + compile-the-sample-corpus test answers this definitively.Technical risk
.styl files work as-is" is a marketing claim that must be proved file-by-file, not assumed..styl input, since @import resolution implies filesystem path handling.Key questions
Stack fit
artisan-driven deploys, no existing Node toolchain, small-to-medium stylesheet surface.laravel-vite-plugin projects, teams on Tailwind or PostCSS, monorepos with a shared frontend build, or any environment where designers hand off .scss.Migration path
.styl file and every Stylus feature in use (variables, mixins, nesting, operators, @import, conditionals, interpolation, built-in functions). Feature inventory, not file count, determines feasibility.Compatibility
Sequencing
Maintenance
Support
Scaling
@import chains re-parse shared partials. For a large stylesheet tree this can add meaningful seconds to every deploy. Mitigate with output caching keyed on source hashes and by compiling only changed entry points.Failure modes
Ramp-up
TPM recommendation
Do not adopt for new work. A 2019-vintage, 12-star, effectively abandoned package with no release in seven years and a 0.09 score is a liability on the critical build path, and the "no Node" benefit is smaller than the ownership cost it creates. Sanction a short, timeboxed spike only if eliminating Node is a hard organizational constraint — and pre-commit to the exit path (Node Stylus in a container, or Sass migration) before writing any integration code. If the constraint is merely a preference, skip the spike and use Sass.
How can I help you explore Laravel packages today?