diff --git a/History.md b/History.md index 6166f7545e..627bf4e6ad 100644 --- a/History.md +++ b/History.md @@ -1,8 +1,33 @@ ## v.NEXT -* Meteor's test runners have been updated to use headless Chrome instead for -browser tests. Test can still be run using PhantomJS by passing --phantom -to the self test command. +* Meteor's `self-test` has been updated to use "headless" Chrome rather + than PhantomJS for browser tests. PhantomJS can still be forced by + passing the `--phantom` flag to the `meteor self-test` command. + [PR #9814](https://github.com/meteor/meteor/pull/9814) + +## v1.7.0.3, 2018-06-13 + +* Fixed [Issue #9991](https://github.com/meteor/meteor/issues/9991), + introduced in + [Meteor 1.7.0.2](https://github.com/meteor/meteor/pull/9990) + by [PR #9977](https://github.com/meteor/meteor/pull/9977). + +## v1.7.0.2, 2018-06-13 + +* Node has been updated to version + [8.11.3](https://nodejs.org/en/blog/release/v8.11.3/), an important + [security release](https://nodejs.org/en/blog/vulnerability/june-2018-security-releases/). + +* The `meteor-babel` npm package has been updated to version + [7.0.0-beta.51](https://github.com/babel/babel/releases/tag/v7.0.0-beta.51). + +* Meteor apps created with `meteor create` or `meteor create --minimal` + will now have a directory called `tests/` rather than `test/`, so that + test code will not be eagerly loaded if you decide to remove the + `meteor.mainModule` configuration from `package.json`, thanks to + [PR #9977](https://github.com/meteor/meteor/pull/9977) by + [@robfallows](https://github.com/robfallows). + [Issue #9961](https://github.com/meteor/meteor/issues/9961) ## v1.7.0.1, 2018-05-29 diff --git a/meteor b/meteor index 9906a76523..206e12b0cc 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=8.11.2.8 +BUNDLE_VERSION=8.11.3.1 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index 0e992ffa2c..f20eec836b 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -2,344 +2,344 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz", - "integrity": "sha1-vs2AVIJzREDJ0TfkbXc0DmTX9Rs=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz", + "integrity": "sha1-vXHZsZKvl435FYKdOdQJRFZDmgw=" }, "@babel/core": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.49.tgz", - "integrity": "sha1-c94ggd1lJIlInwy0qpeCmhEzMU4=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.51.tgz", + "integrity": "sha1-DlS9a2OHNrKuWTwxpH8JaeKyuW0=" }, "@babel/generator": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.49.tgz", - "integrity": "sha1-6c/9qROZaszseTu8JauRvBnQv3o=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.51.tgz", + "integrity": "sha1-bHV1/952HQdIXgS67cA5LG2eMPY=" }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.49.tgz", - "integrity": "sha1-fZAF1U/nrWy4dnkCUedVdUGRhuk=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.51.tgz", + "integrity": "sha1-OM95IL9fM4oif3VOKGtvut7gS1g=" }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.49.tgz", - "integrity": "sha1-xi3VBCtUpZDV5x5gIMRrkdbGyHU=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.51.tgz", + "integrity": "sha1-ITP//j4vcVkeQhR7lHKRyirTkjc=" }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.49.tgz", - "integrity": "sha1-5sNfjIjpAJMTn6ezAn0FzOtH9D0=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.51.tgz", + "integrity": "sha1-hsctZoO9JZfJOKEhU6bkgL8UASg=" }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.49.tgz", - "integrity": "sha1-S11BeCpoPV3GSXg0oyMQqNAqOvk=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.51.tgz", + "integrity": "sha1-BO1yfJfPBbyy/WRINzMasV1jyBk=" }, "@babel/helper-define-map": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.49.tgz", - "integrity": "sha1-TqBnqnIJNyQN85XNBzwk/K2cKzs=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.51.tgz", + "integrity": "sha1-2Ixkc36UjHE/nxFTM46EFf7kCxE=" }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.49.tgz", - "integrity": "sha1-K/uV337BMHNb9lXkSiF6cNOxPpM=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.51.tgz", + "integrity": "sha1-mHUzKti11cmC+kgcuCtzFwPyzS0=" }, "@babel/helper-function-name": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.49.tgz", - "integrity": "sha1-olwRGbnwNSeGcBJuAiXAMEHI3jI=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.51.tgz", + "integrity": "sha1-IbSHSiJ8+Z7K/MMKkDAtpaJkBWE=" }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.49.tgz", - "integrity": "sha1-z1Aj8y0q2S0Ic3STnOwJUby1FEE=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.51.tgz", + "integrity": "sha1-MoGy0EWvlcFyzpGyCCXYXqRnZBE=" }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.49.tgz", - "integrity": "sha1-2XQGUck7tPp5wba6xjQFH8TQP/U=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.51.tgz", + "integrity": "sha1-XX68hZZWe2RPyYmRLDo++YvgWPw=" }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.49.tgz", - "integrity": "sha1-L2QrAD1FFV4KnnpK0OaI2Ru8FYM=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.51.tgz", + "integrity": "sha1-KkJTZXQXZYiAbmAusXpS0yP4KHA=" }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.49.tgz", - "integrity": "sha1-QdfVmJEBbEk0MqRvdGREZVKJDHU=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.51.tgz", + "integrity": "sha1-zgBCgEX7t9XrwOp7+DV4nxU2arI=" }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.49.tgz", - "integrity": "sha1-/GYL2p1kl0EuGHdqca7ZqeLl960=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.51.tgz", + "integrity": "sha1-E68MjuQfJ3dDyPxD1EQxXbIyb3M=" }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.49.tgz", - "integrity": "sha1-qYtDw6bFS+9I+HsQ3EVo3sC0G/c=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.51.tgz", + "integrity": "sha1-IfIVjvCDoSPOHgRmW1u4TzcAgNc=" }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.49.tgz", - "integrity": "sha1-Dp/LuDT4eLs2XSqOqQ7uIbo8zSM=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.51.tgz", + "integrity": "sha1-D2pfK20cZERBP4+rYJQNebY8IDE=" }, "@babel/helper-regex": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.49.tgz", - "integrity": "sha1-/yRPGcKi8Wf/SzFlpjawj9ZBgWs=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.51.tgz", + "integrity": "sha1-mXIqPAxwRZavsSMoSwqIihoAPYI=" }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.49.tgz", - "integrity": "sha1-s/2qtBJ4TX6GV7rKsoaSPvyUmLg=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.51.tgz", + "integrity": "sha1-DtxX4F3LXd4qC27m+NAmGYLe8l8=" }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.49.tgz", - "integrity": "sha1-50RMcYBX9qCjZFyvjnj7VG/7DZ8=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.51.tgz", + "integrity": "sha1-J5phr7hJR2xsxw1VGfg99KdP+m8=" }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.49.tgz", - "integrity": "sha1-l6QeJ4mpv4psMFNqJYt550RMXYI=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.51.tgz", + "integrity": "sha1-ydf+zYShgdUKOvzEIvyUqWi+MFA=" }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.49.tgz", - "integrity": "sha1-QNeO2glo0BGxxShm5XRs+yPldUg=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.51.tgz", + "integrity": "sha1-imw/ZsTSZTUvwHdIT59ugKUauXg=" }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.49.tgz", - "integrity": "sha1-OFWRRgtNk++W7jgZU5wM3Ju9R1g=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.51.tgz", + "integrity": "sha1-bFFvsEQQmWTuAxwiUAqDAxOGL7E=" }, "@babel/helpers": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.49.tgz", - "integrity": "sha1-BU2EAy1OlChqgFhlAAaOQQBaUdA=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.51.tgz", + "integrity": "sha1-lScr4qtGNNaCBCX4klAxqSiRg5c=" }, "@babel/highlight": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.49.tgz", - "integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.51.tgz", + "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=" }, "@babel/parser": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.49.tgz", - "integrity": "sha1-lE0MW6KBK7FZ7b0iZ0Ov0mUXm9w=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.51.tgz", + "integrity": "sha1-J87C30Cd9gr1gnDtj2qlVAnqhvY=" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.49.tgz", - "integrity": "sha1-h2Gl4ti1JR5w3yj00KpkqiillrE=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.51.tgz", + "integrity": "sha1-99aS+Uakp/ynjkM2QHoAvq+KTeo=" }, "@babel/plugin-proposal-class-properties": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.49.tgz", - "integrity": "sha1-Un6Qr3XSP9XjuuGiGNwKbZI2tfE=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.51.tgz", + "integrity": "sha1-tcZi+GKjCs6U/EhHeDex0lX6ON8=" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.49.tgz", - "integrity": "sha1-bQzWD3p718REo3HE6UcL/wL1d3w=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.51.tgz", + "integrity": "sha1-W8Rp5ebRuEpdYEa1npDKAWwghtY=" }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.49.tgz", - "integrity": "sha1-UO6UMAKu3JqzqNEikr013Z7bHfg=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.51.tgz", + "integrity": "sha1-aSGvHcPaD87d4KYQc+7Hl7jKpwc=" }, "@babel/plugin-syntax-class-properties": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.49.tgz", - "integrity": "sha1-ahT6R86qMrU+FOZkgyblLaswaQQ=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.51.tgz", + "integrity": "sha1-8Mv28iqHnFk6B+jhQckI4IdwHpE=" }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.49.tgz", - "integrity": "sha1-8K96xrU2dqSWCT1KbiouxlXAe3g=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0-beta.51.tgz", + "integrity": "sha1-nAru9X0GeONybbFxqnPkdKJd5/I=" }, "@babel/plugin-syntax-flow": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.49.tgz", - "integrity": "sha1-Wz8LZcqWYFNFNWQ7glMPsdWOY+4=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.51.tgz", + "integrity": "sha1-3giDE0QG+Q+Vi2QHPpdJiAIp3lY=" }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.49.tgz", - "integrity": "sha1-FbgyUEtJ8Rb5xITo5ApeF8VC7RM=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.51.tgz", + "integrity": "sha1-9nKjNxxro/5Tv/0uirXcQElTgs8=" }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.49.tgz", - "integrity": "sha1-R4SziAgj/xLnQsJrQemFf3AdY54=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.51.tgz", + "integrity": "sha1-bVehGcHwZMRY5FutRb7wqD7RDAA=" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.49.tgz", - "integrity": "sha1-3ThFtjxoPRh9UYbuDogsQEbE8OM=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.51.tgz", + "integrity": "sha1-KbnbbjhoigbsXCVjmZbYml6/2+M=" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.49.tgz", - "integrity": "sha1-kRpA65MEAYbOtpMQXKdt73/pfQM=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.51.tgz", + "integrity": "sha1-lFOFBVoubTVmv1WvEnyNclzToXM=" }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.49.tgz", - "integrity": "sha1-eqn0b9+HO3IRqqLrDTfEw3Ghq9I=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.51.tgz", + "integrity": "sha1-IxKbr4FEcfOeqU7shKsf/nbJ/pY=" }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.49.tgz", - "integrity": "sha1-3Vqd3ZhndciyDPW2EGWvs92eqsk=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.51.tgz", + "integrity": "sha1-vlVcefDaTrFop/4W14eppxc3AeA=" }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.49.tgz", - "integrity": "sha1-U0JHHS5qMzczLqJGtGwL3fX8VE0=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.51.tgz", + "integrity": "sha1-BD8x+2MnZkoy2Lpl3hV5nv3GXaA=" }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.49.tgz", - "integrity": "sha1-uCWdF0vwerS1ZWZWK0buZSDD39I=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.51.tgz", + "integrity": "sha1-jHKhqz4HZwNP+eZzLSWBwjwDLv4=" }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.49.tgz", - "integrity": "sha1-Q2Y5LJyC0SMQVsHQApQ4pg02K4I=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.51.tgz", + "integrity": "sha1-1dRU5XTH7zPuSekYsEivspvpNfY=" }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.49.tgz", - "integrity": "sha1-RXstCQBHlGhKpuGwQBUIC4CgihQ=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.51.tgz", + "integrity": "sha1-BLTj5As3AREt1u2jliUTJ1eIH9Q=" }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.49.tgz", - "integrity": "sha1-8ComUo6UssHRHZVztj7leC1PKvk=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.51.tgz", + "integrity": "sha1-Z9Q0RZ96eyap8qaFW8EuZ4lOR6Y=" }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.49.tgz", - "integrity": "sha1-PscnJr8diaDU1RG+epVJBm9Xqt4=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.51.tgz", + "integrity": "sha1-RPR2sGxANVF6hAOiYk+xZMQ3FFU=" }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.49.tgz", - "integrity": "sha1-B8g4JU1l5oZ+hlE+sPItXyawpWo=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.51.tgz", + "integrity": "sha1-RbB6lCI8+iJnAaeUYLQrMt8d7AU=" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.49.tgz", - "integrity": "sha1-Cfs0XVknwro72J582xOlUGftOaA=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.51.tgz", + "integrity": "sha1-QDj54VJE4QkAy4n1t5bQUPHrGVs=" }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.49.tgz", - "integrity": "sha1-swL1VwKEc0PBD/T7hDXMNXR1X+M=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.51.tgz", + "integrity": "sha1-rBjoi8HXm3GL2vSKdWgzzfW9zr8=" }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.49.tgz", - "integrity": "sha1-HK1xoqMygeXvuxpGI6lkwHPOmi0=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.51.tgz", + "integrity": "sha1-mQGVsd/bG8yUkG8wNJUQie0e3U4=" }, "@babel/plugin-transform-property-literals": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.49.tgz", - "integrity": "sha1-pUUlZaVTmcLfTn/WsylFOK4rtSg=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.0.0-beta.51.tgz", + "integrity": "sha1-52mYp1Xf0svWaAtRNuWz1CSBH1M=" }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.49.tgz", - "integrity": "sha1-JCoAa/QSKpOyc/ad/mw5Sg/Oxjg=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.51.tgz", + "integrity": "sha1-G0i9NN+pCHJSyHB9Kb0d8uiCHL4=" }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.49.tgz", - "integrity": "sha1-DyeJ/eMFw8FBUYSPhRSirxRBr1g=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.51.tgz", + "integrity": "sha1-evhJhRi4OQZAVDg3AZiAjKbmOxA=" }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.49.tgz", - "integrity": "sha1-oRgoujgDXBqpP9RAmbmJcBn6VGw=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.51.tgz", + "integrity": "sha1-pPCYWX/nCYVUQ2b4k6xHOJhk2JQ=" }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.49.tgz", - "integrity": "sha1-Bbt0KbbdRMvcppWFSBNHqAnKqMo=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.51.tgz", + "integrity": "sha1-aZncSRyLRgLvtNC9G6/JNq1pbs8=" }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.49.tgz", - "integrity": "sha1-1O15ZwM/T1tJNjwgNQOJm4NXyuI=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.51.tgz", + "integrity": "sha1-U28NWZ0nU9ygor6KZeLCRKe1YSs=" }, "@babel/plugin-transform-runtime": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.49.tgz", - "integrity": "sha1-ZaMOwLw29CSTJdvCQ4+X9WO0Hxo=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.0.0-beta.51.tgz", + "integrity": "sha1-DJyrF09OPhMWWf1lxc6OPXM3aCA=" }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.49.tgz", - "integrity": "sha1-SfE0295PZVg0whUk6eYaWNTheQA=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.51.tgz", + "integrity": "sha1-3bwLGuHds7z+aWnyyWgQPxHjK9k=" }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.49.tgz", - "integrity": "sha1-arqwX8DMqCmq+eKoUES3l2Pmgco=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.51.tgz", + "integrity": "sha1-EAEpvI19z0vHmtzWEppCFCWdilA=" }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.49.tgz", - "integrity": "sha1-CMxbZM9qWUKoe92bSkgY1MuhLfM=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.51.tgz", + "integrity": "sha1-SMvqzTG9Be6AC1+svLCcV4G9lhk=" }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.49.tgz", - "integrity": "sha1-5gmu1rj8x+HrzKzyITimRyApQKI=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.51.tgz", + "integrity": "sha1-LQWV9WRh1DRbo1w41zAz+H7Lu8g=" }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.49.tgz", - "integrity": "sha1-NlFBujVb9znu/Wwrud8cO3FG5FA=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.51.tgz", + "integrity": "sha1-SVDAyOPJ4eFB5Fzrq15hSCYyBMM=" }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.49.tgz", - "integrity": "sha1-w3XbVwl1diFSPUGstiqavw1DdLg=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.51.tgz", + "integrity": "sha1-kBn5FQj0C1CmRDUEMijEFCws2GQ=" }, "@babel/preset-react": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.49.tgz", - "integrity": "sha1-DIZ3D254pJr2+GlC9ZgL61/rdsU=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.51.tgz", + "integrity": "sha1-lX2BKobZbIkhSSi3mAB0j1GTXkk=" }, "@babel/runtime": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.49.tgz", - "integrity": "sha1-A7O/B+uYIHLI6FHdLd1RECguYb8=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.51.tgz", + "integrity": "sha1-SLjtGDBwNMZiD2Q1FGUMoszAFlo=" }, "@babel/template": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.49.tgz", - "integrity": "sha1-44q+ghfLl5P0YaUwbXrXRdg+HSc=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.51.tgz", + "integrity": "sha1-lgKkCuvPNXrpZ34lMu9fyBD1+/8=" }, "@babel/traverse": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.49.tgz", - "integrity": "sha1-TypzaCoYM07WYl0QCo0nMZ98LWg=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.51.tgz", + "integrity": "sha1-mB2vLOw0emIx06odnhgDsDqqpKg=" }, "@babel/types": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.49.tgz", - "integrity": "sha1-t+Oxw/TUz+Eb34yJ8e/V4WF7h6Y=" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.51.tgz", + "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=" }, "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==" + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz", + "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw==" }, "ansi-styles": { "version": "3.2.1", @@ -347,19 +347,34 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" }, "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" }, "babel-helper-evaluate-path": { "version": "0.2.0", @@ -512,40 +527,106 @@ "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=" }, "babel-preset-meteor": { - "version": "7.0.0-beta.49", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.49.tgz", - "integrity": "sha512-368L/WxKj/13vYRVa/C2Ku5oRNNln6kZAZyePGXuzfRyZ64eJf3eGdkMjx/VZhnfQmSgvTyx8tc5IYnCQ4uahg==" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.0.0-beta.51.tgz", + "integrity": "sha512-IUaRprdQQzptcMOPpcL+FCiAVr8Zxq9vht5+ij87CEtgbuhmcr35VuBx2H211melKXgy86P0vvO2AgL0FkJe8A==" }, "babel-preset-minify": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.2.0.tgz", "integrity": "sha512-mR8Q44RmMzm18bM2Lqd9uiPopzk5GDCtVuquNbLFmX6lOKnqWoenaNBxnWW0UhBFC75lEHTIgNGCbnsRI0pJVw==" }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + } + } + }, "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" }, "chalk": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==" }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=" + }, "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==" + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==" }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "convert-source-map": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, "core-js": { "version": "2.5.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", @@ -556,6 +637,33 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==" }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + } + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -567,49 +675,97 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=" + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + } + } }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=" + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" + } + } }, "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=" - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + } + } }, "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + } + } }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=" + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=" }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=" - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=" + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "globals": { "version": "11.5.0", @@ -621,55 +777,107 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=" + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + } + } + }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + } + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + } + } }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=" + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=" - }, "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + } + } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" - }, - "is-primitive": { + "is-odd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "isarray": { "version": "1.0.0", @@ -677,9 +885,9 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "js-tokens": { "version": "3.0.2", @@ -697,9 +905,9 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, "lodash": { "version": "4.17.10", @@ -721,15 +929,20 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=" }, "meteor-babel": { - "version": "7.0.0-beta.49-1", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.49-1.tgz", - "integrity": "sha512-gEGbXJQiPSMbE+n0RMAY10e7fXSz7jLIVCiT8qpBH3TkHwICAxchZoqZsvJ9p9pnGEGtcxo9U3R3H7921Ryfhg==" + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.0.0-beta.51.tgz", + "integrity": "sha512-J315Kof9+8cjVP53k0lqGfgGq2+jY9b8V7NnbHqjX2kgBvcqHHIpfHslYtSM/4nG0uJdckUeZsB9HQdWtewRHA==" }, "meteor-babel-helpers": { "version": "0.0.3", @@ -737,71 +950,88 @@ "integrity": "sha1-8uXZ+HlvvS6JAQI9dpnlsgLqn7A=" }, "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=" + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" + } + } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + "nanomatch": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==" }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=" + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + } + } }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=" + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=" + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, - "randomatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", - "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - } - } - }, "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-6.0.0.tgz", - "integrity": "sha512-BvXxRS7RfVWxtm7vrq+0I0j7sqZ1zeSC+yzf5HS0qLnKcZPX541gFEGB39LvGuKHrkyKXrzXug+oC7xkM1Zovw==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", + "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==" }, "regenerator-runtime": { "version": "0.11.1", @@ -809,19 +1039,19 @@ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "regenerator-transform": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.12.3.tgz", - "integrity": "sha512-y2uxO/6u+tVmtEDIKo+tLCtI0GcbQr0OreosKgCd7HP4VypGjtTrw79DezuwT+W5QX0YWuvpeBOgumrepwM1kA==" + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.12.4.tgz", + "integrity": "sha512-p2I0fY+TbSLD2/VFTFb/ypEHxs3e3AjU0DzttdPqk2bSmDhfSh5E54b86Yc6XhUa5KykK1tgbvZ4Nr82oCJWkQ==" }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==" + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" }, "regexpu-core": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.1.5.tgz", - "integrity": "sha512-3xo5pFze1F8oR4F9x3aFbdtdxAxQ9WBX6gXfLgeBt7KpDI0+oDF7WVntnhsPKqobU/GAYc2pmx+y3z0JI1+z3w==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==" }, "regjsgen": { "version": "0.4.0", @@ -845,11 +1075,6 @@ "resolved": "https://registry.npmjs.org/reify/-/reify-0.16.2.tgz", "integrity": "sha512-9kL/IYcFiBbwpQFScNcFBJ5zhCEJTNujeDEEv5SoSg5er0V5CDbef2zNEk9FBeI9oehGOG5zM4APXgp5n3Llbw==" }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", @@ -865,16 +1090,131 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==" }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=" + }, "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + } + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==" + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + } + } + }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", @@ -885,30 +1225,103 @@ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=" + }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" }, "unicode-canonical-property-names-ecmascript": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.3.tgz", - "integrity": "sha512-iG/2t0F2LAU8aZYPkX5gi7ebukHnr3sWFESpb+zPQeeaQwOkfoO6ZW17YX7MdRPNG9pCy+tjzGill+Ah0Em0HA==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" }, "unicode-match-property-ecmascript": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.3.tgz", - "integrity": "sha512-nFcaBFcr08UQNF15ZgI5ISh3yUnQm7SJRRxwYrL5VYX46pS+6Q7TCTv4zbK+j6/l7rQt0mMiTL2zpmeygny6rA==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==" }, "unicode-match-property-value-ecmascript": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.1.tgz", - "integrity": "sha512-lM8B0FDZQh9yYGgiabRQcyWicB27VLOolSBRIxsO7FeQPtg+79Oe7sC8Mzr8BObDs+G9CeYmC/shHo6OggNEog==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", + "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==" }, "unicode-property-aliases-ecmascript": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.3.tgz", - "integrity": "sha512-TdDmDOTxEf2ad1g3ZBpM6cqKIb2nJpVlz1Q++casDryKz18tpeMBhSng9hjC1CTQCkOV9Rw2knlSB6iRo7ad1w==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", + "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==" + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=" + } + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==" } } } diff --git a/packages/babel-compiler/babel-compiler.js b/packages/babel-compiler/babel-compiler.js index 7c9e5a7c8e..14fdee6143 100644 --- a/packages/babel-compiler/babel-compiler.js +++ b/packages/babel-compiler/babel-compiler.js @@ -21,15 +21,27 @@ var hasOwn = Object.prototype.hasOwnProperty; var isMeteorPre144 = semver.lt(process.version, "4.8.1"); BCp.processFilesForTarget = function (inputFiles) { + var compiler = this; + // Reset this cache for each batch processed. this._babelrcCache = null; inputFiles.forEach(function (inputFile) { - var toBeAdded = this.processOneFileForTarget(inputFile); - if (toBeAdded) { - inputFile.addJavaScript(toBeAdded); + if (inputFile.supportsLazyCompilation) { + inputFile.addJavaScript({ + path: inputFile.getPathInPackage(), + hash: inputFile.getSourceHash(), + bare: !! inputFile.getFileOptions().bare + }, function () { + return compiler.processOneFileForTarget(inputFile); + }); + } else { + var toBeAdded = compiler.processOneFileForTarget(inputFile); + if (toBeAdded) { + inputFile.addJavaScript(toBeAdded); + } } - }, this); + }); }; // Returns an object suitable for passing to inputFile.addJavaScript, or diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 2d863bb6da..a37b2028f3 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,11 +6,11 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.1.0' + version: '7.2.0' }); Npm.depends({ - 'meteor-babel': '7.0.0-beta.49-1' + 'meteor-babel': '7.0.0-beta.51' }); Package.onUse(function (api) { diff --git a/packages/caching-compiler/.npm/package/.gitignore b/packages/caching-compiler/.npm/package/.gitignore deleted file mode 100644 index 3c3629e647..0000000000 --- a/packages/caching-compiler/.npm/package/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/packages/caching-compiler/.npm/package/README b/packages/caching-compiler/.npm/package/README deleted file mode 100644 index 3d492553a4..0000000000 --- a/packages/caching-compiler/.npm/package/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory and the files immediately inside it are automatically generated -when you change this package's NPM dependencies. Commit the files in this -directory (npm-shrinkwrap.json, .gitignore, and this README) to source control -so that others run the same versions of sub-dependencies. - -You should NOT check in the node_modules directory that Meteor automatically -creates; if you are using git, the .gitignore file tells git to ignore it. diff --git a/packages/caching-compiler/.npm/package/npm-shrinkwrap.json b/packages/caching-compiler/.npm/package/npm-shrinkwrap.json deleted file mode 100644 index f0ac52d443..0000000000 --- a/packages/caching-compiler/.npm/package/npm-shrinkwrap.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "lockfileVersion": 1, - "dependencies": { - "async": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.4.0.tgz", - "integrity": "sha1-Nfhvg8WeBCHQmc2akdgnj7V4wA0=" - }, - "lru-cache": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz", - "integrity": "sha1-JnUZDM0bBwHsL2UqTQ09QA12wN0=" - } - } -} diff --git a/packages/caching-compiler/caching-compiler.js b/packages/caching-compiler/caching-compiler.js index 6c4abd335f..f8198b360c 100644 --- a/packages/caching-compiler/caching-compiler.js +++ b/packages/caching-compiler/caching-compiler.js @@ -2,9 +2,7 @@ const fs = Plugin.fs; const path = Plugin.path; const createHash = Npm.require('crypto').createHash; const assert = Npm.require('assert'); -const Future = Npm.require('fibers/future'); const LRU = Npm.require('lru-cache'); -const async = Npm.require('async'); // Base class for CachingCompiler and MultiFileCachingCompiler. CachingCompilerBase = class CachingCompilerBase { @@ -283,14 +281,12 @@ CachingCompiler = class CachingCompiler extends CachingCompilerBase { const cacheMisses = []; const arches = this._cacheDebugEnabled && Object.create(null); - const future = new Future; - async.eachLimit(inputFiles, this._maxParallelism, (inputFile, cb) => { + return Promise.all(inputFiles.map(async (inputFile) => { if (arches) { arches[inputFile.getArch()] = 1; } - let error = null; - try { + const getResult = async () => { const cacheKey = this._deepHash(this.getCacheKey(inputFile)); let compileResult = this._cache.get(cacheKey); @@ -303,7 +299,7 @@ CachingCompiler = class CachingCompiler extends CachingCompilerBase { if (! compileResult) { cacheMisses.push(inputFile.getDisplayPath()); - compileResult = this.compileOneFile(inputFile); + compileResult = await this.compileOneFile(inputFile); if (! compileResult) { // compileOneFile should have called inputFile.error. @@ -316,17 +312,27 @@ CachingCompiler = class CachingCompiler extends CachingCompilerBase { this._writeCacheAsync(cacheKey, compileResult); } - this.addCompileResult(inputFile, compileResult); - } catch (e) { - error = e; - } finally { - cb(error); - } - }, future.resolver()); - future.wait(); + return compileResult; + }; + + if (this.compileOneFileLater && + inputFile.supportsLazyCompilation && + ! this._cacheDebugEnabled) { + await this.compileOneFileLater(inputFile, getResult); + } else { + const result = await getResult(); + if (result) { + this.addCompileResult(inputFile, result); + } + } + + })).then(() => { + if (! this._cacheDebugEnabled) { + return; + } - if (this._cacheDebugEnabled) { cacheMisses.sort(); + this._cacheDebug( `Ran (#${ ++this._callCount @@ -336,7 +342,7 @@ CachingCompiler = class CachingCompiler extends CachingCompilerBase { JSON.stringify(Object.keys(arches).sort()) }` ); - } + }); } _cacheFilename(cacheKey) { diff --git a/packages/caching-compiler/multi-file-caching-compiler.js b/packages/caching-compiler/multi-file-caching-compiler.js index 6cb698cb34..2bc0f41b2c 100644 --- a/packages/caching-compiler/multi-file-caching-compiler.js +++ b/packages/caching-compiler/multi-file-caching-compiler.js @@ -1,7 +1,5 @@ const path = Plugin.path; -const Future = Npm.require('fibers/future'); const LRU = Npm.require('lru-cache'); -const async = Npm.require('async'); // MultiFileCachingCompiler is like CachingCompiler, but for implementing // languages which allow files to reference each other, such as CSS @@ -92,20 +90,12 @@ extends CachingCompilerBase { cacheKeyMap.set(importPath, this._getCacheKeyWithPath(inputFile)); }); - const allProcessedFuture = new Future; - async.eachLimit(inputFiles, this._maxParallelism, (inputFile, cb) => { + return Promise.all(inputFiles.map(async (inputFile) => { if (arches) { arches[inputFile.getArch()] = 1; } - let error = null; - try { - // If this isn't a root, skip it (and definitely don't waste time - // looking for a cache file that won't be there). - if (!this.isRoot(inputFile)) { - return; - } - + const getResult = async () => { const absoluteImportPath = this.getAbsoluteImportPath(inputFile); const cacheKey = cacheKeyMap.get(absoluteImportPath); let cacheEntry = this._cache.get(cacheKey); @@ -119,13 +109,19 @@ extends CachingCompilerBase { if (! (cacheEntry && this._cacheEntryValid(cacheEntry, cacheKeyMap))) { cacheMisses.push(inputFile.getDisplayPath()); - const compileOneFileReturn = this.compileOneFile(inputFile, allFiles); + const compileOneFileReturn = + await this.compileOneFile(inputFile, allFiles); + if (! compileOneFileReturn) { // compileOneFile should have called inputFile.error. - // We don't cache failures for now. + // We don't cache failures for now. return; } - const {compileResult, referencedImportPaths} = compileOneFileReturn; + + const { + compileResult, + referencedImportPaths, + } = compileOneFileReturn; cacheEntry = { compileResult, @@ -148,17 +144,27 @@ extends CachingCompilerBase { this._writeCacheAsync(cacheKey, cacheEntry); } - this.addCompileResult(inputFile, cacheEntry.compileResult); - } catch (e) { - error = e; - } finally { - cb(error); - } - }, allProcessedFuture.resolver()); - allProcessedFuture.wait(); + return cacheEntry.compileResult; + }; + + if (this.compileOneFileLater && + inputFile.supportsLazyCompilation && + ! this._cacheDebugEnabled) { + await this.compileOneFileLater(inputFile, getResult); + } else if (this.isRoot(inputFile)) { + const result = await getResult(); + if (result) { + this.addCompileResult(inputFile, result); + } + } + + })).then(() => { + if (! this._cacheDebugEnabled) { + return; + } - if (this._cacheDebugEnabled) { cacheMisses.sort(); + this._cacheDebug( `Ran (#${ ++this._callCount @@ -166,8 +172,9 @@ extends CachingCompilerBase { JSON.stringify(cacheMisses) } ${ JSON.stringify(Object.keys(arches).sort()) - }`); - } + }` + ); + }); } // Returns a hash that incorporates both this.getCacheKey(inputFile) and diff --git a/packages/caching-compiler/package.js b/packages/caching-compiler/package.js index 37b38bfde1..987d9b7651 100644 --- a/packages/caching-compiler/package.js +++ b/packages/caching-compiler/package.js @@ -1,15 +1,10 @@ Package.describe({ name: 'caching-compiler', - version: '1.1.12', + version: '1.2.0', summary: 'An easy way to make compiler plugins cache', documentation: 'README.md' }); -Npm.depends({ - 'lru-cache': '2.6.4', - 'async': '1.4.0' -}); - Package.onUse(function(api) { api.use(['ecmascript', 'random']); api.addFiles(['caching-compiler.js'], 'server'); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index c622aa1c76..dd99bbd177 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.4.0", + version: "0.4.1", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/dynamic-import/server.js b/packages/dynamic-import/server.js index 0bdbeb8e69..ed29b51767 100644 --- a/packages/dynamic-import/server.js +++ b/packages/dynamic-import/server.js @@ -66,7 +66,11 @@ function middleware(request, response) { response.setHeader("Access-Control-Allow-Origin", "*"); if (request.method === "OPTIONS") { - response.setHeader("Access-Control-Allow-Headers", "*"); + const acrh = request.headers["access-control-request-headers"]; + response.setHeader( + "Access-Control-Allow-Headers", + typeof acrh === "string" ? acrh : "*" + ); response.setHeader("Access-Control-Allow-Methods", "POST"); response.end(); } else if (request.method === "POST") { diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 4a0fb4ac9b..63c03acaf7 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.11.0', + version: '0.11.1', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/less/package.js b/packages/less/package.js index 4246551c39..363b4c6926 100644 --- a/packages/less/package.js +++ b/packages/less/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'less', - version: '2.7.12', + version: '2.8.0', summary: 'Leaner CSS language', documentation: 'README.md' }); diff --git a/packages/less/plugin/compile-less.js b/packages/less/plugin/compile-less.js index 4b428d2f51..ffd8bbb25a 100644 --- a/packages/less/plugin/compile-less.js +++ b/packages/less/plugin/compile-less.js @@ -1,6 +1,5 @@ const path = Plugin.path; const less = Npm.require('less'); -const Future = Npm.require('fibers/future'); Plugin.registerCompiler({ // *.lessimport has been deprecated since 0.7.1, but it still works. We @@ -45,49 +44,66 @@ class LessCompiler extends MultiFileCachingCompiler { /\.lessimport$/.test(pathInPackage)); } + compileOneFileLater(inputFile, getResult) { + inputFile.addStylesheet({ + path: inputFile.getPathInPackage(), + }, async () => { + const result = await getResult(); + return result && { + data: result.css, + sourceMap: result.sourceMap, + }; + }); + } + compileOneFile(inputFile, allFiles) { const importPlugin = new MeteorImportLessPlugin(allFiles); - const f = new Future; - let output; - try { - less.render(inputFile.getContentsAsBuffer().toString('utf8'), { - filename: this.getAbsoluteImportPath(inputFile), - plugins: [importPlugin], - // Generate a source map, and include the source files in the - // sourcesContent field. (Note that source files which don't themselves - // produce text (eg, are entirely variable definitions) won't end up in - // the source map!) - sourceMap: { outputSourceFiles: true } - }, f.resolver()); - output = f.wait(); - } catch (e) { + return less.render(inputFile.getContentsAsBuffer().toString('utf8'), { + filename: this.getAbsoluteImportPath(inputFile), + plugins: [importPlugin], + // Generate a source map, and include the source files in the + // sourcesContent field. (Note that source files which don't + // themselves produce text (eg, are entirely variable definitions) + // won't end up in the source map!) + sourceMap: { outputSourceFiles: true } + + }).then(output => { + if (output.map) { + const map = JSON.parse(output.map); + map.sources = map.sources.map(decodeFilePath); + output.map = map; + } + + const compileResult = { + css: output.css, + sourceMap: output.map, + }; + + const referencedImportPaths = []; + output.imports.forEach((path) => { + // Some files that show up in output.imports are not actually files; for + // example @import url("..."); + if (allFiles.has(path)) { + referencedImportPaths.push(path); + } + }); + + return { + compileResult, + referencedImportPaths, + }; + + }, e => { inputFile.error({ message: e.message, sourcePath: decodeFilePath(e.filename), line: e.line, column: e.column }); + return null; - } - - if (output.map) { - const map = JSON.parse(output.map); - map.sources = map.sources.map(decodeFilePath); - output.map = map; - } - - const compileResult = {css: output.css, sourceMap: output.map}; - const referencedImportPaths = []; - output.imports.forEach((path) => { - // Some files that show up in output.imports are not actually files; for - // example @import url("..."); - if (allFiles.has(path)) { - referencedImportPaths.push(path); - } }); - - return {compileResult, referencedImportPaths}; } addCompileResult(inputFile, compileResult) { diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index d7f4740d29..5cce8e2483 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "The Meteor command-line tool", - version: '1.7.0_1' + version: '1.7.0_3' }); Package.includeTool(); diff --git a/packages/socket-stream-client/browser.js b/packages/socket-stream-client/browser.js index 8ecf677a2c..db75e4ddec 100644 --- a/packages/socket-stream-client/browser.js +++ b/packages/socket-stream-client/browser.js @@ -5,6 +5,11 @@ import { import { StreamClientCommon } from "./common.js"; +// Statically importing SockJS here will prevent native WebSocket usage +// below (in favor of SockJS), but will ensure maximum compatibility for +// clients stuck in unusual networking environments. +import "./sockjs-0.3.4.js"; + export class ClientStream extends StreamClientCommon { // @param url {String} URL to Meteor app // "http://subdomain.meteor.com/" or "/" or diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 791bddc65a..dd9e4a73b4 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.2.1", + version: "0.2.2", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/webapp/legacy_test_asset.js b/packages/webapp/legacy_test_asset.js new file mode 100644 index 0000000000..e889f09131 --- /dev/null +++ b/packages/webapp/legacy_test_asset.js @@ -0,0 +1 @@ +console.log("LEGACY"); diff --git a/packages/webapp/modern_test_asset.js b/packages/webapp/modern_test_asset.js new file mode 100644 index 0000000000..c30017283a --- /dev/null +++ b/packages/webapp/modern_test_asset.js @@ -0,0 +1 @@ +console.log("MODERN"); diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 6e71c856dd..c65234f9e7 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Serves a Meteor app over HTTP", - version: '1.6.0' + version: '1.6.1' }); Npm.depends({"basic-auth-connect": "1.0.0", @@ -57,4 +57,7 @@ Package.onTest(function (api) { api.addFiles('webapp_tests.js', 'server'); api.addFiles('webapp_client_tests.js', 'client'); api.addFiles('socket_file_tests.js', 'server'); + + api.addAssets('modern_test_asset.js', 'web.browser'); + api.addAssets('legacy_test_asset.js', 'legacy'); }); diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index 700b12c8fd..870b31c96b 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -484,23 +484,33 @@ function getStaticFileInfo(originalPath, browser) { return null; } - if (hasOwn.call(staticFilesByArch, arch)) { + // Get a list of all available static file architectures, with arch + // first in the list if it exists. + const staticArchList = Object.keys(staticFilesByArch); + const archIndex = staticArchList.indexOf(arch); + if (archIndex > 0) { + staticArchList.unshift(staticArchList.splice(archIndex, 1)[0]); + } + + let info = null; + + staticArchList.some(arch => { const staticFiles = staticFilesByArch[arch]; // If staticFiles contains originalPath with the arch inferred above, // use that information. if (hasOwn.call(staticFiles, originalPath)) { - return staticFiles[originalPath]; + return info = staticFiles[originalPath]; } // If getArchAndPath returned an alternate path, try that instead. if (path !== originalPath && hasOwn.call(staticFiles, path)) { - return staticFiles[path]; + return info = staticFiles[path]; } - } + }); - return null; + return info; } function getArchAndPath(path, browser) { diff --git a/packages/webapp/webapp_tests.js b/packages/webapp/webapp_tests.js index b8fe5201bd..722583b334 100644 --- a/packages/webapp/webapp_tests.js +++ b/packages/webapp/webapp_tests.js @@ -2,6 +2,7 @@ const url = require("url"); const crypto = require("crypto"); const http = require("http"); const streamToString = require("stream-to-string"); +import { isModern } from "meteor/modern-browsers"; const additionalScript = "(function () { var foo = 1; })"; WebAppInternals.addStaticJs(additionalScript); @@ -68,6 +69,83 @@ Tinytest.add("webapp - content-type header", function (test) { "application/javascript; charset=utf-8"); }); +const modernUserAgent = + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) " + + "AppleWebKit/537.36 (KHTML, like Gecko) " + + "Chrome/68.0.3440.15 Safari/537.36"; + +const legacyUserAgent = "legacy"; + +Tinytest.addAsync("webapp - modern/legacy static files", test => { + test.equal(isModern(WebAppInternals.identifyBrowser(modernUserAgent)), true); + test.equal(isModern(WebAppInternals.identifyBrowser(legacyUserAgent)), false); + + const promises = []; + + Object.keys(WebAppInternals.staticFilesByArch).forEach(arch => { + const staticFiles = WebAppInternals.staticFilesByArch[arch]; + + Object.keys(staticFiles).forEach(path => { + const { type } = staticFiles[path]; + if (type !== "asset") { + return; + } + + const pathMatch = /\/(modern|legacy)_test_asset\.js$/.exec(path); + if (! pathMatch) { + return; + } + + const absUrl = url.resolve(Meteor.absoluteUrl(), path); + + [ // Try to request the modern/legacy assets with both modern and + // legacy User Agent strings. (#9953) + modernUserAgent, + legacyUserAgent, + ].forEach(ua => promises.push(new Promise((resolve, reject) => { + HTTP.get(absUrl, { + headers: { + "User-Agent": ua + } + }, (error, response) => { + if (error) { + reject(error); + return; + } + + if (response.statusCode !== 200) { + reject(new Error(`Bad status code ${ + response.statusCode + } for ${path}`)); + return; + } + + const contentType = response.headers["content-type"]; + if (! contentType.startsWith("application/javascript")) { + reject(new Error(`Bad Content-Type ${contentType} for ${path}`)); + return; + } + + const expectedText = pathMatch[1].toUpperCase(); + const index = response.content.indexOf(expectedText); + if (index < 0) { + reject(new Error(`Missing ${ + JSON.stringify(expectedText) + } text in ${path}`)); + return; + } + + resolve(path); + }); + }))); + }); + }); + + test.isTrue(promises.length > 0); + + return Promise.all(promises); +}); + Tinytest.addAsync( "webapp - additional static javascript", async function (test) { diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index c147c2b4ee..873da558e9 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.7.0.1-rc.0", + "version": "1.7.0.3-rc.0", "recommended": false, "official": false, "description": "Meteor" diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 157fda3798..2716086cd7 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,10 +1,12 @@ { "track": "METEOR", - "version": "1.7.0.1", + "version": "1.7.0.3", "recommended": false, "official": true, "patchFrom": [ - "1.7" + "1.7", + "1.7.0.1", + "1.7.0.2" ], "description": "The Official Meteor Distribution" } diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index d067c52c7f..696cbc77bb 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,7 +5,7 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=8.11.2 +NODE_VERSION=8.11.3 MONGO_VERSION_64BIT=3.6.4 MONGO_VERSION_32BIT=3.2.19 NPM_VERSION=5.10.0 diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index e564b87bb0..e146991018 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,13 +14,13 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/2c16c509074bbba8ca5dd410caf808412ce79e6c", "node-gyp": "3.6.2", "node-pre-gyp": "0.6.36", - "meteor-babel": "7.0.0-beta.49-1", + "meteor-babel": "7.0.0-beta.51", "meteor-promise": "0.8.6", promise: "8.0.1", reify: "0.16.2", fibers: "2.0.0", // So that Babel can emit require("@babel/runtime/helpers/...") calls. - "@babel/runtime": "7.0.0-beta.49", + "@babel/runtime": "7.0.0-beta.51", // For backwards compatibility with isopackets that still depend on // babel-runtime rather than @babel/runtime. "babel-runtime": "7.0.0-beta.3", @@ -53,7 +53,7 @@ var packageJson = { multipipe: "2.0.1", pathwatcher: "7.1.1", optimism: "0.6.3", - 'lru-cache': '4.1.1' + 'lru-cache': '4.1.3' } }; diff --git a/tools/isobuild/compiler-plugin.js b/tools/isobuild/compiler-plugin.js index 023a7c03e4..0eb33129bb 100644 --- a/tools/isobuild/compiler-plugin.js +++ b/tools/isobuild/compiler-plugin.js @@ -23,6 +23,8 @@ import { import { isTestFilePath } from './test-files.js'; +const hasOwn = Object.prototype.hasOwnProperty; + // This file implements the new compiler plugins added in Meteor 1.2, which are // registered with the Plugin.registerCompiler API. // @@ -221,6 +223,11 @@ class InputFile extends buildPluginModule.InputFile { // Map from imported module identifier strings (possibly relative) to // fully require.resolve'd module identifiers. this._resolveCache = Object.create(null); + + // Communicate to compiler plugins that methods like addJavaScript + // accept a lazy finalizer function as a second argument, so that + // compilation can be avoided until/unless absolutely necessary. + this.supportsLazyCompilation = true; } getContentsAsBuffer() { @@ -445,16 +452,16 @@ class InputFile extends buildPluginModule.InputFile { * @param {String|Object} options.sourceMap A stringified JSON * sourcemap, in case the stylesheet was generated from a different * file. + * @param {Function} lazyFinalizer Optional function that can be called + * to obtain any remaining options that may be + * expensive to compute, and thus should only be + * computed if/when we are sure this CSS will be used + * by the application. * @memberOf InputFile * @instance */ - addStylesheet(options) { - var self = this; - if (options.sourceMap && typeof options.sourceMap === 'string') { - // XXX remove an anti-XSSI header? ")]}'\n" - options.sourceMap = JSON.parse(options.sourceMap); - } - self._resourceSlot.addStylesheet(options); + addStylesheet(options, lazyFinalizer) { + this._resourceSlot.addStylesheet(options, lazyFinalizer); } /** @@ -470,16 +477,16 @@ class InputFile extends buildPluginModule.InputFile { * @param {String|Object} options.sourceMap A stringified JSON * sourcemap, in case the JavaScript file was generated from a * different file. + * @param {Function} lazyFinalizer Optional function that can be called + * to obtain any remaining options that may be + * expensive to compute, and thus should only be + * computed if/when we are sure this JavaScript will + * be used by the application. * @memberOf InputFile * @instance */ - addJavaScript(options) { - var self = this; - if (options.sourceMap && typeof options.sourceMap === 'string') { - // XXX remove an anti-XSSI header? ")]}'\n" - options.sourceMap = JSON.parse(options.sourceMap); - } - self._resourceSlot.addJavaScript(options); + addJavaScript(options, lazyFinalizer) { + this._resourceSlot.addJavaScript(options, lazyFinalizer); } /** @@ -493,12 +500,24 @@ class InputFile extends buildPluginModule.InputFile { * file. * @param {String} [options.hash] Optionally, supply a hash for the output * file. + * @param {Function} lazyFinalizer Optional function that can be called + * to obtain any remaining options that may be + * expensive to compute, and thus should only be + * computed if/when we are sure this asset will be + * used by the application. * @memberOf InputFile * @instance */ - addAsset(options) { - var self = this; - self._resourceSlot.addAsset(options); + addAsset(options, lazyFinalizer) { + if (typeof lazyFinalizer === "function") { + // For now, just call the lazyFinalizer function immediately. Since + // assets typically are not compiled, this immediate invocation is + // probably permanently appropriate for addAsset, whereas methods + // like addJavaScript benefit from waiting to call lazyFinalizer. + Object.assign(options, Promise.await(lazyFinalizer())); + } + + this._resourceSlot.addAsset(options); } /** @@ -508,12 +527,24 @@ class InputFile extends buildPluginModule.InputFile { * @param {String} options.section Which section of the document should * be appended to. Can only be "head" or "body". * @param {String} options.data The content to append. + * @param {Function} lazyFinalizer Optional function that can be called + * to obtain any remaining options that may be + * expensive to compute, and thus should only be + * computed if/when we are sure this HTML will be used + * by the application. * @memberOf InputFile * @instance */ addHtml(options) { - var self = this; - self._resourceSlot.addHtml(options); + if (typeof lazyFinalizer === "function") { + // For now, just call the lazyFinalizer function immediately. Since + // HTML is not compiled, this immediate invocation is probably + // permanently appropriate for addHtml, whereas methods like + // addJavaScript benefit from waiting to call lazyFinalizer. + Object.assign(options, Promise.await(lazyFinalizer())); + } + + this._resourceSlot.addHtml(options); } _reportError(message, info) { @@ -544,6 +575,8 @@ class ResourceSlot { self.outputResources = []; // JS, which gets linked together at the end. self.jsOutputResources = []; + // Errors encountered while processing this resource. + self.errors = []; self.sourceProcessor = sourceProcessor; self.packageSourceBatch = packageSourceBatch; @@ -679,100 +712,72 @@ class ResourceSlot { return isInImports; } - addStylesheet(options) { - const self = this; - if (! self.sourceProcessor) { + addStylesheet(options, lazyFinalizer) { + if (! this.sourceProcessor) { throw Error("addStylesheet on non-source ResourceSlot?"); } - const data = files.convertToStandardLineEndings(options.data); - const useMeteorInstall = self.packageSourceBatch.useMeteorInstall; - const sourcePath = this.inputResource.path; - const targetPath = options.path || sourcePath; - const resource = { - refreshable: true, - sourcePath, - targetPath, - servePath: self.packageSourceBatch.unibuild.pkg._getServePath(targetPath), - hash: sha1(data), - lazy: this._isLazy(options, false), - }; + // In contrast to addJavaScript, CSS resources passed to addStylesheet + // default to being eager (non-lazy). + options.lazy = this._isLazy(options, false); - if (useMeteorInstall && resource.lazy) { + if (this.packageSourceBatch.useMeteorInstall && + options.lazy) { // If the current packageSourceBatch supports modules, and this CSS // file is lazy, add it as a lazy JS module instead of adding it // unconditionally as a CSS resource, so that it can be imported // when needed. - resource.type = "js"; - resource.data = - Buffer.from(cssToCommonJS(data, resource.hash), "utf8"); + this.addJavaScript(options, async () => { + const result = typeof lazyFinalizer === "function" + ? await lazyFinalizer() + : { data: options.data }; - self.jsOutputResources.push(resource); + if (result) { + result.data = Buffer.from(cssToCommonJS(result.data), "utf8"); + } + + return result; + }); } else { // Eager CSS is added unconditionally to a combined