{"version":3,"file":"generateRuleTypes.cjs","names":["index","compile","writeFile"],"sources":["../src/bin/generateRuleTypes.js"],"sourcesContent":["import index from '../index.js';\nimport {\n  compile,\n} from 'json-schema-to-typescript';\nimport {\n  writeFile,\n} from 'node:fs/promises';\n\nlet str = 'export interface Rules {\\n';\n\nfor (const [\n  ruleName,\n  rule,\n] of Object.entries(\n  /** @type {Record<string, import('@eslint/core').RuleDefinition<import('@eslint/core').RuleDefinitionTypeOptions>>} */ (\n      index.rules\n    ),\n  )\n) {\n  str += `  /** ${rule.meta?.docs?.description ?? ''} */\\n`;\n  str += `  \"jsdoc/${ruleName}\": `;\n  const ts = await compile({\n    items: rule?.meta?.schema || [],\n    type: 'array',\n  }, 'Test', {\n    bannerComment: '',\n  });\n\n  str += ts\n    .replace(/^export type Test = ?/v, '')\n    .replace(/^export interface Test /v, '')\n    .replaceAll('\\n', '\\n  ').trimEnd().replace(/;$/v, '') +\n      ';\\n\\n';\n}\n\nstr = str.replace(/\\n$/v, '') + '}\\n';\n\nawait writeFile(import.meta.dirname + '/../rules.d.ts', str);\n\n// console.log('str', str);\n"],"mappings":";;AAAA;AACA;AAGA;AAE0B;AAE1B,IAAI,GAAG,GAAG,4BAA4B;AAEtC,KAAK,MAAM,CACT,QAAQ,EACR,IAAI,CACL,IAAI,MAAM,CAAC,OAAO,CACjB;AACIA,cAAK,CAAC,KAEV,CAAC,EACD;EACA,GAAG,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,IAAI,EAAE,OAAO;EACzD,GAAG,IAAI,YAAY,QAAQ,KAAK;EAChC,MAAM,EAAE,GAAG,MAAM,IAAAC,wBAAA,OAAO,EAAC;IACvB,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;IAC/B,IAAI,EAAE;EACR,CAAC,EAAE,MAAM,EAAE;IACT,aAAa,EAAE;EACjB,CAAC,CAAC;EAEF,GAAG,IAAI,EAAE,CACN,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CACrC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CACvC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GACpD,OAAO;AACb;AAEA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,KAAK;AAErC,MAAM,IAAAC,UAAA,SAAS,EAAC,YAAsB,gBAAgB,EAAE,GAAG,CAAC;;AAE5D","ignoreList":[]}