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

"Circular dependency detected" error on using @apply in custom class #6386

Closed
dcastil opened this issue Dec 11, 2021 · 7 comments
Closed

"Circular dependency detected" error on using @apply in custom class #6386

dcastil opened this issue Dec 11, 2021 · 7 comments

Comments

@dcastil
Copy link
Contributor

dcastil commented Dec 11, 2021

What version of Tailwind CSS are you using?

v3.0.1

What build tool (or framework if it abstracts the build tool) are you using?

Tailwind Playground

What version of Node.js are you using?

Not applicable

What browser are you using?

Chrome Version 96.0.4664.55

What operating system are you using?

macOS 12.0.1

Reproduction URL

https://play.tailwindcss.com/oslkj6dpmz?file=css

Only change was adding this CSS

.group-inner:focus-within .group-inner-focus-within\:sr-only {
    @apply sr-only;
}

Describe your issue

I'm getting a compilation error "<css input>: Circular dependency detected when using: @apply sr-only". But I'd expect the project to run without issues. This class was used in Tailwind CSS v2 without any issues.

I also don't understand how the circular dependency could come up since I'm using a class name not available in Tailwind CSS: group-inner-focus-within:sr-only. The issue goes away when I remove the last character y from the class. Seems like Tailwind tries to evaluate the class as a Tailwind class despite the prefix not existing in Tailwind.

@danr-za
Copy link

danr-za commented Dec 13, 2021

Same here.
It seems to happen when applying a class inside a class with a same name.

@dcastil
Copy link
Contributor Author

dcastil commented Dec 17, 2021

I upgraded to v3.0.7 in my project with the circular dependency and the error doesn't come up again. Seems like the issue was fixed in #6588. Closing this issue as resolved, thanks @RobinMalfait! 🙏

@dcastil dcastil closed this as completed Dec 17, 2021
@RobinMalfait
Copy link
Contributor

@dcastil Ah perfect! Thanks for notifying and closing the issue!

@driskull
Copy link

driskull commented Dec 17, 2021

I'm still seeing this issue in 3.0.7.

You cannot `@apply` the `sticky` utility here because it creates a circular dependency.
header .sticky {
  @apply sticky;
}

https://play.tailwindcss.com/YxcQz4gSop?file=css

In our web components, we have a class .sticky where we use @apply sticky;. This seems to throw this error.

If we rename our class to .sticky-pos then it will work but we shouldn't have to do that.

@driskull
Copy link

I can open a new issue if you want.

@RobinMalfait
Copy link
Contributor

RobinMalfait commented Dec 18, 2021

This PR fixed false positives, but the example you posted is not a false positive but an actual circular dependency. It's like you would do this:

.btn {
  @apply btn;
}

@driskull
Copy link

Ok thanks. I'll update our classes. 👍

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

No branches or pull requests

4 participants