{"version":3,"file":"prefer_programmatic_components.mjs","sources":["../../src/rules/prefer_programmatic_components.ts"],"sourcesContent":["/**\n * @module @nhtio/eslint-config/rules/prefer_programmatic_components\n */\n\nimport { createRule } from './common'\n\nconst preferProgrammaticComponentsRule = createRule({\n  name: 'preferProgrammaticComponents',\n  meta: {\n    type: 'suggestion',\n    docs: {\n      description:\n        'Prefer programmatically generated components (using Vue `h`) over Vue SFCs for performance and debuggability',\n    },\n    schema: [],\n    messages: {\n      preferProgrammaticComponents:\n        \"Prefer using Vue's `h` function to build components programmatically instead of a Vue SFC. \" +\n        'Programmatic components avoid SFC compilation overhead and are easier to inspect at runtime.',\n    },\n  },\n  create(context) {\n    if (!context.filename.endsWith('.vue')) return {}\n\n    return {\n      Program(node) {\n        context.report({ node, messageId: 'preferProgrammaticComponents' })\n      },\n    }\n  },\n  defaultOptions: [],\n})\n\nexport default preferProgrammaticComponentsRule\n"],"names":["preferProgrammaticComponentsRule","createRule","context","node"],"mappings":";AAMA,MAAMA,IAAmCC,EAAW;AAAA,EAClD,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,MACJ,aACE;AAAA,IAAA;AAAA,IAEJ,QAAQ,CAAA;AAAA,IACR,UAAU;AAAA,MACR,8BACE;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEF,OAAOC,GAAS;AACd,WAAKA,EAAQ,SAAS,SAAS,MAAM,IAE9B;AAAA,MACL,QAAQC,GAAM;AACZ,QAAAD,EAAQ,OAAO,EAAE,MAAAC,GAAM,WAAW,gCAAgC;AAAA,MACpE;AAAA,IAAA,IAL6C,CAAA;AAAA,EAOjD;AAAA,EACA,gBAAgB,CAAA;AAClB,CAAC;"}