Files
outline-mcp/eslint.config.js
Timo Behrendt fcaff53fb4
Some checks failed
CI / Test (pull_request) Failing after 1m25s
bit of ci
2025-07-15 19:30:52 +02:00

86 lines
1.8 KiB
JavaScript

import pluginJs from "@eslint/js";
import importPlugin from "eslint-plugin-import";
import prettier from "eslint-plugin-prettier";
import securityPlugin from "eslint-plugin-security";
import unicornPlugin from "eslint-plugin-unicorn";
import globals from "globals";
import tsPlugin from "typescript-eslint";
/** @type {import('eslint').Linter.Config[]} */
export default [
securityPlugin.configs.recommended,
{
files: ["**/*.ts"],
ignores: ["src/gen/**"],
},
{
languageOptions: { globals: globals.node },
},
{
rules: {
"no-restricted-syntax": ["off", "ForOfStatement"],
"no-console": ["error"],
"no-duplicate-imports": "error",
"prefer-template": "error",
quotes: ["error", "double", { avoidEscape: true }],
},
},
{
plugins: {
prettier,
},
rules: {
"prettier/prettier": [
1,
{
endOfLine: "lf",
printWidth: 180,
semi: true,
singleQuote: false,
tabWidth: 2,
trailingComma: "es5",
},
],
},
},
{
plugins: {
unicorn: unicornPlugin,
},
rules: {
"unicorn/empty-brace-spaces": "off",
"unicorn/no-null": "off",
},
},
{
plugins: {
import: importPlugin,
},
rules: {
"import/order": [
"error",
{
groups: [
"builtin",
"external",
"internal",
"parent",
"sibling",
"index",
"object",
"type",
],
"newlines-between": "always",
alphabetize: {
order: "asc",
caseInsensitive: true,
},
},
],
"import/no-duplicates": "error",
},
},
pluginJs.configs.recommended,
...tsPlugin.configs.recommended,
];