Interna dokumentacija za razvojne programere WvdS FPC RAD Suite
WvdS FPC RAD Studio je Extension-Suite za Visual Studio Code, koja je u potpunosti napisana u Pascalu i transpilirana u JavaScript pomoću pas2js.
sources/| Dokument | Sadržaj |
|---|---|
| Pregled arhitekture | Monorepo-struktura, slojevi, ovisnosti |
| Razvojno okruženje | Struktura projekta, putanje, SSOT-pravila |
| PXAML-Pipeline | Markup u IR u Renderer |
| Extension-arhitektura | Entry Points, Activation, Services |
| Build-Targets | GUI, TUI, Web - razlike i zajedničke značajke |
| Dokument | Sadržaj |
|---|---|
| Razvoj Extensiona | Kreiranje novog Extensiona, Best Practices |
| Razvoj Controla | 7-koračni workflow za UI-Controls |
| Konvencije koda | Naming, struktura, dokumentacija |
| Sigurnosne smjernice | OWASP, KRITIS, Audit |
| Internacionalizacija | Resourcestrings, prijevodi |
| Debugging | Debug-Logging, analiza grešaka |
| Dokument | Sadržaj |
|---|---|
| Build-Pipeline | pas2js-kompilacija, Toolchain CLI, artefakti |
| Pack-Struktura | Paketi trećih strana, manifesti, distribucija |
| Testing | Unit-Tests, Integration-Tests |
| Release-Proces | Verzioniranje, VSIX-kreiranje, Publishing |
| Dokument | Sadržaj |
|---|---|
| TUI-Pregled | Arhitektura, zahtjevi kvalitete, kada koristiti TUI |
| TUI Engine | CellBuffer, DiffEngine, Flicker-free Rendering |
| TUI Controls | Model+Renderer Pattern, States, Input, Focus |
| TUI Layout | Anchoring, Responsive, Breakpoints, Container |
| Dokument | Sadržaj |
|---|---|
| QA-Pregled | Workflow, Profil-Matrica, Audit-Procesi |
| Core-Checklista | Production-Ready, Error Handling, Logging |
| Sigurnosna checklista | KRITIS/NIS2, OWASP, Crypto |
| Checklista kvalitete koda | Naming, Functions, DRY, SSOT |
| Standardi komentiranja | PasDoc, Doc-Comments, Review |
| VSCode-Checklista | Extension-specifično, pas2js |
| Dokument | Sadržaj |
|---|---|
| Core API | Shared Services, pristup Toolchainu |
| Meta API | Komponenten-Registry, IntelliSense-Provider |
| VSCode Wrapper | WvdS.VSCode.* Units |
| Dokument | Sadržaj |
|---|---|
| Control-Katalog | Svih 108 Controls s DevExpress-Mappingom |
| Control-Arhitektura | Properties/ViewInfo/Control Pattern |
| Kreiranje VSIX-a | Ručno kreiranje Control Extensiona |
| Generiranje Controla | Batch-generiranje s PowerShellom |
| Dokument | Sadržaj |
|---|---|
| Basic Controls | Label, Button, CheckBox, itd. (12) |
| Editor Controls | TextEdit, SpinEdit, DateEdit, itd. (18) |
| Navigation | TabControl, Wizard, NavBar, itd. (7) |
| Data Controls | DataGrid, TreeList, PivotGrid, itd. (10) |
| Charts | LineSeries, PieSeries, Sparkline, itd. (16) |
| Gauges | CircularGauge, LED, Thermometer, itd. (10) |
| Layout | LayoutControl, DockingManager, itd. (10) |
| Bars/Ribbon | RibbonControl, StatusBar, itd. (10) |
| Specialized | Scheduler, Spreadsheet, Map, itd. (15) |
# Kloniranje repozitorija git clone https://github.com/ArmandoFilho/WvdS.FPC.git cd WvdS.FPC # Otvaranje VS Code code .
Potrebno:
Opcionalno:
cd sources/extensions/wvds.vscode.core pas2js -Jc -Jirtl.js -Tbrowser -Fu../../common -FE./dist extension_main.pas
F5 u VS Code za pokretanje Extension Development HostaWVDS: Hello za testiranjeWvdS.FPC/
├── sources/ # SSOT - Verzionirano
│ ├── common/ # Shared Units
│ │ ├── core/ # Bazne Units
│ │ ├── ui/ # UI Framework
│ │ └── web/ # Host Bridges (Node, VSCode)
│ ├── extensions/ # VSIX Extensions
│ │ ├── wvds.vscode.core/
│ │ ├── wvds.vscode.build/
│ │ ├── wvds.vscode.projects/
│ │ ├── wvds.vscode.packaging/
│ │ ├── wvds.vscode.ui.designer/
│ │ ├── wvds.vscode.ui.meta/
│ │ └── wvds.vscode.ui.preview/
│ ├── applications/ # Standalone-aplikacije
│ ├── tools/ # CLI-Tools (wvds-build, itd.)
│ └── packages/ # IDE-Packages
│
├── binaries/ # Build-Output (nije verzionirano)
│ ├── out/ # Kompilirani artefakti
│ ├── cache/ # Compiler-Cache
│ ├── dist/ # Release-paketi
│ └── logs/ # Build-Logs
│
└── .claude/ # Claude-Konfiguracija
└── CLAUDE.md # Repo-pravila
Ova pravila su nepregovarajuća i provjerava ih wvds-lint:
DOZVOLJENO: sources/common/WvdS.System.pas ZABRANJENO: sources/extensions/wvds.vscode.core/WvdS.System.pas (Duplikat!)
DOZVOLJENO: *.pas -> pas2js -> *.js ZABRANJENO: *.ts, ručno pisani *.js
DOZVOLJENO: sources/common/web/vscode/VSCode.API.pas ZABRANJENO: sources/extensions/wvds.vscode.build/VSCode.API.pas
dist/extension_main.js mora sadržavati sve potrebne Units