cartalyst/phpsass
Cartalyst PHPSass is a PHP implementation of the Sass CSS preprocessor, letting you compile SCSS and Sass stylesheets directly in PHP without Ruby. It supports variables, nesting, mixins, and inheritance for building maintainable stylesheets.
cartalyst/phpsass answers only the narrow "no Node in the deploy path" version of that question — and it is the weaker form of that answer, because a maintained pure-PHP alternative (scssphp/scssphp) exists with a similar shape. Frame the decision as pipeline architecture, not package selection.StylesheetCompiler contract. That converts an irreversible vendor choice into a one-line container binding and is the cheapest risk control available.richthegeek/phpsass, a port of early Ruby Sass — a pure-PHP parser, not a libsass binding. That contradiction matters to a PM for two reasons: it changes the performance and language-coverage profile materially, and it is a documentation-integrity signal about an unmaintained package. Verify the claim from source before it appears in any estimate or deck.Consider it only when all of the following hold:
@use/@forward, no math.div, no module system, no modern functions. This dialect is early Ruby Sass, not Dart Sass — modern-built stylesheets either fail loudly (acceptable) or compile with subtly wrong semantics (not acceptable).scssphp/scssphp.Look elsewhere when any of the following apply:
scssphp/scssphp supports a much later Sass dialect with a similar compile API and active maintenance — it is the drop-in swap target.For executives — the one-paragraph version:
This is a legacy maintenance input, not a strategic investment. It lets an existing Cartalyst/Laravel product compile SCSS without Node or Ruby in the deploy path, which unblocks teams on constrained hosting. It is unmaintained, has no community around it (0 stars, 0 dependents), and its own documentation misdescribes what it is — so we treat it as self-owned code from day one: pinned version, single interface, named owner, dated exit criterion. If we are starting anything new, the answer is Vite/Dart Sass, and we should not be having this conversation.
For engineering — the framing:
scssphp/scssphp exists.StylesheetCompiler interface bound once in the container, driven by an Artisan command in the deploy path, and covered by golden-file tests. When we swap, one class changes.scssphp/scssphp. This single diff is the go/no-go, and it costs an hour.composer.json constraint that may block installation outright. Validate against both ends of the CI matrix, and confirm composer install --no-dev -o in a clean container before relying on it.The honest recommendation: adopt only as a documented tactical unblock inside an existing Cartalyst deployment, behind an interface and on the tech-debt register. For anything new, or where modern Sass or runtime theming is required, skip this package entirely — scssphp/scssphp for a PHP-side pipeline, Vite/Dart Sass for everything else, and CSS custom properties for white-label theming.
How can I help you explore Laravel packages today?