From d860d8649765f3fa2533fc15443fc32690dae098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=BA=8E=E6=99=8F?= <3146347095@qq.com> Date: Sun, 28 Jun 2026 22:14:17 +0800 Subject: [PATCH] fix: allow empty peer dependency metadata --- test/package-json.ts | 18 ++++++++++++++++++ types/index.d.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 test/package-json.ts diff --git a/test/package-json.ts b/test/package-json.ts new file mode 100644 index 0000000..95e882d --- /dev/null +++ b/test/package-json.ts @@ -0,0 +1,18 @@ +import t from 'tap' +import type { PackageJSON } from '../types/index.d.ts' + +t.test('PackageJSON peerDependenciesMeta allows an empty metadata object', (t) => { + const pkg: PackageJSON = { + name: 'peer-meta-empty', + version: '1.0.0', + peerDependencies: { + react: '^18.0.0', + }, + peerDependenciesMeta: { + react: {}, + }, + } + + t.same(pkg.peerDependenciesMeta, { react: {} }) + t.end() +}) diff --git a/types/index.d.ts b/types/index.d.ts index ac4432d..280e566 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -30,7 +30,7 @@ interface Overrides { // https://docs.npmjs.com/cli/v10/configuring-npm/package-json#peerdependenciesmeta interface PeerDependencyMeta { - optional: boolean + optional?: boolean } // https://docs.npmjs.com/cli/v10/configuring-npm/package-json#license