{"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["/**\n * @module @nhtio/eslint-config\n */\n\nimport { configApp } from './libs/adonisjs_eslint_config'\nimport {\n  nht,\n  vueEssential,\n  vueStronglyRecommended,\n  vueRecommended,\n  vueTypescript,\n  ignore,\n  overrides,\n  json,\n  markdown,\n  plugins as pluginsBlock,\n} from '@nhtio/eslint-config/blocks'\n\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type { FlatConfig } from '@typescript-eslint/utils/ts-eslint'\n\n/**\n * The current version of the package.\n *\n * @tip This is a constant that is replaced during the build process with the actual version of the package.\n */\nexport const version = __VERSION__\n\nexport { withCustomJsdocTags } from './helpers/jsdoc_tags'\n\nconst blocks = [\n  ignore,\n  markdown,\n  json,\n  nht,\n  ...vueEssential,\n  ...vueStronglyRecommended,\n  ...vueRecommended,\n  vueTypescript,\n  overrides,\n]\n\n/**\n * Configures ESLint to use an opinionated config tailored for NHT Development\n * @param {...any} configBlocksToMerge\n * @returns The merged ESLint flat config array\n */\nexport const configure = (\n  ...configBlocksToMerge: FlatConfig.Config[]\n): TSESLint.FlatConfig.ConfigArray => {\n  const merged = configApp(...configBlocksToMerge)\n  const fixed = merged.map((block) => {\n    if ('plugins' in block) {\n      const { plugins } = block\n      for (const plugin in plugins) {\n        if (!(plugin in pluginsBlock.plugins!)) {\n          pluginsBlock.plugins![plugin] = plugins[plugin]\n        }\n      }\n      delete block.plugins\n    }\n    return block\n  })\n  return [pluginsBlock, ...fixed, ...blocks]\n}\n\nexport default configure\n"],"names":["version","blocks","ignore","markdown","json","nht","vueEssential","vueStronglyRecommended","vueRecommended","vueTypescript","overrides","configure","configBlocksToMerge","fixed","configApp","block","plugins","plugin","pluginsBlock"],"mappings":"uZA0BaA,EAAU,eAIjBC,EAAS,CACbC,EAAAA,QACAC,EAAAA,QACAC,EAAAA,QACAC,EAAAA,QACA,GAAGC,EAAAA,aACH,GAAGC,EAAAA,uBACH,GAAGC,EAAAA,eACHC,EAAAA,IACAC,EAAAA,OACF,EAOaC,EAAY,IACpBC,IACiC,CAEpC,MAAMC,EADSC,YAAU,GAAGF,CAAmB,EAC1B,IAAKG,GAAU,CAClC,GAAI,YAAaA,EAAO,CACtB,KAAM,CAAE,QAAAC,GAAYD,EACpB,UAAWE,KAAUD,EACbC,KAAUC,UAAa,UAC3BA,EAAAA,QAAa,QAASD,CAAM,EAAID,EAAQC,CAAM,GAGlD,OAAOF,EAAM,OACf,CACA,OAAOA,CACT,CAAC,EACD,MAAO,CAACG,EAAAA,QAAc,GAAGL,EAAO,GAAGZ,CAAM,CAC3C"}