ESLint JSON processor and rules
## Description In order to enforce local dependency resolution, PNPM offers the [workspace:(*|^|~)](https://pnpm.io/workspaces#workspace-protocol-workspace) protocol to resolve a local dependency version. However, It seems the plugin does not provide built-in support for this (especially for the [no-branch-dependencies](https://github.com/kellyselden/eslint-plugin-json-files/blob/main/docs/rules/no-branch-in-dependencies.md) and [restrict-ranges](https://github.com/kellyselden/eslint-plugin-json-files/blob/main/docs/rules/restrict-ranges.md) rules). But, the plugin is flexible enough to provide escape hatches through verbose configuration (a good example is available [here](https://github.com/kellyselden/eslint-plugin-json-files/issues/144)). To allow a wider adoption and ease the consumer experience, It would be really great to consider PNPM also a first-class citizen to remove avoidable extra configurations consumer side (the workspace version protocol is also used on other package managers like [yarn](https://yarnpkg.com/protocol/workspace)). What do you think? ## Implementation suggestion Here're some thoughts on how it can be implemented: - For the `restrict-ranges` implementation with workspace protocol support, we can strip the `workspace:xxx` part and check the `xxx` part based on the provided `versionTypes` or `versionRegex`. This implementation is inspired by what's done [Changesets](https://github.com/changesets/changesets/blob/f03f70bffc9a033747f45b0d071c6c2ed8818ac7/packages/apply-release-plan/src/version-package.ts#L65) side 👍 . - For the `no-branch-in-dependencies` rules, we can ignore version starting with `/^workspace:/`.
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be still under discussion. The issue was opened by adbayb and has received 1 comments.