The issue involves decoupling test-only functionality from doc-kit dependencies.
The issue highlights that `make test-only` should not depend on doc-kit, as it is meant for functional testing of the Node.js binary, not for documentation building. The task involves removing unnecessary dependencies and possibly moving a script back into core. The scope is somewhat clear but involves changes to the build system and dependencies.
I noticed this from https://github.com/nodejs/doc-kit/pull/691 which was introduced by https://github.com/nodejs/node/pull/57343 and this does not look right
make test-only is for functional tests. It's not for contributing or CI testing, but for embedders or distributors to verify the Node.js binary they build is functioning correctly. It should not run any code building the docs into a website or the having to support monolithic dependency as that's irrelevant for the goal.make test-only should not require internet installs. Again it's only for people verifying the binary, you could just be scp-ing a tarball into a build server that does not necessarily have the permission to download from npm registry - and it'd be a pain having to work around it just so that you can test the Node.js binary works correctly, and do not care about the doc building at all.make test-only is functional tests, it's what should be run on experimental platforms to verify the binary works correctly on a platform that's not yet well supported. doc-kit depends on e.g. prebuilt addons/wasm that would make it unnecessarily difficult for no good reason, as can be seen from https://github.com/nodejs/doc-kit/pull/691From a glance I think we should move https://github.com/nodejs/doc-kit/blob/main/src/generators/addon-verify/index.mjs back into core and replace it with a simple script with regexes that extract the artifacts. Unless there are other non-doc tests that depend on doc-kit - as far as I can tell the addon doc building is the only dependency, but it's an overkill having to e.g. run the minifier/highlighter (??!!) to extract the addons for testing. We can simply leave explicit markers in the markdown to deterministically know how the artifacts should be extracted, having to parse markdown and guess where they are based on headings is already hacky and brittle for this.
Claim this issue to let others know you're working on it. You'll earn 20 points when you complete it!