Skip to content

Commit

Permalink
Clip unbalanced closing brackets in arbitrary values (#9973)
Browse files Browse the repository at this point in the history
* Properly clip when there are too many `]` characters

* Update changelog
  • Loading branch information
thecrypticace committed Dec 1, 2022
1 parent 8f49251 commit e8b0365
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add container queries plugin to standalone CLI ([#9865](https://github.com/tailwindlabs/tailwindcss/pull/9865))
- Support renaming of output files by `PostCSS` plugin. ([#9944](https://github.com/tailwindlabs/tailwindcss/pull/9944))
- Improve return value of `resolveConfig`, unwrap `ResolvableTo` ([#9972](https://github.com/tailwindlabs/tailwindcss/pull/9972))
- Clip unbalanced brackets in arbitrary values ([#9973](https://github.com/tailwindlabs/tailwindcss/pull/9973))

### Changed

Expand Down
2 changes: 1 addition & 1 deletion src/lib/defaultExtractor.js
Expand Up @@ -184,7 +184,7 @@ function clipAtBalancedParens(input) {
// This means that there was an extra closing `]`
// We'll clip to just before it
if (depth < 0) {
return input.substring(0, match.index)
return input.substring(0, match.index - 1)
}

// We've finished balancing the brackets but there still may be characters that can be included
Expand Down
6 changes: 6 additions & 0 deletions tests/default-extractor.test.js
Expand Up @@ -482,3 +482,9 @@ test('a lot of data', () => {

expect(extractions).toContain(`underline`)
})

test('ruby percent string array', () => {
let extractions = defaultExtractor('%w[text-[#bada55]]')

expect(extractions).toContain(`text-[#bada55]`)
})

0 comments on commit e8b0365

Please sign in to comment.