{"version":3,"file":"vue-CYfll7N3.mjs","sources":["../src/libs/adonisjs_eslint_config.ts","../src/blocks/vue.ts"],"sourcesContent":["import {\n  configApp as AdonisConfigApp,\n  RULES_LIST as AdonisRulesList,\n  PLUGINS_LIST as AdonisPluginsList,\n  // @ts-expect-error\n} from '@adonisjs/eslint-config'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type { FlatConfig, Linter } from '@typescript-eslint/utils/ts-eslint'\n\ninterface AdonisConfigAppFn {\n  (...configBlocksToMerge: FlatConfig.Config[]): TSESLint.FlatConfig.ConfigArray\n}\n\n/**\n * Configures ESLint to use an opinionated config tailored for NHT Development\n */\nexport const configApp: AdonisConfigAppFn = AdonisConfigApp as AdonisConfigAppFn\n\ntype AdonisRuleConfig = Partial<Linter.RulesRecord>\n\n/**\n * Default list of rules to apply\n */\nexport const RULES_LIST: AdonisRuleConfig = AdonisRulesList as AdonisRuleConfig\n\ninterface AdonisPluginsList {\n  [pluginName: string]: FlatConfig.Plugin\n}\n\n/**\n * Default list of plugins to apply\n */\nexport const PLUGINS_LIST: AdonisPluginsList = AdonisPluginsList as AdonisPluginsList\n","/**\n * @module @nhtio/eslint-config/blocks/vue\n */\n\nimport * as espree from 'espree'\nimport { default as tseslint } from 'typescript-eslint'\nimport { RULES_LIST } from '../libs/adonisjs_eslint_config'\nimport { default as vueEslintParser } from 'vue-eslint-parser'\nimport type { FlatConfig } from '@typescript-eslint/utils/ts-eslint'\n\n/**\n * An ESLint Configuration for Vue + TypeScript files with the .vue extension\n */\nconst vue: FlatConfig.Config = {\n  name: 'NHT Vue',\n  languageOptions: {\n    parser: vueEslintParser,\n    parserOptions: {\n      parser: {\n        'js': espree,\n        'ts': tseslint.parser,\n        '<template>': espree,\n      },\n      sourceType: 'module',\n      warnOnUnsupportedTypeScriptVersion: false,\n      extraFileExtensions: ['.vue'],\n      projectService: {\n        allowDefaultProject: ['*.vue', '*.ts', '*.mts', '*.js', '*.mjs'],\n      },\n    },\n  },\n  rules: {\n    ...RULES_LIST,\n    'no-unused-vars': ['error', { varsIgnorePattern: '^_', argsIgnorePattern: '^_' }],\n    'vue/max-attributes-per-line': [\n      'error',\n      {\n        singleline: {\n          max: 8,\n        },\n        multiline: {\n          max: 1,\n        },\n      },\n    ],\n    'prettier/prettier': ['error', { endOfLine: 'auto' }],\n    '@nht/vueprint-type-import-only': 'error',\n    '@nht/no-window-negation': 'error',\n    'vue/singleline-html-element-content-newline': 'off',\n    'vue/html-self-closing': 'off',\n  },\n  files: ['**/*.vue'],\n}\n\nexport default vue\n"],"names":["configApp","AdonisConfigApp","RULES_LIST","AdonisRulesList","vue","vueEslintParser","espree","tseslint"],"mappings":";;;;AAiBO,MAAMA,IAA+BC,GAO/BC,IAA+BC,GCXtCC,IAAyB;AAAA,EAC7B,MAAM;AAAA,EACN,iBAAiB;AAAA,IACf,QAAQC;AAAA,IACR,eAAe;AAAA,MACb,QAAQ;AAAA,QACN,IAAMC;AAAA,QACN,IAAMC,EAAS;AAAA,QACf,cAAcD;AAAA,MAAA;AAAA,MAEhB,YAAY;AAAA,MACZ,oCAAoC;AAAA,MACpC,qBAAqB,CAAC,MAAM;AAAA,MAC5B,gBAAgB;AAAA,QACd,qBAAqB,CAAC,SAAS,QAAQ,SAAS,QAAQ,OAAO;AAAA,MAAA;AAAA,IACjE;AAAA,EACF;AAAA,EAEF,OAAO;AAAA,IACL,GAAGJ;AAAA,IACH,kBAAkB,CAAC,SAAS,EAAE,mBAAmB,MAAM,mBAAmB,MAAM;AAAA,IAChF,+BAA+B;AAAA,MAC7B;AAAA,MACA;AAAA,QACE,YAAY;AAAA,UACV,KAAK;AAAA,QAAA;AAAA,QAEP,WAAW;AAAA,UACT,KAAK;AAAA,QAAA;AAAA,MACP;AAAA,IACF;AAAA,IAEF,qBAAqB,CAAC,SAAS,EAAE,WAAW,QAAQ;AAAA,IACpD,kCAAkC;AAAA,IAClC,2BAA2B;AAAA,IAC3B,+CAA+C;AAAA,IAC/C,yBAAyB;AAAA,EAAA;AAAA,EAE3B,OAAO,CAAC,UAAU;AACpB;"}