{ "root": true, "parser": "@typescript-eslint/parser", "parserOptions": { "project": ["./tsconfig.json"] }, "env": { "es6": true }, "ignorePatterns": ["node_modules", "build", "coverage", "proto"], "plugins": ["import", "eslint-comments", "functional"], "extends": [ "eslint:recommended", "plugin:eslint-comments/recommended", "plugin:@typescript-eslint/recommended", "plugin:import/typescript", "plugin:prettier/recommended" ], "globals": { "BigInt": true, "console": true, "WebAssembly": true }, "rules": { "no-restricted-imports": [ "error", { "paths": [{ "name": "debug", "message": "The usage of 'debug' package directly is disallowed. Please use the custom logger from @waku/utils instead." }] } ], "prettier/prettier": [ "error", { "trailingComma": "none" } ], "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/explicit-module-boundary-types": "off", "eslint-comments/disable-enable-pair": [ "error", { "allowWholeFile": true } ], "eslint-comments/no-unused-disable": "error", "import/order": [ "error", { "newlines-between": "always", "alphabetize": { "order": "asc" } } ], "no-constant-condition": ["error", { "checkLoops": false }], "import/no-extraneous-dependencies": [ "error", { "devDependencies": [ "**/*.test.ts", "**/*.spec.ts", "**/tests/**", "**/rollup.config.js", "**/playwright.config.ts", "**/.eslintrc.cjs", "**/karma.conf.cjs" ] } ], "sort-imports": [ "error", { "ignoreDeclarationSort": true, "ignoreCase": true } ], "no-console": "error", "@typescript-eslint/no-floating-promises": "error", "@typescript-eslint/await-thenable": "error", "@typescript-eslint/no-misused-promises": "error", "@typescript-eslint/no-explicit-any": "warn", "id-match": ["error", "^(?!.*[pP]ubSub)"] }, "overrides": [ { "files": ["*.spec.ts", "**/test_utils/*.ts", "*.js", "*.cjs"], "rules": { "@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/no-explicit-any": "off", "no-console": "off", "import/no-extraneous-dependencies": [ "error", { "devDependencies": true } ] } }, { "files": ["*.ts", "*.mts", "*.cts", "*.tsx"], "rules": { "@typescript-eslint/explicit-function-return-type": [ "error", { "allowExpressions": true } ] } }, { "files": ["**/ci/*.js"], "rules": { "no-undef": "off" } } ] }