Skip to content

Commit

Permalink
Revert #70 (#72)
Browse files Browse the repository at this point in the history
  • Loading branch information
bradlc committed Apr 20, 2022
1 parent e2fec96 commit 1493d2f
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 55 deletions.
44 changes: 1 addition & 43 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,7 @@ function getClassOrderPolyfill(classes, { env }) {
return classNamesWithOrder
}

function sortClasses(
classStr,
{ env, ignoreFirst = false, ignoreLast = false, tidyWhitespace = { start: true, end: true } }
) {
function sortClasses(classStr, { env, ignoreFirst = false, ignoreLast = false }) {
if (typeof classStr !== 'string' || classStr === '') {
return classStr
}
Expand All @@ -77,10 +74,6 @@ function sortClasses(
return classStr
}

if (classStr.includes('\n')) {
tidyWhitespace = false
}

let result = ''
let parts = classStr.split(/(\s+)/)
let classes = parts.filter((_, i) => i % 2 === 0)
Expand All @@ -90,10 +83,6 @@ function sortClasses(
classes.pop()
}

if (tidyWhitespace) {
whitespace = whitespace.map(() => ' ')
}

let prefix = ''
if (ignoreFirst) {
prefix = `${classes.shift() ?? ''}${whitespace.shift() ?? ''}`
Expand All @@ -104,15 +93,6 @@ function sortClasses(
suffix = `${whitespace.pop() ?? ''}${classes.pop() ?? ''}`
}

// Remove duplicates
classes = classes.filter((cls, index, arr) => {
if (arr.indexOf(cls) === index) {
return true
}
whitespace.splice(index - 1, 1)
return false
})

let classNamesWithOrder = env.context.getClassOrder
? env.context.getClassOrder(classes)
: getClassOrderPolyfill(classes, { env })
Expand All @@ -132,12 +112,6 @@ function sortClasses(
result += `${classes[i]}${whitespace[i] ?? ''}`
}

if (tidyWhitespace) {
result = result
.replace(/^\s+/, tidyWhitespace.start ? '' : ' ')
.replace(/\s+$/, tidyWhitespace.end ? '' : ' ')
}

return prefix + result + suffix
}

Expand Down Expand Up @@ -299,10 +273,6 @@ function sortTemplateLiteral(node, { env }) {
env,
ignoreFirst: i > 0 && !/^\s/.test(quasi.value.raw),
ignoreLast: i < node.expressions.length && !/\s$/.test(quasi.value.raw),
tidyWhitespace: {
start: i === 0,
end: i >= node.expressions.length,
},
})

quasi.value.cooked = same
Expand All @@ -311,10 +281,6 @@ function sortTemplateLiteral(node, { env }) {
env,
ignoreFirst: i > 0 && !/^\s/.test(quasi.value.cooked),
ignoreLast: i < node.expressions.length && !/\s$/.test(quasi.value.cooked),
tidyWhitespace: {
start: i === 0,
end: i >= node.expressions.length,
},
})

if (quasi.value.raw !== originalRaw || quasi.value.cooked !== originalCooked) {
Expand Down Expand Up @@ -433,21 +399,13 @@ function transformSvelte(ast, { env, changes }) {
env,
ignoreFirst: i > 0 && !/^\s/.test(value.raw),
ignoreLast: i < attr.value.length - 1 && !/\s$/.test(value.raw),
tidyWhitespace: {
start: i === 0,
end: i >= attr.value.length - 1,
},
})
value.data = same
? value.raw
: sortClasses(value.data, {
env,
ignoreFirst: i > 0 && !/^\s/.test(value.data),
ignoreLast: i < attr.value.length - 1 && !/\s$/.test(value.data),
tidyWhitespace: {
start: i === 0,
end: i >= attr.value.length - 1,
},
})
} else if (value.type === 'MustacheTag') {
visit(value.expression, {
Expand Down
13 changes: 1 addition & 12 deletions tests/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ let html = [
['<div class=" sm:p-0 p-0 "></div>', '<div class="p-0 sm:p-0"></div>'],
t`<div class></div>`,
t`<div class=""></div>`,
['<div class="sm:p-0 p-0 p-0"></div>', '<div class="p-0 sm:p-0"></div>'],
]

let css = [
Expand Down Expand Up @@ -96,15 +95,6 @@ let javascript = [
`;<div class={\`sm:p-0 p-0 \${someVar}sm:block md:inline flex\`} />`,
`;<div class={\`p-0 sm:p-0 \${someVar}sm:block flex md:inline\`} />`,
],
[';<div class=" m-0 sm:p-0 p-0 " />', ';<div class="m-0 p-0 sm:p-0" />'],
[";<div class={' m-0 sm:p-0 p-0 '} />", ";<div class={'m-0 p-0 sm:p-0'} />"],
[';<div class={` sm:p-0\n p-0 `} />', ';<div\n class={` p-0\n sm:p-0 `}\n/>'],
[';<div class="flex flex" />', ';<div class="flex" />'],
[';<div class={` flex flex `} />', ';<div class={`flex`} />'],
[
';<div class={` flex flex flex${someVar}block block`} />',
';<div class={`flex flex${someVar}block block`} />',
],
]
javascript = javascript.concat(
javascript.map((test) => test.map((t) => t.replace(/class/g, 'className')))
Expand Down Expand Up @@ -138,8 +128,6 @@ let vue = [
`<div :class="\`sm:p-0 p-0 \${someVar}sm:block md:inline flex\`"></div>`,
`<div :class="\`p-0 sm:p-0 \${someVar}sm:block flex md:inline\`"></div>`,
],
[`<div :class="' flex flex '"></div>`, `<div :class="'flex'"></div>`],
[`<div :class="\` flex flex \`"></div>`, `<div :class="\`flex\`"></div>`],
]

let tests = {
Expand Down Expand Up @@ -189,6 +177,7 @@ let tests = {
`<div class="sm:p-0 p-0 {someVar}sm:block md:inline flex" />`,
`<div class="p-0 sm:p-0 {someVar}sm:block flex md:inline" />`,
],
['<div class={`sm:p-0\np-0`} />', '<div\n class={`p-0\nsm:p-0`}\n/>'],
],
}

Expand Down

0 comments on commit 1493d2f

Please sign in to comment.