Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
davesnx
force-pushed
the
generate-library-order
branch
from
September 22, 2026 12:13
283f0ba to
42cb5ba
Compare
davesnx
force-pushed
the
css-winner-diff
branch
from
September 22, 2026 12:13
a48cb7b to
2b8d037
Compare
davesnx
force-pushed
the
css-winner-diff
branch
from
September 22, 2026 12:33
2b8d037 to
0bb0a30
Compare
davesnx
force-pushed
the
generate-library-order
branch
from
September 22, 2026 12:33
42cb5ba to
50629c0
Compare
davesnx
force-pushed
the
generate-library-order
branch
from
September 22, 2026 13:32
50629c0 to
c87f35e
Compare
davesnx
changed the base branch from
css-winner-diff
to
generate-dependency-order
September 22, 2026 13:33
davesnx
force-pushed
the
generate-library-order
branch
from
September 23, 2026 06:11
c87f35e to
d9bb948
Compare
The PPX emits the key dune's cookie is named after (`library-name`, since 90cf166 on the cookie branch), and the generator reads `Css_extraction.config_library_key`. These fixtures still wrote `("library", ...)`, which the generator ignored; they passed anyway because each fixture keeps every library in its own directory, so the directory fallback produced the same groups. With the real key the tests exercise the library path they describe. Outputs are unchanged.
davesnx
force-pushed
the
generate-dependency-order
branch
from
September 23, 2026 06:39
295f1b0 to
c147c6c
Compare
davesnx
force-pushed
the
generate-library-order
branch
from
September 23, 2026 06:39
d9bb948 to
7fa24bf
Compare
Owner
Author
|
Superseded by #616, which carries this branch's commits rebased onto main together with the rest of the CSS ordering work. |
This branch was successfully deployed
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.
styled-ppx.generatenow orders rules at two levels: libraries first, then modules inside each library. A library's rules come after the rules of every library it depends on, so a consumer library's override of a dependency's atom wins by construction instead of by directory name. Inside a library the module dependency order from the previous PR applies unchanged, now scoped to that library's files.A file's library is the
librarykey the PPX records in[@@@css.config]from dune'slibrary-namecookie; a file without the key groups with its directory. Library edges are collapsed from module references: a referenceXthat the referrer's own library defines is a module edge; otherwise it points at the one other library definingX, or, for wrapped libraries referenced through their alias module, at the one library whose capitalized name isX. Both levels reuse the same Kahn sort, so the alphabetical tiebreak and the warn-and-continue cycle policy apply at both.--order sourcestill bypasses everything.Evidence at ada6aed:
library-order,library-order-wrapped,library-order-fallback,library-order-cycle,library-order-source-flag;log-flags.tandorder-dependency.tgain the per-library info lines;order-cycle.tchanges because its two directories now form two groups, which is the resolution the test's own comment anticipated.Stackrules still precedeTextarea.demo/melange/public/styles.cssregenerates with three rules moved and no property or value changed.make format-check,make build,make test: all exit 0.Review from
library_edge_targetandorder_by_dependencyinpackages/generate/generate.ml. Not included:@layeremission, which follows as its own opt-in PR.Risk: two-way door. A revert restores the flat module order. Until then, aggregations that mix several libraries see rules regroup by library; the winner-diff script from the previous PR lists which cascade ties flip.