{"version":3,"file":"index.mjs","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":";;;;;;;;;AA0BO,MAAMA,IAAU,gBAIjBC,IAAS;AAAA,EACbC;AAAA,EACAC;AAAA,EACAC;AAAA,EACAC;AAAA,EACA,GAAGC;AAAA,EACH,GAAGC;AAAA,EACH,GAAGC;AAAA,EACHC;AAAAA,EACAC;AACF,GAOaC,IAAY,IACpBC,MACiC;AAEpC,QAAMC,IADSC,EAAU,GAAGF,CAAmB,EAC1B,IAAI,CAACG,MAAU;AAClC,QAAI,aAAaA,GAAO;AACtB,YAAM,EAAA,SAAEC,MAAYD;AACpB,iBAAWE,KAAUD;AACnB,QAAMC,KAAUC,EAAa,YAC3BA,EAAa,QAASD,CAAM,IAAID,EAAQC,CAAM;AAGlD,aAAOF,EAAM;AAAA,IACf;AACA,WAAOA;AAAA,EACT,CAAC;AACD,SAAO,CAACG,GAAc,GAAGL,GAAO,GAAGZ,CAAM;AAC3C;"}