UNPKG

react-precommit-kit

Version:

Production-ready pre-commit hooks for React projects with ESLint, Prettier, TypeScript, and custom validations

87 lines (85 loc) 2.24 kB
const eslintPluginPrettier = require('eslint-plugin-prettier'); const typescriptEslint = require('@typescript-eslint/eslint-plugin'); const typescriptParser = require('@typescript-eslint/parser'); module.exports = [ { ignores: [ 'node_modules/**', 'dist/**', 'build/**', '*.min.js', 'coverage/**', '.husky/**', 'scripts/**', ], }, { files: ['**/*.js', '**/*.jsx'], languageOptions: { ecmaVersion: 'latest', sourceType: 'module', globals: { console: 'readonly', process: 'readonly', Buffer: 'readonly', __dirname: 'readonly', __filename: 'readonly', exports: 'writable', module: 'writable', require: 'readonly', global: 'readonly', window: 'readonly', document: 'readonly', }, }, plugins: { prettier: eslintPluginPrettier, }, rules: { 'prettier/prettier': 'error', 'no-console': 'warn', 'no-debugger': 'error', 'no-unused-vars': ['error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], }, }, { files: ['**/*.ts', '**/*.tsx'], languageOptions: { parser: typescriptParser, parserOptions: { ecmaVersion: 'latest', sourceType: 'module', }, globals: { console: 'readonly', process: 'readonly', Buffer: 'readonly', __dirname: 'readonly', __filename: 'readonly', exports: 'writable', module: 'writable', require: 'readonly', global: 'readonly', window: 'readonly', document: 'readonly', }, }, plugins: { '@typescript-eslint': typescriptEslint, prettier: eslintPluginPrettier, }, rules: { 'prettier/prettier': 'error', 'no-console': 'warn', 'no-debugger': 'error', 'no-unused-vars': 'off', '@typescript-eslint/no-unused-vars': [ 'error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }, ], '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/no-non-null-assertion': 'warn', }, }, ];