peer dependency not recognized and major update applied
Author: syriuszbCreated Sep 2, 2026Updated Sep 17, 2026
- [yes] I have searched for similar issues
Not found.
- [yes] I am using the latest version of
npm-check-updates
$ ncu -v
23.1.0- [yes] I am using a compatible version of node
$ node -v
v26.8.1Steps to Reproduce
.ncurc:
$ cat ~/.ncurc.json
{
"peer": true,
"cooldown": 3
}npm:
$ npm -v
12.0.2Dependencies:
$ cat package.json
{
...
"dependencies": {
"@fullcalendar/core": "6.1.21",
"@fullcalendar/daygrid": "6.1.21",
"@fullcalendar/interaction": "6.1.21",
"@fullcalendar/react": "6.1.21",
"@fullcalendar/timegrid": "6.1.21",
"@mantine/core": "9.5.2",
"@mantine/dates": "9.5.2",
"@mantine/form": "9.5.2",
"@mantine/hooks": "9.5.2",
"@mantine/notifications": "9.5.2",
"@tabler/icons-react": "3.46.0",
"axios": "1.20.0",
"dayjs": "1.11.23",
"i18next": "26.4.0",
"i18next-browser-languagedetector": "8.2.1",
"i18next-http-backend": "4.0.1",
"jotai": "2.20.3",
"jwt-decode": "4.0.0",
"nuqs": "2.10.1",
"query-string": "9.5.0",
"react": "19.2.8",
"react-dom": "19.2.8",
"react-error-boundary": "6.1.3",
"react-i18next": "17.0.12",
"react-oidc-context": "3.3.1",
"wouter": "3.10.0"
},
"devDependencies": {
"@eslint/js": "9.39.2",
"@stylistic/eslint-plugin": "5.10.0",
"@vitejs/plugin-basic-ssl": "2.3.0",
"@vitejs/plugin-react": "6.1.1",
"cypress": "15.21.1",
"cypress-fail-fast": "8.1.0",
"cypress-plugin-steps": "1.2.1",
"cypress-split": "1.25.0",
"eslint": "9.39.5",
"eslint-plugin-cypress": "6.4.3",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "7.1.1",
"globals": "17.11.0",
"postcss": "8.5.26",
"postcss-preset-mantine": "1.18.0",
"postcss-simple-vars": "7.0.1",
"vite": "8.2.2",
"wick-a11y": "3.0.2"
}
}Steps:
$ ncu
Using config file /home/[...redacted...]/.ncurc.json
Checking /home/[...redacted...]/app/package.json
[====================] 44/44 100%
[====================] 44/44 100%
[====================] 3/3 100%
Major Potentially breaking API changes
@fullcalendar/react 6.1.21 → 7.0.2
[====================] 5/5 100%
Ignored incompatible updates (peer dependencies):
@fullcalendar/core 6.1.21 → 7.0.2 reason: @fullcalendar/daygrid requires ~6.1.21, @fullcalendar/interaction requires ~6.1.21, @fullcalendar/timegrid requires ~6.1.21
@eslint/js 9.39.2 → 10.0.1 reason: @eslint/js requires eslint ^10.0.0
eslint 9.39.5 → 10.9.1 reason: eslint-plugin-react requires ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
eslint-plugin-cypress 6.4.3 → 7.0.1 reason: eslint-plugin-cypress requires eslint >=10
Run ncu -u to upgrade package.json
$ ncu -u
Using config file /home/[...redacted...]/.ncurc.json
Upgrading /home/[...redacted...]/app/package.json
[====================] 44/44 100%
[====================] 44/44 100%
[====================] 3/3 100%
Major Potentially breaking API changes
@fullcalendar/react 6.1.21 → 7.0.2
[====================] 5/5 100%
Ignored incompatible updates (peer dependencies):
@fullcalendar/core 6.1.21 → 7.0.2 reason: @fullcalendar/daygrid requires ~6.1.21, @fullcalendar/interaction requires ~6.1.21, @fullcalendar/timegrid requires ~6.1.21
@eslint/js 9.39.2 → 10.0.1 reason: @eslint/js requires eslint ^10.0.0
eslint 9.39.5 → 10.9.1 reason: eslint-plugin-react requires ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
eslint-plugin-cypress 6.4.3 → 7.0.1 reason: eslint-plugin-cypress requires eslint >=10
Run npm install to install new versions.
$ git diff ./package.json
diff --git a/app/package.json b/app/package.json
index 123dc89..9a85232 100644
--- a/app/package.json
+++ b/app/package.json
@@ -13,7 +13,7 @@
"@fullcalendar/core": "6.1.21",
"@fullcalendar/daygrid": "6.1.21",
"@fullcalendar/interaction": "6.1.21",
- "@fullcalendar/react": "6.1.21",
+ "@fullcalendar/react": "7.0.2",
"@fullcalendar/timegrid": "6.1.21",
"@mantine/core": "9.5.2",
"@mantine/dates": "9.5.2",
Current Behavior
Peer dependency is properly recognized in case of ex. @fullcalendar/daygrid package, so this package is not updated, but peer dependency is NOT recognized in case of @fullcalendar/react package and as a result this package is updated, so the whole app is broken.
Both mentioned packages has exactly the same peer dependency included in their package.json file:
$ cat ./node_modules/@fullcalendar/daygrid/package.json | grep 'peerDependencies' -A 2
"peerDependencies": {
"@fullcalendar/core": "~6.1.21"
},
$ cat ./node_modules/@fullcalendar/react/package.json | grep 'peerDependencies' -A 4
"peerDependencies": {
"@fullcalendar/core": "~6.1.21",
"react": "^16.7.0 || ^17 || ^18 || ^19",
"react-dom": "^16.7.0 || ^17 || ^18 || ^19"
},Expected Behavior
@fullcalendar/react package should be properly recognized as incompatible change so update should be skipped.
Source: raineorshine/npm-check-updates