Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add classes output switch to Tailwind CLI #14373

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

bopm
Copy link

@bopm bopm commented Sep 9, 2024

Introduce a new switch --classes-output to the Tailwind CLI build command to output only detected classes.

  • src/cli/index.js
    • Add a new switch --classes-output to the build command.
  • src/lib/expandTailwindAtRules.js
    • Update the expandTailwindAtRules function to handle the --classes-output switch.
    • Add logic to output only the detected classes when the switch is enabled.
  • tests/variants.test.js
    • Add tests to verify the functionality of the --classes-output switch.
    • Include test cases for different scenarios with the new switch.

Introduce a new switch `--classes-output` to the Tailwind CLI build command to output only detected classes.

* **src/cli/index.js**
  - Add a new switch `--classes-output` to the build command.
* **src/lib/expandTailwindAtRules.js**
  - Update the `expandTailwindAtRules` function to handle the `--classes-output` switch.
  - Add logic to output only the detected classes when the switch is enabled.
* **tests/variants.test.js**
  - Add tests to verify the functionality of the `--classes-output` switch.
  - Include test cases for different scenarios with the new switch.
@philipp-spiess
Copy link
Member

Hey @bopm! Thanks for the PR and sorry for not getting back to you earlier (we're currently crunching on Tailwind v4 work to get it ready for a beta release)

Do you have some context on why you need this feature? Are you able to get a similar output by parsing the generated CSS file for class names?

@bopm
Copy link
Author

bopm commented Nov 11, 2024

@philipp-spiess parsing generated CSS is not as straightforward as saving it while we have it. Here is how much I need to do in completely unrelated to Tailwind or CSS project.

So generally speaking, my problem is that as an author of Rails gem which uses Tailwind, I have to find a way to export my project classes (obviously generated with specific configuration that may not be the same as in the parent project) and then inject them into the parent application. And that may happen for the multiple libraries at the same time. So I discussed with @adamwathan how this can be achieved and this approach came up as a result of that discussion. I am still not sure if it's the best approach, but at least compute it's least wasteful. We save classes when we have them and reuse them on compilations of the host app.

@bopm bopm requested a review from a team as a code owner November 11, 2024 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants