Herramienta de creación y actualización de plugins para FacturaScripts.
- 🌐 Web oficial: https://facturascripts.com/fsmaker
Si ya tiene instalado PHP y Composer, puede instalar fsmaker globalmente:
composer global require facturascripts/fsmakerUna vez instalado, fsmaker utiliza Symfony Console para una experiencia mejorada:
# Ver todos los comandos disponibles
fsmaker list
# Ver ayuda de un comando específico
fsmaker controller --help
# Ejecutar un comando
fsmaker modelPara ejecutar fsmaker directamente sin composer:
sudo ln -s ~/.config/composer/vendor/bin/fsmaker /usr/local/bin/fsmakerAhora puede usar simplemente:
fsmaker listA partir de la versión 2.0, fsmaker utiliza Symfony Console para ofrecer:
- ✅ Sistema de ayuda completo (
fsmaker --help,fsmaker zip --help) - ✅ Autocompletado de comandos en shell
- ✅ Output coloreado y formateado
- ✅ Control de verbosidad (
-v,-vv,-vvv) - ✅ Mejor organización y mantenibilidad del código
- ✅ Estándar de la industria (Symfony Console)
Crea la estructura completa de un nuevo plugin con todas las carpetas necesarias.
Crea un modelo con su tabla XML correspondiente. Opcionalmente puede generar EditController y ListController.
Crea diferentes tipos de controladores:
- Controller básico
- ListController para listados
- EditController para edición
Crea extensiones para:
- Tablas (XML)
- Modelos
- Controladores
- XMLViews
- Vistas HTML
Genera archivos de test PHPUnit para el plugin.
Crea workers para el sistema de colas de trabajo.
Crea el archivo principal Cron.php del plugin.
Crea tareas programadas individuales.
Genera automáticamente la API REST para los modelos del plugin.
Crea archivo de GitHub Actions para CI/CD.
Genera archivo .gitignore optimizado para plugins de FacturaScripts.
Crea el archivo Init.php principal del plugin.
Actualiza el código PHP, Twig y XML del plugin a las últimas versiones:
- Migra
ToolBoxaTools - Actualiza namespaces (
Core\Base→Core\Lib) - Convierte iconos FontAwesome (
fas→fa-solid) - Actualiza imports de Symfony HttpFoundation
- Añade tipos de retorno (
function clear(): void)
Migra código de Bootstrap 4 a Bootstrap 5:
btn-block→w-100ml-*/mr-*→ms-*/me-*no-gutters→g-0form-group→mb-3data-toggle→data-bs-togglebadge-*→bg-*- Y muchos más patrones de migración
Descarga y actualiza las traducciones del plugin.
Ejecuta los tests del plugin. Opcionalmente especifica la ruta de FacturaScripts.
Genera un archivo ZIP del plugin listo para distribución.
- PHP 8.1 o superior
- Composer
- Estar en la carpeta raíz del plugin o core de FacturaScripts
fsmaker espera encontrarse en:
- Plugin: Carpeta raíz del plugin (contiene
facturascripts.ini) - Core: Carpeta raíz del core de FacturaScripts
MiPlugin/
├── facturascripts.ini
├── Init.php
├── Cron.php
├── Controller/
├── Model/
├── View/
├── XMLView/
├── Table/
├── Extension/
│ ├── Controller/
│ ├── Model/
│ ├── Table/
│ ├── XMLView/
│ └── View/
├── Assets/
│ ├── CSS/
│ ├── JS/
│ └── Images/
├── Data/
│ ├── Codpais/ESP/
│ └── Lang/ES/
├── Test/main/
├── CronJob/
├── Worker/
└── Translation/
fsmaker listfsmaker controller --help
fsmaker model --helpcd /ruta/desarrollo/
fsmaker plugin
# Introduce: MiPlugincd MiPlugin/
fsmaker model
# Introduce: Cliente (modelo)
# Introduce: clientes (tabla)
# Configura campos con prompts interactivos
# ¿Crear EditController? Si
# ¿Crear ListController? Sicd MiPlugin/
fsmaker upgrade # Migra código PHP/Twig/XML
fsmaker upgrade-bs5 # Migra Bootstrap 4 → 5cd MiPlugin/
fsmaker zipfsmaker model -v # Verbose
fsmaker model -vv # Very verbose
fsmaker model -vvv # Debug- 💬 Contacto: https://facturascripts.com/contacto
- 🐛 GitHub: https://github.com/facturascripts/fsmaker