igosuki/compass-mixins
Compass Mixins packages the classic Compass Sass mixin library as a standalone dependency, providing familiar helpers for gradients, typography, layout, and vendor prefixes with modern Sass compilers—without requiring the full Compass framework.
@include call sites. Frame the decision as "buy migration time," not "buy functionality."NOASSERTION. If adopted, vendor the partials into resources/sass/vendor/ and commit them, so builds stay reproducible and the artifact is frozen at a known state.@import is deprecated in Dart Sass 1.80+ and removed in 3.0, and Compass's own idiom is global imports. Any adoption decision should carry an explicit expiry tied to that deprecation.Adopt when:
@include border-radius, background-image, clearfix, single-transition, opacity, typography/vertical-rhythm helpers — and you need it to build without Ruby installed in CI.@import that resolves those mixin names at no rewrite cost.NOASSERTION in the manifest is a gate, not a footnote, before this ships inside a customer artifact.Look elsewhere when:
@use), and design tokens. There is no reason to import a 2021 Compass port into a new project.postcss-sprites, svg-sprite, or build-time asset tooling.Executives: This is a small, unmaintained stylesheet library that lets an existing frontend keep building while we modernize our Sass compiler. It is a bridge, not a foundation. It costs nothing, removes a Ruby toolchain from CI, and lets us migrate on our own schedule instead of under a forced rewrite. Two caveats worth knowing: the license is technically undeclared (upstream Compass is MIT, so this is very likely fine, but legal should confirm before it enters a shipped artifact), and it is a one-way door we should plan to walk back out of within two quarters. My recommendation is to vendor the files into the repository rather than take a live dependency on them.
Engineering: Drop the Compass partials into resources/sass/vendor/compass/ and @import them ahead of our own partials. Compass mixin names resolve and the compass compile step leaves the build. Expect three cleanup items: global mixin namespace collisions with our own libraries, duplicated vendor prefixes now that Autoprefixer is also in the pipeline (assign one owner for prefixing), and the fact that this is on borrowed time — Sass @import is deprecated, and Compass's Ruby-only helpers for sprites and image functions are not replaced by this package. Inventory the affected call sites now so the eventual exit is a scoped task rather than a discovery.
How can I help you explore Laravel packages today?