@darraghor/eslint-plugin-nestjs-typed 5.2.1 → 6.0.0-rc.10

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.
Files changed (86) hide show
  1. package/README.md +5 -7
  2. package/dist/configs/base.d.ts +8 -0
  3. package/dist/configs/base.js +7 -0
  4. package/dist/configs/index.d.ts +11 -0
  5. package/dist/configs/noSwagger.d.ts +6 -0
  6. package/dist/configs/noSwagger.js +14 -12
  7. package/dist/configs/recommended.d.ts +6 -0
  8. package/dist/configs/recommended.js +30 -29
  9. package/dist/index.d.ts +52 -0
  10. package/dist/index.js +91 -5
  11. package/dist/rules/allPropertiesAreWhitelisted/allPropertiesAreWhitelisted.d.ts +2 -0
  12. package/dist/rules/allPropertiesAreWhitelisted/allPropertiesAreWhitelisted.js +2 -4
  13. package/dist/rules/allPropertiesHaveExplicitDefined/allPropertiesHaveExplicitDefined.d.ts +3 -0
  14. package/dist/rules/allPropertiesHaveExplicitDefined/allPropertiesHaveExplicitDefined.js +1 -2
  15. package/dist/rules/apiEnumPropertyBestPractices/apiEnumPropertyBestPractices.d.ts +6 -0
  16. package/dist/rules/apiEnumPropertyBestPractices/apiEnumPropertyBestPractices.js +2 -3
  17. package/dist/rules/apiEnumPropertyBestPractices/enumTestResultModel.d.ts +7 -0
  18. package/dist/rules/apiMethodsShouldBeGuarded/apiMethodsShouldBeGuarded.d.ts +4 -0
  19. package/dist/rules/apiMethodsShouldBeGuarded/apiMethodsShouldBeGuarded.js +1 -2
  20. package/dist/rules/apiMethodsShouldSpecifyApiOperation/apiMethodsShouldSpecifyApiOperation.d.ts +4 -0
  21. package/dist/rules/apiMethodsShouldSpecifyApiOperation/apiMethodsShouldSpecifyApiOperation.js +1 -2
  22. package/dist/rules/apiMethodsShouldSpecifyApiResponse/apiMethodsShouldSpecifyApiResponse.d.ts +4 -0
  23. package/dist/rules/apiMethodsShouldSpecifyApiResponse/apiMethodsShouldSpecifyApiResponse.js +1 -2
  24. package/dist/rules/apiPropertyMatchesPropertyOptionality/apiPropertyMatchesPropertyOptionality.d.ts +5 -0
  25. package/dist/rules/apiPropertyMatchesPropertyOptionality/apiPropertyMatchesPropertyOptionality.js +1 -2
  26. package/dist/rules/apiPropertyReturningArrayShouldSetArray/apiPropertyReturningArrayShouldSetArray.d.ts +5 -0
  27. package/dist/rules/apiPropertyReturningArrayShouldSetArray/apiPropertyReturningArrayShouldSetArray.js +2 -3
  28. package/dist/rules/apiPropertyReturningArrayShouldSetArray/arraySetResultModel.d.ts +5 -0
  29. package/dist/rules/controllerDecoratedHasApiTags/controllerDecoratedHasApiTags.d.ts +4 -0
  30. package/dist/rules/controllerDecoratedHasApiTags/controllerDecoratedHasApiTags.js +1 -2
  31. package/dist/rules/index.d.ts +23 -0
  32. package/dist/rules/injectablesShouldBeProvided/injectableShouldBeProvided.d.ts +9 -0
  33. package/dist/rules/injectablesShouldBeProvided/injectableShouldBeProvided.js +9 -12
  34. package/dist/rules/noDuplicateDecorators/noDuplicateDecorators.d.ts +9 -0
  35. package/dist/rules/noDuplicateDecorators/noDuplicateDecorators.js +3 -7
  36. package/dist/rules/paramDecoratorNameMatchesRouteParam/paramDecoratorNameMatchesRouteParam.d.ts +21 -0
  37. package/dist/rules/paramDecoratorNameMatchesRouteParam/paramDecoratorNameMatchesRouteParam.js +12 -15
  38. package/dist/rules/paramDecoratorNameMatchesRouteParam/rule.testData.d.ts +10 -0
  39. package/dist/rules/paramDecoratorNameMatchesRouteParam/rule.testData.js +1 -2
  40. package/dist/rules/providerInjectedShouldMatchFactory/ProviderInjectedShouldMatchFactory.d.ts +4 -0
  41. package/dist/rules/providerInjectedShouldMatchFactory/ProviderInjectedShouldMatchFactory.js +5 -8
  42. package/dist/rules/shouldSpecifyForbidUnknownValues/shouldSpecifyForbidUnknownValuesRule.d.ts +7 -0
  43. package/dist/rules/shouldSpecifyForbidUnknownValues/shouldSpecifyForbidUnknownValuesRule.js +8 -11
  44. package/dist/rules/sortModuleMetadataArrays/sortModuleMetadataArrays.d.ts +11 -0
  45. package/dist/rules/sortModuleMetadataArrays/sortModuleMetadataArrays.js +2 -2
  46. package/dist/rules/validateNestedOfArrayShouldSetEach/arraySetResultModel.d.ts +5 -0
  47. package/dist/rules/validateNestedOfArrayShouldSetEach/validateNestedOfArrayShouldSetEach.d.ts +5 -0
  48. package/dist/rules/validateNestedOfArrayShouldSetEach/validateNestedOfArrayShouldSetEach.js +2 -3
  49. package/dist/rules/validateNonPrimitiveNeedsTypeDecorator/validateNonPrimitiveNeedsDecorators.d.ts +10 -0
  50. package/dist/rules/validateNonPrimitiveNeedsTypeDecorator/validateNonPrimitiveNeedsDecorators.js +10 -12
  51. package/dist/testing/fixtureSetup.d.ts +1 -0
  52. package/dist/testing/fixtureSetup.js +1 -2
  53. package/dist/testing/preRun.d.ts +1 -0
  54. package/dist/utils/ast.d.ts +2 -0
  55. package/dist/utils/createRule.d.ts +2 -0
  56. package/dist/utils/createRule.js +1 -3
  57. package/dist/utils/files/customFileEnumeratorWrapper.d.ts +8 -0
  58. package/dist/utils/files/customFileEnumeratorWrapper.js +36 -0
  59. package/dist/utils/files/isFilteredPath.d.ts +4 -0
  60. package/dist/utils/files/isFilteredPath.js +2 -2
  61. package/dist/utils/nestModules/models/NestProvidedInjectablesMap.d.ts +5 -0
  62. package/dist/utils/nestModules/nestModuleAstParser.d.ts +7 -0
  63. package/dist/utils/nestModules/nestModuleAstParser.js +5 -7
  64. package/dist/utils/nestModules/nestProvidedInjectableMapper.d.ts +14 -0
  65. package/dist/utils/nestModules/nestProvidedInjectableMapper.js +2 -7
  66. package/dist/utils/nestModules/nestProvidedInjectableMapper.testData.d.ts +7 -0
  67. package/dist/utils/nestModules/nestProviderAstParser.d.ts +7 -0
  68. package/dist/utils/nestModules/nestProviderAstParser.js +3 -6
  69. package/dist/utils/typedTokenHelpers.d.ts +59 -0
  70. package/dist/utils/typedTokenHelpers.js +9 -8
  71. package/dist/utils/wellKnownSelectors.d.ts +1 -0
  72. package/package.json +35 -17
  73. package/dist/fixtures/Controller.stub.js +0 -9
  74. package/dist/fixtures/Injectable.stub.js +0 -9
  75. package/dist/fixtures/Module.stub.js +0 -9
  76. package/dist/fixtures/NonFactoryDecorator.stub.js +0 -10
  77. package/dist/fixtures/anotherExample.module.js +0 -25
  78. package/dist/fixtures/example.controller.js +0 -17
  79. package/dist/fixtures/example.customprovider.js +0 -14
  80. package/dist/fixtures/example.module.js +0 -32
  81. package/dist/fixtures/example.providedClass.provider.js +0 -16
  82. package/dist/fixtures/example.provider.js +0 -16
  83. package/dist/fixtures/file.js +0 -4
  84. package/dist/fixtures/providerArray.module.js +0 -25
  85. package/dist/fixtures/tooManyTimesExample.provider.js +0 -16
  86. package/dist/utils/files/fileEnumerationWrapper.js +0 -29
@@ -17,7 +17,7 @@ const shouldSetArrayProperty = (node) => {
17
17
  return new arraySetResultModel_1.default(false, false);
18
18
  }
19
19
  // There should only be one of these apiproperty decorators so we just grab the parameter to decorator at index 0
20
- const firstArgumentToDecorator = decorators[0].expression.arguments[0];
20
+ const firstArgumentToDecorator = decorators[0].expression?.arguments[0];
21
21
  // if the code is using anything other than object expression, ignore the rule (we dont want to go looking at objects)
22
22
  // we DO want to alert if there is no argument at all. so we continue to test the rule if no argument was passed
