{"version":3,"file":"typescript.js","names":["typescriptRules: Linter.RulesRecord"],"sources":["../src/typescript.ts"],"sourcesContent":["import type { Linter } from 'eslint'\n\n/**\n * @see https://typescript-eslint.io/rules/\n */\nexport const typescriptRules: Linter.RulesRecord = {\n  /** Prefer Array<T> format */\n  '@typescript-eslint/array-type': [\n    'error',\n    { default: 'generic', readonly: 'generic' },\n  ],\n  /** Prevent @ts-ignore, allow @ts-expect-error */\n  '@typescript-eslint/ban-ts-comment': [\n    'error',\n    {\n      'ts-expect-error': false,\n      'ts-ignore': 'allow-with-description',\n    },\n  ],\n  /** Enforce import type { T } */\n  '@typescript-eslint/consistent-type-imports': [\n    'error',\n    { prefer: 'type-imports' },\n  ],\n  /** Shorthand method style is less strict */\n  '@typescript-eslint/method-signature-style': ['error', 'property'],\n  /** Enforces generic type convention */\n  '@typescript-eslint/naming-convention': [\n    'error',\n    {\n      selector: 'typeParameter',\n      format: ['PascalCase'],\n      leadingUnderscore: 'forbid',\n      trailingUnderscore: 'forbid',\n      custom: {\n        regex: '^(T|T[A-Z][A-Za-z]+)$',\n        match: true,\n      },\n    },\n  ],\n  /** Duplicate values can lead to bugs that are hard to track down */\n  '@typescript-eslint/no-duplicate-enum-values': 'error',\n  /** Using the operator any more than once does nothing */\n  '@typescript-eslint/no-extra-non-null-assertion': 'error',\n  /** There are several potential bugs with this compared to other loops */\n  '@typescript-eslint/no-for-in-array': 'error',\n  /** Don't over-define types for simple things like strings */\n  '@typescript-eslint/no-inferrable-types': [\n    'error',\n    { ignoreParameters: true },\n  ],\n  /** Enforce valid definition of new and constructor */\n  '@typescript-eslint/no-misused-new': 'error',\n  /** Disallow TypeScript namespaces */\n  '@typescript-eslint/no-namespace': 'error',\n  /** Disallow non-null assertions after an optional chain expression */\n  '@typescript-eslint/no-non-null-asserted-optional-chain': 'error',\n  /** Detects conditionals which will always evaluate truthy or falsy */\n  '@typescript-eslint/no-unnecessary-condition': 'error',\n  /** Checks if the the explicit type is identical to the inferred type */\n  '@typescript-eslint/no-unnecessary-type-assertion': 'error',\n  /** Disallow using the unsafe built-in Function type */\n  '@typescript-eslint/no-unsafe-function-type': 'error',\n  /** Disallow using confusing built-in primitive class wrappers */\n  '@typescript-eslint/no-wrapper-object-types': 'error',\n  /** Enforce the use of as const over literal type */\n  '@typescript-eslint/prefer-as-const': 'error',\n  /** Prefer for-of loop over the standard for loop */\n  '@typescript-eslint/prefer-for-of': 'warn',\n  /** Warn about async functions which have no await expression */\n  '@typescript-eslint/require-await': 'warn',\n  /** Prefer of ES6-style import declarations */\n  '@typescript-eslint/triple-slash-reference': 'error',\n}\n"],"mappings":";;;;AAKA,MAAaA,kBAAsC;CAEjD,iCAAiC,CAC/B,SACA;EAAE,SAAS;EAAW,UAAU;EAAW,CAC5C;CAED,qCAAqC,CACnC,SACA;EACE,mBAAmB;EACnB,aAAa;EACd,CACF;CAED,8CAA8C,CAC5C,SACA,EAAE,QAAQ,gBAAgB,CAC3B;CAED,6CAA6C,CAAC,SAAS,WAAW;CAElE,wCAAwC,CACtC,SACA;EACE,UAAU;EACV,QAAQ,CAAC,aAAa;EACtB,mBAAmB;EACnB,oBAAoB;EACpB,QAAQ;GACN,OAAO;GACP,OAAO;GACR;EACF,CACF;CAED,+CAA+C;CAE/C,kDAAkD;CAElD,sCAAsC;CAEtC,0CAA0C,CACxC,SACA,EAAE,kBAAkB,MAAM,CAC3B;CAED,qCAAqC;CAErC,mCAAmC;CAEnC,0DAA0D;CAE1D,+CAA+C;CAE/C,oDAAoD;CAEpD,8CAA8C;CAE9C,8CAA8C;CAE9C,sCAAsC;CAEtC,oCAAoC;CAEpC,oCAAoC;CAEpC,6CAA6C;CAC9C"}