Skip to content
This repository was archived by the owner on Mar 7, 2026. It is now read-only.
This repository was archived by the owner on Mar 7, 2026. It is now read-only.

Fork is broken: got v9 API used with got v14, 133 commits behind upstream #93

@CybotTM

Description

@CybotTM

Current state

This fork is 59 commits ahead and 133 commits behind upstream nodevault/node-vault. The two codebases have significantly diverged.

Why this fork exists

  1. Replace request with got (c3bb5ba, Paul Siedler, Sep 2021) — the request library was deprecated, so it was swapped for got
  2. Fix clear-text logging (da3a7d0, Sebastian Mendel, Dec 2025) — redacted sensitive request body data from debug output

The problem

The fork was written against the got v9 API in 2021, but automated dependency bumps (snyk/dependabot) have upgraded got to v14 without updating the API calls. Got v11+ is ESM-only and v11+ changed its API significantly. This means:

The fork is broken out of the box with its own declared dependencies.

Consumers (e.g. vault-read) need a postinstall hack to patch 5 incompatibilities at install time:

Got v9 (what the code uses) Got v14 (what's installed) Required patch
const got = require('got') ESM-only, require() returns { default: ... } CJS/ESM interop wrapper
resolveWithFullResponse: true Option removed (v14 always returns full response) Delete the option
simple: false Option renamed Change to throwHttpErrors: false
options.uri = url uri not a valid option Delete (URL passed as 1st positional arg)
response.request.path Property moved Change to response.request.options.url.pathname

Upstream comparison

Upstream (nodevault/node-vault v0.10.9) This fork
HTTP client postman-request (maintained fork of request) got v14 (with v9 API calls — broken)
CJS/ESM Pure CJS, works everywhere ESM-only got causes interop issues
Latest release v0.10.9 (Oct 2025) No releases
Node.js ≥18 Not specified

Options to resolve

  1. Drop the fork, use upstream — Switch consumers to nodevault/node-vault@0.10.9. It uses postman-request (CJS, maintained). Contribute the clear-text logging fix upstream as a PR. This eliminates all ESM/API compatibility issues.

  2. Fix the fork — Update all got v9 API calls in src/index.js to got v14, sync with 133 upstream commits, and publish a proper release. Significant effort for a thin wrapper library.

  3. Replace node-vault entirely — Vault has a straightforward REST API. A few direct fetch() calls could replace the entire dependency.

Recommendation

Option 1 (drop the fork) is the most pragmatic path. The got migration was done to avoid request deprecation, but upstream solved this with postman-request. The only unique value in this fork is the clear-text logging fix, which should be contributed upstream.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions