[Pkg-javascript-commits] [rainloop] 27/38: Switched to system installations of babel-preset-env and babel-plugin-transform-decorators-legacy.

Daniel Ring techwolf-guest at moszumanska.debian.org
Fri Dec 15 06:04:01 UTC 2017


This is an automated email from the git hooks/post-receive script.

techwolf-guest pushed a commit to branch master
in repository rainloop.

commit 8ce1fdb6094e3af0ef61dfc3f176df2c8c86a4f9
Author: Techwolf <dring at g33kworld.net>
Date:   Sun Sep 24 00:41:08 2017 -0700

    Switched to system installations of babel-preset-env and babel-plugin-transform-decorators-legacy.
---
 .../generated/rainloop/installed-by-dh_install     |   9 +
 .../generated/rainloop/installed-by-dh_installdocs |   3 +
 debian/control                                     |   2 +
 debian/patches/build.patch                         |  12 +-
 .../.npmignore                                     |   3 -
 .../CHANGELOG.md                                   |  37 -
 .../LICENSE                                        |  22 -
 .../README.md                                      | 100 ---
 .../lib/index.js                                   | 252 ------
 .../package.json                                   |  71 --
 node_modules/babel-preset-env/.npmignore           |  13 -
 node_modules/babel-preset-env/CHANGELOG.md         | 626 ---------------
 node_modules/babel-preset-env/CONTRIBUTING.md      |  93 ---
 node_modules/babel-preset-env/LICENSE              |  21 -
 node_modules/babel-preset-env/README.md            | 404 ----------
 .../babel-preset-env/data/built-in-features.js     | 181 -----
 node_modules/babel-preset-env/data/built-ins.json  | 850 ---------------------
 .../babel-preset-env/data/plugin-features.js       | 130 ----
 node_modules/babel-preset-env/data/plugins.json    | 232 ------
 .../babel-preset-env/lib/default-includes.js       |   4 -
 node_modules/babel-preset-env/lib/index.js         | 194 -----
 .../babel-preset-env/lib/module-transformations.js |   9 -
 .../babel-preset-env/lib/normalize-options.js      | 126 ---
 .../lib/transform-polyfill-require-plugin.js       |  87 ---
 node_modules/babel-preset-env/package.json         | 150 ----
 25 files changed, 21 insertions(+), 3610 deletions(-)

diff --git a/debian/.debhelper/generated/rainloop/installed-by-dh_install b/debian/.debhelper/generated/rainloop/installed-by-dh_install
new file mode 100644
index 0000000..531789c
--- /dev/null
+++ b/debian/.debhelper/generated/rainloop/installed-by-dh_install
@@ -0,0 +1,9 @@
+./build/dist/rainloop/app
+./build/dist/rainloop/check.php
+./build/dist/rainloop/include.php
+./build/dist/rainloop/index.php
+./build/dist/rainloop/static
+./build/dist/rainloop/themes
+./build/dist/data/EMPTY
+./build/dist/data/VERSION
+./debian/conf/application.ini
diff --git a/debian/.debhelper/generated/rainloop/installed-by-dh_installdocs b/debian/.debhelper/generated/rainloop/installed-by-dh_installdocs
new file mode 100644
index 0000000..67ed437
--- /dev/null
+++ b/debian/.debhelper/generated/rainloop/installed-by-dh_installdocs
@@ -0,0 +1,3 @@
+./CODE_OF_CONDUCT.md
+./CONTRIBUTING.md
+./README.md
diff --git a/debian/control b/debian/control
index af23d92..f4fe2fd 100644
--- a/debian/control
+++ b/debian/control
@@ -11,8 +11,10 @@ Build-Depends:
  , webpack
  , node-babel-core
  , node-babel-runtime
+ , node-babel-preset-env
  , node-babel-preset-stage-0
  , node-babel-plugin-transform-runtime
+ , node-babel-plugin-transform-decorators-legacy
  , node-babel-loader
  , node-json-loader
  , node-raw-loader
diff --git a/debian/patches/build.patch b/debian/patches/build.patch
index 1d6260f..cb22e40 100644
--- a/debian/patches/build.patch
+++ b/debian/patches/build.patch
@@ -1,16 +1,17 @@
 Simplified build process to reduce dependencies.
 --- a/package.json
 +++ b/package.json
-@@ -52,49 +52,7 @@
+@@ -51,50 +51,5 @@
+     "ie >= 9",
      "firefox esr"
    ],
-   "devDependencies": {
+-  "devDependencies": {
 -    "babel-core": "6.24.1",
 -    "babel-eslint": "7.2.3",
 -    "babel-loader": "7.0.0",
-     "babel-plugin-transform-decorators-legacy": "1.3.4",
+-    "babel-plugin-transform-decorators-legacy": "1.3.4",
 -    "babel-plugin-transform-runtime": "6.23.0",
-     "babel-preset-env": "1.5.1",
+-    "babel-preset-env": "1.5.1",
 -    "babel-preset-stage-0": "6.24.1",
 -    "babel-runtime": "6.23.0",
 -    "copy-webpack-plugin": "4.0.1",
@@ -49,7 +50,8 @@ Simplified build process to reduce dependencies.
 -    "style-loader": "0.18.0",
 -    "webpack": "2.5.1",
 -    "webpack-notifier": "1.5.0"
-   }
+-  }
++  "devDependencies": {}
  }
 --- a/webpack.config.builder.js
 +++ b/webpack.config.builder.js
