diff --git a/.babelrc.js b/.babelrc.js index ab2b8606efd4..8035e082456e 100644 --- a/.babelrc.js +++ b/.babelrc.js @@ -11,6 +11,7 @@ module.exports = { ], plugins: [ process.env.ROLLUP && 'external-helpers', - process.env.PLUGINS && 'transform-es2015-modules-strip' + process.env.PLUGINS && 'transform-es2015-modules-strip', + '@babel/proposal-object-rest-spread' ].filter(Boolean) }; diff --git a/build/rollup.config.js b/build/rollup.config.js index 44ffac71002d..99bf637c0d89 100644 --- a/build/rollup.config.js +++ b/build/rollup.config.js @@ -15,7 +15,8 @@ const plugins = [ externalHelpersWhitelist: [ // include only required helpers 'defineProperties', 'createClass', - 'inheritsLoose' + 'inheritsLoose', + 'extends' ] }) ] diff --git a/js/src/carousel.js b/js/src/carousel.js index 10ed2203edeb..ea443f189f06 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -223,7 +223,10 @@ const Carousel = (($) => { // private _getConfig(config) { - config = $.extend({}, Default, config) + config = { + ...Default, + ...config + } Util.typeCheckConfig(NAME, config, DefaultType) return config } @@ -428,10 +431,16 @@ const Carousel = (($) => { static _jQueryInterface(config) { return this.each(function () { let data = $(this).data(DATA_KEY) - const _config = $.extend({}, Default, $(this).data()) + let _config = { + ...Default, + ...$(this).data() + } if (typeof config === 'object') { - $.extend(_config, config) + _config = { + ..._config, + ...config + } } const action = typeof config === 'string' ? config : _config.slide @@ -468,7 +477,10 @@ const Carousel = (($) => { return } - const config = $.extend({}, $(target).data(), $(this).data()) + const config = { + ...$(target).data(), + ...$(this).data() + } const slideIndex = this.getAttribute('data-slide-to') if (slideIndex) { diff --git a/js/src/collapse.js b/js/src/collapse.js index f907aec54d82..1456294f43e1 100644 --- a/js/src/collapse.js +++ b/js/src/collapse.js @@ -277,7 +277,10 @@ const Collapse = (($) => { // private _getConfig(config) { - config = $.extend({}, Default, config) + config = { + ...Default, + ...config + } config.toggle = Boolean(config.toggle) // coerce string values Util.typeCheckConfig(NAME, config, DefaultType) return config @@ -338,12 +341,11 @@ const Collapse = (($) => { return this.each(function () { const $this = $(this) let data = $this.data(DATA_KEY) - const _config = $.extend( - {}, - Default, - $this.data(), - typeof config === 'object' && config - ) + const _config = { + ...Default, + ...$this.data(), + ...typeof config === 'object' && config + } if (!data && _config.toggle && /show|hide/.test(config)) { _config.toggle = false diff --git a/js/src/dropdown.js b/js/src/dropdown.js index 57ee10ebdddf..8affedc6ce9e 100644 --- a/js/src/dropdown.js +++ b/js/src/dropdown.js @@ -210,12 +210,11 @@ const Dropdown = (($) => { } _getConfig(config) { - config = $.extend( - {}, - this.constructor.Default, - $(this._element).data(), - config - ) + config = { + ...this.constructor.Default, + ...$(this._element).data(), + ...config + } Util.typeCheckConfig( NAME, @@ -262,7 +261,10 @@ const Dropdown = (($) => { const offsetConf = {} if (typeof this._config.offset === 'function') { offsetConf.fn = (data) => { - data.offsets = $.extend({}, data.offsets, this._config.offset(data.offsets) || {}) + data.offsets = { + ...data.offsets, + ...this._config.offset(data.offsets) || {} + } return data } } else { diff --git a/js/src/modal.js b/js/src/modal.js index 95565aabcceb..be3105fa150c 100644 --- a/js/src/modal.js +++ b/js/src/modal.js @@ -227,7 +227,10 @@ const Modal = (($) => { // private _getConfig(config) { - config = $.extend({}, Default, config) + config = { + ...Default, + ...config + } Util.typeCheckConfig(NAME, config, DefaultType) return config } @@ -506,12 +509,11 @@ const Modal = (($) => { static _jQueryInterface(config, relatedTarget) { return this.each(function () { let data = $(this).data(DATA_KEY) - const _config = $.extend( - {}, - Modal.Default, - $(this).data(), - typeof config === 'object' && config - ) + const _config = { + ...Modal.Default, + ...$(this).data(), + ...typeof config === 'object' && config + } if (!data) { data = new Modal(this, _config) @@ -547,7 +549,10 @@ const Modal = (($) => { } const config = $(target).data(DATA_KEY) ? - 'toggle' : $.extend({}, $(target).data(), $(this).data()) + 'toggle' : { + ...$(target).data(), + ...$(this).data() + } if (this.tagName === 'A' || this.tagName === 'AREA') { event.preventDefault() diff --git a/js/src/popover.js b/js/src/popover.js index 5534f4441246..8beec963a2b0 100644 --- a/js/src/popover.js +++ b/js/src/popover.js @@ -26,19 +26,25 @@ const Popover = (($) => { const CLASS_PREFIX = 'bs-popover' const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g') - const Default = $.extend({}, Tooltip.Default, { - placement : 'right', - trigger : 'click', - content : '', - template : '' - }) - - const DefaultType = $.extend({}, Tooltip.DefaultType, { - content : '(string|element|function)' - }) + const Default = { + ...Tooltip.Default, + ...{ + placement : 'right', + trigger : 'click', + content : '', + template : '' + } + } + + const DefaultType = { + ...Tooltip.DefaultType, + ...{ + content : '(string|element|function)' + } + } const ClassName = { FADE : 'fade', diff --git a/js/src/scrollspy.js b/js/src/scrollspy.js index 3a13d954ac57..fd5197e383fd 100644 --- a/js/src/scrollspy.js +++ b/js/src/scrollspy.js @@ -171,7 +171,10 @@ const ScrollSpy = (($) => { // private _getConfig(config) { - config = $.extend({}, Default, config) + config = { + ...Default, + ...config + } if (typeof config.target !== 'string') { let id = $(config.target).attr('id') diff --git a/js/src/tooltip.js b/js/src/tooltip.js index 7cefd0be6aa1..002dea429835 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -501,10 +501,13 @@ const Tooltip = (($) => { }) if (this.config.selector) { - this.config = $.extend({}, this.config, { - trigger : 'manual', - selector : '' - }) + this.config = { + ...this.config, + ...{ + trigger : 'manual', + selector : '' + } + } } else { this._fixTitle() } @@ -613,12 +616,11 @@ const Tooltip = (($) => { } _getConfig(config) { - config = $.extend( - {}, - this.constructor.Default, - $(this.element).data(), - config - ) + config = { + ...this.constructor.Default, + ...$(this.element).data(), + ...config + } if (typeof config.delay === 'number') { config.delay = { diff --git a/package-lock.json b/package-lock.json index f73bcd33e267..936da5bce3d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,108 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.31.tgz", + "integrity": "sha512-yd7CkUughvHQoEahQqcMdrZw6o/6PwUxiRkfZuVDVHCDe77mysD/suoNyk5mK6phTnRW1kyIbPHyCJgxw++LXg==", + "dev": true, + "requires": { + "chalk": "2.3.0", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.31.tgz", + "integrity": "sha512-c+DAyp8LMm2nzSs2uXEuxp4LYGSUYEyHtU3fU57avFChjsnTmmpWmXj2dv0yUxHTEydgVAv5fIzA+4KJwoqWDA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0-beta.31", + "@babel/template": "7.0.0-beta.31", + "@babel/traverse": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.31.tgz", + "integrity": "sha512-m7rVVX/dMLbbB9NCzKYRrrFb0qZxgpmQ4Wv6y7zEsB6skoJHRuXVeb/hAFze79vXBbuD63ci7AVHXzAdZSk9KQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.31" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.31.tgz", + "integrity": "sha512-B5MenTlCDSKUZS/cHfg09Go1FTcQ+M72PT0pnhNIhdtEqRp/U6mUx7O936iHqERCBHbqCCFe11ckHtOd4ftSJQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.31" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.31.tgz", + "integrity": "sha512-ININ7XXAeMrW1BOOysATWjNOIPd6OP97KV1OTZhk1clhDHPuqKhPuLmBIkXTomV+rKVBMPmOV/EalX6k+VLLtg==", + "dev": true + }, + "@babel/template": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.31.tgz", + "integrity": "sha512-97IRmLvoDhIDSQkqklVt3UCxJsv0LUEVb/0DzXWtc8Lgiyxj567qZkmTG9aR21CmcJVVIvq2Y/moZj4oEpl5AA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31", + "babylon": "7.0.0-beta.31", + "lodash": "4.17.4" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.31.tgz", + "integrity": "sha512-6lm2mV3S51yEnKmQQNnswoABL1U1H1KHoCCVwdwI3hvIv+W7ya4ki7Aw4o4KxtUHjNKkK5WpZb22rrMMOcJXJQ==", + "dev": true + } + } + }, + "@babel/traverse": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.31.tgz", + "integrity": "sha512-3N+VJW+KlezEjFBG7WSYeMyC5kIqVLPb/PGSzCDPFcJrnArluD1GIl7Y3xC7cjKiTq2/JohaLWHVPjJWHlo9Gg==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.31", + "@babel/helper-function-name": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31", + "babylon": "7.0.0-beta.31", + "debug": "3.1.0", + "globals": "10.3.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.31.tgz", + "integrity": "sha512-6lm2mV3S51yEnKmQQNnswoABL1U1H1KHoCCVwdwI3hvIv+W7ya4ki7Aw4o4KxtUHjNKkK5WpZb22rrMMOcJXJQ==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.31.tgz", + "integrity": "sha512-exAHB+NeFGxkfQ5dSUD03xl3zYGneeSk2Mw2ldTt/nTvYxuDiuSp3DlxgUBgzbdTFG4fbwPk0WtKWOoTXCmNGg==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "2.0.0" + } + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -343,99 +445,21 @@ } }, "babel-eslint": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.0.1.tgz", - "integrity": "sha512-h3moF6PCTQE06UjMMG+ydZSBvZ4Q7rqPE/5WAUOvUyHYUTqxm8JVhjZRiG1avI/tGVOK4BnZLDQapyLzh8DeKg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.0.2.tgz", + "integrity": "sha512-yyl5U088oE+419+BNLJDKVWkUokuPLQeQt9ZTy9uM9kAzbtQgyYL3JkG425B8jxXA7MwTxnDAtRLMKJNH36qjA==", "dev": true, "requires": { - "babel-code-frame": "7.0.0-beta.0", - "babel-traverse": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0", - "babylon": "7.0.0-beta.22" + "@babel/code-frame": "7.0.0-beta.31", + "@babel/traverse": "7.0.0-beta.31", + "@babel/types": "7.0.0-beta.31", + "babylon": "7.0.0-beta.31" }, "dependencies": { - "babel-code-frame": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-beta.0.tgz", - "integrity": "sha512-/xr1ADm5bnTjjN+xwoXb7lF4v2rnxMzNZzFU7h8SxB+qB6+IqSTOOqVcpaPTUC2Non/MbQxS3OIZnJpQ2X21aQ==", - "dev": true, - "requires": { - "chalk": "2.3.0", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-helper-function-name": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-7.0.0-beta.0.tgz", - "integrity": "sha512-DaQccFBBWBEzMdqbKmNXamY0m1yLHJGOdbbEsNoGdJrrU7wAF3wwowtDDPzF0ZT3SqJXPgZW/P2kgBX9moMuAA==", - "dev": true, - "requires": { - "babel-helper-get-function-arity": "7.0.0-beta.0", - "babel-template": "7.0.0-beta.0", - "babel-traverse": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0" - } - }, - "babel-helper-get-function-arity": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-beta.0.tgz", - "integrity": "sha512-csqAic15/2Vm1951nJxkkL9K8E6ojyNF/eAOjk7pqJlO8kvgrccGNFCV9eDwcGHDPe5AjvJGwVSAcQ5fit9wuA==", - "dev": true, - "requires": { - "babel-types": "7.0.0-beta.0" - } - }, - "babel-messages": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-beta.0.tgz", - "integrity": "sha512-eXdShsm9ZTh9AQhlIaAn6HR3xWpxCnK9ZwIDA9QyjnwTgMctGxHHflw4b4RJ3/ZjTL0Vrmvm0tQXPkp49mTAUw==", - "dev": true - }, - "babel-template": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-beta.0.tgz", - "integrity": "sha512-tmdH+MmmU0F6Ur8humpevSmFzYKbrN3Oru0g5Qyg4R6+sxjnzZmnvzUbsP0aKMr7tB0Ua6xhEb9arKTOsEMkyA==", - "dev": true, - "requires": { - "babel-traverse": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0", - "babylon": "7.0.0-beta.22", - "lodash": "4.17.4" - } - }, - "babel-traverse": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-beta.0.tgz", - "integrity": "sha512-IKzuTqUcQtMRZ0Vv5RjIrGGj33eBKmNTNeRexWSyjPPuAciyNkva1rt7WXPfHfkb+dX7coRAIUhzeTUEzhnwdA==", - "dev": true, - "requires": { - "babel-code-frame": "7.0.0-beta.0", - "babel-helper-function-name": "7.0.0-beta.0", - "babel-messages": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0", - "babylon": "7.0.0-beta.22", - "debug": "3.1.0", - "globals": "10.2.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - } - }, - "babel-types": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-beta.0.tgz", - "integrity": "sha512-rJc2kV9iPJGLlqIY71AM3nPcdkoeLRCDuR07GFgfd3lFl4TsBQq76TxYQQIZ2MONg1HpsqmuoCXr9aZ1Oa4wYw==", - "dev": true, - "requires": { - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "2.0.0" - } - }, "babylon": { - "version": "7.0.0-beta.22", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.22.tgz", - "integrity": "sha512-Yl7iT8QGrS8OfR7p6R12AJexQm+brKwrryai4VWZ7NHUbPoZ5al3+klhvl/14shXZiLa7uK//OIFuZ1/RKHgoA==", + "version": "7.0.0-beta.31", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.31.tgz", + "integrity": "sha512-6lm2mV3S51yEnKmQQNnswoABL1U1H1KHoCCVwdwI3hvIv+W7ya4ki7Aw4o4KxtUHjNKkK5WpZb22rrMMOcJXJQ==", "dev": true } } @@ -1110,7 +1134,7 @@ "babel-types": "7.0.0-beta.2", "babylon": "7.0.0-beta.25", "debug": "3.1.0", - "globals": "10.2.0", + "globals": "10.3.0", "invariant": "2.2.2", "lodash": "4.17.4" } @@ -2070,9 +2094,9 @@ } }, "eslint-plugin-compat": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-2.0.1.tgz", - "integrity": "sha512-6LtsFQsrFyPGLBVJMnQEmUEY1Sc0Trpz56i/y3qTCA5JKc1KePKS5q5Xcc8LoGgPyeDw3IfnyYqS4Q7vR1Ffeg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-2.1.0.tgz", + "integrity": "sha512-ml+CAjn9c6E4Vi1U/CBLtm9GBEtWw1rNtoPxCf9kj/FVyDhlOlffYAzZ1J1yQ1eeN4JqZ3gVSoKnKcuk/80oWA==", "dev": true, "requires": { "babel-runtime": "6.26.0", @@ -2746,9 +2770,9 @@ } }, "globals": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-10.2.0.tgz", - "integrity": "sha512-Kqkw0LTOBKEwtVuBiw52QwD6qI1TkJZQKdIYUfVEitfPbSiSmclVicQV0hPS3oqVBkr+O/TPpKk7+dRn1h5Hog==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-10.3.0.tgz", + "integrity": "sha512-1g6qO5vMbiPHbRTDtR9JVjRkAhkgH4nSANYGyx1eOfqgxcMnYMMD+7MjmjfzXjwFpVUE/7/NzF+jQxYE7P4r7A==", "dev": true }, "globby": { @@ -4290,9 +4314,9 @@ "dev": true }, "node-sass": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz", - "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.6.0.tgz", + "integrity": "sha512-rh0CvkxpYdQdbWx4EQfunmG0+99BVyVwQHlFE+yUzc6lteF5K3WUcJ0bdmv9E9CqQA1RfuMyvmpDP99cmBObow==", "dev": true, "requires": { "async-foreach": "0.1.3", @@ -5103,9 +5127,9 @@ } }, "postcss-less": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.1.tgz", - "integrity": "sha512-zl0EEqq8Urh37Ppdv9zzhpZpLHrgkxmt6e3O4ftRa7/b8Uq2LV+/KBVM8/KuzmHNu+mthhOArg1lxbfqQ3NUdg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.2.tgz", + "integrity": "sha512-zRMQLHjD5BsnKOPAr+jCw3M5NoHoEANJ1xg8ftu0lpfRailrchh3spt9n6jFdBF/WGpI8Q+Ch21QnLlLaKGxnA==", "dev": true, "requires": { "postcss": "5.2.18" @@ -6453,7 +6477,7 @@ "normalize-selector": "0.2.0", "pify": "3.0.0", "postcss": "6.0.14", - "postcss-less": "1.1.1", + "postcss-less": "1.1.2", "postcss-media-query-parser": "0.2.3", "postcss-reporter": "5.0.0", "postcss-resolve-nested-selector": "0.1.1", @@ -6465,7 +6489,7 @@ "specificity": "0.3.2", "string-width": "2.1.1", "style-search": "0.1.0", - "sugarss": "1.0.0", + "sugarss": "1.0.1", "svg-tags": "1.0.0", "table": "4.0.2" }, @@ -6590,9 +6614,9 @@ } }, "sugarss": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-1.0.0.tgz", - "integrity": "sha1-ZeUbOVhDL7cNVFGmi7M+MtDPHvc=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-1.0.1.tgz", + "integrity": "sha512-3qgLZytikQQEVn1/FrhY7B68gPUUGY3R1Q1vTiD5xT+Ti1DP/8iZuwFet9ONs5+bmL8pZoDQ6JrQHVgrNlK6mA==", "dev": true, "requires": { "postcss": "6.0.14" @@ -6765,9 +6789,9 @@ "dev": true }, "uglify-js": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.6.tgz", - "integrity": "sha512-/rseyxEKEVMBo8279lqpoJgD6C/i/CIi+9TJDvWmb+Xo6mqMKwjA8Io3IMHlcXQzj99feR6zrN8m3wqqvm/nYA==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.8.tgz", + "integrity": "sha512-1lnTkrJWw6LJ7n43ZyYVXx0eN2PQh0c3Inb0nY/vj5fNfwykXQFif2kvNgm/Bf0ClLA8R6SKaMHFzo9io4Q+vg==", "dev": true, "requires": { "commander": "2.11.0", diff --git a/package.json b/package.json index 4f0efda65dd3..61068a0195bb 100644 --- a/package.json +++ b/package.json @@ -80,6 +80,7 @@ "popper.js": "^1.12.6" }, "devDependencies": { + "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.31", "autoprefixer": "^7.1.2", "babel-cli": "7.0.0-beta.2", "babel-eslint": "^8.0.0",