UNPKG

@quick-start/create-node-lib

Version:
69 lines (66 loc) 1.82 kB
// ts-check import eslint from '@eslint/js' import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended' import globals from 'globals' import tseslint from 'typescript-eslint' export default tseslint.config( { ignores: ['**/node_modules', '**/dist'] }, eslint.configs.recommended, tseslint.configs.recommended, eslintPluginPrettierRecommended, { languageOptions: { parser: tseslint.parser, parserOptions: { sourceType: 'module', ecmaVersion: 2022 }, globals: { ...globals.browser, ...globals.node } }, rules: { 'prettier/prettier': 'warn', '@typescript-eslint/ban-ts-comment': [ 'error', { 'ts-ignore': 'allow-with-description' } ], '@typescript-eslint/explicit-function-return-type': [ 'error', { allowExpressions: true, allowTypedFunctionExpressions: true, allowHigherOrderFunctions: true, allowIIFEs: true } ], '@typescript-eslint/explicit-module-boundary-types': 'off', '@typescript-eslint/no-empty-function': [ 'error', { allow: ['arrowFunctions'] } ], '@typescript-eslint/no-empty-object-type': [ 'error', { allowInterfaces: 'always' } ], '@typescript-eslint/no-explicit-any': 'error', '@typescript-eslint/no-non-null-assertion': 'off', '@typescript-eslint/no-require-imports': 'error', '@typescript-eslint/no-unused-expressions': [ 'error', { allowShortCircuit: true, allowTaggedTemplates: true, allowTernary: true } ] } }, { files: ['*.js', '*.mjs'], rules: { '@typescript-eslint/explicit-function-return-type': 'off' } } )