UNPKG

ruins

Version:

> [!IMPORTANT] > This is in beta. Not everything is ironed out and some modules might misbehave

45 lines (40 loc) 1.27 kB
import { getEslintIgnoreByFile } from "./formatters/errors.js"; import { getLintIssues } from "../config/getLintIssues.js"; import { writeFile } from "node:fs/promises"; import { resolve } from "node:path"; import { getConfig } from "../config/getConfig.js"; import consola from "consola"; /** * Create a lint file * * @param {string} ruinsPath - path to Ruins project directory * @returns {Promise<void>} */ export const addEslintIgnore = async () => { const settings = await getConfig(); const ignoreFilePath = resolve( process.cwd(), settings.dir, settings.files.eslintIgnores ); consola.info("Looking at lint issues"); const issues = await getLintIssues(); const ignores = getEslintIgnoreByFile( issues, settings.eslint.preferOff, settings.eslint.filenameOnly ); await writeFile( ignoreFilePath, `export const ruinsIgnores = ${JSON.stringify(ignores, null, 2)}` ); consola.success( `Collected ignores in ${settings.dir}/${settings.files.eslintIgnores}` ); consola.box( `Now import the ignore file in your eslint.config and spread the object at the end of it. import ruinsIgnores from '${settings.dir}/${settings.files.eslintIgnores}'; // existing config ...ruinsIgnores,` ); };