The multi-language hooks support (Go/Perl/PHP/Python/Ruby/Rust via an external TCP "hooks handler" process) was abandoned in docs only in #91 — the runtime code is still shipped but undocumented. This issue physically removes that dead code.
Breaking (removes CLI options + the worker runtime) → ships in v0.4.0.
Scope
- Delete
packages/dredd/lib/HooksWorkerClient.ts + test/unit/HooksWorkerClient-test.js.
addHooks.ts: drop the HooksWorkerClient import and the non-nodejs dispatch branch; always load JS hooks in-process.
options.json: remove language and all eight hooks-worker-* options.
applyConfiguration.ts: remove the language + hooks-worker-* defaults.
TransactionRunner.ts: remove hookHandlerError (its only writer was HooksWorkerClient, so it is provably always null — every guard is dead code).
init.ts: drop the language hooks prompt + the non-JS handler install messages in printClosingMessage (keep detectLanguage/detectServer, which inform the server-command suggestion).
- Docs: remove remaining references to non-JS hooks handlers / the TCP worker. CLI option docs auto-regenerate from
options.json.
Out of scope
- JS hooks (the supported, in-process path) — unchanged.
--require, --server/--server-wait — unrelated, kept.
Part of the Post-modernization cleanup milestone.
The multi-language hooks support (Go/Perl/PHP/Python/Ruby/Rust via an external TCP "hooks handler" process) was abandoned in docs only in #91 — the runtime code is still shipped but undocumented. This issue physically removes that dead code.
Breaking (removes CLI options + the worker runtime) → ships in v0.4.0.
Scope
packages/dredd/lib/HooksWorkerClient.ts+test/unit/HooksWorkerClient-test.js.addHooks.ts: drop theHooksWorkerClientimport and the non-nodejs dispatch branch; always load JS hooks in-process.options.json: removelanguageand all eighthooks-worker-*options.applyConfiguration.ts: remove thelanguage+hooks-worker-*defaults.TransactionRunner.ts: removehookHandlerError(its only writer was HooksWorkerClient, so it is provably always null — every guard is dead code).init.ts: drop thelanguagehooks prompt + the non-JS handler install messages inprintClosingMessage(keepdetectLanguage/detectServer, which inform the server-command suggestion).options.json.Out of scope
--require,--server/--server-wait— unrelated, kept.Part of the Post-modernization cleanup milestone.