npm package: @liferay-react/create-react-liferay
Description: Create React Liferay
Latest version: 1.0.6

# @liferay-react/create-react-liferay

![NPM Version](https://img.shields.io/npm/v/@liferay-react/create-react-liferay)
![License](https://img.shields.io/npm/l/@liferay-react/create-react-liferay)
![GitHub](https://img.shields.io/badge/GitHub-Repository-blue?logo=github)

> A CLI interativa oficial para geração de módulos React e Shared Bundles para Liferay DXP.

Este pacote fornece uma interface de linha de comando (CLI) intuitiva para criar novos projetos React compatíveis com Liferay, já configurados com as melhores práticas, suporte a SASS, e compatibilidade automática com diferentes versões do Java (Jakarta/Javax).

## 🚀 Como usar

Você pode executar o gerador diretamente usando `npx` (recomendado):

```bash
npx @liferay-react/create-react-liferay
```

Ou instalar globalmente:

```bash
npm install -g @liferay-react/create-react-liferay
create-react-liferay
```

## 🛠️ O que ele faz?

O gerador irá guiá-lo através de uma série de perguntas para configurar seu novo projeto:

1.  **Tipo de Módulo**: Escolha entre um **Widget React** (Portlet) ou um **Shared Bundle** (para compartilhar dependências entre múltiplos widgets).
2.  **Templates de Widget**:
    - **Módulo simples**: Estrutura básica React.
    - **Módulo simples com template pré-determinado**: Inclui templates de exemplo.
    - **Módulo com Shared (básico)**: Configurado para consumir um Shared Bundle local.
    - **Módulo com Shared template**: Configurado para usar o shared bundle padrão da nossa CLI.
3.  **Configurações do Portlet**: Define o nome, categoria e contexto web.
4.  **Caminho do Liferay (liferayDir)**: Localização do seu bundle Liferay para automação de deploy.
5.  **Versão do Java**: Detecta automaticamente sua versão do Java para ajustar as bibliotecas (`jakarta.*` para Java 21+ ou `javax.*` para versões anteriores).

## ✨ Funcionalidades

- **Múltiplos Templates**: Opções que vão do simples ao avançado com dependências compartilhadas.
- **Shared Bundles**: Crie e configure facilmente bundles para otimizar o peso dos seus portlets.
- **Java 21+ Ready**: Suporte nativo ao novo ecossistema Jakarta EE com fallback inteligente para Javax.
- **Configuração Automática**: Gera arquivos `.npmbundlerrc`, `.npmbuildrc`, e `package.json` prontos para uso.
- **Suporte a Modern Frontend**: Configurado com Babel para React 18 e suporte nativo a CSS/SASS através do bundler do Liferay.

## 📁 Estrutura do Projeto Gerado

```text
meu-projeto/
├── assets/             # Arquivos estáticos e CSS/SASS
├── features/           # Configurações do Liferay (localization, configuration.json)
├── src/                # Código fonte React (.jsx, .js)
├── .babelrc           # Configuração do Babel para Liferay
├── .npmbuildrc        # Configurações de diretório de deploy
├── .npmbundlerrc      # Regras de empacotamento do Liferay NPM Bundler
└── package.json       # Scripts de build, deploy e dependências
```

## 📜 Scripts Disponíveis

No projeto gerado, você terá os seguintes comandos:

- `npm run build`: Compila o código fonte e gera o bundle `.jar` compatível com OSGi.
- `npm run deploy`: Realiza o build e copia o arquivo para a pasta `deploy` do seu Liferay.

---

## 📝 Licença

Este projeto está sob a licença [MIT](LICENSE).

Liferay © 2026