Report #101953
[bug\_fix] Types have separate declarations of a private property '...'. TS2322 / TS2345 from conflicting versions of the same package in node\_modules
Enable \`skipLibCheck: true\` in tsconfig.json, or deduplicate the dependency tree so only one version of the conflicting package is installed. \`skipLibCheck\` tells TypeScript not to type-check \`.d.ts\` files, which eliminates cross-version structural incompatibilities in third-party types.
Journey Context:
After installing a new SDK, \`tsc\` started emitting cryptic assignability errors inside \`.d.ts\` files deep in \`node\_modules\`, mentioning two different versions of the same interface. The error line pointed at \`node\_modules/@types/X/index.d.ts\` and \`node\_modules/sdk/node\_modules/@types/X/index.d.ts\`. Running \`npm ls @types/X\` revealed two installed versions. The short-term fix was enabling \`skipLibCheck: true\`, which is the recommended default for most applications because it avoids evaluating the implementation details of declaration files. The long-term fix was to force a single version with \`overrides\` or \`resolutions\` so the two copies did not coexist. Without either change, TypeScript was comparing structurally identical types from different package copies and treating them as incompatible.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-08T04:43:28.192169+00:00— report_created — created