40 lines
2.0 KiB
Plaintext
40 lines
2.0 KiB
Plaintext
"use strict";
|
|
// NOTE: this file is isolated to be shared across legacy and flat configs
|
|
// it is exported via `./use-at-your-own-risk/eslint-recommended-raw`
|
|
// and it has types manually defined in `./eslint-recommended-raw.d.ts`
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
/**
|
|
* This is a compatibility ruleset that:
|
|
* - disables rules from eslint:recommended which are already handled by TypeScript.
|
|
* - enables rules that make sense due to TS's typechecking / transpilation.
|
|
*/
|
|
exports.default = (style) => ({
|
|
files: style === 'glob'
|
|
? // classic configs use glob syntax
|
|
['*.ts', '*.tsx', '*.mts', '*.cts']
|
|
: // flat configs use minimatch syntax
|
|
['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'],
|
|
rules: {
|
|
'constructor-super': 'off', // ts(2335) & ts(2377)
|
|
'getter-return': 'off', // ts(2378)
|
|
'no-const-assign': 'off', // ts(2588)
|
|
'no-dupe-args': 'off', // ts(2300)
|
|
'no-dupe-class-members': 'off', // ts(2393) & ts(2300)
|
|
'no-dupe-keys': 'off', // ts(1117)
|
|
'no-func-assign': 'off', // ts(2630)
|
|
'no-import-assign': 'off', // ts(2632) & ts(2540)
|
|
'no-new-symbol': 'off', // ts(7009)
|
|
'no-obj-calls': 'off', // ts(2349)
|
|
'no-redeclare': 'off', // ts(2451)
|
|
'no-setter-return': 'off', // ts(2408)
|
|
'no-this-before-super': 'off', // ts(2376) & ts(17009)
|
|
'no-undef': 'off', // ts(2304) & ts(2552)
|
|
'no-unreachable': 'off', // ts(7027)
|
|
'no-unsafe-negation': 'off', // ts(2365) & ts(2322) & ts(2358)
|
|
'no-var': 'error', // ts transpiles let/const to var, so no need for vars any more
|
|
'prefer-const': 'error', // ts provides better types with const
|
|
'prefer-rest-params': 'error', // ts provides better types with rest args over arguments
|
|
'prefer-spread': 'error', // ts transpiles spread to apply, so no need for manual apply
|
|
},
|
|
});
|
|
//# sourceMappingURL=eslint-recommended-raw.js.map |