Communitygithub.com

uni-stack/migrate-nativewind-to-uniwind

Migrar um projeto React Native de NativeWind para Uniwind. Use quando o usuário deseja substituir NativeWind por Uniwind, atualizar do NativeWind, migrar para Uniwind ou mencionar migração de NativeWind para Uniwind. Lida com remoção de pacotes, migração de configuração, atualização para Tailwind 4, remoção de cssInterop, conversão de tema e todas as mudanças significativas.

O que é migrate-nativewind-to-uniwind?

Esta habilidade automatiza a migração de um projeto React Native de NativeWind para Uniwind, garantindo uma transição suave entre os dois frameworks de estilização. Ela é útil para desenvolvedores que desejam substituir o NativeWind pelo Uniwind, seja por atualização de versão, mudança de tecnologia ou necessidade de compatibilidade com Tailwind 4. A habilidade lida com todas as etapas críticas: remoção dos pacotes antigos do NativeWind, migração das configurações do Tailwind (incluindo atualização para Tailwind 4), remoção de `cssInterop`, conversão de temas personalizados e ajustes de quebra de mudanças. Suporta projetos React Native (incluindo Expo) com configurações baseadas em Babel e PostCSS. O processo é executado através de comandos CLI e modificações nos arquivos do projeto, como `app.json`, `babel.config.js`, `tailwind.config.js` e `metro.config.js`.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/uni-stack/uniwind/tree/main/skills/migrate-nativewind-to-uniwind

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que migrate-nativewind-to-uniwind faz?

Migrar um projeto React Native de NativeWind para Uniwind. Use quando o usuário deseja substituir NativeWind por Uniwind, atualizar do NativeWind, migrar para Uniwind ou mencionar migração de NativeWind para Uniwind. Lida com remoção de pacotes, migração de configuração, atualização para Tailwind 4, remoção de cssInterop, conversão de tema e todas as mudanças significativas.

Pré-requisitos

  • Node.js (v16 ou superior)
  • Projeto React Native existente (Expo ou CLI)
  • NativeWind instalado e configurado

Etapas da Migração

  1. Remover pacotes NativeWind

    npm uninstall nativewind
    # ou
    yarn remove nativewind
    
  2. Instalar Uniwind

    npm install uniwind
    # ou
    yarn add uniwind
    
  3. Atualizar configuração do PostCSS (arquivo postcss.config.js)

    module.exports = {
      plugins: {
        "@tailwindcss/postcss": {},
      },
    };
    
  4. Migrar configuração do Babel (arquivo babel.config.js)

    module.exports = function (api) {
      api.cache(true);
      return {
        presets: ["babel-preset-expo"],
        plugins: ["uniwind/babel"],
      };
    };
    
  5. Atualizar tema do Tailwind (arquivo tailwind.config.js)

    const { theme } = require("uniwind/theme");
    module.exports = {
      content: ["./app/**/*.{js,jsx,ts,tsx}", "./components/**/*.{js,jsx,ts,tsx}"],
      theme: { extend: { ...theme } },
      plugins: [],
    };
    
  6. Remover cssInterop (arquivo metro.config.js ou app.json)

    // Remover:
    // cssInterop: true
    
  7. Verificar se há arquivos de legado (opcional)

    npx uniwind check
    

Mudanças Significativas

  • Remoção do plugin Babel: nativewind/babel → uniwind/babel
  • Tema Base: theme() agora usa uniwind/theme
  • cssInterop: Removido completamente
  • Variantes: dark: e outras variantes podem precisar ser reconfiguradas

Suporte

  • Expo SDK 50+
  • React Native >= 0.73
  • Tailwind CSS 4+

Referências

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas