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>
This commit is contained in:
1 parent
455157942a
commit
4b172081b9
2 files changed
+57
No files matched your search
@@ -0,0 +1,54 @@
|
|||||||
|
---
|
||||||
|
name: client-build
|
||||||
|
description: 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/`:
|
||||||
|
```bash
|
||||||
|
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:
|
||||||
|
```bash
|
||||||
|
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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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.
|
||||||
@@ -48,3 +48,6 @@ export const Select: m.ClosureComponent<iSelect> = () => {
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Vorgaben für die Server-seitige Entwicklung unter Python
|
## Vorgaben für die Server-seitige Entwicklung unter Python
|
||||||
|
|
||||||
|
## Generierte Dateien nicht beachten
|
||||||
|
Das Verzeichnis `Client/tsout/` enthält die JavaScript-Ausgabe der TypeScript-Kompilation und wird durch den Build-Prozess (tsc + rollup) erzeugt. Diese Dateien sind nicht manuell zu bearbeiten und brauchen bei der Codeanalyse nicht berücksichtigt zu werden. Ebenso sind die JavaScript-Dateien in `NGINX_Server/html/static/` (z.B. `kbp_crm_00.00.01.js`) die Ausgabe des Rollup-Builds und nicht zu untersuchen.
|
||||||
Reference in new issue
Block a user