diff --git a/packages/tailwindcss-class-names/src/extractClassNames.mjs b/packages/tailwindcss-class-names/src/extractClassNames.mjs index df4559939aba242c977b6be4adea01cfe05adb47..4ccb6622101ef1538bfffa21842e3265d0706a23 100644 --- a/packages/tailwindcss-class-names/src/extractClassNames.mjs +++ b/packages/tailwindcss-class-names/src/extractClassNames.mjs @@ -55,16 +55,7 @@ const classNames = getClassNamesFromSelector(rule.selector) const decls = {} rule.walkDecls((decl) => { - if (decls[decl.prop]) { - decls[decl.prop] = [ - ...(Array.isArray(decls[decl.prop]) - ? decls[decl.prop] - : [decls[decl.prop]]), - decl.value, - ] - } else { - decls[decl.prop] = decl.value - } + decls[decl.prop] = decl.value }) let p = rule diff --git a/packages/tailwindcss-class-names/tests/extractClassNames.test.js b/packages/tailwindcss-class-names/tests/extractClassNames.test.js index fe8e04bf6ba717f7e2e1a52a79b06cca78fbbe7a..7e7b6471ff2ee0ba50de454d6743490a152e5e01 100644 --- a/packages/tailwindcss-class-names/tests/extractClassNames.test.js +++ b/packages/tailwindcss-class-names/tests/extractClassNames.test.js @@ -350,24 +350,3 @@ ], }, }) }) - -test('processes multiple properties of the same name', async () => { - const result = await processCss(` - .bg-red { - background-color: blue; - background-color: red; - } - `) - - expect(result).toEqual({ - context: {}, - classNames: { - 'bg-red': { - __rule: true, - __context: [], - __scope: null, - 'background-color': ['blue', 'red'], - }, - }, - }) -}) diff --git a/packages/tailwindcss-language-server/src/providers/completionProvider.ts b/packages/tailwindcss-language-server/src/providers/completionProvider.ts index bb78423a37f7e2c8d48fed37d4f45413bf782113..54f39076f9ee0da598c03d4a503699dcf66520ee 100644 --- a/packages/tailwindcss-language-server/src/providers/completionProvider.ts +++ b/packages/tailwindcss-language-server/src/providers/completionProvider.ts @@ -23,7 +23,6 @@ import { isJsContext } from '../util/js' import { naturalExpand } from '../util/naturalExpand' import semver from 'semver' import { docsUrl } from '../util/docsUrl' -import { ensureArray } from '../util/array' function completionsFromClassList( state: State, @@ -726,19 +725,10 @@ ) } function stringifyDecls(obj: any): string { - let props = Object.keys(obj) - let nonCustomProps = props.filter((prop) => !prop.startsWith('--')) - - if (props.length !== nonCustomProps.length && nonCustomProps.length !== 0) { - props = nonCustomProps - } - - return props - .map((prop) => - ensureArray(obj[prop]) - .map((value) => `${prop}: ${value};`) - .join(' ') - ) + return Object.keys(obj) + .map((prop) => { + return `${prop}: ${obj[prop]};` + }) .join(' ') } diff --git a/packages/tailwindcss-language-server/src/util/array.ts b/packages/tailwindcss-language-server/src/util/array.ts deleted file mode 100644 index 13683ccbd6c9bb53185ebb57311e5833d551c5c5..0000000000000000000000000000000000000000 --- a/packages/tailwindcss-language-server/src/util/array.ts +++ /dev/null @@ -1,11 +0,0 @@ -export function dedupe(arr: Array): Array { - return arr.filter((value, index, self) => self.indexOf(value) === index) -} - -export function ensureArray(value: T | T[]): T[] { - return Array.isArray(value) ? value : [value] -} - -export function flatten(arrays: T[][]): T[] { - return [].concat.apply([], arrays) -} diff --git a/packages/tailwindcss-language-server/src/util/stringify.ts b/packages/tailwindcss-language-server/src/util/stringify.ts index f2811a6b93276f3bdab86c4f1084af6ce56489a0..5433e90926433db92e6f14389dd4c1d796df38a3 100644 --- a/packages/tailwindcss-language-server/src/util/stringify.ts +++ b/packages/tailwindcss-language-server/src/util/stringify.ts @@ -1,7 +1,6 @@ import removeMeta from './removeMeta' const dlv = require('dlv') import escapeClassName from 'css.escape' -import { ensureArray } from './array' export function stringifyConfigValue(x: any): string { if (typeof x === 'string') return x @@ -36,10 +35,9 @@ } const indentStr = '\t'.repeat(context.length) const decls = props.reduce((acc, curr, i) => { - const propStr = ensureArray(obj[curr]) - .map((val) => `${indentStr + '\t'}${curr}: ${val};`) - .join('\n') - return `${acc}${i === 0 ? '' : '\n'}${propStr}` + return `${acc}${i === 0 ? '' : '\n'}${indentStr + '\t'}${curr}: ${ + obj[curr] + };` }, '') css += `${indentStr}${augmentClassName( className,