no-config-on-dynamic-ui-route - ESLint plugin rules
This rule disallows defineRouteConfig in dynamic UI routes, such as [id]/page.tsx, since they aren't added to the sidebar.
Severity#
warn. This rule is enabled in the recommended preset.
What it Targets#
This rule targets dynamic page.tsx files in your project's src/admin/routes directory, such as [id]/page.tsx. It reports a defineRouteConfig call in a dynamic route.
The following code is reported by the rule:
import { defineRouteConfig } from "@medusajs/admin-sdk"
const ProductPage = () => null
export const config = defineRouteConfig({
label: "Product",
})
export default ProductPage
Instead, remove the defineRouteConfig call:
Why it's Important#
Dynamic UI routes aren't added to the sidebar, so has no effect and Medusa warns at runtime.
Learn more in the UI Routes documentation.
Fixable#
This rule isn't auto-fixable.
Turn it Off#
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/no-config-on-dynamic-ui-route": "off",
},
},
])
Or disable it for a single line using an inline comment:
// eslint-disable-next-line @medusajs/no-config-on-dynamic-ui-route
export const config = defineRouteConfig({ label: "Product" })
Was this page helpful?