wordxml-builder
Version:
Librería TypeScript para construir documentos XML compatibles con Microsoft Word
169 lines (120 loc) • 3.61 kB
Markdown
# WordXML Builder
Librería TypeScript para construir documentos XML compatibles con Microsoft Word.
## 🚀 Características
- Construcción de documentos XML compatibles con Word
- Tipado fuerte con TypeScript
- API simple y fácil de usar
- Documentación completa
## 📋 Requisitos Previos
- Node.js (v14 o superior)
- npm (v6 o superior)
## 🛠️ Instalación
```bash
npm install wordxml-builder
```
## 💻 Uso
```typescript
import { WordXMLBuilder } from 'wordxml-builder';
const builder = new WordXMLBuilder();
builder.addParagraph('Este es un párrafo de ejemplo');
const xmlContent = builder.getContent();
```
## 🏗️ Estructura del Proyecto
```
wordxml-builder/
├── src/ # Código fuente
│ ├── index.ts # Punto de entrada principal
│ ├── types/ # Definiciones de tipos
│ ├── builders/ # Clases constructoras
│ └── utils/ # Utilidades
├── dist/ # Código compilado (generado)
├── tests/ # Pruebas unitarias
├── docs/ # Documentación
└── examples/ # Ejemplos de uso
```
## 🔧 Desarrollo
### Instalación de Dependencias
```bash
npm install
```
### Compilación
```bash
npm run build
```
### Linting
```bash
npm run lint
```
### Formateo de Código
```bash
npm run format
```
## 🧪 Testing
```bash
npm test
```
## 📦 Publicación
1. Incrementa la versión en `package.json` siguiendo [Semantic Versioning](https://semver.org/)
2. Actualiza el CHANGELOG.md
3. Crea un nuevo tag en git
4. Publica en npm:
```bash
npm publish
```
## 🔄 GitFlow
Este proyecto sigue la metodología GitFlow para el control de versiones:
### Ramas Principales
- `main`: Código en producción
- `develop`: Código en desarrollo
### Ramas de Soporte
- `feature/*`: Nuevas características
- `bugfix/*`: Corrección de errores
- `hotfix/*`: Correcciones urgentes en producción
- `release/*`: Preparación de releases
### Flujo de Trabajo
1. Crear una rama desde `develop`:
```bash
git checkout -b feature/nueva-caracteristica develop
```
2. Desarrollar y hacer commits:
```bash
git commit -m "feat: agregar nueva característica"
```
3. Fusionar con `develop`:
```bash
git checkout develop
git merge feature/nueva-caracteristica
```
4. Crear release:
```bash
git checkout -b release/1.0.0 develop
```
5. Fusionar con `main` y `develop`:
```bash
git checkout main
git merge release/1.0.0
git checkout develop
git merge release/1.0.0
```
## 📝 Convención de Commits
Usamos [Conventional Commits](https://www.conventionalcommits.org/):
- `feat:` Nueva característica
- `fix:` Corrección de error
- `docs:` Cambios en documentación
- `style:` Cambios de formato
- `refactor:` Refactorización de código
- `test:` Agregar o corregir pruebas
- `chore:` Actualización de tareas, configuración, etc.
## 🔄 Versionamiento
Seguimos [Semantic Versioning](https://semver.org/):
- `MAJOR`: Cambios incompatibles con versiones anteriores
- `MINOR`: Nuevas características compatibles
- `PATCH`: Correcciones de errores compatibles
Ejemplo: `1.2.3`
- 1: Versión mayor
- 2: Versión menor
- 3: Parche
## 📄 Licencia
Este proyecto está bajo la Licencia MIT - ver el archivo [LICENSE](LICENSE) para más detalles.
## 🤝 Contribuciones
Las contribuciones son bienvenidas. Por favor, lee [CONTRIBUTING.md](CONTRIBUTING.md) para detalles sobre nuestro código de conducta y el proceso para enviar pull requests.