From ba4946a520f3c810c802fa7cf88d3c7e92e60478 Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Thu, 3 Oct 2019 02:24:19 +0200 Subject: [PATCH] tools: prohibit Error.prepareStackTrace() usage This eslint rule makes sure that `prepareStackTrace()` is not used in Node.js core. PR-URL: https://github.com/nodejs/node/pull/29827 Reviewed-By: James M Snell Reviewed-By: Gus Caplan --- lib/.eslintrc.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/.eslintrc.yaml b/lib/.eslintrc.yaml index b7e8e1f4fbeb4a..f66e15e6d963e8 100644 --- a/lib/.eslintrc.yaml +++ b/lib/.eslintrc.yaml @@ -33,6 +33,8 @@ rules: message: "Use an error exported by the internal/errors module." - selector: "CallExpression[callee.object.name='Error'][callee.property.name='captureStackTrace']" message: "Please use `require('internal/errors').hideStackFrames()` instead." + - selector: "AssignmentExpression:matches([left.name='prepareStackTrace'], [left.property.name='prepareStackTrace'])" + message: "Use 'overrideStackTrace' from 'lib/internal/errors.js' instead of 'Error.prepareStackTrace'." # Custom rules in tools/eslint-rules node-core/lowercase-name-for-primitive: error node-core/non-ascii-character: error