23
23
  if (firstArgumentToDecorator &&
@@ -53,7 +53,6 @@ const rule = (0, createRule_1.createRule)({
53
53
  defaultOptions: [],
54
54
  create(context) {
55
55
  return {
56
- // eslint-disable-next-line @typescript-eslint/naming-convention
57
56
  PropertyDefinition: (node) => {
58
57
  const shouldSetArrayResults = (0, exports.shouldSetArrayProperty)(node);
59
58
  if (shouldSetArrayResults.isArrayShouldBeSetFalse) {
@@ -73,4 +72,4 @@ const rule = (0, createRule_1.createRule)({
73
72
  },
74
73
  });
75
74
  exports.default = rule;
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpUHJvcGVydHlSZXR1cm5pbmdBcnJheVNob3VsZFNldEFycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL2FwaVByb3BlcnR5UmV0dXJuaW5nQXJyYXlTaG91bGRTZXRBcnJheS9hcGlQcm9wZXJ0eVJldHVybmluZ0FycmF5U2hvdWxkU2V0QXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQWtFO0FBQ2xFLHVEQUFrRDtBQUNsRCxxRUFBZ0U7QUFDaEUsZ0ZBQXdEO0FBRWpELE1BQU0sc0JBQXNCLEdBQUcsQ0FDbEMsSUFBaUMsRUFDZCxFQUFFO0lBQ3JCLE1BQU0sVUFBVSxHQUFHLHFDQUFpQixDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRTtRQUMxRCxxQkFBcUI7UUFDckIsYUFBYTtLQUNoQixDQUFDLENBQUM7SUFFSCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFJLDZCQUFtQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsaUhBQWlIO0lBQ2pILE1BQU0sd0JBQXdCLEdBQzFCLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUNqQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVmLHNIQUFzSDtJQUN0SCxnSEFBZ0g7SUFDaEgsSUFDSSx3QkFBd0I7UUFDeEIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEtBQUssc0JBQWMsQ0FBQyxnQkFBZ0I7WUFDOUQsd0ZBQXdGO1lBQ3hGLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3BDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLHNCQUFjLENBQUMsYUFBYSxDQUNqRCxDQUFDLEVBQ1IsQ0FBQztRQUNDLE9BQU8sSUFBSSw2QkFBbUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELE1BQU0sc0JBQXNCLEdBQ3hCLHFDQUFpQixDQUFDLDhCQUE4QixDQUM1Qyx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULElBQUksQ0FDUCxDQUFDO0lBRU4sTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUM7SUFDM0QsbUNBQW1DO0lBQ25DLE1BQU0sV0FBVyxHQUVSLGNBQXVEO1FBQ3BELEVBQUUsUUFDVCxFQUFFLElBQUksS0FBSyxPQUFPLENBQUM7SUFDeEIsTUFBTSxxQkFBcUIsR0FDdkIsY0FBYyxFQUFFLElBQUksS0FBSyxzQkFBYyxDQUFDLFdBQVcsQ0FBQztJQUN4RCxNQUFNLGlCQUFpQixHQUFHLFdBQVcsSUFBSSxxQkFBcUIsQ0FBQztJQUUvRCxPQUFPLElBQUksNkJBQW1CLENBQzFCLGlCQUFpQixJQUFJLENBQUMsc0JBQXNCLEVBQzVDLENBQUMsaUJBQWlCLElBQUksc0JBQXNCLENBQy9DLENBQUM7QUFDTixDQUFDLENBQUM7QUFwRFcsUUFBQSxzQkFBc0IsMEJBb0RqQztBQUVGLE1BQU0sSUFBSSxHQUFHLElBQUEsdUJBQVUsRUFHckI7SUFDRSxJQUFJLEVBQUUsK0NBQStDO0lBQ3JELElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFBRSxzQ0FBc0M7U0FDdEQ7UUFDRCxRQUFRLEVBQUU7WUFDTiwwQkFBMEIsRUFBRSxnRUFBZ0U7WUFDNUYsMkJBQTJCLEVBQUUsd0VBQXdFO1NBQ3hHO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixjQUFjLEVBQUUsS0FBSztRQUNyQixJQUFJLEVBQUUsWUFBWTtLQUNyQjtJQUNELGNBQWMsRUFBRSxFQUFFO0lBRWxCLE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTztZQUNILGdFQUFnRTtZQUNoRSxrQkFBa0IsRUFBRSxDQUFDLElBQW1CLEVBQUUsRUFBRTtnQkFDeEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLDhCQUFzQixFQUNoRCxJQUFtQyxDQUN0QyxDQUFDO2dCQUVGLElBQUkscUJBQXFCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztvQkFDaEQsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDWCxJQUFJLEVBQUUsSUFBSTt3QkFDVixTQUFTLEVBQUUsNkJBQTZCO3FCQUMzQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztnQkFDRCxJQUFJLHFCQUFxQixDQUFDLHNCQUFzQixFQUFFLENBQUM7b0JBQy9DLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSSxFQUFFLElBQUk7d0JBQ1YsU0FBUyxFQUFFLDRCQUE0QjtxQkFDMUMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDO1NBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxrQkFBZSxJQUFJLENBQUMifQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpUHJvcGVydHlSZXR1cm5pbmdBcnJheVNob3VsZFNldEFycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL2FwaVByb3BlcnR5UmV0dXJuaW5nQXJyYXlTaG91bGRTZXRBcnJheS9hcGlQcm9wZXJ0eVJldHVybmluZ0FycmF5U2hvdWxkU2V0QXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQWtFO0FBQ2xFLHVEQUFrRDtBQUNsRCxxRUFBZ0U7QUFDaEUsZ0ZBQXdEO0FBRWpELE1BQU0sc0JBQXNCLEdBQUcsQ0FDbEMsSUFBaUMsRUFDZCxFQUFFO0lBQ3JCLE1BQU0sVUFBVSxHQUFHLHFDQUFpQixDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRTtRQUMxRCxxQkFBcUI7UUFDckIsYUFBYTtLQUNoQixDQUFDLENBQUM7SUFFSCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFJLDZCQUFtQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsaUhBQWlIO0lBQ2pILE1BQU0sd0JBQXdCLEdBQzFCLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUNqQixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVoQixzSEFBc0g7SUFDdEgsZ0hBQWdIO0lBQ2hILElBQ0ksd0JBQXdCO1FBQ3hCLENBQUMsd0JBQXdCLENBQUMsSUFBSSxLQUFLLHNCQUFjLENBQUMsZ0JBQWdCO1lBQzlELHdGQUF3RjtZQUN4Rix3QkFBd0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNwQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxzQkFBYyxDQUFDLGFBQWEsQ0FDakQsQ0FBQyxFQUNSLENBQUM7UUFDQyxPQUFPLElBQUksNkJBQW1CLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNLHNCQUFzQixHQUN4QixxQ0FBaUIsQ0FBQyw4QkFBOEIsQ0FDNUMsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxJQUFJLENBQ1AsQ0FBQztJQUVOLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO0lBQzNELG1DQUFtQztJQUNuQyxNQUFNLFdBQVcsR0FFUixjQUF1RDtRQUNwRCxFQUFFLFFBQ1QsRUFBRSxJQUFJLEtBQUssT0FBTyxDQUFDO0lBQ3hCLE1BQU0scUJBQXFCLEdBQ3ZCLGNBQWMsRUFBRSxJQUFJLEtBQUssc0JBQWMsQ0FBQyxXQUFXLENBQUM7SUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLElBQUkscUJBQXFCLENBQUM7SUFFL0QsT0FBTyxJQUFJLDZCQUFtQixDQUMxQixpQkFBaUIsSUFBSSxDQUFDLHNCQUFzQixFQUM1QyxDQUFDLGlCQUFpQixJQUFJLHNCQUFzQixDQUMvQyxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBcERXLFFBQUEsc0JBQXNCLDBCQW9EakM7QUFFRixNQUFNLElBQUksR0FBRyxJQUFBLHVCQUFVLEVBR3JCO0lBQ0UsSUFBSSxFQUFFLCtDQUErQztJQUNyRCxJQUFJLEVBQUU7UUFDRixJQUFJLEVBQUU7WUFDRixXQUFXLEVBQUUsc0NBQXNDO1NBQ3REO1FBQ0QsUUFBUSxFQUFFO1lBQ04sMEJBQTBCLEVBQUUsZ0VBQWdFO1lBQzVGLDJCQUEyQixFQUFFLHdFQUF3RTtTQUN4RztRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsY0FBYyxFQUFFLEtBQUs7UUFDckIsSUFBSSxFQUFFLFlBQVk7S0FDckI7SUFDRCxjQUFjLEVBQUUsRUFBRTtJQUVsQixNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxrQkFBa0IsRUFBRSxDQUFDLElBQW1CLEVBQUUsRUFBRTtnQkFDeEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLDhCQUFzQixFQUNoRCxJQUFtQyxDQUN0QyxDQUFDO2dCQUVGLElBQUkscUJBQXFCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztvQkFDaEQsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDWCxJQUFJLEVBQUUsSUFBSTt3QkFDVixTQUFTLEVBQUUsNkJBQTZCO3FCQUMzQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztnQkFDRCxJQUFJLHFCQUFxQixDQUFDLHNCQUFzQixFQUFFLENBQUM7b0JBQy9DLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSSxFQUFFLElBQUk7d0JBQ1YsU0FBUyxFQUFFLDRCQUE0QjtxQkFDMUMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDO1NBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxrQkFBZSxJQUFJLENBQUMifQ==
@@ -0,0 +1,5 @@
1
+ export default class ArraySetResultModel {
2
+ isArrayShouldBeSetTrue: boolean;
3
+ isArrayShouldBeSetFalse: boolean;
4
+ constructor(isArrayShouldBeSetTrue: boolean, isArrayShouldBeSetFalse: boolean);
5
+ }
@@ -0,0 +1,4 @@
1
+ import { TSESTree } from "@typescript-eslint/utils";
2
+ export declare const shouldUseApiTagDecorator: (node: TSESTree.ClassDeclaration) => boolean;
3
+ declare const rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldUseApiTagDecorator", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
4
+ export default rule;
@@ -27,7 +27,6 @@ const rule = (0, createRule_1.createRule)({
27
27
  defaultOptions: [],
28
28
  create(context) {
29
29
  return {
30
- // eslint-disable-next-line @typescript-eslint/naming-convention
31
30
  ClassDeclaration(node) {
32
31
  if ((0, exports.shouldUseApiTagDecorator)(node)) {
33
32
  context.report({
@@ -40,4 +39,4 @@ const rule = (0, createRule_1.createRule)({
40
39
  },
41
40
  });
42
41
  exports.default = rule;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MvY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBQWtEO0FBQ2xELHFFQUFnRTtBQUV6RCxNQUFNLHdCQUF3QixHQUFHLENBQ3BDLElBQStCLEVBQ3hCLEVBQUU7SUFDVCxNQUFNLHNCQUFzQixHQUFHLHFDQUFpQixDQUFDLHNCQUFzQixDQUNuRSxJQUFJLEVBQ0osQ0FBQyxZQUFZLENBQUMsQ0FDakIsQ0FBQztJQUVGLE1BQU0sa0JBQWtCLEdBQUcscUNBQWlCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFO1FBQ3RFLFNBQVM7S0FDWixDQUFDLENBQUM7SUFFSCxPQUFPLHNCQUFzQixJQUFJLENBQUMsa0JBQWtCLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBYlcsUUFBQSx3QkFBd0IsNEJBYW5DO0FBRUYsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBVSxFQUFpQztJQUNwRCxJQUFJLEVBQUUsb0NBQW9DO0lBQzFDLElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCwyRUFBMkU7U0FDbEY7UUFDRCxRQUFRLEVBQUU7WUFDTix3QkFBd0IsRUFBRSwrSkFBK0o7U0FDNUw7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLElBQUksRUFBRSxZQUFZO0tBQ3JCO0lBQ0QsY0FBYyxFQUFFLEVBQUU7SUFFbEIsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsZ0VBQWdFO1lBQ2hFLGdCQUFnQixDQUFDLElBQStCO2dCQUM1QyxJQUFJLElBQUEsZ0NBQXdCLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDWCxJQUFJLEVBQUUsSUFBSTt3QkFDVixTQUFTLEVBQUUsMEJBQTBCO3FCQUN4QyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILGtCQUFlLElBQUksQ0FBQyJ9
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MvY29udHJvbGxlckRlY29yYXRlZEhhc0FwaVRhZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBQWtEO0FBQ2xELHFFQUFnRTtBQUV6RCxNQUFNLHdCQUF3QixHQUFHLENBQ3BDLElBQStCLEVBQ3hCLEVBQUU7SUFDVCxNQUFNLHNCQUFzQixHQUFHLHFDQUFpQixDQUFDLHNCQUFzQixDQUNuRSxJQUFJLEVBQ0osQ0FBQyxZQUFZLENBQUMsQ0FDakIsQ0FBQztJQUVGLE1BQU0sa0JBQWtCLEdBQUcscUNBQWlCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFO1FBQ3RFLFNBQVM7S0FDWixDQUFDLENBQUM7SUFFSCxPQUFPLHNCQUFzQixJQUFJLENBQUMsa0JBQWtCLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBYlcsUUFBQSx3QkFBd0IsNEJBYW5DO0FBRUYsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBVSxFQUFpQztJQUNwRCxJQUFJLEVBQUUsb0NBQW9DO0lBQzFDLElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCwyRUFBMkU7U0FDbEY7UUFDRCxRQUFRLEVBQUU7WUFDTix3QkFBd0IsRUFBRSwrSkFBK0o7U0FDNUw7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLElBQUksRUFBRSxZQUFZO0tBQ3JCO0lBQ0QsY0FBYyxFQUFFLEVBQUU7SUFFbEIsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsZ0JBQWdCLENBQUMsSUFBK0I7Z0JBQzVDLElBQUksSUFBQSxnQ0FBd0IsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNqQyxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNYLElBQUksRUFBRSxJQUFJO3dCQUNWLFNBQVMsRUFBRSwwQkFBMEI7cUJBQ3hDLENBQUMsQ0FBQztnQkFDUCxDQUFDO1lBQ0wsQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQyxDQUFDO0FBRUgsa0JBQWUsSUFBSSxDQUFDIn0=
@@ -0,0 +1,23 @@
1
+ declare const allRules: {
2
+ "all-properties-have-explicit-defined": import("@typescript-eslint/utils/ts-eslint").RuleModule<"missing-is-defined-decorator" | "missing-is-optional-decorator" | "conflicting-defined-decorators-defined-optional" | "conflicting-defined-decorators-defined-validate-if" | "conflicting-defined-decorators-optional-validate-if" | "conflicting-defined-decorators-all", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
3
+ "api-property-matches-property-optionality": import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldUseOptionalDecorator" | "shouldUseRequiredDecorator", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
4
+ "injectable-should-be-provided": import("@typescript-eslint/utils/ts-eslint").RuleModule<"injectableInModule" | "controllersInModule", [{
5
+ src: string[];
6
+ filterFromPaths: string[];
7
+ }], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
8
+ "no-duplicate-decorators": import("@typescript-eslint/utils/ts-eslint").RuleModule<"noDuplicateDecorators", import("./noDuplicateDecorators/noDuplicateDecorators").NoDuplicateDecoratorsOptions, unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
9
+ "provided-injected-should-match-factory-parameters": import("@typescript-eslint/utils/ts-eslint").RuleModule<"mainMessage", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
10
+ "controllers-should-supply-api-tags": import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldUseApiTagDecorator", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
11
+ "api-method-should-specify-api-response": import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldSpecifyApiResponse", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
12
+ "api-method-should-specify-api-operation": import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldSpecifyApiOperation", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
13
+ "api-enum-property-best-practices": import("@typescript-eslint/utils/ts-eslint").RuleModule<"needsEnumNameAdded" | "needsTypeRemoved" | "enumNameShouldMatchType", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
14
+ "api-property-returning-array-should-set-array": import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldSetArrayPropertyTrue" | "shouldSetArrayPropertyFalse", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
15
+ "should-specify-forbid-unknown-values": import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldSpecifyForbidUnknownValues", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
16
+ "param-decorator-name-matches-route-param": import("@typescript-eslint/utils/ts-eslint").RuleModule<"paramIdentifierDoesntNeedColon" | "paramIdentifierShouldMatch", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
17
+ "validated-non-primitive-property-needs-type-decorator": import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldUseTypeDecorator" | "autofixWithTypeDecorator", import("./validateNonPrimitiveNeedsTypeDecorator/validateNonPrimitiveNeedsDecorators").ValidateNonPrimitivePropertyTypeDecoratorOptions, unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
18
+ "validate-nested-of-array-should-set-each": import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldSetEachPropertyTrue" | "shouldSetEachPropertyFalse", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
19
+ "all-properties-are-whitelisted": import("@typescript-eslint/utils/ts-eslint").RuleModule<"missing-property-decorator", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
20
+ "api-methods-should-be-guarded": import("@typescript-eslint/utils/ts-eslint").RuleModule<"apiMethodsShouldBeGuarded", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
21
+ "sort-module-metadata-arrays": import("@typescript-eslint/utils/ts-eslint").RuleModule<"moduleMetadataArraysAreSorted", import("./sortModuleMetadataArrays/sortModuleMetadataArrays").RuleOptions, unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
22
+ };
23
+ export default allRules;
@@ -0,0 +1,9 @@
1
+ import { TSESLint } from "@typescript-eslint/utils";
2
+ type Options = [
3
+ {
4
+ src: string[];
5
+ filterFromPaths: string[];
6
+ }
7
+ ];
8
+ declare const rule: TSESLint.RuleModule<"injectableInModule" | "controllersInModule", Options, unknown, TSESLint.RuleListener>;
9
+ export default rule;
@@ -4,9 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const createRule_1 = require("../../utils/createRule");
7
- const fileEnumerationWrapper_1 = __importDefault(require("../../utils/files/fileEnumerationWrapper"));
7
+ // import FileEnumeratorWrapper from "../../utils/files/fileEnumerationWrapper";
8
8
  const nestProvidedInjectableMapper_1 = __importDefault(require("../../utils/nestModules/nestProvidedInjectableMapper"));
9
9
  const typedTokenHelpers_1 = require("../../utils/typedTokenHelpers");
10
+ const customFileEnumeratorWrapper_1 = __importDefault(require("../../utils/files/customFileEnumeratorWrapper"));
10
11
  let listOfPotentialNestModuleFiles;
11
12
  let nestModuleMap;
12
13
  const findModuleMapping = (className, propertyName, nestModuleMap) => {
@@ -15,8 +16,9 @@ const findModuleMapping = (className, propertyName, nestModuleMap) => {
15
16
  });
16
17
  return modules;
17
18
  };
19
+ const checkNode = (
18
20
  // super fragile types but whatevs
19
- const checkNode = (node, decoratorName, propertyName, messageId, context) => {
21
+ node, decoratorName, propertyName, messageId, context) => {
20
22
  if (nestProvidedInjectableMapper_1.default.isNestInjectableThatIsNeverProvided(node)) {
21
23
  return;
22
24
  }
@@ -42,7 +44,7 @@ const checkNode = (node, decoratorName, propertyName, messageId, context) => {
42
44
  };
43
45
  function initializeModuleMappings(sourcePath, filterFromPaths, context) {
44
46
  const mappedSourceDirectory = nestProvidedInjectableMapper_1.default.detectDirectoryToScanForFiles(sourcePath, process.cwd());
45
- listOfPotentialNestModuleFiles = fileEnumerationWrapper_1.default.enumerateFiles(mappedSourceDirectory, [".ts"], filterFromPaths);
47
+ listOfPotentialNestModuleFiles = customFileEnumeratorWrapper_1.default.enumerateFiles(mappedSourceDirectory, [".ts"], filterFromPaths);
46
48
  nestModuleMap = nestProvidedInjectableMapper_1.default.parseFileList(listOfPotentialNestModuleFiles, context);
47
49
  }
48
50
  const defaultOptions = [
@@ -90,6 +92,7 @@ const rule = (0, createRule_1.createRule)({
90
92
  },
91
93
  defaultOptions: defaultOptions,
92
94
  create(contextWithoutDefaults) {
95
+ // @ts-ignore
93
96
  const context = contextWithoutDefaults.options &&
94
97
  contextWithoutDefaults.options.length > 0
95
98
  ? contextWithoutDefaults
@@ -97,25 +100,19 @@ const rule = (0, createRule_1.createRule)({
97
100
  Object.setPrototypeOf({
98
101
  options: defaultOptions,
99
102
  }, contextWithoutDefaults);
100
- const { src, filterFromPaths,
101
- // ignoreExports = [],
102
- // missingExports,
103
- // unusedExports,
104
- } = context.options[0] || {};
103
+ const { src, filterFromPaths } = context.options[0] || {};
105
104
  if (nestModuleMap === undefined || nestModuleMap.size === 0) {
106
105
  initializeModuleMappings(src[0], filterFromPaths, context);
107
106
  }
108
107
  return {
109
- // eslint-disable-next-line @typescript-eslint/naming-convention
110
108
  ClassDeclaration(node) {
111
109
  checkNode(node, "Injectable", "providers", "injectableInModule", context);
112
110
  checkNode(node, "Controller", "controllers", "controllersInModule", context);
113
111
  },
114
- // eslint-disable-next-line @typescript-eslint/naming-convention
115
112
  "Program:exit"() {
116
113
  // map the source to a mapping thing
117
114
  // if not undefined set it to the mapping set
118
- const mappedProvidedInjectables = nestProvidedInjectableMapper_1.default.mapAllProvidedInjectables(context.getSourceCode().ast, context.getFilename());
115
+ const mappedProvidedInjectables = nestProvidedInjectableMapper_1.default.mapAllProvidedInjectables(context.sourceCode.ast, context.filename);
119
116
  if (mappedProvidedInjectables !== null) {
120
117
  nestModuleMap.set(mappedProvidedInjectables[0], mappedProvidedInjectables[1]);
121
118
  }
@@ -124,4 +121,4 @@ const rule = (0, createRule_1.createRule)({
124
121
  },
125
122
  });
126
123
  exports.default = rule;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZVNob3VsZEJlUHJvdmlkZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvaW5qZWN0YWJsZXNTaG91bGRCZVByb3ZpZGVkL2luamVjdGFibGVTaG91bGRCZVByb3ZpZGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsdURBQWtEO0FBQ2xELHNHQUE2RTtBQUM3RSx3SEFBZ0c7QUFFaEcscUVBQWdFO0FBS2hFLElBQUksOEJBQTBDLENBQUM7QUFDL0MsSUFBSSxhQUFzRCxDQUFDO0FBUzNELE1BQU0saUJBQWlCLEdBQUcsQ0FDdEIsU0FBaUIsRUFDakIsWUFBeUMsRUFDekMsYUFBc0QsRUFDMUIsRUFBRTtJQUM5QixNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDekQsT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsa0NBQWtDO0FBQ2xDLE1BQU0sU0FBUyxHQUFHLENBQ2QsSUFBK0IsRUFDL0IsYUFBMEMsRUFDMUMsWUFBeUMsRUFDekMsU0FBdUQsRUFDdkQsT0FLQyxFQUNILEVBQUU7SUFDQSxJQUNJLHNDQUE0QixDQUFDLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxFQUN4RSxDQUFDO1FBQ0MsT0FBTztJQUNYLENBQUM7SUFDRCxJQUFJLHFDQUFpQixDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixP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
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZVNob3VsZEJlUHJvdmlkZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvaW5qZWN0YWJsZXNTaG91bGRCZVByb3ZpZGVkL2luamVjdGFibGVTaG91bGRCZVByb3ZpZGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsdURBQWtEO0FBQ2xELGdGQUFnRjtBQUNoRix3SEFBZ0c7QUFFaEcscUVBQWdFO0FBSWhFLGdIQUFrRjtBQUVsRixJQUFJLDhCQUEwQyxDQUFDO0FBQy9DLElBQUksYUFBc0QsQ0FBQztBQVMzRCxNQUFNLGlCQUFpQixHQUFHLENBQ3RCLFNBQWlCLEVBQ2pCLFlBQXlDLEVBQ3pDLGFBQXNELEVBQzFCLEVBQUU7SUFDOUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3pELE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sU0FBUyxHQUFHO0FBQ2Qsa0NBQWtDO0FBQ2xDLElBQStCLEVBQy9CLGFBQTBDLEVBQzFDLFlBQXlDLEVBQ3pDLFNBQXVELEVBQ3ZELE9BS0MsRUFDSCxFQUFFO0lBQ0EsSUFDSSxzQ0FBNEIsQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsRUFDeEUsQ0FBQztRQUNDLE9BQU87SUFDWCxDQUFDO0lBQ0QsSUFBSSxxQ0FBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFB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
@@ -0,0 +1,9 @@
1
+ export type NoDuplicateDecoratorsOptions = [
2
+ {
3
+ customList: string[];
4
+ }
5
+ ];
6
+ export declare const shouldTrigger: () => boolean;
7
+ export declare const standardDecoratorsToValidate: string[];
8
+ declare const rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"noDuplicateDecorators", NoDuplicateDecoratorsOptions, unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
9
+ export default rule;
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.standardDecoratorsToValidate = exports.shouldTrigger = void 0;
4
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
5
- /* eslint-disable unicorn/prevent-abbreviations */
6
4
  const createRule_1 = require("../../utils/createRule");
7
5
  const utils_1 = require("@typescript-eslint/utils");
8
6
  const shouldTrigger = () => {
@@ -44,7 +42,7 @@ const rule = (0, createRule_1.createRule)({
44
42
  },
45
43
  ],
46
44
  create(context) {
47
- const customListArrayItem = context.options?.[0];
45
+ const customListArrayItem = context.options[0];
48
46
  let decoratorsToValidate = customListArrayItem?.customList;
49
47
  if (!customListArrayItem?.customList ||
50
48
  customListArrayItem?.customList.length === 0) {
@@ -52,8 +50,7 @@ const rule = (0, createRule_1.createRule)({
52
50
  }
53
51
  return {
54
52
  ["PropertyDefinition,ClassDeclaration"](node) {
55
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
56
- const allDecorators = node?.decorators;
53
+ const allDecorators = node.decorators;
57
54
  if (allDecorators && allDecorators.length > 1) {
58
55
  const decoratorNames = allDecorators.map((decorator) => {
59
56
  if (decorator.expression.type ===
@@ -61,7 +58,6 @@ const rule = (0, createRule_1.createRule)({
61
58
  decorator.expression.callee &&
62
59
  decorator.expression.callee.type ===
63
60
  utils_1.TSESTree.AST_NODE_TYPES.Identifier) {
64
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
65
61
  return decorator.expression.callee.name;
66
62
  }
67
63
  return "";
@@ -96,4 +92,4 @@ const rule = (0, createRule_1.createRule)({
96
92
  },
97
93
  });
98
94
  exports.default = rule;
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9EdXBsaWNhdGVEZWNvcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL25vRHVwbGljYXRlRGVjb3JhdG9ycy9ub0R1cGxpY2F0ZURlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQStEO0FBQy9ELGtEQUFrRDtBQUNsRCx1REFBa0Q7QUFFbEQsb0RBQWtEO0FBTzNDLE1BQU0sYUFBYSxHQUFHLEdBQVksRUFBRTtJQUN2QyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFGVyxRQUFBLGFBQWEsaUJBRXhCO0FBQ1csUUFBQSw0QkFBNEIsR0FBRyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztBQUN6RSxNQUFNLElBQUksR0FBRyxJQUFBLHVCQUFVLEVBQXdEO0lBQzNFLElBQUksRUFBRSx5QkFBeUI7SUFDL0IsSUFBSSxFQUFFO1FBQ0YsSUFBSSxFQUFFO1lBQ0YsV0FBVyxFQUNQLDJGQUEyRjtTQUNsRztRQUNELFFBQVEsRUFBRTtZQUNOLHFCQUFxQixFQUNqQiwwRUFBMEU7U0FDakY7UUFDRCxNQUFNLEVBQUU7WUFDSjtnQkFDSSxJQUFJLEVBQUUsUUFBK0I7Z0JBQ3JDLFVBQVUsRUFBRTtvQkFDUixVQUFVLEVBQUU7d0JBQ1IsV0FBVyxFQUNQLHlFQUF5RTt3QkFDN0UsSUFBSSxFQUFFLE9BQThCO3dCQUNwQyxRQUFRLEVBQUUsQ0FBQzt3QkFDWCxLQUFLLEVBQUU7NEJBQ0gsSUFBSSxFQUFFLFFBQStCOzRCQUNyQyxTQUFTLEVBQUUsQ0FBQzt5QkFDZjtxQkFDSjtpQkFDSjthQUNKO1NBQ0o7UUFDRCxjQUFjLEVBQUUsSUFBSTtRQUNwQixJQUFJLEVBQUUsWUFBWTtLQUNyQjtJQUNELGNBQWMsRUFBRTtRQUNaO1lBQ0ksVUFBVSxFQUFFLElBQUksS0FBSyxFQUFVO1NBQ2xDO0tBQ0o7SUFFRCxNQUFNLENBQUMsT0FBTztRQUNWLE1BQU0sbUJB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
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9EdXBsaWNhdGVEZWNvcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL25vRHVwbGljYXRlRGVjb3JhdG9ycy9ub0R1cGxpY2F0ZURlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQWtEO0FBRWxELG9EQUFrRDtBQU8zQyxNQUFNLGFBQWEsR0FBRyxHQUFZLEVBQUU7SUFDdkMsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRlcsUUFBQSxhQUFhLGlCQUV4QjtBQUNXLFFBQUEsNEJBQTRCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDekUsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBVSxFQUF3RDtJQUMzRSxJQUFJLEVBQUUseUJBQXlCO0lBQy9CLElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCwyRkFBMkY7U0FDbEc7UUFDRCxRQUFRLEVBQUU7WUFDTixxQkFBcUIsRUFDakIsMEVBQTBFO1NBQ2pGO1FBQ0QsTUFBTSxFQUFFO1lBQ0o7Z0JBQ0ksSUFBSSxFQUFFLFFBQStCO2dCQUNyQyxVQUFVLEVBQUU7b0JBQ1IsVUFBVSxFQUFFO3dCQUNSLFdBQVcsRUFDUCx5RUFBeUU7d0JBQzdFLElBQUksRUFBRSxPQUE4Qjt3QkFDcEMsUUFBUSxFQUFFLENBQUM7d0JBQ1gsS0FBSyxFQUFFOzRCQUNILElBQUksRUFBRSxRQUErQjs0QkFDckMsU0FBUyxFQUFFLENBQUM7eUJBQ2Y7cUJBQ0o7aUJBQ0o7YUFDSjtTQUNKO1FBQ0QsY0FBYyxFQUFFLElBQUk7UUFDcEIsSUFBSSxFQUFFLFlBQVk7S0FDckI7SUFDRCxjQUFjLEVBQUU7UUFDWjtZQUNJLFVBQVUsRUFBRSxJQUFJLEtBQUssRUFBVTtTQUNsQztLQUNKO0lBRUQsTUFBTSxDQUFDLE9BQU87UUFDVixNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENB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
@@ -0,0 +1,21 @@
1
+ import { TSESTree } from "@typescript-eslint/utils";
2
+ interface ResultModel {
3
+ hasColonInName: boolean;
4
+ paramNameNotMatchedInPath: boolean;
5
+ }
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
+ */
18
+ export declare const isParameterNameIncludedInAPathPart: (paramName: string, pathPartsToCheck: string[]) => boolean;
19
+ export declare const shouldTrigger: (decorator: TSESTree.Decorator) => ResultModel;
20
+ declare const rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"paramIdentifierDoesntNeedColon" | "paramIdentifierShouldMatch", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
21
+ export default rule;
@@ -29,8 +29,8 @@ const parsePathParts = (decorator) => {
29
29
  }
30
30
  if (decoratorArgument?.type === utils_1.TSESTree.AST_NODE_TYPES.ObjectExpression) {
31
31
  return decoratorArgument.properties
32
- .filter((x) => x?.key
33
- ?.name === "path")
32
+ .filter((x) => x.key
33
+ .name === "path")
34
34
  .map((x) => x.value.raw);
35
35
  }
36
36
  return [];
@@ -42,7 +42,6 @@ exports.parsePathParts = parsePathParts;
42
42
  */
43
43
  const hasPathPartsAnyRegexParams = (pathPartsToCheck) => {
44
44
  // prettier-ignore
45
- // eslint-disable-next-line no-useless-escape
46
45
  const specialCharacterRegex = /(dareslint__skip|\*|\+|\?|\(|\)|_)/; //new RegExp("([\?\+\*\_\(\)])")
47
46
  return pathPartsToCheck.some((pathPart) => {
48
47
  return specialCharacterRegex.test(pathPart);
@@ -77,8 +76,8 @@ const shouldTrigger = (decorator) => {
77
76
  };
78
77
  }
79
78
  // grab the param name
80
- const paramName = decorator.expression
81
- ?.arguments[0]?.value;
79
+ const paramName = (decorator?.expression)
80
+ .arguments[0]?.value;
82
81
  // if there's no param name get out of here
83
82
  if (!paramName || paramName === "") {
84
83
  return {
@@ -96,19 +95,19 @@ const shouldTrigger = (decorator) => {
96
95
  let pathPartsToCheck = [];
97
96
  // grab any controller path parts
98
97
  // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
99
- const controllerDecorator = decorator.parent?.parent?.parent?.parent
100
- ?.parent?.decorators?.find((d) => {
98
+ const controllerDecorator = (decorator.parent.parent?.parent?.parent
99
+ ?.parent).decorators.find((d) => {
101
100
  return (d.expression
102
- .callee?.name === "Controller");
101
+ .callee.name === "Controller");
103
102
  });
104
103
  pathPartsToCheck = pathPartsToCheck.concat((0, exports.parsePathParts)(controllerDecorator));
105
104
  // grab any api method path parts from method decorator
106
- const methodDefinition = decorator.parent?.parent
105
+ const methodDefinition = decorator.parent.parent
107
106
  ?.parent;
108
107
  // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
109
- const methodDecorator = methodDefinition?.decorators?.find((d) => {
108
+ const methodDecorator = methodDefinition.decorators.find((d) => {
110
109
  return nestRequestMethodDecoratorNames.has(d.expression
111
- .callee?.name);
110
+ .callee.name);
112
111
  });
113
112
  pathPartsToCheck = pathPartsToCheck.concat((0, exports.parsePathParts)(methodDecorator));
114
113
  const shouldIgnoreThisSetOfRoutes =
@@ -145,13 +144,11 @@ const rule = (0, createRule_1.createRule)({
145
144
  defaultOptions: [],
146
145
  create(context) {
147
146
  return {
148
- // eslint-disable-next-line @typescript-eslint/naming-convention
149
147
  Decorator(node) {
150
148
  if (node.expression
151
- ?.callee?.name !== "Param") {
149
+ .callee.name !== "Param") {
152
150
  return;
153
151
  }
154
- // eslint-disable-next-line @typescript-eslint/naming-convention
155
152
  const result = (0, exports.shouldTrigger)(node);
156
153
  if (result.paramNameNotMatchedInPath) {
157
154
  context.report({
@@ -170,4 +167,4 @@ const rule = (0, createRule_1.createRule)({
170
167
  },
171
168
  });
172
169
  exports.default = rule;
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvcGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0vcGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQWtEO0FBQ2xELG9EQUFrRDtBQUNsRCx1REFBa0Q7QUFPbEQsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM1QyxLQUFLO0lBQ0wsTUFBTTtJQUNOLEtBQUs7SUFDTCxRQUFRO0lBQ1IsT0FBTztJQUNQLFNBQVM7SUFDVCxNQUFNO0lBQ04sS0FBSztDQUNSLENBQUMsQ0FBQztBQUVJLE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBNkIsRUFBWSxFQUFFO0lBQ3RFLE1BQU0saUJBQWlCLEdBQUksU0FBUyxFQUFFLFVBQXNDO1FBQ3hFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5CLElBQ0ksaUJBQWlCLEVBQUUsSUFBSSxLQUFLLGdCQUFRLENBQUMsY0FBYyxDQUFDLGVBQWU7UUFDbkUsaUJBQWlCLEVBQUUsSUFBSSxLQUFLLGdCQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFDaEUsQ0FBQztRQUNDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLGlCQUFpQixFQUFFLElBQUksS0FBSyxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5RCxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksaUJBQWlCLEVBQUUsSUFBSSxLQUFLLGdCQUFRLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RFLE9BQU8saUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDakMs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
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMvcGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0vcGFyYW1EZWNvcmF0b3JOYW1lTWF0Y2hlc1JvdXRlUGFyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQWtEO0FBQ2xELG9EQUFrRDtBQUNsRCx1REFBa0Q7QUFPbEQsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM1QyxLQUFLO0lBQ0wsTUFBTTtJQUNOLEtBQUs7SUFDTCxRQUFRO0lBQ1IsT0FBTztJQUNQLFNBQVM7SUFDVCxNQUFNO0lBQ04sS0FBSztDQUNSLENBQUMsQ0FBQztBQUVJLE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBNkIsRUFBWSxFQUFFO0lBQ3RFLE1BQU0saUJBQWlCLEdBQUksU0FBUyxFQUFFLFVBQXNDO1FBQ3hFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRW5CLElBQ0ksaUJBQWlCLEVBQUUsSUFBSSxLQUFLLGdCQUFRLENBQUMsY0FBYyxDQUFDLGVBQWU7UUFDbkUsaUJBQWlCLEVBQUUsSUFBSSxLQUFLLGdCQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFDaEUsQ0FBQztRQUNDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLGlCQUFpQixFQUFFLElBQUksS0FBSyxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5RCxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksaUJBQWlCLEVBQUUsSUFBSSxLQUFLLGdCQUFRLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RFLE9BQU8saUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDakMs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
@@ -0,0 +1,10 @@
1
+ export declare const pathPartTestCases: {
2
+ moduleCode: string;
3
+ paths: string[];
4
+ message: string;
5
+ }[];
6
+ export declare const responseParsingTestCases: {
7
+ pathToCheck: string;
8
+ paths: string[];
9
+ shouldResult: boolean;
10
+ }[];
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- /* eslint-disable unicorn/filename-case */
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.responseParsingTestCases = exports.pathPartTestCases = void 0;
5
4
  exports.pathPartTestCases = [
@@ -122,4 +121,4 @@ exports.responseParsingTestCases = [
122
121
  shouldResult: false,
123
122
  },
124
123
  ];
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS50ZXN0RGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9wYXJhbURlY29yYXRvck5hbWVNYXRjaGVzUm91dGVQYXJhbS9ydWxlLnRlc3REYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwQ0FBMEM7OztBQUU3QixRQUFBLGlCQUFpQixHQUFHO0lBQzdCO1FBQ0ksVUFBVSxFQUFFOzs7U0FHWDtRQUNELEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUNsQixPQUFPLEVBQUUsOEJBQThCO0tBQzFDO0lBQ0Q7UUFDSSxVQUFVLEVBQUU7OztTQUdYO1FBQ0QsS0FBSyxFQUFFLENBQUMsa0NBQWtDLENBQUM7UUFDM0MsT0FBTyxFQUFFLGtDQUFrQztLQUM5QztJQUNEO1FBQ0ksVUFBVSxFQUFFOzs7U0FHWDtRQUNELEtBQUssRUFBRTtZQUNILGtDQUFrQztZQUNsQyxrQ0FBa0M7U0FDckM7UUFDRCxPQUFPLEVBQUUsb0NBQW9DO0tBQ2hEO0lBQ0Q7UUFDSSxVQUFVLEVBQUU7OztTQUdYO1FBQ0QsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztRQUM3QixPQUFPLEVBQUUsZ0NBQWdDO0tBQzVDO0lBQ0Q7UUFDSSxVQUFVLEVBQUU7OztTQUdYO1FBQ0QsS0FBSyxFQUFFLEVBQUU7UUFDVCxPQUFPLEVBQUUscUJBQXFCO0tBQ2pDO0lBQ0Q7UUFDSSxVQUFVLEVBQUU7OztTQUdYO1FBQ0QsS0FBSyxFQUFFLENBQUMsa0NBQWtDLENBQUM7UUFDM0MsT0FBTyxFQUFFLDRCQUE0QjtLQUN4QztDQUNKLENBQUM7QUFFVyxRQUFBLHdCQUF3QixHQUFHO0lBQ3BDO1FBQ0ksV0FBVyxFQUFFLE1BQU07UUFDbkIsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ2xCLFlBQVksRUFBRSxJQUFJO0tBQ3JCO0lBQ0Q7UUFDSSxXQUFXLEVBQUUsS0FBSztRQUNsQixLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDbEIsWUFBWSxFQUFFLEtBQUs7S0FDdEI7SUFDRDtRQUNJLFdBQVcsRUFBRSxNQUFNO1FBQ25CLEtBQUssRUFBRSxDQUFDLHVCQUF1QixDQUFDO1FBQ2hDLFlBQVksRUFBRSxJQUFJO0tBQ3JCO0lBQ0Q7UUFDSSxXQUFXLEVBQUUsS0FBSztRQUNsQixLQUFLLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztRQUNqQyxZQUFZLEVBQUUsS0FBSztLQUN0QjtJQUNEO1FBQ0ksV0FBVyxFQUFFLE1BQU07UUFDbkIsS0FBSyxFQUFFLENBQUMsd0JBQXdCLENBQUM7UUFDakMsWUFBWSxFQUFFLElBQUk7S0FDckI7SUFDRDtRQUNJLFdBQVcsRUFBRSxNQUFNO1FBQ25CLEtBQUssRUFBRSxDQUFDLHVCQUF1QixDQUFDO1FBQ2hDLFlBQVksRUFBRSxJQUFJO0tBQ3JCO0lBQ0Q7UUFDSSxXQUFXLEVBQUUsTUFBTTtRQUNuQixLQUFLLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztRQUMvQixZQUFZLEVBQUUsSUFBSTtLQUNyQjtJQUNEO1FBQ0ksV0FBVyxFQUFFLE1BQU07UUFDbkIsS0FBSyxFQUFFLENBQUMsdUJBQXVCLENBQUM7UUFDaEMsWUFBWSxFQUFFLElBQUk7S0FDckI7SUFDRDtRQUNJLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEtBQUssRUFBRSxDQUFDLHVCQUF1QixDQUFDO1FBQ2hDLFlBQVksRUFBRSxLQUFLO0tBQ3RCO0lBQ0Q7UUFDSSxXQUFXLEVBQUUsTUFBTTtRQUNuQixLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO1FBQ2hDLFlBQVksRUFBRSxJQUFJO0tBQ3JCO0lBQ0Q7UUFDSSxXQUFXLEVBQUUsTUFBTTtRQUNuQixLQUFLLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDckIsWUFBWSxFQUFFLEtBQUs7S0FDdEI7SUFDRDtRQUNJLFdBQVcsRUFBRSxNQUFNO1FBQ25CLEtBQUssRUFBRSxFQUFFO1FBQ1QsWUFBWSxFQUFFLEtBQUs7S0FDdEI7SUFDRDtRQUNJLFdBQVcsRUFBRSxNQUFNO1FBQ25CLEtBQUssRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDakIsWUFBWSxFQUFFLEtBQUs7S0FDdEI7Q0FDSixDQUFDIn0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS50ZXN0RGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9wYXJhbURlY29yYXRvck5hbWVNYXRjaGVzUm91dGVQYXJhbS9ydWxlLnRlc3REYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsaUJBQWlCLEdBQUc7SUFDN0I7UUFDSSxVQUFVLEVBQUU7OztTQUdYO1FBQ0QsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ2xCLE9BQU8sRUFBRSw4QkFBOEI7S0FDMUM7SUFDRDtRQUNJLFVBQVUsRUFBRTs7O1NBR1g7UUFDRCxLQUFLLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztRQUMzQyxPQUFPLEVBQUUsa0NBQWtDO0tBQzlDO0lBQ0Q7UUFDSSxVQUFVLEVBQUU7OztTQUdYO1FBQ0QsS0FBSyxFQUFFO1lBQ0gsa0NBQWtDO1lBQ2xDLGtDQUFrQztTQUNyQztRQUNELE9BQU8sRUFBRSxvQ0FBb0M7S0FDaEQ7SUFDRDtRQUNJLFVBQVUsRUFBRTs7O1NBR1g7UUFDRCxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1FBQzdCLE9BQU8sRUFBRSxnQ0FBZ0M7S0FDNUM7SUFDRDtRQUNJLFVBQVUsRUFBRTs7O1NBR1g7UUFDRCxLQUFLLEVBQUUsRUFBRTtRQUNULE9BQU8sRUFBRSxxQkFBcUI7S0FDakM7SUFDRDtRQUNJLFVBQVUsRUFBRTs7O1NBR1g7UUFDRCxLQUFLLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztRQUMzQyxPQUFPLEVBQUUsNEJBQTRCO0tBQ3hDO0NBQ0osQ0FBQztBQUVXLFFBQUEsd0JBQXdCLEdBQUc7SUFDcEM7UUFDSSxXQUFXLEVBQUUsTUFBTTtRQUNuQixLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDbEIsWUFBWSxFQUFFLElBQUk7S0FDckI7SUFDRDtRQUNJLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUNsQixZQUFZLEVBQUUsS0FBSztLQUN0QjtJQUNEO1FBQ0ksV0FBVyxFQUFFLE1BQU07UUFDbkIsS0FBSyxFQUFFLENBQUMsdUJBQXVCLENBQUM7UUFDaEMsWUFBWSxFQUFFLElBQUk7S0FDckI7SUFDRDtRQUNJLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLEtBQUssRUFBRSxDQUFDLHdCQUF3QixDQUFDO1FBQ2pDLFlBQVksRUFBRSxLQUFLO0tBQ3RCO0lBQ0Q7UUFDSSxXQUFXLEVBQUUsTUFBTTtRQUNuQixLQUFLLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztRQUNqQyxZQUFZLEVBQUUsSUFBSTtLQUNyQjtJQUNEO1FBQ0ksV0FBVyxFQUFFLE1BQU07UUFDbkIsS0FBSyxFQUFFLENBQUMsdUJBQXVCLENBQUM7UUFDaEMsWUFBWSxFQUFFLElBQUk7S0FDckI7SUFDRDtRQUNJLFdBQVcsRUFBRSxNQUFNO1FBQ25CLEtBQUssRUFBRSxDQUFDLHNCQUFzQixDQUFDO1FBQy9CLFlBQVksRUFBRSxJQUFJO0tBQ3JCO0lBQ0Q7UUFDSSxXQUFXLEVBQUUsTUFBTTtRQUNuQixLQUFLLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztRQUNoQyxZQUFZLEVBQUUsSUFBSTtLQUNyQjtJQUNEO1FBQ0ksV0FBVyxFQUFFLEtBQUs7UUFDbEIsS0FBSyxFQUFFLENBQUMsdUJBQXVCLENBQUM7UUFDaEMsWUFBWSxFQUFFLEtBQUs7S0FDdEI7SUFDRDtRQUNJLFdBQVcsRUFBRSxNQUFNO1FBQ25CLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUM7UUFDaEMsWUFBWSxFQUFFLElBQUk7S0FDckI7SUFDRDtRQUNJLFdBQVcsRUFBRSxNQUFNO1FBQ25CLEtBQUssRUFBRSxDQUFDLFlBQVksQ0FBQztRQUNyQixZQUFZLEVBQUUsS0FBSztLQUN0QjtJQUNEO1FBQ0ksV0FBVyxFQUFFLE1BQU07UUFDbkIsS0FBSyxFQUFFLEVBQUU7UUFDVCxZQUFZLEVBQUUsS0FBSztLQUN0QjtJQUNEO1FBQ0ksV0FBVyxFQUFFLE1BQU07UUFDbkIsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNqQixZQUFZLEVBQUUsS0FBSztLQUN0QjtDQUNKLENBQUMifQ==
@@ -0,0 +1,4 @@
1
+ import { TSESTree } from "@typescript-eslint/utils";
2
+ export declare const hasMismatchedInjected: (node: TSESTree.VariableDeclarator) => boolean;
3
+ declare const rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"mainMessage", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
4
+ export default rule;
@@ -2,25 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.hasMismatchedInjected = void 0;
4
4
  const createRule_1 = require("../../utils/createRule");
5
- // eslint-disable-next-line unicorn/import-style
6
5
  //import util from "util";
7
6
  const nestProviderAstParser_1 = require("../../utils/nestModules/nestProviderAstParser");
8
7
  const hasMismatchedInjected = (node) => {
9
8
  // should be a nest provider - note this doesn't check the Provider used is an import actually from nest. Assumes nest Provider. Will change if this is annoying:)
10
9
  // edit 03/06/2023 - it was annoying and someone complained on github so I added a check for a "useFactory" property on the Provider declaration
11
- const isNestProvider = node.id.typeAnnotation
10
+ const isNestProvider = (node.id.typeAnnotation
12
11
  ?.typeAnnotation
13
12
  // prettier-ignore
14
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
- ?.typeName?.name === "Provider" &&
13
+ ).typeName.name === "Provider" &&
16
14
  // and there is a useFactory property in the declaration
17
15
  nestProviderAstParser_1.nestProviderAstParser.findProvideProperty(node, "useFactory");
18
16
  if (!isNestProvider) {
19
17
  return false;
20
18
  }
21
19
  // count number of factory params
22
- const factoryParameterCount = nestProviderAstParser_1.nestProviderAstParser.findProvideProperty(node, "useFactory")
23
- ?.value?.params?.length;
20
+ const factoryParameterCount = (nestProviderAstParser_1.nestProviderAstParser.findProvideProperty(node, "useFactory")
21
+ ?.value).params.length;
24
22
  // Count number of injected params
25
23
  const injectedParameter = nestProviderAstParser_1.nestProviderAstParser.findProvideProperty(node, "inject")?.value;
26
24
  const injectedParameterCount = injectedParameter
@@ -45,7 +43,6 @@ const rule = (0, createRule_1.createRule)({
45
43
  defaultOptions: [],
46
44
  create(context) {
47
45
  return {
48
- // eslint-disable-next-line @typescript-eslint/naming-convention
49
46
  VariableDeclarator(node) {
50
47
  if ((0, exports.hasMismatchedInjected)(node)) {
51
48
  context.report({
@@ -58,4 +55,4 @@ const rule = (0, createRule_1.createRule)({
58
55
  },
59
56
  });
60
57
  exports.default = rule;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXJJbmplY3RlZFNob3VsZE1hdGNoRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9wcm92aWRlckluamVjdGVkU2hvdWxkTWF0Y2hGYWN0b3J5L1Byb3ZpZGVySW5qZWN0ZWRTaG91bGRNYXRjaEZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBQWtEO0FBQ2xELGdEQUFnRDtBQUNoRCwwQkFBMEI7QUFDMUIseUZBQW9GO0FBRTdFLE1BQU0scUJBQXFCLEdBQUcsQ0FDakMsSUFBaUMsRUFDMUIsRUFBRTtJQUNULGtLQUFrSztJQUNsSyxnSkFBZ0o7SUFDaEosTUFBTSxjQUFjLEdBR1osSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjO1FBQ2xCLEVBQUUsY0FBMEM7SUFDdEQsa0JBQWtCO0lBQ2xCLDhEQUE4RDtJQUMzRCxFQUFFLFFBQ0YsRUFBRSxJQUFJLEtBQUssVUFBVTtRQUN0Qix3REFBd0Q7UUFDeEQsNkNBQXFCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRWxFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNsQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLE1BQU0scUJBQXFCLEdBQ3ZCLDZDQUFxQixDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7UUFDekQsRUFBRSxLQUNULEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUVsQixrQ0FBa0M7SUFDbEMsTUFBTSxpQkFBaUIsR0FBRyw2Q0FBcUIsQ0FBQyxtQkFBbUIsQ0FDL0QsSUFBSSxFQUNKLFFBQVEsQ0FDWCxFQUFFLEtBQTRDLENBQUM7SUFFaEQsTUFBTSxzQkFBc0IsR0FBRyxpQkFBaUI7UUFDNUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNO1FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFUix1QkFBdUI7SUFDdkIsT0FBTyxzQkFBc0IsS0FBSyxxQkFBcUIsQ0FBQztBQUM1RCxDQUFDLENBQUM7QUF2Q1csUUFBQSxxQkFBcUIseUJBdUNoQztBQUVGLE1BQU0sSUFBSSxHQUFHLElBQUEsdUJBQVUsRUFBb0I7SUFDdkMsSUFBSSxFQUFFLG1EQUFtRDtJQUN6RCxJQUFJLEVBQUU7UUFDRixJQUFJLEVBQUU7WUFDRixXQUFXLEVBQ1AsbUdBQW1HO1NBQzFHO1FBQ0QsUUFBUSxFQUFFO1lBQ04sV0FBVyxFQUFFLDBGQUEwRjtTQUMxRztRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFNBQVM7S0FDbEI7SUFDRCxjQUFjLEVBQUUsRUFBRTtJQUVsQixNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxnRUFBZ0U7WUFDaEUsa0JBQWtCLENBQUMsSUFBaUM7Z0JBQ2hELElBQUksSUFBQSw2QkFBcUIsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUM5QixPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNYLElBQUksRUFBRSxJQUFJO3dCQUNWLFNBQVMsRUFBRSxhQUFhO3FCQUMzQixDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILGtCQUFlLElBQUksQ0FBQyJ9
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXJJbmplY3RlZFNob3VsZE1hdGNoRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy9wcm92aWRlckluamVjdGVkU2hvdWxkTWF0Y2hGYWN0b3J5L1Byb3ZpZGVySW5qZWN0ZWRTaG91bGRNYXRjaEZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsdURBQWtEO0FBRWxELDBCQUEwQjtBQUMxQix5RkFBb0Y7QUFFN0UsTUFBTSxxQkFBcUIsR0FBRyxDQUNqQyxJQUFpQyxFQUMxQixFQUFFO0lBQ1Qsa0tBQWtLO0lBQ2xLLGdKQUFnSjtJQUNoSixNQUFNLGNBQWMsR0FFWixDQUNBLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYztRQUNsQixFQUFFLGNBQTBDO0lBQ3RELGtCQUFrQjtJQUVmLENBQUEsQ0FBQyxRQUNELENBQUMsSUFBSSxLQUFLLFVBQVU7UUFDckIsd0RBQXdEO1FBQ3hELDZDQUFxQixDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUVsRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxNQUFNLHFCQUFxQixHQUFHLENBQzFCLDZDQUFxQixDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7UUFDekQsRUFBRSxLQUNULENBQUEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBRWhCLGtDQUFrQztJQUNsQyxNQUFNLGlCQUFpQixHQUFHLDZDQUFxQixDQUFDLG1CQUFtQixDQUMvRCxJQUFJLEVBQ0osUUFBUSxDQUNYLEVBQUUsS0FBNEMsQ0FBQztJQUVoRCxNQUFNLHNCQUFzQixHQUFHLGlCQUFpQjtRQUM1QyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU07UUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVSLHVCQUF1QjtJQUN2QixPQUFPLHNCQUFzQixLQUFLLHFCQUFxQixDQUFDO0FBQzVELENBQUMsQ0FBQztBQXZDVyxRQUFBLHFCQUFxQix5QkF1Q2hDO0FBRUYsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBVSxFQUFvQjtJQUN2QyxJQUFJLEVBQUUsbURBQW1EO0lBQ3pELElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCxtR0FBbUc7U0FDMUc7UUFDRCxRQUFRLEVBQUU7WUFDTixXQUFXLEVBQUUsMEZBQTBGO1NBQzFHO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixJQUFJLEVBQUUsU0FBUztLQUNsQjtJQUNELGNBQWMsRUFBRSxFQUFFO0lBRWxCLE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTztZQUNILGtCQUFrQixDQUFDLElBQWlDO2dCQUNoRCxJQUFJLElBQUEsNkJBQXFCLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDOUIsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDWCxJQUFJLEVBQUUsSUFBSTt3QkFDVixTQUFTLEVBQUUsYUFBYTtxQkFDM0IsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDO1NBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxrQkFBZSxJQUFJLENBQUMifQ==
@@ -0,0 +1,7 @@
1
+ import { TSESTree } from "@typescript-eslint/utils";
2
+ export declare const isValidationPipeNewExpression: (node: TSESTree.Node) => boolean;
3
+ export declare const checkObjectExpression: (os: TSESTree.ObjectExpression) => boolean;
4
+ export declare const shouldTriggerNewExpressionHasProperty: (node: TSESTree.Node) => boolean;
5
+ export declare const shouldTriggerForVariableDeclaratorExpression: (node: TSESTree.VariableDeclarator) => boolean;
6
+ declare const rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"shouldSpecifyForbidUnknownValues", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
7
+ export default rule;
@@ -6,7 +6,7 @@ const createRule_1 = require("../../utils/createRule");
6
6
  const utils_2 = require("@typescript-eslint/utils");
7
7
  const isValidationPipeNewExpression = (node) => {
8
8
  const newExpression = node;
9
- const callee = newExpression?.callee;
9
+ const callee = newExpression.callee;
10
10
  if (callee && callee.name === "ValidationPipe") {
11
11
  return true;
12
12
  }
@@ -18,16 +18,15 @@ const checkObjectExpression = (os) => {
18
18
  return false;
19
19
  }
20
20
  // eslint-disable-next-line @typescript-eslint/non-nullable-type-assertion-style
21
- const forbidUnknownValuesProperty = os?.properties
22
- ?.filter(utils_2.ASTUtils.isNodeOfType(utils_1.TSESTree.AST_NODE_TYPES.Property))
21
+ const forbidUnknownValuesProperty = os.properties
22
+ .filter(utils_2.ASTUtils.isNodeOfType(utils_1.TSESTree.AST_NODE_TYPES.Property))
23
23
  .find((p) => p.key.name === "forbidUnknownValues");
24
24
  // property is not present. this is wrong.
25
25
  if (os && !forbidUnknownValuesProperty) {
26
26
  return true;
27
27
  }
28
28
  // property is explicitly false. this is wrong.
29
- const isPropertyValueExplicitlyFalse = (forbidUnknownValuesProperty?.value).raw ===
30
- "false";
29
+ const isPropertyValueExplicitlyFalse = forbidUnknownValuesProperty.value.raw === "false";
31
30
  if (isPropertyValueExplicitlyFalse) {
32
31
  return true;
33
32
  }
@@ -44,7 +43,7 @@ const shouldTriggerNewExpressionHasProperty = (node) => {
44
43
  // the default new ValidationPipe() seems to prevent the attack so we ignore calls with no parameters
45
44
  // we also ignore parameters that are not explicit object expressions
46
45
  // or if the properties are spread
47
- if (newExpression.arguments?.length === 0 ||
46
+ if (newExpression.arguments.length === 0 ||
48
47
  newExpression.arguments[0].type !==
49
48
  utils_1.TSESTree.AST_NODE_TYPES.ObjectExpression ||
50
49
  newExpression.arguments[0].properties.some(utils_2.ASTUtils.isNodeOfType(utils_1.TSESTree.AST_NODE_TYPES.SpreadElement))) {
@@ -57,8 +56,8 @@ exports.shouldTriggerNewExpressionHasProperty = shouldTriggerNewExpressionHasPro
57
56
  const shouldTriggerForVariableDeclaratorExpression = (node) => {
58
57
  // if the developer hasn't annotated the object we can't continue to check these rules correctly (we don't know if anonymous objects need to have any props)
59
58
  const variableDeclarator = node;
60
- const asExpression = variableDeclarator?.init;
61
- const typeAnnotation = asExpression?.typeAnnotation;
59
+ const asExpression = variableDeclarator.init;
60
+ const typeAnnotation = asExpression.typeAnnotation;
62
61
  const typeName = typeAnnotation?.typeName;
63
62
  if (typeName === undefined || typeName.name !== "ValidationPipeOptions") {
64
63
  return false;
@@ -83,7 +82,6 @@ const rule = (0, createRule_1.createRule)({
83
82
  defaultOptions: [],
84
83
  create(context) {
85
84
  return {
86
- // eslint-disable-next-line @typescript-eslint/naming-convention
87
85
  NewExpression(node) {
88
86
  // eslint-disable-next-line @typescript-eslint/naming-convention
89
87
  const result = (0, exports.shouldTriggerNewExpressionHasProperty)(node);
@@ -94,7 +92,6 @@ const rule = (0, createRule_1.createRule)({
94
92
  });
95
93
  }
96
94
  },
97
- // eslint-disable-next-line @typescript-eslint/naming-convention
98
95
  VariableDeclarator(node) {
99
96
  // eslint-disable-next-line @typescript-eslint/naming-convention
100
97
  const result = (0, exports.shouldTriggerForVariableDeclaratorExpression)(node);
@@ -109,4 +106,4 @@ const rule = (0, createRule_1.createRule)({
109
106
  },
110
107
  });
111
108
  exports.default = rule;
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdWxkU3BlY2lmeUZvcmJpZFVua25vd25WYWx1ZXNSdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL3Nob3VsZFNwZWNpZnlGb3JiaWRVbmtub3duVmFsdWVzL3Nob3VsZFNwZWNpZnlGb3JiaWRVbmtub3duVmFsdWVzUnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBa0Q7QUFDbEQsdURBQWtEO0FBQ2xELG9EQUFrRDtBQUUzQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBbUIsRUFBVyxFQUFFO0lBQzFFLE1BQU0sYUFBYSxHQUFHLElBQThCLENBQUM7SUFDckQsTUFBTSxNQUFNLEdBQUcsYUFBYSxFQUFFLE1BQTZCLENBQUM7SUFDNUQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFQVyxRQUFBLDZCQUE2QixpQ0FPeEM7QUFDSyxNQUFNLHFCQUFxQixHQUFHLENBQ2pDLEVBQTZCLEVBQ3RCLEVBQUU7SUFDVCxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDTixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsZ0ZBQWdGO0lBQ2hGLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxFQUFFLFVBQVU7UUFDOUMsRUFBRSxNQUFNLENBQUMsZ0JBQVEsQ0FBQyxZQUFZLENBQUMsZ0JBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEUsSUFBSSxDQUNELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFDLENBQUMsR0FBMkIsQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQ2xELENBQUM7SUFDM0IsMENBQTBDO0lBQzFDLElBQUksRUFBRSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsK0NBQStDO0lBQy9DLE1BQU0sOEJBQThCLEdBQ2hDLENBQUMsMkJBQTJCLEVBQUUsS0FBMEIsQ0FBQSxDQUFDLEdBQUc7UUFDNUQsT0FBTyxDQUFDO0lBQ1osSUFBSSw4QkFBOEIsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxrREFBa0Q7SUFDbEQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBekJXLFFBQUEscUJBQXFCLHlCQXlCaEM7QUFFSyxNQUFNLHFDQUFxQyxHQUFHLENBQ2pELElBQW1CLEVBQ1osRUFBRTtJQUNULDBDQUEwQztJQUMxQyxJQUFJLENBQUMsSUFBQSxxQ0FBNkIsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxJQUE4QixDQUFDO0lBQ3JELHFHQUFxRztJQUNyRyxxRUFBcUU7SUFDckUsa0NBQWtDO0lBQ2xDLElBQ0ksYUFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLEtBQUssQ0FBQztRQUNyQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDM0IsZ0JBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCO1FBQzVDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDdEMsZ0JBQVEsQ0FBQyxZQUFZLENBQUMsZ0JBQVEsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQy9ELEVBQ0gsQ0FBQztRQUNDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTdDLE9BQU8sSUFBQSw2QkFBcUIsRUFBQyxRQUFRLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUM7QUF4QlcsUUFBQSxxQ0FBcUMseUNBd0JoRDtBQUVLLE1BQU0sNENBQTRDLEdBQUcsQ0FDeEQsSUFBaUMsRUFDMUIsRUFBRTtJQUNULDRKQUE0SjtJQUM1SixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUNoQyxNQUFNLFlBQVksR0FBRyxrQkFBa0IsRUFBRSxJQUErQixDQUFDO0lBQ3pFLE1BQU0sY0FBYyxHQUNoQixZQUFZLEVBQUUsY0FBMEMsQ0FBQztJQUM3RCxNQUFNLFFBQVEsR0FBRyxjQUFjLEVBQUUsUUFBK0IsQ0FBQztJQUNqRSxJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyx1QkFBdUIsRUFBRSxDQUFDO1FBQ3RFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCx3REFBd0Q7SUFDeEQsT0FBTyxJQUFBLDZCQUFxQixFQUN4QixZQUFZLENBQUMsVUFBdUMsQ0FDdkQsQ0FBQztBQUNOLENBQUMsQ0FBQztBQWhCVyxRQUFBLDRDQUE0QyxnREFnQnZEO0FBRUYsTUFBTSxJQUFJLEdBQUcsSUFBQSx1QkFBVSxFQUF5QztJQUM1RCxJQUFJLEVBQUUsMkNBQTJDO0lBQ2pELElBQUksRUFBRTtRQUNGLElBQUksRUFBRTtZQUNGLFdBQVcsRUFDUCwySUFBMkk7U0FDbEo7UUFDRCxRQUFRLEVBQUU7WUFDTixnQ0FBZ0MsRUFBRSxpTEFBaUw7U0FDdE47UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLElBQUksRUFBRSxZQUFZO0tBQ3JCO0lBQ0QsY0FBYyxFQUFFLEVBQUU7SUFFbEIsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsZ0VBQWdFO1lBQ2hFLGFBQWEsQ0FBQyxJQUE0QjtnQkFDdEMsZ0VBQWdFO2dCQUNoRSxNQUFNLE1BQU0sR0FBRyxJQUFBLDZDQUFxQyxFQUFDLElBQUksQ0FBQyxDQUFDO2dCQUUzRCxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNULE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSSxFQUFFLElBQUk7d0JBQ1YsU0FBUyxFQUFFLGtDQUFrQztxQkFDaEQsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDO1lBQ0QsZ0VBQWdFO1lBQ2hFLGtCQUFrQixDQUFDLElBQWlDO2dCQUNoRCxnRUFBZ0U7Z0JBQ2hFLE1BQU0sTUFBTSxHQUNSLElBQUEsb0RBQTRDLEVBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRXZELElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ1QsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDWCxJQUFJLEVBQUUsSUFBSTt3QkFDVixTQUFTLEVBQUUsa0NBQWtDO3FCQUNoRCxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUVILGtCQUFlLElBQUksQ0FBQyJ9
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdWxkU3BlY2lmeUZvcmJpZFVua25vd25WYWx1ZXNSdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL3Nob3VsZFNwZWNpZnlGb3JiaWRVbmtub3duVmFsdWVzL3Nob3VsZFNwZWNpZnlGb3JiaWRVbmtub3duVmFsdWVzUnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBa0Q7QUFDbEQsdURBQWtEO0FBQ2xELG9EQUFrRDtBQUUzQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBbUIsRUFBVyxFQUFFO0lBQzFFLE1BQU0sYUFBYSxHQUFHLElBQThCLENBQUM7SUFDckQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQTZCLENBQUM7SUFDM0QsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFQVyxRQUFBLDZCQUE2QixpQ0FPeEM7QUFDSyxNQUFNLHFCQUFxQixHQUFHLENBQ2pDLEVBQTZCLEVBQ3RCLEVBQUU7SUFDVCxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDTixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsZ0ZBQWdGO0lBQ2hGLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxDQUFDLFVBQVU7U0FDNUMsTUFBTSxDQUFDLGdCQUFRLENBQUMsWUFBWSxDQUFDLGdCQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9ELElBQUksQ0FDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBQyxDQUFDLEdBQTJCLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUNsRCxDQUFDO0lBQzNCLDBDQUEwQztJQUMxQyxJQUFJLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDckMsT0FB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
@@ -0,0 +1,11 @@
1
+ import { TSESTree } from "@typescript-eslint/utils";
2
+ export type RuleOptions = [
3
+ {
4
+ locale?: string;
5
+ }
6
+ ];
7
+ export type ValidModuleNodeTypes = TSESTree.Identifier | TSESTree.CallExpression;
8
+ export declare const isValidModuleMetaPropertyType: (node: TSESTree.Expression | TSESTree.SpreadElement | null) => node is ValidModuleNodeTypes;
9
+ export declare const getRelevantNodeName: (node: TSESTree.Node) => string;
10
+ declare const _default: import("@typescript-eslint/utils/ts-eslint").RuleModule<"moduleMetadataArraysAreSorted", RuleOptions, unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
11
+ export default _default;