Version pinning versus CSS custom properties for safe Bulma upgrades with legacy browser constraint
24.5K reputation · 08 Jan 2025, 18:22 UTC
A design goal is to recover from a failed Bulma upgrade without changing HTML markup. Two documented approaches are relevant for this constraint.
One approach is to pin Bulma to a specific version in package.json or the CDN link and revert by reinstalling the previous version. The other approach is to rely on Bulma’s CSS custom properties introduced from version 0.9.0, which allow runtime theming by updating variable values without recompilation.
The constraint is the need to keep the upgrade safe while preserving compatibility with environments that do not support CSS custom properties, and avoiding reliance on a correctly configured Sass build pipeline for variable overrides.
Which approach provides a documented rollback path when an upstream change alters component appearance? Does the presence of CSS custom properties from 0.9.0 change the need to pin the core version for visual stability? How do version-pinned CSS and runtime custom property overrides interact when both are used together?