{ "plugins": [ "react", "import" ], "rules": { "react/forbid-elements": [ "warn", { "forbid": [] } ], "no-restricted-imports": [ "warn", { "patterns": [ { "group": [ "components/core/**", "components/forms/**", "components/surfaces/**", "ui_kits/console/**", "ui_kits/console_mobile/**" ], "message": "Import design-system components from 'index.js', not component internals." } ] } ], "no-restricted-syntax": [ "warn", { "selector": "Literal[value=/#[0-9a-fA-F]{3,8}\\b/]", "message": "Raw hex color — use a design-system color token via var()." }, { "selector": "Literal[value=/\\b\\d+px\\b/]", "message": "Raw px value — use a design-system spacing token via var()." }, { "selector": "Literal[value=/font-family\\s*:\\s*(?!['\\\"]?(?:IBM Plex Mono|Noto Sans SC))/i]", "message": "Font not provided by the design system. Available: IBM Plex Mono, Noto Sans SC." }, { "selector": "JSXOpeningElement[name.name='Button'] > JSXAttribute > JSXIdentifier[name!=/^(?:variant|size|disabled|type|onClick|style|children|key|ref|className|style|children)$/]", "message": "