@darraghor/eslint-plugin-nestjs-typed 4.2.1 → 4.3.1

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.
package/README.md CHANGED
@@ -39,6 +39,7 @@ Awsome! [Click here](https://github.com/darraghoriordan/eslint-plugin-nestjs-typ
39
39
  | | [`validated-non-primitive-property-needs-type-decorator`](./src/docs/rules/validated-non-primitive-property-needs-type-decorator.md) | Y |
40
40
  | | [`all-properties-are-whitelisted`](./src/docs/rules/all-properties-are-whitelisted.md) | Y |
41
41
  | | [`all-properties-have-explicit-defined`](./src/docs/rules/all-properties-have-explicit-defined.md) | Y |
42
+ | | [`no-duplicate-decorators`](./src/docs/rules/no-duplicate-decorators.md) | Y |
42
43
  | | | |
43
44
  | Security | [`validation-pipe-should-forbid-unknown`](./src/docs/rules/validation-pipe-should-use-forbid-unknown.md) | Y |
44
45
  | | [`api-methods-should-be-guarded`](./src/docs/rules/api-methods-should-be-guarded.md) | N |
@@ -25,6 +25,7 @@ module.exports = {
25
25
  "@darraghor/nestjs-typed/api-methods-should-be-guarded": "off",
26
26
  "@darraghor/nestjs-typed/api-method-should-specify-api-operation": "off",
27
27
  "@darraghor/nestjs-typed/sort-module-metadata-arrays": "off",
28
+ "@darraghor/nestjs-typed/no-duplicate-decorators": "error",
28
29
  },
29
30
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb21tZW5kZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlncy9yZWNvbW1lbmRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUJBQVM7SUFDTCxNQUFNLEVBQUUsMkJBQTJCO0lBQ25DLGFBQWEsRUFBRSxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUM7SUFDckMsS0FBSyxFQUFFO1FBQ0gsMkVBQTJFLEVBQ3ZFLE9BQU87UUFDWCx1REFBdUQsRUFBRTtZQUNyRCxPQUFPO1lBQ1A7Z0JBQ0ksR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUNwQixlQUFlLEVBQUUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQzthQUN4RDtTQUNKO1FBQ0QsbUVBQW1FLEVBQy9ELE9BQU87UUFDWCxnRUFBZ0UsRUFDNUQsT0FBTztRQUNYLDREQUE0RCxFQUFFLE9BQU87UUFDckUsMERBQTBELEVBQUUsT0FBTztRQUNuRSx1RUFBdUUsRUFDbkUsT0FBTztRQUNYLDhEQUE4RCxFQUFFLE9BQU87UUFDdkUsa0VBQWtFLEVBQzlELE9BQU87UUFDWCwrRUFBK0UsRUFDM0UsT0FBTztRQUNYLGtFQUFrRSxFQUM5RCxPQUFPO1FBQ1gsd0RBQXdELEVBQUUsT0FBTztRQUNqRSw4REFBOEQsRUFBRSxPQUFPO1FBQ3ZFLHVEQUF1RCxFQUFFLEtBQUs7UUFDOUQsaUVBQWlFLEVBQzdELEtBQUs7UUFDVCxxREFBcUQsRUFBRSxLQUFLO0tBQy9EO0NBQ0osQ0FBQyJ9
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb21tZW5kZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlncy9yZWNvbW1lbmRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUJBQVM7SUFDTCxNQUFNLEVBQUUsMkJBQTJCO0lBQ25DLGFBQWEsRUFBRSxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUM7SUFDckMsS0FBSyxFQUFFO1FBQ0gsMkVBQTJFLEVBQ3ZFLE9BQU87UUFDWCx1REFBdUQsRUFBRTtZQUNyRCxPQUFPO1lBQ1A7Z0JBQ0ksR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUNwQixlQUFlLEVBQUUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQzthQUN4RDtTQUNKO1FBQ0QsbUVBQW1FLEVBQy9ELE9BQU87UUFDWCxnRUFBZ0UsRUFDNUQsT0FBTztRQUNYLDREQUE0RCxFQUFFLE9BQU87UUFDckUsMERBQTBELEVBQUUsT0FBTztRQUNuRSx1RUFBdUUsRUFDbkUsT0FBTztRQUNYLDhEQUE4RCxFQUFFLE9BQU87UUFDdkUsa0VBQWtFLEVBQzlELE9BQU87UUFDWCwrRUFBK0UsRUFDM0UsT0FBTztRQUNYLGtFQUFrRSxFQUM5RCxPQUFPO1FBQ1gsd0RBQXdELEVBQUUsT0FBTztRQUNqRSw4REFBOEQsRUFBRSxPQUFPO1FBQ3ZFLHVEQUF1RCxFQUFFLEtBQUs7UUFDOUQsaUVBQWlFLEVBQzdELEtBQUs7UUFDVCxxREFBcUQsRUFBRSxLQUFLO1FBQzVELGlEQUFpRCxFQUFFLE9BQU87S0FDN0Q7Q0FDSixDQUFDIn0=
@@ -19,10 +19,12 @@ const allPropertiesHaveExplicitDefined_1 = __importDefault(require("./allPropert
19
19
  const apiMethodsShouldBeGuarded_1 = __importDefault(require("./apiMethodsShouldBeGuarded/apiMethodsShouldBeGuarded"));
20
20
  const apiMethodsShouldSpecifyApiOperation_1 = __importDefault(require("./apiMethodsShouldSpecifyApiOperation/apiMethodsShouldSpecifyApiOperation"));
21
21
  const sortModuleMetadataArrays_1 = __importDefault(require("./sortModuleMetadataArrays/sortModuleMetadataArrays"));
22
+ const noDuplicateDecorators_1 = __importDefault(require("./noDuplicateDecorators/noDuplicateDecorators"));
22
23
  const allRules = {
23
24
  "all-properties-have-explicit-defined": allPropertiesHaveExplicitDefined_1.default,
24
25
  "api-property-matches-property-optionality": apiPropertyMatchesPropertyOptionality_1.default,
25
26
  "injectable-should-be-provided": injectableShouldBeProvided_1.default,
27
+ "no-duplicate-decorators": noDuplicateDecorators_1.default,
26
28
  "provided-injected-should-match-factory-parameters": ProviderInjectedShouldMatchFactory_1.default,
27
29
  "controllers-should-supply-api-tags": controllerDecoratedHasApiTags_1.default,
28
30
  "api-method-should-specify-api-response": apiMethodsShouldSpecifyApiResponse_1.default,
@@ -38,4 +40,4 @@ const allRules = {
38
40
  "sort-module-metadata-arrays": sortModuleMetadataArrays_1.default,
39
41
  };
40
42
  exports.default = allRules;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwwSEFBa0c7QUFDbEcsaUpBQW1JO0FBQ25JLDBKQUFrSTtBQUNsSSxrSUFBMEc7QUFDMUcsaUpBQXlIO0FBQ3pILCtIQUF1RztBQUN2RyxnS0FBd0k7QUFDeEksbUpBQXVIO0FBQ3ZILG9KQUFnSTtBQUNoSSx1SkFBK0g7QUFDL0gsaUpBQXlIO0FBQ3pILDRIQUFvRztBQUNwRywySUFBbUg7QUFDbkgsc0hBQThGO0FBQzlGLG9KQUE0SDtBQUM1SCxtSEFBMkY7QUFFM0YsTUFBTSxRQUFRLEdBQUc7SUFDYixzQ0FBc0MsRUFBRSwwQ0FBZ0M7SUFDeEUsMkNBQTJDLEVBQ3ZDLCtDQUFxQztJQUN6QywrQkFBK0IsRUFBRSxvQ0FBMEI7SUFDM0QsbURBQW1ELEVBQy9DLDRDQUE0QztJQUNoRCxvQ0FBb0MsRUFBRSx1Q0FBNkI7SUFDbkUsd0NBQXdDLEVBQ3BDLDRDQUFrQztJQUN0Qyx5Q0FBeUMsRUFDckMsNkNBQW1DO0lBQ3ZDLGtDQUFrQyxFQUFFLHNDQUE0QjtJQUNoRSwrQ0FBK0MsRUFDM0MsaURBQXVDO0lBQzNDLHNDQUFzQyxFQUFFLDhDQUFnQztJQUN4RSwwQ0FBMEMsRUFDdEMsNkNBQXVDO0lBQzNDLHVEQUF1RCxFQUNuRCw2Q0FBbUM7SUFDdkMsMENBQTBDLEVBQ3RDLDRDQUFrQztJQUN0QyxnQ0FBZ0MsRUFBRSxxQ0FBMkI7SUFDN0QsK0JBQStCLEVBQUUsbUNBQXlCO0lBQzFELDZCQUE2QixFQUFFLGtDQUF3QjtDQUMxRCxDQUFDO0FBRUYsa0JBQWUsUUFBUSxDQUFDIn0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwwSEFBa0c7QUFDbEcsaUpBQW1JO0FBQ25JLDBKQUFrSTtBQUNsSSxrSUFBMEc7QUFDMUcsaUpBQXlIO0FBQ3pILCtIQUF1RztBQUN2RyxnS0FBd0k7QUFDeEksbUpBQXVIO0FBQ3ZILG9KQUFnSTtBQUNoSSx1SkFBK0g7QUFDL0gsaUpBQXlIO0FBQ3pILDRIQUFvRztBQUNwRywySUFBbUg7QUFDbkgsc0hBQThGO0FBQzlGLG9KQUE0SDtBQUM1SCxtSEFBMkY7QUFDM0YsMEdBQWtGO0FBQ2xGLE1BQU0sUUFBUSxHQUFHO0lBQ2Isc0NBQXNDLEVBQUUsMENBQWdDO0lBQ3hFLDJDQUEyQyxFQUN2QywrQ0FBcUM7SUFDekMsK0JBQStCLEVBQUUsb0NBQTBCO0lBQzNELHlCQUF5QixFQUFFLCtCQUFxQjtJQUNoRCxtREFBbUQsRUFDL0MsNENBQTRDO0lBQ2hELG9DQUFvQyxFQUFFLHVDQUE2QjtJQUNuRSx3Q0FBd0MsRUFDcEMsNENBQWtDO0lBQ3RDLHlDQUF5QyxFQUNyQyw2Q0FBbUM7SUFDdkMsa0NBQWtDLEVBQUUsc0NBQTRCO0lBQ2hFLCtDQUErQyxFQUMzQyxpREFBdUM7SUFDM0Msc0NBQXNDLEVBQUUsOENBQWdDO0lBQ3hFLDBDQUEwQyxFQUN0Qyw2Q0FBdUM7SUFDM0MsdURBQXVELEVBQ25ELDZDQUFtQztJQUN2QywwQ0FBMEMsRUFDdEMsNENBQWtDO0lBQ3RDLGdDQUFnQyxFQUFFLHFDQUEyQjtJQUM3RCwrQkFBK0IsRUFBRSxtQ0FBeUI7SUFDMUQsNkJBQTZCLEVBQUUsa0NBQXdCO0NBQzFELENBQUM7QUFFRixrQkFBZSxRQUFRLENBQUMifQ==
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.standardDecoratorsToValidate = exports.shouldTrigger = void 0;
4
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
5
+ /* eslint-disable unicorn/prevent-abbreviations */
6
+ const createRule_1 = require("../../utils/createRule");
7
+ const utils_1 = require("@typescript-eslint/utils");
8
+ const shouldTrigger = () => {
9
+ return true;
10
+ };
11
+ exports.shouldTrigger = shouldTrigger;
12
+ exports.standardDecoratorsToValidate = ["Controller", "Injectable"];
13
+ const rule = (0, createRule_1.createRule)({
14
+ name: "no-duplicate-decorators",
15
+ meta: {
16
+ docs: {
17
+ description: "Some decorators should only be used once on a property or class. This rule enforces that.",
18
+ requiresTypeChecking: false,
19
+ },
20
+ messages: {
21
+ noDuplicateDecorators: "You have listed the same decorator more than once. Was this intentional?",
22
+ },
23
+ schema: [
24
+ {
25
+ type: "object",
26
+ properties: {
27
+ customList: {
28
+ description: "A list of custom decorators that this rule will validate for duplicates",
29
+ type: "array",
30
+ minItems: 0,
31
+ items: {
32
+ type: "string",
33
+ minLength: 1,
34
+ },
35
+ },
36
+ },
37
+ },
38
+ ],
39
+ hasSuggestions: true,
40
+ type: "suggestion",
41
+ },
42
+ defaultOptions: [
43
+ {
44
+ customList: new Array(),
45
+ },
46
+ ],
47
+ create(context) {
48
+ const customListArrayItem = context.options?.[0];
49
+ let decoratorsToValidate = customListArrayItem?.customList;
50
+ if (!customListArrayItem?.customList ||
51
+ customListArrayItem?.customList.length === 0) {
52
+ decoratorsToValidate = exports.standardDecoratorsToValidate;
53
+ }
54
+ return {
55
+ ["PropertyDefinition,ClassDeclaration"](node) {
56
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
57
+ const allDecorators = node?.decorators;
58
+ if (allDecorators && allDecorators.length > 1) {
59
+ const decoratorNames = allDecorators.map((decorator) => {
60
+ if (decorator.expression.type ===
61
+ utils_1.TSESTree.AST_NODE_TYPES.CallExpression &&
62
+ decorator.expression.callee &&
63
+ decorator.expression.callee.type ===
64
+ utils_1.TSESTree.AST_NODE_TYPES.Identifier) {
65
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
66
+ return decorator.expression.callee.name;
67
+ }
68
+ return "";
69
+ });
70
+ const duplicateDecorators = decoratorNames.filter((decoratorName, index) => {
71
+ return (decoratorName &&
72
+ decoratorNames.indexOf(decoratorName) !== index);
73
+ });
74
+ if (duplicateDecorators.length > 0 &&
75
+ decoratorsToValidate.some((decoratorToValidate) => duplicateDecorators.includes(decoratorToValidate))) {
76
+ context.report({
77
+ node: node,
78
+ messageId: "noDuplicateDecorators",
79
+ suggest: [
80
+ {
81
+ messageId: "noDuplicateDecorators",
82
+ fix: (fixer) => {
83
+ const decoratorsToKeep = decoratorNames.filter((decoratorName, index) => {
84
+ return (decoratorName &&
85
+ decoratorNames.indexOf(decoratorName) === index);
86
+ });
87
+ const decoratorsToKeepText = decoratorsToKeep.join(", ");
88
+ return fixer.replaceText(node, decoratorsToKeepText);
89
+ },
90
+ },
91
+ ],
92
+ });
93
+ }
94
+ }
95
+ },
96
+ };
97
+ },
98
+ });
99
+ exports.default = rule;
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9EdXBsaWNhdGVEZWNvcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL25vRHVwbGljYXRlRGVjb3JhdG9ycy9ub0R1cGxpY2F0ZURlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQStEO0FBQy9ELGtEQUFrRDtBQUNsRCx1REFBa0Q7QUFFbEQsb0RBQWtEO0FBTzNDLE1BQU0sYUFBYSxHQUFHLEdBQVksRUFBRTtJQUN2QyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFGVyxRQUFBLGFBQWEsaUJBRXhCO0FBQ1csUUFBQSw0QkFBNEIsR0FBRyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztBQUN6RSxNQUFNLElBQUksR0FBRyxJQUFBLHVCQUFVLEVBQXdEO0lBQzNFLElBQUksRUFBRSx5QkFBeUI7SUFDL0IsSUFBSSxFQUFFO1FBQ0YsSUFBSSxFQUFFO1lBQ0YsV0FBVyxFQUNQLDJGQUEyRjtZQUMvRixvQkFBb0IsRUFBRSxLQUFLO1NBQzlCO1FBQ0QsUUFBUSxFQUFFO1lBQ04scUJBQXFCLEVBQ2pCLDBFQUEwRTtTQUNqRjtRQUNELE1BQU0sRUFBRTtZQUNKO2dCQUNJLElBQUksRUFBRSxRQUErQjtnQkFDckMsVUFBVSxFQUFFO29CQUNSLFVBQVUsRUFBRTt3QkFDUixXQUFXLEVBQ1AseUVBQXlFO3dCQUM3RSxJQUFJLEVBQUUsT0FBOEI7d0JBQ3BDLFFBQVEsRUFBRSxDQUFDO3dCQUNYLEtBQUssRUFBRTs0QkFDSCxJQUFJLEVBQUUsUUFBK0I7NEJBQ3JDLFNBQVMsRUFBRSxDQUFDO3lCQUNmO3FCQUNKO2lCQUNKO2FBQ0o7U0FDSjtRQUNELGNBQWMsRUFBRSxJQUFJO1FBQ3BCLElBQUksRUFBRSxZQUFZO0tBQ3JCO0lBQ0QsY0FBYyxFQUFFO1FBQ1o7WUFDSSxVQUFVLEVBQUUsSUFBSSxLQUFLLEVBQVU7U0FDbEM7S0FDSjtJQUVELE1BQU0s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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darraghor/eslint-plugin-nestjs-typed",
3
- "version": "4.2.1",
3
+ "version": "4.3.1",
4
4
  "description": "Eslint rules for nestjs projects",
5
5
  "scripts": {
6
6
  "clean": "rm -Rf ./dist/",
@@ -43,24 +43,24 @@
43
43
  "main": "dist/index.js",
44
44
  "types": "index.d.ts",
45
45
  "dependencies": {
46
- "@typescript-eslint/scope-manager": "6.7.4",
47
- "@typescript-eslint/utils": "6.7.4",
46
+ "@typescript-eslint/scope-manager": "6.8.0",
47
+ "@typescript-eslint/utils": "6.8.0",
48
48
  "eslint-module-utils": "2.8.0",
49
49
  "reflect-metadata": "0.1.13"
50
50
  },
51
51
  "devDependencies": {
52
- "@commitlint/cli": "17.7.2",
53
- "@commitlint/config-conventional": "17.7.0",
52
+ "@commitlint/cli": "17.8.0",
53
+ "@commitlint/config-conventional": "17.8.0",
54
54
  "@semantic-release/changelog": "6.0.3",
55
55
  "@semantic-release/exec": "6.0.3",
56
- "@types/eslint": "8.44.3",
56
+ "@types/eslint": "8.44.4",
57
57
  "@types/jest": "29.5.5",
58
- "@types/node": "20.8.2",
59
- "@typescript-eslint/eslint-plugin": "6.7.4",
60
- "@typescript-eslint/parser": "6.7.4",
61
- "@typescript-eslint/rule-tester": "6.7.4",
58
+ "@types/node": "20.8.6",
59
+ "@typescript-eslint/eslint-plugin": "6.8.0",
60
+ "@typescript-eslint/parser": "6.8.0",
61
+ "@typescript-eslint/rule-tester": "6.8.0",
62
62
  "class-validator": "^0.14",
63
- "eslint": "8.50.0",
63
+ "eslint": "8.51.0",
64
64
  "eslint-config-prettier": "9.0.0",
65
65
  "eslint-plugin-prefer-arrow": "1.2.3",
66
66
  "eslint-plugin-unicorn": "48.0.1",
@@ -68,7 +68,7 @@
68
68
  "jest": "29.7.0",
69
69
  "jest-create-mock-instance": "2.0.0",
70
70
  "jest-junit": "16.0.0",
71
- "lint-staged": "14.0.1",
71
+ "lint-staged": "15.0.1",
72
72
  "prettier": "3.0.3",
73
73
  "semantic-release": "22.0.5",
74
74
  "ts-jest": "29.1.1",