diff --git a/node_modules/babel-plugin-transform-decorators-legacy/.npmignore b/node_modules/babel-plugin-transform-decorators-legacy/.npmignore
deleted file mode 100644
index d5383e7..0000000
--- a/node_modules/babel-plugin-transform-decorators-legacy/.npmignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/src
-/test
-/node_modules
diff --git a/node_modules/babel-plugin-transform-decorators-legacy/CHANGELOG.md b/node_modules/babel-plugin-transform-decorators-legacy/CHANGELOG.md
deleted file mode 100644
index 457ba43..0000000
--- a/node_modules/babel-plugin-transform-decorators-legacy/CHANGELOG.md
+++ /dev/null
@@ -1,37 +0,0 @@
-
-# Changelog
-
-## v1.3.4
-
-* Properly support decorating class properties on subclasses.
-
-## v1.3.3
-
-* Fix same bug as fixed 1.3.1, except introduced for a different reason this time around.
-
-## v1.3.2
-
-* Fix a small bug which required the explicit deletion of `descriptor.value` when converting an initializer to an accessor.
-
-## v1.3.1
-
-* With the new split-out helpers in 1.3.0, Babel's `transform-runtime` was injecting the import statements too late. For now we avoid this by not allowing it to be rewritten by the transform.
-
-## v1.3.0
-
-* Class property support for descriptors where originally only the value was used
-* Static class property support
-
-## v1.2.0
-
-* Support class properties with no initializer, e.g. @decorator a;
-* Properly handle decorating properties/methods with string and numeric literal keys
-
-## v1.1.0
-
-* Support static class methods
-* Display helpful errors when using unsupported syntax
-
-## v1.0.0
-
-* Initial release of decorator support
diff --git a/node_modules/babel-plugin-transform-decorators-legacy/LICENSE b/node_modules/babel-plugin-transform-decorators-legacy/LICENSE
deleted file mode 100644
index 7e9ec26..0000000
--- a/node_modules/babel-plugin-transform-decorators-legacy/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2015 Logan Smyth <loganfsmyth at gmail.com>
-
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/babel-plugin-transform-decorators-legacy/README.md b/node_modules/babel-plugin-transform-decorators-legacy/README.md
deleted file mode 100644
index c222ea9..0000000
--- a/node_modules/babel-plugin-transform-decorators-legacy/README.md
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-# Babel Legacy Decorator plugin
-
-This is a plugin for Babel 6 that is meant to replicate the old decorator behavior from
-Babel 5 in order to allow people to more easily transition to Babel 6 without needing to
-be blocked on updates to the decorator proposal or for Babel to re-implement it.
-
-## Why "legacy"?
-
-Decorators are still only a relatively new proposal, and they are (at least currently) still
-in flux. Many people have started to use them in their original form, where each decorator
-is essentially a function of the form
-
-    function(target, property, descriptor){}
-
-This form is very likely to change moving forward, and Babel 6 did not wish to support
-the older form when it was known that it would change in the future. As such, I created this
-plugin to help people transition to Babel 6 without requiring them to drop their decorators
-or requiring them to wait for the new proposal update and then update all their code.
-
-## Best Effort
-
-This plugin is a best effort to be compatible with Babel 5's transpiler output, but there
-are a few things that were difficult to reproduce, and a few things that were simply incorrect
-in Babel 5 with respect to the decorators proposal.
-
-Two main things to mention as differences, though not things you are likely to encounter:
-
-1. Decorators expressions are evaluated top to bottom, and executed bottom to top. e.g.
-
-    ```
-    function dec(id){
-        console.log('evaluated', id);
-        return (target, property, descriptor) => console.log('executed', id);
-    }
-
-    class Example {
-        @dec(1)
-        @dec(2)
-        method(){}
-    }
-    ```
-
-    In Babel 5, this would output:
-
-    ```
-    evaluated 2
-    evaluated 1
-    executed 2
-    executed 1
-    ```
-
-    With this plugin, it will result in:
-
-    ```
-    evaluated 1
-    evaluated 2
-    executed 2
-    executed 1
-    ```
-
-    which is what the spec dictates as the correct behavior and was incorrect in Babel 5.
-
-2. Static class property initializers are evaluated once up front.
-
-    If you decorate a static class property, you will get a descriptor with an `initializer` property.
-    However whereas with Babel 5 this could be re-executed multiple times with potentially differing
-    results, `decorators-legacy` will precompute the value and return an initializer that will
-    return that value. e.g.
-
-    ```
-    function dec(target, prop, descriptor){
-        let {initializer} = descriptor;
-        delete descriptor.initializer;
-        delete descriptor.writable;
-
-        descriptor.get = function(){
-            return initializer.call(this);
-        };
-    }
-
-    var i = 0;
-
-    class Example {
-        @dec
-        static prop = i++;
-    }
-    ```
-
-    In Babel 5, every access to `prop` would increment `i`.
-    In Babel 6, the very first value of `i` will be cached for future `initializer` calls.
-
-    The spec is a little vague around how initializers work for repeat calls, and I'd consider
-    calling an `initializer` multiple times to be a mistake in general, so hopefully this will
-    not cause anyone trouble.
-
-## License
-
-MIT (c) 2015
diff --git a/node_modules/babel-plugin-transform-decorators-legacy/lib/index.js b/node_modules/babel-plugin-transform-decorators-legacy/lib/index.js
deleted file mode 100644
index 38f638d..0000000
--- a/node_modules/babel-plugin-transform-decorators-legacy/lib/index.js
+++ /dev/null
@@ -1,252 +0,0 @@
-'use strict';
-
-Object.defineProperty(exports, "__esModule", {
-    value: true
-});
-
-exports.default = function (_ref) {
-    var t = _ref.types;
-
-    /**
-     * Add a helper to take an initial descriptor, apply some decorators to it, and optionally
-     * define the property.
-     */
-    function ensureApplyDecoratedDescriptorHelper(path, state) {
-        if (!state.applyDecoratedDescriptor) {
-            state.applyDecoratedDescriptor = path.scope.generateUidIdentifier('applyDecoratedDescriptor');
-            var helper = buildApplyDecoratedDescriptor({
-                NAME: state.applyDecoratedDescriptor
-            });
-            path.scope.getProgramParent().path.unshiftContainer('body', helper);
-        }
-
-        return state.applyDecoratedDescriptor;
-    }
-
-    /**
-     * Add a helper to call as a replacement for class property definition.
-     */
-    function ensureInitializerDefineProp(path, state) {
-        if (!state.initializerDefineProp) {
-            state.initializerDefineProp = path.scope.generateUidIdentifier('initDefineProp');
-            var helper = buildInitializerDefineProperty({
-                NAME: state.initializerDefineProp
-            });
-            path.scope.getProgramParent().path.unshiftContainer('body', helper);
-        }
-
-        return state.initializerDefineProp;
-    }
-
-    /**
-     * Add a helper that will throw a useful error if the transform fails to detect the class
-     * property assignment, so users know something failed.
-     */
-    function ensureInitializerWarning(path, state) {
-        if (!state.initializerWarningHelper) {
-            state.initializerWarningHelper = path.scope.generateUidIdentifier('initializerWarningHelper');
-            var helper = buildInitializerWarningHelper({
-                NAME: state.initializerWarningHelper
-            });
-            path.scope.getProgramParent().path.unshiftContainer('body', helper);
-        }
-
-        return state.initializerWarningHelper;
-    }
-
-    /**
-     * If the decorator expressions are non-identifiers, hoist them to before the class so we can be sure
-     * that they are evaluated in order.
-     */
-    function applyEnsureOrdering(path) {
-        // TODO: This should probably also hoist computed properties.
-        var decorators = (path.isClass() ? [path].concat(path.get('body.body')) : path.get('properties')).reduce(function (acc, prop) {
-            return acc.concat(prop.node.decorators || []);
-        }, []);
-
-        var identDecorators = decorators.filter(function (decorator) {
-            return !t.isIdentifier(decorator.expression);
-        });
-        if (identDecorators.length === 0) return;
-
-        return t.sequenceExpression(identDecorators.map(function (decorator) {
-            var expression = decorator.expression;
-            var id = decorator.expression = path.scope.generateDeclaredUidIdentifier('dec');
-            return t.assignmentExpression('=', id, expression);
-        }).concat([path.node]));
-    }
-
-    /**
-     * Given a class expression with class-level decorators, create a new expression
-     * with the proper decorated behavior.
-     */
-    function applyClassDecorators(classPath, state) {
-        var decorators = classPath.node.decorators || [];
-        classPath.node.decorators = null;
-
-        if (decorators.length === 0) return;
-
-        var name = classPath.scope.generateDeclaredUidIdentifier('class');
-
-        return decorators.map(function (dec) {
-            return dec.expression;
-        }).reverse().reduce(function (acc, decorator) {
-            return buildClassDecorator({
-                CLASS_REF: name,
-                DECORATOR: decorator,
-                INNER: acc
-            }).expression;
-        }, classPath.node);
-    }
-
-    /**
-     * Given a class expression with method-level decorators, create a new expression
-     * with the proper decorated behavior.
-     */
-    function applyMethodDecorators(path, state) {
-        var hasMethodDecorators = path.node.body.body.some(function (node) {
-            return (node.decorators || []).length > 0;
-        });
-
-        if (!hasMethodDecorators) return;
-
-        return applyTargetDecorators(path, state, path.node.body.body);
-    }
-
-    /**
-     * Given an object expression with property decorators, create a new expression
-     * with the proper decorated behavior.
-     */
-    function applyObjectDecorators(path, state) {
-        var hasMethodDecorators = path.node.properties.some(function (node) {
-            return (node.decorators || []).length > 0;
-        });
-
-        if (!hasMethodDecorators) return;
-
-        return applyTargetDecorators(path, state, path.node.properties);
-    }
-
-    /**
-     * A helper to pull out property decorators into a sequence expression.
-     */
-    function applyTargetDecorators(path, state, decoratedProps) {
-        var descName = path.scope.generateDeclaredUidIdentifier('desc');
-        var valueTemp = path.scope.generateDeclaredUidIdentifier('value');
-
-        var name = path.scope.generateDeclaredUidIdentifier(path.isClass() ? 'class' : 'obj');
-
-        var exprs = decoratedProps.reduce(function (acc, node) {
-            var decorators = node.decorators || [];
-            node.decorators = null;
-
-            if (decorators.length === 0) return acc;
-
-            if (node.computed) {
-                throw path.buildCodeFrameError('Computed method/property decorators are not yet supported.');
-            }
-
-            var property = t.isLiteral(node.key) ? node.key : t.stringLiteral(node.key.name);
-
-            var target = path.isClass() && !node.static ? buildClassPrototype({
-                CLASS_REF: name
-            }).expression : name;
-
-            if (t.isClassProperty(node, { static: false })) {
-                var descriptor = path.scope.generateDeclaredUidIdentifier('descriptor');
-
-                var initializer = node.value ? t.functionExpression(null, [], t.blockStatement([t.returnStatement(node.value)])) : t.nullLiteral();
-                node.value = t.callExpression(ensureInitializerWarning(path, state), [descriptor, t.thisExpression()]);
-
-                acc = acc.concat([t.assignmentExpression('=', descriptor, t.callExpression(ensureApplyDecoratedDescriptorHelper(path, state), [target, property, t.arrayExpression(decorators.map(function (dec) {
-                    return dec.expression;
-                })), t.objectExpression([t.objectProperty(t.identifier('enumerable'), t.booleanLiteral(true)), t.objectProperty(t.identifier('initializer'), initializer)])]))]);
-            } else {
-                acc = acc.concat(t.callExpression(ensureApplyDecoratedDescriptorHelper(path, state), [target, property, t.arrayExpression(decorators.map(function (dec) {
-                    return dec.expression;
-                })), t.isObjectProperty(node) || t.isClassProperty(node, { static: true }) ? buildGetObjectInitializer({
-                    TEMP: path.scope.generateDeclaredUidIdentifier('init'),
-                    TARGET: target,
-                    PROPERTY: property
-                }).expression : buildGetDescriptor({
-                    TARGET: target,
-                    PROPERTY: property
-                }).expression, target]));
-            }
-
-            return acc;
-        }, []);
-
-        return t.sequenceExpression([t.assignmentExpression('=', name, path.node), t.sequenceExpression(exprs), name]);
-    }
-
-    return {
-        inherits: require("babel-plugin-syntax-decorators"),
-
-        visitor: {
-            ExportDefaultDeclaration: function ExportDefaultDeclaration(path) {
-                if (!path.get("declaration").isClassDeclaration()) return;
-
-                var node = path.node;
-
-                var ref = node.declaration.id || path.scope.generateUidIdentifier("default");
-                node.declaration.id = ref;
-
-                // Split the class declaration and the export into two separate statements.
-                path.replaceWith(node.declaration);
-                path.insertAfter(t.exportNamedDeclaration(null, [t.exportSpecifier(ref, t.identifier('default'))]));
-            },
-            ClassDeclaration: function ClassDeclaration(path) {
-                var node = path.node;
-
-                var ref = node.id || path.scope.generateUidIdentifier("class");
-
-                path.replaceWith(t.variableDeclaration("let", [t.variableDeclarator(ref, t.toExpression(node))]));
-            },
-            ClassExpression: function ClassExpression(path, state) {
-                // Create a replacement for the class node if there is one. We do one pass to replace classes with
-                // class decorators, and a second pass to process method decorators.
-                var decoratedClass = applyEnsureOrdering(path) || applyClassDecorators(path, state) || applyMethodDecorators(path, state);
-
-                if (decoratedClass) path.replaceWith(decoratedClass);
-            },
-            ObjectExpression: function ObjectExpression(path, state) {
-                var decoratedObject = applyEnsureOrdering(path) || applyObjectDecorators(path, state);
-
-                if (decoratedObject) path.replaceWith(decoratedObject);
-            },
-            AssignmentExpression: function AssignmentExpression(path, state) {
-                if (!state.initializerWarningHelper) return;
-
-                if (!path.get('left').isMemberExpression()) return;
-                if (!path.get('left.property').isIdentifier()) return;
-                if (!path.get('right').isCallExpression()) return;
-                if (!path.get('right.callee').isIdentifier({ name: state.initializerWarningHelper.name })) return;
-
-                path.replaceWith(t.callExpression(ensureInitializerDefineProp(path, state), [path.get('left.object').node, t.stringLiteral(path.get('left.property').node.name), path.get('right.arguments')[0].node, path.get('right.arguments')[1].node]));
-            }
-        }
-    };
-};
-
-var _babelTemplate = require('babel-template');
-
-var _babelTemplate2 = _interopRequireDefault(_babelTemplate);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var buildClassDecorator = (0, _babelTemplate2.default)('\n  DECORATOR(CLASS_REF = INNER) || CLASS_REF;\n');
-
-var buildClassPrototype = (0, _babelTemplate2.default)('\n  CLASS_REF.prototype;\n');
-
-var buildGetDescriptor = (0, _babelTemplate2.default)('\n    Object.getOwnPropertyDescriptor(TARGET, PROPERTY);\n');
-
-var buildGetObjectInitializer = (0, _babelTemplate2.default)('\n    (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\n        enumerable: true,\n        configurable: true,\n        writable: true,\n        initializer: function(){\n            return TEMP;\n        }\n    })\n');
-
-var buildInitializerWarningHelper = (0, _babelTemplate2.default)('\n    function NAME(descriptor, context){\n        throw new Error(\'Decorating class property failed. Please ensure that transform-class-properties is enabled.\');\n    }\n');
-
-var buildInitializerDefineProperty = (0, _babelTemplate2.default)('\n    function NAME(target, property, descriptor, context){\n        if (!descriptor) return;\n\n        Object.defineProperty(target, property, {\n            enumerable: descriptor.enumerable,\n            configurable: descriptor.configurable,\n            writable: descriptor.writable,\n            value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,\n        });\n    }\n');
-
-var buildApplyDecoratedDescriptor = (0, _babelTemplate2.default)('\n    function NAME(target, property, decorators, descriptor, context){\n        var desc = {};\n        Object[\'ke\' + \'ys\'](descriptor).forEach(function(key){\n            desc[key] = descriptor[key];\n        });\n        desc.enumerable = !!desc.enumerable;\n        desc.configurable = !!desc.configurable;\n        if (\'value\' in desc || desc.initializer){\n            desc.writable = true;\n        }\n\n        d [...]
-
-;
\ No newline at end of file
diff --git a/node_modules/babel-plugin-transform-decorators-legacy/package.json b/node_modules/babel-plugin-transform-decorators-legacy/package.json
deleted file mode 100644
index 117335d..0000000
--- a/node_modules/babel-plugin-transform-decorators-legacy/package.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
-  "name": "babel-plugin-transform-decorators-legacy",
-  "description": "A plugin for Babel 6 that (mostly) replicates the old decorator behavior from Babel 5.",
-  "version": "1.3.4",
-  "author": {
-    "name": "Logan Smyth",
-    "email": "loganfsmyth at gmail.com"
-  },
-  "main": "lib",
-  "license": "MIT",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/loganfsmyth/babel-plugin-transform-decorators-legacy.git"
-  },
-  "bugs": {
-    "url": "https://github.com/loganfsmyth/babel-plugin-transform-decorators-legacy/issues"
-  },
-  "keywords": [
-    "babel",
-    "babel-plugin",
-    "es7",
-    "decorators"
-  ],
-  "devDependencies": {
-    "babel-cli": "^6.2.0",
-    "babel-plugin-transform-class-properties": "^6.3.0",
-    "babel-plugin-transform-runtime": "^6.1.18",
-    "babel-preset-es2015": "^6.1.18",
-    "chai": "^3.4.1",
-    "mocha": "^2.3.4"
-  },
-  "dependencies": {
-    "babel-plugin-syntax-decorators": "^6.1.18",
-    "babel-runtime": "^6.2.0",
-    "babel-template": "^6.3.0"
-  },
-  "scripts": {
-    "build": "babel src -d lib",
-    "watch": "babel src -d lib -w",
-    "prepublish": "npm run build",
-    "test": "babel-node node_modules/.bin/_mocha -- test"
-  },
-  "gitHead": "a3fc05f766dac8324a049ee03b3393fe3d055e14",
-  "homepage": "https://github.com/loganfsmyth/babel-plugin-transform-decorators-legacy#readme",
-  "_id": "babel-plugin-transform-decorators-legacy at 1.3.4",
-  "_shasum": "741b58f6c5bce9e6027e0882d9c994f04f366925",
-  "_from": "babel-plugin-transform-decorators-legacy at 1.3.4",
-  "_npmVersion": "3.4.1",
-  "_nodeVersion": "5.1.0",
-  "_npmUser": {
-    "name": "loganfsmyth",
-    "email": "loganfsmyth at gmail.com"
-  },
-  "dist": {
-    "shasum": "741b58f6c5bce9e6027e0882d9c994f04f366925",
-    "tarball": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz"
-  },
-  "maintainers": [
-    {
-      "name": "ide",
-      "email": "ide+npm at jameside.com"
-    },
-    {
-      "name": "loganfsmyth",
-      "email": "loganfsmyth at gmail.com"
-    }
-  ],
-  "directories": {},
-  "_resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
-  "readme": "ERROR: No README data found!"
-}
diff --git a/node_modules/babel-preset-env/.npmignore b/node_modules/babel-preset-env/.npmignore
deleted file mode 100644
index e40dccd..0000000
--- a/node_modules/babel-preset-env/.npmignore
+++ /dev/null
@@ -1,13 +0,0 @@
-coverage
-src
-test
-node_modules
-scripts
-.eslintignore
-.travis.yml
-codecov.yml
-yarn.lock
-.nyc_output
-.vscode
-.eslintrc
-babel-preset-env-*.tgz
diff --git a/node_modules/babel-preset-env/CHANGELOG.md b/node_modules/babel-preset-env/CHANGELOG.md
deleted file mode 100644
index 98e964d..0000000
--- a/node_modules/babel-preset-env/CHANGELOG.md
+++ /dev/null
@@ -1,626 +0,0 @@
-# Changelog
-
-## v1.5.1 (2017-05-22)
-
-### :bug: Bug Fix
-
-- Compile with loose mode ([#322](https://github.com/babel/babel-preset-env/pull/332)) (@existentialism)
-
-## v1.5.0 (2017-05-19)
-
-### :rocket: New Feature
-
-- Support target versions as strings ([#321](https://github.com/babel/babel-preset-env/pull/321)) (@existentialism)
-
-We were originally waiting on 2.x for a breaking change, but since node v7.10
-and other targets are causing some pain, we decided to land a backwards
-compatible version.
-
-### :house: Internal
-
-- Backport: use preset-env and remove flow-strip-types ([#324](https://github.com/babel/babel-preset-env/pull/324)) (@yavorsky)
-- Bump electron-to-chromium ([#329](https://github.com/babel/babel-preset-env/pull/329)) (@existentialism)
-- Tweak version mappings to match compat-table updates ([#323](https://github.com/babel/babel-preset-env/pull/323)) (@existentialism)
-- Bump browserslist ([#319](https://github.com/babel/babel-preset-env/pull/319)) (@existentialism)
-- Bump compat-table ([#307](https://github.com/babel/babel-preset-env/pull/307)) (@existentialism)
-- Add debug-fixtures and test/tmp to .eslintignore ([#305](https://github.com/babel/babel-preset-env/pull/305)) (@yavorsky)
-
-## v1.4.0 (2017-04-14)
-
-### :rocket: New Feature
-
-- Support `spec` option ([#98](https://github.com/babel/babel-preset-env/pull/98)) (@Kovensky)
-
-Added an option to enable more spec compliant, but potentially slower, transformations for any plugins in this preset that support them.
-
-- Bump compat-table for Edge 15 support ([#273](https://github.com/babel/babel-preset-env/pull/273)) (@existentialism)
-
-We updated our mappings so that you can get native support for async/await and other goodies when targeting Edge 15!
-
-### :bug: Bug Fix
-
-- Add Android browser to name map ([#270](https://github.com/babel/babel-preset-env/pull/270)) (@existentialism)
-
-Fixed a bug that was ignoring Android targets in browserslist queries (for example: "Android >= 4").
-
-### :memo: Documentation
-
-- Clarify note about loading polyfills only once ([#282](https://github.com/babel/babel-preset-env/pull/282)) (@darahak)
-- Add a reminder about include/exclude options ([#275](https://github.com/babel/babel-preset-env/pull/275)) (@existentialism)
-
-### :house: Internal
-
-- Chore: reduce package size. ([#281](https://github.com/babel/babel-preset-env/pull/281)) (@evilebottnawi)
-- Remove deprecated comment ([#271](https://github.com/babel/babel-preset-env/pull/271)) (@yavorsky)
-
-## v1.3.3 (2017-04-07)
-
-### :bug: Bug Fix
-
-- Support electron version in a string format ([#252](https://github.com/babel/babel-preset-env/pull/252)) (@yavorsky)
-
-Adding electron as a target was an inadvertent breaking change as it no longer
-allowed string versions. We added an exception for now, even though it is
-inconsistent with other versions. Just as a note, the upcoming version 2.x will
-allow _both_ number and string versions.
-
-- Ensure const-check plugin order ([#257](https://github.com/babel/babel-preset-env/pull/257)) (@existentialism)
-
-We now force the `const-es2015-check` plugin to run first (so that it can
-correctly report issues before they get transpiled away).
-
-### :rocket: New Feature
-
-- Allow use `babel-plugin-` prefix for include and exclude ([#242](https://github.com/babel/babel-preset-env/pull/242)) (@yavorsky)
-
-The `include` and `exclude` options now allow both prefixed (`babel-plugin-transform-es2015-spread`) 
-and prefix-less (`transform-es2015-spread`) plugin names.
-
-### :memo: Documentation 
-
-- Note babel plugin prefix handling in include/exclude ([#245](https://github.com/babel/babel-preset-env/pull/245)) (@existentialism)
-- Fix README: debug option shows info in stdout. ([#236](https://github.com/babel/babel-preset-env/pull/236)) (@Gerhut)
-
-### :house: Internal
-
-- Add simple smoke-test ([#240](https://github.com/babel/babel-preset-env/pull/240)) (@existentialism)
-- Add prepublish script (@existentialism)
-
-## v1.3.2 (2017-03-30)
-
-- Fixed an issue with a broken publish
-
-## v1.3.1 (2017-03-30)
-
-- Fixed a regression with missing files due to `.npmignore`.
-
-## v1.3.0 (2017-03-30)
-
-### :bug: Bug Fix
-
-- Add check for ArrayBuffer[Symbol.species] ([#233](https://github.com/babel/babel-preset-env/pull/233)) (@existentialism)
-
-We now properly check for `Symbol.species` support in ArrayBuffer and include the
-polyfill if necessary. This should, as a side effect, fix ArrayBuffer-related 
-errors on IE9.
-
-### :nail_care: Polish
-
-- Fill data with electron as a target. ([#229](https://github.com/babel/babel-preset-env/pull/229)) (@yavorsky)
-
-We've simplified things by adding `electron` as a target instead of doing a bunch of 
-things at runtime. Electron targets should now also be displayed in the debug output.
-
-- separate default builtins for platforms ([#226](https://github.com/babel/babel-preset-env/pull/226)) (@restrry)
-
-If you are targeting the `node` environment exclusively, the always-included web polyfills
-(like `dom.iterable`, and a few others) will now no longer be included.
-
-### :memo: Documentation 
-
- * remove deprecated projects ([#223](https://github.com/babel/babel-preset-env/pull/223)) [skip ci] (@stevemao)
-
-### :house: Internal
-
- * npmignore: Add related to build data and codecov. ([#216](https://github.com/babel/babel-preset-env/pull/216)) (@yavorsky)
-
-## v1.2.2 (2017-03-14)
-
-### :bug: Bug Fix
-
-- Refactor browser data parsing to handle families ([#208](https://github.com/babel/babel-preset-env/pull/208)) (@existentialism)
-
-When parsing plugin data, we weren't properly handling browser families. This caused 
-`transform-es2015-block-scoping` and other plugins to be incorrectly added for Edge >= 12. 
-(s/o to @mgol for the the report and review!)
-
-- Add typed array methods to built-ins features. ([#198](https://github.com/babel/babel-preset-env/pull/198)) (@yavorsky)
-
-Fixes an issue where some TypedArray features were not being polyfilled properly. (s/o to @alippai for the report!)
-
-### :memo: Documentation
-
-- Fixed minor typo in readme ([#199](https://github.com/babel/babel-preset-env/pull/199)) (@bl4ckdu5t)
-- Add built-ins, better links, compat-table url, etc ([#195](https://github.com/babel/babel-preset-env/pull/195)) (@yavorsky)
-- Change CONTRIBUTING.md to use absolute paths ([#194](https://github.com/babel/babel-preset-env/pull/194)) (@aaronang)
-
-### :house: Internal
-
-- Bump plugins ([#201](https://github.com/babel/babel-preset-env/pull/201)) (@yavorsky)
-- Enable code coverage ([#200](https://github.com/babel/babel-preset-env/pull/200)) (@alxpy)
-- Increase mocha timeout to 10s ([#202](https://github.com/babel/babel-preset-env/pull/202)) (@yavorsky)
-
-## v1.2.1 (2017-03-06)
-
-### :bug: Bug Fix
-
-- Add transform-duplicate-keys mapping ([#192](https://github.com/babel/babel-preset-env/pull/192)) (@existentialism)
-
-Our plugin data was missing a mapping for the `transform-duplicate-keys` plugin which caused it to never be included. (s/o to @Timer for the report!)
-
-### :memo: Documentation
-
-- Clarify reasons for the uglify option in README.md ([#188](https://github.com/babel/babel-preset-env/pull/188)) (@mikegreiling)
-
-## v1.2.0 (2017-03-03)
-
-### :rocket: New Feature
-
-- Add uglify as a target ([#178](https://github.com/babel/babel-preset-env/pull/178)) (@yavorsky)
-
-Support for `uglify` as a target is now available! This will enable all plugins and, as a result, fully compiles your code to ES5. Note, that useBuiltIns will work as before, and only the polyfills that your other target(s) need will be included.
-
-```json
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "chrome": 55,
-        "uglify": true
-      },
-      "useBuiltIns": true,
-      "modules": false
-    }]
-  ]
-}
-```
-
-### :bug: Bug Fix
-
-- Respect older versions in invert equals map ([#180](https://github.com/babel/babel-preset-env/pull/180)) (@danez)
-
-Fixes a number of bugs that caused some incorrect and/or missing environment data when parsing `compat-table`.
-
-## v1.1.11 (2017-03-01)
-
-This release primarily upgrades `compat-table`, which adds support for async on Node 7.6!
-
-### :bug: Bug Fix
-
-- Fix hasBeenWarned condition. ([#175](https://github.com/babel/babel-preset-env/pull/175)) (@yavorsky)
-
-### :memo: Documentation
-
-- Add yarn example. ([#174](https://github.com/babel/babel-preset-env/pull/174)) (@yavorsky)
-
-### :house: Internal
-
-- Bump compat-table ([#177](https://github.com/babel/babel-preset-env/pull/177)) (@existentialism)
-- Add electron version exception test ([#176](https://github.com/babel/babel-preset-env/pull/176)) (@existentialism)
-
-## v1.1.10 (2017-02-24)
-
-### :bug: Bug Fix
-
-- Drop use of lodash/intersection from checkDuplicateIncludeExcludes ([#173](https://github.com/babel/babel-preset-env/pull/173)) (@existentialism)
-
-## v1.1.9 (2017-02-24)
-
-### :bug: Bug Fix
-
-- Add tests for debug output ([#156](https://github.com/babel/babel-preset-env/pull/156)) (@existentialism)
-
-Since we've (mostly @yavorsky) have fixed a number of bugs recently with the `debug` option output, we added the ability to assert stdout matches what we expect. Read the updated [CONTRIBUTING.md](https://github.com/babel/babel-preset-env/blob/master/CONTRIBUTING.md#testing-the-debug-option) for more info.
-
-- Fixes #143. Log correct targets. ([#155](https://github.com/babel/babel-preset-env/pull/155)) (@yavorsky)
-
-This fixes a bug in the `debug` output where incorrect target(s) were being displayed for why a particular plugin/preset was being included.
-
-Given targets:
-
-```txt
-{
-  "firefox": 52,
-  "node": 7.4 
-}
-```
-
-Before:
-
-```txt
-Using plugins:
-  transform-es2015-destructuring {"node":6.5}
-  transform-es2015-for-of {"node":6.5}
-  transform-es2015-function-name {"node":6.5}
-  transform-es2015-literals {"node":4}
-  transform-exponentiation-operator {"firefox":52}
-  syntax-trailing-function-commas {"firefox":52}
-```
-
-After:
-
-```txt
-Using plugins:
-  transform-es2015-destructuring {"firefox":52}
-  transform-es2015-for-of {"firefox":52}
-  transform-es2015-function-name {"firefox":52}
-  transform-es2015-literals {"firefox":52}
-  transform-exponentiation-operator {"node":7.4}
-  syntax-trailing-function-commas {"node":7.4}
-```
-
-### :memo: Documentation
-
-- Fix compat-table link in contributing.md (@existentialism)
-- Update README examples to fix website ([#151](https://github.com/babel/babel-preset-env/pull/)) (@existentialism)
-- Fix few typos ([#146](https://github.com/babel/babel-preset-env/pull/146)) (@existentialism)
-- Add configuration example to clarify `debug: true` ([#138](https://github.com/babel/babel-preset-env/pull/138)) (@yavorsky)
-- Fix CHANGELOG’s v1.1.8 updates typo. ([#136](https://github.com/babel/babel-preset-env/pull/136)) (@yavorsky)
-- README: Update `debug: true` example. ([#138](https://github.com/babel/babel-preset-env/pull/138)) (@yavorsky)
-
-### :house: Internal
-
-- update compat ([#169](https://github.com/babel/babel-preset-env/pull/169)) (@hzoo)
-- Use external Electron to Chromium library ([#144](https://github.com/babel/babel-preset-env/pull/144)) (@Kilian)
-- Update yarn lockfile ([#152](https://github.com/babel/babel-preset-env/pull/152)) (@existentialism)
-- Extract option normalization into independant file ([#125](https://github.com/babel/babel-preset-env/pull/125)) (@baer)
-- Update yarnfile ([#145](https://github.com/babel/babel-preset-env/pull/145)) (@baer)
-- devDeps: eslint-config-babel v5.0.0 ([#139](https://github.com/babel/babel-preset-env/pull/139)) (@kaicataldo)
-- Update compat-table, build data ([#135](https://github.com/babel/babel-preset-env/pull/135)) (@hzoo)
- 
-## v1.1.8 (2017-01-10)
-
-### :bug: Bug Fix
-
-- Debug: Transformations before logs. ([#128](https://github.com/babel/babel-preset-env/pull/128)) (@yavorsky)
-
-Makes sure that all transformations on `targets` (such as `exclude`/`include`) are run before logging out with the `debug` option. Fixes ([#127](https://github.com/babel/babel-preset-env/issues/127)).
-
-### :house: Internal
-
-- Remove unnecessary extension. ([#131](https://github.com/babel/babel-preset-env/pull/131)) (@roman-yakobnyuk)
-- Include yarn.lock and update CI. ([#124](https://github.com/babel/babel-preset-env/pull/124)) (@existentialism)
-
-## v1.1.7 (2017-01-09)
- 
-Had a publishing issue in the previous release.
-
-## v1.1.6 (2017-01-06)
-
-### :bug: Bug Fix
-
-- Explicitly resolve lowest browser version. ([#121](https://github.com/babel/babel-preset-env/pull/121)) (@brokenmass)
-
-```js
-{
-  "targets": {
-    "browsers": ["ios >= 6"] // was resolving to {ios: 10} rather than {ios: 6}
-  }
-}
-```
-
-## v1.1.5 (2017-01-04)
-
-### :bug: Bug Fix
-
-- Show error if target version is not a number. ([#107](https://github.com/babel/babel-preset-env/pull/107)) (@existentialism)
-
-```js
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "chrome": "52", // will error since it's not a number,
-        "chrome": 52 // correct!
-      }
-    }]
-  ]
-}
-```
-
-- Fix targets for the `debug` option. ([#109](https://github.com/babel/babel-preset-env/pull/109)) (@yavorsky)
-
-Now it prints the transformed targets/environments rather than the browsers query.
-
-```txt
-Using targets:
-{
-  "chrome": 53,
-  "ie": 10,
-  "node": 6
-}
-
-Modules transform: false
-
-Using plugins:
-  transform-es2015-arrow-functions {"chrome":47,"node":6}
-  transform-es2015-block-scoped-functions {"chrome":41,"ie":11,"node":4}
-
-Using polyfills:
-  es6.typed.uint8-clamped-array {"chrome":5,"node":0.12}
-  es6.map {"chrome":51,"node":6.5}
-```
-
-## v1.1.4 (2016-12-16)
-
-v1.1.2-v1.1.4
-
-### :bug: Bug Fix
-
-The new `exclude`/`include` options weren't working correctly for built-ins. ([#102](https://github.com/babel/babel-preset-env/pull/102)).
-
-Also fixes an issue with debug option.
-
-## v1.1.1 (2016-12-13)
-
-### :bug: Bug Fix
-
-Regression with the previous release due to using `Object.values` (ES2017). This wasn't caught because we are using babel-register to run tests and includes polyfills so it didn't fail on CI even though we have Node 0.10 as an env. Looking into fixing this to prevent future issues.
-
-## v1.1.0 (2016-12-13)
-
-### :rocket: New Feature
-
-- Add `exclude` option, rename `whitelist` to `include` ([#89](https://github.com/babel/babel-preset-env/pull/89)) (@hzoo)
-
-Example:
-
-```js
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "browsers": ["last 2 versions", "safari >= 7"]
-      },
-      "include": ["transform-es2015-arrow-functions"],
-      "exclude": [
-        "transform-regenerator",
-        "transform-async-to-generator",
-        "map"
-      ],
-      "useBuiltIns": true
-    }]
-  ]
-}
-```
-
-`"exclude": ["transform-regenerator"]` doesn't transform generators and removes `regeneratorRuntime` from being imported.
-
-`"exclude": ["transform-async-to-generator"]` doesn't use the built-in async-to-gen transform so you can use something like [fast-async](https://github.com/MatAtBread/fast-async).
-
-`"exclude": ["map"]` doesn't include the `Map` polyfill if you know you aren't using it in your code (w/ `useBuiltIns`). (We will figure out a way to automatically do this [#84](https://github.com/babel/babel-preset-env/issues/84)).
-
-If you pass a wrong plugin it will error: valid options for `include/exclude` are in [/data/plugin-features.js](https://github.com/babel/babel-preset-env/blob/master/data/plugin-features.js) and [/data/built-in-features.js](https://github.com/babel/babel-preset-env/blob/master/data/built-in-features.js) (without the `es6.`)
-
-### :house: Internal
-
-- Optimize result filtration. ([#77](https://github.com/babel/babel-preset-env/pull/77)) (@yavorsky)
-- Update eslint config to align with other babel projects ([#79](https://github.com/babel/babel-preset-env/pull/79)) (@baer)
-- Update pathnames to avoid uppercase ([#80](https://github.com/babel/babel-preset-env/pull/80)) (@baer)
-- Refactor build data for clarity/consistency ([#81](https://github.com/babel/babel-preset-env/pull/81)) (@baer)
-- Update linting rules to cover all js ([#82](https://github.com/babel/babel-preset-env/pull/82)) (@baer)
-- Cleanup lib before rebuilding ([#87](https://github.com/babel/babel-preset-env/pull/87)) (@baer)
-- Move linting dependency to be dev only ([#88](https://github.com/babel/babel-preset-env/pull/88)) (@baer)
-
-### :memo: Documentation
-
-- Fix typo ([#78](https://github.com/babel/babel-preset-env/pull/78)) (@rohmanhm)
-- Fix PR link in changelog. ([#75](https://github.com/babel/babel-preset-env/pull/75)) (@nhajidin)
-
-## v1.0.2 (2016-12-10)
-
-### :bug: Bug Fix
-
-* Fix issue with Object.getOwnPropertySymbols ([#71](https://github.com/babel/babel-preset-env/pull/71)) ([@existentialism](https://github.com/existentialism))
-
-Was requiring the wrong module kinda of like in v1.0.1:
-
-https://github.com/zloirock/core-js#ecmascript-6-symbol
-
-```diff
--import "core-js/modules/es6.object.get-own-property-symbols";
-```
-
-The test is just a part of `Symbol`.
-
-## v1.0.1 (2016-12-10)
-
-### :bug: Bug Fix
-
-* Fix regenerator import ([#68](https://github.com/babel/babel-preset-env/pull/68)) ([@hzoo](https://github.com/hzoo))
-
-We were outputting an invalid path for `regenerator`!
-
-```diff
-+import "regenerator-runtime/runtime";
--import "core-js/modules/regenerator-runtime/runtime"-
-```
-
-## v1.0.0 (2016-12-09)
-
-### :rocket: New Feature
-
-* Add `useBuiltIns` option ([#56](https://github.com/babel/babel-preset-env/pull/56)) ([@hzoo](https://github.com/hzoo)), ([@yavorsky](https://github.com/yavorsky)), ([@existentialism](https://github.com/existentialism))
-
-A way to apply `babel-preset-env` for polyfills (via `"babel-polyfill"``).
-
-> This option will apply a new Babel plugin that replaces `require("babel-polyfill")` with the individual requires for `babel-polyfill` based on the target environments.
-
-Install
-
-```
-npm install babel-polyfill --save
-```
-
-In
-
-```js
-import "babel-polyfill"; // create an entry js file that contains this
-// or 
-import "core-js";
-```
-
-Out (different based on environment)
-
-```js
-// chrome 55
-import "core-js/modules/es7.string.pad-start"; // haha left_pad
-import "core-js/modules/es7.string.pad-end";
-import "core-js/modules/web.timers";
-import "core-js/modules/web.immediate";
-import "core-js/modules/web.dom.iterable";
-```
-
-`.babelrc` Usage
-
-```js
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "electron": 1.4
-      },
-      "modules": false, // webpack 2
-      "useBuiltIns": true // new option
-    }]
-  ]
-}
-```
-
-> Also looking to make an easier integration point via Webpack with this method. Please reach out if you have ideas!
-
----
-
-* Support [Electron](http://electron.atom.io/) ([#55](https://github.com/babel/babel-preset-env/pull/55)) ([@paulcbetts](https://github.com/paulcbetts))
-
-Electron is also an environment, so [Paul went ahead](https://twitter.com/paulcbetts/status/804507070103851008) and added support for this!
-
-`.babelrc` Usage
-
-```js
-{
-  "presets": [ ["env", {"targets": { "electron": 1.4 }}]]
-}
-```
-
-> Currently we are manually updating the data in [/data/electron-to-chromium.js](https://github.com/babel/babel-preset-env/blob/master/data/electron-to-chromium.js), but [@kevinsawicki](https://github.com/kevinsawicki) says we could generate the data from [atom-shell/dist/index.json](https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist/index.json) as well! (Someone should make a PR :smile:)
-
-
-
-## v0.0.9 (2016-11-24)
-
-### :rocket: New Feature
-
-* Support Opera ([#48](https://github.com/babel/babel-preset-env/pull/48)) (Henry Zhu)
-
-Was as simple as modifying the chrome version and subtracting 13! (so chrome 54 = opera 41)
-
-```js
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "opera": 41
-      }
-    }]
-  ]
-}
-```
-
-## v0.0.8 (2016-11-16)
-
-### :nail_care: Polish
-
-* Only print the debug info once ([#46](https://github.com/babel/babel-preset-env/pull/46) (Henry Zhu)
-
-When using the `debug` option it was printing the data for each file processed rather than once.
-
-```js
-{
-  "presets": [
-    ["env", {
-      "debug": true
-    }]
-  ]
-}
-```
-
-## v0.0.7 (2016-11-02)
-
-### :rocket: New Feature
-
-* hardcode a current node version option ([#35](https://github.com/babel/babel-preset-env/pull/35)) (Henry Zhu)
-
-```js
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "node": "current" // parseFloat(process.versions.node)
-      }
-    }]
-  ]
-}
-```
-
-* add 'whitelist' option ([#31](https://github.com/babel/babel-preset-env/pull/31)) (Henry Zhu)
-
-```js
- {
-  "presets": [
-    ["env", {
-      "targets": {
-        "chrome": 52
-      },
-      "whitelist": ["transform-es2015-arrow-functions"]
-    }]
-  ]
-}
-```
-
-* Add more aliases (Henry Zhu)
-* Update plugin data: firefox 52 supports async/await! ([#29](https://github.com/babel/babel-preset-env/pull/29)) (Henry Zhu)
-
-### :bug: Bug Fixes
-
-* Use compat-table equals option ([#36](https://github.com/babel/babel-preset-env/pull/36)) (Henry Zhu)
-
-Compute and use `compat-table` equivalents
-
-```js
-{
-  "safari6": "phantom",
-  "chrome44": "iojs",
-  "chrome50": "node64",
-  "chrome51": "node65",
-  "chrome54": "node7",
-  "chrome30": "android44",
-  "chrome37": "android50",
-  "chrome39": "android51",
-  "safari7": "ios7",
-  "safari71_8": "ios8",
-  "safari9": "ios9",
-  "safari10": "ios10",
-  "chrome50": "node6"
-}
-```
-
-* Change default behavior to act the same as babel-preset-latest ([#33](https://github.com/babel/babel-preset-env/pull/33)) (Henry Zhu)
-
-```js
-{ "presets": ["env"] } // should act the same as babel-preset-latest
-```
-
-## Internal
-
-* Add fixture helper for tests ([#28](https://github.com/babel/babel-preset-env/pull/28)) (Henry Zhu)
diff --git a/node_modules/babel-preset-env/CONTRIBUTING.md b/node_modules/babel-preset-env/CONTRIBUTING.md
deleted file mode 100644
index 275636d..0000000
--- a/node_modules/babel-preset-env/CONTRIBUTING.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Contributing
-
-## Adding a new plugin to support (when approved in the next ECMAScript version)
-
-### Update [`plugin-features.js`](https://github.com/babel/babel-preset-env/blob/master/data/plugin-features.js)
-
-*Example:*
-
-If you were going to add `**` which is in ES2016:
-
-Find the relevant entries on [compat-table](https://kangax.github.io/compat-table/es2016plus/#test-exponentiation_(**)_operator):
-
-`exponentiation (**) operator`
-
-Find the corresponding babel plugin:
-
-`transform-exponentiation-operator`
-
-And add them in this structure:
-
-```js
-// es2016
-"transform-exponentiation-operator": {
-  features: [
-    "exponentiation (**) operator",
-  ],
-},
-```
-
-### Update [`built-in-features.js`](https://github.com/babel/babel-preset-env/blob/master/data/built-in-features.js)
-
-*Example:*
-
-In case you want to add `Object.values` which is in ES2017:
-
-Find the relevant feature and subfeature on [compat-table](https://kangax.github.io/compat-table/es2016plus/#test-Object_static_methods_Object.values)
-and split it with `/`:
-
-`Object static methods / Object.values`
-
-Find the corresponding module on [core-js](https://github.com/zloirock/core-js/tree/master/modules):
-
-`es7.object.values.js`
-
-Find required ES version in [`built-in-features.js`](https://github.com/babel/babel-preset-env/blob/master/data/built-in-features.js) and add the new feature:
-
-```js
-const es2017 = {
-  //...
-  "es7.object.values": "Object static methods / Object.values"
-}
-```
-
-### Update [`plugins.json`](https://github.com/babel/babel-preset-env/blob/master/data/plugins.json)
-
-Until `compat-table` is a standalone npm module for data we are using the git url
-
-`"compat-table": "kangax/compat-table#[latest-commit-hash]"`,
-
-So we update and then run `npm run build-data`. If there are no changes, then `plugins.json` will be the same.
-
-## Tests
-
-### Running tests locally
-
-```bash
-npm test
-```
-
-### Checking code coverage locally
-
-```bash
-npm run coverage
-```
-
-### Writing tests
-
-#### General
-
-All the tests for `babel-preset-env` exist in the `test/fixtures` folder. The
-test setup and conventions are exactly the same as testing a Babel plugin, so
-please read our [documentation on writing tests](https://github.com/babel/babel/blob/master/CONTRIBUTING.md#babel-plugin-x).
-
-#### Testing the `debug` option
-
-Testing debug output to `stdout` is similar. Under the `test/debug-fixtures`,
-create a folder with a descriptive name of your test, and add the following:
-
-* Add a `options.json` file (just as the other tests, this is essentially a
-`.babelrc`) with the desired test configuration (required)
-* Add a `stdout.txt` file with the expected debug output. For added
-convenience, if there is no `stdout.txt` present, the test runner will
-generate one for you.
diff --git a/node_modules/babel-preset-env/LICENSE b/node_modules/babel-preset-env/LICENSE
deleted file mode 100644
index c61257c..0000000
--- a/node_modules/babel-preset-env/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2016 Babel
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/node_modules/babel-preset-env/README.md b/node_modules/babel-preset-env/README.md
deleted file mode 100644
index c3e8bc7..0000000
--- a/node_modules/babel-preset-env/README.md
+++ /dev/null
@@ -1,404 +0,0 @@
-# babel-preset-env [![npm](https://img.shields.io/npm/v/babel-preset-env.svg)](https://www.npmjs.com/package/babel-preset-env) [![travis](https://img.shields.io/travis/babel/babel-preset-env/master.svg)](https://travis-ci.org/babel/babel-preset-env) [![npm-downloads](https://img.shields.io/npm/dm/babel-preset-env.svg)](https://www.npmjs.com/package/babel-preset-env) [![codecov](https://img.shields.io/codecov/c/github/babel/babel-preset-env/master.svg?maxAge=43200)](https://codecov.io/git [...]
-
-> A Babel preset that can automatically determine the Babel plugins and polyfills you need based on your supported environments.
-
-```sh
-npm install babel-preset-env --save-dev
-```
-
-```json
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "browsers": ["last 2 versions", "safari >= 7"]
-      }
-    }]
-  ]
-}
-```
-
-Check out the many options (especially `useBuiltIns` to polyfill less)!
-
-- [How it Works](#how-it-works)
-- [Install](#install)
-- [Usage](#usage)
-- [Options](#options)
-- [Examples](#examples)
-- [Caveats](#caveats)
-- [Other Cool Projects](#other-cool-projects)
-
-## How it Works
-
-### Determine environment support for ECMAScript features
-
-Use external data such as [`compat-table`](https://github.com/kangax/compat-table) to determine browser support. (We should create PRs there when necessary)
-
-![](https://cloud.githubusercontent.com/assets/588473/19214029/58deebce-8d48-11e6-9004-ee3fbcb75d8b.png)
-
-We can periodically run [build-data.js](https://github.com/babel/babel-preset-env/blob/master/scripts/build-data.js) which generates [plugins.json](https://github.com/babel/babel-preset-env/blob/master/data/plugins.json).
-
-Ref: [#7](https://github.com/babel/babel-preset-env/issues/7)
-
-### Maintain a mapping between JavaScript features and Babel plugins
-
-> Currently located at [plugin-features.js](https://github.com/babel/babel-preset-env/blob/master/data/plugin-features.js).
-
-This should be straightforward to do in most cases. There might be cases where plugins should be split up more or certain plugins aren't standalone enough (or impossible to do).
-
-### Support all plugins in Babel that are considered `latest`
-
-> Default behavior without options is the same as `babel-preset-latest`.
-
-It won't include `stage-x` plugins. env will support all plugins in what we consider the latest version of Javascript (by matching what we do in [`babel-preset-latest`](http://babeljs.io/docs/plugins/preset-latest/)).
-
-Ref: [#14](https://github.com/babel/babel-preset-env/issues/14)
-
-### Determine the lowest common denominator of plugins to be included in the preset
-
-If you are targeting IE 8 and Chrome 55 it will include all plugins required by IE 8 since you would need to support both still.
-
-### Support a target option `"node": "current"` to compile for the currently running node version.
-
-For example, if you are building on Node 4, arrow functions won't be converted, but they will if you build on Node 0.12.
-
-### Support a `browsers` option like autoprefixer
-
-Use [browserslist](https://github.com/ai/browserslist) to declare supported environments by performing queries like `> 1%, last 2 versions`.
-
-Ref: [#19](https://github.com/babel/babel-preset-env/pull/19)
-
-## Install
-
-With [npm](https://www.npmjs.com):
-
-```sh
-npm install --save-dev babel-preset-env
-```
-
-Or [yarn](https://yarnpkg.com):
-
-```sh
-yarn add babel-preset-env --dev
-```
-
-## Usage
-
-The default behavior without options runs all transforms (behaves the same as [babel-preset-latest](https://babeljs.io/docs/plugins/preset-latest/)).
-
-```json
-{
-  "presets": ["env"]
-}
-```
-
-## Options
-
-For more information on setting options for a preset, refer to the [plugin/preset options](http://babeljs.io/docs/plugins/#plugin-preset-options) documentation.
-
-### `targets`
-
-`{ [string]: number | string }`, defaults to `{}`.
-
-Takes an object of environment versions to support.
-
-Each target environment takes a number or a string (we recommend using a string when specifying minor versions like `node: "6.10"`).
-
-Example environments: `chrome`, `opera`, `edge`, `firefox`, `safari`, `ie`, `ios`, `android`, `node`, `electron`.
-
-The [data](https://github.com/babel/babel-preset-env/blob/master/data/plugins.json) for this is generated by running the [build-data script](https://github.com/babel/babel-preset-env/blob/master/scripts/build-data.js) which pulls in data from [compat-table](https://kangax.github.io/compat-table).
-
-### `targets.node`
-
-`number | "current" | true`
-
-If you want to compile against the current node version, you can specify `"node": true` or `"node": "current"`, which would be the same as `"node": parseFloat(process.versions.node)`.
-
-### `targets.browsers`
-
-`Array<string> | string`
-
-A query to select browsers (ex: last 2 versions, > 5%) using [browserslist](https://github.com/ai/browserslist).
-
-Note, browsers' results are overridden by explicit items from `targets`.
-
-### `targets.uglify`
-
-`number | true`
-
-UglifyJS does not currently support any ES6 syntax, so if you are using Uglify to minify your code, targeting later browsers may cause Uglify to throw syntax errors.
-
-To prevent these errors - specify the uglify option, which will enable all plugins and, as a result, fully compile your code to ES5. However, the `useBuiltIns` option will still work as before, and only include the polyfills that your target(s) need.
-
-> NOTE: Uglify has a work-in-progress "Harmony" branch to address the lack of ES6 support, but it is not yet stable.  You can follow its progress in [UglifyJS2 issue #448](https://github.com/mishoo/UglifyJS2/issues/448).  If you require an alternative minifier which _does_ support ES6 syntax, we recommend using [Babili](https://github.com/babel/babili).
-
-### `spec`
-
-`boolean`, defaults to `false`.
-
-Enable more spec compliant, but potentially slower, transformations for any plugins in this preset that support them.
-
-### `loose`
-
-`boolean`, defaults to `false`.
-
-Enable "loose" transformations for any plugins in this preset that allow them.
-
-### `modules`
-
-`"amd" | "umd" | "systemjs" | "commonjs" | false`, defaults to `"commonjs"`.
-
-Enable transformation of ES6 module syntax to another module type.
-
-Setting this to `false` will not transform modules.
-
-### `debug`
-
-`boolean`, defaults to `false`.
-
-Outputs the targets/plugins used and the version specified in [plugin data version](https://github.com/babel/babel-preset-env/blob/master/data/plugins.json) to `console.log`.
-
-### `include`
-
-`Array<string>`, defaults to `[]`.
-
-> NOTE: `whitelist` is deprecated and will be removed in the next major in favor of this.
-
-An array of plugins to always include.
-
-Valid options include any:
-
-- [Babel plugins](https://github.com/babel/babel-preset-env/blob/master/data/plugin-features.js) - both with (`babel-plugin-transform-es2015-spread`) and without prefix (`transform-es2015-spread`) are supported.
-
-- [Built-ins](https://github.com/babel/babel-preset-env/blob/master/data/built-in-features.js), such as `map`, `set`, or `object.assign`.
-
-This option is useful if there is a bug in a native implementation, or a combination of a non-supported feature + a supported one doesn't work.
-
-For example, Node 4 supports native classes but not spread. If `super` is used with a spread argument, then the `transform-es2015-classes` transform needs to be `include`d, as it is not possible to transpile a spread with `super` otherwise.
-
-> NOTE: The `include` and `exclude` options _only_ work with the [plugins included with this preset](https://github.com/babel/babel-preset-env/blob/master/data/plugin-features.js); so, for example, including `transform-do-expressions` or excluding `transform-function-bind` will throw errors. To use a plugin _not_ included with this preset, add them to your [config](https://babeljs.io/docs/usage/babelrc/) directly.
-
-### `exclude`
-
-`Array<string>`, defaults to `[]`.
-
-An array of plugins to always exclude/remove.
-
-The possible options are the same as the `include` option.
-
-This option is useful for "blacklisting" a transform like `transform-regenerator` if you don't use generators and don't want to include `regeneratorRuntime` (when using `useBuiltIns`) or for using another plugin like [fast-async](https://github.com/MatAtBread/fast-async) instead of [Babel's async-to-gen](http://babeljs.io/docs/plugins/transform-async-generator-functions/).
-
-### `useBuiltIns`
-
-`boolean`, defaults to `false`.
-
-A way to apply `babel-preset-env` for polyfills (via "babel-polyfill").
-
-> NOTE: This does not currently polyfill experimental/stage-x built-ins like the regular "babel-polyfill" does.
-> This will only work with npm >= 3 (which should be used with Babel 6 anyway)
-
-```
-npm install babel-polyfill --save
-```
-
-This option enables a new plugin that replaces the statement `import "babel-polyfill"` or `require("babel-polyfill")` with individual requires for `babel-polyfill` based on environment.
-
-> NOTE: Only use `require("babel-polyfill");` once in your whole app.
-> Multiple imports or requires of `babel-polyfill` will throw an error since it can cause global collisions and other issues that are hard to trace.
-> We recommend creating a single entry file that only contains the `require` statement.
-
-**In**
-
-```js
-import "babel-polyfill";
-```
-
-**Out (different based on environment)**
-
-```js
-import "core-js/modules/es7.string.pad-start";
-import "core-js/modules/es7.string.pad-end";
-import "core-js/modules/web.timers";
-import "core-js/modules/web.immediate";
-import "core-js/modules/web.dom.iterable";
-```
-
-This will also work for `core-js` directly (`import "core-js";`)
-
-```
-npm install core-js --save
-```
-
----
-
-## Examples
-
-### Export with various targets
-
-```js
-export class A {}
-```
-
-#### Target only Chrome 52
-
-**.babelrc**
-
-```json
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "chrome": 52
-      }
-    }]
-  ]
-}
-```
-
-**Out**
-
-```js
-class A {}
-exports.A = A;
-```
-
-#### Target Chrome 52 with webpack 2/rollup and loose mode
-
-**.babelrc**
-
-```json
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "chrome": 52
-      },
-      "modules": false,
-      "loose": true
-    }]
-  ]
-}
-```
-
-**Out**
-
-```js
-export class A {}
-```
-
-#### Target specific browsers via browserslist
-
-**.babelrc**
-
-```json
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "chrome": 52,
-        "browsers": ["last 2 versions", "safari 7"]
-      }
-    }]
-  ]
-}
-```
-
-**Out**
-
-```js
-export var A = function A() {
-  _classCallCheck(this, A);
-};
-```
-
-#### Target latest node via `node: true` or `node: "current"`
-
-**.babelrc**
-
-```json
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "node": "current"
-      }
-    }]
-  ]
-}
-```
-
-**Out**
-
-```js
-class A {}
-exports.A = A;
-```
-
-### Show debug output
-
-**.babelrc**
-
-```json
-{
-  "presets": [
-    [ "env", {
-      "targets": {
-        "safari": 10
-      },
-      "modules": false,
-      "useBuiltIns": true,
-      "debug": true
-    }]
-  ]
-}
-```
-
-**stdout**
-
-```sh
-Using targets:
-{
-  "safari": 10
-}
-
-Modules transform: false
-
-Using plugins:
-  transform-exponentiation-operator {}
-  transform-async-to-generator {}
-
-Using polyfills:
-  es7.object.values {}
-  es7.object.entries {}
-  es7.object.get-own-property-descriptors {}
-  web.timers {}
-  web.immediate {}
-  web.dom.iterable {}
-```
-
-### Include and exclude specific plugins/built-ins
-
-> always include arrow functions, explicitly exclude generators
-
-```json
-{
-  "presets": [
-    ["env", {
-      "targets": {
-        "browsers": ["last 2 versions", "safari >= 7"]
-      },
-      "include": ["transform-es2015-arrow-functions", "es6.map"],
-      "exclude": ["transform-regenerator", "es6.set"]
-    }]
-  ]
-}
-```
-
-## Caveats
-
-If you get a `SyntaxError: Unexpected token ...` error when using the [object-rest-spread](https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-rest-spread) transform then make sure the plugin has been updated to, at least, `v6.19.0`.
-
-## Other Cool Projects
-
-- [babel-preset-modern-browsers](https://github.com/christophehurpeau/babel-preset-modern-browsers)
-- ?
diff --git a/node_modules/babel-preset-env/data/built-in-features.js b/node_modules/babel-preset-env/data/built-in-features.js
deleted file mode 100644
index 6073893..0000000
--- a/node_modules/babel-preset-env/data/built-in-features.js
+++ /dev/null
@@ -1,181 +0,0 @@
-// https://github.com/zloirock/core-js
-
-const typedArrayMethods = [
-  "typed arrays / %TypedArray%.from",
-  "typed arrays / %TypedArray%.of",
-  "typed arrays / %TypedArray%.prototype.subarray",
-  "typed arrays / %TypedArray%.prototype.join",
-  "typed arrays / %TypedArray%.prototype.indexOf",
-  "typed arrays / %TypedArray%.prototype.lastIndexOf",
-  "typed arrays / %TypedArray%.prototype.slice",
-  "typed arrays / %TypedArray%.prototype.every",
-  "typed arrays / %TypedArray%.prototype.filter",
-  "typed arrays / %TypedArray%.prototype.forEach",
-  "typed arrays / %TypedArray%.prototype.map",
-  "typed arrays / %TypedArray%.prototype.reduce",
-  "typed arrays / %TypedArray%.prototype.reduceRight",
-  "typed arrays / %TypedArray%.prototype.reverse",
-  "typed arrays / %TypedArray%.prototype.some",
-  "typed arrays / %TypedArray%.prototype.sort",
-  "typed arrays / %TypedArray%.prototype.copyWithin",
-  "typed arrays / %TypedArray%.prototype.find",
-  "typed arrays / %TypedArray%.prototype.findIndex",
-  "typed arrays / %TypedArray%.prototype.fill",
-  "typed arrays / %TypedArray%.prototype.keys",
-  "typed arrays / %TypedArray%.prototype.values",
-  "typed arrays / %TypedArray%.prototype.entries",
-  "typed arrays / %TypedArray%.prototype[Symbol.iterator]",
-  "typed arrays / %TypedArray%[Symbol.species]",
-];
-
-const es2015 = {
-  "es6.typed.array-buffer": "typed arrays / ArrayBuffer[Symbol.species]",
-  "es6.typed.data-view": "typed arrays / DataView",
-  "es6.typed.int8-array": {
-    features: ["typed arrays / Int8Array"].concat(typedArrayMethods)
-  },
-  "es6.typed.uint8-array": {
-    features: ["typed arrays / Uint8Array"].concat(typedArrayMethods)
-  },
-  "es6.typed.uint8-clamped-array": {
-    features: ["typed arrays / Uint8ClampedArray"].concat(typedArrayMethods)
-  },
-  "es6.typed.int16-array": {
-    features: ["typed arrays / Int16Array"].concat(typedArrayMethods)
-  },
-  "es6.typed.uint16-array": {
-    features: ["typed arrays / Uint16Array"].concat(typedArrayMethods)
-  },
-  "es6.typed.int32-array": {
-    features: ["typed arrays / Int32Array"].concat(typedArrayMethods)
-  },
-  "es6.typed.uint32-array": {
-    features: ["typed arrays / Uint32Array"].concat(typedArrayMethods)
-  },
-  "es6.typed.float32-array": {
-    features: ["typed arrays / Float32Array"].concat(typedArrayMethods)
-  },
-  "es6.typed.float64-array": {
-    features: ["typed arrays / Float64Array"].concat(typedArrayMethods)
-  },
-
-  "es6.map": "Map",
-  "es6.set": "Set",
-  "es6.weak-map": "WeakMap",
-  "es6.weak-set": "WeakSet",
-
-  // Proxy not implementable
-
-  "es6.reflect.apply": "Reflect / Reflect.apply",
-  "es6.reflect.construct": "Reflect / Reflect.construct",
-  "es6.reflect.define-property": "Reflect / Reflect.defineProperty",
-  "es6.reflect.delete-property": "Reflect / Reflect.deleteProperty",
-  "es6.reflect.get": "Reflect / Reflect.get",
-  "es6.reflect.get-own-property-descriptor": "Reflect / Reflect.getOwnPropertyDescriptor",
-  "es6.reflect.get-prototype-of": "Reflect / Reflect.getPrototypeOf",
-  "es6.reflect.has": "Reflect / Reflect.has",
-  "es6.reflect.is-extensible": "Reflect / Reflect.isExtensible",
-  "es6.reflect.own-keys": "Reflect / Reflect.ownKeys",
-  "es6.reflect.prevent-extensions": "Reflect / Reflect.preventExtensions",
-  "es6.reflect.set": "Reflect / Reflect.set",
-  "es6.reflect.set-prototype-of": "Reflect / Reflect.setPrototypeOf",
-
-  "es6.promise": "Promise",
-
-  "es6.symbol": {
-    features: [
-      "Symbol",
-      "Object static methods / Object.getOwnPropertySymbols",
-      "well-known symbols / Symbol.hasInstance",
-      "well-known symbols / Symbol.isConcatSpreadable",
-      "well-known symbols / Symbol.iterator",
-      "well-known symbols / Symbol.match",
-      "well-known symbols / Symbol.replace",
-      "well-known symbols / Symbol.search",
-      "well-known symbols / Symbol.species",
-      "well-known symbols / Symbol.split",
-      "well-known symbols / Symbol.toPrimitive",
-      "well-known symbols / Symbol.toStringTag",
-      "well-known symbols / Symbol.unscopables",
-    ]
-  },
-
-  "es6.object.assign": "Object static methods / Object.assign",
-  "es6.object.is": "Object static methods / Object.is",
-  "es6.object.set-prototype-of": "Object static methods / Object.setPrototypeOf",
-
-  "es6.function.name": "function \"name\" property",
-
-  "es6.string.raw": "String static methods / String.raw",
-  "es6.string.from-code-point": "String static methods / String.fromCodePoint",
-
-  "es6.string.code-point-at": "String.prototype methods / String.prototype.codePointAt",
-  // "String.prototype methods / String.prototype.normalize" not implemented
-  "es6.string.repeat": "String.prototype methods / String.prototype.repeat",
-  "es6.string.starts-with": "String.prototype methods / String.prototype.startsWith",
-  "es6.string.ends-with": "String.prototype methods / String.prototype.endsWith",
-  "es6.string.includes": "String.prototype methods / String.prototype.includes",
-
-  "es6.regexp.flags": "RegExp.prototype properties / RegExp.prototype.flags",
-  "es6.regexp.match": "RegExp.prototype properties / RegExp.prototype[Symbol.match]",
-  "es6.regexp.replace": "RegExp.prototype properties / RegExp.prototype[Symbol.replace]",
-  "es6.regexp.split": "RegExp.prototype properties / RegExp.prototype[Symbol.split]",
-  "es6.regexp.search": "RegExp.prototype properties / RegExp.prototype[Symbol.search]",
-
-  "es6.array.from": "Array static methods / Array.from",
-  "es6.array.of": "Array static methods / Array.of",
-
-  "es6.array.copy-within": "Array.prototype methods / Array.prototype.copyWithin",
-  "es6.array.find": "Array.prototype methods / Array.prototype.find",
-  "es6.array.find-index": "Array.prototype methods / Array.prototype.findIndex",
-  "es6.array.fill": "Array.prototype methods / Array.prototype.fill",
-
-  "es6.array.iterator": {
-    features: [
-      "Array.prototype methods / Array.prototype.keys",
-     // can use Symbol.iterator, not implemented in many environments
-     // "Array.prototype methods / Array.prototype.values",
-      "Array.prototype methods / Array.prototype.entries",
-    ]
-  },
-
-  "es6.number.is-finite": "Number properties / Number.isFinite",
-  "es6.number.is-integer": "Number properties / Number.isInteger",
-  "es6.number.is-safe-integer": "Number properties / Number.isSafeInteger",
-  "es6.number.is-nan": "Number properties / Number.isNaN",
-  "es6.number.epsilon": "Number properties / Number.EPSILON",
-  "es6.number.min-safe-integer": "Number properties / Number.MIN_SAFE_INTEGER",
-  "es6.number.max-safe-integer": "Number properties / Number.MAX_SAFE_INTEGER",
-
-  "es6.math.acosh": "Math methods / Math.acosh",
-  "es6.math.asinh": "Math methods / Math.asinh",
-  "es6.math.atanh": "Math methods / Math.atanh",
-  "es6.math.cbrt": "Math methods / Math.cbrt",
-  "es6.math.clz32": "Math methods / Math.clz32",
-  "es6.math.cosh": "Math methods / Math.cosh",
-  "es6.math.expm1": "Math methods / Math.expm1",
-  "es6.math.fround": "Math methods / Math.fround",
-  "es6.math.hypot": "Math methods / Math.hypot",
-  "es6.math.imul": "Math methods / Math.imul",
-  "es6.math.log1p": "Math methods / Math.log1p",
-  "es6.math.log10": "Math methods / Math.log10",
-  "es6.math.log2": "Math methods / Math.log2",
-  "es6.math.sign": "Math methods / Math.sign",
-  "es6.math.sinh": "Math methods / Math.sinh",
-  "es6.math.tanh": "Math methods / Math.tanh",
-  "es6.math.trunc": "Math methods / Math.trunc",
-};
-
-const es2016 = {
-  "es7.array.includes": "Array.prototype.includes",
-};
-
-const es2017 = {
-  "es7.object.values": "Object static methods / Object.values",
-  "es7.object.entries": "Object static methods / Object.entries",
-  "es7.object.get-own-property-descriptors": "Object static methods / Object.getOwnPropertyDescriptors",
-  "es7.string.pad-start": "String padding / String.prototype.padStart",
-  "es7.string.pad-end": "String padding / String.prototype.padEnd",
-};
-
-module.exports = Object.assign({}, es2015, es2016, es2017);
diff --git a/node_modules/babel-preset-env/data/built-ins.json b/node_modules/babel-preset-env/data/built-ins.json
deleted file mode 100644
index dd478aa..0000000
--- a/node_modules/babel-preset-env/data/built-ins.json
+++ /dev/null
@@ -1,850 +0,0 @@
-{
-  "es6.typed.array-buffer": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.typed.data-view": {
-    "chrome": "5",
-    "opera": "12",
-    "edge": "12",
-    "firefox": "15",
-    "safari": "5.1",
-    "node": "0.12",
-    "ie": "10",
-    "android": "4",
-    "ios": "6",
-    "electron": "1.1"
-  },
-  "es6.typed.int8-array": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.typed.uint8-array": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.typed.uint8-clamped-array": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.typed.int16-array": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.typed.uint16-array": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.typed.int32-array": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.typed.uint32-array": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.typed.float32-array": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.typed.float64-array": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "48",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.map": {
-    "chrome": "51",
-    "edge": "15",
-    "firefox": "53",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.set": {
-    "chrome": "51",
-    "edge": "15",
-    "firefox": "53",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.weak-map": {
-    "chrome": "51",
-    "edge": "15",
-    "firefox": "53",
-    "safari": "9",
-    "node": "6.5",
-    "ios": "9",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.weak-set": {
-    "chrome": "51",
-    "edge": "15",
-    "firefox": "53",
-    "safari": "9",
-    "node": "6.5",
-    "ios": "9",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.reflect.apply": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.construct": {
-    "chrome": "49",
-    "edge": "13",
-    "firefox": "45",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.define-property": {
-    "chrome": "49",
-    "edge": "13",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.delete-property": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.get": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.get-own-property-descriptor": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.get-prototype-of": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.has": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.is-extensible": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.own-keys": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.prevent-extensions": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.set": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.reflect.set-prototype-of": {
-    "chrome": "49",
-    "edge": "12",
-    "firefox": "42",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.promise": {
-    "chrome": "51",
-    "edge": "13",
-    "firefox": "45",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.symbol": {
-    "chrome": "51",
-    "firefox": "51",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.object.assign": {
-    "chrome": "45",
-    "edge": "12",
-    "firefox": "34",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "32",
-    "electron": "0.35"
-  },
-  "es6.object.is": {
-    "chrome": "19",
-    "edge": "12",
-    "firefox": "22",
-    "safari": "9",
-    "node": "0.12",
-    "android": "4.1",
-    "ios": "9",
-    "electron": "0.2"
-  },
-  "es6.object.set-prototype-of": {
-    "chrome": "34",
-    "edge": "12",
-    "firefox": "31",
-    "safari": "9",
-    "node": "0.12",
-    "ie": "11",
-    "android": "5",
-    "ios": "9",
-    "opera": "21",
-    "electron": "0.2"
-  },
-  "es6.function.name": {
-    "chrome": "51",
-    "firefox": "53",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.string.raw": {
-    "chrome": "41",
-    "edge": "12",
-    "firefox": "34",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "28",
-    "electron": "0.24"
-  },
-  "es6.string.from-code-point": {
-    "chrome": "41",
-    "edge": "12",
-    "firefox": "29",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "28",
-    "electron": "0.24"
-  },
-  "es6.string.code-point-at": {
-    "chrome": "41",
-    "edge": "12",
-    "firefox": "29",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "28",
-    "electron": "0.24"
-  },
-  "es6.string.repeat": {
-    "chrome": "41",
-    "edge": "12",
-    "firefox": "24",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "28",
-    "electron": "0.24"
-  },
-  "es6.string.starts-with": {
-    "chrome": "41",
-    "edge": "12",
-    "firefox": "29",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "28",
-    "electron": "0.24"
-  },
-  "es6.string.ends-with": {
-    "chrome": "41",
-    "edge": "12",
-    "firefox": "29",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "28",
-    "electron": "0.24"
-  },
-  "es6.string.includes": {
-    "chrome": "41",
-    "edge": "12",
-    "firefox": "40",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "28",
-    "electron": "0.24"
-  },
-  "es6.regexp.flags": {
-    "chrome": "49",
-    "firefox": "37",
-    "safari": "9",
-    "node": "6",
-    "ios": "9",
-    "opera": "36",
-    "electron": "1"
-  },
-  "es6.regexp.match": {
-    "chrome": "50",
-    "firefox": "49",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "37",
-    "electron": "1.1"
-  },
-  "es6.regexp.replace": {
-    "chrome": "50",
-    "firefox": "49",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "37",
-    "electron": "1.1"
-  },
-  "es6.regexp.split": {
-    "chrome": "50",
-    "firefox": "49",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "37",
-    "electron": "1.1"
-  },
-  "es6.regexp.search": {
-    "chrome": "50",
-    "firefox": "49",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "37",
-    "electron": "1.1"
-  },
-  "es6.array.from": {
-    "chrome": "51",
-    "edge": "15",
-    "firefox": "36",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "es6.array.of": {
-    "chrome": "45",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "32",
-    "electron": "0.35"
-  },
-  "es6.array.copy-within": {
-    "chrome": "45",
-    "edge": "12",
-    "firefox": "32",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "32",
-    "electron": "0.35"
-  },
-  "es6.array.find": {
-    "chrome": "45",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "4",
-    "ios": "8",
-    "opera": "32",
-    "electron": "0.35"
-  },
-  "es6.array.find-index": {
-    "chrome": "45",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "4",
-    "ios": "8",
-    "opera": "32",
-    "electron": "0.35"
-  },
-  "es6.array.fill": {
-    "chrome": "45",
-    "edge": "12",
-    "firefox": "31",
-    "safari": "7.1",
-    "node": "4",
-    "ios": "8",
-    "opera": "32",
-    "electron": "0.35"
-  },
-  "es6.array.iterator": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "28",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.number.is-finite": {
-    "chrome": "19",
-    "edge": "12",
-    "firefox": "16",
-    "safari": "9",
-    "node": "0.12",
-    "android": "4.1",
-    "ios": "9",
-    "electron": "0.2"
-  },
-  "es6.number.is-integer": {
-    "chrome": "34",
-    "edge": "12",
-    "firefox": "16",
-    "safari": "9",
-    "node": "0.12",
-    "android": "5",
-    "ios": "9",
-    "opera": "21",
-    "electron": "0.2"
-  },
-  "es6.number.is-safe-integer": {
-    "chrome": "34",
-    "edge": "12",
-    "firefox": "32",
-    "safari": "9",
-    "node": "0.12",
-    "android": "5",
-    "ios": "9",
-    "opera": "21",
-    "electron": "0.2"
-  },
-  "es6.number.is-nan": {
-    "chrome": "19",
-    "edge": "12",
-    "firefox": "15",
-    "safari": "9",
-    "node": "0.12",
-    "android": "4.1",
-    "ios": "9",
-    "electron": "0.2"
-  },
-  "es6.number.epsilon": {
-    "chrome": "34",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "9",
-    "node": "0.12",
-    "android": "5",
-    "ios": "9",
-    "opera": "21",
-    "electron": "0.2"
-  },
-  "es6.number.min-safe-integer": {
-    "chrome": "34",
-    "edge": "12",
-    "firefox": "31",
-    "safari": "9",
-    "node": "0.12",
-    "android": "5",
-    "ios": "9",
-    "opera": "21",
-    "electron": "0.2"
-  },
-  "es6.number.max-safe-integer": {
-    "chrome": "34",
-    "edge": "12",
-    "firefox": "31",
-    "safari": "9",
-    "node": "0.12",
-    "android": "5",
-    "ios": "9",
-    "opera": "21",
-    "electron": "0.2"
-  },
-  "es6.math.acosh": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.asinh": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.atanh": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.cbrt": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.clz32": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "31",
-    "safari": "9",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "9",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.cosh": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.expm1": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.fround": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "26",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.hypot": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "27",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.imul": {
-    "chrome": "30",
-    "edge": "12",
-    "firefox": "23",
-    "safari": "7",
-    "node": "0.12",
-    "android": "4.4",
-    "ios": "7",
-    "opera": "17",
-    "electron": "0.2"
-  },
-  "es6.math.log1p": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.log10": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.log2": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.sign": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "9",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "9",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.sinh": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.tanh": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es6.math.trunc": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "25",
-    "safari": "7.1",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "8",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "es7.array.includes": {
-    "chrome": "47",
-    "edge": "14",
-    "firefox": "43",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "34",
-    "electron": "0.36"
-  },
-  "es7.object.values": {
-    "chrome": "54",
-    "edge": "14",
-    "firefox": "47",
-    "safari": "10.1",
-    "node": "7",
-    "ios": "10.3",
-    "opera": "41",
-    "electron": "1.5"
-  },
-  "es7.object.entries": {
-    "chrome": "54",
-    "edge": "14",
-    "firefox": "47",
-    "safari": "10.1",
-    "node": "7",
-    "ios": "10.3",
-    "opera": "41",
-    "electron": "1.5"
-  },
-  "es7.object.get-own-property-descriptors": {
-    "chrome": "54",
-    "edge": "15",
-    "firefox": "50",
-    "safari": "10.1",
-    "node": "7",
-    "ios": "10.3",
-    "opera": "41",
-    "electron": "1.5"
-  },
-  "es7.string.pad-start": {
-    "chrome": "57",
-    "edge": "15",
-    "firefox": "48",
-    "safari": "10",
-    "ios": "10",
-    "opera": "44",
-    "electron": "1.7"
-  },
-  "es7.string.pad-end": {
-    "chrome": "57",
-    "edge": "15",
-    "firefox": "48",
-    "safari": "10",
-    "ios": "10",
-    "opera": "44",
-    "electron": "1.7"
-  }
-}
diff --git a/node_modules/babel-preset-env/data/plugin-features.js b/node_modules/babel-preset-env/data/plugin-features.js
deleted file mode 100644
index fef5180..0000000
--- a/node_modules/babel-preset-env/data/plugin-features.js
+++ /dev/null
@@ -1,130 +0,0 @@
-module.exports = {
-  // es2015
-  "check-es2015-constants": {
-    features: [
-      "const",
-    ],
-  },
-  "transform-es2015-arrow-functions": {
-    features: [
-      "arrow functions",
-    ],
-  },
-  "transform-es2015-block-scoped-functions": {
-    features: [
-      "block-level function declaration"
-    ],
-  },
-  "transform-es2015-block-scoping": {
-    features: [
-      "const",
-      "let",
-    ],
-  },
-  "transform-es2015-classes": {
-    features: [
-      "class",
-      "super",
-    ],
-  },
-  "transform-es2015-computed-properties": {
-    features: [
-      "object literal extensions / computed properties",
-    ],
-  },
-  "transform-es2015-destructuring": {
-    features: [
-      "destructuring, assignment",
-      "destructuring, declarations",
-      "destructuring, parameters",
-    ],
-  },
-  "transform-es2015-duplicate-keys": {
-    features: [
-      "miscellaneous / duplicate property names in strict mode",
-    ],
-  },
-  "transform-es2015-for-of": {
-    features: [
-      "for..of loops",
-    ],
-  },
-  "transform-es2015-function-name": {
-    features: [
-      "function \"name\" property",
-    ]
-  },
-  "transform-es2015-literals": {
-    features: [
-      "Unicode code point escapes",
-    ],
-  },
-  "transform-es2015-object-super": {
-    features: [
-      "super",
-    ],
-  },
-  "transform-es2015-parameters": {
-    features: [
-      "default function parameters",
-      "rest parameters",
-    ],
-  },
-  "transform-es2015-shorthand-properties": {
-    features: [
-      "object literal extensions / shorthand properties",
-    ],
-  },
-  "transform-es2015-spread": {
-    features: [
-      "spread (...) operator",
-    ],
-  },
-  "transform-es2015-sticky-regex": {
-    features: [
-      "RegExp \"y\" and \"u\" flags / \"y\" flag, lastIndex",
-      "RegExp \"y\" and \"u\" flags / \"y\" flag",
-    ],
-  },
-  "transform-es2015-template-literals": {
-    features: [
-      "template literals",
-    ],
-  },
-  "transform-es2015-typeof-symbol": {
-    features: [
-      "Symbol / typeof support"
-    ],
-  },
-  "transform-es2015-unicode-regex": {
-    features: [
-      "RegExp \"y\" and \"u\" flags / \"u\" flag, case folding",
-      "RegExp \"y\" and \"u\" flags / \"u\" flag, Unicode code point escapes",
-      "RegExp \"y\" and \"u\" flags / \"u\" flag",
-    ],
-  },
-  "transform-regenerator": {
-    features: [
-      "generators",
-    ],
-  },
-
-  // es2016
-  "transform-exponentiation-operator": {
-    features: [
-      "exponentiation (**) operator",
-    ],
-  },
-
-  // es2017
-  "transform-async-to-generator": {
-    features: [
-      "async functions",
-    ],
-  },
-  "syntax-trailing-function-commas": {
-    features: [
-      "trailing commas in function syntax",
-    ],
-  }
-};
diff --git a/node_modules/babel-preset-env/data/plugins.json b/node_modules/babel-preset-env/data/plugins.json
deleted file mode 100644
index bca57ca..0000000
--- a/node_modules/babel-preset-env/data/plugins.json
+++ /dev/null
@@ -1,232 +0,0 @@
-{
-  "check-es2015-constants": {
-    "chrome": "49",
-    "edge": "14",
-    "firefox": "51",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "transform-es2015-arrow-functions": {
-    "chrome": "47",
-    "edge": "13",
-    "firefox": "45",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "34",
-    "electron": "0.36"
-  },
-  "transform-es2015-block-scoped-functions": {
-    "chrome": "41",
-    "edge": "12",
-    "firefox": "46",
-    "safari": "10",
-    "node": "4",
-    "ie": "11",
-    "ios": "10",
-    "opera": "28",
-    "electron": "0.24"
-  },
-  "transform-es2015-block-scoping": {
-    "chrome": "49",
-    "edge": "14",
-    "firefox": "51",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "transform-es2015-classes": {
-    "chrome": "46",
-    "edge": "13",
-    "firefox": "45",
-    "safari": "10",
-    "node": "5",
-    "ios": "10",
-    "opera": "33",
-    "electron": "0.36"
-  },
-  "transform-es2015-computed-properties": {
-    "chrome": "44",
-    "edge": "12",
-    "firefox": "34",
-    "safari": "7.1",
-    "node": "4",
-    "ios": "8",
-    "opera": "31",
-    "electron": "0.31"
-  },
-  "transform-es2015-destructuring": {
-    "chrome": "51",
-    "edge": "15",
-    "firefox": "53",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "transform-es2015-duplicate-keys": {
-    "chrome": "42",
-    "edge": "12",
-    "firefox": "34",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "29",
-    "electron": "0.27"
-  },
-  "transform-es2015-for-of": {
-    "chrome": "51",
-    "edge": "15",
-    "firefox": "53",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "transform-es2015-function-name": {
-    "chrome": "51",
-    "firefox": "53",
-    "safari": "10",
-    "node": "6.5",
-    "ios": "10",
-    "opera": "38",
-    "electron": "1.2"
-  },
-  "transform-es2015-literals": {
-    "chrome": "44",
-    "edge": "12",
-    "firefox": "53",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "31",
-    "electron": "0.31"
-  },
-  "transform-es2015-object-super": {
-    "chrome": "46",
-    "edge": "13",
-    "firefox": "45",
-    "safari": "10",
-    "node": "5",
-    "ios": "10",
-    "opera": "33",
-    "electron": "0.36"
-  },
-  "transform-es2015-parameters": {
-    "chrome": "49",
-    "edge": "14",
-    "firefox": "53",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "transform-es2015-shorthand-properties": {
-    "chrome": "43",
-    "edge": "12",
-    "firefox": "33",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "30",
-    "electron": "0.29"
-  },
-  "transform-es2015-spread": {
-    "chrome": "46",
-    "edge": "13",
-    "firefox": "36",
-    "safari": "10",
-    "node": "5",
-    "ios": "10",
-    "opera": "33",
-    "electron": "0.36"
-  },
-  "transform-es2015-sticky-regex": {
-    "chrome": "49",
-    "edge": "13",
-    "firefox": "3",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "36",
-    "electron": "1"
-  },
-  "transform-es2015-template-literals": {
-    "chrome": "41",
-    "edge": "13",
-    "firefox": "34",
-    "safari": "9",
-    "node": "4",
-    "ios": "9",
-    "opera": "28",
-    "electron": "0.24"
-  },
-  "transform-es2015-typeof-symbol": {
-    "chrome": "38",
-    "edge": "12",
-    "firefox": "36",
-    "safari": "9",
-    "node": "0.12",
-    "android": "5.1",
-    "ios": "9",
-    "opera": "25",
-    "electron": "0.2"
-  },
-  "transform-es2015-unicode-regex": {
-    "chrome": "50",
-    "edge": "13",
-    "firefox": "46",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "37",
-    "electron": "1.1"
-  },
-  "transform-regenerator": {
-    "chrome": "50",
-    "edge": "13",
-    "firefox": "53",
-    "safari": "10",
-    "node": "6",
-    "ios": "10",
-    "opera": "37",
-    "electron": "1.1"
-  },
-  "transform-exponentiation-operator": {
-    "chrome": "52",
-    "edge": "14",
-    "firefox": "52",
-    "safari": "10.1",
-    "node": "7",
-    "ios": "10.3",
-    "opera": "39",
-    "electron": "1.3"
-  },
-  "transform-async-to-generator": {
-    "chrome": "55",
-    "edge": "15",
-    "firefox": "52",
-    "safari": "10.1",
-    "node": "7.6",
-    "ios": "10.3",
-    "opera": "42",
-    "electron": "1.6"
-  },
-  "syntax-trailing-function-commas": {
-    "chrome": "58",
-    "edge": "14",
-    "firefox": "52",
-    "safari": "10",
-    "ios": "10",
-    "opera": "45",
-    "electron": "1.7"
-  }
-}
diff --git a/node_modules/babel-preset-env/lib/default-includes.js b/node_modules/babel-preset-env/lib/default-includes.js
deleted file mode 100644
index 9476c80..0000000
--- a/node_modules/babel-preset-env/lib/default-includes.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-
-exports.__esModule = true;
-var defaultWebIncludes = exports.defaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"];
\ No newline at end of file
diff --git a/node_modules/babel-preset-env/lib/index.js b/node_modules/babel-preset-env/lib/index.js
deleted file mode 100644
index c3f0ebd..0000000
--- a/node_modules/babel-preset-env/lib/index.js
+++ /dev/null
@@ -1,194 +0,0 @@
-"use strict";
-
-exports.__esModule = true;
-exports.transformIncludesAndExcludes = exports.isPluginRequired = undefined;
-exports.default = buildPreset;
-
-var _semver = require("semver");
-
-var _semver2 = _interopRequireDefault(_semver);
-
-var _builtIns = require("../data/built-ins.json");
-
-var _builtIns2 = _interopRequireDefault(_builtIns);
-
-var _defaultIncludes = require("./default-includes");
-
-var _moduleTransformations = require("./module-transformations");
-
-var _moduleTransformations2 = _interopRequireDefault(_moduleTransformations);
-
-var _normalizeOptions = require("./normalize-options.js");
-
-var _normalizeOptions2 = _interopRequireDefault(_normalizeOptions);
-
-var _plugins = require("../data/plugins.json");
-
-var _plugins2 = _interopRequireDefault(_plugins);
-
-var _transformPolyfillRequirePlugin = require("./transform-polyfill-require-plugin");
-
-var _transformPolyfillRequirePlugin2 = _interopRequireDefault(_transformPolyfillRequirePlugin);
-
-var _targetsParser = require("./targets-parser");
-
-var _targetsParser2 = _interopRequireDefault(_targetsParser);
-
-var _utils = require("./utils");
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-/**
- * Determine if a transformation is required
- *
- * NOTE: This assumes `supportedEnvironments` has already been parsed by `getTargets`
- *
- * @param  {Object}  supportedEnvironments  An Object containing environment keys and the lowest
- *                                          supported version as a value
- * @param  {Object}  plugin                 An Object containing environment keys and the lowest
- *                                          version the feature was implemented in as a value
- * @return {Boolean} Whether or not the transformation is required
- */
-var isPluginRequired = exports.isPluginRequired = function isPluginRequired(supportedEnvironments, plugin) {
-  var targetEnvironments = Object.keys(supportedEnvironments);
-
-  if (targetEnvironments.length === 0) {
-    return true;
-  }
-
-  var isRequiredForEnvironments = targetEnvironments.filter(function (environment) {
-    // Feature is not implemented in that environment
-    if (!plugin[environment]) {
-      return true;
-    }
-
-    var lowestImplementedVersion = plugin[environment];
-    var lowestTargetedVersion = supportedEnvironments[environment];
-
-    if (!_semver2.default.valid(lowestTargetedVersion)) {
-      throw new Error(
-      // eslint-disable-next-line max-len
-      "Invalid version passed for target \"" + environment + "\": \"" + lowestTargetedVersion + "\". Versions must be in semver format (major.minor.patch)");
-    }
-
-    return _semver2.default.gt((0, _utils.semverify)(lowestImplementedVersion), lowestTargetedVersion);
-  });
-
-  return isRequiredForEnvironments.length > 0;
-};
-
-var hasBeenLogged = false;
-
-var logPlugin = function logPlugin(plugin, targets, list) {
-  var envList = list[plugin] || {};
-  var filteredList = Object.keys(targets).reduce(function (a, b) {
-    if (!envList[b] || _semver2.default.lt(targets[b], (0, _utils.semverify)(envList[b]))) {
-      a[b] = (0, _utils.prettifyVersion)(targets[b]);
-    }
-    return a;
-  }, {});
-  var logStr = "  " + plugin + " " + JSON.stringify(filteredList);
-  console.log(logStr);
-};
-
-var filterItem = function filterItem(targets, exclusions, list, item) {
-  var isDefault = _defaultIncludes.defaultWebIncludes.indexOf(item) >= 0;
-  var notExcluded = exclusions.indexOf(item) === -1;
-
-  if (isDefault) return notExcluded;
-  var isRequired = isPluginRequired(targets, list[item]);
-  return isRequired && notExcluded;
-};
-
-var getBuiltInTargets = function getBuiltInTargets(targets) {
-  var builtInTargets = (0, _utils._extends)({}, targets);
-  if (builtInTargets.uglify != null) {
-    delete builtInTargets.uglify;
-  }
-  return builtInTargets;
-};
-
-var transformIncludesAndExcludes = exports.transformIncludesAndExcludes = function transformIncludesAndExcludes(opts) {
-  return {
-    all: opts,
-    plugins: opts.filter(function (opt) {
-      return !opt.match(/^(es\d+|web)\./);
-    }),
-    builtIns: opts.filter(function (opt) {
-      return opt.match(/^(es\d+|web)\./);
-    })
-  };
-};
-
-function getPlatformSpecificDefaultFor(targets) {
-  var targetNames = Object.keys(targets);
-  var isAnyTarget = !targetNames.length;
-  var isWebTarget = targetNames.some(function (name) {
-    return name !== "node";
-  });
-
-  return isAnyTarget || isWebTarget ? _defaultIncludes.defaultWebIncludes : [];
-}
-
-function buildPreset(context) {
-  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
-  var validatedOptions = (0, _normalizeOptions2.default)(opts);
-  var debug = validatedOptions.debug,
-      loose = validatedOptions.loose,
-      moduleType = validatedOptions.moduleType,
-      spec = validatedOptions.spec,
-      useBuiltIns = validatedOptions.useBuiltIns;
-
-
-  var targets = (0, _targetsParser2.default)(validatedOptions.targets);
-  var include = transformIncludesAndExcludes(validatedOptions.include);
-  var exclude = transformIncludesAndExcludes(validatedOptions.exclude);
-
-  var filterPlugins = filterItem.bind(null, targets, exclude.plugins, _plugins2.default);
-  var transformations = Object.keys(_plugins2.default).filter(filterPlugins).concat(include.plugins);
-
-  var polyfills = void 0;
-  var polyfillTargets = void 0;
-  if (useBuiltIns) {
-    polyfillTargets = getBuiltInTargets(targets);
-    var filterBuiltIns = filterItem.bind(null, polyfillTargets, exclude.builtIns, _builtIns2.default);
-    polyfills = Object.keys(_builtIns2.default).concat(getPlatformSpecificDefaultFor(polyfillTargets)).filter(filterBuiltIns).concat(include.builtIns);
-  }
-
-  if (debug && !hasBeenLogged) {
-    hasBeenLogged = true;
-    console.log("babel-preset-env: `DEBUG` option");
-    console.log("\nUsing targets:");
-    console.log(JSON.stringify((0, _utils.prettifyTargets)(targets), null, 2));
-    console.log("\nModules transform: " + moduleType);
-    console.log("\nUsing plugins:");
-    transformations.forEach(function (transform) {
-      logPlugin(transform, targets, _plugins2.default);
-    });
-    if (useBuiltIns && polyfills.length) {
-      console.log("\nUsing polyfills:");
-      polyfills.forEach(function (polyfill) {
-        logPlugin(polyfill, polyfillTargets, _builtIns2.default);
-      });
-    }
-  }
-
-  var regenerator = transformations.indexOf("transform-regenerator") >= 0;
-  var modulePlugin = moduleType !== false && _moduleTransformations2.default[moduleType];
-  var plugins = [];
-
-  // NOTE: not giving spec here yet to avoid compatibility issues when
-  // babel-plugin-transform-es2015-modules-commonjs gets its spec mode
-  modulePlugin && plugins.push([require("babel-plugin-" + modulePlugin), { loose: loose }]);
-
-  plugins.push.apply(plugins, transformations.map(function (pluginName) {
-    return [require("babel-plugin-" + pluginName), { spec: spec, loose: loose }];
-  }));
-
-  useBuiltIns && plugins.push([_transformPolyfillRequirePlugin2.default, { polyfills: polyfills, regenerator: regenerator }]);
-
-  return {
-    plugins: plugins
-  };
-}
\ No newline at end of file
diff --git a/node_modules/babel-preset-env/lib/module-transformations.js b/node_modules/babel-preset-env/lib/module-transformations.js
deleted file mode 100644
index 1948782..0000000
--- a/node_modules/babel-preset-env/lib/module-transformations.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-
-exports.__esModule = true;
-exports.default = {
-  "amd": "transform-es2015-modules-amd",
-  "commonjs": "transform-es2015-modules-commonjs",
-  "systemjs": "transform-es2015-modules-systemjs",
-  "umd": "transform-es2015-modules-umd"
-};
\ No newline at end of file
diff --git a/node_modules/babel-preset-env/lib/normalize-options.js b/node_modules/babel-preset-env/lib/normalize-options.js
deleted file mode 100644
index c4cfa04..0000000
--- a/node_modules/babel-preset-env/lib/normalize-options.js
+++ /dev/null
@@ -1,126 +0,0 @@
-"use strict";
-
-exports.__esModule = true;
-exports.validateModulesOption = exports.validateSpecOption = exports.validateLooseOption = exports.validateBoolOption = exports.checkDuplicateIncludeExcludes = exports.normalizePluginNames = exports.normalizePluginName = exports.validateIncludesAndExcludes = undefined;
-exports.default = normalizeOptions;
-
-var _invariant = require("invariant");
-
-var _invariant2 = _interopRequireDefault(_invariant);
-
-var _builtIns = require("../data/built-ins.json");
-
-var _builtIns2 = _interopRequireDefault(_builtIns);
-
-var _defaultIncludes = require("./default-includes");
-
-var _moduleTransformations = require("./module-transformations");
-
-var _moduleTransformations2 = _interopRequireDefault(_moduleTransformations);
-
-var _pluginFeatures = require("../data/plugin-features");
-
-var _pluginFeatures2 = _interopRequireDefault(_pluginFeatures);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var validIncludesAndExcludes = [].concat(Object.keys(_pluginFeatures2.default), Object.keys(_moduleTransformations2.default).map(function (m) {
-  return _moduleTransformations2.default[m];
-}), Object.keys(_builtIns2.default), _defaultIncludes.defaultWebIncludes);
-
-var hasBeenWarned = false;
-
-var validateIncludesAndExcludes = exports.validateIncludesAndExcludes = function validateIncludesAndExcludes() {
-  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
-  var type = arguments[1];
-
-  (0, _invariant2.default)(Array.isArray(opts), "Invalid Option: The '" + type + "' option must be an Array<String> of plugins/built-ins");
-
-  var unknownOpts = [];
-  opts.forEach(function (opt) {
-    if (validIncludesAndExcludes.indexOf(opt) === -1) {
-      unknownOpts.push(opt);
-    }
-  });
-
-  (0, _invariant2.default)(unknownOpts.length === 0, "Invalid Option: The plugins/built-ins '" + unknownOpts + "' passed to the '" + type + "' option are not\n    valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env");
-
-  return opts;
-};
-
-var normalizePluginName = exports.normalizePluginName = function normalizePluginName(plugin) {
-  return plugin.replace(/^babel-plugin-/, "");
-};
-
-var normalizePluginNames = exports.normalizePluginNames = function normalizePluginNames(plugins) {
-  return plugins.map(normalizePluginName);
-};
-
-var checkDuplicateIncludeExcludes = exports.checkDuplicateIncludeExcludes = function checkDuplicateIncludeExcludes() {
-  var include = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
-  var exclude = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
-
-  var duplicates = include.filter(function (opt) {
-    return exclude.indexOf(opt) >= 0;
-  });
-
-  (0, _invariant2.default)(duplicates.length === 0, "Invalid Option: The plugins/built-ins '" + duplicates + "' were found in both the \"include\" and\n    \"exclude\" options.");
-};
-
-var validateBoolOption = exports.validateBoolOption = function validateBoolOption(name, value, defaultValue) {
-  if (typeof value === "undefined") {
-    value = defaultValue;
-  }
-
-  if (typeof value !== "boolean") {
-    throw new Error("Preset env: '" + name + "' option must be a boolean.");
-  }
-
-  return value;
-};
-
-var validateLooseOption = exports.validateLooseOption = function validateLooseOption(looseOpt) {
-  return validateBoolOption("loose", looseOpt, false);
-};
-var validateSpecOption = exports.validateSpecOption = function validateSpecOption(specOpt) {
-  return validateBoolOption("spec", specOpt, false);
-};
-
-var validateModulesOption = exports.validateModulesOption = function validateModulesOption() {
-  var modulesOpt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "commonjs";
-
-  (0, _invariant2.default)(modulesOpt === false || Object.keys(_moduleTransformations2.default).indexOf(modulesOpt) > -1, "Invalid Option: The 'modules' option must be either 'false' to indicate no modules, or a\n    module type which can be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'.");
-
-  return modulesOpt;
-};
-
-function normalizeOptions(opts) {
-  // TODO: remove whitelist in favor of include in next major
-  if (opts.whitelist && !hasBeenWarned) {
-    console.warn("Deprecation Warning: The \"whitelist\" option has been deprecated in favor of \"include\" to\n      match the newly added \"exclude\" option (instead of \"blacklist\").");
-    hasBeenWarned = true;
-  }
-
-  (0, _invariant2.default)(!(opts.whitelist && opts.include), "Invalid Option: The \"whitelist\" and the \"include\" option are the same and one can be used at\n    a time");
-
-  if (opts.exclude) {
-    opts.exclude = normalizePluginNames(opts.exclude);
-  }
-
-  if (opts.whitelist || opts.include) {
-    opts.include = normalizePluginNames(opts.whitelist || opts.include);
-  }
-
-  checkDuplicateIncludeExcludes(opts.include, opts.exclude);
-
-  return {
-    debug: opts.debug,
-    exclude: validateIncludesAndExcludes(opts.exclude, "exclude"),
-    include: validateIncludesAndExcludes(opts.include, "include"),
-    loose: validateLooseOption(opts.loose),
-    moduleType: validateModulesOption(opts.modules),
-    spec: validateSpecOption(opts.spec),
-    targets: opts.targets,
-    useBuiltIns: opts.useBuiltIns
-  };
-}
\ No newline at end of file
diff --git a/node_modules/babel-preset-env/lib/transform-polyfill-require-plugin.js b/node_modules/babel-preset-env/lib/transform-polyfill-require-plugin.js
deleted file mode 100644
index 48ccc8d..0000000
--- a/node_modules/babel-preset-env/lib/transform-polyfill-require-plugin.js
+++ /dev/null
@@ -1,87 +0,0 @@
-"use strict";
-
-exports.__esModule = true;
-
-exports.default = function (_ref) {
-  var t = _ref.types;
-
-  function createImportDeclaration(polyfill) {
-    var declar = t.importDeclaration([], t.stringLiteral(polyfill));
-    declar._blockHoist = 3;
-    return declar;
-  }
-
-  function createRequireStatement(polyfill) {
-    return t.expressionStatement(t.callExpression(t.identifier("require"), [t.stringLiteral(polyfill)]));
-  }
-
-  function isRequire(path) {
-    return t.isExpressionStatement(path.node) && t.isCallExpression(path.node.expression) && t.isIdentifier(path.node.expression.callee) && path.node.expression.callee.name === "require" && path.node.expression.arguments.length === 1 && t.isStringLiteral(path.node.expression.arguments[0]) && isPolyfillSource(path.node.expression.arguments[0].value);
-  }
-
-  function createImport(polyfill, requireType, core) {
-    if (core) {
-      polyfill = "core-js/modules/" + polyfill;
-    }
-
-    if (requireType === "import") {
-      return createImportDeclaration(polyfill);
-    } else {
-      return createRequireStatement(polyfill);
-    }
-  }
-
-  function createImports(polyfills, requireType, regenerator) {
-    var imports = polyfills.filter(function (el, i, arr) {
-      return arr.indexOf(el) === i;
-    }).map(function (polyfill) {
-      return createImport(polyfill, requireType, true);
-    });
-
-    return [].concat(imports, [regenerator && createImport("regenerator-runtime/runtime", requireType)]).filter(Boolean);
-  }
-
-  var isPolyfillImport = {
-    ImportDeclaration: function ImportDeclaration(path, state) {
-      if (path.node.specifiers.length === 0 && isPolyfillSource(path.node.source.value)) {
-        this.numPolyfillImports++;
-        if (this.numPolyfillImports > 1) {
-          path.remove();
-          return;
-        }
-
-        path.replaceWithMultiple(createImports(state.opts.polyfills, "import", state.opts.regenerator));
-      }
-    },
-    Program: function Program(path, state) {
-      var _this = this;
-
-      if (!state.opts.polyfills) {
-        throw path.buildCodeFrameError("\nThere was an issue in \"babel-preset-env\" such that\nthe \"polyfills\" option was not correctly passed\nto the \"transform-polyfill-require\" plugin\n");
-      }
-      path.get("body").forEach(function (bodyPath) {
-        if (isRequire(bodyPath)) {
-          _this.numPolyfillImports++;
-          if (_this.numPolyfillImports > 1) {
-            path.remove();
-            return;
-          }
-
-          bodyPath.replaceWithMultiple(createImports(state.opts.polyfills, "require", state.opts.regenerator));
-        }
-      });
-    }
-  };
-
-  return {
-    name: "transform-polyfill-require",
-    visitor: isPolyfillImport,
-    pre: function pre() {
-      this.numPolyfillImports = 0;
-    }
-  };
-};
-
-function isPolyfillSource(value) {
-  return value === "babel-polyfill" || value === "core-js";
-}
\ No newline at end of file
diff --git a/node_modules/babel-preset-env/package.json b/node_modules/babel-preset-env/package.json
deleted file mode 100644
index 76677ab..0000000
--- a/node_modules/babel-preset-env/package.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
-  "name": "babel-preset-env",
-  "version": "1.5.1",
-  "description": "A Babel preset for each environment.",
-  "author": {
-    "name": "Henry Zhu",
-    "email": "hi at henryzoo.com"
-  },
-  "homepage": "https://babeljs.io/",
-  "license": "MIT",
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/babel/babel-preset-env.git"
-  },
-  "main": "lib/index.js",
-  "scripts": {
-    "build": "rimraf lib && babel src -d lib",
-    "build-data": "node ./scripts/build-data.js",
-    "changelog": "git log `git describe --tags --abbrev=0`..HEAD --pretty=format:' * %s (%an)' | grep -v 'Merge pull request'",
-    "coverage": "BABEL_ENV=test nyc npm run test",
-    "coverage-ci": "nyc report --reporter=json && codecov -f coverage/coverage-final.json",
-    "dev": "babel -w src -d lib",
-    "fix": "eslint . --fix",
-    "lint": "eslint .",
-    "prepublish": "npm run build",
-    "test": "npm run build && npm run test-only",
-    "test-ci": "nyc npm run test",
-    "test-only": "mocha ./test --compilers js:babel-register -t 10000"
-  },
-  "dependencies": {
-    "babel-plugin-check-es2015-constants": "^6.22.0",
-    "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
-    "babel-plugin-transform-async-to-generator": "^6.22.0",
-    "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
-    "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
-    "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
-    "babel-plugin-transform-es2015-classes": "^6.23.0",
-    "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
-    "babel-plugin-transform-es2015-destructuring": "^6.23.0",
-    "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
-    "babel-plugin-transform-es2015-for-of": "^6.23.0",
-    "babel-plugin-transform-es2015-function-name": "^6.22.0",
-    "babel-plugin-transform-es2015-literals": "^6.22.0",
-    "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
-    "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
-    "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
-    "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
-    "babel-plugin-transform-es2015-object-super": "^6.22.0",
-    "babel-plugin-transform-es2015-parameters": "^6.23.0",
-    "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
-    "babel-plugin-transform-es2015-spread": "^6.22.0",
-    "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
-    "babel-plugin-transform-es2015-template-literals": "^6.22.0",
-    "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
-    "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
-    "babel-plugin-transform-exponentiation-operator": "^6.22.0",
-    "babel-plugin-transform-regenerator": "^6.22.0",
-    "browserslist": "^2.1.2",
-    "invariant": "^2.2.2",
-    "semver": "^5.3.0"
-  },
-  "devDependencies": {
-    "babel-cli": "^6.23.0",
-    "babel-eslint": "^7.1.1",
-    "babel-helper-fixtures": "^6.22.0",
-    "babel-helper-plugin-test-runner": "^6.22.0",
-    "babel-plugin-istanbul": "^3.1.2",
-    "babel-preset-env": "^1.4.0",
-    "babel-register": "^6.23.0",
-    "chai": "^3.5.0",
-    "codecov": "^1.0.1",
-    "compat-table": "github:kangax/compat-table#1f0bb0913736fe8c4c11b139766c73b9cbedb9f2",
-    "eslint": "^3.17.1",
-    "eslint-config-babel": "^6.0.0",
-    "eslint-plugin-flowtype": "^2.29.1",
-    "fs-extra": "^2.0.0",
-    "lodash": "^4.17.4",
-    "mocha": "^3.2.0",
-    "nyc": "^10.1.2",
-    "electron-to-chromium": "^1.3.11",
-    "rimraf": "^2.6.1"
-  },
-  "babel": {
-    "presets": [
-      [
-        "env",
-        {
-          "loose": true
-        }
-      ]
-    ],
-    "env": {
-      "test": {
-        "plugins": [
-          "istanbul"
-        ]
-      }
-    }
-  },
-  "nyc": {
-    "all": true,
-    "include": [
-      "src/*.js"
-    ],
-    "instrument": false,
-    "sourceMap": false
-  },
-  "gitHead": "5ff37e315115910cf96f6a766cf3531912796a81",
-  "bugs": {
-    "url": "https://github.com/babel/babel-preset-env/issues"
-  },
-  "_id": "babel-preset-env at 1.5.1",
-  "_shasum": "d2eca6af179edf27cdc305a84820f601b456dd0b",
-  "_from": "babel-preset-env at 1.5.1",
-  "_npmVersion": "3.10.10",
-  "_nodeVersion": "6.9.4",
-  "_npmUser": {
-    "name": "existentialism",
-    "email": "bng412 at gmail.com"
-  },
-  "dist": {
-    "shasum": "d2eca6af179edf27cdc305a84820f601b456dd0b",
-    "tarball": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.5.1.tgz"
-  },
-  "maintainers": [
-    {
-      "name": "danez",
-      "email": "daniel at tschinder.de"
-    },
-    {
-      "name": "existentialism",
-      "email": "bng412 at gmail.com"
-    },
-    {
-      "name": "hzoo",
-      "email": "hi at henryzoo.com"
-    },
-    {
-      "name": "loganfsmyth",
-      "email": "loganfsmyth at gmail.com"
-    }
-  ],
-  "_npmOperationalInternal": {
-    "host": "s3://npm-registry-packages",
-    "tmp": "tmp/babel-preset-env-1.5.1.tgz_1495463446179_0.5320252610836178"
-  },
-  "directories": {},
-  "_resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.5.1.tgz",
-  "readme": "ERROR: No README data found!"
-}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/rainloop.git



More information about the Pkg-javascript-commits mailing list