{"version":3,"file":"index.cjs","names":["options: ConfigOptions","defaultJsConfig","defaultTsConfig","mergeWithDefaults","defaultTestConfig","defaultUnocssConfig","defaultVueConfig","defaultStylisticConfig","defaultFormatterConfig","defaultStrictTsConfig"],"sources":["../src/index.ts"],"sourcesContent":["import type { OptionsTypeScriptParserOptions } from '@antfu/eslint-config'\nimport type { AntFuFormatterConfig, AntFuJsConfig, AntFuStrictTsConfig, AntFuStylisticConfig, AntFuTestConfig, AntFuTsConfig, AntFuUnocssConfig, AntFuVueConfig } from './types'\nimport { antfu } from '@antfu/eslint-config'\nimport { defaultFormatterConfig, defaultJsConfig, defaultStrictTsConfig, defaultStylisticConfig, defaultTestConfig, defaultTsConfig, defaultUnocssConfig, defaultVueConfig, mergeWithDefaults } from './defaults'\n\ninterface ConfigOptions {\n  type?: 'app' | 'lib'\n  pnpm?: boolean\n  test?: boolean | AntFuTestConfig\n  ignores?: string[]\n  jsx?: boolean\n  vue?: boolean | AntFuVueConfig\n  formatters?: boolean | AntFuFormatterConfig\n  javascript?: AntFuJsConfig\n  typescript?: boolean | AntFuStrictTsConfig | AntFuTsConfig\n  unocss?: boolean | AntFuUnocssConfig\n  stylistic?: boolean | AntFuStylisticConfig\n}\n\nexport default async function eslint9(options: ConfigOptions = {}): Promise<ReturnType<typeof antfu>> {\n  const {\n    type = 'lib',\n    ignores = [],\n    test = true,\n    unocss = false,\n    vue = false,\n    jsx = false,\n    pnpm = false,\n    stylistic = true,\n    javascript = defaultJsConfig,\n    typescript = defaultTsConfig,\n    formatters = false,\n  } = options\n\n  const _test = mergeWithDefaults(test, defaultTestConfig)\n  const _unocss = mergeWithDefaults(unocss, defaultUnocssConfig)\n  const _vue = mergeWithDefaults(vue, defaultVueConfig)\n  const _javascript = mergeWithDefaults(javascript, defaultJsConfig)\n  const _stylistic = mergeWithDefaults(stylistic, defaultStylisticConfig)\n  const _formatters = mergeWithDefaults(formatters, defaultFormatterConfig)\n  let _typescript = typescript\n\n  // 如果 type 为 'app'，强制 pnpm 为 false\n  let _pnpm = pnpm\n  if (type === 'app') {\n    _pnpm = false\n  }\n\n  // 严格 ts 模式\n  if (\n    _typescript !== null\n    && typeof _typescript === 'object'\n    && 'strictTypescriptEslint' in _typescript\n    && _typescript.strictTypescriptEslint === true\n  ) {\n    _typescript = mergeWithDefaults(typescript, defaultStrictTsConfig)\n    if (typeof _typescript === 'object' && 'tsconfigPath' in _typescript) {\n      (_typescript as OptionsTypeScriptParserOptions).parserOptions = {\n        projectService: true,\n      }\n    }\n  }\n\n  return antfu({\n    type,\n    ignores,\n    pnpm: _pnpm,\n    test: _test,\n    unocss: _unocss,\n    vue: _vue,\n    jsx,\n    typescript: _typescript,\n    javascript: _javascript,\n    stylistic: _stylistic,\n    formatters: _formatters,\n  })\n}\n"],"mappings":";;;;;AAmBA,eAA8B,QAAQA,UAAyB,CAAE,GAAqC;CACpG,MAAM,EACJ,OAAO,OACP,UAAU,CAAE,GACZ,OAAO,MACP,SAAS,OACT,MAAM,OACN,MAAM,OACN,OAAO,OACP,YAAY,MACZ,aAAaC,+BACb,aAAaC,+BACb,aAAa,OACd,GAAG;CAEJ,MAAM,QAAQC,gCAAkB,MAAMC,gCAAkB;CACxD,MAAM,UAAUD,gCAAkB,QAAQE,kCAAoB;CAC9D,MAAM,OAAOF,gCAAkB,KAAKG,+BAAiB;CACrD,MAAM,cAAcH,gCAAkB,YAAYF,8BAAgB;CAClE,MAAM,aAAaE,gCAAkB,WAAWI,qCAAuB;CACvE,MAAM,cAAcJ,gCAAkB,YAAYK,qCAAuB;CACzE,IAAI,cAAc;CAGlB,IAAI,QAAQ;AACZ,KAAI,SAAS,OACX,QAAQ;AAIV,KACE,gBAAgB,QACb,OAAO,gBAAgB,YACvB,4BAA4B,eAC5B,YAAY,2BAA2B,MAC1C;EACA,cAAcL,gCAAkB,YAAYM,oCAAsB;AAClE,MAAI,OAAO,gBAAgB,YAAY,kBAAkB,aACtD,YAA+C,gBAAgB,EAC9D,gBAAgB,KACjB;CAEJ;AAED,yCAAa;EACX;EACA;EACA,MAAM;EACN,MAAM;EACN,QAAQ;EACR,KAAK;EACL;EACA,YAAY;EACZ,YAAY;EACZ,WAAW;EACX,YAAY;CACb,EAAC;AACH"}