100phlecs / tailwind_formatter

Sorts tailwind classes within elixir projects
https://hexdocs.pm/tailwind_formatter
MIT License
111 stars 11 forks source link

Handle string objects when reading-in config #55

Open merhard opened 6 months ago

merhard commented 6 months ago

I ran into an error when setting up TailwindFormatter in my project (this step https://github.com/100phlecs/tailwind_formatter?tab=readme-ov-file#using-custom-tailwindcss-configuration).

$ mix tailwind default

Rebuilding...
<project path>/deps/tailwind_formatter/assets/js/index.js:17
      const [className, { modifiers }] = maybeClass
                          ^

TypeError: Cannot read properties of undefined (reading 'modifiers')
    at <project path>/deps/tailwind_formatter/assets/js/index.js:17:27
    at Array.flatMap (<anonymous>)
    at extract (<project path>/deps/tailwind_formatter/assets/js/index.js:14:6)
** (Mix) `mix tailwind default` exited with 1

On inspection it appears the tailwind class list may contain strings, strings with modifiers, OR String objects:

// Example

new String('*')

This PR adds a case to handle potential String object tailwind classes during extraction.