Skip to content

Commit 8d68d0c

Browse files
committed
Improve canCollapseWhitespaceIn handling for tailwindPreserveWhitespace: true
1 parent 28beb4e commit 8d68d0c

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

src/index.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ function transformDynamicAngularAttribute(attr: any, env: TransformerEnv) {
108108
StringLiteral(node, path) {
109109
if (!node.value) return
110110

111-
let collapseWhitespace = canCollapseWhitespaceIn(path)
111+
let collapseWhitespace = canCollapseWhitespaceIn(path, env)
112112

113113
changes.push({
114114
start: node.start + 1,
@@ -124,7 +124,7 @@ function transformDynamicAngularAttribute(attr: any, env: TransformerEnv) {
124124
TemplateLiteral(node, path) {
125125
if (!node.quasis.length) return
126126

127-
let collapseWhitespace = canCollapseWhitespaceIn(path)
127+
let collapseWhitespace = canCollapseWhitespaceIn(path, env)
128128

129129
for (let i = 0; i < node.quasis.length; i++) {
130130
let quasi = node.quasis[i]
@@ -604,7 +604,14 @@ function isSortableExpression(
604604
return false
605605
}
606606

607-
function canCollapseWhitespaceIn(path: Path<import('@babel/types').Node, any>) {
607+
function canCollapseWhitespaceIn(
608+
path: Path<import('@babel/types').Node, any>,
609+
env: TransformerEnv,
610+
): false | { start: boolean; end: boolean } {
611+
if (env.options.tailwindPreserveWhitespace) {
612+
return false
613+
}
614+
608615
let start = true
609616
let end = true
610617

@@ -656,7 +663,7 @@ function transformJavaScript(ast: import('@babel/types').Node, { env }: Transfor
656663

657664
function sortInside(ast: import('@babel/types').Node) {
658665
visit(ast, (node, path) => {
659-
let collapseWhitespace = canCollapseWhitespaceIn(path)
666+
let collapseWhitespace = canCollapseWhitespaceIn(path, env)
660667

661668
if (isStringLiteral(node)) {
662669
sortStringLiteral(node, { env, collapseWhitespace })
@@ -712,7 +719,7 @@ function transformJavaScript(ast: import('@babel/types').Node, { env }: Transfor
712719
return
713720
}
714721

715-
let collapseWhitespace = canCollapseWhitespaceIn(path)
722+
let collapseWhitespace = canCollapseWhitespaceIn(path, env)
716723

717724
sortTemplateLiteral(node.quasi, {
718725
env,

src/sorting.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@ export function sortClasses(
4242
return classStr
4343
}
4444

45-
if (env.options.tailwindPreserveWhitespace) {
46-
collapseWhitespace = false
47-
}
48-
4945
// This class list is purely whitespace
5046
// Collapse it to a single space if the option is enabled
5147
if (/^[\t\r\f\n ]+$/.test(classStr) && collapseWhitespace) {

0 commit comments

Comments
 (0)