Rules for consistent @vanyauhalin/result usage.
npm install --save-dev @vanyauhalin/eslint-plugin-resultnpm install --save-dev --registry https://npm.pkg.github.com @vanyauhalin/eslint-plugin-resultnpx jsr add --dev @vanyauhalin/eslint-plugin-resultnpm install --save-dev vanyauhalin-eslint-plugin-result-x.x.x.tgzimport parser from "@typescript-eslint/parser"
import result from "@vanyauhalin/eslint-plugin-result"
export default [
{
files: ["**/*.js", "**/*.ts"],
languageOptions: {
parser,
parserOptions: {
projectService: true,
},
},
},
result.configs.recommended,
]Plugin settings go in the settings.result object.
disableTargetGuard(boolean, default:false) — Controls whether the plugin should enforce rules when@vanyauhalin/resultnot detected in the project. By default, all rules become no-op when the target package is not installed. Set this totrueto enforce rules regardless of package presence.
import result from "@vanyauhalin/result"
export default [
{
files: ["**/*.js", "**/*.ts"],
settings: {
result: {
disableTargetGuard: true,
},
},
},
result.configs.recommended,
]💼 Configurations enabled in.
✅ Set in the recommended configuration.
🔧 Automatically fixable by the --fix CLI option.
💭 Requires type information.
| Name | Description | 💼 | 🔧 | 💭 |
|---|---|---|---|---|
| no-arrow-function-argument | Disallow arrow functions as the first argument to safeSync and safeAsync calls. Prefer to move function definitions outside of the call arguments. |
✅ | ||
| no-async-function-in-sync | Disallow async functions as the first argument to safeSync calls. Prefer to use safeAsync for async functions. |
✅ | 💭 | |
| no-bare-error-return | Disallow returning unwrapped errors from Result objects. Prefer to wrap errors with additional context. |
✅ | ||
| no-function-argument | Disallow function expressions (both named and anonymous) as the first argument to safeSync and safeAsync functions. Prefer to move function definitions outside of the call arguments. |
✅ | ||
| no-iife-argument | Disallow immediately invoked function expressions (IIFE) as the first argument to safeNew, safeSync, and safeAsync calls. Prefer to define the function outside the call arguments. |
✅ | ||
| no-newline-before-error-check | Disallow empty lines between safeNew, safeSync, and safeAsync calls and their immediate error checks. Prefer to maintain locality of error handling. |
✅ | 🔧 | |
| no-result-destructuring | Disallow destructuring Result objects from safeNew, safeSync, and safeAsync calls. Prefer to access v and err properties explicitly. |
✅ | ||
| prefer-safe-over-try-catch | Prefer safeNew, safeSync, and safeAsync calls over try-catch blocks. |
✅ |
This package is ESM only. The minimum supported ESLint version is 9, Node.js
version is 18.18, TypeScript version is 4.8.4, and @typescript-eslint/parser
version is 8.