A platform-neutral, shared rendering library for transforming product catalog data into multiple output formats for e-commerce experiences on Adobe's Edge Delivery.
Helix Product Pipeline is the shared rendering engine that powers both helix-product-pipeline-worker and helix-product-pipeline-service (forthcoming). It fetches product data from the Product Bus and renders it into various formats optimized for search engines and user experiences.
- Platform Neutral: Not using node or browser specific modules or dependencies.
- Minimal Dependencies: Near-zero runtime dependencies (uses conditional imports for platform-specific modules like crypto)
- Extension Interfaces: Provides abstractions for platform-specific operations (S3/R2 storage)
- HTML Pipeline: Renders complete product pages with SEO-optimized HTML and JSON-LD structured data
- JSON Pipeline: Returns raw product data in JSON format
- Media Pipeline: Serves and proxies product images and media assets
- Index Pipeline: Converts product indexes to spreadsheet format
- Sitemap Pipeline: Generates XML sitemaps for products
- Merchant Feed Pipeline: Creates Google Shopping merchant feeds
- Fetches product data from Product Bus storage
- Optionally merges with authored content from Edge Delivery Services
- Extracts metadata from authored content head and merges into product head
- Generates responsive picture elements with multiple breakpoints (600px, 750px/2000px)
- Creates schema.org JSON-LD structured data for rich search results
- Adds heading IDs for navigation and anchor links
- Implements CDN-aware caching with surrogate keys for targeted invalidation
- Handles product variants with proper data attributes for client-side JavaScript
The HTML pipeline executes these processing steps in sequence:
- init-config - Initialize pipeline configuration (hosts, CDN settings)
- fetch-productbus - Load product data from Product Bus storage
- fetch-404 - Handle 404 cases with fallback content
- make-html - Create initial HTML structure
- render-head - Generate HTML head with meta tags
- fetch-edge-product - Optionally fetch authored content from Edge Delivery
- extract-authored-metadata - Extract metadata from authored content and merge into product head
- render-body - Render product content, images, and variants
- render-jsonld - Generate schema.org JSON-LD structured data
- add-heading-ids - Add IDs to headings for anchor navigation
- create-pictures - Generate responsive picture elements
- stringify-response - Serialize to HTML string
- set-cache-headers - Set CDN and browser cache headers with surrogate keys
Automatically detects and optimizes for major CDN providers:
- Cloudflare
- Fastly
- Akamai
- CloudFront
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
Before submitting a pull request:
- Run
npm testto ensure all tests pass - Run
npm run lintto check code style - Maintain test coverage above 85%
- Follow conventional commit message format
This project is licensed under the Apache License 2.0. See LICENSE.txt for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
See CHANGELOG.md for version history and release notes.