{"version":3,"file":"index.cjs","names":[],"sources":["../../../rules/unified-latex-lint-obsolete-packages/index.ts"],"sourcesContent":["import { lintRule } from \"unified-lint-rule\";\nimport * as Ast from \"@unified-latex/unified-latex-types\";\nimport { listPackages } from \"@unified-latex/unified-latex-util-packages\";\n\nconst OBSOLETE: Record<string, string> = {\n    a4: \"Use `geometry` or `typearea` instead\",\n    a4wide: \"Use `geometry` or `typearea` instead\",\n    anysize: \"Use `geometry` or `typearea` instead\",\n    backrefx: \"Use `backref` instead\",\n    bitfield: \"Use `bytefield` instead\",\n    caption2: \"Use `caption` instead\",\n    csvtools: \"Use `datatool` instead\",\n    dinat: \"Use `natdin` instead\",\n    doublespace: \"Use `setspace` instead\",\n    dropping: \"Use `lettrine` instead\",\n    eledmac: \"Use `reledmac` instead\",\n    eps: \"Use `graphicx` instead\",\n    epsfig: \"Use `graphicx` instead\",\n    euler: \"Use `eulervm` instead\",\n    eurotex: \"Use `inputenx` instead\",\n    fancyheadings: \"Use `fancyhdr` instead\",\n    filecontents: \"Not needed; package now included in the LaTeX kernel\",\n    floatfig: \"Use `floatflt` instead\",\n    german: \"Use `babel` instead\",\n    glossary: \"Use `glossaries` instead\",\n    graphics: \"Use `graphicxs` instead\",\n    here: \"Use `float` instead\",\n    hyper: \"Use `hyperref` instead\",\n    ifthen: \"Use `etoolbox` instead\",\n    isolatin: \"Use `inputenc` instead\",\n    isolatin1: \"Use `inputenc` instead\",\n    mathpple: \"Use `mathpazo` instead\",\n    mathptm: \"Use `mathptmx` instead\",\n    ngerman: \"Use `babel` instead\",\n    nthm: \"Use `ntheorem` instead\",\n    palatino: \"Use `mathpazo` instead\",\n    picinpar: \"Use `floatflt`, `picins`, or `wrapfig` instead\",\n    prosper: \"Use `powerdot` or `beamer` instead\",\n    \"HA-prosper\": \"Use `powerdot` or `beamer` instead\",\n    ps4pdf: \"Use `pst-pdf` instead\",\n    raggedr: \"Use `ragged2e` instead\",\n    scrlettr: \"Use `scrlttr2` instead\",\n    scrpage: \"Use `scrpage2` instead\",\n    seminar: \"Use `powerdot` or `beamer` instead\",\n    subfigure: \"Use `subfig` or `subcaption` instead\",\n    t1enc: \"Use `\\\\usepackage[T1]{fontenc}` instead\",\n    times: \"Use `mathptmx` instead\",\n    ucs: \"Use `inputenc` or `inputencx` with utf8 option instead\",\n    umlaute: \"Use `inputenc` instead\",\n    umlaut: \"Use `\\\\usepackage[latin1]{inputenc}` instead\",\n    utopia: \"Use `fourier` instead\",\n    vmargin: \"Use `geometry` or `typearea` instead\",\n};\n\ntype PluginOptions = unknown | undefined;\n\nexport const DESCRIPTION = `## Lint Rule\n\nAvoid including obsolete packages. Use modern replacements. \n\nThe following packages are considered obsolete:\n${Object.entries(OBSOLETE)\n    .map(([name, suggestion]) => `  * \\`${name}\\`: ${suggestion}`)\n    .join(\"\\n\")}\n\n### See\n\nCTAN l2tabuen Section 1.1\nhttps://tex.stackexchange.com/questions/3910/how-to-keep-up-with-packages-and-know-which-ones-are-obsolete\n`;\n\nexport const unifiedLatexLintObsoletePackages = lintRule<\n    Ast.Root,\n    PluginOptions\n>({ origin: \"unified-latex-lint:obsolete-packages\" }, (tree, file, options) => {\n    for (const packageStr of listPackages(tree)) {\n        const packageName = packageStr.content;\n        if (packageName in OBSOLETE) {\n            file.message(\n                `Inclusion of obsolete package \\`${packageName}\\`. Suggestion: ${OBSOLETE[packageName]}.`,\n                packageStr\n            );\n        }\n    }\n});\n"],"mappings":";;;;AAIA,IAAM,WAAmC;CACrC,IAAI;CACJ,QAAQ;CACR,SAAS;CACT,UAAU;CACV,UAAU;CACV,UAAU;CACV,UAAU;CACV,OAAO;CACP,aAAa;CACb,UAAU;CACV,SAAS;CACT,KAAK;CACL,QAAQ;CACR,OAAO;CACP,SAAS;CACT,eAAe;CACf,cAAc;CACd,UAAU;CACV,QAAQ;CACR,UAAU;CACV,UAAU;CACV,MAAM;CACN,OAAO;CACP,QAAQ;CACR,UAAU;CACV,WAAW;CACX,UAAU;CACV,SAAS;CACT,SAAS;CACT,MAAM;CACN,UAAU;CACV,UAAU;CACV,SAAS;CACT,cAAc;CACd,QAAQ;CACR,SAAS;CACT,UAAU;CACV,SAAS;CACT,SAAS;CACT,WAAW;CACX,OAAO;CACP,OAAO;CACP,KAAK;CACL,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,SAAS;CACZ;AAID,IAAa,cAAc;;;;;EAKzB,OAAO,QAAQ,SAAS,CACrB,KAAK,CAAC,MAAM,gBAAgB,SAAS,KAAK,MAAM,aAAa,CAC7D,KAAK,KAAK,CAAC;;;;;;;AAQhB,IAAa,mCAAmC,YAAA,SAG9C,EAAE,QAAQ,wCAAwC,GAAG,MAAM,MAAM,YAAY;AAC3E,MAAK,MAAM,eAAA,GAAA,2CAAA,cAA2B,KAAK,EAAE;EACzC,MAAM,cAAc,WAAW;AAC/B,MAAI,eAAe,SACf,MAAK,QACD,mCAAmC,YAAY,kBAAkB,SAAS,aAAa,IACvF,WACH;;EAGX"}