UNPKG

trpc-shield

Version:

tRPC permissions as another layer of abstraction!

94 lines (88 loc) 2.87 kB
import typescriptEslint from '@typescript-eslint/eslint-plugin' import typescriptParser from '@typescript-eslint/parser' import prettier from 'eslint-plugin-prettier' import prettierConfig from 'eslint-config-prettier' export default [ { ignores: [ 'node_modules/**', 'dist/**', 'coverage/**', '*.config.js', '*.config.ts', 'example/**', 'package/**', '.releaserc.json' ] }, { files: ['src/**/*.{ts,tsx}'], languageOptions: { parser: typescriptParser, parserOptions: { ecmaVersion: 'latest', sourceType: 'module', project: './tsconfig.json' } }, plugins: { '@typescript-eslint': typescriptEslint, prettier: prettier }, rules: { ...typescriptEslint.configs.recommended.rules, ...prettierConfig.rules, // TypeScript specific rules '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/no-non-null-assertion': 'warn', '@typescript-eslint/prefer-nullish-coalescing': 'warn', '@typescript-eslint/prefer-optional-chain': 'error', '@typescript-eslint/ban-ts-comment': 'warn', '@typescript-eslint/no-unsafe-function-type': 'warn', // Relax strict type checking for library code '@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-member-access': 'off', '@typescript-eslint/no-unsafe-call': 'off', '@typescript-eslint/no-unsafe-return': 'off', '@typescript-eslint/no-unsafe-argument': 'off', '@typescript-eslint/only-throw-error': 'off', // General rules 'no-console': 'warn', 'prefer-const': 'error', 'no-var': 'error', 'object-shorthand': 'error', 'prefer-template': 'error', // Prettier integration 'prettier/prettier': 'error' } }, { files: ['test/**/*.{ts,tsx}'], languageOptions: { parser: typescriptParser, parserOptions: { ecmaVersion: 'latest', sourceType: 'module' } }, plugins: { '@typescript-eslint': typescriptEslint, prettier: prettier }, rules: { ...typescriptEslint.configs.recommended.rules, ...prettierConfig.rules, // Relax some rules for test files '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-non-null-assertion': 'off', 'no-console': 'off', '@typescript-eslint/no-unsafe-member-access': 'off', '@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-argument': 'off', '@typescript-eslint/no-unsafe-call': 'off', '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], 'prettier/prettier': 'error' } } ]