Skip to content

Commit

Permalink
Try to upgrade eslint and fix various dependency issues
Browse files Browse the repository at this point in the history
* 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
dghubble committed Oct 28, 2024
1 parent f177115 commit 6780e84
Show file tree
Hide file tree
Showing 5 changed files with 481 additions and 2,262 deletions.
4 changes: 0 additions & 4 deletions .eslintignore

This file was deleted.

55 changes: 0 additions & 55 deletions .eslintrc.json

This file was deleted.

89 changes: 89 additions & 0 deletions eslint.config.mjs
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",
},
}];
Loading

0 comments on commit 6780e84

Please sign in to comment.