101 lines
2.7 KiB
Plaintext
101 lines
2.7 KiB
Plaintext
{
|
|
"root": true,
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/base",
|
|
"plugin:@typescript-eslint/eslint-recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:prettier/recommended",
|
|
"plugin:import/recommended",
|
|
"plugin:import/typescript"
|
|
],
|
|
"plugins": ["n"],
|
|
"ignorePatterns": ["dist", "node_modules"],
|
|
"rules": {
|
|
"no-var": "error",
|
|
"prefer-const": "warn",
|
|
"no-misleading-character-class": "warn",
|
|
"eqeqeq": ["error", "always", { "null": "ignore" }],
|
|
"n/global-require": "error",
|
|
"n/no-extraneous-import": "error",
|
|
"n/prefer-node-protocol": "error",
|
|
"import/extensions": ["off", "ignorePackages"],
|
|
"import/export": "off",
|
|
"import/namespace": "off",
|
|
"import/no-deprecated": "error",
|
|
"import/no-absolute-path": "error",
|
|
"import/no-dynamic-require": "error",
|
|
"import/no-self-import": "error",
|
|
"import/order": [
|
|
"error",
|
|
{
|
|
"named": true,
|
|
"distinctGroup": true,
|
|
"alphabetize": { "order": "asc" },
|
|
"newlines-between": "never",
|
|
"groups": [
|
|
"builtin",
|
|
"external",
|
|
"internal",
|
|
"parent",
|
|
["index", "sibling"],
|
|
"object"
|
|
]
|
|
}
|
|
],
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{ "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }
|
|
],
|
|
"@typescript-eslint/ban-ts-comment": "off",
|
|
"@typescript-eslint/no-empty-interface": "off",
|
|
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
"@typescript-eslint/no-empty-function": "off",
|
|
"@typescript-eslint/no-explicit-any": "off"
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["jest.config.js"],
|
|
"env": { "commonjs": true }
|
|
},
|
|
{
|
|
"files": ["jest.setup.js"],
|
|
"env": { "jest": true }
|
|
},
|
|
{
|
|
"files": "*.js",
|
|
"rules": {
|
|
"@typescript-eslint/no-var-requires": "off"
|
|
}
|
|
},
|
|
{
|
|
"files": ["**/*.test.ts", "**/tests/**/*.ts"],
|
|
"rules": {
|
|
"n/no-extraneous-import": [
|
|
"error",
|
|
{ "allowModules": ["@atproto/dev-env"] }
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"settings": {
|
|
"node": { "version": ">=18.7.0" },
|
|
"import/internal-regex": "^@atproto(?:-labs)?/",
|
|
"import/parsers": { "@typescript-eslint/parser": [".ts", ".tsx"] },
|
|
"import/resolver": {
|
|
"typescript": {
|
|
"project": [
|
|
"tsconfig.json",
|
|
"packages/oauth/*/tsconfig.json",
|
|
"packages/oauth/*/tsconfig.src.json",
|
|
"packages/internal/*/tsconfig.json",
|
|
"packages/*/tsconfig.json"
|
|
]
|
|
},
|
|
"node": {
|
|
"extensions": [".js", ".jsx", ".json"]
|
|
}
|
|
}
|
|
}
|
|
}
|