@deftomat/opinionated
Version:
Opinionated tooling for JavaScript & TypeScript projects.
33 lines (32 loc) • 1.15 kB
JavaScript
import fs from 'node:fs';
/**
* Returns filename of ignore file for ESLint.
*/
export function findEslintIgnoreFile({ projectRoot, projectSpec }) {
const eslintIgnore = `${projectRoot}/.eslintignore`;
const opinionatedIgnore = `${projectRoot}/.opinionatedignore`;
const gitIgnore = `${projectRoot}/.gitignore`;
if (fs.existsSync(eslintIgnore))
return eslintIgnore;
if (projectSpec.get().eslintIgnore != null)
return;
if (fs.existsSync(opinionatedIgnore))
return opinionatedIgnore;
if (fs.existsSync(gitIgnore))
return gitIgnore;
}
/**
* Returns filename of ignore file for Prettier.
*/
export function findPrettierIgnoreFile({ projectRoot }) {
const prettierIgnore = `${projectRoot}/.prettierignore`;
const opinionatedIgnore = `${projectRoot}/.opinionatedignore`;
const gitIgnore = `${projectRoot}/.gitignore`;
if (fs.existsSync(prettierIgnore))
return prettierIgnore;
if (fs.existsSync(opinionatedIgnore))
return opinionatedIgnore;
if (fs.existsSync(gitIgnore))
return gitIgnore;
}
export const defaultIgnorePattern = '**/node_modules/';