Documentation: services / sitemapService

Purpose: Build comprehensive sitemap combining static pages, posts, and tags.
Lifecycle Role: Handles `/sitemap.xml` or sitemap API requests.
Dependencies:
Upstream:
  • getAllPosts utility
  • gray-matter markdown parser
  • fast-glob file locator
  • internal aggregation methods
Downstream:
  • sitemap route handlers
  • SEO utilities or build scripts
Data Flow:
Inputs: Content directories and static sitemap JSON.
Outputs: Structured sitemap tree and flattened arrays.
Side Effects: Filesystem reads; console warnings on errors.
Performance and Scalability:
Bottlenecks:
  • Multiple async file reads and JSON parsing.
  • No caching causes repeated heavy IO.
Concurrency: High IO load under concurrent requests.
Security and Stability:
Validation: No Validation of frontmatter; risk of sensitive metadata exposure.
Vulnerabilities: File read scope risks.
Architecture Assessment:
Coupling: Heavy dependency on multiple IO and parsing utilities.
Abstraction: No persistent caching or pre-generation.
Recommendations:
  • Add persistent caching refreshed on content changes.
  • Validate and sanitize frontmatter.
  • Restrict file reads to safe directories.
  • Pre-generate sitemap at build/deploy time.