The theme currently compiles source files through gulp-dart-sass before PostCSS runs. The only SCSS features in use are variables (10 breakpoints), nesting, mixins, and @import — all of which have native CSS equivalents. This issue tracks replacing the SCSS build step with a plain CSS source pipeline.
Changes:
Remove gulp-dart-sass; add gulp-rename to handle the component source path mapping
Replace sass/global/_variables.scss with src/base/breakpoints.css — a new file that sets 10 breakpoint custom properties on html using @media, making them queryable anywhere via @container style(--var: large)
Delete sass/global/_mixins.scss; inline mixin content at each call site
Rename sass/ → src/ and convert all .scss files to .css
Convert @media ($variable) SCSS syntax to @container style(--variable: large) throughout
Lift &--modifier BEM concatenation (invalid in native CSS nesting) to explicit sibling selectors in the four component files that used it
Move components/*/component.scss into components/*/src/component.css; update the Gulpfile to strip the /src/ path segment on output so compiled files land at components/*/component.css as before
Add css/base/breakpoints.css to event_horizon.libraries.yml
Result: The build pipeline is PostCSS-only (autoprefixer + pxtorem). Source files are plain .css. No SCSS toolchain dependency remains.
Issue fork event_horizon-3604093
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
mherchelThe way the breakpoints are converted is kinda weird.
This is the original Sass:
This is the current converted Sass:
Something like this makes way more sense:
Comment #4
mandclu commented@mherchel thanks for the feedback! This generally should be fixed now. One point is that stylelint throws a hissy fix if you mix the custom property declarations in with the @media at-rules, so they had to be kept at the top to keep the validation checks passing.
Also, as part of performing these updates, the AI updated the container syntax. For example:
Comment #6
mandclu commented