ReadonlyidUnique provider identifier
ReadonlynameDisplay name for the provider
ReadonlylogoURL to the HelloFresh logo
PrivatecurrentCurrent base URL for the active discovery session
Discovers recipe URLs from the provider with streaming progress
Scans category pages in batches and yields progress updates as recipes are found. Automatically retries pages that appear rate-limited.
Discovery options including abort signal and max recipes
Parses selected recipes to extract full recipe data
Fetches and parses each selected recipe, downloading images to cache and converting to the app's internal format. Yields progress updates for UI feedback during the parsing process.
Recipes selected by the user for import
Parsing options including abort signal and default persons
Fetches and parses a single recipe from its URL
URL of the recipe page to fetch
Default serving size if not specified in recipe
Patterns for ingredients to skip during parsing
Optionalsignal: AbortSignalOptional abort signal for cancellation
Promise resolving to the fetched and converted recipe
Returns the URL of the known placeholder image for this provider, if any
Used by ImageRepair to detect recipes stored with placeholder content by comparing MD5 hashes of local files against the placeholder.
The placeholder image URL, or null if this provider has no known placeholder
Fetches just the image URL for a recipe page on-demand
Used for visibility-based lazy loading of images. Fetches the recipe page HTML and extracts the image URL from JSON-LD schema data.
Recipe page URL to fetch image for
Abort signal for cancellation
Promise resolving to image URL or null if not found/failed
ProtectedfetchProtectedextractExtracts preview metadata from HTML for display before full parsing
Raw HTML content
Recipe page URL for host detection
Promise resolving to preview metadata with title and image URL
ProtecteddelayDelays execution for rate limiting
Milliseconds to delay
Promise that resolves after the delay
Returns true if this provider can handle the given URL
Recipe source URL to test
true if the URL starts with the HelloFresh base URL (any region)
Gets the base URL for the user's regional HelloFresh site
Always fetches the current language setting to ensure the correct regional site is used even if the user changed language settings.
Promise resolving to the regional HelloFresh URL
Discovers recipe category URLs from the HelloFresh recipes page
Fetches the main recipes page and extracts all category links, filtering out individual recipe pages.
The regional HelloFresh base URL
Optionalsignal: AbortSignalOptional abort signal for cancellation
Promise resolving to array of category page URLs
Extracts recipe links from HTML content
Parses HTML to find recipe URLs matching the HelloFresh pattern (URLs ending with 24-character hex IDs). Extracts titles from URL slugs for immediate display.
Raw HTML content to parse
Array of recipe links with URLs and extracted titles
PrivateextractExtracts category links from HTML content
Parses HTML to find category URLs matching the HelloFresh pattern, filtering out individual recipe pages (those ending with hex IDs).
Raw HTML content to parse
Base URL for resolving relative links
Array of unique category URLs
PrivateextractExtracts a human-readable title from a recipe URL slug
Converts URL slugs like "chicken-tikka-masala-abc123" to readable titles like "Chicken tikka masala".
Full recipe URL
Formatted title with first letter capitalized
HelloFresh recipe provider implementation
Extends BaseRecipeProvider with HelloFresh-specific URL patterns, category discovery, and ingredient filtering for French/English recipes.