From 99a4343626fefeeadcc196c0fa6116ffe8143ea5 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sat, 24 Jan 2015 16:32:55 +1100 Subject: [PATCH] use clone helper instead of lodash cloneDeep - fixes #583 --- lib/6to5/file.js | 3 ++- lib/6to5/helpers/clone.js | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 lib/6to5/helpers/clone.js diff --git a/lib/6to5/file.js b/lib/6to5/file.js index d5b2aacdd9..d2888b199b 100644 --- a/lib/6to5/file.js +++ b/lib/6to5/file.js @@ -6,6 +6,7 @@ var SHEBANG_REGEX = /^\#\!.*/; var transform = require("./transformation/transform"); var generate = require("./generation/generator"); +var clone = require("./helpers/clone"); var Scope = require("./traverse/scope"); var util = require("./util"); var t = require("./types"); @@ -73,7 +74,7 @@ File.validOptions = [ ]; File.normaliseOptions = function (opts) { - opts = _.cloneDeep(opts || {}); + opts = clone(opts); for (var key in opts) { if (File.validOptions.indexOf(key) < 0) { diff --git a/lib/6to5/helpers/clone.js b/lib/6to5/helpers/clone.js new file mode 100644 index 0000000000..a00125e8c7 --- /dev/null +++ b/lib/6to5/helpers/clone.js @@ -0,0 +1,10 @@ +module.exports = function cloneDeep(obj) { + var obj2 = {}; + if (!obj) return obj2; + + for (var key in obj) { + obj2[key] = obj[key]; + } + + return obj2; +};