tailwindcss icon indicating copy to clipboard operation
tailwindcss copied to clipboard

How to support legacy browsers(Chrome < 110) with PostCSS ?

Open Ratatinator97 opened this issue 7 months ago • 0 comments

How can I use this module with older browsers ?

I have a Nuxt 3 app that uses @nuxtjs/tailwindcss. Unfortunately, I struggle to setup Postcss polyfill functions along with this module. Although I see logs that correctly execute my Postcss configuration, I see no effect on my Chrome 91 device.

What am I missing here ?

In my index.vue file

onMounted(async () => {
    import('css-blank-pseudo/browser').then(module => {
      if (module.default) module.default()
    })
    
    import('postcss-focus-within/browser').then(module => {
      if (module.default) module.default()
    })
    
    import('css-has-pseudo/browser').then(module => {
      if (module.default) module.default()
    })
    
    import('css-prefers-color-scheme/browser').then(module => {
      if (module.default) module.default()
    })
    
    import('focus-visible')
...

package.json

"@tailwindcss/container-queries": "^0.1.1",
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/typography": "^0.5.16",
"@nuxtjs/tailwindcss": "^6.14.0",
"nuxt": "^3.17.3",
"daisyui": "^4.12.24",
"postcss": "^8.5.3",
"autoprefixer": "^10.4.21",
"@tailwindcss/nesting": "0.0.0-insiders.565cd3e",
"css-blank-pseudo": "^7.0.1",
"css-has-pseudo": "^7.0.2",
"css-prefers-color-scheme": "^10.0.0",
"postcss-cli": "^11.0.1",
"postcss-custom-media": "^11.0.5",
"postcss-fail-on-warn": "^0.2.1",
"postcss-focus-visible": "^10.0.1",
"postcss-focus-within": "^9.0.1",
"postcss-import": "^16.1.0",
"postcss-nested": "^7.0.2",
"postcss-preset-env": "^10.1.6",

nuxt.config.ts

postcss: {
    order: 'autoprefixerLast',
    plugins: {
      'postcss-import': {},
      'postcss-custom-media': {},
      'css-blank-pseudo': {},
      'postcss-focus-visible': {},
      'postcss-focus-within': {},
      'css-has-pseudo': {},
      'css-prefers-color-scheme': {},
      '@tailwindcss/nesting': {},
      'tailwindcss': {},
      'postcss-preset-env': {
        debug: true,
        browsers: 'chrome >= 49',
        enableClientSidePolyfills: true,
        features: {
          'focus-visible-pseudo-class': { preserve: true },
          'focus-within-pseudo-class': { preserve: true },
          'has-pseudo-class': { preserve: true },
          'prefers-color-scheme-query': { preserve: true },
          'blank-pseudo-class': { preserve: true },
          'custom-media-queries': { preserve: true },
        }
      },
      //'postcss-fail-on-warn': {},
      'autoprefixer': {
        flexbox: 'no-2009'
      },
    }
  },

Build extract:

 Nuxt 3.17.3 with Nitro 2.11.12                                                                                                      nuxi 4:36:00 PM
[nuxt] modules:before: 0.115ms                                                                                                           4:36:01 PM
[nuxt] kit:compatibility: 0.031ms                                                                                                        4:36:01 PM
ℹ Using default Tailwind CSS file                                                                                      nuxt:tailwindcss 4:36:01 PM
ℹ Module @nuxtjs/tailwindcss took 12.07ms to setup.                                                                                     4:36:01 PM
ℹ Module @teages/nuxt-legacy took 0.1ms to setup.                                                                                       4:36:01 PM
[nuxt] kit:compatibility: 0.019ms                                                                                                        4:36:01 PM
[nuxt] kit:compatibility: 0.029ms                                                                                                        4:36:01 PM
ℹ Module @nuxtjs/i18n took 14.54ms to setup.                                                                                            4:36:01 PM
[nuxt] pages:routerOptions: 0.017ms                                                                                                      4:36:01 PM
ℹ Module nuxt:pages took 9.6ms to setup.                                                                                                4:36:01 PM
ℹ Module nuxt:meta took 1.66ms to setup.                                                                                                4:36:01 PM
ℹ Module nuxt:components took 2.74ms to setup.                                                                                          4:36:01 PM
[nuxt] imports:sources: 0.103ms                                                                                                          4:36:01 PM
[nuxt] imports:context: 0.028ms                                                                                                          4:36:01 PM
[nuxt] imports:dirs: 0.007ms                                                                                                             4:36:01 PM
[nuxt] imports:extend: 0.1ms                                                                                                             4:36:01 PM
[nuxt] builder:generateApp: 0.038ms                                                                                                      4:36:01 PM
ℹ Module nuxt:imports took 43.47ms to setup.                                                                                            4:36:01 PM
ℹ Module nuxt:nuxt-config-schema took 0.27ms to setup.                                                                                  4:36:01 PM
ℹ Module @nuxt/telemetry took 0.05ms to setup.                                                                                          4:36:01 PM
[nuxt] tailwindcss:loadConfig: 0.017ms                                                                                                   4:36:01 PM
[nuxt] tailwindcss:config: 0.007ms                                                                                                       4:36:01 PM
[nuxt] tailwindcss:resolvedConfig: 0.015ms                                                                                               4:36:01 PM
[nuxt] i18n:registerModule: 0.007ms                                                                                                      4:36:01 PM
[nuxt] schema:extend: 0.009ms                                                                                                            4:36:01 PM
[nuxt] schema:resolved: 0.005ms                                                                                                          4:36:01 PM
[nuxt] modules:done: 57.771ms                                                                                                            4:36:01 PM
[nuxt] nitro:config: 0.257ms                                                                                                             4:36:01 PM
[nuxt] nitro:init: 0.072ms                                                                                                               4:36:01 PM
[nuxt] ready: 0.005ms                                                                                                                    4:36:01 PM
ℹ Building for Nitro preset: node-server                                                                                           nuxi 4:36:01 PM
[nitro] types:extend: 0.014ms                                                                                                            4:36:01 PM
[nuxt] prepare:types: 31.784ms                                                                                                           4:36:01 PM
[nuxt] components:dirs: 0.006ms                                                                                                          4:36:01 PM
[nuxt] app:resolve: 0.64ms                                                                                                               4:36:01 PM
[nuxt] tailwindcss:loadConfig: 0.006ms                                                                                                   4:36:01 PM
[nuxt] tailwindcss:config: 0.004ms                                                                                                       4:36:01 PM
[nuxt] tailwindcss:resolvedConfig: 0.018ms                                                                                               4:36:01 PM
[nuxt] pages:extend: 9.756ms                                                                                                             4:36:01 PM
[nuxt] pages:resolved: 0.008ms                                                                                                           4:36:01 PM
[nuxt] components:extend: 0.221ms                                                                                                        4:36:01 PM
[nuxt] app:templates: 24.42ms                                                                                                            4:36:01 PM
ℹ Compiled app-component.mjs in 4.98ms                                                                                             nuxt 4:36:01 PM
ℹ Compiled types/app.config.d.ts in 5.03ms                                                                                         nuxt 4:36:01 PM
ℹ Compiled app.config.mjs in 5.07ms                                                                                                nuxt 4:36:01 PM
ℹ Compiled types/app-defaults.d.ts in 5.1ms                                                                                        nuxt 4:36:01 PM
ℹ Compiled types/build.d.ts in 5.14ms                                                                                              nuxt 4:36:01 PM
ℹ Compiled nitro.client.mjs in 4.98ms                                                                                              nuxt 4:36:01 PM
ℹ Compiled css.mjs in 5.02ms                                                                                                       nuxt 4:36:01 PM
ℹ Compiled fetch.mjs in 5.05ms                                                                                                     nuxt 4:36:01 PM
ℹ Compiled error-component.mjs in 5.09ms                                                                                           nuxt 4:36:01 PM
ℹ Compiled layouts.mjs in 5.12ms                                                                                                   nuxt 4:36:01 PM
ℹ Compiled middleware.mjs in 5.04ms                                                                                                nuxt 4:36:01 PM
[nuxt] nitro:prepare:types: 4.944ms                                                                                                      4:36:01 PM
ℹ Compiled nuxt.config.mjs in 4.99ms                                                                                               nuxt 4:36:01 PM
ℹ Compiled paths.mjs in 4.79ms                                                                                                     nuxt 4:36:01 PM
ℹ Compiled root-component.mjs in 4.81ms                                                                                            nuxt 4:36:01 PM
ℹ Compiled test-component-wrapper.mjs in 4.48ms                                                                                    nuxt 4:36:01 PM
ℹ Compiled types/vue-shim.d.ts in 4.51ms                                                                                           nuxt 4:36:01 PM
ℹ Compiled types/builder-env.d.ts in 4.56ms                                                                                        nuxt 4:36:01 PM
ℹ Compiled routes.mjs in 4.61ms                                                                                                    nuxt 4:36:01 PM
ℹ Compiled pages.mjs in 4.36ms                                                                                                     nuxt 4:36:01 PM
ℹ Compiled types/middleware.d.ts in 4.34ms                                                                                         nuxt 4:36:01 PM
ℹ Compiled types/nitro-middleware.d.ts in 4.37ms                                                                                   nuxt 4:36:01 PM
ℹ Compiled types/layouts.d.ts in 4.4ms                                                                                             nuxt 4:36:01 PM
ℹ Compiled unhead-options.mjs in 4.43ms                                                                                            nuxt 4:36:01 PM
ℹ Compiled unhead.config.mjs in 4.45ms                                                                                             nuxt 4:36:01 PM
ℹ Compiled components.d.ts in 4.48ms                                                                                               nuxt 4:36:01 PM
ℹ Compiled components.plugin.mjs in 3.35ms                                                                                         nuxt 4:36:01 PM
ℹ Compiled component-names.mjs in 3.25ms                                                                                           nuxt 4:36:01 PM
ℹ Compiled components.islands.mjs in 3.25ms                                                                                        nuxt 4:36:01 PM
ℹ Compiled tailwind/postcss.mjs in 6.48ms                                                                                          nuxt 4:36:01 PM
ℹ Compiled i18n.options.mjs in 6.18ms                                                                                              nuxt 4:36:01 PM
ℹ Compiled types/i18n-plugin.d.ts in 5.54ms                                                                                        nuxt 4:36:01 PM
ℹ Compiled nuxt-i18n-logger.mjs in 5.43ms                                                                                          nuxt 4:36:01 PM
ℹ Compiled imports.mjs in 6.87ms                                                                                                   nuxt 4:36:01 PM
ℹ Compiled imports.d.ts in 6.88ms                                                                                                  nuxt 4:36:01 PM
ℹ Compiled types/nitro-nuxt.d.ts in 9.62ms                                                                                         nuxt 4:36:01 PM
ℹ Compiled types/schema.d.ts in 9.91ms                                                                                             nuxt 4:36:01 PM
ℹ Compiled types/imports.d.ts in 11.25ms                                                                                           nuxt 4:36:01 PM
[nuxt] pages:routerOptions: 0.011ms                                                                                                      4:36:01 PM
ℹ Compiled router.options.mjs in 14.03ms                                                                                           nuxt 4:36:01 PM
ℹ Compiled plugins.server.mjs in 11.14ms                                                                                           nuxt 4:36:01 PM
ℹ Compiled plugins.client.mjs in 13.44ms                                                                                           nuxt 4:36:01 PM
ℹ Compiled types/plugins.d.ts in 13.74ms                                                                                           nuxt 4:36:01 PM
[nuxt] imports:extend: 0.047ms                                                                                                           4:36:01 PM
[nuxt] builder:generateApp: 0.004ms                                                                                                      4:36:01 PM
[nuxt] app:templatesGenerated: 19.782ms                                                                                                  4:36:01 PM
[nuxt] build:before: 0.629ms                                                                                                             4:36:01 PM
[nuxt] builder:generateApp: 0.021ms                                                                                                      4:36:01 PM
[nuxt] tailwindcss:internal:regenerateTemplates: 0.004ms                                                                                 4:36:01 PM
[nuxt] vite:extend: 1.426ms                                                                                                              4:36:02 PM
[nuxt] vite:extendConfig: 0.645ms                                                                                                        4:36:02 PM
[nuxt] vite:configResolved: 0.005ms                                                                                                      4:36:02 PM
ℹ Building client...                                                                                                                    4:36:02 PM
ℹ vite v6.3.5 building for production...                                                                                                4:36:02 PM
transforming (24) virtual:nuxt:%2FUsers%2Falex%2FDocuments%2FPicTalk%2FCode.nnsync%2Fagenda-caa%2F.nuxt%2Fi18n.options.mjs
🌼   daisyUI 4.12.24
├─ ✔︎ 1 theme added		https://daisyui.com/docs/themes
╰─ ❤︎ Support daisyUI project:	https://opencollective.com/daisyui

transforming (54) i18n/locales/it-IT.json
 WARN  [vite:css][postcss] Using features from Stage 2 (default).                                                                        4:36:04 PM
- 'custom-selectors' disabled because it lacks the required stage (1 out of 2).
- 'image-set-function' disabled because all targeted browsers support it.
- 'media-query-ranges' enabled for:
    chrome 103
    chrome 102
    chrome 101
    chrome 100
...
  random-function
  relative-color-syntax
  sign-functions
  stepped-value-functions
  system-ui-font-family
  text-decoration-shorthand
  trigonometric-functions
These feature(s) need a browser library to work:
  blank-pseudo-class: https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README.md#browser
  focus-visible-pseudo-class: https://github.com/WICG/focus-visible
  focus-within-pseudo-class: https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-focus-within/README.md#browser
  has-pseudo-class: https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README.md#browser
  prefers-color-scheme-query: https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README.md#browser


transforming (165) node_modules/.pnpm/[email protected]/node_modules/keycloak-js/lib/keycloak.js
 WARN  [vite:css][postcss]                                                                                                               4:36:05 PM



 WARN  [vite:css][postcss]                                                                                                               4:36:06 PM
...
ℹ ✓ built in 12.31s                                                                                                                     4:36:14 PM
[nuxt] vite:compiled: 0.014ms                                                                                                            4:36:14 PM
✔ Client built in 12321ms                                                                                                               4:36:14 PM
[nuxt] vite:extendConfig: 0.584ms                                                                                                        4:36:14 PM
[nuxt] vite:configResolved: 0.009ms                                                                                                      4:36:14 PM
ℹ Building server...                                                                                                                    4:36:14 PM
ℹ vite v6.3.5 building SSR bundle for production...                                                                                     4:36:14 PM
ℹ ✓ 1 modules transformed.                                                                                                              4:36:14 PM
ℹ ✓ built in 7ms                                                                                                                        4:36:14 PM
[nuxt] build:manifest: 0.336ms                                                                                                           4:36:14 PM
[nuxt] vite:compiled: 0.008ms                                                                                                            4:36:14 PM
✔ Server built in 14ms                                                                                                                  4:36:14 PM
[nuxt] schema:beforeWrite: 0.013ms                                                                                                       4:36:14 PM
[nuxt] schema:written: 0.007ms                                                                                                           4:36:14 PM
[nuxt] nitro:build:before: 0.457ms                                                                                                       4:36:14 PM
[nuxt] prerender:routes: 0.007ms                                                                                                         4:36:15 PM
[nitro] prerender:routes: 0.176ms                                                                                                        4:36:15 PM
ℹ Initializing prerenderer                                                                                                        nitro 4:36:15 PM
[nitro] prerender:config: 0.004ms                                                                                                        4:36:15 PM
[nitro] prerender:init: 0.012ms                                                                                                          4:36:15 PM
[nitro] build:before: 0.007ms                                                                                                            4:36:15 PM
[nitro] rollup:before: 0.023ms                                                                                                           4:36:15 PM
[nitro] types:extend: 0.017ms                                                                                                            4:36:15 PM
[nitro] compiled: 0.016ms                                                                                                                4:36:15 PM
ℹ Prerendering 1 routes                                                                                                           nitro 4:36:15 PM
[nitro-runtime] request: 0.02ms                                                                                                          4:36:15 PM
[nitro-runtime] render:before: 0.012ms                                                                                                   4:36:15 PM
[nitro-runtime] render:html: 0.007ms                                                                                                     4:36:15 PM
[nitro-runtime] render:response: 0.004ms                                                                                                 4:36:15 PM
[nitro-runtime] beforeResponse: 0.007ms                                                                                                  4:36:15 PM
[nitro-runtime] afterResponse: 0.004ms                                                                                                   4:36:15 PM
[nitro] prerender:generate: 0.007ms                                                                                                      4:36:15 PM
[nitro] prerender:route: 0.007ms                                                                                                         4:36:15 PM
  ├─ / (18ms)                                                                                                                      nitro 4:36:15 PM
[nitro-runtime] close: 0.005ms                                                                                                           4:36:15 PM
[nitro] prerender:done: 0.004ms                                                                                                          4:36:15 PM
ℹ Prerendered 1 routes in 0.633 seconds                                                                                           nitro 4:36:15 PM
[nitro] build:before: 0.006ms
✔ Generated public .output/public                                                                                                 nitro 4:36:15 PM
[nuxt] nitro:build:public-assets: 0.024ms
[nitro] rollup:before: 85.173ms
[nitro] types:extend: 0.014ms
ℹ Building Nuxt Nitro server (preset: node-server, compatibility date: 2025-05-15)                                                nitro 4:36:15 PM
✔ Nuxt Nitro server built                                                                                                         nitro 4:36:17 PM
  ├─ .output/server/chunks/_/error-500.mjs (4.88 kB) (2.06 kB gzip)
  ├─ .output/server/chunks/_/error-500.mjs.map (340 B) (252 B gzip)
  ├─ .output/server/chunks/build/client.manifest.mjs (24 kB) (1.95 kB gzip)
  ├─ .output/server/chunks/build/client.manifest.mjs.map (11.1 kB) (1.06 kB gzip)
  ├─ .output/server/chunks/nitro/nitro.mjs (213 kB) (50.6 kB gzip)
  ├─ .output/server/chunks/nitro/nitro.mjs.map (6.29 kB) (1.04 kB gzip)
  ├─ .output/server/chunks/routes/renderer.mjs (12.6 kB) (4.1 kB gzip)
  ├─ .output/server/chunks/routes/renderer.mjs.map (1.62 kB) (383 B gzip)
  ├─ .output/server/chunks/virtual/_virtual_spa-template.mjs (94 B) (100 B gzip)
  ├─ .output/server/chunks/virtual/_virtual_spa-template.mjs.map (112 B) (111 B gzip)
  ├─ .output/server/index.mjs (353 B) (204 B gzip)
  └─ .output/server/package.json (655 B) (293 B gzip)
Σ Total size: 1.71 MB (404 kB gzip)
[nitro] compiled: 0.029ms
✔ You can preview this build using node .output/server/index.mjs                                                                  nitro 4:36:17 PM
[nuxt] build:done: 2.856s                                                                                                                4:36:17 PM
[nitro] close: 0.092ms                                                                                                                   4:36:17 PM
[nuxt] close: 0.235ms

Ratatinator97 avatar May 20 '25 14:05 Ratatinator97