feat(Makefile): add integrate-export command to automate

Base44 export integration
feat(README.md): update Base44 integration workflow
for clarity and automation
This commit is contained in:
bwnyasse
2025-11-11 07:09:31 -05:00
parent 866d0df45c
commit e6cd70d834
2 changed files with 32 additions and 17 deletions

View File

@@ -24,6 +24,23 @@ build:
@echo "--> Building application for production..." @echo "--> Building application for production..."
@npm run build @npm run build
# Integrates a new Base44 export into the current project.
# It replaces the src directory and the index.html file.
# Prerequisite: The new export must be in a folder named '../krow-workforce-web-export-latest'.
integrate-export:
@echo "--> Integrating new Base44 export..."
@if [ ! -d "../krow-workforce-web-export-latest" ]; then \
echo "❌ Error: Export directory '../krow-workforce-web-export-latest' not found."; \
exit 1; \
fi
@echo " - Removing old src directory..."
@rm -rf src
@echo " - Copying new src directory..."
@cp -R ../krow-workforce-web-export-latest/src ./src
@echo " - Copying new index.html..."
@cp ../krow-workforce-web-export-latest/index.html ./index.html
@echo "--> Integration complete. Next step: 'make prepare-export'."
# Applies all necessary patches to a fresh Base44 export to run it locally. # Applies all necessary patches to a fresh Base44 export to run it locally.
# This is the main command for the hybrid workflow. # This is the main command for the hybrid workflow.
prepare-export: prepare-export:
@@ -39,6 +56,7 @@ help:
@echo " make install - Installs project dependencies." @echo " make install - Installs project dependencies."
@echo " make dev - Starts the local development server." @echo " make dev - Starts the local development server."
@echo " make build - Builds the application for production." @echo " make build - Builds the application for production."
@echo " make integrate-export - Integrates a new Base44 export from '../krow-workforce-web-export-latest'."
@echo " make prepare-export - Prepares a fresh Base44 export for local use." @echo " make prepare-export - Prepares a fresh Base44 export for local use."
@echo " make help - Shows this help message." @echo " make help - Shows this help message."
@echo "--------------------------------------------------" @echo "--------------------------------------------------"

View File

@@ -29,37 +29,34 @@ Ce projet utilise un `Makefile` comme point d'entrée principal pour toutes les
--- ---
## Makefile - Commandes Disponibles
Utilisez `make help` pour voir toutes les commandes disponibles.
- `make install`: Installe les dépendances du projet.
- `make dev`: Lance le serveur de développement en local.
- `make build`: Construit l'application pour la production.
- `make prepare-export`: **(Workflow Hybride)** Applique les patchs nécessaires à un nouvel export de Base44.
---
## 🔄 Workflow d'Intégration des Mises à Jour de Base44 ## 🔄 Workflow d'Intégration des Mises à Jour de Base44
Pour intégrer les nouvelles modifications de l'UI faites par la cliente sur la plateforme Base44, suivez ce processus rigoureux : Pour intégrer les nouvelles modifications de l'UI faites par la cliente sur la plateforme Base44, suivez ce processus rigoureux :
### 1. Valider les Changements d'API ### 1. Valider les Changements d'API
Avant de toucher au code, demandez au chat de Base44 la dernière documentation de l'API et des schémas. Comparez-la avec notre fichier `docs/api_specification.md` pour identifier tout changement qui impacterait le backend. Avant d'intégrer le nouveau code, il est impératif de mettre à jour notre documentation API et notre spécification technique. Suivez rigoureusement la procédure détaillée dans le fichier `docs/MAINTENANCE_GUIDE.md`.
### 2. Intégrer le Nouveau Frontend ### 2. Intégrer le Nouveau Frontend
1. **Créez une branche dédiée** dans Git : 1. **Créez une branche dédiée** dans Git :
```bash ```bash
git checkout -b integration/base44-update-YYYY-MM-DD git checkout -b integration/base44-update-YYYY-MM-DD
``` ```
2. Dans le nouvel export de Base44, **copiez le contenu du dossier `src`** et remplacez le dossier `src` de ce projet. 2. **Placez l'export** de Base44 dans un dossier nommé `krow-workforce-web-export-latest` à côté du dossier de ce projet. La structure attendue est :
3. **Exécutez le script de préparation** pour neutraliser le SDK Base44 et appliquer nos patchs : ```
- /krow-workforce-web/ (ce projet)
- /krow-workforce-web-export-latest/ (le nouvel export)
```
3. **Exécutez la commande d'intégration** pour copier automatiquement les fichiers `src` et `index.html` :
```bash
make integrate-export
```
4. **Exécutez le script de préparation** pour neutraliser le SDK Base44 et appliquer nos patchs :
```bash ```bash
make prepare-export make prepare-export
``` ```
4. **Analysez les différences** avec `git diff`. Intégrez les nouveaux composants et les modifications de l'UI, mais **rejetez les changements** sur les fichiers que nous avons patchés (`src/api/base44Client.js`, `src/main.jsx`, `src/pages/Layout.jsx`) pour conserver notre environnement local fonctionnel. 5. **Analysez les différences** avec `git diff`. Intégrez les nouveaux composants et les modifications de l'UI, mais **rejetez les changements** sur les fichiers que nous avons patchés (`src/api/base44Client.js`, `src/main.jsx`, `src/pages/Layout.jsx`) pour conserver notre environnement local fonctionnel. Vérifiez également `package.json` pour toute nouvelle dépendance à ajouter manuellement.
5. **Testez l'application** en local avec `make dev` pour vous assurer que tout fonctionne comme prévu. 6. **Testez l'application** en local avec `make dev` pour vous assurer que tout fonctionne comme prévu.
6. Commitez vos changements. 7. Commitez vos changements.
--- ---