UNPKG

eslint-plugin-jsdoc

Version:
1 lines 1.91 kB
{"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":[]}