Fixes server build issues and resolves duplicate variable declarations

Resolves build failures in production by fixing duplicate variable declarations in `server/index.production.ts` and ensuring successful esbuild compilation, eliminating TypeScript errors.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 7c468936-2a88-4686-ac0a-84921a45222d
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/7c468936-2a88-4686-ac0a-84921a45222d/cH9Kvea
This commit is contained in:
michaelschal committed 2025-08-13 13:11:14 +00:00
1 parent 1745e73b52
commit d7241e857e
2 files changed
+10 -14

No files matched your search

+4 -4
View File
@@ -48,14 +48,14 @@ La plateforme fournit une gestion robuste des flux de travail de livraison avec
- **Serveur stable** : Build réussi en 27ms, plus d'erreurs 502 attendues
**Corrections techniques :**
- **Variable server duplicate fixed** : Conflit de déclaration dans index.production.ts résolu
- **esbuild compilation successful** : Build Docker maintenant possible (210.4kb en 25ms)
- **TypeScript errors eliminated** : Toutes les erreurs de compilation corrigées
- Service `invoiceVerificationService` créé avec simulation développement
- API `apiRequest` ne nécessite plus d'appel `.json()` - données déjà parsées
- Table `orders` : `plannedDate`, `quantity`, `unit`
- Table `deliveries` : `quantity`, `unit`
- Table `publicities` : `pubNumber`, `designation`
- Table `suppliers` : `contact` au lieu de `email`
- Table `deliveries` : `quantity`, `unit`
- Types utilisateurs complets avec tous les champs requis
- Erreurs TypeScript 'unknown' corrigées avec types `any`
### 2025-08-13 - Uniformisation complète des interfaces utilisateur
✅ **Harmonisation du design des tableaux** terminée pour une expérience utilisateur cohérente :
+6 -10
View File
@@ -40,11 +40,11 @@ app.use((req, res, next) => {
// Import all routes for production
import { registerRoutes } from "./routes.js";
async function registerProductionRoutes(app: Express): Promise<Server> {
async function registerProductionRoutes(app: Express): Promise<void> {
console.log('🔧 Registering all production routes...');
// Register ALL API routes (same as development)
const server = await registerRoutes(app);
await registerRoutes(app);
console.log('✅ All routes registered successfully for production');
// Additional health check endpoint for production monitoring
@@ -75,8 +75,8 @@ async function registerProductionRoutes(app: Express): Promise<Server> {
// Find and reset admin
const existingAdmin = await storage.getUserByUsername('admin');
if (existingAdmin) {
const { hashPasswordSimple } = await import('./localAuth.production.js');
const newPassword = await hashPasswordSimple('admin');
const { hashPassword } = await import('./localAuth.production.js');
const newPassword = await hashPassword('admin');
await storage.updateUser(existingAdmin.id, {
password: newPassword,
@@ -97,14 +97,9 @@ async function registerProductionRoutes(app: Express): Promise<Server> {
return res.status(500).json({ error: 'Reset failed', details: (error as Error).message });
}
});
// Pas besoin de setupLocalAuth ici car registerRoutes le fait déjà
const server = createServer(app);
return server;
}
const server = await registerProductionRoutes(app);
await registerProductionRoutes(app);
app.use((err: any, _req: Request, res: Response, _next: NextFunction) => {
const status = err.status || err.statusCode || 500;
@@ -147,6 +142,7 @@ app.get('*', (req, res, next) => {
});
const port = process.env.PORT ? parseInt(process.env.PORT) : 3000;
const server = createServer(app);
server.listen(port, "0.0.0.0", () => {
console.log(`🐳 PRODUCTION: LogiFlow serving on port ${port}`);
});