[DO NOT MERGE] Twenty Nineteen: Replace node-sass with Dart Sass (CI check, stacked on #11776) - #13379
Draft
manzoorwanijk wants to merge 7 commits into
Draft
[DO NOT MERGE] Twenty Nineteen: Replace node-sass with Dart Sass (CI check, stacked on #11776)#13379manzoorwanijk wants to merge 7 commits into
manzoorwanijk wants to merge 7 commits into
Conversation
`node-sass` ships no prebuilt binary for Node.js 24 and its `nan`-based native addon no longer compiles against V8, so `npm install` fails. Twenty Nineteen was the last default theme still using it. Switches to `sass` and commits the regenerated stylesheets.
Dart Sass drops contextual `@extend` selectors it considers redundant, without accounting for the specificity those selectors relied on. Eight fallback rules were subsumed by a less specific selector that a later equal-specificity rule then won, dropping the non-latin font for all 31 locales on 404 titles, submit/reset/button inputs, cover block headings and aligned pullquote citations. Moves `%non-latin-fonts` into its own partial, imported last, so the fallbacks follow the declarations they override and win on source order rather than specificity.
…tton. The raw declaration opted this button out of the non-latin fallbacks that every other button gets. It now resolves to the fallback anyway, via the generic `button` selector, but only on an equal-specificity source order tie. Recording the intent removes that dependency. Generated CSS is unchanged: Dart Sass folds the new selector into the existing `button:lang()` groups.
manzoorwanijk
force-pushed
the
fix/twentynineteen-dart-sass
branch
from
September 3, 2026 12:09
71e409a to
8227fd2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Review #13380 instead. That is the actual PR for this change: the same three commits, based on
trunk, decoupled from the Node.js upgrade.This one is for CI verification only. Do not merge. It stacks those commits on #11776 so the theme build job runs against Node.js 24, which
trunkdoes not yet use. That job currently fails on #11776 because Twenty Nineteen is the last default theme still usingnode-sass, which no longer builds on Node.js 22 or later. Here it passes.The first four commits are #11776 by @desrosj. The last three are the theme change, described in full on #13380.
Trac ticket:
Use of AI Tools
AI assistance: Yes
Tool(s): Claude Code, Codex
Model(s): Claude Opus 5, GPT-5.4
Used for: Diagnosing the failure, the dependency swap, and differential testing of the output; reviewed and verified by me.