Skip to content

Remove the dormant non-JS hooks runtime (--language / HooksWorkerClient) #96

Description

@dalberola

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions