@darraghor/eslint-plugin-nestjs-typed 3.22.0 → 3.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.shouldTriggerForVariableDecleratorExpression = exports.shouldTriggerNewExpressionHasProperty = exports.checkObjectExpression = exports.isValidationPipeNewExpression = void 0;
4
+ const utils_1 = require("@typescript-eslint/utils");
4
5
  const createRule_1 = require("../../utils/createRule");
6
+ const ast_utils_1 = require("@typescript-eslint/utils/dist/ast-utils");
5
7
  const isValidationPipeNewExpression = (node) => {
6
8
  const newExpression = node;
7
9
  const callee = newExpression === null || newExpression === void 0 ? void 0 : newExpression.callee;
@@ -16,8 +18,7 @@ const checkObjectExpression = (os) => {
16
18
  if (!os) {
17
19
  return false;
18
20
  }
19
- const forbidUnknownValuesProperty = (_a = os === null || os === void 0 ? void 0 : os.properties) === null || _a === void 0 ? void 0 : _a.find((p) => p.key.name ===
20
- "forbidUnknownValues");
21
+ const forbidUnknownValuesProperty = (_a = os === null || os === void 0 ? void 0 : os.properties) === null || _a === void 0 ? void 0 : _a.filter((0, ast_utils_1.isNodeOfType)(utils_1.TSESTree.AST_NODE_TYPES.Property)).find((p) => p.key.name === "forbidUnknownValues");
21
22
  // property is not present. this is wrong.
22
23
  if (os && !forbidUnknownValuesProperty) {
23
24
  return true;
@@ -41,8 +42,10 @@ const shouldTriggerNewExpressionHasProperty = (node) => {
41
42
  const newExpression = node;
42
43
  // the default new ValidationPipe() seems to prevent the attack so we ignore calls with no parameters
43
44
  // we also ignore parameters that are not explicit object expressions
45
+ // or if the properties are spread
44
46
  if (((_a = newExpression.arguments) === null || _a === void 0 ? void 0 : _a.length) === 0 ||
45
- newExpression.arguments[0].type !== "ObjectExpression") {
47
+ newExpression.arguments[0].type !== "ObjectExpression" ||
48
+ newExpression.arguments[0].properties.some((0, ast_utils_1.isNodeOfType)(utils_1.TSESTree.AST_NODE_TYPES.SpreadElement))) {
46
49
  return false;
47
50
  }
48
51
  const argument = newExpression === null || newExpression === void 0 ? void 0 : newExpression.arguments[0];
@@ -106,4 +109,4 @@ const rule = (0, createRule_1.createRule)({
106
109
  },
107
110
  });
108
111
  exports.default = rule;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdWxkU3BlY2lmeUZvcmJpZFVua25vd25WYWx1ZXNSdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL3Nob3VsZFNwZWNpZnlGb3JiaWRVbmtub3duVmFsdWVzL3Nob3VsZFNwZWNpZnlGb3JiaWRVbmtub3duVmFsdWVzUnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1REFBa0Q7QUFFM0MsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLElBQW1CLEVBQVcsRUFBRTtJQUMxRSxNQUFNLGFBQWEsR0FBRyxJQUE4QixDQUFDO0lBQ3JELE1BQU0sTUFBTSxHQUFHLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxNQUE2QixDQUFDO0lBQzVELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7UUFDNUMsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQVBXLFFBQUEsNkJBQTZCLGlDQU94QztBQUNLLE1BQU0scUJBQXFCLEdBQUcsQ0FDakMsRUFBNkIsRUFDdEIsRUFBRTs7SUFDVCxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ0wsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFDRCxNQUFNLDJCQUEyQixHQUFHLE1BQUEsRUFBRSxhQUFGLEVBQUUsdUJBQUYsRUFBRSxDQUFFLFVBQVUsMENBQUUsSUFBSSxDQUNwRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0EsQ0FBdUIsQ0FBQyxHQUEyQixDQUFDLElBQUk7UUFDMUQscUJBQXFCLENBQ1AsQ0FBQztJQUN2QiwwQ0FBMEM7SUFDMUMsSUFBSSxFQUFFLElBQUksQ0FBQywyQkFBMkIsRUFBRTtRQUNwQyxPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsK0NBQStDO0lBQy9DLE1BQU0sOEJBQThCLEdBQ2hDLENBQUMsMkJBQTJCLGFBQTNCLDJCQUEyQix1QkFBM0IsMkJB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
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdWxkU3BlY2lmeUZvcmJpZFVua25vd25WYWx1ZXNSdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL3Nob3VsZFNwZWNpZnlGb3JiaWRVbmtub3duVmFsdWVzL3Nob3VsZFNwZWNpZnlGb3JiaWRVbmtub3duVmFsdWVzUnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxvREFBNEQ7QUFDNUQsdURBQWtEO0FBQ2xELHVFQUFxRTtBQUU5RCxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBbUIsRUFBVyxFQUFFO0lBQzFFLE1BQU0sYUFBYSxHQUFHLElBQThCLENBQUM7SUFDckQsTUFBTSxNQUFNLEdBQUcsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLE1BQTZCLENBQUM7SUFDNUQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsRUFBRTtRQUM1QyxPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBUFcsUUFBQSw2QkFBNkIsaUNBT3hDO0FBQ0ssTUFBTSxxQkFBcUIsR0FBRyxDQUNqQyxFQUE2QixFQUN0QixFQUFFOztJQUNULElBQUksQ0FBQyxFQUFFLEVBQUU7UUFDTCxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE1BQU0sMkJBQTJCLEdBQUcsTUFBQSxFQUFFLGFBQUYsRUFBRSx1QkFBRixFQUFFLENBQUUsVUFBVSwwQ0FDNUMsTUFBTSxDQUFDLElBQUEsd0JBQVksRUFBQyxnQkFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFDdEQsSUFBSSxDQUNELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFDLENBQUMsR0FBMkIsQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQ2xELENBQUM7SUFDM0IsMENBQTBDO0lBQzFDLElBQUksRUFBRSxJQUFJLENBQUMsMkJBQTJCLEVBQUU7UUFDcEMsT0FB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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.22.0",
3
+ "version": "3.22.1",
4
4
  "description": "Eslint rules for nestjs projects",
5
5
  "scripts": {
6
6
  "clean": "rm -Rf ./dist/",