eslint-config-neon
Version:
The ultimate ESLint shareable config
1 lines • 17 kB
Source Map (JSON)
{"version":3,"file":"typescript.mjs","names":[],"sources":["../../src/typescript.ts"],"sourcesContent":["import { fixupPluginRules } from '@eslint/compat';\nimport type { TSESLint } from '@typescript-eslint/utils';\nimport { createTypeScriptImportResolver, defaultExtensions } from 'eslint-import-resolver-typescript';\nimport eslintPluginSonarjs from 'eslint-plugin-sonarjs';\nimport eslintPluginTsdoc from 'eslint-plugin-tsdoc';\n// @ts-expect-error eslint-plugin-typescript-sort-keys is not typed\nimport eslintPluginTypescriptSortKeys from 'eslint-plugin-typescript-sort-keys';\nimport tseslint from 'typescript-eslint';\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t'@typescript-eslint/adjacent-overload-signatures': 2,\n\t'@typescript-eslint/array-type': [\n\t\t2,\n\t\t{\n\t\t\tdefault: 'array',\n\t\t},\n\t],\n\t'@typescript-eslint/await-thenable': 2,\n\t'@typescript-eslint/ban-ts-comment': [\n\t\t2,\n\t\t{\n\t\t\t'ts-check': true,\n\t\t\t'ts-expect-error': 'allow-with-description',\n\t\t\t'ts-ignore': false,\n\t\t\t'ts-nocheck': false,\n\t\t},\n\t],\n\t'@typescript-eslint/ban-tslint-comment': 2,\n\t'@typescript-eslint/class-literal-property-style': [2, 'fields'],\n\t'@typescript-eslint/consistent-indexed-object-style': 0,\n\t'@typescript-eslint/consistent-type-assertions': [\n\t\t2,\n\t\t{\n\t\t\tassertionStyle: 'as',\n\t\t\tobjectLiteralTypeAssertions: 'allow',\n\t\t},\n\t],\n\t'@typescript-eslint/consistent-type-definitions': 0,\n\t'@typescript-eslint/consistent-type-exports': [\n\t\t2,\n\t\t{\n\t\t\tfixMixedExportsWithInlineTypeSpecifier: true,\n\t\t},\n\t],\n\t'@typescript-eslint/consistent-type-imports': [\n\t\t2,\n\t\t{\n\t\t\tprefer: 'type-imports',\n\t\t},\n\t],\n\t'@typescript-eslint/explicit-function-return-type': 0,\n\t'@typescript-eslint/explicit-member-accessibility': 2,\n\t'@typescript-eslint/explicit-module-boundary-types': 0,\n\t'@typescript-eslint/member-ordering': 0,\n\t'@typescript-eslint/method-signature-style': [2, 'method'],\n\t'@typescript-eslint/naming-convention': 0,\n\t'@typescript-eslint/no-base-to-string': [\n\t\t2,\n\t\t{\n\t\t\tignoredTypeNames: ['RegExp'],\n\t\t},\n\t],\n\t'@typescript-eslint/no-confusing-non-null-assertion': 2,\n\t'@typescript-eslint/no-confusing-void-expression': [\n\t\t2,\n\t\t{\n\t\t\tignoreArrowShorthand: true,\n\t\t\tignoreVoidOperator: false,\n\t\t},\n\t],\n\t'@typescript-eslint/no-duplicate-enum-values': 2,\n\t'@typescript-eslint/no-duplicate-type-constituents': [\n\t\t2,\n\t\t{\n\t\t\tignoreIntersections: false,\n\t\t\tignoreUnions: false,\n\t\t},\n\t],\n\t'@typescript-eslint/no-dynamic-delete': 2,\n\t'@typescript-eslint/no-empty-function': 0,\n\t'@typescript-eslint/no-empty-interface': [\n\t\t'error',\n\t\t{\n\t\t\tallowSingleExtends: true,\n\t\t},\n\t],\n\t'@typescript-eslint/no-explicit-any': 0,\n\t'@typescript-eslint/no-extra-non-null-assertion': 2,\n\t'@typescript-eslint/no-extraneous-class': 0,\n\t'@typescript-eslint/no-floating-promises': [\n\t\t2,\n\t\t{\n\t\t\tignoreVoid: true,\n\t\t\tignoreIIFE: true,\n\t\t},\n\t],\n\t'@typescript-eslint/no-for-in-array': 2,\n\t'@typescript-eslint/no-inferrable-types': [\n\t\t2,\n\t\t{\n\t\t\tignoreParameters: true,\n\t\t\tignoreProperties: true,\n\t\t},\n\t],\n\t'@typescript-eslint/no-invalid-void-type': [\n\t\t2,\n\t\t{\n\t\t\tallowAsThisParameter: true,\n\t\t\tallowInGenericTypeArguments: true,\n\t\t},\n\t],\n\t'@typescript-eslint/no-meaningless-void-operator': [\n\t\t2,\n\t\t{\n\t\t\tcheckNever: true,\n\t\t},\n\t],\n\t'@typescript-eslint/no-misused-new': 2,\n\t'@typescript-eslint/no-misused-promises': [\n\t\t2,\n\t\t{\n\t\t\tchecksConditionals: true,\n\t\t\tchecksVoidReturn: false,\n\t\t},\n\t],\n\t'@typescript-eslint/no-namespace': [\n\t\t2,\n\t\t{\n\t\t\tallowDeclarations: true,\n\t\t},\n\t],\n\t'@typescript-eslint/no-non-null-asserted-nullish-coalescing': 2,\n\t'@typescript-eslint/no-non-null-asserted-optional-chain': 2,\n\t'@typescript-eslint/no-non-null-assertion': 0,\n\t'@typescript-eslint/no-require-imports': 2,\n\t'@typescript-eslint/no-this-alias': [\n\t\t2,\n\t\t{\n\t\t\tallowDestructuring: true,\n\t\t\tallowedNames: ['self'],\n\t\t},\n\t],\n\t'@typescript-eslint/no-type-alias': 0,\n\t'@typescript-eslint/no-unnecessary-boolean-literal-compare': 0,\n\t'@typescript-eslint/no-unnecessary-condition': 0,\n\t'@typescript-eslint/no-unnecessary-qualifier': 2,\n\t'@typescript-eslint/no-unnecessary-type-arguments': 0,\n\t'@typescript-eslint/no-unnecessary-type-assertion': 0,\n\t'@typescript-eslint/no-unnecessary-type-constraint': 2,\n\t'@typescript-eslint/no-unsafe-argument': 0,\n\t'@typescript-eslint/no-unsafe-assignment': 0,\n\t'@typescript-eslint/no-unsafe-call': 0,\n\t'@typescript-eslint/no-unsafe-member-access': 0,\n\t'@typescript-eslint/no-unsafe-return': 0,\n\t'@typescript-eslint/no-var-requires': 2,\n\t'@typescript-eslint/non-nullable-type-assertion-style': 0,\n\t'@typescript-eslint/prefer-as-const': 2,\n\t'@typescript-eslint/prefer-enum-initializers': 0,\n\t'@typescript-eslint/prefer-for-of': 2,\n\t'@typescript-eslint/prefer-function-type': 2,\n\t'@typescript-eslint/prefer-includes': 2,\n\t'@typescript-eslint/prefer-literal-enum-member': 2,\n\t'@typescript-eslint/prefer-namespace-keyword': 2,\n\t'@typescript-eslint/prefer-nullish-coalescing': [\n\t\t2,\n\t\t{\n\t\t\tignoreConditionalTests: true,\n\t\t\tignoreMixedLogicalExpressions: true,\n\t\t\tignorePrimitives: {\n\t\t\t\tbigint: false,\n\t\t\t\tboolean: true,\n\t\t\t\tnumber: false,\n\t\t\t\tstring: false,\n\t\t\t},\n\t\t},\n\t],\n\t'@typescript-eslint/prefer-optional-chain': 2,\n\t'@typescript-eslint/prefer-readonly': [\n\t\t2,\n\t\t{\n\t\t\tonlyInlineLambdas: true,\n\t\t},\n\t],\n\t'@typescript-eslint/prefer-readonly-parameter-types': 0,\n\t'@typescript-eslint/prefer-reduce-type-parameter': 2,\n\t'@typescript-eslint/prefer-regexp-exec': 2,\n\t'@typescript-eslint/prefer-return-this-type': 2,\n\t'@typescript-eslint/prefer-string-starts-ends-with': 2,\n\t'@typescript-eslint/prefer-ts-expect-error': 2,\n\t'@typescript-eslint/promise-function-async': 2,\n\t'@typescript-eslint/require-array-sort-compare': [\n\t\t2,\n\t\t{\n\t\t\tignoreStringArrays: false,\n\t\t},\n\t],\n\t'@typescript-eslint/restrict-plus-operands': 2,\n\t'@typescript-eslint/restrict-template-expressions': 0,\n\t'@typescript-eslint/return-await': [2, 'in-try-catch'],\n\t'@typescript-eslint/sort-type-constituents': 2,\n\t'@typescript-eslint/strict-boolean-expressions': 0,\n\t'@typescript-eslint/switch-exhaustiveness-check': 2,\n\t'@typescript-eslint/triple-slash-reference': [\n\t\t2,\n\t\t{\n\t\t\tlib: 'never',\n\t\t\tpath: 'never',\n\t\t\ttypes: 'never',\n\t\t},\n\t],\n\t'@typescript-eslint/typedef': 0,\n\t'@typescript-eslint/unbound-method': [\n\t\t2,\n\t\t{\n\t\t\tignoreStatic: true,\n\t\t},\n\t],\n\t'@typescript-eslint/unified-signatures': 2,\n\n\t// Eslint compatibility\n\t'@typescript-eslint/default-param-last': 2,\n\t'@typescript-eslint/dot-notation': 2,\n\t'@typescript-eslint/init-declarations': 0,\n\t'@typescript-eslint/no-array-constructor': 2,\n\t'@typescript-eslint/no-dupe-class-members': 2,\n\t'@typescript-eslint/no-implied-eval': 2,\n\t'@typescript-eslint/no-invalid-this': 0,\n\t'@typescript-eslint/no-loop-func': 2,\n\t'@typescript-eslint/no-magic-numbers': 0,\n\t'@typescript-eslint/no-redeclare': [\n\t\t2,\n\t\t{\n\t\t\tbuiltinGlobals: true,\n\t\t},\n\t],\n\t'@typescript-eslint/no-restricted-imports': 0,\n\t'@typescript-eslint/no-shadow': 0,\n\t'@typescript-eslint/only-throw-error': 2,\n\t'@typescript-eslint/no-unused-expressions': 2,\n\t'@typescript-eslint/no-unused-vars': 0,\n\t'@typescript-eslint/no-use-before-define': [\n\t\t2,\n\t\t{\n\t\t\tclasses: true,\n\t\t\tfunctions: false,\n\t\t\tvariables: true,\n\t\t},\n\t],\n\t'@typescript-eslint/no-useless-constructor': 2,\n\t'@typescript-eslint/require-await': 0,\n\n\t// Disable eslint rules implemented in @typescript-eslint\n\t'default-param-last': 0,\n\t'dot-notation': 0,\n\t'init-declarations': 0,\n\t'no-array-constructor': 0,\n\t'no-dupe-class-members': 0,\n\t'no-empty-function': 0,\n\t'no-implied-eval': 0,\n\t'no-invalid-this': 0,\n\t'no-loop-func': 0,\n\t'no-magic-numbers': 0,\n\t'no-redeclare': 0,\n\t'no-restricted-imports': 0,\n\t'no-return-await': 0,\n\t'no-shadow': 0,\n\t'no-throw-literal': 0,\n\t'no-unused-expressions': 0,\n\t'no-unused-vars': 0,\n\t'no-use-before-define': 0,\n\t'no-useless-constructor': 0,\n\n\t'require-await': 0,\n\n\t// Stylistic\n\t'@stylistic/type-annotation-spacing': 2,\n\t'@stylistic/keyword-spacing': [\n\t\t2,\n\t\t{\n\t\t\tafter: true,\n\t\t\tbefore: true,\n\t\t},\n\t],\n\t'@stylistic/no-extra-parens': 2,\n\t'@stylistic/no-extra-semi': 2,\n\t'@stylistic/brace-style': [2, '1tbs', { allowSingleLine: false }],\n\t'@stylistic/comma-dangle': [\n\t\t2,\n\t\t{\n\t\t\tarrays: 'always-multiline',\n\t\t\texports: 'always-multiline',\n\t\t\tfunctions: 'always-multiline',\n\t\t\timports: 'always-multiline',\n\t\t\tobjects: 'always-multiline',\n\t\t\tenums: 'always-multiline',\n\t\t\tgenerics: 'never',\n\t\t\ttuples: 'never',\n\t\t},\n\t],\n\t'@stylistic/comma-spacing': [2, { after: true, before: false }],\n\t'@stylistic/function-call-spacing': [2, 'never'],\n\t'@stylistic/indent': [2, 'tab'],\n\t'@stylistic/lines-between-class-members': [2, 'always'],\n\t'@stylistic/member-delimiter-style': [\n\t\t2,\n\t\t{\n\t\t\tmultiline: { delimiter: 'semi', requireLast: true },\n\t\t\toverrides: { interface: { multiline: { delimiter: 'semi', requireLast: true } } },\n\t\t\tsingleline: { delimiter: 'semi', requireLast: true },\n\t\t},\n\t],\n\t'@stylistic/object-curly-spacing': [2, 'always'],\n\t'@stylistic/padding-line-between-statements': [2, { blankLine: 'always', next: '*', prev: 'multiline-block-like' }],\n\t'@stylistic/quotes': [2, 'double'],\n\t'@stylistic/semi': [2, 'always'],\n\t'@stylistic/space-before-blocks': [2, 'always'],\n\t'@stylistic/space-before-function-paren': [2, { anonymous: 'always', named: 'never', asyncArrow: 'always' }],\n\t'@stylistic/space-infix-ops': [2, { int32Hint: true }],\n\n\t// Additional rules\n\t'consistent-return': 0,\n\t'default-case': 0,\n\t'default-case-last': 0,\n\t'import-x/no-dynamic-require': 0,\n\t'import-x/no-unresolved': 0,\n\t'jsdoc/check-tag-names': 0,\n\t'jsdoc/require-property-type': 0,\n\t'no-undef': 0,\n\t'n/global-require': 0,\n\t'sonarjs/no-all-duplicated-branches': 2,\n\t'sonarjs/no-element-overwrite': 2,\n\t'sonarjs/no-empty-collection': 2,\n\t'sonarjs/no-extra-arguments': 2,\n\t'sonarjs/no-identical-conditions': 2,\n\t'sonarjs/no-identical-expressions': 2,\n\t'sonarjs/no-ignored-return': 2,\n\t'sonarjs/no-use-of-empty-return-value': 2,\n\t'sonarjs/non-existent-operator': 2,\n\t'sonarjs/elseif-without-else': 0,\n\t'sonarjs/max-switch-cases': 0,\n\t'sonarjs/no-collapsible-if': 2,\n\t'sonarjs/no-collection-size-mischeck': 2,\n\t'sonarjs/no-duplicate-string': 0,\n\t'sonarjs/no-duplicated-branches': 2,\n\t'sonarjs/no-gratuitous-expressions': 2,\n\t'sonarjs/no-identical-functions': 2,\n\t'sonarjs/no-inverted-boolean-check': 2,\n\t'sonarjs/no-nested-switch': 2,\n\t'sonarjs/no-nested-template-literals': 0,\n\t'sonarjs/no-redundant-boolean': 2,\n\t'sonarjs/no-redundant-jump': 2,\n\t'sonarjs/no-same-line-conditional': 2,\n\t'sonarjs/no-small-switch': 0,\n\t'sonarjs/no-unused-collection': 2,\n\t'sonarjs/no-useless-catch': 0,\n\t'sonarjs/prefer-immediate-return': 2,\n\t'sonarjs/prefer-object-literal': 2,\n\t'sonarjs/prefer-single-boolean-return': 2,\n\t'sonarjs/prefer-while': 2,\n\t'tsdoc/syntax': 1,\n\t'typescript-sort-keys/interface': 2,\n\t'typescript-sort-keys/string-enum': 2,\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\tjsdoc: {\n\t\tmode: 'typescript',\n\t},\n\t'import-x/parsers': {\n\t\t'@typescript-eslint/parser': ['.ts', '.tsx', '.cts', '.mts'],\n\t},\n\t'import-x/external-module-folders': ['node_modules', 'node_modules/@types'],\n\t'import-x/resolver': {\n\t\ttypescript: true,\n\t\tnode: true,\n\t},\n\t'import-x/resolver-next': [\n\t\tcreateTypeScriptImportResolver({\n\t\t\tnoWarnOnMultipleProjects: true,\n\t\t\tproject: ['./tsconfig.json', './tsconfig.eslint.json'],\n\t\t}),\n\t],\n\t'import-x/extensions': [...defaultExtensions, '.cts', '.mts', '.cjs', '.mjs'],\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t...tseslint.configs.recommended,\n\t{\n\t\tplugins: {\n\t\t\tsonarjs: eslintPluginSonarjs,\n\t\t\ttsdoc: eslintPluginTsdoc,\n\t\t\t'typescript-sort-keys': fixupPluginRules(eslintPluginTypescriptSortKeys),\n\t\t},\n\t\trules,\n\t\tsettings,\n\t},\n];\n\nexport default config;\n"],"mappings":"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"}