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 puede ejecutarlo desde cualquier directorio:
composer global exec fsmakerPara ejecutar fsmaker directamente sin composer:
sudo ln -s ~/.config/composer/vendor/bin/fsmaker /usr/local/bin/fsmakerAhora puede usar simplemente:
fsmakerCrea 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.0 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/
cd /ruta/desarrollo/
fsmaker plugin
# Introduce: MiPlugincd MiPlugin/
fsmaker model
# Introduce: Cliente (modelo)
# Introduce: clientes (tabla)
# Configura campos
# ¿Crear EditController? 1
# ¿Crear ListController? 1cd MiPlugin/
fsmaker upgrade # Migra código PHP/Twig/XML
fsmaker upgrade-bs5 # Migra Bootstrap 4 → 5cd MiPlugin/
fsmaker zip- 💬 Contacto: https://facturascripts.com/contacto
- 🐛 GitHub: https://github.com/facturascripts/fsmaker