eslint-plugin-class-requires-method-decorators

0.0.1 • Public • Published

eslint-plugin-venuex-require-decorator

Installation

$ npm install --save-dev eslint-plugin-venuex-require-decorator

or

$ yarn add -D eslint-plugin-venuex-require-decorator

Usage

// .eslintrc
{
    "plugins": ["require-decorator"],
    "rules": {
        "venuex-require-decorator/require-decorator": [
            1,
            {
                "classDecorators": ["Controller"],
                "methodDecorators": [
                    "ApiOperation",
                    "ApiResponse",
                    {
                        "oneOfThem": ["Get", "Post", "Put", "Delete", "Patch", "Options", "Head", "All"]
                    }
                ]
            },
            {
                // You can define multiple options
                "classDecorators": ["Service"],
                "methodDecorators": ["ServiceDecorator"]
            }
        ]
    }
}
// any.controller.ts
@Controller("users")
class UserController {
    test!: number;

    constructor(test: number) {
        this.test = test;
    }

    @ApiOperation()
    @Get()
    // Missing decorators; ApiResponse
    private getUserById(userId: number): void {
        return;
    }

    @ApiOperation()
    @ApiResponse()
    // Require one of them; Get || Post || Put || Delete || Patch || Options || Head || All
    deleteUserById(userId: number): void {
        return;
    }

    @Put()
    // Missing decorators; ApiOperation, ApiResponse
    async updateUserById(userId: number): void {
        return;
    }
}

Features

Completed
One of them ✔️
Validate fields
Validate async
Validate access modifiers
Fix (push required decorators) ✔️

Package Sidebar

Install

npm i eslint-plugin-class-requires-method-decorators

Weekly Downloads

1

Version

0.0.1

License

MIT

Unpacked Size

9.99 kB

Total Files

5

Last publish

Collaborators

  • jjestrel