@darraghor/eslint-plugin-nestjs-typed 3.5.2 → 3.5.6

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
@@ -219,6 +219,8 @@ export class CreateOrganisationDto {
219
219
 
220
220
  This rule will verify you have entered a `Param("name")` that has a matching url parameter in a controller or method decorator
221
221
 
222
+ NOTE: nestjs allows for fuzzy matching params in paths with `_+?()*` as regex params. This rule doesn't support parsing paths with regex so we will ignore any routes with these characters in them.
223
+
222
224
  this PASSES because the uuid param is in the `Get()` decorator
223
225
 
224
226
  ```ts
@@ -1,33 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
2
  Object.defineProperty(exports, "__esModule", { value: true });
22
3
  exports.needsEnumNameMatchingEnumType = exports.hasEnumSpecifiedCorrectly = void 0;
23
4
  const eslint_utils_1 = require("@typescript-eslint/experimental-utils/dist/eslint-utils");
24
5
  const createRule_1 = require("../../utils/createRule");
25
6
  const typedTokenHelpers_1 = require("../../utils/typedTokenHelpers");
26
7
  const enumTestResultModel_1 = require("./enumTestResultModel");
27
- // eslint-disable-next-line unicorn/import-style
28
- //import util from "util";
29
- const tsutils = __importStar(require("tsutils"));
30
- const typescript_1 = require("typescript");
31
8
  const noChangesRequiredResult = new enumTestResultModel_1.EnumTestResultModel({
32
9
  needsEnumAdded: false,
33
10
  needsEnumNameAdded: false,
@@ -108,7 +85,7 @@ const rule = (0, createRule_1.createRule)({
108
85
  PropertyDefinition(node) {
109
86
  const mappedNode = parserServices.esTreeNodeToTSNodeMap.get(node);
110
87
  const objectType = typeChecker.getTypeAtLocation(mappedNode);
111
- const isEnumType = tsutils.isTypeFlagSet(objectType, typescript_1.TypeFlags.EnumLike);
88
+ const isEnumType = typedTokenHelpers_1.typedTokenHelpers.isEnumType(objectType);
112
89
  const result = (0, exports.hasEnumSpecifiedCorrectly)(node, isEnumType);
113
90
  if (result.needsEnumNameAdded) {
114
91
  context.report({
@@ -133,4 +110,4 @@ const rule = (0, createRule_1.createRule)({
133
110
  },
134
111
  });
135
112
  exports.default = rule;
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpRW51bVByb3BlcnR5QmVzdFByYWN0aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9hcGlFbnVtUHJvcGVydHlCZXN0UHJhY3RpY2VzL2FwaUVudW1Qcm9wZXJ0eUJlc3RQcmFjdGljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBGQUEwRjtBQUUxRix1REFBa0Q7QUFDbEQscUVBQWdFO0FBQ2hFLCtEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsMEJBQTBCO0FBQzFCLGlEQUFtQztBQUNuQywyQ0FBcUM7QUFFckMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLHlDQUFtQixDQUFDO0lBQ3BELGNBQWMsRUFBRSxLQUFLO0lBQ3JCLGtCQUFrQixFQUFFLEtBQUs7SUFDekIsNEJBQTRCLEVBQUUsS0FBSztJQUNuQyxnQkFBZ0IsRUFBRSxLQUFLO0NBQzFCLENBQUMsQ0FBQztBQUVJLE1BQU0seUJBQXlCLEdBQUcsQ0FDckMsSUFBbUIsRUFDbkIsVUFBbUIsRUFDQSxFQUFFO0lBQ3JCLGtCQUFrQjtJQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2IsT0FBTyx1QkFBdUIsQ0FBQztLQUNsQztJQUVELDJDQUEyQztJQUMzQyxNQUFNLFVBQVUsR0FBRyxxQ0FBaUIsQ0FBQyxrQkFBa0IsQ0FDbkQsSUFBbUMsRUFDbkMsQ0FBQyxxQkFBcUIsRUFBRSxhQUFhLENBQUMsQ0FDekMsQ0FBQztJQUVGLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDekIsT0FBTyx1QkFBdUIsQ0FBQztLQUNsQztJQUVELHNHQUFzRztJQUN0RyxNQUFNLGFBQWEsR0FBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBc0M7U0FDdEUsU0FBUyxDQUFDLENBQUMsQ0FBOEIsQ0FBQztJQUMvQyxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2hCLE9BQU8sSUFBSSx5Q0FB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
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpRW51bVByb3BlcnR5QmVzdFByYWN0aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9hcGlFbnVtUHJvcGVydHlCZXN0UHJhY3RpY2VzL2FwaUVudW1Qcm9wZXJ0eUJlc3RQcmFjdGljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMEZBQTBGO0FBRTFGLHVEQUFrRDtBQUNsRCxxRUFBZ0U7QUFDaEUsK0RBQTBEO0FBRTFELE1BQU0sdUJBQXVCLEdBQUcsSUFBSSx5Q0FBbUIsQ0FBQztJQUNwRCxjQUFjLEVBQUUsS0FBSztJQUNyQixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLDRCQUE0QixFQUFFLEtBQUs7SUFDbkMsZ0JBQWdCLEVBQUUsS0FBSztDQUMxQixDQUFDLENBQUM7QUFFSSxNQUFNLHlCQUF5QixHQUFHLENBQ3JDLElBQW1CLEVBQ25CLFVBQW1CLEVBQ0EsRUFBRTtJQUNyQixrQkFBa0I7SUFDbEIsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNiLE9BQU8sdUJBQXVCLENBQUM7S0FDbEM7SUFFRCwyQ0FBMkM7SUFDM0MsTUFBTSxVQUFVLEdBQUcscUNBQWlCLENBQUMsa0JBQWtCLENBQ25ELElBQW1DLEVBQ25DLENBQUMscUJBQXFCLEVBQUUsYUFBYSxDQUFDLENBQ3pDLENBQUM7SUFFRixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3pCLE9BQU8sdUJBQXVCLENBQUM7S0FDbEM7SUFFRCxzR0FBc0c7SUFDdEcsTUFBTSxhQUFhLEdBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQXNDO1NBQ3RFLFNBQVMsQ0FBQyxDQUFDLENBQThCLENBQUM7SUFDL0MsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNoQixPQUFPLElBQUkseUNBQW1CLENBQUM7WUFDM0IsY0FBYyxFQUFFLElBQUk7WUFDcEIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4Qiw0QkFBNEIsRUFBRSxL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
@@ -4,6 +4,17 @@ declare type ResultModel = {
4
4
  paramNameNotMatchedInPath: boolean;
5
5
  };
6
6
  export declare const parsePathParts: (decorator: TSESTree.Decorator) => string[];
7
+ /**
8
+ * nestjs allows for paths with _+?()*
9
+ * this rule doesn't support parsing those so we'll just pass
10
+ */
11
+ export declare const hasPathPartsAnyRegexParams: (pathPartsToCheck: string[]) => boolean;
12
+ /**
13
+ * Checks if there is a matching path part for the paramName
14
+ * @param paramName
15
+ * @param pathPartsToCheck
16
+ * @returns
17
+ */
7
18
  export declare const isParameterNameIncludedInAPathPart: (paramName: string, pathPartsToCheck: string[]) => boolean;
8
19
  export declare const shouldTrigger: (decorator: TSESTree.Decorator) => ResultModel;
9
20
  declare const rule: import("@typescript-eslint/experimental-utils/dist/ts-eslint/Rule").RuleModule<"paramIdentifierDoesntNeedColon" | "paramIdentifierShouldMatch", never[], {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.shouldTrigger = exports.isParameterNameIncludedInAPathPart = exports.parsePathParts = void 0;
3
+ exports.shouldTrigger = exports.isParameterNameIncludedInAPathPart = exports.hasPathPartsAnyRegexParams = exports.parsePathParts = void 0;
4
4
  const createRule_1 = require("../../utils/createRule");
5
5
  const nestRequestMethodDecoratorNames = new Set([
6
6
  "Get",
@@ -32,6 +32,25 @@ const parsePathParts = (decorator) => {
32
32
  return [];
33
33
  };
34
34
  exports.parsePathParts = parsePathParts;
35
+ /**
36
+ * nestjs allows for paths with _+?()*
37
+ * this rule doesn't support parsing those so we'll just pass
38
+ */
39
+ const hasPathPartsAnyRegexParams = (pathPartsToCheck) => {
40
+ // prettier-ignore
41
+ // eslint-disable-next-line no-useless-escape
42
+ const specialCharacterRegex = new RegExp("([\?\+\*\_\(\)])");
43
+ return pathPartsToCheck.some((pathPart) => {
44
+ return specialCharacterRegex.test(pathPart);
45
+ });
46
+ };
47
+ exports.hasPathPartsAnyRegexParams = hasPathPartsAnyRegexParams;
48
+ /**
49
+ * Checks if there is a matching path part for the paramName
50
+ * @param paramName
51
+ * @param pathPartsToCheck
52
+ * @returns
53
+ */
35
54
  const isParameterNameIncludedInAPathPart = (paramName, pathPartsToCheck) => {
36
55
  return pathPartsToCheck.some((pathPart) => {
37
56
  return (
@@ -84,6 +103,13 @@ const shouldTrigger = (decorator) => {
84
103
  .callee) === null || _a === void 0 ? void 0 : _a.name);
85
104
  });
86
105
  pathPartsToCheck = pathPartsToCheck.concat((0, exports.parsePathParts)(methodDecorator));
106
+ const shouldIgnoreThisSetOfRoutes = (0, exports.hasPathPartsAnyRegexParams)(pathPartsToCheck);
107
+ if (shouldIgnoreThisSetOfRoutes) {
108
+ return {
109
+ hasColonInName: false,
110
+ paramNameNotMatchedInPath: false,
111
+ };
112
+ }
87
113
  // check that the param name is in one path part
88
114
  return {
89
115
  hasColonInName: false,
@@ -135,4 +161,4 @@ const rule = (0, createRule_1.createRule)({
135
161
  },
136
162
  });
137
163
  exports.default = rule;
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvcGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0vcGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdURBQWtEO0FBT2xELE1BQU0sK0JBQStCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDNUMsS0FBSztJQUNMLE1BQU07SUFDTixLQUFLO0lBQ0wsUUFBUTtJQUNSLE9BQU87SUFDUCxTQUFTO0lBQ1QsTUFBTTtJQUNOLEtBQUs7Q0FDUixDQUFDLENBQUM7QUFFSSxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQTZCLEVBQVksRUFBRTs7SUFDdEUsTUFBTSxpQkFBaUIsR0FBRyxNQUFDLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxVQUFzQywwQ0FDdEUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5CLElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssU0FBUyxFQUFFO1FBQ3ZDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNsQztJQUNELElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssaUJBQWlCLEVBQUU7UUFDL0MsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNqQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBc0IsQ0FBQyxHQUFHLENBQ3JDLENBQUM7S0FDTDtJQUNELElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssa0JBQWtCLEVBQUU7UUFDaEQsT0FBTyxpQkFBaUIsQ0FBQyxVQUFV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
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvcGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0vcGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdURBQWtEO0FBT2xELE1BQU0sK0JBQStCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDNUMsS0FBSztJQUNMLE1BQU07SUFDTixLQUFLO0lBQ0wsUUFBUTtJQUNSLE9BQU87SUFDUCxTQUFTO0lBQ1QsTUFBTTtJQUNOLEtBQUs7Q0FDUixDQUFDLENBQUM7QUFFSSxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQTZCLEVBQVksRUFBRTs7SUFDdEUsTUFBTSxpQkFBaUIsR0FBRyxNQUFDLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxVQUFzQywwQ0FDdEUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5CLElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssU0FBUyxFQUFFO1FBQ3ZDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUNsQztJQUNELElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssaUJBQWlCLEVBQUU7UUFDL0MsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNqQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBc0IsQ0FBQyxHQUFHLENBQ3JDLENBQUM7S0FDTDtJQUNELElBQUksQ0FBQSxpQkFBaUIsYUFBakIsaUJBQWlCLHVCQUFqQixpQkFBaUIsQ0FBRSxJQUFJLE1BQUssa0JBQWtCLEVBQUU7UUFDaEQsT0FBTyxpQkFBaUIsQ0FBQyxVQUFV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
@@ -5,17 +5,8 @@ exports.shouldTrigger = void 0;
5
5
  const types_1 = require("@typescript-eslint/types");
6
6
  const createRule_1 = require("../../utils/createRule");
7
7
  const typedTokenHelpers_1 = require("../../utils/typedTokenHelpers");
8
+ const eslint_utils_1 = require("@typescript-eslint/experimental-utils/dist/eslint-utils");
8
9
  const classValidatorDecorators_1 = require("../../utils/classValidatorDecorators");
9
- // const nestRequestMethodDecoratorNames = new Set([
10
- // "Get",
11
- // "Post",
12
- // "Put",
13
- // "Delete",
14
- // "Patch",
15
- // "Options",
16
- // "Head",
17
- // "All",
18
- // ]);
19
10
  const primitiveTypes = new Set([
20
11
  types_1.AST_NODE_TYPES.TSStringKeyword,
21
12
  types_1.AST_NODE_TYPES.TSBooleanKeyword,
@@ -42,6 +33,8 @@ const rule = (0, createRule_1.createRule)({
42
33
  },
43
34
  defaultOptions: [],
44
35
  create(context) {
36
+ const parserServices = (0, eslint_utils_1.getParserServices)(context);
37
+ const typeChecker = parserServices.program.getTypeChecker();
45
38
  return {
46
39
  // eslint-disable-next-line @typescript-eslint/naming-convention
47
40
  PropertyDefinition(node) {
@@ -58,6 +51,12 @@ const rule = (0, createRule_1.createRule)({
58
51
  if (isNodeAUnionWithAPrimitive) {
59
52
  return;
60
53
  }
54
+ // if this is an enum we don't need a type
55
+ const mappedNode = parserServices.esTreeNodeToTSNodeMap.get(node);
56
+ const objectType = typeChecker.getTypeAtLocation(mappedNode);
57
+ if (typedTokenHelpers_1.typedTokenHelpers.isEnumType(objectType)) {
58
+ return;
59
+ }
61
60
  // We have to make an assumption here. We assume that if there is a validation decorator on the property, this is an input DTO.
62
61
  // And for input DTOs they should specify types.
63
62
  // property has a validation decorator but not IsEnum (we don't care about un-validated properties and enums don't need Type())
@@ -78,4 +77,4 @@ const rule = (0, createRule_1.createRule)({
78
77
  },
79
78
  });
80
79
  exports.default = rule;
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVOb25QcmltaXRpdmVOZWVkc0RlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvdmFsaWRhdGUtbm9uLXByaW1pdHZlcy1uZWVkcy10eXBlLWRlY29yYXRvci92YWxpZGF0ZU5vblByaW1pdGl2ZU5lZWRzRGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBa0Q7QUFDbEQsb0RBQWtFO0FBQ2xFLHVEQUFrRDtBQUNsRCxxRUFBZ0U7QUFDaEUsbUZBQThFO0FBRTlFLG9EQUFvRDtBQUNwRCxhQUFhO0FBQ2IsY0FBYztBQUNkLGFBQWE7QUFDYixnQkFBZ0I7QUFDaEIsZUFBZTtBQUNmLGlCQUFpQjtBQUNqQixjQUFjO0FBQ2QsYUFBYTtBQUNiLE1BQU07QUFDTixNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUMzQixzQkFBYyxDQUFDLGVBQWU7SUFDOUIsc0JBQWMsQ0FBQyxnQkFBZ0I7SUFDL0Isc0JBQWMsQ0FBQyxlQUFlO0NBQ2pDLENBQUMsQ0FBQztBQUNJLE1BQU0sYUFBYSxHQUFHLEdBQVksRUFBRTtJQUN2QyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFGVyxRQUFBLGFBQWEsaUJBRXhCO0FBRUYsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBVSxFQUFDO0lBQ3BCLElBQUksRUFBRSx1REFBdUQ7SUFDN0QsSUFBSSxFQUFFO1FBQ0YsSUFBSSxFQUFFO1lBQ0YsV0FBVyxFQUNQLCtFQUErRTtZQUNuRixXQUFXLEVBQUUsS0FBSztZQUNsQixvQkFBb0IsRUFBRSxLQUFLO1NBQzlCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sc0JBQXNCLEVBQ2xCLCtFQUErRTtTQUN0RjtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsY0FBYyxFQUFFLEtBQUs7UUFDckIsSUFBSSxFQUFFLFlBQVk7S0FDckI7SUFDRCxjQUFjLEVBQUUsRUFBRTtJQUVsQixNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxnRUFBZ0U7WUFDaEUsa0JBQWtCLENBQUMsSUFBaUM7Z0JBQ2hELG1DQUFtQzs7Z0JBRW5DLE1BQU0sbUJBQW1CLEdBQ3JCLENBQUEsTUFBQSxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLGNBQWMsMENBQUUsSUFBSTtvQkFDekMsY0FBYyxDQUFDLEdBQUcsQ0FDZCxNQUFBLE1BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsY0FBYywwQ0FBRSxJQUFJLENBQzVDLENBQUM7Z0JBQ04sSUFBSSxtQkFBbUIsRUFBRTtvQkFDckIsT0FBTztpQkFDVjtnQkFFRCxNQUFNLDBCQUEwQixHQUM1QixDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxjQUFjLDBDQUFFLElBQUk7b0JBQ3JDLHNCQUFjLENBQUMsV0FBVztxQkFDOUIsTUFBQSxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLGNBQWMsMENBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2xELGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUM3QixDQUFBLENBQUM7Z0JBQ04sSUFBSSwwQkFBMEIsRUFBRTtvQkFDNUIsT0FBTztpQkFDVjtnQkFDRCwrSEFBK0g7Z0JBQy9ILGdEQUFnRDtnQkFDaEQsK0hBQStIO2dCQUMvSCxNQUFNLDZCQUE2QixHQUMvQixxQ0FBaUIsQ0FBQyxrQkFBa0IsQ0FDaEMsSUFBSSxFQUNKLG1EQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUN6RCxDQUFDO2dCQUNOLElBQUksNkJBQTZCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDNUMsT0FBTztpQkFDVjtnQkFFRCxrRUFBa0U7Z0JBQ2xFLE1BQU0sa0JBQWtCLEdBQUcscUNBQWlCLENBQUMsa0JBQWtCLENBQzNELElBQUksRUFDSixDQUFDLE1BQU0sQ0FBQyxDQUNYLENBQUM7Z0JBRUYsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUNqQyxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNYLElBQUksRUFBRSxJQUFJO3dCQUNWLFNBQVMsRUFBRSx3QkFBd0I7cUJBQ3RDLENBQUMsQ0FBQztpQkFDTjtZQUNMLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILGtCQUFlLElBQUksQ0FBQyJ9
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVOb25QcmltaXRpdmVOZWVkc0RlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvdmFsaWRhdGUtbm9uLXByaW1pdHZlcy1uZWVkcy10eXBlLWRlY29yYXRvci92YWxpZGF0ZU5vblByaW1pdGl2ZU5lZWRzRGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBa0Q7QUFDbEQsb0RBQWtFO0FBQ2xFLHVEQUFrRDtBQUNsRCxxRUFBZ0U7QUFDaEUsMEZBQTBGO0FBQzFGLG1GQUE4RTtBQUU5RSxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUMzQixzQkFBYyxDQUFDLGVBQWU7SUFDOUIsc0JBQWMsQ0FBQyxnQkFBZ0I7SUFDL0Isc0JBQWMsQ0FBQyxlQUFlO0NBQ2pDLENBQUMsQ0FBQztBQUNJLE1BQU0sYUFBYSxHQUFHLEdBQVksRUFBRTtJQUN2QyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFGVyxRQUFBLGFBQWEsaUJBRXhCO0FBRUYsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBVSxFQUFDO0lBQ3BCLElBQUksRUFBRSx1REFBdUQ7SUFDN0QsSUFBSSxFQUFFO1FBQ0YsSUFBSSxFQUFFO1lBQ0YsV0FBVyxFQUNQLCtFQUErRTtZQUNuRixXQUFXLEVBQUUsS0FBSztZQUNsQixvQkFBb0IsRUFBRSxLQUFLO1NBQzlCO1FBQ0QsUUFBUSxFQUFFO1lBQ04sc0JBQXNCLEVBQ2xCLCtFQUErRTtTQUN0RjtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsY0FBYyxFQUFFLEtBQUs7UUFDckIsSUFBSSxFQUFFLFlBQVk7S0FDckI7SUFDRCxjQUFjLEVBQUUsRUFBRTtJQUVsQixNQUFNLENBQUMsT0FBTztRQUNWLE1BQU0sY0FBYyxHQUFHLElBQUEsZ0NBQWlCLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1RCxPQUFPO1lBQ0gsZ0VBQWdFO1lBQ2hFLGtCQUFrQixDQUFDLElBQWlDO2dCQUNoRCxtQ0FBbUM7O2dCQUVuQyxNQUFNLG1CQUFtQixHQUNyQixDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxjQUFjLDBDQUFFLElBQUk7b0JBQ3pDLGNBQWMsQ0FBQyxHQUFHLENBQ2QsTUFBQSxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLGNBQWMsMENBQUUsSUFBSSxDQUM1QyxDQUFDO2dCQUNOLElBQUksbUJBQW1CLEVBQUU7b0JBQ3JCLE9BQU87aUJBQ1Y7Z0JBRUQsTUFBTSwwQkFBMEIsR0FDNUIsQ0FBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsY0FBYywwQ0FBRSxJQUFJO29CQUNyQyxzQkFBYyxDQUFDLFdBQVc7cUJBQzlCLE1BQUEsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxjQUFjLDBDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNsRCxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDN0IsQ0FBQSxDQUFDO2dCQUNOLElBQUksMEJBQTBCLEVBQUU7b0JBQzVCLE9BQU87aUJBQ1Y7Z0JBQ0QsMENBQTBDO2dCQUMxQyxNQUFNLFVBQVUsR0FDWixjQUFjLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBRTdELElBQUkscUNBQWlCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO29CQUMxQyxPQUFPO2lCQUNWO2dCQUNELCtIQUErSDtnQkFDL0gsZ0RBQWdEO2dCQUNoRCwrSEFBK0g7Z0JBQy9ILE1BQU0sNkJBQTZCLEdBQy9CLHFDQUFpQixDQUFDLGtCQUFrQixDQUNoQyxJQUFJLEVBQ0osbURBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQ3pELENBQUM7Z0JBQ04sSUFBSSw2QkFBNkIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUM1QyxPQUFPO2lCQUNWO2dCQUVELGtFQUFrRTtnQkFDbEUsTUFBTSxrQkFBa0IsR0FBRyxxQ0FBaUIsQ0FBQyxrQkFBa0IsQ0FDM0QsSUFBSSxFQUNKLENBQUMsTUFBTSxDQUFDLENBQ1gsQ0FBQztnQkFFRixJQUFJLGtCQUFrQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQ2pDLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSSxFQUFFLElBQUk7d0JBQ1YsU0FBUyxFQUFFLHdCQUF3QjtxQkFDdEMsQ0FBQyxDQUFDO2lCQUNOO1lBQ0wsQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQyxDQUFDO0FBRUgsa0JBQWUsSUFBSSxDQUFDIn0=
@@ -4,7 +4,12 @@ exports.createRule = void 0;
4
4
  const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
5
5
  // Note - cannot migrate this to an import statement because it will make TSC copy the package.json to the dist folder
6
6
  // eslint-disable-next-line @typescript-eslint/no-var-requires, unicorn/prefer-module
7
- const { version } = require("../../package.json");
7
+ //const {version} = require("../../package.json");
8
8
  // eslint-disable-next-line new-cap
9
- exports.createRule = experimental_utils_1.ESLintUtils.RuleCreator((name) => `https://github.com/darraghoriordan/eslint-plugin-nestjs/blob/v${version}/packages/eslint-plugin/docs/rules/${name}.md`);
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jcmVhdGVSdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhFQUFrRTtBQUVsRSxzSEFBc0g7QUFDdEgscUZBQXFGO0FBQ3JGLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUNoRCxtQ0FBbUM7QUFDdEIsUUFBQSxVQUFVLEdBQUcsZ0NBQVcsQ0FBQyxXQUFXLENBQzdDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDTCxpRUFDSSxPQUNKLHNDQUFzQyxJQUFJLEtBQUssQ0FDdEQsQ0FBQyJ9
9
+ exports.createRule = experimental_utils_1.ESLintUtils.RuleCreator(
10
+ // (name) =>
11
+ // `https://github.com/darraghoriordan/eslint-plugin-nestjs-typed/blob/v${
12
+ // version as string
13
+ // }/packages/eslint-plugin/docs/rules/${name}.md`
14
+ () => `https://github.com/darraghoriordan/eslint-plugin-nestjs-typed/blob/main/README.md`);
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jcmVhdGVSdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhFQUFrRTtBQUVsRSxzSEFBc0g7QUFDdEgscUZBQXFGO0FBQ3JGLGtEQUFrRDtBQUNsRCxtQ0FBbUM7QUFDdEIsUUFBQSxVQUFVLEdBQUcsZ0NBQVcsQ0FBQyxXQUFXO0FBQzdDLFlBQVk7QUFDWiw4RUFBOEU7QUFDOUUsNEJBQTRCO0FBQzVCLHNEQUFzRDtBQUN0RCxHQUFHLEVBQUUsQ0FDRCxtRkFBbUYsQ0FDMUYsQ0FBQyJ9
@@ -11,5 +11,6 @@ export declare const typedTokenHelpers: {
11
11
  nodeHasDecoratorsNamed(n: TSESTree.ClassDeclaration | TSESTree.PropertyDefinition | TSESTree.MethodDefinition, decoratorNames: string[]): boolean;
12
12
  getDecoratorsNamed(n: TSESTree.ClassDeclaration | TSESTree.PropertyDefinition | TSESTree.MethodDefinition, decoratorNames: string[]): TSESTree.Decorator[];
13
13
  parseStringToAst(code: string, path: string, context: Readonly<RuleContext<never, never[]>>): TSESTree.Program;
14
+ isEnumType(type: ts.Type): boolean;
14
15
  isOptionalPropertyValue(node: TSESTree.PropertyDefinition): boolean;
15
16
  };
@@ -1,9 +1,33 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
2
24
  Object.defineProperty(exports, "__esModule", { value: true });
3
25
  exports.typedTokenHelpers = void 0;
4
26
  const experimental_utils_1 = require("@typescript-eslint/experimental-utils");
5
27
  const parser_1 = require("@typescript-eslint/parser");
28
+ const typescript_1 = __importDefault(require("typescript"));
6
29
  const tsutils_1 = require("tsutils");
30
+ const tsutils = __importStar(require("tsutils"));
7
31
  exports.typedTokenHelpers = {
8
32
  decoratorsThatCouldMeanTheDevIsValidatingAnArray: [
9
33
  "IsArray",
@@ -67,6 +91,24 @@ exports.typedTokenHelpers = {
67
91
  ...context.parserOptions,
68
92
  });
69
93
  },
94
+ isEnumType(type) {
95
+ // if for some reason this returns true...
96
+ if (tsutils.isTypeFlagSet(type, typescript_1.default.TypeFlags.Enum))
97
+ return true;
98
+ if (tsutils.isTypeFlagSet(type, typescript_1.default.TypeFlags.EnumLike))
99
+ return true;
100
+ // it's not an enum type if it's an enum literal type
101
+ if (tsutils.isTypeFlagSet(type, typescript_1.default.TypeFlags.EnumLiteral) &&
102
+ !type.isUnion())
103
+ return false;
104
+ // get the symbol and check if its value declaration is an enum declaration
105
+ const symbol = type.getSymbol();
106
+ if (symbol == null)
107
+ return false;
108
+ const { valueDeclaration } = symbol;
109
+ return (valueDeclaration != null &&
110
+ valueDeclaration.kind === typescript_1.default.SyntaxKind.EnumDeclaration);
111
+ },
70
112
  isOptionalPropertyValue(node) {
71
113
  var _a, _b, _c;
72
114
  const isUndefinedType = ((_c = (_b = (_a = node.typeAnnotation) === null || _a === void 0 ? void 0 : _a.typeAnnotation) === null || _b === void 0 ? void 0 : _b.types) === null || _c === void 0 ? void 0 : _c.find((t) => t.type === experimental_utils_1.AST_NODE_TYPES.TSUndefinedKeyword)) !== undefined;
@@ -74,4 +116,4 @@ exports.typedTokenHelpers = {
74
116
  return isOptionalPropertyValue;
75
117
  },
76
118
  };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRUb2tlbkhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdHlwZWRUb2tlbkhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOEVBSStDO0FBRS9DLHNEQUFnRDtBQUVoRCxxQ0FBdUM7QUFFMUIsUUFBQSxpQkFBaUIsR0FBRztJQUM3QixnREFBZ0QsRUFBRTtRQUM5QyxTQUFTO1FBQ1QsY0FBYztRQUNkLGNBQWM7UUFDZCxlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGVBQWU7UUFDZixhQUFhO0tBQ2hCO0lBQ0Qsa0NBQWtDLENBQzlCLElBQW1CLEVBQ25CLGFBQTZCLEVBQzdCLE9BQXVCO1FBRXZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUEsd0JBQWMsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDekIsT0FBTyxLQUFLLENBQUM7YUFDaEI7U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxXQUFXLENBQ1AsSUFBbUIsRUFDbkIsYUFBNkIsRUFDN0IsT0FBdUI7UUFFdkIsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxPQUFPLHlCQUFpQixDQUFDLDRCQUE0QixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBQ0QseUJBQXlCLENBQ3JCLElBQXlCLEVBQ3pCLGFBQTZCLEVBQzdCLE9BQXVCO1FBRXZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztR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
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRUb2tlbkhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdHlwZWRUb2tlbkhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhFQUkrQztBQUUvQyxzREFBZ0Q7QUFDaEQsNERBQTRCO0FBQzVCLHFDQUF1QztBQUN2QyxpREFBbUM7QUFDdEIsUUFBQSxpQkFBaUIsR0FBRztJQUM3QixnREFBZ0QsRUFBRTtRQUM5QyxTQUFTO1FBQ1QsY0FBYztRQUNkLGNBQWM7UUFDZCxlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGVBQWU7UUFDZixhQUFhO0tBQ2hCO0lBQ0Qsa0NBQWtDLENBQzlCLElBQW1CLEVBQ25CLGFBQTZCLEVBQzdCLE9BQXVCO1FBRXZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUEsd0JBQWMsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDekIsT0FBTyxLQUFLLENBQUM7YUFDaEI7U0FDSjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxXQUFXLENBQ1AsSUFBbUIsRUFDbkIsYUFBNkIsRUFDN0IsT0FBdUI7UUFFdkIsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxPQUFPLHlCQUFpQixDQUFDLDRCQUE0QixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBQ0QseUJBQXlCLENBQ3JCLElBQXlCLEVBQ3pCLGFBQTZCLEVBQzdCLE9BQXVCO1FBRXZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darraghor/eslint-plugin-nestjs-typed",
3
- "version": "3.5.2",
3
+ "version": "3.5.6",
4
4
  "description": "Eslint rules for nestjs projects",
5
5
  "scripts": {
6
6
  "clean": "rm -Rf ./dist/",
@@ -72,8 +72,8 @@
72
72
  "typescript": "4.4.4"
73
73
  },
74
74
  "peerDependencies": {
75
- "@typescript-eslint/parser": "5.1.0",
76
- "eslint": "8.1.0"
75
+ "@typescript-eslint/parser": "^5.0.0",
76
+ "eslint": "^8.0.0"
77
77
  },
78
78
  "keywords": [
79
79
  "eslint",