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/fsmaker
Una vez instalado puede ejecutarlo desde cualquier directorio:
composer global exec fsmaker
Para ejecutar fsmaker directamente sin composer:
sudo ln -s ~/.config/composer/vendor/bin/fsmaker /usr/local/bin/fsmaker
Ahora puede usar simplemente:
fsmaker
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
ToolBox
aTools
- 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-100
ml-*
/mr-*
→ms-*
/me-*
no-gutters
→g-0
form-group
→mb-3
data-toggle
→data-bs-toggle
badge-*
→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: MiPlugin
cd MiPlugin/
fsmaker model
# Introduce: Cliente (modelo)
# Introduce: clientes (tabla)
# Configura campos
# ¿Crear EditController? 1
# ¿Crear ListController? 1
cd MiPlugin/
fsmaker upgrade # Migra código PHP/Twig/XML
fsmaker upgrade-bs5 # Migra Bootstrap 4 → 5
cd MiPlugin/
fsmaker zip
- 💬 Contacto: https://facturascripts.com/contacto
- 🐛 GitHub: https://github.com/facturascripts/fsmaker