@darraghor/eslint-plugin-nestjs-typed 6.2.4 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,7 +31,14 @@ export const shouldUseApiResponseDecorator = (node) => {
31
31
  "ApiUnsupportedMediaTypeResponse",
32
32
  "ApiDefaultResponse",
33
33
  ]);
34
- return hasApiMethodDecorator && !hasApiResponseDecorator;
34
+ // check if the containing class has ApiExcludeController decorator
35
+ const containingClass = node.parent?.parent;
36
+ const hasApiExcludeControllerDecorator = typedTokenHelpers.nodeHasDecoratorsNamed(containingClass, [
37
+ "ApiExcludeController",
38
+ ]);
39
+ return (hasApiMethodDecorator &&
40
+ !hasApiResponseDecorator &&
41
+ !hasApiExcludeControllerDecorator);
35
42
  };
36
43
  const rule = createRule({
37
44
  name: "api-method-should-specify-api-response",
@@ -61,4 +68,4 @@ const rule = createRule({
61
68
  },
62
69
  });
63
70
  export default rule;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpTWV0aG9kc1Nob3VsZFNwZWNpZnlBcGlSZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9hcGlNZXRob2RzU2hvdWxkU3BlY2lmeUFwaVJlc3BvbnNlL2FwaU1ldGhvZHNTaG91bGRTcGVjaWZ5QXBpUmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQ3pDLElBQStCLEVBQ3hCLEVBQUU7SUFDVCxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDLHNCQUFzQixDQUNsRSxJQUFJLEVBQ0osQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQ3RFLENBQUM7SUFFRixNQUFNLHVCQUF1QixHQUFHLGlCQUFpQixDQUFDLHNCQUFzQixDQUNwRSxJQUFJLEVBQ0o7UUFDSSxhQUFhO1FBQ2IsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLDZCQUE2QjtRQUM3QixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6Qiw0QkFBNEI7UUFDNUIscUJBQXFCO1FBQ3JCLGdDQUFnQztRQUNoQyx1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLDZCQUE2QjtRQUM3QiwwQkFBMEI7UUFDMUIsMkJBQTJCO1FBQzNCLCtCQUErQjtRQUMvQiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLCtCQUErQjtRQUMvQixnQ0FBZ0M7UUFDaEMsaUNBQWlDO1FBQ2pDLG9CQUFvQjtLQUN2QixDQUNKLENBQUM7SUFFRixPQUFPLHFCQUFxQixJQUFJLENBQUMsdUJBQXVCLENBQUM7QUFDN0QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFpQztJQUNwRCxJQUFJLEVBQUUsd0NBQXdDO0lBQzlDLElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCwwSkFBMEo7U0FDaks7UUFDRCxRQUFRLEVBQUU7WUFDTix3QkFBd0IsRUFBRSw4S0FBOEs7U0FDM007UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLElBQUksRUFBRSxZQUFZO0tBQ3JCO0lBQ0QsY0FBYyxFQUFFLEVBQUU7SUFFbEIsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsZ0JBQWdCLENBQUMsSUFBK0I7Z0JBQzVDLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDdEMsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDWCxJQUFJLEVBQUUsSUFBSTt3QkFDVixTQUFTLEVBQUUsMEJBQTBCO3FCQUN4QyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILGVBQWUsSUFBSSxDQUFDIn0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpTWV0aG9kc1Nob3VsZFNwZWNpZnlBcGlSZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9hcGlNZXRob2RzU2hvdWxkU3BlY2lmeUFwaVJlc3BvbnNlL2FwaU1ldGhvZHNTaG91bGRTcGVjaWZ5QXBpUmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQ3pDLElBQStCLEVBQ3hCLEVBQUU7SUFDVCxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDLHNCQUFzQixDQUNsRSxJQUFJLEVBQ0osQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQ3RFLENBQUM7SUFFRixNQUFNLHVCQUF1QixHQUFHLGlCQUFpQixDQUFDLHNCQUFzQixDQUNwRSxJQUFJLEVBQ0o7UUFDSSxhQUFhO1FBQ2IsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLDZCQUE2QjtRQUM3QixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6Qiw0QkFBNEI7UUFDNUIscUJBQXFCO1FBQ3JCLGdDQUFnQztRQUNoQyx1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLDZCQUE2QjtRQUM3QiwwQkFBMEI7UUFDMUIsMkJBQTJCO1FBQzNCLCtCQUErQjtRQUMvQiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLCtCQUErQjtRQUMvQixnQ0FBZ0M7UUFDaEMsaUNBQWlDO1FBQ2pDLG9CQUFvQjtLQUN2QixDQUNKLENBQUM7SUFFRixtRUFBbUU7SUFDbkUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFtQyxDQUFDO0lBQ3pFLE1BQU0sZ0NBQWdDLEdBQ2xDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLGVBQWUsRUFBRTtRQUN0RCxzQkFBc0I7S0FDekIsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUNILHFCQUFxQjtRQUNyQixDQUFDLHVCQUF1QjtRQUN4QixDQUFDLGdDQUFnQyxDQUNwQyxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFpQztJQUNwRCxJQUFJLEVBQUUsd0NBQXdDO0lBQzlDLElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCwwSkFBMEo7U0FDaks7UUFDRCxRQUFRLEVBQUU7WUFDTix3QkFBd0IsRUFBRSw4S0FBOEs7U0FDM007UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLElBQUksRUFBRSxZQUFZO0tBQ3JCO0lBQ0QsY0FBYyxFQUFFLEVBQUU7SUFFbEIsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsZ0JBQWdCLENBQUMsSUFBK0I7Z0JBQzVDLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDdEMsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDWCxJQUFJLEVBQUUsSUFBSTt3QkFDVixTQUFTLEVBQUUsMEJBQTBCO3FCQUN4QyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILGVBQWUsSUFBSSxDQUFDIn0=
@@ -5,7 +5,12 @@ export const shouldUseApiTagDecorator = (node) => {
5
5
  const hasApiTagDecorator = typedTokenHelpers.nodeHasDecoratorsNamed(node, [
6
6
  "ApiTags",
7
7
  ]);
8
- return hasControllerDecorator && !hasApiTagDecorator;
8
+ const hasApiExcludeControllerDecorator = typedTokenHelpers.nodeHasDecoratorsNamed(node, [
9
+ "ApiExcludeController",
10
+ ]);
11
+ return (hasControllerDecorator &&
12
+ !hasApiTagDecorator &&
13
+ !hasApiExcludeControllerDecorator);
9
14
  };
10
15
  const rule = createRule({
11
16
  name: "controllers-should-supply-api-tags",
@@ -35,4 +40,4 @@ const rule = createRule({
35
40
  },
36
41
  });
37
42
  export default rule;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MvY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQ3BDLElBQStCLEVBQ3hCLEVBQUU7SUFDVCxNQUFNLHNCQUFzQixHQUFHLGlCQUFpQixDQUFDLHNCQUFzQixDQUNuRSxJQUFJLEVBQ0osQ0FBQyxZQUFZLENBQUMsQ0FDakIsQ0FBQztJQUVGLE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFO1FBQ3RFLFNBQVM7S0FDWixDQUFDLENBQUM7SUFFSCxPQUFPLHNCQUFzQixJQUFJLENBQUMsa0JBQWtCLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFpQztJQUNwRCxJQUFJLEVBQUUsb0NBQW9DO0lBQzFDLElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCwyRUFBMkU7U0FDbEY7UUFDRCxRQUFRLEVBQUU7WUFDTix3QkFBd0IsRUFBRSwrSkFBK0o7U0FDNUw7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLElBQUksRUFBRSxZQUFZO0tBQ3JCO0lBQ0QsY0FBYyxFQUFFLEVBQUU7SUFFbEIsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsZ0JBQWdCLENBQUMsSUFBK0I7Z0JBQzVDLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDWCxJQUFJLEVBQUUsSUFBSTt3QkFDVixTQUFTLEVBQUUsMEJBQTBCO3FCQUN4QyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILGVBQWUsSUFBSSxDQUFDIn0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MvY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQ3BDLElBQStCLEVBQ3hCLEVBQUU7SUFDVCxNQUFNLHNCQUFzQixHQUFHLGlCQUFpQixDQUFDLHNCQUFzQixDQUNuRSxJQUFJLEVBQ0osQ0FBQyxZQUFZLENBQUMsQ0FDakIsQ0FBQztJQUVGLE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFO1FBQ3RFLFNBQVM7S0FDWixDQUFDLENBQUM7SUFFSCxNQUFNLGdDQUFnQyxHQUNsQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUU7UUFDM0Msc0JBQXNCO0tBQ3pCLENBQUMsQ0FBQztJQUVQLE9BQU8sQ0FDSCxzQkFBc0I7UUFDdEIsQ0FBQyxrQkFBa0I7UUFDbkIsQ0FBQyxnQ0FBZ0MsQ0FDcEMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBaUM7SUFDcEQsSUFBSSxFQUFFLG9DQUFvQztJQUMxQyxJQUFJLEVBQUU7UUFDRixJQUFJLEVBQUU7WUFDRixXQUFXLEVBQ1AsMkVBQTJFO1NBQ2xGO1FBQ0QsUUFBUSxFQUFFO1lBQ04sd0JBQXdCLEVBQUUsK0pBQStKO1NBQzVMO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixjQUFjLEVBQUUsS0FBSztRQUNyQixJQUFJLEVBQUUsWUFBWTtLQUNyQjtJQUNELGNBQWMsRUFBRSxFQUFFO0lBRWxCLE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTztZQUNILGdCQUFnQixDQUFDLElBQStCO2dCQUM1QyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2pDLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSSxFQUFFLElBQUk7d0JBQ1YsU0FBUyxFQUFFLDBCQUEwQjtxQkFDeEMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDO1NBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxlQUFlLElBQUksQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darraghor/eslint-plugin-nestjs-typed",
3
- "version": "6.2.4",
3
+ "version": "6.3.0",
4
4
  "description": "Eslint rules for nestjs projects",
5
5
  "scripts": {
6
6
  "clean": "rm -Rf ./dist/",
@@ -68,7 +68,7 @@
68
68
  "devDependencies": {
69
69
  "@commitlint/cli": "19.7.1",
70
70
  "@commitlint/config-conventional": "19.7.1",
71
- "@eslint/js": "9.20.0",
71
+ "@eslint/js": "9.21.0",
72
72
  "@semantic-release/changelog": "6.0.3",
73
73
  "@semantic-release/exec": "7.0.3",
74
74
  "@types/eslint": "9.6.1",
@@ -78,7 +78,7 @@
78
78
  "@typescript-eslint/parser": "8.24.0",
79
79
  "@typescript-eslint/rule-tester": "8.24.0",
80
80
  "class-validator": "0.14.1",
81
- "eslint": "9.20.1",
81
+ "eslint": "9.21.0",
82
82
  "eslint-config-prettier": "10.0.1",
83
83
  "eslint-plugin-prefer-arrow": "1.2.3",
84
84
  "eslint-plugin-unicorn": "56.0.1",