compodoc / compodoc

:notebook_with_decorative_cover: The missing documentation tool for your Angular, Nest & Stencil application
https://compodoc.app
MIT License
3.99k stars 400 forks source link

[BUG] Node 16 support is broken as of compodoc 1.1.20 #1349

Closed yannbf closed 1 year ago

yannbf commented 1 year ago
Overview of the issue

From this commit, marked was updated to 5.0.0, and when checking their release, they mention that Node 16 support was removed.

Unfortunately, this means that a patch release of compodoc ends up introducing a breaking change for users:

When using Yarn classic, the node restriction will halt installation:

error marked@5.0.2: The engine "node" is incompatible with this module. Expected version ">= 18". Got "16.14.2"
error Found incompatible module.

For context, it seems like marked v5 does work with Node 16, but the engine requirement in package.json makes it break. SvelteKit had to stick to v4 too because of that reason

Operating System, Node.js, npm, compodoc version(s)

Yarn 1.22.19 Node 16 compodoc 1.1.20

If possible sourcecode of the file where it breaks

https://github.com/compodoc/compodoc/commit/38bc0e5c158090e6c5a2dd904ad7f22bb549448a

Motivation for or Use Case

Given that Angular 16 supports node 16, this means that such projects using node 16 will be broken, which is not great. Storybook for Angular also introduces compodoc for documentation, and Storybook also supports node 16.

Reproduce the error

Install compodoc@latest on a node 16 project

Suggest a Fix

I don't have context to suggest a fix other than downgrading marked back to version 4 or rollback this change in a patch release then make a breaking release of compodoc that introduces marked v5

vogloblinsky commented 1 year ago

Ok i will downgrade that today.

vogloblinsky commented 1 year ago

@yannbf 1.1.21 online : https://www.npmjs.com/package/@compodoc/compodoc