generate-jsdocs.sh - JavaScript API Documentation Generation

            flowchart TD
                Start([Start]) --> ParseArgs["Parse command-line arguments"]
                                        ParseArgs --> HasArgs{FILES
provided?} HasArgs -->|no| ScanDir["Scan octoprint_uptime/static/js
for *.js files"] HasArgs -->|yes| ValidateFiles["Validate provided
file paths exist"] ScanDir --> CheckFiles{Files
found?} ValidateFiles --> ValidOK{All files
valid?} CheckFiles -->|no| Warning["Warn: No JavaScript files
Create empty docs/api/javascript.md"] CheckFiles -->|yes| FindJsdoc ValidOK -->|no| Abort["FAIL: Missing files"] ValidOK -->|yes| FindJsdoc["Find jsdoc2md tool
local or global"] FindJsdoc --> ToolFound{jsdoc2md
available?} ToolFound -->|no| InstallPrompt["Prompt to install
jsdoc2md"] ToolFound -->|yes| GenMarkdown InstallPrompt --> InstallOK{User
accepted?} InstallOK -->|yes| NPMInstall["npm install
jsdoc-to-markdown"] InstallOK -->|no| Exit1["Exit without
generation"] NPMInstall --> GenMarkdown["Generate Markdown
using jsdoc2md"] GenMarkdown --> NormalizeMD["Normalize output
- Fix whitespace
- Trim trailing spaces"] NormalizeMD --> SaveOutput["Save to
docs/api/javascript.md"] SaveOutput --> Success([Documentation generated]) Warning --> Success Exit1 --> End([End]) Abort --> Fail([Exit with error]) classDef action fill:#ecfeff,stroke:#06b6d4 classDef decision fill:#fef3c7,stroke:#f59e0b classDef success fill:#d1fae5,stroke:#10b981 classDef error fill:#fee2e2,stroke:#ef4444 class ParseArgs,ScanDir,ValidateFiles,FindJsdoc,NPMInstall,GenMarkdown,NormalizeMD,SaveOutput action class HasArgs,CheckFiles,ValidOK,ToolFound,InstallOK decision class Success success class Warning,Abort,Fail,Exit1 error

Back to build scripts