-
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Try to upgrade eslint and fix various dependency issues
* eslint seems to require another file format now ugh https://eslint.org/docs/latest/use/configure/migration-guide * Some of these plugins seem to have conflicting peer dependencies or no longer be in favor for some reason. At this point, GitHub's template for a Typescript action looks quite different and there is no good way to replicate these constant refactors into every action so I guess we're a bit on our own * Honestly this is frustrating. These tools are constantly changing, dependabot version bumps are rarely green, and these updates rarely add value. Consider if these tools are worth the time sink Rel: actions/typescript-action#732 Rel: actions/typescript-action#940
- Loading branch information
Showing
5 changed files
with
481 additions
and
2,262 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
import jest from "eslint-plugin-jest"; | ||
import typescriptEslint from "@typescript-eslint/eslint-plugin"; | ||
import globals from "globals"; | ||
import tsParser from "@typescript-eslint/parser"; | ||
import path from "node:path"; | ||
import { fileURLToPath } from "node:url"; | ||
import js from "@eslint/js"; | ||
import { FlatCompat } from "@eslint/eslintrc"; | ||
|
||
const __filename = fileURLToPath(import.meta.url); | ||
const __dirname = path.dirname(__filename); | ||
const compat = new FlatCompat({ | ||
baseDirectory: __dirname, | ||
recommendedConfig: js.configs.recommended, | ||
allConfig: js.configs.all | ||
}); | ||
|
||
export default [{ | ||
ignores: ["**/dist/", "**/lib/", "**/node_modules/", "**/jest.config.js"], | ||
}, ...compat.extends( | ||
"eslint:recommended", | ||
"plugin:@typescript-eslint/eslint-recommended", | ||
), { | ||
plugins: { | ||
jest, | ||
"@typescript-eslint": typescriptEslint, | ||
}, | ||
|
||
languageOptions: { | ||
globals: { | ||
...globals.node, | ||
...jest.environments.globals.globals, | ||
}, | ||
|
||
parser: tsParser, | ||
ecmaVersion: 9, | ||
sourceType: "module", | ||
|
||
parserOptions: { | ||
project: "./tsconfig.json", | ||
}, | ||
}, | ||
|
||
rules: { | ||
"i18n-text/no-en": "off", | ||
"eslint-comments/no-use": "off", | ||
"import/no-namespace": "off", | ||
"no-unused-vars": "off", | ||
"@typescript-eslint/no-unused-vars": "error", | ||
|
||
"@typescript-eslint/explicit-member-accessibility": ["error", { | ||
accessibility: "no-public", | ||
}], | ||
|
||
"@typescript-eslint/no-require-imports": "error", | ||
"@typescript-eslint/array-type": "error", | ||
"@typescript-eslint/await-thenable": "error", | ||
"@typescript-eslint/ban-ts-comment": "error", | ||
camelcase: "off", | ||
"@typescript-eslint/consistent-type-assertions": "error", | ||
|
||
"@typescript-eslint/explicit-function-return-type": ["error", { | ||
allowExpressions: true, | ||
}], | ||
|
||
"@typescript-eslint/no-array-constructor": "error", | ||
"@typescript-eslint/no-empty-interface": "error", | ||
"@typescript-eslint/no-explicit-any": "error", | ||
"@typescript-eslint/no-extraneous-class": "error", | ||
"@typescript-eslint/no-for-in-array": "error", | ||
"@typescript-eslint/no-inferrable-types": "error", | ||
"@typescript-eslint/no-misused-new": "error", | ||
"@typescript-eslint/no-namespace": "error", | ||
"@typescript-eslint/no-non-null-assertion": "warn", | ||
"@typescript-eslint/no-unnecessary-qualifier": "error", | ||
"@typescript-eslint/no-unnecessary-type-assertion": "error", | ||
"@typescript-eslint/no-useless-constructor": "error", | ||
"@typescript-eslint/no-var-requires": "error", | ||
"@typescript-eslint/prefer-for-of": "warn", | ||
"@typescript-eslint/prefer-function-type": "warn", | ||
"@typescript-eslint/prefer-includes": "error", | ||
"@typescript-eslint/prefer-string-starts-ends-with": "error", | ||
"@typescript-eslint/promise-function-async": "error", | ||
"@typescript-eslint/require-array-sort-compare": "error", | ||
"@typescript-eslint/restrict-plus-operands": "error", | ||
semi: "off", | ||
"@typescript-eslint/unbound-method": "error", | ||
}, | ||
}]; |
Oops, something went wrong.