Skip to content

Commit

Permalink
Merge pull request #2374 from github/aeisenberg/eslint
Browse files Browse the repository at this point in the history
Migrate to `eslint.config.mjs`
  • Loading branch information
aeisenberg committed Jul 17, 2024
2 parents c2585ec + 455bd98 commit 8e14792
Show file tree
Hide file tree
Showing 91 changed files with 22,220 additions and 606 deletions.
71 changes: 0 additions & 71 deletions .eslintrc.json

This file was deleted.

149 changes: 149 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
// Automatically generated by running npx @eslint/migrate-config .eslintrc.json

import path from "node:path";
import { fileURLToPath } from "node:url";

import { fixupConfigRules, fixupPluginRules } from "@eslint/compat";
import { FlatCompat } from "@eslint/eslintrc";
import js from "@eslint/js";
import typescriptEslint from "@typescript-eslint/eslint-plugin";
import tsParser from "@typescript-eslint/parser";
import filenames from "eslint-plugin-filenames";
import github from "eslint-plugin-github";
import _import from "eslint-plugin-import";
import noAsyncForeach from "eslint-plugin-no-async-foreach";
import globals from "globals";

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: [
"**/webpack.config.js",
"lib/**/*",
"src/testdata/**/*",
"tests/**/*",
"eslint.config.mjs",
".github/**/*",
],
},
...fixupConfigRules(
compat.extends(
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"plugin:github/recommended",
"plugin:github/typescript",
"plugin:import/typescript",
),
),
{
plugins: {
"@typescript-eslint": fixupPluginRules(typescriptEslint),
filenames: fixupPluginRules(filenames),
github: fixupPluginRules(github),
import: fixupPluginRules(_import),
"no-async-foreach": noAsyncForeach,
},

languageOptions: {
parser: tsParser,
ecmaVersion: 5,
sourceType: "module",

globals: {
...globals.node,
},

parserOptions: {
project: "./tsconfig.json",
},
},

settings: {
"import/resolver": {
node: {
moduleDirectory: ["node_modules", "src"],
},

typescript: {},
},
"import/ignore": ["sinon", "uuid", "@octokit/plugin-retry"],
},

rules: {
"filenames/match-regex": ["error", "^[a-z0-9-]+(\\.test)?$"],
"i18n-text/no-en": "off",

"import/extensions": [
"error",
{
json: {},
},
],

"import/no-amd": "error",
"import/no-commonjs": "error",
"import/no-cycle": "error",
"import/no-dynamic-require": "error",

"import/no-extraneous-dependencies": [
"error",
{
devDependencies: true,
},
],

"import/no-namespace": "off",
"import/no-unresolved": "error",
"import/no-webpack-loader-syntax": "error",

"import/order": [
"error",
{
alphabetize: {
order: "asc",
},

"newlines-between": "always",
},
],

"max-len": [
"error",
{
code: 120,
ignoreUrls: true,
ignoreStrings: true,
ignoreTemplateLiterals: true,
},
],

"no-async-foreach/no-async-foreach": "error",
"no-sequences": "error",
"no-shadow": "off",
"@typescript-eslint/no-shadow": "error",
"one-var": ["error", "never"],
},
},
{
files: ["**/*.ts", "**/*.js"],

rules: {
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/prefer-regexp-exec": "off",
"@typescript-eslint/require-await": "off",
"@typescript-eslint/restrict-template-expressions": "off",
"func-style": "off",
},
},
];
105 changes: 95 additions & 10 deletions node_modules/.package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 8e14792

Please sign in to comment.