showdown icon indicating copy to clipboard operation
showdown copied to clipboard

Typescript and Node.js

Open Masadow opened this issue 1 year ago • 1 comments

Hi,

I'm unable to use this package with typescript in node.js

I use showdown on the backend to build emails in Markdown. I don't need to convert html to markdown so I don't use makeMarkdown that takes an HTMLDocument which is missing in Node.js and therefore makes builds to fail

Cannot find name 'HTMLDocument'.

951         makeMarkdown(src: string, HTMLParser?: HTMLDocument): string;
                                                   ~~~~~~~~~~~~
Found 1 error in node_modules/@types/showdown/index.d.ts:951

I cannot override typings to fix this myself as showdown package does not allow for typing override :

Could not find a declaration file for module 'showdown'. '[project_path]/node_modules/showdown/dist/showdown.js' implicitly has an 'any' type.
  There are types at '[project_path]/types/showdown/index.d.ts', but this result could not be resolved when respecting package.json "exports". The 'showdown' library may need to update its package.json or typings.

Any help ?

Masadow avatar Sep 09 '24 15:09 Masadow

Use JSDOM showdown.makeMarkdown(bodyHTMLIn, new JSDOM().window.document);

raymondtri avatar Jan 10 '25 17:01 raymondtri