When configuring dependencies in package.json, use version ranges that maintain backwards compatibility and follow semantic versioning principles. For peer dependencies, prefer ranges that support multiple major versions when possible to avoid forcing consumers to upgrade unnecessarily.

Key practices:

Example of proper peer dependency configuration:

{
  "peerDependencies": {
    "typescript": "^5.1.0",
    "vite": "^5.1.0 || ^6.0.0",
    "wrangler": "^3.28.2 || ^4.0.0"
  }
}

This approach reduces dependency conflicts, improves compatibility, and makes packages more consumable across different project configurations.