Closed calebmer closed 3 years ago
Simplest string that reproduces the infinite iteration: ]-[]
.
Simplest string that reproduces the infinite iteration:
]-[]
.
Now this is a maintainer's dream in terms of minimal reproduction 🙏 Looking into it now, thanks.
I think it might be a typo here:
This code works for me locally:
if (candidate.endsWith("]", lastIndex + 1)) {
dashIdx = candidate.lastIndexOf("[", lastIndex) - 1;
} else {
dashIdx = candidate.lastIndexOf("-", lastIndex);
}
Line 28 is missing lastIndex
.
Should be fixed in v0.1.14! Used a slightly different solution, basically only worry about the square bracket stuff on the first pass when looking at the full string, since we don't support arbitrary values in the middle of class candidates anyways (like bg-[#126546]-foo-bar
isn't valid) 👍
What version of @tailwindcss/jit are you using?
v0.1.13
What version of Node.js are you using?
v14.15.0
What browser are you using?
n/a
What operating system are you using?
macOS
Reproduction repository
n/a
I have the following line of code in my codebase:
[^${char}\\s][^${char}]*[^${char}\\s]
(it’s used to build a regular expression). When I remove it from my codebase,@tailwindcss/jit
works fine. When I add it back Tailwind CSS fails to build with:I reproduced this issue by taking the implementation of
candidatePermutations()
in mynode_modules
folder and running it standalone:(Babel playground)