www/apps/resources/app/lint/rules/prefer-link-over-remote-link/page.mdx
export const metadata = {
title: prefer-link-over-remote-link - ESLint plugin rules,
}
This rule requires you to use Link instead of RemoteLink, which is deprecated since Medusa v2.2.0.
warn. This rule is enabled in the recommended preset.
This rule targets files anywhere in your project. It reports usages of the deprecated remote link, including:
"remoteLink" registration key.ContainerRegistrationKeys.REMOTE_LINK.RemoteLink or IRemoteLink types.The following code is reported by the rule:
import { RemoteLink } from "@medusajs/framework/types"
const link = container.resolve("remoteLink")
Instead, use the "link" registration key and the Link type:
import { Link } from "@medusajs/framework/types"
const link = container.resolve("link")
You can also resolve the link using ContainerRegistrationKeys.LINK:
import {
ContainerRegistrationKeys,
} from "@medusajs/framework/utils"
const link = container.resolve(
ContainerRegistrationKeys.LINK
)
RemoteLink is deprecated since Medusa v2.2.0 and may be removed in a future version. Using Link keeps your code aligned with the supported API.
Learn more in the Module Links documentation.
This rule is auto-fixable. Run the linter with the --fix option to apply the fix automatically.
To turn off this rule, set it to off in your ESLint configuration:
import { defineConfig } from "eslint/config"
import medusa from "@medusajs/eslint-plugin"
export default defineConfig([
...medusa.configs.recommended,
{
rules: {
"@medusajs/prefer-link-over-remote-link": "off",
},
},
])
Or disable it for a single line using an inline comment:
// eslint-disable-next-line @medusajs/prefer-link-over-remote-link
const link = container.resolve("remoteLink")