UNPKG

@aak.lear/eslint-config

Version:

This package simplifies the initial setup of eslint and prettier. It installs and apply eslint-config-airbnb to your project, also resolves peerDependencies that are required for eslint-config-airbnb package.

40 lines (32 loc) 855 B
import { writeTemplate } from './writeTemplate.js'; import fs from 'fs'; import path from 'path'; export const writeConfigs = async ({ root, extendsList, withTypescript, withPrettier, }) => { const eslintConfig = { extends: extendsList }; const writeTemplateToRoot = writeTemplate(root); if (withPrettier) { writeTemplateToRoot('.prettierrc'); } if (withTypescript) { writeTemplateToRoot('tsconfig.eslint.json'); eslintConfig.overrides = [ { files: ['*.ts', '*.tsx'], parserOptions: { project: './tsconfig.eslint.json', }, }, ]; } const eslintConfigPath = path.resolve(root, '.eslintrc.js'); fs.writeFileSync( eslintConfigPath, `module.exports = ${JSON.stringify(eslintConfig, null, 2)}\n`, ); console.log(`File created:\n${eslintConfigPath}\n`); };