Skip to content

Conversation

@chrispelzer
Copy link
Member

@chrispelzer chrispelzer commented Nov 18, 2025

Tailwind v3 -> v4, Laravel Mix -> Vite

Upgrade from Tailwind v3 to Tailwind v4 which also switches from Laravel Mix to using Vite


Reason for Change

Why was this change made? Briefly explain the motivation or issue being addressed.


Demo / Context

Add any context that would help reviewers understand the update. Include before/after info where helpful.

  • Relevant Links (Jira, Trello, GitHub Issues, etc.)
  • Screenshots or screen recordings
  • Log outputs
  • Console errors / browser messages

Final Checklist

  • I have reviewed my code and it follows project standards
  • I have tested the changes locally
  • I have added or updated relevant documentation
  • I have added tests (if applicable)
  • I have communicated with the team about necessary post-deploy actions

Testing Notes

Optional: Explain any special testing considerations for this PR.

  • Edge cases to try
  • Features that need manual confirmation
  • Known limitations or risks

Thanks for your contribution! 🎉

@chrispelzer chrispelzer changed the title Feature/tailwind 4 Feature | Tailwind v3 -> v4, NodeJS v22 -> NodeJS v24 Nov 19, 2025
@chrispelzer chrispelzer changed the title Feature | Tailwind v3 -> v4, NodeJS v22 -> NodeJS v24 Feature | Tailwind v3 -> v4, Laravel Mix -> Vite Nov 19, 2025
chrispelzer and others added 20 commits December 2, 2025 16:31
…/sass-lang.com/documentation/cli/migrator/) with the command `sass-migrator module --migrate-deps resources/scss/main.scss`
… `!optional`

```
[vite:css] [sass] The target selector was not found.
Use "@extend .button !optional" to avoid this error.
    ╷
139 │         @extend .button;
    │         ^^^^^^^^^^^^^^^
    ╵
  resources/scss/components/_formy.scss 139:9  load-css()
  resources/scss/main.scss 27:1                root stylesheet
```

```
[vite:css] [sass] The target selector was not found.
Use "@extend .gold-gradient-button !optional" to avoid this error.
   ╷
17 │             @extend .gold-gradient-button;
   │             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   ╵
  resources/scss/components/_flag.scss 17:13  load-css()
  resources/scss/main.scss 22:1               root stylesheet
```
… from the webpack.mix.js utilizing native nodejs instead of laravel mix
… vite static asset versioning and update references to the file rather than the built file for vite to account for
… from the filename to prepare for the tailwind4 upgrade tool
…ded for now till we can figure out working style, then we can convert over to pure css

issue with BEM currently in components/hero.css
tailwindlabs/tailwindcss#18522 (comment)
…lwind.config.js since screens are not used anymore in tailwind4

correct stylelint to allow nesting-selector-no-missing-scoping-root to still work within the @Utility {utility name}
… with &::after taking on an error due to `::after:is()`

```
            This errors if applied
            ▲ [WARNING] Unexpected ")" [css-syntax-error]

    <stdin>:2:70272:
      2 │ ...er){.play-video-button:after:is(),.play-video-button:after:hover...
        ╵
            @apply group-hover:opacity-100 hover:opacity-100
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants