Skip to content

Conversation

Candidates that don’t pass this test already won’t get picked up by Oxide so shouldn’t be any worry of compatibility issues
@thecrypticace thecrypticace requested a review from a team as a code owner December 1, 2025 16:13
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 1, 2025

Walkthrough

Adds a validation regex IS_VALID_NAMED_VALUE and applies it to named-value parsing paths in parseCandidate, parseModifier, and parseVariant, causing invalid named values to be rejected early or skipped. Test coverage is extended with three additional invalid named-value candidates. No public API or exported signatures were changed; only parsing behavior and tests were modified.

Pre-merge checks

✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: introducing validation for named values in the candidate parser to fix invalid syntax handling.
Description check ✅ Passed The description provides a reference to the linked issue that this PR addresses, relating to invalid named values in candidate parsing.
Linked Issues check ✅ Passed The PR implements validation of named values in the candidate parser to detect and prevent reporting of invalid arbitrary-variant-with-value syntax like 'data-hovered=true:text-red-500', addressing issue #1506's core objective.
Out of Scope Changes check ✅ Passed All changes are directly scoped to validation of named values in the candidate parser and related test coverage, with no unrelated modifications detected.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1f6d61f and b40ea4b.

📒 Files selected for processing (1)
  • CHANGELOG.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • CHANGELOG.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Linux / vite
  • GitHub Check: Linux / postcss
  • GitHub Check: Linux / upgrade
  • GitHub Check: Linux / cli
  • GitHub Check: Linux

Comment @coderabbitai help to get the list of available commands and usage tips.

@thecrypticace thecrypticace merged commit a5f4644 into main Dec 3, 2025
7 checks passed
@thecrypticace thecrypticace deleted the fix/invalid-named-values branch December 3, 2025 20:06
ch4og pushed a commit to csmplay/mapban that referenced this pull request Dec 23, 2025
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.1.17` -> `4.1.18`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.1.17/4.1.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.1.17/4.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>tailwindlabs/tailwindcss (@&#8203;tailwindcss/postcss)</summary>

### [`v4.1.18`](https://github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4118---2025-12-11)

[Compare Source](tailwindlabs/tailwindcss@v4.1.17...v4.1.18)

##### Fixed

- Ensure validation of `source(…)` happens relative to the file it is in ([#&#8203;19274](tailwindlabs/tailwindcss#19274))
- Include filename and line numbers in CSS parse errors ([#&#8203;19282](tailwindlabs/tailwindcss#19282))
- Skip comments in Ruby files when checking for class names ([#&#8203;19243](tailwindlabs/tailwindcss#19243))
- Skip over arbitrary property utilities with a top-level `!` in the value ([#&#8203;19243](tailwindlabs/tailwindcss#19243))
- Support environment API in `@tailwindcss/vite` ([#&#8203;18970](tailwindlabs/tailwindcss#18970))
- Preserve case of theme keys from JS configs and plugins ([#&#8203;19337](tailwindlabs/tailwindcss#19337))
- Write source maps correctly on the CLI when using `--watch` ([#&#8203;19373](tailwindlabs/tailwindcss#19373))
- Handle special defaults (like `ringColor.DEFAULT`) in JS configs ([#&#8203;19348](tailwindlabs/tailwindcss#19348))
- Improve backwards compatibility for `content` theme key from JS configs ([#&#8203;19381](tailwindlabs/tailwindcss#19381))
- Upgrade: Handle `future` and `experimental` config keys ([#&#8203;19344](tailwindlabs/tailwindcss#19344))
- Try to canonicalize any arbitrary utility to a bare value ([#&#8203;19379](tailwindlabs/tailwindcss#19379))
- Validate candidates similarly to Oxide ([#&#8203;19397](tailwindlabs/tailwindcss#19397))
- Canonicalization: combine `text-*` and `leading-*` classes ([#&#8203;19396](tailwindlabs/tailwindcss#19396))
- Correctly handle duplicate CLI arguments ([#&#8203;19416](tailwindlabs/tailwindcss#19416))
- Don’t emit color-mix fallback rules inside `@keyframes` ([#&#8203;19419](tailwindlabs/tailwindcss#19419))
- CLI: Don't hang when output is `/dev/stdout` ([#&#8203;19421](tailwindlabs/tailwindcss#19421))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xNC4yIiwidXBkYXRlZEluVmVyIjoiNDIuMTQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.csmpro.ru/csmpro/mapban/pulls/74
Co-authored-by: Renovate Bot <renovate@csmpro.ru>
Co-committed-by: Renovate Bot <renovate@csmpro.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants