From c66dcc06921bd5080c013633931bb30c5e5f3ded Mon Sep 17 00:00:00 2001 From: s100 Date: Thu, 11 Apr 2024 15:31:45 +0100 Subject: [PATCH 1/2] Document that overrides only work in the root `package.json` --- docs/lib/content/configuring-npm/package-json.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/lib/content/configuring-npm/package-json.md b/docs/lib/content/configuring-npm/package-json.md index 51c516d5f37e8..9727e7e77f909 100644 --- a/docs/lib/content/configuring-npm/package-json.md +++ b/docs/lib/content/configuring-npm/package-json.md @@ -928,6 +928,13 @@ Overrides provide a way to replace a package in your dependency tree with another version, or another package entirely. These changes can be scoped as specific or as vague as desired. +Overrides are only considered in the root `package.json` file for a project. +Overrides in installed dependencies (including +[workspaces](/using-npm/workspaces)) are not considered in dependency tree +resolution. Published packages may dictate their resolutions by pinning +dependencies or using an +[`npm-shrinkwrap.json`](/configuring-npm/npm-shrinkwrap-json) file. + To make sure the package `foo` is always installed as version `1.0.0` no matter what version your dependencies rely on: From c35816ebce6ac7b94b86a259211e13c48ba36543 Mon Sep 17 00:00:00 2001 From: s100 Date: Thu, 11 Apr 2024 15:31:45 +0100 Subject: [PATCH 2/2] docs: Document that overrides only work in the root `package.json` --- docs/lib/content/configuring-npm/package-json.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/lib/content/configuring-npm/package-json.md b/docs/lib/content/configuring-npm/package-json.md index 51c516d5f37e8..9727e7e77f909 100644 --- a/docs/lib/content/configuring-npm/package-json.md +++ b/docs/lib/content/configuring-npm/package-json.md @@ -928,6 +928,13 @@ Overrides provide a way to replace a package in your dependency tree with another version, or another package entirely. These changes can be scoped as specific or as vague as desired. +Overrides are only considered in the root `package.json` file for a project. +Overrides in installed dependencies (including +[workspaces](/using-npm/workspaces)) are not considered in dependency tree +resolution. Published packages may dictate their resolutions by pinning +dependencies or using an +[`npm-shrinkwrap.json`](/configuring-npm/npm-shrinkwrap-json) file. + To make sure the package `foo` is always installed as version `1.0.0` no matter what version your dependencies rely on: