Repository navigation
Only run the configured or well-known Tailwind CLI - #9
Merged
Merged
Conversation
The CLI lookup used to try every executable on PATH whose name contained "tailwind", plus matching files in the current directory, which could run an unrelated or planted binary. A configured TailwindCliPath is now used as given; the default falls back only to tailwindcss and the standalone binary's published name for the platform, resolved from PATH by the OS.
Contributor
Author
🔍 QA report: ✅ PassedTested at commit The PR removes the
🧪 Commands run
🔦 Worth a human look
📂 Files reviewed2 of 2 changed code files opened by QA (from its tool calls) · 0 code files with no test · sent back once for 2 files Each file
📸 ScreenshotsNo screenshots were taken during this review. |
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.
When starting the CLI,
TailwindProcessInteropused to try, after the requested command:tailwind(*tailwind*)That could start an unrelated or planted executable, even when
TailwindCliPathhad been set explicitly.Now:
TailwindCliPathset: only that command is run (with.exetried first on Windows when it has no extension).tailwind, thentailwindcss, then the standalone binary's published name for the platform (tailwindcss-{windows|macos|linux}-{x64|arm64}), all resolved from PATH by the OS.Behaviour change: a CLI found only by the wildcard (for example
my-tailwind-v4on PATH) or only in the current directory is no longer picked up. It needs to be on PATH under one of the names above, or set viaTailwindCliPath. The README is updated to match.Tests: 4 new unit tests for the candidate list; 11/11 pass. Also smoke-tested on macOS: with a fake
tailwindcssand a decoyevil-tailwind-xon PATH, the default startstailwindcssand ignores the decoy.System recap: extends existing primitives (medium risk)
Classification: extends. 1 composes, 1 extends.
Lane: Ask, the author’s pick: it waits for a maintainer to merge it.
Primitives touched
cli-lookuptailwind-hosted-serviceInvariants touched
System map
Dashed: Focus found no import behind this arrow (a runtime call, or one to check).
Change flow