From aab0d202f8edb079070f417ab4b35678ac937608 Mon Sep 17 00:00:00 2001 From: Nemanja Stojanovic Date: Tue, 28 Feb 2017 13:58:56 -0500 Subject: [PATCH] util: convert inspect.styles and inspect.colors to prototype-less objects Use a prototype-less object for inspect.styles and inspect.colors to allow modification of Object.prototype in the REPL. Fixes: https://github.com/nodejs/node/issues/11614 PR-URL: https://github.com/nodejs/node/pull/11624 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Colin Ihrig Reviewed-By: Timothy Gu --- lib/util.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/util.js b/lib/util.js index 1ee96c1c84b..7e8d23d55e6 100644 --- a/lib/util.js +++ b/lib/util.js @@ -166,7 +166,7 @@ Object.defineProperty(inspect, 'defaultOptions', { }); // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics -inspect.colors = { +inspect.colors = Object.assign(Object.create(null), { 'bold': [1, 22], 'italic': [3, 23], 'underline': [4, 24], @@ -180,10 +180,10 @@ inspect.colors = { 'magenta': [35, 39], 'red': [31, 39], 'yellow': [33, 39] -}; +}); // Don't use 'blue' not visible on cmd.exe -inspect.styles = { +inspect.styles = Object.assign(Object.create(null), { 'special': 'cyan', 'number': 'yellow', 'boolean': 'yellow', @@ -194,7 +194,7 @@ inspect.styles = { 'date': 'magenta', // "name": intentionally not styling 'regexp': 'red' -}; +}); const customInspectSymbol = internalUtil.customInspectSymbol;