From 75fab8a549d389d6a8f7fb82355d6d921d4548d8 Mon Sep 17 00:00:00 2001 From: Alex Prudhomme <78121423+alexprudhomme@users.noreply.github.com> Date: Thu, 27 Aug 2026 09:31:29 -0400 Subject: [PATCH] fix(headless): stop warning about peer dependencies consumers do not need Marks pino-pretty optional and removes encoding from peerDependencies. pino-pretty is only needed by consumers who opt into pretty-printed logs. pino itself is a real dependency, but source only uses `import type {Logger}` and nothing configures a pino-pretty transport, so the formatter is never required at runtime. encoding was the optional charset peer of node-fetch. node-fetch is now a development-only dependency, referenced solely from tests through vi.importActual, so a consumer of Headless never needs it. Declaring it as a required peer produced a warning for every consumer. Neither change affects runtime behaviour. The pino-pretty range is left alone; determining the real supported range is KIT-6103. --- .changeset/headless-optional-peers.md | 11 +++++++++++ packages/headless/package.json | 4 +++- pnpm-lock.yaml | 4 +--- 3 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 .changeset/headless-optional-peers.md diff --git a/.changeset/headless-optional-peers.md b/.changeset/headless-optional-peers.md new file mode 100644 index 00000000000..ec289e8a982 --- /dev/null +++ b/.changeset/headless-optional-peers.md @@ -0,0 +1,11 @@ +--- +'@coveo/headless': patch +--- + +Stop warning consumers about peer dependencies they do not need. + +`pino-pretty` is now marked optional. It is only needed by consumers who opt into pretty-printed logs; nothing in Headless configures a `pino-pretty` transport. + +`encoding` is removed from `peerDependencies`. It was the optional charset peer of `node-fetch`, which is now a development-only dependency used in tests. Consumers of Headless never need it. + +Neither change affects what Headless does at runtime. diff --git a/packages/headless/package.json b/packages/headless/package.json index 04234e3d554..35e5f34715d 100644 --- a/packages/headless/package.json +++ b/packages/headless/package.json @@ -126,11 +126,13 @@ "vitest": "catalog:" }, "peerDependencies": { - "encoding": "^0.1.13", "pino-pretty": "^6.0.0 || ^10.0.0 || ^11.0.0 || ^13.0.0", "typescript": "catalog:peer-compatibility" }, "peerDependenciesMeta": { + "pino-pretty": { + "optional": true + }, "typescript": { "optional": true } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0568980b4ef..65067043fb8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1154,9 +1154,6 @@ importers: dayjs: specifier: 'catalog:' version: 1.11.23 - encoding: - specifier: ^0.1.13 - version: 0.1.13 exponential-backoff: specifier: 'catalog:' version: 3.1.3 @@ -25946,6 +25943,7 @@ snapshots: encoding@0.1.13: dependencies: iconv-lite: 0.6.3 + optional: true end-of-stream@1.4.5: dependencies: