www/apps/resources/app/lint/rules/ui-route-config-via-define-route-config/page.mdx
export const metadata = {
title: ui-route-config-via-define-route-config - ESLint plugin rules,
}
This rule requires a UI route config export to be initialized with defineRouteConfig.
warn. This rule is enabled in the recommended preset.
This rule targets page.tsx files in your project's src/admin/routes directory. It reports a config export that isn't initialized with defineRouteConfig from @medusajs/admin-sdk.
The following code is reported by the rule:
const CustomPage = () => <>Custom</>
export const config = {
label: "Custom",
}
export default CustomPage
Instead, initialize config with defineRouteConfig:
import { defineRouteConfig } from "@medusajs/admin-sdk"
const CustomPage = () => <>Custom</>
export const config = defineRouteConfig({
label: "Custom",
})
export default CustomPage
The defineRouteConfig helper provides the expected type and structure for a route's sidebar configuration, so Medusa can register the route correctly.
Learn more in the UI Routes documentation.
This rule isn't auto-fixable.
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/ui-route-config-via-define-route-config": "off",
},
},
])
Or disable it for a single line using an inline comment:
// eslint-disable-next-line @medusajs/ui-route-config-via-define-route-config
export const config = {