diff --git a/package.json b/package.json index 27d7a49..74155e0 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ }, "homepage": "https://github.com/lukechilds/browser-env#readme", "dependencies": { + "clone": "2.0.0", "jsdom": "9.6.0" }, "devDependencies": { diff --git a/src/index.js b/src/index.js index 29b24bf..b9b4a76 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,5 @@ import jsdom from 'jsdom'; +import clone from 'clone'; const defaultJsdomConfig = { features: { @@ -7,10 +8,8 @@ const defaultJsdomConfig = { } }; -const cloneObject = obj => JSON.parse(JSON.stringify(obj)); - const protectedproperties = (() => { - const window = jsdom.jsdom('', cloneObject(defaultJsdomConfig)).defaultView; + const window = jsdom.jsdom('', clone(defaultJsdomConfig)).defaultView; return Object .getOwnPropertyNames(window) @@ -23,7 +22,7 @@ module.exports = (...args) => { const jsdomConfig = Object.assign({}, userJsdomConfig, defaultJsdomConfig); - const window = jsdom.jsdom('', cloneObject(jsdomConfig)).defaultView; + const window = jsdom.jsdom('', clone(jsdomConfig)).defaultView; Object .getOwnPropertyNames(window)