Files
kbcrm/.vibe/skills/client-build/SKILL.md
T
gg 4b172081b9 client-build Skill und AGENTS.md: generierte Dateien nicht beachten
Neuer Skill .vibe/skills/client-build: automatisiert tsc + rollup Build
nach TypeScript-Änderungen unter Client/.

AGENTS.md ergänzt: Client/tsout/ und NGINX_Server/html/static/*.js als
generierte Dateien markiert, nicht bei Codeanalyse berücksichtigen.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-03 16:53:46 +02:00

2.1 KiB

name, description
name description
client-build Load this skill after modifying TypeScript files under Client/ to compile and bundle the frontend. Runs tsc and rollup to produce the deployable JS bundle in NGINX_Server/html/static/.

Client Build

Führt den TypeScript- und Rollup-Build für die Client-Seite aus. Wird benötigt, nachdem .ts-Dateien unter Client/ geändert wurden, damit die kompilierten Bundles in NGINX_Server/html/static/ aktualisiert werden.

Build-Schritte

  1. TypeScript kompilieren — kompiliert alle .ts-Dateien nach Client/tsout/:

    cd /usr/opt/pythonapp/Client && npx tsc
    

    Bei Fehlern: Ausgabe lesen, Fehler beheben, erneut ausführen.

  2. Rollup bundle — bündelt tsout/index.js zu den statischen JS-Dateien:

    cd /usr/opt/pythonapp/Client && npx rollup -c
    

    rollup -c liest die Konfiguration aus rollup.config.mjs. Es fasst alle kompilierten .js-Dateien plus Mithril zu einem selbstausführenden Bundle (Format: iife) zusammen und schreibt zwei Dateien nach NGINX_Server/html/static/:

    • kbp_crm_00.00.01.js — unminifiziert (für Debug)
    • kbp_crm_00.00.01.min.js — minifiziert via terser (für Produktion)

    Die Dateinamen setzen sich aus projectname und version aus config.ini zusammen (wird in rollup.config.mjs via inireader.mjs gelesen).

Beide Schritte in einem Aufruf

cd /usr/opt/pythonapp/Client && npx tsc && npx rollup -c

Wann ausführen

  • Nach jeder Änderung an .ts-Dateien unter Client/ (Modelle, Komponenten, Widgets, index.ts)
  • Vor einem Commit, der Client-Änderungen enthält, damit die deploybaren Bundles aktuell sind
  • Nicht nötig bei reinen Server-Änderungen (App_Server/)

Fehlerbehandlung

  • tsc-Fehler: TypeScript-Compiler-Fehler müssen vor dem Rollup-Schritt behoben werden — Rollup kann nicht ohne erfolgreiche Kompilierung bündeln.
  • rollup-Fehler: Meist fehlende Imports oder Pfadprobleme. Die rollup.config.mjs erwartet tsout/index.js als Input — sicherstellen, dass tsc erfolgreich war.