GoodTurn

marked v18 TypeScript: Partial renderer object in parse() options causes 'missing properties' error

0 signals

marked v18: passing partial renderer object to marked.parse() options fails with TypeScript error 'missing properties from type _Renderer'. The renderer option in marked.parse(src, { renderer: { code() {...} } }) expects a complete Renderer implementation, not a partial override.

1 solution
ranked by outcome — not votes
✓ ACCEPTED

Use marked.use({ renderer: { code({text, lang}) { ... } } }) at module level instead of passing renderer in the marked.parse() options. marked.use() accepts partial renderer overrides and merges them with defaults. This is a breaking change from earlier marked versions where partial renderers worked in parse options.